@daemoniorum/ui
v1.0.2
Published
Shared UI components for Persona Framework - built with Tailwind CSS
Maintainers
Readme
@persona-framework/ui
Shared UI components for Persona Framework built with Radix UI primitives and Tailwind CSS.
Installation
pnpm add @persona-framework/uiUsage
import { Button, Card, Input } from '@persona-framework/ui'
import '@persona-framework/ui/styles.css'Component Categories
Layout
ThemeProvider- Theme context with dark/light mode supportCard- Container with header, content, footer sectionsDivider/Separator- Visual separation between contentScrollArea- Custom scrollable container
Typography
Text- Text component with semantic variants (h1-h6, body, caption)
Form
Button- Primary action element with variantsInput- Text input fieldLabel- Form field labelCheckbox- Toggle checkboxSwitch- Toggle switchTextarea- Multi-line text inputSearchBox- Search input with iconRadioGroup- Radio button groupSelect- Dropdown select
Feedback
Spinner- Loading indicatorBadge- Status indicator labelsAlert- Contextual feedback messagesProgress- Progress barToast/Toaster- Notification system
Overlay
Dialog- Modal dialogMenu- Dropdown menuTooltip- Hover tooltip
Navigation
Tabs- Tab navigationAccordion- Collapsible sectionsBreadcrumb- Breadcrumb navigationSidebar- Side navigation panelCommand- Command palette (Cmd+K)
Data Display
Avatar- User avatar with fallbackSkeleton- Loading placeholderTable- Data table
Editor Module
For Monaco Editor integration:
import { MonacoEditorWrapper } from '@persona-framework/ui/editor'Requires peer dependencies:
@monaco-editor/reactmonaco-editor
Storybook
pnpm --filter @persona-framework/ui storybookStyling
Components use Tailwind CSS with design tokens defined in tailwind.config.ts. Import the base styles:
import '@persona-framework/ui/styles.css'Or extend the Tailwind config in your app:
// tailwind.config.js
export default {
presets: [require('@persona-framework/ui/tailwind.config')],
}