@onesaz/ui 0.1.0

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.
@@ -0,0 +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"],"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 { Slot } from '@radix-ui/react-slot'\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 asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant = 'default', size = 'default', asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n return (\n <Comp\n className={cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-[var(--radius)] text-sm font-medium transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n {\n 'bg-[var(--accent)] text-[var(--accent-foreground)] hover:bg-[var(--accent-hover)]':\n variant === 'default',\n 'bg-[var(--destructive)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive)]/90':\n variant === 'destructive',\n 'border border-[var(--input)] bg-[var(--background)] hover:bg-[var(--muted)] hover:text-[var(--foreground)]':\n variant === 'outline',\n 'bg-[var(--muted)] text-[var(--foreground)] hover:bg-[var(--muted)]/80':\n variant === 'secondary',\n 'hover:bg-[var(--muted)] hover:text-[var(--foreground)]':\n variant === 'ghost',\n 'text-[var(--accent)] underline-offset-4 hover:underline':\n variant === 'link',\n },\n {\n 'h-10 px-4 py-2': size === 'default',\n 'h-9 rounded-[var(--radius)] px-3': size === 'sm',\n 'h-11 rounded-[var(--radius)] 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-[var(--radius)] border border-[var(--input)] bg-[var(--background)] px-3 py-2 text-sm',\n 'ring-offset-[var(--background)] file:border-0 file:bg-transparent file:text-sm file:font-medium',\n 'placeholder:text-[var(--muted-foreground)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--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-[var(--radius)] border border-[var(--input)] bg-[var(--background)] px-3 py-2 text-sm',\n 'ring-offset-[var(--background)]',\n 'placeholder:text-[var(--muted-foreground)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--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-[var(--radius-lg)] border border-[var(--border)] bg-[var(--card)] text-[var(--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-[var(--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-[var(--ring)] focus:ring-offset-2',\n {\n 'border-transparent bg-[var(--accent)] text-[var(--accent-foreground)]':\n variant === 'default',\n 'border-transparent bg-[var(--muted)] text-[var(--foreground)]':\n variant === 'secondary',\n 'border-transparent bg-[var(--destructive)] text-[var(--destructive-foreground)]':\n variant === 'destructive',\n 'border border-[var(--border)] text-[var(--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 * as LabelPrimitive from '@radix-ui/react-label'\nimport { cn } from '../utils/cn'\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\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))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","import * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { cn } from '../utils/cn'\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 shrink-0 rounded-sm border border-[var(--accent)]',\n 'ring-offset-[var(--background)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'data-[state=checked]:bg-[var(--accent)] data-[state=checked]:text-[var(--accent-foreground)]',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"h-3 w-3\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n","import * as React from 'react'\nimport * as SwitchPrimitives from '@radix-ui/react-switch'\nimport { cn } from '../utils/cn'\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--background)]',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'data-[state=checked]:bg-[var(--accent)] data-[state=unchecked]:bg-[var(--input)]',\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'pointer-events-none block h-5 w-5 rounded-full bg-[var(--background)] shadow-lg ring-0 transition-transform',\n 'data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0'\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch }\n","import * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\nimport { cn } from '../utils/cn'\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'shrink-0 bg-[var(--border)]',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className\n )}\n {...props}\n />\n))\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","import * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { cn } from '../../utils/cn'\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\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-[var(--radius)] border border-[var(--input)] bg-[var(--background)] px-3 py-2 text-sm',\n 'ring-offset-[var(--background)] placeholder:text-[var(--muted-foreground)]',\n 'focus:outline-none focus:ring-2 focus:ring-[var(--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 <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 opacity-50\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\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('flex cursor-default items-center justify-center py-1', 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=\"m18 15-6-6-6 6\" />\n </svg>\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\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('flex cursor-default items-center justify-center py-1', 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=\"m6 9 6 6 6-6\" />\n </svg>\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName\n\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-[var(--radius)] border border-[var(--border)] bg-[var(--popover)] text-[var(--popover-foreground)] shadow-md',\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\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\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-[var(--muted)] focus:text-[var(--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 <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 </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\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-[var(--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","import * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { cn } from '../../utils/cn'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-black/80',\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 className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[var(--border)] bg-[var(--background)] p-6 shadow-lg duration-200',\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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]',\n 'data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]',\n 'sm:rounded-[var(--radius-lg)]',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-[var(--background)] transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-[var(--accent)] data-[state=open]:text-[var(--muted-foreground)]\">\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 </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\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<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-sm text-[var(--muted-foreground)]', className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\n// Compound component pattern\nconst DialogNamespace = Object.assign(Dialog, {\n Portal: DialogPortal,\n Overlay: DialogOverlay,\n Close: DialogClose,\n Trigger: DialogTrigger,\n Content: DialogContent,\n Header: DialogHeader,\n Footer: DialogFooter,\n Title: DialogTitle,\n Description: DialogDescription,\n})\n\nexport {\n DialogNamespace as Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\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-[var(--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-[var(--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-[var(--border)] transition-colors',\n 'hover:bg-[var(--muted)]/50',\n 'data-[state=selected]:bg-[var(--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-[var(--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-[var(--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 * as PopoverPrimitive from '@radix-ui/react-popover'\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<HTMLButtonElement, 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\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 return (\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild>\n <button\n ref={ref}\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n 'flex h-10 w-full items-center justify-between rounded-[var(--radius)] border border-[var(--input)] bg-[var(--background)] px-3 py-2 text-sm',\n 'ring-offset-[var(--background)]',\n 'placeholder:text-[var(--muted-foreground)]',\n 'focus:outline-none focus:ring-2 focus:ring-[var(--ring)] focus:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n >\n <span className={cn(!selectedOption && 'text-[var(--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 </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n className={cn(\n 'z-50 w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-[var(--radius)] border border-[var(--border)] bg-[var(--popover)] text-[var(--popover-foreground)] shadow-md',\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=top]:slide-in-from-bottom-2'\n )}\n sideOffset={4}\n >\n <div className=\"flex items-center border-b border-[var(--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 className=\"flex h-10 w-full bg-transparent py-3 text-sm outline-none placeholder:text-[var(--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-[var(--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-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none',\n 'hover:bg-[var(--muted)] hover:text-[var(--foreground)]',\n 'focus:bg-[var(--muted)] focus:text-[var(--foreground)]',\n 'disabled:pointer-events-none disabled:opacity-50',\n option.value === value && 'bg-[var(--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 </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n }\n)\nCombobox.displayName = 'Combobox'\n\nexport { Combobox }\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"]}
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@onesaz/ui",
3
+ "version": "0.1.0",
4
+ "description": "Onesaz UI component library - React components with theming, accessibility, and Tailwind CSS",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Onesaz <engineering@onesaz.com>",
8
+ "homepage": "https://github.com/onesaz/onesaz-ui#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/onesaz/onesaz-ui.git",
12
+ "directory": "packages/ui"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/onesaz/onesaz-ui/issues"
16
+ },
17
+ "keywords": [
18
+ "react",
19
+ "ui-components",
20
+ "design-system",
21
+ "tailwindcss",
22
+ "radix-ui",
23
+ "theming",
24
+ "dark-mode",
25
+ "onesaz"
26
+ ],
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "main": "./dist/index.js",
31
+ "module": "./dist/index.js",
32
+ "types": "./dist/index.d.ts",
33
+ "exports": {
34
+ ".": {
35
+ "import": "./dist/index.js",
36
+ "types": "./dist/index.d.ts"
37
+ },
38
+ "./styles.css": "./dist/styles.css"
39
+ },
40
+ "files": ["dist"],
41
+ "scripts": {
42
+ "build": "tsup",
43
+ "dev": "tsup --watch",
44
+ "clean": "rm -rf dist"
45
+ },
46
+ "dependencies": {
47
+ "@onesaz/tokens": "*",
48
+ "@radix-ui/react-checkbox": "^1.1.4",
49
+ "@radix-ui/react-dialog": "^1.1.6",
50
+ "@radix-ui/react-label": "^2.1.2",
51
+ "@radix-ui/react-popover": "^1.1.6",
52
+ "@radix-ui/react-select": "^2.1.6",
53
+ "@radix-ui/react-separator": "^1.1.2",
54
+ "@radix-ui/react-slot": "^1.1.2",
55
+ "@radix-ui/react-switch": "^1.1.3",
56
+ "clsx": "^2.1.1",
57
+ "tailwind-merge": "^2.6.0"
58
+ },
59
+ "devDependencies": {
60
+ "@types/react": "^18.3.12",
61
+ "@types/react-dom": "^18.3.1",
62
+ "autoprefixer": "^10.4.20",
63
+ "postcss": "^8.4.49",
64
+ "react": "^18.3.1",
65
+ "react-dom": "^18.3.1",
66
+ "tailwindcss": "^3.4.15",
67
+ "tsup": "^8.3.5",
68
+ "typescript": "^5.5.4"
69
+ },
70
+ "peerDependencies": {
71
+ "react": "^18.0.0",
72
+ "react-dom": "^18.0.0"
73
+ }
74
+ }