@onesaz/ui 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +27 -11
- package/dist/index.js +318 -130
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/provider.tsx","../src/theme/context.ts","../src/theme/use-theme.ts","../src/utils/cn.ts","../src/components/button.tsx","../src/components/input.tsx","../src/components/textarea.tsx","../src/components/card.tsx","../src/components/badge.tsx","../src/components/label.tsx","../src/components/checkbox.tsx","../src/components/switch.tsx","../src/components/separator.tsx","../src/components/select/index.tsx","../src/components/dialog/index.tsx","../src/components/spinner.tsx","../src/components/table.tsx","../src/components/pagination.tsx","../src/components/combobox/index.tsx","../src/playground.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n accentColors,\n grayColors,\n radiusPresets,\n lightTheme,\n darkTheme,\n type AccentColor,\n type GrayColor,\n type RadiusPreset,\n type Theme,\n} from '@onesaz/tokens'\nimport { ThemeContext } from './context'\n\nexport interface ThemeProviderProps {\n children: React.ReactNode\n defaultTheme?: Theme\n accentColor?: AccentColor\n grayColor?: GrayColor\n radius?: RadiusPreset\n storageKey?: string\n}\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n accentColor: defaultAccent = 'purple',\n grayColor: defaultGray = 'slate',\n radius: defaultRadius = 'medium',\n storageKey = 'onesaz-theme',\n}: ThemeProviderProps) {\n const [theme, setThemeState] = React.useState<Theme>(() => {\n if (typeof window === 'undefined') return defaultTheme\n const stored = localStorage.getItem(`${storageKey}-mode`)\n return (stored as Theme) || defaultTheme\n })\n\n const [accentColor, setAccentColorState] = React.useState<AccentColor>(() => {\n if (typeof window === 'undefined') return defaultAccent\n const stored = localStorage.getItem(`${storageKey}-accent`)\n return (stored as AccentColor) || defaultAccent\n })\n\n const [grayColor, setGrayColorState] = React.useState<GrayColor>(() => {\n if (typeof window === 'undefined') return defaultGray\n const stored = localStorage.getItem(`${storageKey}-gray`)\n return (stored as GrayColor) || defaultGray\n })\n\n const [radius, setRadiusState] = React.useState<RadiusPreset>(() => {\n if (typeof window === 'undefined') return defaultRadius\n const stored = localStorage.getItem(`${storageKey}-radius`)\n return (stored as RadiusPreset) || defaultRadius\n })\n\n const [resolvedTheme, setResolvedTheme] = React.useState<'light' | 'dark'>(() =>\n theme === 'system' ? getSystemTheme() : theme\n )\n\n // Listen for system theme changes\n React.useEffect(() => {\n if (theme !== 'system') {\n setResolvedTheme(theme)\n return\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n setResolvedTheme(mediaQuery.matches ? 'dark' : 'light')\n\n const handler = (e: MediaQueryListEvent) => {\n setResolvedTheme(e.matches ? 'dark' : 'light')\n }\n\n mediaQuery.addEventListener('change', handler)\n return () => mediaQuery.removeEventListener('change', handler)\n }, [theme])\n\n // Generate CSS variables\n React.useEffect(() => {\n const root = document.documentElement\n const themeTokens = resolvedTheme === 'dark' ? darkTheme : lightTheme\n const accent = accentColors[accentColor]\n const gray = grayColors[grayColor]\n const radiusValues = radiusPresets[radius]\n\n // Set theme attribute\n root.setAttribute('data-theme', resolvedTheme)\n root.setAttribute('data-accent', accentColor)\n\n // Set gray-based semantic tokens\n root.style.setProperty('--background', gray[themeTokens.background])\n root.style.setProperty('--foreground', gray[themeTokens.foreground])\n root.style.setProperty('--card', gray[themeTokens.card])\n root.style.setProperty('--card-foreground', gray[themeTokens.cardForeground])\n root.style.setProperty('--popover', gray[themeTokens.popover])\n root.style.setProperty('--popover-foreground', gray[themeTokens.popoverForeground])\n root.style.setProperty('--muted', gray[themeTokens.muted])\n root.style.setProperty('--muted-foreground', gray[themeTokens.mutedForeground])\n root.style.setProperty('--border', gray[themeTokens.border])\n root.style.setProperty('--input', gray[themeTokens.input])\n\n // Set accent colors\n root.style.setProperty('--accent', accent[6])\n root.style.setProperty('--accent-foreground', '#ffffff')\n root.style.setProperty('--accent-hover', accent[7])\n root.style.setProperty('--ring', accent[6])\n\n // Set all accent scale values\n Object.entries(accent).forEach(([step, value]) => {\n root.style.setProperty(`--accent-${step}`, value)\n })\n\n // Set destructive colors\n root.style.setProperty('--destructive', resolvedTheme === 'dark' ? '#ef4444' : '#dc2626')\n root.style.setProperty('--destructive-foreground', '#ffffff')\n\n // Set radius\n root.style.setProperty('--radius', radiusValues.md)\n root.style.setProperty('--radius-sm', radiusValues.sm)\n root.style.setProperty('--radius-lg', radiusValues.lg)\n }, [resolvedTheme, accentColor, grayColor, radius])\n\n const setTheme = React.useCallback((newTheme: Theme) => {\n localStorage.setItem(`${storageKey}-mode`, newTheme)\n setThemeState(newTheme)\n }, [storageKey])\n\n const setAccentColor = React.useCallback((color: AccentColor) => {\n localStorage.setItem(`${storageKey}-accent`, color)\n setAccentColorState(color)\n }, [storageKey])\n\n const setGrayColor = React.useCallback((color: GrayColor) => {\n localStorage.setItem(`${storageKey}-gray`, color)\n setGrayColorState(color)\n }, [storageKey])\n\n const setRadius = React.useCallback((newRadius: RadiusPreset) => {\n localStorage.setItem(`${storageKey}-radius`, newRadius)\n setRadiusState(newRadius)\n }, [storageKey])\n\n const value = React.useMemo(\n () => ({\n theme,\n resolvedTheme,\n accentColor,\n grayColor,\n radius,\n setTheme,\n setAccentColor,\n setGrayColor,\n setRadius,\n }),\n [theme, resolvedTheme, accentColor, grayColor, radius, setTheme, setAccentColor, setGrayColor, setRadius]\n )\n\n return (\n <ThemeContext.Provider value={value}>\n {children}\n </ThemeContext.Provider>\n )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import { createContext } from 'react'\nimport type { AccentColor, GrayColor, RadiusPreset, Theme } from '@onesaz/tokens'\n\nexport interface ThemeContextValue {\n theme: Theme\n resolvedTheme: 'light' | 'dark'\n accentColor: AccentColor\n grayColor: GrayColor\n radius: RadiusPreset\n setTheme: (theme: Theme) => void\n setAccentColor: (color: AccentColor) => void\n setGrayColor: (color: GrayColor) => void\n setRadius: (radius: RadiusPreset) => void\n}\n\nexport const ThemeContext = createContext<ThemeContextValue | undefined>(undefined)\n","import { useContext } from 'react'\nimport { ThemeContext, type ThemeContextValue } from './context'\n\nexport function useTheme(): ThemeContextValue {\n const context = useContext(ThemeContext)\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n return context\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'\n size?: 'default' | 'sm' | 'lg' | 'icon'\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant = 'default', size = 'default', ...props }, ref) => {\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n {\n 'bg-accent text-accent-foreground hover:bg-accent-hover':\n variant === 'default',\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90':\n variant === 'destructive',\n 'border border-input bg-background hover:bg-muted hover:text-foreground':\n variant === 'outline',\n 'bg-muted text-foreground hover:bg-muted/80':\n variant === 'secondary',\n 'hover:bg-muted hover:text-foreground':\n variant === 'ghost',\n 'text-accent underline-offset-4 hover:underline':\n variant === 'link',\n },\n {\n 'h-10 px-4 py-2': size === 'default',\n 'h-9 rounded-md px-3': size === 'sm',\n 'h-11 rounded-md px-8': size === 'lg',\n 'h-10 w-10': size === 'icon',\n },\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium',\n 'placeholder:text-muted-foreground',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = 'Input'\n\nexport { Input }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'placeholder:text-muted-foreground',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = 'Textarea'\n\nexport { Textarea }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-lg border border-border bg-card text-card-foreground shadow-sm',\n className\n )}\n {...props}\n />\n )\n)\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n )\n)\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n)\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n)\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n )\n)\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: 'default' | 'secondary' | 'destructive' | 'outline'\n}\n\nconst Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n ({ className, variant = 'default', ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n 'border-transparent bg-accent text-accent-foreground':\n variant === 'default',\n 'border-transparent bg-muted text-foreground':\n variant === 'secondary',\n 'border-transparent bg-destructive text-destructive-foreground':\n variant === 'destructive',\n 'border border-border text-foreground':\n variant === 'outline',\n },\n className\n )}\n {...props}\n />\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {}\n\nconst Label = React.forwardRef<HTMLLabelElement, LabelProps>(\n ({ className, ...props }, ref) => (\n <label\n ref={ref}\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n />\n )\n)\nLabel.displayName = 'Label'\n\nexport { Label }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, ...props }, ref) => (\n <input\n type=\"checkbox\"\n ref={ref}\n className={cn(\n 'h-4 w-4 shrink-0 rounded-sm border border-accent cursor-pointer',\n 'ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'accent-accent',\n className\n )}\n {...props}\n />\n )\n)\nCheckbox.displayName = 'Checkbox'\n\nexport { Checkbox }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SwitchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {}\n\nconst Switch = React.forwardRef<HTMLInputElement, SwitchProps>(\n ({ className, ...props }, ref) => (\n <label className={cn('relative inline-flex items-center cursor-pointer', className)}>\n <input\n type=\"checkbox\"\n ref={ref}\n className=\"sr-only peer\"\n {...props}\n />\n <div\n className={cn(\n 'w-11 h-6 rounded-full transition-colors',\n 'bg-input peer-checked:bg-accent',\n 'peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n 'after:content-[\"\"] after:absolute after:top-[2px] after:left-[2px]',\n 'after:bg-background after:rounded-full after:h-5 after:w-5',\n 'after:transition-transform after:shadow-lg',\n 'peer-checked:after:translate-x-5'\n )}\n />\n </label>\n )\n)\nSwitch.displayName = 'Switch'\n\nexport { Switch }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical'\n}\n\nconst Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n ({ className, orientation = 'horizontal', ...props }, ref) => (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = 'Separator'\n\nexport { Separator }\n","import * as React from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {}\n\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\n ({ className, children, ...props }, ref) => (\n <select\n ref={ref}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n {children}\n </select>\n )\n)\nSelect.displayName = 'Select'\n\nexport interface SelectOptionProps extends React.OptionHTMLAttributes<HTMLOptionElement> {}\n\nconst SelectOption = React.forwardRef<HTMLOptionElement, SelectOptionProps>(\n ({ className, ...props }, ref) => (\n <option ref={ref} className={cn('py-1.5', className)} {...props} />\n )\n)\nSelectOption.displayName = 'SelectOption'\n\nexport interface SelectGroupProps extends React.OptgroupHTMLAttributes<HTMLOptGroupElement> {}\n\nconst SelectGroup = React.forwardRef<HTMLOptGroupElement, SelectGroupProps>(\n ({ className, ...props }, ref) => (\n <optgroup ref={ref} className={cn('font-semibold', className)} {...props} />\n )\n)\nSelectGroup.displayName = 'SelectGroup'\n\n// Compound component pattern\nconst SelectNamespace = Object.assign(Select, {\n Option: SelectOption,\n Group: SelectGroup,\n})\n\nexport {\n SelectNamespace as Select,\n SelectOption,\n SelectGroup,\n}\n","import * as React from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface DialogProps {\n open?: boolean\n onOpenChange?: (open: boolean) => void\n children: React.ReactNode\n}\n\nconst Dialog: React.FC<DialogProps> = ({ open, onOpenChange, children }) => {\n // Close on Escape key\n React.useEffect(() => {\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && open) {\n onOpenChange?.(false)\n }\n }\n document.addEventListener('keydown', handleEscape)\n return () => document.removeEventListener('keydown', handleEscape)\n }, [open, onOpenChange])\n\n if (!open) return null\n\n return <>{children}</>\n}\nDialog.displayName = 'Dialog'\n\nexport interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement> {\n onClose?: () => void\n}\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, onClose, ...props }, ref) => (\n <>\n {/* Overlay */}\n <div\n className=\"fixed inset-0 z-50 bg-black/80\"\n onClick={onClose}\n />\n {/* Content */}\n <div\n ref={ref}\n className={cn(\n 'fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 p-6 shadow-lg',\n 'bg-popover border border-border text-popover-foreground',\n 'rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n {onClose && (\n <button\n type=\"button\"\n onClick={onClose}\n className=\"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n <span className=\"sr-only\">Close</span>\n </button>\n )}\n </div>\n </>\n )\n)\nDialogContent.displayName = 'DialogContent'\n\nconst DialogHeader: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)}\n {...props}\n />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h2\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n)\nDialogTitle.displayName = 'DialogTitle'\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nDialogDescription.displayName = 'DialogDescription'\n\n// Compound component pattern\nconst DialogNamespace = Object.assign(Dialog, {\n Content: DialogContent,\n Header: DialogHeader,\n Footer: DialogFooter,\n Title: DialogTitle,\n Description: DialogDescription,\n})\n\nexport {\n DialogNamespace as Dialog,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Spinner = React.forwardRef<HTMLDivElement, SpinnerProps>(\n ({ className, size = 'default', ...props }, ref) => {\n return (\n <div\n ref={ref}\n role=\"status\"\n aria-label=\"Loading\"\n className={cn(\n 'inline-block animate-spin rounded-full border-2 border-solid border-current border-r-transparent motion-reduce:animate-[spin_1.5s_linear_infinite]',\n {\n 'h-4 w-4': size === 'sm',\n 'h-6 w-6': size === 'default',\n 'h-8 w-8': size === 'lg',\n },\n 'text-accent',\n className\n )}\n {...props}\n >\n <span className=\"sr-only\">Loading...</span>\n </div>\n )\n }\n)\nSpinner.displayName = 'Spinner'\n\nexport { Spinner }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n))\nTable.displayName = 'Table'\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />\n))\nTableHeader.displayName = 'TableHeader'\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n))\nTableBody.displayName = 'TableBody'\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n 'border-t bg-muted/50 font-medium [&>tr]:last:border-b-0',\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = 'TableFooter'\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'border-b border-border transition-colors',\n 'hover:bg-muted/50',\n 'data-[state=selected]:bg-muted',\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = 'TableRow'\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'h-12 px-4 text-left align-middle font-medium text-muted-foreground',\n '[&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = 'TableHead'\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n))\nTableCell.displayName = 'TableCell'\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n))\nTableCaption.displayName = 'TableCaption'\n\n// Compound component pattern\nconst TableNamespace = Object.assign(Table, {\n Header: TableHeader,\n Body: TableBody,\n Footer: TableFooter,\n Row: TableRow,\n Head: TableHead,\n Cell: TableCell,\n Caption: TableCaption,\n})\n\nexport {\n TableNamespace as Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { Button } from './button'\n\nexport interface PaginationProps extends React.HTMLAttributes<HTMLElement> {}\n\nconst Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n ({ className, ...props }, ref) => (\n <nav\n ref={ref}\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n )\n)\nPagination.displayName = 'Pagination'\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.HTMLAttributes<HTMLUListElement>\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn('flex flex-row items-center gap-1', className)}\n {...props}\n />\n))\nPaginationContent.displayName = 'PaginationContent'\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.LiHTMLAttributes<HTMLLIElement>\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn('', className)} {...props} />\n))\nPaginationItem.displayName = 'PaginationItem'\n\nexport interface PaginationLinkProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n isActive?: boolean\n}\n\nconst PaginationLink = React.forwardRef<HTMLButtonElement, PaginationLinkProps>(\n ({ className, isActive, ...props }, ref) => (\n <Button\n ref={ref}\n variant={isActive ? 'default' : 'outline'}\n size=\"icon\"\n className={cn('h-9 w-9', className)}\n {...props}\n />\n )\n)\nPaginationLink.displayName = 'PaginationLink'\n\nconst PaginationPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <Button\n ref={ref}\n variant=\"outline\"\n size=\"default\"\n className={cn('gap-1 pl-2.5', className)}\n {...props}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n <span>Previous</span>\n </Button>\n))\nPaginationPrevious.displayName = 'PaginationPrevious'\n\nconst PaginationNext = React.forwardRef<\n HTMLButtonElement,\n React.ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <Button\n ref={ref}\n variant=\"outline\"\n size=\"default\"\n className={cn('gap-1 pr-2.5', className)}\n {...props}\n >\n <span>Next</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </Button>\n))\nPaginationNext.displayName = 'PaginationNext'\n\nconst PaginationEllipsis = React.forwardRef<\n HTMLSpanElement,\n React.HTMLAttributes<HTMLSpanElement>\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n aria-hidden\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n <span className=\"sr-only\">More pages</span>\n </span>\n))\nPaginationEllipsis.displayName = 'PaginationEllipsis'\n\n// Compound component pattern\nconst PaginationNamespace = Object.assign(Pagination, {\n Content: PaginationContent,\n Item: PaginationItem,\n Link: PaginationLink,\n Previous: PaginationPrevious,\n Next: PaginationNext,\n Ellipsis: PaginationEllipsis,\n})\n\nexport {\n PaginationNamespace as Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n}\n","import * as React from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface ComboboxOption {\n value: string\n label: string\n disabled?: boolean\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[]\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n className?: string\n}\n\nconst Combobox = React.forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n options,\n value: controlledValue,\n defaultValue,\n onValueChange,\n placeholder = 'Select option...',\n searchPlaceholder = 'Search...',\n emptyMessage = 'No results found.',\n disabled = false,\n className,\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const [search, setSearch] = React.useState('')\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? '')\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n const value = controlledValue !== undefined ? controlledValue : internalValue\n\n const filteredOptions = React.useMemo(() => {\n if (!search) return options\n return options.filter((option) =>\n option.label.toLowerCase().includes(search.toLowerCase())\n )\n }, [options, search])\n\n const selectedOption = options.find((option) => option.value === value)\n\n const handleSelect = (optionValue: string) => {\n if (controlledValue === undefined) {\n setInternalValue(optionValue)\n }\n onValueChange?.(optionValue)\n setOpen(false)\n setSearch('')\n }\n\n // Close on click outside\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n\n return (\n <div ref={containerRef} className=\"relative\">\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={() => setOpen(!open)}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n >\n <span className={cn(!selectedOption && 'text-muted-foreground')}>\n {selectedOption?.label ?? placeholder}\n </span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn(\n 'ml-2 h-4 w-4 shrink-0 opacity-50 transition-transform',\n open && 'rotate-180'\n )}\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </button>\n\n {open && (\n <div className=\"absolute z-50 mt-1 w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md\">\n <div className=\"flex items-center border-b border-border px-3\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"mr-2 h-4 w-4 shrink-0 opacity-50\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={ref}\n className=\"flex h-10 w-full bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground\"\n placeholder={searchPlaceholder}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n </div>\n <div className=\"max-h-[300px] overflow-y-auto p-1\">\n {filteredOptions.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">\n {emptyMessage}\n </div>\n ) : (\n filteredOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n disabled={option.disabled}\n onClick={() => handleSelect(option.value)}\n className={cn(\n 'relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none',\n 'hover:bg-muted hover:text-foreground',\n 'focus:bg-muted focus:text-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n option.value === value && 'bg-muted'\n )}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n {option.value === value && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n )}\n </span>\n {option.label}\n </button>\n ))\n )}\n </div>\n </div>\n )}\n </div>\n )\n }\n)\nCombobox.displayName = 'Combobox'\n\nexport { Combobox }\n","import * as React from 'react'\n\n// Import all components\nimport { ThemeProvider } from './theme/provider'\nimport { useTheme } from './theme/use-theme'\nimport { Button } from './components/button'\nimport { Input } from './components/input'\nimport { Textarea } from './components/textarea'\nimport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n} from './components/card'\nimport { Badge } from './components/badge'\nimport { Label } from './components/label'\nimport { Checkbox } from './components/checkbox'\nimport { Switch } from './components/switch'\nimport { Separator } from './components/separator'\nimport { Select, SelectOption, SelectGroup } from './components/select'\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n} from './components/dialog'\nimport { Spinner } from './components/spinner'\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n} from './components/table'\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from './components/pagination'\nimport { Combobox } from './components/combobox'\n\n// Section wrapper component\nconst Section = ({ title, children }: { title: string; children: React.ReactNode }) => (\n <div className=\"mb-8\">\n <h2 className=\"text-xl font-semibold mb-4 text-foreground\">{title}</h2>\n <div className=\"p-4 border border-border rounded-lg bg-background\">{children}</div>\n </div>\n)\n\n// Theme toggle component\nconst ThemeToggle = () => {\n const { theme, setTheme } = useTheme()\n return (\n <div className=\"flex items-center gap-2\">\n <Label>Theme:</Label>\n <Select value={theme} onChange={(e) => setTheme(e.target.value as 'light' | 'dark' | 'system')}>\n <SelectOption value=\"light\">Light</SelectOption>\n <SelectOption value=\"dark\">Dark</SelectOption>\n <SelectOption value=\"system\">System</SelectOption>\n </Select>\n </div>\n )\n}\n\n// Main Playground Component\nconst PlaygroundContent = () => {\n const [dialogOpen, setDialogOpen] = React.useState(false)\n const [checkboxChecked, setCheckboxChecked] = React.useState(false)\n const [switchChecked, setSwitchChecked] = React.useState(false)\n const [inputValue, setInputValue] = React.useState('')\n const [textareaValue, setTextareaValue] = React.useState('')\n const [selectValue, setSelectValue] = React.useState('')\n const [comboboxValue, setComboboxValue] = React.useState('')\n\n const comboboxOptions = [\n { value: 'react', label: 'React' },\n { value: 'vue', label: 'Vue' },\n { value: 'angular', label: 'Angular' },\n { value: 'svelte', label: 'Svelte' },\n { value: 'solid', label: 'SolidJS' },\n ]\n\n return (\n <div className=\"min-h-screen bg-background p-8\">\n <div className=\"max-w-4xl mx-auto\">\n <div className=\"flex items-center justify-between mb-8\">\n <h1 className=\"text-3xl font-bold text-foreground\">@onesaz/ui Playground</h1>\n <ThemeToggle />\n </div>\n\n {/* Buttons */}\n <Section title=\"Button\">\n <div className=\"flex flex-wrap gap-4\">\n <Button variant=\"default\">Default</Button>\n <Button variant=\"destructive\">Destructive</Button>\n <Button variant=\"outline\">Outline</Button>\n <Button variant=\"secondary\">Secondary</Button>\n <Button variant=\"ghost\">Ghost</Button>\n <Button variant=\"link\">Link</Button>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-4\">\n <Button size=\"sm\">Small</Button>\n <Button size=\"default\">Default</Button>\n <Button size=\"lg\">Large</Button>\n <Button size=\"icon\">🔔</Button>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-4\">\n <Button disabled>Disabled</Button>\n <Button variant=\"outline\" disabled>Disabled Outline</Button>\n </div>\n </Section>\n\n {/* Input */}\n <Section title=\"Input\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label htmlFor=\"input-default\">Default Input</Label>\n <Input\n id=\"input-default\"\n placeholder=\"Enter text...\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n />\n </div>\n <div>\n <Label htmlFor=\"input-disabled\">Disabled Input</Label>\n <Input id=\"input-disabled\" placeholder=\"Disabled...\" disabled />\n </div>\n <div>\n <Label htmlFor=\"input-type\">Email Input</Label>\n <Input id=\"input-type\" type=\"email\" placeholder=\"email@example.com\" />\n </div>\n </div>\n </Section>\n\n {/* Textarea */}\n <Section title=\"Textarea\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label htmlFor=\"textarea-default\">Default Textarea</Label>\n <Textarea\n id=\"textarea-default\"\n placeholder=\"Enter long text...\"\n value={textareaValue}\n onChange={(e) => setTextareaValue(e.target.value)}\n />\n </div>\n <div>\n <Label htmlFor=\"textarea-disabled\">Disabled Textarea</Label>\n <Textarea id=\"textarea-disabled\" placeholder=\"Disabled...\" disabled />\n </div>\n </div>\n </Section>\n\n {/* Select */}\n <Section title=\"Select\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label htmlFor=\"select-default\">Default Select</Label>\n <Select\n id=\"select-default\"\n value={selectValue}\n onChange={(e) => setSelectValue(e.target.value)}\n >\n <SelectOption value=\"\">Select an option...</SelectOption>\n <SelectOption value=\"option1\">Option 1</SelectOption>\n <SelectOption value=\"option2\">Option 2</SelectOption>\n <SelectOption value=\"option3\">Option 3</SelectOption>\n </Select>\n </div>\n <div>\n <Label htmlFor=\"select-grouped\">Grouped Select</Label>\n <Select id=\"select-grouped\">\n <SelectGroup label=\"Fruits\">\n <SelectOption value=\"apple\">Apple</SelectOption>\n <SelectOption value=\"banana\">Banana</SelectOption>\n </SelectGroup>\n <SelectGroup label=\"Vegetables\">\n <SelectOption value=\"carrot\">Carrot</SelectOption>\n <SelectOption value=\"potato\">Potato</SelectOption>\n </SelectGroup>\n </Select>\n </div>\n <div>\n <Label htmlFor=\"select-disabled\">Disabled Select</Label>\n <Select id=\"select-disabled\" disabled>\n <SelectOption value=\"\">Disabled...</SelectOption>\n </Select>\n </div>\n </div>\n </Section>\n\n {/* Combobox */}\n <Section title=\"Combobox (Searchable Select)\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label>Framework</Label>\n <Combobox\n options={comboboxOptions}\n value={comboboxValue}\n onValueChange={setComboboxValue}\n placeholder=\"Search frameworks...\"\n />\n </div>\n </div>\n </Section>\n\n {/* Checkbox & Switch */}\n <Section title=\"Checkbox & Switch\">\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-2\">\n <Checkbox\n id=\"checkbox\"\n checked={checkboxChecked}\n onChange={(e) => setCheckboxChecked(e.target.checked)}\n />\n <Label htmlFor=\"checkbox\">Accept terms and conditions</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <Checkbox id=\"checkbox-disabled\" disabled />\n <Label htmlFor=\"checkbox-disabled\">Disabled checkbox</Label>\n </div>\n <Separator />\n <div className=\"flex items-center gap-2\">\n <Switch\n id=\"switch\"\n checked={switchChecked}\n onChange={(e) => setSwitchChecked(e.target.checked)}\n />\n <Label htmlFor=\"switch\">Enable notifications</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <Switch id=\"switch-disabled\" disabled />\n <Label htmlFor=\"switch-disabled\">Disabled switch</Label>\n </div>\n </div>\n </Section>\n\n {/* Badge */}\n <Section title=\"Badge\">\n <div className=\"flex flex-wrap gap-4\">\n <Badge>Default</Badge>\n <Badge variant=\"secondary\">Secondary</Badge>\n <Badge variant=\"destructive\">Destructive</Badge>\n <Badge variant=\"outline\">Outline</Badge>\n </div>\n </Section>\n\n {/* Card */}\n <Section title=\"Card\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle>Card Title</CardTitle>\n <CardDescription>Card description goes here</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-foreground\">This is the card content area.</p>\n </CardContent>\n <CardFooter>\n <Button variant=\"outline\" className=\"mr-2\">Cancel</Button>\n <Button>Submit</Button>\n </CardFooter>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Another Card</CardTitle>\n <CardDescription>With different content</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-2\">\n <Label htmlFor=\"card-input\">Name</Label>\n <Input id=\"card-input\" placeholder=\"Enter name...\" />\n </div>\n </CardContent>\n <CardFooter>\n <Button className=\"w-full\">Save</Button>\n </CardFooter>\n </Card>\n </div>\n </Section>\n\n {/* Dialog */}\n <Section title=\"Dialog\">\n <Button onClick={() => setDialogOpen(true)}>Open Dialog</Button>\n <Dialog open={dialogOpen} onOpenChange={setDialogOpen}>\n <DialogContent onClose={() => setDialogOpen(false)}>\n <DialogHeader>\n <DialogTitle>Create New Zone</DialogTitle>\n <DialogDescription>\n Fill in the details below to create a new zone.\n </DialogDescription>\n </DialogHeader>\n <div className=\"space-y-4 py-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label htmlFor=\"zone-name\">Zone Name *</Label>\n <Input id=\"zone-name\" placeholder=\"eg:hyderabad\" />\n </div>\n <div>\n <Label htmlFor=\"zone-code\">Zone Code *</Label>\n <Input id=\"zone-code\" placeholder=\"eg :hyd022\" />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label htmlFor=\"state\">State *</Label>\n <Select id=\"state\">\n <SelectOption value=\"\">Select state</SelectOption>\n <SelectOption value=\"telangana\">TELANGANA</SelectOption>\n <SelectOption value=\"andhra\">ANDHRA PRADESH</SelectOption>\n </Select>\n </div>\n <div>\n <Label htmlFor=\"district\">District *</Label>\n <Select id=\"district\">\n <SelectOption value=\"\">Select District</SelectOption>\n <SelectOption value=\"hyderabad\">HYDERABAD</SelectOption>\n <SelectOption value=\"rangareddy\">RANGAREDDY</SelectOption>\n </Select>\n </div>\n </div>\n </div>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setDialogOpen(false)}>\n CANCEL\n </Button>\n <Button onClick={() => setDialogOpen(false)}>Create</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </Section>\n\n {/* Table */}\n <Section title=\"Table\">\n <Table>\n <TableCaption>A list of recent invoices</TableCaption>\n <TableHeader>\n <TableRow>\n <TableHead>Invoice</TableHead>\n <TableHead>Status</TableHead>\n <TableHead>Method</TableHead>\n <TableHead className=\"text-right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>INV001</TableCell>\n <TableCell><Badge>Paid</Badge></TableCell>\n <TableCell>Credit Card</TableCell>\n <TableCell className=\"text-right\">$250.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>INV002</TableCell>\n <TableCell><Badge variant=\"secondary\">Pending</Badge></TableCell>\n <TableCell>PayPal</TableCell>\n <TableCell className=\"text-right\">$150.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>INV003</TableCell>\n <TableCell><Badge variant=\"destructive\">Failed</Badge></TableCell>\n <TableCell>Bank Transfer</TableCell>\n <TableCell className=\"text-right\">$350.00</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </Section>\n\n {/* Pagination */}\n <Section title=\"Pagination\">\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious onClick={() => console.log('Previous')} />\n </PaginationItem>\n <PaginationItem>\n <PaginationLink isActive>1</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationLink>2</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationLink>3</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n <PaginationItem>\n <PaginationNext onClick={() => console.log('Next')} />\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n </Section>\n\n {/* Spinner */}\n <Section title=\"Spinner\">\n <div className=\"flex items-center gap-8\">\n <div className=\"text-center\">\n <Spinner size=\"sm\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Small</p>\n </div>\n <div className=\"text-center\">\n <Spinner size=\"default\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Default</p>\n </div>\n <div className=\"text-center\">\n <Spinner size=\"lg\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Large</p>\n </div>\n </div>\n </Section>\n\n {/* Separator */}\n <Section title=\"Separator\">\n <div className=\"space-y-4\">\n <p className=\"text-foreground\">Content above separator</p>\n <Separator />\n <p className=\"text-foreground\">Content below separator</p>\n <div className=\"flex items-center h-10\">\n <span className=\"text-foreground\">Left</span>\n <Separator orientation=\"vertical\" className=\"mx-4\" />\n <span className=\"text-foreground\">Right</span>\n </div>\n </div>\n </Section>\n\n {/* Typography Colors */}\n <Section title=\"Typography & Colors\">\n <div className=\"space-y-2\">\n <p className=\"text-foreground\">text-foreground - Primary text color</p>\n <p className=\"text-muted-foreground\">text-muted-foreground - Muted text color</p>\n <p className=\"text-accent\">text-accent - Accent color</p>\n <p className=\"text-destructive\">text-destructive - Destructive color</p>\n </div>\n </Section>\n </div>\n </div>\n )\n}\n\n// Exported Playground wrapped with ThemeProvider\nexport const Playground = () => (\n <ThemeProvider defaultTheme=\"light\">\n <PlaygroundContent />\n </ThemeProvider>\n)\n\nexport default Playground\n"],"mappings":"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","names":["value","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs"]}
|
|
1
|
+
{"version":3,"sources":["../src/theme/provider.tsx","../src/theme/context.ts","../src/theme/use-theme.ts","../src/utils/cn.ts","../src/components/button.tsx","../src/components/input.tsx","../src/components/textarea.tsx","../src/components/card.tsx","../src/components/badge.tsx","../src/components/label.tsx","../src/components/checkbox.tsx","../src/components/switch.tsx","../src/components/separator.tsx","../src/components/select/index.tsx","../src/components/dialog/index.tsx","../src/components/spinner.tsx","../src/components/table.tsx","../src/components/pagination.tsx","../src/components/combobox/index.tsx","../src/playground.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n accentColors,\n grayColors,\n radiusPresets,\n lightTheme,\n darkTheme,\n type AccentColor,\n type GrayColor,\n type RadiusPreset,\n type Theme,\n} from '@onesaz/tokens'\nimport { ThemeContext } from './context'\n\nexport interface ThemeProviderProps {\n children: React.ReactNode\n defaultTheme?: Theme\n accentColor?: AccentColor\n grayColor?: GrayColor\n radius?: RadiusPreset\n storageKey?: string\n}\n\nfunction getSystemTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined') return 'light'\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n}\n\nexport function ThemeProvider({\n children,\n defaultTheme = 'system',\n accentColor: defaultAccent = 'purple',\n grayColor: defaultGray = 'slate',\n radius: defaultRadius = 'medium',\n storageKey = 'onesaz-theme',\n}: ThemeProviderProps) {\n const [theme, setThemeState] = React.useState<Theme>(() => {\n if (typeof window === 'undefined') return defaultTheme\n const stored = localStorage.getItem(`${storageKey}-mode`)\n return (stored as Theme) || defaultTheme\n })\n\n const [accentColor, setAccentColorState] = React.useState<AccentColor>(() => {\n if (typeof window === 'undefined') return defaultAccent\n const stored = localStorage.getItem(`${storageKey}-accent`)\n return (stored as AccentColor) || defaultAccent\n })\n\n const [grayColor, setGrayColorState] = React.useState<GrayColor>(() => {\n if (typeof window === 'undefined') return defaultGray\n const stored = localStorage.getItem(`${storageKey}-gray`)\n return (stored as GrayColor) || defaultGray\n })\n\n const [radius, setRadiusState] = React.useState<RadiusPreset>(() => {\n if (typeof window === 'undefined') return defaultRadius\n const stored = localStorage.getItem(`${storageKey}-radius`)\n return (stored as RadiusPreset) || defaultRadius\n })\n\n const [resolvedTheme, setResolvedTheme] = React.useState<'light' | 'dark'>(() =>\n theme === 'system' ? getSystemTheme() : theme\n )\n\n // Listen for system theme changes\n React.useEffect(() => {\n if (theme !== 'system') {\n setResolvedTheme(theme)\n return\n }\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n setResolvedTheme(mediaQuery.matches ? 'dark' : 'light')\n\n const handler = (e: MediaQueryListEvent) => {\n setResolvedTheme(e.matches ? 'dark' : 'light')\n }\n\n mediaQuery.addEventListener('change', handler)\n return () => mediaQuery.removeEventListener('change', handler)\n }, [theme])\n\n // Generate CSS variables\n React.useEffect(() => {\n const root = document.documentElement\n const themeTokens = resolvedTheme === 'dark' ? darkTheme : lightTheme\n const accent = accentColors[accentColor]\n const gray = grayColors[grayColor]\n const radiusValues = radiusPresets[radius]\n\n // Set theme attribute\n root.setAttribute('data-theme', resolvedTheme)\n root.setAttribute('data-accent', accentColor)\n\n // Set gray-based semantic tokens\n root.style.setProperty('--background', gray[themeTokens.background])\n root.style.setProperty('--foreground', gray[themeTokens.foreground])\n root.style.setProperty('--card', gray[themeTokens.card])\n root.style.setProperty('--card-foreground', gray[themeTokens.cardForeground])\n root.style.setProperty('--popover', gray[themeTokens.popover])\n root.style.setProperty('--popover-foreground', gray[themeTokens.popoverForeground])\n root.style.setProperty('--muted', gray[themeTokens.muted])\n root.style.setProperty('--muted-foreground', gray[themeTokens.mutedForeground])\n root.style.setProperty('--border', gray[themeTokens.border])\n root.style.setProperty('--input', gray[themeTokens.input])\n\n // Set accent colors\n root.style.setProperty('--accent', accent[6])\n root.style.setProperty('--accent-foreground', '#ffffff')\n root.style.setProperty('--accent-hover', accent[7])\n root.style.setProperty('--ring', accent[6])\n\n // Set all accent scale values\n Object.entries(accent).forEach(([step, value]) => {\n root.style.setProperty(`--accent-${step}`, value)\n })\n\n // Set destructive colors\n root.style.setProperty('--destructive', resolvedTheme === 'dark' ? '#ef4444' : '#dc2626')\n root.style.setProperty('--destructive-foreground', '#ffffff')\n\n // Set radius\n root.style.setProperty('--radius', radiusValues.md)\n root.style.setProperty('--radius-sm', radiusValues.sm)\n root.style.setProperty('--radius-lg', radiusValues.lg)\n }, [resolvedTheme, accentColor, grayColor, radius])\n\n const setTheme = React.useCallback((newTheme: Theme) => {\n localStorage.setItem(`${storageKey}-mode`, newTheme)\n setThemeState(newTheme)\n }, [storageKey])\n\n const setAccentColor = React.useCallback((color: AccentColor) => {\n localStorage.setItem(`${storageKey}-accent`, color)\n setAccentColorState(color)\n }, [storageKey])\n\n const setGrayColor = React.useCallback((color: GrayColor) => {\n localStorage.setItem(`${storageKey}-gray`, color)\n setGrayColorState(color)\n }, [storageKey])\n\n const setRadius = React.useCallback((newRadius: RadiusPreset) => {\n localStorage.setItem(`${storageKey}-radius`, newRadius)\n setRadiusState(newRadius)\n }, [storageKey])\n\n const value = React.useMemo(\n () => ({\n theme,\n resolvedTheme,\n accentColor,\n grayColor,\n radius,\n setTheme,\n setAccentColor,\n setGrayColor,\n setRadius,\n }),\n [theme, resolvedTheme, accentColor, grayColor, radius, setTheme, setAccentColor, setGrayColor, setRadius]\n )\n\n return (\n <ThemeContext.Provider value={value}>\n {children}\n </ThemeContext.Provider>\n )\n}\n\nThemeProvider.displayName = 'ThemeProvider'\n","import { createContext } from 'react'\nimport type { AccentColor, GrayColor, RadiusPreset, Theme } from '@onesaz/tokens'\n\nexport interface ThemeContextValue {\n theme: Theme\n resolvedTheme: 'light' | 'dark'\n accentColor: AccentColor\n grayColor: GrayColor\n radius: RadiusPreset\n setTheme: (theme: Theme) => void\n setAccentColor: (color: AccentColor) => void\n setGrayColor: (color: GrayColor) => void\n setRadius: (radius: RadiusPreset) => void\n}\n\nexport const ThemeContext = createContext<ThemeContextValue | undefined>(undefined)\n","import { useContext } from 'react'\nimport { ThemeContext, type ThemeContextValue } from './context'\n\nexport function useTheme(): ThemeContextValue {\n const context = useContext(ThemeContext)\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider')\n }\n return context\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'\n size?: 'default' | 'sm' | 'lg' | 'icon'\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant = 'default', size = 'default', ...props }, ref) => {\n return (\n <button\n className={cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n {\n 'bg-accent text-accent-foreground hover:bg-accent-hover':\n variant === 'default',\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90':\n variant === 'destructive',\n 'border border-input bg-background hover:bg-muted hover:text-foreground':\n variant === 'outline',\n 'bg-muted text-foreground hover:bg-muted/80':\n variant === 'secondary',\n 'hover:bg-muted hover:text-foreground':\n variant === 'ghost',\n 'text-accent underline-offset-4 hover:underline':\n variant === 'link',\n },\n {\n 'h-10 px-4 py-2': size === 'default',\n 'h-9 rounded-md px-3': size === 'sm',\n 'h-11 rounded-md px-8': size === 'lg',\n 'h-10 w-10': size === 'icon',\n },\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nexport { Button }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium',\n 'placeholder:text-muted-foreground',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = 'Input'\n\nexport { Input }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'placeholder:text-muted-foreground',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = 'Textarea'\n\nexport { Textarea }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-lg border border-border bg-card text-card-foreground shadow-sm',\n className\n )}\n {...props}\n />\n )\n)\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n )\n)\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n)\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n)\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n )\n)\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: 'default' | 'secondary' | 'destructive' | 'outline'\n}\n\nconst Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n ({ className, variant = 'default', ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n 'border-transparent bg-accent text-accent-foreground':\n variant === 'default',\n 'border-transparent bg-muted text-foreground':\n variant === 'secondary',\n 'border-transparent bg-destructive text-destructive-foreground':\n variant === 'destructive',\n 'border border-border text-foreground':\n variant === 'outline',\n },\n className\n )}\n {...props}\n />\n )\n }\n)\nBadge.displayName = 'Badge'\n\nexport { Badge }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {}\n\nconst Label = React.forwardRef<HTMLLabelElement, LabelProps>(\n ({ className, ...props }, ref) => (\n <label\n ref={ref}\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n />\n )\n)\nLabel.displayName = 'Label'\n\nexport { Label }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, ...props }, ref) => (\n <input\n type=\"checkbox\"\n ref={ref}\n className={cn(\n 'h-4 w-4 shrink-0 rounded-sm border border-accent cursor-pointer',\n 'ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'accent-accent',\n className\n )}\n {...props}\n />\n )\n)\nCheckbox.displayName = 'Checkbox'\n\nexport { Checkbox }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SwitchProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {}\n\nconst Switch = React.forwardRef<HTMLInputElement, SwitchProps>(\n ({ className, ...props }, ref) => (\n <label className={cn('relative inline-flex items-center cursor-pointer', className)}>\n <input\n type=\"checkbox\"\n ref={ref}\n className=\"sr-only peer\"\n {...props}\n />\n <div\n className={cn(\n 'w-11 h-6 rounded-full transition-colors',\n 'bg-input peer-checked:bg-accent',\n 'peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n 'after:content-[\"\"] after:absolute after:top-[2px] after:left-[2px]',\n 'after:bg-background after:rounded-full after:h-5 after:w-5',\n 'after:transition-transform after:shadow-lg',\n 'peer-checked:after:translate-x-5'\n )}\n />\n </label>\n )\n)\nSwitch.displayName = 'Switch'\n\nexport { Switch }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical'\n}\n\nconst Separator = React.forwardRef<HTMLDivElement, SeparatorProps>(\n ({ className, orientation = 'horizontal', ...props }, ref) => (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = 'Separator'\n\nexport { Separator }\n","import * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { cn } from '../../utils/cn'\n\n// Icons\nconst ChevronDownIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n)\n\nconst ChevronUpIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n)\n\nconst CheckIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n)\n\n// Root\nconst Select = SelectPrimitive.Root\n\n// Group\nconst SelectGroup = SelectPrimitive.Group\n\n// Value\nconst SelectValue = SelectPrimitive.Value\n\n// Trigger\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm',\n 'border-input bg-background text-foreground',\n 'ring-offset-background',\n 'placeholder:text-muted-foreground',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n '[&>span]:line-clamp-1',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\n// ScrollUpButton\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className\n )}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\n// ScrollDownButton\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className\n )}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName\n\n// Content\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md',\n 'border-border bg-popover text-popover-foreground',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\n// Label\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\n// Item\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none',\n 'focus:bg-accent focus:text-accent-foreground',\n 'data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\n// Separator\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\n// Compound component pattern\nconst SelectNamespace = Object.assign(Select, {\n Group: SelectGroup,\n Value: SelectValue,\n Trigger: SelectTrigger,\n Content: SelectContent,\n Label: SelectLabel,\n Item: SelectItem,\n Separator: SelectSeparator,\n ScrollUpButton: SelectScrollUpButton,\n ScrollDownButton: SelectScrollDownButton,\n})\n\nexport {\n SelectNamespace as Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n\n// ============================================\n// Native Select (for simple use cases)\n// ============================================\n\nexport interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {}\n\nconst NativeSelect = React.forwardRef<HTMLSelectElement, NativeSelectProps>(\n ({ className, children, ...props }, ref) => (\n <select\n ref={ref}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n {children}\n </select>\n )\n)\nNativeSelect.displayName = 'NativeSelect'\n\nexport interface NativeSelectOptionProps extends React.OptionHTMLAttributes<HTMLOptionElement> {}\n\nconst NativeSelectOption = React.forwardRef<HTMLOptionElement, NativeSelectOptionProps>(\n ({ className, ...props }, ref) => (\n <option ref={ref} className={cn('py-1.5', className)} {...props} />\n )\n)\nNativeSelectOption.displayName = 'NativeSelectOption'\n\nexport { NativeSelect, NativeSelectOption }\n","import * as React from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface DialogProps {\n open?: boolean\n onOpenChange?: (open: boolean) => void\n children: React.ReactNode\n}\n\nconst Dialog: React.FC<DialogProps> = ({ open, onOpenChange, children }) => {\n // Close on Escape key\n React.useEffect(() => {\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && open) {\n onOpenChange?.(false)\n }\n }\n document.addEventListener('keydown', handleEscape)\n return () => document.removeEventListener('keydown', handleEscape)\n }, [open, onOpenChange])\n\n if (!open) return null\n\n return <>{children}</>\n}\nDialog.displayName = 'Dialog'\n\nexport interface DialogContentProps extends React.HTMLAttributes<HTMLDivElement> {\n onClose?: () => void\n}\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, onClose, ...props }, ref) => (\n <>\n {/* Overlay */}\n <div\n className=\"fixed inset-0 z-50 bg-black/80\"\n onClick={onClose}\n />\n {/* Content */}\n <div\n ref={ref}\n className={cn(\n 'fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 p-6 shadow-lg',\n 'bg-popover border border-border text-popover-foreground',\n 'rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n {onClose && (\n <button\n type=\"button\"\n onClick={onClose}\n className=\"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n <span className=\"sr-only\">Close</span>\n </button>\n )}\n </div>\n </>\n )\n)\nDialogContent.displayName = 'DialogContent'\n\nconst DialogHeader: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)}\n {...props}\n />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter: React.FC<React.HTMLAttributes<HTMLDivElement>> = ({\n className,\n ...props\n}) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h2\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n)\nDialogTitle.displayName = 'DialogTitle'\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n)\nDialogDescription.displayName = 'DialogDescription'\n\n// Compound component pattern\nconst DialogNamespace = Object.assign(Dialog, {\n Content: DialogContent,\n Header: DialogHeader,\n Footer: DialogFooter,\n Title: DialogTitle,\n Description: DialogDescription,\n})\n\nexport {\n DialogNamespace as Dialog,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nexport interface SpinnerProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 'sm' | 'default' | 'lg'\n}\n\nconst Spinner = React.forwardRef<HTMLDivElement, SpinnerProps>(\n ({ className, size = 'default', ...props }, ref) => {\n return (\n <div\n ref={ref}\n role=\"status\"\n aria-label=\"Loading\"\n className={cn(\n 'inline-block animate-spin rounded-full border-2 border-solid border-current border-r-transparent motion-reduce:animate-[spin_1.5s_linear_infinite]',\n {\n 'h-4 w-4': size === 'sm',\n 'h-6 w-6': size === 'default',\n 'h-8 w-8': size === 'lg',\n },\n 'text-accent',\n className\n )}\n {...props}\n >\n <span className=\"sr-only\">Loading...</span>\n </div>\n )\n }\n)\nSpinner.displayName = 'Spinner'\n\nexport { Spinner }\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n))\nTable.displayName = 'Table'\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />\n))\nTableHeader.displayName = 'TableHeader'\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n))\nTableBody.displayName = 'TableBody'\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n 'border-t bg-muted/50 font-medium [&>tr]:last:border-b-0',\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = 'TableFooter'\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n 'border-b border-border transition-colors',\n 'hover:bg-muted/50',\n 'data-[state=selected]:bg-muted',\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = 'TableRow'\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n 'h-12 px-4 text-left align-middle font-medium text-muted-foreground',\n '[&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = 'TableHead'\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n))\nTableCell.displayName = 'TableCell'\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n))\nTableCaption.displayName = 'TableCaption'\n\n// Compound component pattern\nconst TableNamespace = Object.assign(Table, {\n Header: TableHeader,\n Body: TableBody,\n Footer: TableFooter,\n Row: TableRow,\n Head: TableHead,\n Cell: TableCell,\n Caption: TableCaption,\n})\n\nexport {\n TableNamespace as Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from 'react'\nimport { cn } from '../utils/cn'\nimport { Button } from './button'\n\nexport interface PaginationProps extends React.HTMLAttributes<HTMLElement> {}\n\nconst Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n ({ className, ...props }, ref) => (\n <nav\n ref={ref}\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n )\n)\nPagination.displayName = 'Pagination'\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.HTMLAttributes<HTMLUListElement>\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn('flex flex-row items-center gap-1', className)}\n {...props}\n />\n))\nPaginationContent.displayName = 'PaginationContent'\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.LiHTMLAttributes<HTMLLIElement>\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn('', className)} {...props} />\n))\nPaginationItem.displayName = 'PaginationItem'\n\nexport interface PaginationLinkProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n isActive?: boolean\n}\n\nconst PaginationLink = React.forwardRef<HTMLButtonElement, PaginationLinkProps>(\n ({ className, isActive, ...props }, ref) => (\n <Button\n ref={ref}\n variant={isActive ? 'default' : 'outline'}\n size=\"icon\"\n className={cn('h-9 w-9', className)}\n {...props}\n />\n )\n)\nPaginationLink.displayName = 'PaginationLink'\n\nconst PaginationPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <Button\n ref={ref}\n variant=\"outline\"\n size=\"default\"\n className={cn('gap-1 pl-2.5', className)}\n {...props}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n <span>Previous</span>\n </Button>\n))\nPaginationPrevious.displayName = 'PaginationPrevious'\n\nconst PaginationNext = React.forwardRef<\n HTMLButtonElement,\n React.ButtonHTMLAttributes<HTMLButtonElement>\n>(({ className, ...props }, ref) => (\n <Button\n ref={ref}\n variant=\"outline\"\n size=\"default\"\n className={cn('gap-1 pr-2.5', className)}\n {...props}\n >\n <span>Next</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </Button>\n))\nPaginationNext.displayName = 'PaginationNext'\n\nconst PaginationEllipsis = React.forwardRef<\n HTMLSpanElement,\n React.HTMLAttributes<HTMLSpanElement>\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n aria-hidden\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n <span className=\"sr-only\">More pages</span>\n </span>\n))\nPaginationEllipsis.displayName = 'PaginationEllipsis'\n\n// Compound component pattern\nconst PaginationNamespace = Object.assign(Pagination, {\n Content: PaginationContent,\n Item: PaginationItem,\n Link: PaginationLink,\n Previous: PaginationPrevious,\n Next: PaginationNext,\n Ellipsis: PaginationEllipsis,\n})\n\nexport {\n PaginationNamespace as Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n}\n","import * as React from 'react'\nimport { cn } from '../../utils/cn'\n\nexport interface ComboboxOption {\n value: string\n label: string\n disabled?: boolean\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[]\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n className?: string\n}\n\nconst Combobox = React.forwardRef<HTMLInputElement, ComboboxProps>(\n (\n {\n options,\n value: controlledValue,\n defaultValue,\n onValueChange,\n placeholder = 'Select option...',\n searchPlaceholder = 'Search...',\n emptyMessage = 'No results found.',\n disabled = false,\n className,\n },\n ref\n ) => {\n const [open, setOpen] = React.useState(false)\n const [search, setSearch] = React.useState('')\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? '')\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n const value = controlledValue !== undefined ? controlledValue : internalValue\n\n const filteredOptions = React.useMemo(() => {\n if (!search) return options\n return options.filter((option) =>\n option.label.toLowerCase().includes(search.toLowerCase())\n )\n }, [options, search])\n\n const selectedOption = options.find((option) => option.value === value)\n\n const handleSelect = (optionValue: string) => {\n if (controlledValue === undefined) {\n setInternalValue(optionValue)\n }\n onValueChange?.(optionValue)\n setOpen(false)\n setSearch('')\n }\n\n // Close on click outside\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setOpen(false)\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n\n return (\n <div ref={containerRef} className=\"relative\">\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={() => setOpen(!open)}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm',\n 'ring-offset-background',\n 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n >\n <span className={cn(!selectedOption && 'text-muted-foreground')}>\n {selectedOption?.label ?? placeholder}\n </span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn(\n 'ml-2 h-4 w-4 shrink-0 opacity-50 transition-transform',\n open && 'rotate-180'\n )}\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </button>\n\n {open && (\n <div className=\"absolute z-50 mt-1 w-full overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md\">\n <div className=\"flex items-center border-b border-border px-3\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"mr-2 h-4 w-4 shrink-0 opacity-50\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={ref}\n className=\"flex h-10 w-full bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground\"\n placeholder={searchPlaceholder}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n </div>\n <div className=\"max-h-[300px] overflow-y-auto p-1\">\n {filteredOptions.length === 0 ? (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">\n {emptyMessage}\n </div>\n ) : (\n filteredOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n disabled={option.disabled}\n onClick={() => handleSelect(option.value)}\n className={cn(\n 'relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none',\n 'hover:bg-muted hover:text-foreground',\n 'focus:bg-muted focus:text-foreground',\n 'disabled:pointer-events-none disabled:opacity-50',\n option.value === value && 'bg-muted'\n )}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n {option.value === value && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-4 w-4\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n )}\n </span>\n {option.label}\n </button>\n ))\n )}\n </div>\n </div>\n )}\n </div>\n )\n }\n)\nCombobox.displayName = 'Combobox'\n\nexport { Combobox }\n","import * as React from 'react'\n\n// Import all components\nimport { ThemeProvider } from './theme/provider'\nimport { useTheme } from './theme/use-theme'\nimport { Button } from './components/button'\nimport { Input } from './components/input'\nimport { Textarea } from './components/textarea'\nimport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n} from './components/card'\nimport { Badge } from './components/badge'\nimport { Label } from './components/label'\nimport { Checkbox } from './components/checkbox'\nimport { Switch } from './components/switch'\nimport { Separator } from './components/separator'\nimport { Select, SelectTrigger, SelectValue, SelectContent, SelectItem, SelectGroup, SelectLabel } from './components/select'\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n} from './components/dialog'\nimport { Spinner } from './components/spinner'\nimport {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n} from './components/table'\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n} from './components/pagination'\nimport { Combobox } from './components/combobox'\n\n// Section wrapper component\nconst Section = ({ title, children }: { title: string; children: React.ReactNode }) => (\n <div className=\"mb-8\">\n <h2 className=\"text-xl font-semibold mb-4 text-foreground\">{title}</h2>\n <div className=\"p-4 border border-border rounded-lg bg-background\">{children}</div>\n </div>\n)\n\n// Theme toggle component\nconst ThemeToggle = () => {\n const { theme, setTheme } = useTheme()\n return (\n <div className=\"flex items-center gap-2\">\n <Label>Theme:</Label>\n <Select value={theme} onValueChange={(value) => setTheme(value as 'light' | 'dark' | 'system')}>\n <SelectTrigger className=\"w-32\">\n <SelectValue placeholder=\"Select theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n <SelectItem value=\"system\">System</SelectItem>\n </SelectContent>\n </Select>\n </div>\n )\n}\n\n// Main Playground Component\nconst PlaygroundContent = () => {\n const [dialogOpen, setDialogOpen] = React.useState(false)\n const [checkboxChecked, setCheckboxChecked] = React.useState(false)\n const [switchChecked, setSwitchChecked] = React.useState(false)\n const [inputValue, setInputValue] = React.useState('')\n const [textareaValue, setTextareaValue] = React.useState('')\n const [selectValue, setSelectValue] = React.useState('')\n const [comboboxValue, setComboboxValue] = React.useState('')\n\n const comboboxOptions = [\n { value: 'react', label: 'React' },\n { value: 'vue', label: 'Vue' },\n { value: 'angular', label: 'Angular' },\n { value: 'svelte', label: 'Svelte' },\n { value: 'solid', label: 'SolidJS' },\n ]\n\n return (\n <div className=\"min-h-screen bg-background p-8\">\n <div className=\"max-w-4xl mx-auto\">\n <div className=\"flex items-center justify-between mb-8\">\n <h1 className=\"text-3xl font-bold text-foreground\">@onesaz/ui Playground</h1>\n <ThemeToggle />\n </div>\n\n {/* Buttons */}\n <Section title=\"Button\">\n <div className=\"flex flex-wrap gap-4\">\n <Button variant=\"default\">Default</Button>\n <Button variant=\"destructive\">Destructive</Button>\n <Button variant=\"outline\">Outline</Button>\n <Button variant=\"secondary\">Secondary</Button>\n <Button variant=\"ghost\">Ghost</Button>\n <Button variant=\"link\">Link</Button>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-4\">\n <Button size=\"sm\">Small</Button>\n <Button size=\"default\">Default</Button>\n <Button size=\"lg\">Large</Button>\n <Button size=\"icon\">🔔</Button>\n </div>\n <div className=\"flex flex-wrap gap-4 mt-4\">\n <Button disabled>Disabled</Button>\n <Button variant=\"outline\" disabled>Disabled Outline</Button>\n </div>\n </Section>\n\n {/* Input */}\n <Section title=\"Input\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label htmlFor=\"input-default\">Default Input</Label>\n <Input\n id=\"input-default\"\n placeholder=\"Enter text...\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n />\n </div>\n <div>\n <Label htmlFor=\"input-disabled\">Disabled Input</Label>\n <Input id=\"input-disabled\" placeholder=\"Disabled...\" disabled />\n </div>\n <div>\n <Label htmlFor=\"input-type\">Email Input</Label>\n <Input id=\"input-type\" type=\"email\" placeholder=\"email@example.com\" />\n </div>\n </div>\n </Section>\n\n {/* Textarea */}\n <Section title=\"Textarea\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label htmlFor=\"textarea-default\">Default Textarea</Label>\n <Textarea\n id=\"textarea-default\"\n placeholder=\"Enter long text...\"\n value={textareaValue}\n onChange={(e) => setTextareaValue(e.target.value)}\n />\n </div>\n <div>\n <Label htmlFor=\"textarea-disabled\">Disabled Textarea</Label>\n <Textarea id=\"textarea-disabled\" placeholder=\"Disabled...\" disabled />\n </div>\n </div>\n </Section>\n\n {/* Select */}\n <Section title=\"Select\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label>Default Select</Label>\n <Select value={selectValue} onValueChange={setSelectValue}>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder=\"Select an option...\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"option1\">Option 1</SelectItem>\n <SelectItem value=\"option2\">Option 2</SelectItem>\n <SelectItem value=\"option3\">Option 3</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>Grouped Select</Label>\n <Select>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder=\"Select a food...\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Fruits</SelectLabel>\n <SelectItem value=\"apple\">Apple</SelectItem>\n <SelectItem value=\"banana\">Banana</SelectItem>\n </SelectGroup>\n <SelectGroup>\n <SelectLabel>Vegetables</SelectLabel>\n <SelectItem value=\"carrot\">Carrot</SelectItem>\n <SelectItem value=\"potato\">Potato</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>Disabled Select</Label>\n <Select disabled>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder=\"Disabled...\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"none\">None</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </Section>\n\n {/* Combobox */}\n <Section title=\"Combobox (Searchable Select)\">\n <div className=\"space-y-4 max-w-md\">\n <div>\n <Label>Framework</Label>\n <Combobox\n options={comboboxOptions}\n value={comboboxValue}\n onValueChange={setComboboxValue}\n placeholder=\"Search frameworks...\"\n />\n </div>\n </div>\n </Section>\n\n {/* Checkbox & Switch */}\n <Section title=\"Checkbox & Switch\">\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-2\">\n <Checkbox\n id=\"checkbox\"\n checked={checkboxChecked}\n onChange={(e) => setCheckboxChecked(e.target.checked)}\n />\n <Label htmlFor=\"checkbox\">Accept terms and conditions</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <Checkbox id=\"checkbox-disabled\" disabled />\n <Label htmlFor=\"checkbox-disabled\">Disabled checkbox</Label>\n </div>\n <Separator />\n <div className=\"flex items-center gap-2\">\n <Switch\n id=\"switch\"\n checked={switchChecked}\n onChange={(e) => setSwitchChecked(e.target.checked)}\n />\n <Label htmlFor=\"switch\">Enable notifications</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <Switch id=\"switch-disabled\" disabled />\n <Label htmlFor=\"switch-disabled\">Disabled switch</Label>\n </div>\n </div>\n </Section>\n\n {/* Badge */}\n <Section title=\"Badge\">\n <div className=\"flex flex-wrap gap-4\">\n <Badge>Default</Badge>\n <Badge variant=\"secondary\">Secondary</Badge>\n <Badge variant=\"destructive\">Destructive</Badge>\n <Badge variant=\"outline\">Outline</Badge>\n </div>\n </Section>\n\n {/* Card */}\n <Section title=\"Card\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle>Card Title</CardTitle>\n <CardDescription>Card description goes here</CardDescription>\n </CardHeader>\n <CardContent>\n <p className=\"text-foreground\">This is the card content area.</p>\n </CardContent>\n <CardFooter>\n <Button variant=\"outline\" className=\"mr-2\">Cancel</Button>\n <Button>Submit</Button>\n </CardFooter>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Another Card</CardTitle>\n <CardDescription>With different content</CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-2\">\n <Label htmlFor=\"card-input\">Name</Label>\n <Input id=\"card-input\" placeholder=\"Enter name...\" />\n </div>\n </CardContent>\n <CardFooter>\n <Button className=\"w-full\">Save</Button>\n </CardFooter>\n </Card>\n </div>\n </Section>\n\n {/* Dialog */}\n <Section title=\"Dialog\">\n <Button onClick={() => setDialogOpen(true)}>Open Dialog</Button>\n <Dialog open={dialogOpen} onOpenChange={setDialogOpen}>\n <DialogContent onClose={() => setDialogOpen(false)}>\n <DialogHeader>\n <DialogTitle>Create New Zone</DialogTitle>\n <DialogDescription>\n Fill in the details below to create a new zone.\n </DialogDescription>\n </DialogHeader>\n <div className=\"space-y-4 py-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label htmlFor=\"zone-name\">Zone Name *</Label>\n <Input id=\"zone-name\" placeholder=\"eg:hyderabad\" />\n </div>\n <div>\n <Label htmlFor=\"zone-code\">Zone Code *</Label>\n <Input id=\"zone-code\" placeholder=\"eg :hyd022\" />\n </div>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <Label>State *</Label>\n <Select>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder=\"Select state\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"telangana\">TELANGANA</SelectItem>\n <SelectItem value=\"andhra\">ANDHRA PRADESH</SelectItem>\n </SelectContent>\n </Select>\n </div>\n <div>\n <Label>District *</Label>\n <Select>\n <SelectTrigger className=\"w-full\">\n <SelectValue placeholder=\"Select District\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"hyderabad\">HYDERABAD</SelectItem>\n <SelectItem value=\"rangareddy\">RANGAREDDY</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </div>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setDialogOpen(false)}>\n CANCEL\n </Button>\n <Button onClick={() => setDialogOpen(false)}>Create</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </Section>\n\n {/* Table */}\n <Section title=\"Table\">\n <Table>\n <TableCaption>A list of recent invoices</TableCaption>\n <TableHeader>\n <TableRow>\n <TableHead>Invoice</TableHead>\n <TableHead>Status</TableHead>\n <TableHead>Method</TableHead>\n <TableHead className=\"text-right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>INV001</TableCell>\n <TableCell><Badge>Paid</Badge></TableCell>\n <TableCell>Credit Card</TableCell>\n <TableCell className=\"text-right\">$250.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>INV002</TableCell>\n <TableCell><Badge variant=\"secondary\">Pending</Badge></TableCell>\n <TableCell>PayPal</TableCell>\n <TableCell className=\"text-right\">$150.00</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>INV003</TableCell>\n <TableCell><Badge variant=\"destructive\">Failed</Badge></TableCell>\n <TableCell>Bank Transfer</TableCell>\n <TableCell className=\"text-right\">$350.00</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </Section>\n\n {/* Pagination */}\n <Section title=\"Pagination\">\n <Pagination>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious onClick={() => console.log('Previous')} />\n </PaginationItem>\n <PaginationItem>\n <PaginationLink isActive>1</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationLink>2</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationLink>3</PaginationLink>\n </PaginationItem>\n <PaginationItem>\n <PaginationEllipsis />\n </PaginationItem>\n <PaginationItem>\n <PaginationNext onClick={() => console.log('Next')} />\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n </Section>\n\n {/* Spinner */}\n <Section title=\"Spinner\">\n <div className=\"flex items-center gap-8\">\n <div className=\"text-center\">\n <Spinner size=\"sm\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Small</p>\n </div>\n <div className=\"text-center\">\n <Spinner size=\"default\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Default</p>\n </div>\n <div className=\"text-center\">\n <Spinner size=\"lg\" />\n <p className=\"text-sm text-muted-foreground mt-2\">Large</p>\n </div>\n </div>\n </Section>\n\n {/* Separator */}\n <Section title=\"Separator\">\n <div className=\"space-y-4\">\n <p className=\"text-foreground\">Content above separator</p>\n <Separator />\n <p className=\"text-foreground\">Content below separator</p>\n <div className=\"flex items-center h-10\">\n <span className=\"text-foreground\">Left</span>\n <Separator orientation=\"vertical\" className=\"mx-4\" />\n <span className=\"text-foreground\">Right</span>\n </div>\n </div>\n </Section>\n\n {/* Typography Colors */}\n <Section title=\"Typography & Colors\">\n <div className=\"space-y-2\">\n <p className=\"text-foreground\">text-foreground - Primary text color</p>\n <p className=\"text-muted-foreground\">text-muted-foreground - Muted text color</p>\n <p className=\"text-accent\">text-accent - Accent color</p>\n <p className=\"text-destructive\">text-destructive - Destructive color</p>\n </div>\n </Section>\n </div>\n </div>\n )\n}\n\n// Exported Playground wrapped with ThemeProvider\nexport const Playground = () => (\n <ThemeProvider defaultTheme=\"light\">\n <PlaygroundContent />\n </ThemeProvider>\n)\n\nexport default Playground\n"],"mappings":"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","names":["value","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","jsx","jsxs","jsx","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onesaz/ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Onesaz UI component library - React components with theming and Tailwind CSS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,7 +36,9 @@
|
|
|
36
36
|
},
|
|
37
37
|
"./styles.css": "./dist/styles.css"
|
|
38
38
|
},
|
|
39
|
-
"files": [
|
|
39
|
+
"files": [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
40
42
|
"scripts": {
|
|
41
43
|
"build": "tsup",
|
|
42
44
|
"dev": "tsup --watch",
|
|
@@ -44,6 +46,7 @@
|
|
|
44
46
|
},
|
|
45
47
|
"dependencies": {
|
|
46
48
|
"@onesaz/tokens": "*",
|
|
49
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
47
50
|
"clsx": "^2.1.1",
|
|
48
51
|
"tailwind-merge": "^2.6.0"
|
|
49
52
|
},
|