JSPM

  • Created
  • Published
  • Downloads 651
  • Score
    100M100P100Q114257F
  • License MIT

Accessible React component library built on React Aria primitives

Package Exports

  • @tribepad/themis
  • @tribepad/themis/elements
  • @tribepad/themis/elements/Accordion
  • @tribepad/themis/elements/AlertDialog
  • @tribepad/themis/elements/Avatar
  • @tribepad/themis/elements/Badge
  • @tribepad/themis/elements/Breadcrumbs
  • @tribepad/themis/elements/Button
  • @tribepad/themis/elements/ButtonGroup
  • @tribepad/themis/elements/Card
  • @tribepad/themis/elements/Carousel
  • @tribepad/themis/elements/Chart
  • @tribepad/themis/elements/ChatInterface
  • @tribepad/themis/elements/Checkbox
  • @tribepad/themis/elements/CheckboxGroup
  • @tribepad/themis/elements/ColorPicker
  • @tribepad/themis/elements/Combobox
  • @tribepad/themis/elements/DatePicker
  • @tribepad/themis/elements/Dropdown
  • @tribepad/themis/elements/FileField
  • @tribepad/themis/elements/Filters
  • @tribepad/themis/elements/FormLayout
  • @tribepad/themis/elements/MatrixGrid
  • @tribepad/themis/elements/Modal
  • @tribepad/themis/elements/NumberField
  • @tribepad/themis/elements/OTPInput
  • @tribepad/themis/elements/PageTitle
  • @tribepad/themis/elements/Pagination
  • @tribepad/themis/elements/Panel
  • @tribepad/themis/elements/PasswordField
  • @tribepad/themis/elements/Progress
  • @tribepad/themis/elements/RadioGroup
  • @tribepad/themis/elements/RatingScale
  • @tribepad/themis/elements/Resizable
  • @tribepad/themis/elements/SearchField
  • @tribepad/themis/elements/Select
  • @tribepad/themis/elements/Sidebar
  • @tribepad/themis/elements/SituationalJudgement
  • @tribepad/themis/elements/Skeleton
  • @tribepad/themis/elements/Switch
  • @tribepad/themis/elements/Table
  • @tribepad/themis/elements/Tabs
  • @tribepad/themis/elements/TextField
  • @tribepad/themis/elements/TimeField
  • @tribepad/themis/elements/Timeline
  • @tribepad/themis/elements/Toast
  • @tribepad/themis/elements/Tooltip
  • @tribepad/themis/elements/Tree
  • @tribepad/themis/elements/Wizard
  • @tribepad/themis/hooks
  • @tribepad/themis/schemas
  • @tribepad/themis/styles
  • @tribepad/themis/styles/animations.css
  • @tribepad/themis/styles/defaults.css
  • @tribepad/themis/tailwind-source.css
  • @tribepad/themis/types
  • @tribepad/themis/utils

Readme

Themis

Accessible React component library built on React Aria primitives.

Features

  • WCAG 2.2 AAA accessibility compliance
  • 30+ production-ready components
  • Built on React Aria for robust keyboard/screen reader support
  • Tailwind CSS styling with CSS variable theming
  • Full TypeScript support with Zod schema validation

Installation

pnpm add @tribepad/themis

Quick Start

import { Button } from '@tribepad/themis/elements/Button';

function App() {
  return <Button variant="default">Click me</Button>;
}

Setup

1. Import default styles

/* In your global CSS file */
@import '@tribepad/themis/styles/defaults.css';

2. Configure Tailwind CSS

Add Themis to your Tailwind content paths:

Tailwind v4:

export default {
  content: [
    './src/**/*.{js,ts,jsx,tsx}',
    './node_modules/@tribepad/themis/dist/**/*.{js,mjs}',
  ],
};

Tailwind v3:

module.exports = {
  content: [
    './src/**/*.{js,ts,jsx,tsx}',
    './node_modules/@tribepad/themis/dist/**/*.{js,mjs}',
  ],
};

Components

Component Import
Accordion @tribepad/themis/elements/Accordion
Avatar @tribepad/themis/elements/Avatar
Badge @tribepad/themis/elements/Badge
Breadcrumbs @tribepad/themis/elements/Breadcrumbs
Button @tribepad/themis/elements/Button
ButtonGroup @tribepad/themis/elements/ButtonGroup
Card @tribepad/themis/elements/Card
Carousel @tribepad/themis/elements/Carousel
Chart @tribepad/themis/elements/Chart
Checkbox @tribepad/themis/elements/Checkbox
CheckboxGroup @tribepad/themis/elements/CheckboxGroup
DatePicker @tribepad/themis/elements/DatePicker
Dropdown @tribepad/themis/elements/Dropdown
FileField @tribepad/themis/elements/FileField
FormLayout @tribepad/themis/elements/FormLayout
Modal @tribepad/themis/elements/Modal
NumberField @tribepad/themis/elements/NumberField
OTPInput @tribepad/themis/elements/OTPInput
Panel @tribepad/themis/elements/Panel
Progress @tribepad/themis/elements/Progress
RadioGroup @tribepad/themis/elements/RadioGroup
Resizable @tribepad/themis/elements/Resizable
Select @tribepad/themis/elements/Select
Skeleton @tribepad/themis/elements/Skeleton
Switch @tribepad/themis/elements/Switch
Table @tribepad/themis/elements/Table
Tabs @tribepad/themis/elements/Tabs
TextField @tribepad/themis/elements/TextField
TimeField @tribepad/themis/elements/TimeField
Toast @tribepad/themis/elements/Toast
Tooltip @tribepad/themis/elements/Tooltip

Theming

Themis uses CSS custom properties for theming. Import the defaults or define your own:

:root {
  --primary-action: #7c3aed;
  --primary-action-foreground: #ffffff;
  --page-background: #ffffff;
  --page-foreground: #1f2937;
  /* See defaults.css for all available variables */
}

License

MIT