@bubble-design-system/ui 1.1.0 → 1.2.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.
- package/README.md +253 -1
- package/dist/index.cjs +343 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +37 -2
- package/dist/index.d.ts +37 -2
- package/dist/index.js +340 -2
- package/dist/index.js.map +1 -1
- package/dist/styles.css +338 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/cn.ts","../src/components/Button.tsx","../src/components/Input.tsx","../src/components/Checkbox.tsx","../src/components/Radio.tsx","../src/components/Switch.tsx","../src/components/Select.tsx","../src/components/Badge.tsx","../src/components/Avatar.tsx","../src/components/Divider.tsx","../src/components/Modal.tsx","../src/components/Toast.tsx","../src/components/Tooltip.tsx","../src/components/Tabs.tsx","../src/components/Alert.tsx","../src/components/DropdownMenu.tsx","../src/components/Skeleton.tsx","../src/components/Card.tsx","../src/components/Textarea.tsx","../src/components/StatusPill.tsx","../src/components/Segmented.tsx","../src/components/Grid.tsx","../src/components/Popover.tsx","../src/components/DataTable.tsx","../src/components/CommandPalette.tsx"],"names":["BaseButton","forwardRef","jsx","BaseInput","BaseCheckbox","BaseRadio","BaseRadioGroup","BaseSwitch","jsxs","BaseSelect","BaseAvatar","BaseDialog","BaseToast","BaseTooltip","BaseTabs","BaseMenu","BasePopover","useMemo","SearchIcon","useState"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\n\n/**\n * Conditionally joins CSS class names.\n *\n * Example:\n * cn(\"pds-btn\", \"pds-btn--primary\", isActive && \"pds-btn--active\", className)\n */\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs);\n}\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Button as BaseButton } from \"@base-ui/react/button\";\nimport { cn } from \"../utils/cn\";\n\ntype ButtonVariant = \"primary\" | \"secondary\" | \"destructive\" | \"ghost\";\ntype ButtonSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseButtonProps = ComponentPropsWithoutRef<typeof BaseButton>;\n\nexport interface ButtonProps extends Omit<BaseButtonProps, \"className\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n className?: string;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ variant = \"primary\", size = \"md\", className, ...props }, ref) => {\n return (\n <BaseButton\n ref={ref}\n className={cn(\n \"pds-btn\",\n `pds-btn--${variant}`,\n `pds-btn--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Input as BaseInput } from \"@base-ui/react/input\";\nimport { cn } from \"../utils/cn\";\n\ntype InputSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseInputProps = ComponentPropsWithoutRef<typeof BaseInput>;\n\nexport interface InputProps extends Omit<BaseInputProps, \"className\" | \"size\"> {\n size?: InputSize;\n invalid?: boolean;\n className?: string;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ size = \"md\", invalid, className, ...props }, ref) => {\n return (\n <BaseInput\n ref={ref}\n aria-invalid={invalid || undefined}\n className={cn(\"pds-input\", `pds-input--${size}`, className)}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { cn } from \"../utils/cn\";\n\ntype CheckboxSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseCheckboxRootProps = ComponentPropsWithoutRef<typeof BaseCheckbox.Root>;\n\nexport interface CheckboxProps extends Omit<\n BaseCheckboxRootProps,\n \"className\" | \"render\"\n> {\n size?: CheckboxSize;\n className?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLButtonElement, CheckboxProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseCheckbox.Root\n ref={ref as never}\n className={cn(\"pds-checkbox\", `pds-checkbox--${size}`, className)}\n {...props}\n >\n <BaseCheckbox.Indicator className=\"pds-checkbox__indicator\">\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className=\"pds-checkbox__icon pds-checkbox__icon--check\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className=\"pds-checkbox__icon pds-checkbox__icon--indeterminate\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3.5 8h9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n },\n);\nCheckbox.displayName = \"Checkbox\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../utils/cn\";\n\ntype RadioSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseRadioRootProps = ComponentPropsWithoutRef<typeof BaseRadio.Root>;\ntype BaseRadioGroupProps = ComponentPropsWithoutRef<typeof BaseRadioGroup>;\n\nexport interface RadioProps extends Omit<\n BaseRadioRootProps,\n \"className\" | \"render\"\n> {\n size?: RadioSize;\n className?: string;\n}\n\nexport const Radio = forwardRef<HTMLButtonElement, RadioProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseRadio.Root\n ref={ref as never}\n className={cn(\"pds-radio\", `pds-radio--${size}`, className)}\n {...props}\n >\n <BaseRadio.Indicator className=\"pds-radio__indicator\" />\n </BaseRadio.Root>\n );\n },\n);\nRadio.displayName = \"Radio\";\n\nexport interface RadioGroupProps extends Omit<\n BaseRadioGroupProps,\n \"className\"\n> {\n className?: string;\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseRadioGroup\n ref={ref}\n className={cn(\"pds-radio-group\", className)}\n {...props}\n />\n );\n },\n);\nRadioGroup.displayName = \"RadioGroup\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Switch as BaseSwitch } from \"@base-ui/react/switch\";\nimport { cn } from \"../utils/cn\";\n\ntype SwitchSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseSwitchRootProps = ComponentPropsWithoutRef<typeof BaseSwitch.Root>;\n\nexport interface SwitchProps extends Omit<\n BaseSwitchRootProps,\n \"className\" | \"render\"\n> {\n size?: SwitchSize;\n className?: string;\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseSwitch.Root\n ref={ref as never}\n className={cn(\"pds-switch\", `pds-switch--${size}`, className)}\n {...props}\n >\n <BaseSwitch.Thumb className=\"pds-switch__thumb\" />\n </BaseSwitch.Root>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n","\"use client\";\n\nimport {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Select as BaseSelect } from \"@base-ui/react/select\";\nimport { cn } from \"../utils/cn\";\n\ntype SelectSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseTriggerProps = ComponentPropsWithoutRef<typeof BaseSelect.Trigger>;\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseSelect.Popup>;\ntype BaseItemProps = ComponentPropsWithoutRef<typeof BaseSelect.Item>;\ntype BaseValueProps = ComponentPropsWithoutRef<typeof BaseSelect.Value>;\n\nexport interface SelectTriggerProps extends Omit<\n BaseTriggerProps,\n \"className\" | \"render\"\n> {\n size?: SelectSize;\n className?: string;\n}\n\nconst SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n ({ size = \"md\", className, children, ...props }, ref) => {\n return (\n <BaseSelect.Trigger\n ref={ref}\n className={cn(\n \"pds-select-trigger\",\n `pds-select-trigger--${size}`,\n className,\n )}\n {...props}\n >\n {children}\n <BaseSelect.Icon className=\"pds-select-icon\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 6l4 4 4-4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n );\n },\n);\nSelectTrigger.displayName = \"Select.Trigger\";\n\nexport interface SelectValueProps extends Omit<BaseValueProps, \"className\"> {\n placeholder?: ReactNode;\n className?: string;\n}\n\nconst SelectValue = forwardRef<HTMLSpanElement, SelectValueProps>(\n ({ placeholder, className, children, ...props }, ref) => {\n return (\n <BaseSelect.Value\n ref={ref}\n className={cn(\"pds-select-value\", className)}\n {...props}\n >\n {children ??\n ((value: unknown) =>\n value === null || value === undefined || value === \"\" ? (\n <span className=\"pds-select-value-placeholder\">\n {placeholder}\n </span>\n ) : (\n String(value)\n ))}\n </BaseSelect.Value>\n );\n },\n);\nSelectValue.displayName = \"Select.Value\";\n\nexport interface SelectContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n}\n\nconst SelectContent = forwardRef<HTMLDivElement, SelectContentProps>(\n ({ className, sideOffset = 6, children, ...props }, ref) => {\n return (\n <BaseSelect.Portal>\n <BaseSelect.Positioner\n sideOffset={sideOffset}\n className=\"pds-select-positioner\"\n >\n <BaseSelect.Popup\n ref={ref as never}\n className={cn(\"pds-select-popup\", className)}\n {...props}\n >\n {children}\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n );\n },\n);\nSelectContent.displayName = \"Select.Content\";\n\nexport interface SelectItemProps extends Omit<\n BaseItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst SelectItem = forwardRef<HTMLDivElement, SelectItemProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <BaseSelect.Item\n ref={ref}\n className={cn(\"pds-select-item\", className)}\n {...props}\n >\n <BaseSelect.ItemIndicator className=\"pds-select-item__indicator\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText>{children}</BaseSelect.ItemText>\n </BaseSelect.Item>\n );\n },\n);\nSelectItem.displayName = \"Select.Item\";\n\nexport const Select = {\n Root: BaseSelect.Root,\n Trigger: SelectTrigger,\n Value: SelectValue,\n Content: SelectContent,\n Item: SelectItem,\n};\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype BadgeVariant = \"neutral\" | \"brand\" | \"success\" | \"warning\" | \"danger\";\ntype BadgeSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n variant?: BadgeVariant;\n size?: BadgeSize;\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ variant = \"neutral\", size = \"md\", className, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\n \"pds-badge\",\n `pds-badge--${variant}`,\n `pds-badge--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nBadge.displayName = \"Badge\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Avatar as BaseAvatar } from \"@base-ui/react/avatar\";\nimport { cn } from \"../utils/cn\";\n\ntype AvatarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\ntype BaseRootProps = ComponentPropsWithoutRef<typeof BaseAvatar.Root>;\ntype BaseImageProps = ComponentPropsWithoutRef<typeof BaseAvatar.Image>;\ntype BaseFallbackProps = ComponentPropsWithoutRef<typeof BaseAvatar.Fallback>;\n\nexport interface AvatarProps extends Omit<\n BaseRootProps,\n \"className\" | \"render\"\n> {\n size?: AvatarSize;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseAvatar.Root\n ref={ref}\n className={cn(\"pds-avatar\", `pds-avatar--${size}`, className)}\n {...props}\n />\n );\n },\n);\nAvatarRoot.displayName = \"Avatar\";\n\nexport interface AvatarImageProps extends Omit<\n BaseImageProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseAvatar.Image\n ref={ref}\n className={cn(\"pds-avatar__image\", className)}\n {...props}\n />\n );\n },\n);\nAvatarImage.displayName = \"Avatar.Image\";\n\nexport interface AvatarFallbackProps extends Omit<\n BaseFallbackProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseAvatar.Fallback\n ref={ref}\n className={cn(\"pds-avatar__fallback\", className)}\n {...props}\n />\n );\n },\n);\nAvatarFallback.displayName = \"Avatar.Fallback\";\n\nexport const Avatar = Object.assign(AvatarRoot, {\n Image: AvatarImage,\n Fallback: AvatarFallback,\n});\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Separator } from \"@base-ui/react/separator\";\nimport { cn } from \"../utils/cn\";\n\ntype BaseSeparatorProps = ComponentPropsWithoutRef<typeof Separator>;\n\nexport interface DividerProps extends Omit<\n BaseSeparatorProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ orientation = \"horizontal\", className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n orientation={orientation}\n className={cn(\n \"pds-divider\",\n orientation === \"horizontal\"\n ? \"pds-divider--horizontal\"\n : \"pds-divider--vertical\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nDivider.displayName = \"Divider\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseDialog.Popup>;\ntype BaseTitleProps = ComponentPropsWithoutRef<typeof BaseDialog.Title>;\ntype BaseDescProps = ComponentPropsWithoutRef<typeof BaseDialog.Description>;\n\nexport interface ModalContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n backdropClassName?: string;\n}\n\nconst ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ className, backdropClassName, children, ...props }, ref) => {\n return (\n <BaseDialog.Portal>\n <BaseDialog.Backdrop\n className={cn(\"pds-modal-backdrop\", backdropClassName)}\n />\n <BaseDialog.Popup\n ref={ref}\n className={cn(\"pds-modal-popup\", className)}\n {...props}\n >\n {children}\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\nexport interface ModalTitleProps extends Omit<\n BaseTitleProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst ModalTitle = forwardRef<HTMLHeadingElement, ModalTitleProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseDialog.Title\n ref={ref}\n className={cn(\"pds-modal-title\", className)}\n {...props}\n />\n );\n },\n);\nModalTitle.displayName = \"Modal.Title\";\n\nexport interface ModalDescriptionProps extends Omit<\n BaseDescProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst ModalDescription = forwardRef<\n HTMLParagraphElement,\n ModalDescriptionProps\n>(({ className, ...props }, ref) => {\n return (\n <BaseDialog.Description\n ref={ref}\n className={cn(\"pds-modal-description\", className)}\n {...props}\n />\n );\n});\nModalDescription.displayName = \"Modal.Description\";\n\nexport const Modal = {\n Root: BaseDialog.Root,\n Trigger: BaseDialog.Trigger,\n Close: BaseDialog.Close,\n Content: ModalContent,\n Title: ModalTitle,\n Description: ModalDescription,\n};\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Toast as BaseToast } from \"@base-ui/react/toast\";\nimport { cn } from \"../utils/cn\";\n\nconst { useToastManager } = BaseToast;\n\ntype ProviderProps = ComponentPropsWithoutRef<typeof BaseToast.Provider>;\ntype ViewportProps = ComponentPropsWithoutRef<typeof BaseToast.Viewport>;\n\nconst ToastProvider = ({ children, ...props }: ProviderProps) => {\n return <BaseToast.Provider {...props}>{children}</BaseToast.Provider>;\n};\nToastProvider.displayName = \"Toast.Provider\";\n\nconst ToastViewport = forwardRef<\n HTMLDivElement,\n Omit<ViewportProps, \"className\"> & { className?: string }\n>(({ className, ...props }, ref) => {\n return (\n <BaseToast.Viewport\n ref={ref}\n className={cn(\"pds-toast-viewport\", className)}\n style={{ [\"--gap\" as string]: \"12px\" }}\n {...props}\n />\n );\n});\nToastViewport.displayName = \"Toast.Viewport\";\n\nconst Toaster = () => {\n const { toasts } = useToastManager();\n return (\n <ToastViewport>\n {toasts.map((toast) => (\n <BaseToast.Root key={toast.id} toast={toast} className=\"pds-toast-item\">\n {toast.title ? <BaseToast.Title className=\"pds-toast-title\" /> : null}\n {toast.description ? (\n <BaseToast.Description className=\"pds-toast-description\" />\n ) : null}\n <BaseToast.Close aria-label=\"Close\" className=\"pds-toast-close\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 4l8 8M12 4l-8 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </BaseToast.Close>\n </BaseToast.Root>\n ))}\n </ToastViewport>\n );\n};\nToaster.displayName = \"Toaster\";\n\nexport const Toast = {\n Provider: ToastProvider,\n Viewport: ToastViewport,\n Toaster,\n};\n\nexport { useToastManager as useToast };\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Tooltip as BaseTooltip } from \"@base-ui/react/tooltip\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseTooltip.Popup>;\n\nexport interface TooltipContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n align?: \"start\" | \"center\" | \"end\";\n}\n\nconst TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n (\n {\n className,\n sideOffset = 6,\n side = \"top\",\n align = \"center\",\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <BaseTooltip.Portal>\n <BaseTooltip.Positioner\n sideOffset={sideOffset}\n side={side}\n align={align}\n className=\"pds-tooltip-positioner\"\n >\n <BaseTooltip.Popup\n ref={ref}\n className={cn(\"pds-tooltip-popup\", className)}\n {...props}\n >\n {children}\n </BaseTooltip.Popup>\n </BaseTooltip.Positioner>\n </BaseTooltip.Portal>\n );\n },\n);\nTooltipContent.displayName = \"Tooltip.Content\";\n\nexport const Tooltip = {\n Provider: BaseTooltip.Provider,\n Root: BaseTooltip.Root,\n Trigger: BaseTooltip.Trigger,\n Content: TooltipContent,\n};\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { cn } from \"../utils/cn\";\n\ntype RootProps = ComponentPropsWithoutRef<typeof BaseTabs.Root>;\ntype ListProps = ComponentPropsWithoutRef<typeof BaseTabs.List>;\ntype TabProps = ComponentPropsWithoutRef<typeof BaseTabs.Tab>;\ntype PanelProps = ComponentPropsWithoutRef<typeof BaseTabs.Panel>;\n\nexport interface TabsRootProps extends Omit<RootProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Root\n ref={ref}\n className={cn(\"pds-tabs\", className)}\n {...props}\n />\n );\n },\n);\nTabsRoot.displayName = \"Tabs\";\n\nexport interface TabsListProps extends Omit<ListProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <BaseTabs.List\n ref={ref}\n className={cn(\"pds-tabs__list\", className)}\n {...props}\n >\n {children}\n <BaseTabs.Indicator className=\"pds-tabs__indicator\" />\n </BaseTabs.List>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends Omit<TabProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Tab\n ref={ref as never}\n className={cn(\"pds-tabs__tab\", className)}\n {...props}\n />\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n\nexport interface TabsPanelProps extends Omit<\n PanelProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Panel\n ref={ref}\n className={cn(\"pds-tabs__panel\", className)}\n {...props}\n />\n );\n },\n);\nTabsPanel.displayName = \"Tabs.Panel\";\n\nexport const Tabs = Object.assign(TabsRoot, {\n List: TabsList,\n Tab: TabsTab,\n Panel: TabsPanel,\n});\n","import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype AlertVariant = \"info\" | \"success\" | \"warning\" | \"danger\";\n\nconst icons: Record<AlertVariant, ReactNode> = {\n info: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 7.5v4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"5\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n ),\n success: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M5 8.5l2 2 4-4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n warning: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M8 1.75L14.5 13.5h-13L8 1.75z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 6.5v3.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"11.75\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n ),\n danger: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M5.5 5.5l5 5M10.5 5.5l-5 5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n};\n\nexport interface AlertProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"title\"\n> {\n variant?: AlertVariant;\n icon?: ReactNode | false;\n title?: ReactNode;\n}\n\nexport const Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ variant = \"info\", icon, title, className, children, ...props }, ref) => {\n const renderedIcon = icon === false ? null : (icon ?? icons[variant]);\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(\"pds-alert\", `pds-alert--${variant}`, className)}\n {...props}\n >\n {renderedIcon ? (\n <span className=\"pds-alert__icon\">{renderedIcon}</span>\n ) : null}\n <div className=\"pds-alert__body\">\n {title ? <div className=\"pds-alert__title\">{title}</div> : null}\n {children ? (\n <div className=\"pds-alert__description\">{children}</div>\n ) : null}\n </div>\n </div>\n );\n },\n);\nAlert.displayName = \"Alert\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { cn } from \"../utils/cn\";\n\ntype PopupProps = ComponentPropsWithoutRef<typeof BaseMenu.Popup>;\ntype ItemProps = ComponentPropsWithoutRef<typeof BaseMenu.Item>;\ntype CheckboxItemProps = ComponentPropsWithoutRef<typeof BaseMenu.CheckboxItem>;\ntype RadioItemProps = ComponentPropsWithoutRef<typeof BaseMenu.RadioItem>;\ntype GroupLabelProps = ComponentPropsWithoutRef<typeof BaseMenu.GroupLabel>;\ntype SeparatorProps = ComponentPropsWithoutRef<typeof BaseMenu.Separator>;\n\nexport interface DropdownMenuContentProps extends Omit<\n PopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n align?: \"start\" | \"center\" | \"end\";\n}\n\nconst DropdownMenuContent = forwardRef<\n HTMLDivElement,\n DropdownMenuContentProps\n>(({ className, sideOffset = 6, align = \"start\", children, ...props }, ref) => {\n return (\n <BaseMenu.Portal>\n <BaseMenu.Positioner\n sideOffset={sideOffset}\n align={align}\n className=\"pds-menu-positioner\"\n >\n <BaseMenu.Popup\n ref={ref as never}\n className={cn(\"pds-menu-popup\", className)}\n {...props}\n >\n {children}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nDropdownMenuContent.displayName = \"DropdownMenu.Content\";\n\nexport interface DropdownMenuItemProps extends Omit<\n ItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuItem = forwardRef<HTMLDivElement, DropdownMenuItemProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseMenu.Item\n ref={ref as never}\n className={cn(\"pds-menu-item\", className)}\n {...props}\n />\n );\n },\n);\nDropdownMenuItem.displayName = \"DropdownMenu.Item\";\n\nexport interface DropdownMenuCheckboxItemProps extends Omit<\n CheckboxItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuCheckboxItem = forwardRef<\n HTMLDivElement,\n DropdownMenuCheckboxItemProps\n>(({ className, children, ...props }, ref) => {\n return (\n <BaseMenu.CheckboxItem\n ref={ref as never}\n className={cn(\"pds-menu-item\", \"pds-menu-item--indented\", className)}\n {...props}\n >\n <BaseMenu.CheckboxItemIndicator className=\"pds-menu-item__indicator\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseMenu.CheckboxItemIndicator>\n {children}\n </BaseMenu.CheckboxItem>\n );\n});\nDropdownMenuCheckboxItem.displayName = \"DropdownMenu.CheckboxItem\";\n\nexport interface DropdownMenuRadioItemProps extends Omit<\n RadioItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuRadioItem = forwardRef<\n HTMLDivElement,\n DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => {\n return (\n <BaseMenu.RadioItem\n ref={ref as never}\n className={cn(\"pds-menu-item\", \"pds-menu-item--indented\", className)}\n {...props}\n >\n <BaseMenu.RadioItemIndicator className=\"pds-menu-item__indicator pds-menu-item__indicator--radio\">\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"8\" />\n </svg>\n </BaseMenu.RadioItemIndicator>\n {children}\n </BaseMenu.RadioItem>\n );\n});\nDropdownMenuRadioItem.displayName = \"DropdownMenu.RadioItem\";\n\nexport interface DropdownMenuLabelProps extends Omit<\n GroupLabelProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuLabel = forwardRef<HTMLDivElement, DropdownMenuLabelProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseMenu.GroupLabel\n ref={ref}\n className={cn(\"pds-menu-label\", className)}\n {...props}\n />\n );\n },\n);\nDropdownMenuLabel.displayName = \"DropdownMenu.Label\";\n\nexport interface DropdownMenuSeparatorProps extends Omit<\n SeparatorProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuSeparator = forwardRef<\n HTMLDivElement,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => {\n return (\n <BaseMenu.Separator\n ref={ref}\n className={cn(\"pds-menu-separator\", className)}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = \"DropdownMenu.Separator\";\n\nexport const DropdownMenu = {\n Root: BaseMenu.Root,\n Trigger: BaseMenu.Trigger,\n Content: DropdownMenuContent,\n Item: DropdownMenuItem,\n CheckboxItem: DropdownMenuCheckboxItem,\n RadioGroup: BaseMenu.RadioGroup,\n RadioItem: DropdownMenuRadioItem,\n Group: BaseMenu.Group,\n Label: DropdownMenuLabel,\n Separator: DropdownMenuSeparator,\n};\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype SkeletonShape = \"line\" | \"circle\" | \"block\";\n\nexport interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {\n shape?: SkeletonShape;\n}\n\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(\n ({ shape = \"line\", className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n aria-hidden=\"true\"\n className={cn(\"pds-skeleton\", `pds-skeleton--${shape}`, className)}\n {...props}\n />\n );\n },\n);\nSkeleton.displayName = \"Skeleton\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype CardVariant = \"elevated\" | \"muted\";\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n variant?: CardVariant;\n}\n\nconst CardRoot = forwardRef<HTMLDivElement, CardProps>(\n ({ variant = \"elevated\", className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-card\", `pds-card--${variant}`, className)}\n {...props}\n />\n );\n },\n);\nCardRoot.displayName = \"Card\";\n\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__header\", className)} {...props} />\n ),\n);\nCardHeader.displayName = \"Card.Header\";\n\nexport interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {}\n\nconst CardTitle = forwardRef<HTMLHeadingElement, CardTitleProps>(\n ({ className, ...props }, ref) => (\n <h3 ref={ref} className={cn(\"pds-card__title\", className)} {...props} />\n ),\n);\nCardTitle.displayName = \"Card.Title\";\n\nexport interface CardDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {}\n\nconst CardDescription = forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"pds-card__description\", className)}\n {...props}\n />\n ),\n);\nCardDescription.displayName = \"Card.Description\";\n\nexport interface CardActionProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardAction = forwardRef<HTMLDivElement, CardActionProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__action\", className)} {...props} />\n ),\n);\nCardAction.displayName = \"Card.Action\";\n\nexport interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__body\", className)} {...props} />\n ),\n);\nCardBody.displayName = \"Card.Body\";\n\nexport interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__footer\", className)} {...props} />\n ),\n);\nCardFooter.displayName = \"Card.Footer\";\n\nexport const Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Title: CardTitle,\n Description: CardDescription,\n Action: CardAction,\n Body: CardBody,\n Footer: CardFooter,\n});\n","\"use client\";\n\nimport { forwardRef, type TextareaHTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype TextareaSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface TextareaProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"size\"\n> {\n size?: TextareaSize;\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ size = \"md\", invalid, className, ...props }, ref) => {\n return (\n <textarea\n ref={ref}\n aria-invalid={invalid || undefined}\n className={cn(\"pds-textarea\", `pds-textarea--${size}`, className)}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n","import { forwardRef, type CSSProperties, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype StatusPillIntent = \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\";\n\nconst intentVars: Record<StatusPillIntent, CSSProperties> = {\n neutral: {\n [\"--pill-chip\" as never]: \"var(--gray-400)\",\n [\"--pill-text\" as never]: \"var(--color-text-tertiary)\",\n },\n success: {\n [\"--pill-chip\" as never]: \"var(--green-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-success)\",\n },\n warning: {\n [\"--pill-chip\" as never]: \"var(--amber-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-warning)\",\n },\n danger: {\n [\"--pill-chip\" as never]: \"var(--red-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-danger)\",\n },\n info: {\n [\"--pill-chip\" as never]: \"var(--brand-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-brand)\",\n },\n};\n\nexport interface StatusPillProps extends HTMLAttributes<HTMLSpanElement> {\n intent?: StatusPillIntent;\n}\n\nconst StatusPillRoot = forwardRef<HTMLSpanElement, StatusPillProps>(\n ({ intent = \"neutral\", className, style, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\"pds-status-pill\", className)}\n style={{ ...intentVars[intent], ...style }}\n {...props}\n />\n );\n },\n);\nStatusPillRoot.displayName = \"StatusPill\";\n\nexport interface StatusPillIndicatorProps extends HTMLAttributes<HTMLSpanElement> {}\n\nconst StatusPillIndicator = forwardRef<\n HTMLSpanElement,\n StatusPillIndicatorProps\n>(({ className, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n aria-hidden=\"true\"\n className={cn(\"pds-status-pill__indicator\", className)}\n {...props}\n >\n {children}\n </span>\n );\n});\nStatusPillIndicator.displayName = \"StatusPill.Indicator\";\n\nexport interface StatusPillLabelProps extends HTMLAttributes<HTMLSpanElement> {}\n\nconst StatusPillLabel = forwardRef<HTMLSpanElement, StatusPillLabelProps>(\n ({ className, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\"pds-status-pill__label\", className)}\n {...props}\n />\n );\n },\n);\nStatusPillLabel.displayName = \"StatusPill.Label\";\n\nexport const StatusPill = Object.assign(StatusPillRoot, {\n Indicator: StatusPillIndicator,\n Label: StatusPillLabel,\n});\n","\"use client\";\n\nimport {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Toggle } from \"@base-ui/react/toggle\";\nimport { ToggleGroup } from \"@base-ui/react/toggle-group\";\nimport { cn } from \"../utils/cn\";\n\ntype SegmentedSize = \"sm\" | \"md\" | \"lg\";\n\nconst SegmentedSizeContext = createContext<SegmentedSize>(\"md\");\n\ntype ToggleGroupProps = ComponentPropsWithoutRef<typeof ToggleGroup>;\n\nexport interface SegmentedProps extends Omit<\n ToggleGroupProps,\n \"className\" | \"value\" | \"defaultValue\" | \"onValueChange\" | \"multiple\"\n> {\n /** Selected item value. */\n value?: string;\n /** Uncontrolled initial selected item. */\n defaultValue?: string;\n /** Fired with the newly selected value. */\n onValueChange?: (value: string) => void;\n /** Controls item heights — sm 24px / md 28px / lg 32px. */\n size?: SegmentedSize;\n className?: string;\n children?: ReactNode;\n}\n\nconst SegmentedRoot = forwardRef<HTMLDivElement, SegmentedProps>(\n (\n { value, defaultValue, onValueChange, size = \"md\", className, ...props },\n ref,\n ) => {\n const handleChange = useMemo(\n () =>\n onValueChange\n ? (groupValue: string[]) => {\n const next = groupValue[0];\n if (next !== undefined) onValueChange(next);\n }\n : undefined,\n [onValueChange],\n );\n\n return (\n <SegmentedSizeContext.Provider value={size}>\n <ToggleGroup\n ref={ref}\n value={value !== undefined ? [value] : undefined}\n defaultValue={defaultValue !== undefined ? [defaultValue] : undefined}\n onValueChange={handleChange}\n className={cn(\"pds-segmented\", `pds-segmented--${size}`, className)}\n {...props}\n />\n </SegmentedSizeContext.Provider>\n );\n },\n);\nSegmentedRoot.displayName = \"Segmented\";\n\ntype ToggleItemProps = ComponentPropsWithoutRef<typeof Toggle>;\n\nexport interface SegmentedItemProps extends Omit<\n ToggleItemProps,\n \"className\" | \"value\"\n> {\n value: string;\n className?: string;\n}\n\nconst SegmentedItem = forwardRef<HTMLButtonElement, SegmentedItemProps>(\n ({ className, value, ...props }, ref) => {\n const size = useContext(SegmentedSizeContext);\n return (\n <Toggle\n ref={ref}\n value={value}\n className={cn(\n \"pds-segmented__item\",\n `pds-segmented__item--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nSegmentedItem.displayName = \"Segmented.Item\";\n\nexport const Segmented = Object.assign(SegmentedRoot, {\n Item: SegmentedItem,\n});\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype ContainerSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"prose\" | \"fluid\";\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n size?: ContainerSize;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n ({ size = \"xl\", className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"pds-container\", `pds-container--${size}`, className)}\n {...props}\n />\n ),\n);\nContainer.displayName = \"Container\";\n\ntype GridGutter = \"default\" | \"tight\" | \"flush\";\n\nexport interface GridRootProps extends HTMLAttributes<HTMLDivElement> {\n gutter?: GridGutter;\n}\n\nconst GridRoot = forwardRef<HTMLDivElement, GridRootProps>(\n ({ gutter = \"default\", className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"pds-grid\", `pds-grid--${gutter}`, className)}\n {...props}\n />\n ),\n);\nGridRoot.displayName = \"Grid\";\n\ntype Span = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | \"full\";\n\nexport interface GridColProps extends HTMLAttributes<HTMLDivElement> {\n span?: Span;\n smSpan?: Span;\n mdSpan?: Span;\n lgSpan?: Span;\n}\n\nconst GridCol = forwardRef<HTMLDivElement, GridColProps>(\n ({ span = 12, smSpan, mdSpan, lgSpan, className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n `pds-grid__col--span-${span}`,\n smSpan !== undefined && `pds-grid__col--sm-span-${smSpan}`,\n mdSpan !== undefined && `pds-grid__col--md-span-${mdSpan}`,\n lgSpan !== undefined && `pds-grid__col--lg-span-${lgSpan}`,\n className,\n )}\n {...props}\n />\n ),\n);\nGridCol.displayName = \"Grid.Col\";\n\nexport const Grid = Object.assign(GridRoot, {\n Col: GridCol,\n});\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BasePopover.Popup>;\ntype BaseTitleProps = ComponentPropsWithoutRef<typeof BasePopover.Title>;\ntype BaseDescriptionProps = ComponentPropsWithoutRef<\n typeof BasePopover.Description\n>;\n\nexport interface PopoverContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n showArrow?: boolean;\n}\n\nconst PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(\n (\n {\n className,\n side = \"bottom\",\n align = \"center\",\n sideOffset = 10,\n showArrow = true,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <BasePopover.Portal>\n <BasePopover.Positioner\n side={side}\n align={align}\n sideOffset={sideOffset}\n className=\"pds-popover-positioner\"\n >\n <BasePopover.Popup\n ref={ref}\n className={cn(\"pds-popover-popup\", className)}\n {...props}\n >\n {showArrow && <BasePopover.Arrow className=\"pds-popover-arrow\" />}\n {children}\n </BasePopover.Popup>\n </BasePopover.Positioner>\n </BasePopover.Portal>\n );\n },\n);\nPopoverContent.displayName = \"Popover.Content\";\n\nexport interface PopoverTitleProps extends Omit<\n BaseTitleProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst PopoverTitle = forwardRef<HTMLHeadingElement, PopoverTitleProps>(\n ({ className, ...props }, ref) => {\n return (\n <BasePopover.Title\n ref={ref}\n className={cn(\"pds-popover-title\", className)}\n {...props}\n />\n );\n },\n);\nPopoverTitle.displayName = \"Popover.Title\";\n\nexport interface PopoverDescriptionProps extends Omit<\n BaseDescriptionProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst PopoverDescription = forwardRef<\n HTMLParagraphElement,\n PopoverDescriptionProps\n>(({ className, ...props }, ref) => {\n return (\n <BasePopover.Description\n ref={ref}\n className={cn(\"pds-popover-description\", className)}\n {...props}\n />\n );\n});\nPopoverDescription.displayName = \"Popover.Description\";\n\nexport interface PopoverHeaderProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverHeader = forwardRef<HTMLDivElement, PopoverHeaderProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__header\", className)}\n {...props}\n />\n );\n },\n);\nPopoverHeader.displayName = \"Popover.Header\";\n\nexport interface PopoverBodyProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverBody = forwardRef<HTMLDivElement, PopoverBodyProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__body\", className)}\n {...props}\n />\n );\n },\n);\nPopoverBody.displayName = \"Popover.Body\";\n\nexport interface PopoverFooterProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverFooter = forwardRef<HTMLDivElement, PopoverFooterProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__footer\", className)}\n {...props}\n />\n );\n },\n);\nPopoverFooter.displayName = \"Popover.Footer\";\n\nexport const Popover = {\n Root: BasePopover.Root,\n Trigger: BasePopover.Trigger,\n Content: PopoverContent,\n Title: PopoverTitle,\n Description: PopoverDescription,\n Close: BasePopover.Close,\n Header: PopoverHeader,\n Body: PopoverBody,\n Footer: PopoverFooter,\n};\n","\"use client\";\n\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport { Checkbox } from \"./Checkbox\";\nimport { cn } from \"../utils/cn\";\n\nexport interface DataTableColumn<T> {\n key: string;\n label: string;\n sortable?: boolean;\n render?: (value: unknown, row: T) => ReactNode;\n width?: string;\n muted?: boolean;\n mono?: boolean;\n}\n\nexport interface DataTableProps<T extends { id: string | number }> {\n columns: DataTableColumn<T>[];\n data: T[];\n selectable?: boolean;\n searchable?: boolean;\n pageSize?: number;\n actions?: ReactNode;\n className?: string;\n}\n\nfunction SearchIcon() {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"6.2\"\n cy=\"6.2\"\n r=\"4.3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n />\n <path\n d=\"M9.5 9.5L13 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChevronLeftIcon() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M7.5 2L4 6l3.5 4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChevronRightIcon() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M4.5 2L8 6l-3.5 4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction SortIcon({ direction }: { direction: \"asc\" | \"desc\" | null }) {\n return (\n <span className=\"pds-datatable__sort-icon\" aria-hidden=\"true\">\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\">\n <path\n d=\"M0 4L3.5 0L7 4H0Z\"\n fill={\n direction === \"asc\" ? \"var(--color-text-brand)\" : \"currentColor\"\n }\n />\n </svg>\n <svg\n width=\"7\"\n height=\"4\"\n viewBox=\"0 0 7 4\"\n fill=\"none\"\n style={{ opacity: direction === \"desc\" ? 1 : 0.3 }}\n >\n <path\n d=\"M0 0L3.5 4L7 0H0Z\"\n fill={\n direction === \"desc\" ? \"var(--color-text-brand)\" : \"currentColor\"\n }\n />\n </svg>\n </span>\n );\n}\n\nfunction renderCell(value: unknown): ReactNode {\n if (value === null || value === undefined) return \"—\";\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n return String(value);\n}\n\nexport function DataTable<T extends { id: string | number }>({\n columns,\n data,\n selectable = true,\n searchable = true,\n pageSize = 10,\n actions,\n className,\n}: DataTableProps<T>) {\n const [query, setQuery] = useState(\"\");\n const [selected, setSelected] = useState<Set<string | number>>(new Set());\n const [sort, setSort] = useState<{ key: string | null; dir: \"asc\" | \"desc\" }>(\n { key: null, dir: \"asc\" },\n );\n const [page, setPage] = useState(1);\n\n const filtered = useMemo(() => {\n let rows = data;\n if (query.trim()) {\n const q = query.toLowerCase();\n rows = rows.filter((row) =>\n columns.some((col) => {\n const v = (row as Record<string, unknown>)[col.key];\n return v != null && String(v).toLowerCase().includes(q);\n }),\n );\n }\n if (sort.key) {\n const key = sort.key;\n rows = [...rows].sort((a, b) => {\n const av = (a as Record<string, unknown>)[key] ?? \"\";\n const bv = (b as Record<string, unknown>)[key] ?? \"\";\n const cmp = String(av).localeCompare(String(bv), undefined, {\n numeric: true,\n });\n return sort.dir === \"asc\" ? cmp : -cmp;\n });\n }\n return rows;\n }, [data, query, sort, columns]);\n\n const totalPages = Math.max(1, Math.ceil(filtered.length / pageSize));\n const pageData = filtered.slice((page - 1) * pageSize, page * pageSize);\n\n const allSelected =\n pageData.length > 0 && pageData.every((r) => selected.has(r.id));\n const someSelected = pageData.some((r) => selected.has(r.id));\n\n const toggleAll = () => {\n const next = new Set(selected);\n if (allSelected) {\n pageData.forEach((r) => next.delete(r.id));\n } else {\n pageData.forEach((r) => next.add(r.id));\n }\n setSelected(next);\n };\n\n const toggleRow = (id: string | number) => {\n const next = new Set(selected);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n setSelected(next);\n };\n\n const toggleSort = (key: string) => {\n setSort((s) =>\n s.key === key\n ? { key, dir: s.dir === \"asc\" ? \"desc\" : \"asc\" }\n : { key, dir: \"asc\" },\n );\n setPage(1);\n };\n\n const onSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(e.target.value);\n setPage(1);\n };\n\n const startItem = filtered.length === 0 ? 0 : (page - 1) * pageSize + 1;\n const endItem = Math.min(page * pageSize, filtered.length);\n\n const pageNums = (() => {\n if (totalPages <= 5) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n if (page <= 3) return [1, 2, 3, 4, 5];\n if (page >= totalPages - 2) {\n return [\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n return [page - 2, page - 1, page, page + 1, page + 2];\n })();\n\n return (\n <div className={cn(\"pds-datatable\", className)}>\n {(searchable || actions) && (\n <div className=\"pds-datatable__toolbar\">\n {searchable && (\n <div className=\"pds-datatable__search\">\n <span className=\"pds-datatable__search-icon\">\n <SearchIcon />\n </span>\n <input\n className=\"pds-datatable__search-input\"\n type=\"search\"\n placeholder=\"Search…\"\n value={query}\n onChange={onSearch}\n aria-label=\"Search table\"\n />\n </div>\n )}\n {selected.size > 0 && (\n <span className=\"pds-datatable__bulk-label\">\n {selected.size} selected\n </span>\n )}\n {actions && (\n <div className=\"pds-datatable__toolbar-right\">{actions}</div>\n )}\n </div>\n )}\n\n <div className=\"pds-datatable__wrap\">\n <table\n className={cn(\n \"pds-datatable__table\",\n selectable && \"pds-datatable__table--selectable\",\n )}\n aria-label=\"Data table\"\n >\n <thead className=\"pds-datatable__thead\">\n <tr className=\"pds-datatable__row\">\n {selectable && (\n <th\n className=\"pds-datatable__th pds-datatable__check-col\"\n aria-label=\"Select all\"\n >\n <Checkbox\n size=\"sm\"\n checked={allSelected}\n indeterminate={someSelected && !allSelected}\n onCheckedChange={toggleAll}\n />\n </th>\n )}\n {columns.map((col) => {\n const sortable = col.sortable !== false;\n const isSorted = sort.key === col.key;\n return (\n <th\n key={col.key}\n className={cn(\n \"pds-datatable__th\",\n sortable && \"pds-datatable__th--sort\",\n isSorted && \"pds-datatable__th--sorted\",\n )}\n onClick={sortable ? () => toggleSort(col.key) : undefined}\n style={col.width ? { width: col.width } : undefined}\n aria-sort={\n isSorted\n ? sort.dir === \"asc\"\n ? \"ascending\"\n : \"descending\"\n : undefined\n }\n >\n {col.label}\n {sortable && (\n <SortIcon direction={isSorted ? sort.dir : null} />\n )}\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody className=\"pds-datatable__tbody\">\n {pageData.length === 0 ? (\n <tr className=\"pds-datatable__row\">\n <td\n className=\"pds-datatable__td pds-datatable__empty\"\n colSpan={columns.length + (selectable ? 1 : 0)}\n >\n No results found\n </td>\n </tr>\n ) : (\n pageData.map((row) => {\n const isSel = selected.has(row.id);\n return (\n <tr\n key={row.id}\n className={cn(\n \"pds-datatable__row\",\n isSel && \"pds-datatable__row--selected\",\n )}\n aria-selected={isSel}\n onClick={selectable ? () => toggleRow(row.id) : undefined}\n >\n {selectable && (\n <td\n className=\"pds-datatable__td pds-datatable__check-col\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n size=\"sm\"\n checked={isSel}\n onCheckedChange={() => toggleRow(row.id)}\n />\n </td>\n )}\n {columns.map((col) => (\n <td\n key={col.key}\n className={cn(\n \"pds-datatable__td\",\n col.muted && \"pds-datatable__td--muted\",\n col.mono && \"pds-datatable__td--mono\",\n )}\n >\n {col.render\n ? col.render(\n (row as Record<string, unknown>)[col.key],\n row,\n )\n : renderCell(\n (row as Record<string, unknown>)[col.key],\n )}\n </td>\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n <div className=\"pds-datatable__footer\">\n <span className=\"pds-datatable__page-info\">\n {filtered.length === 0\n ? \"No results\"\n : `${startItem}–${endItem} of ${filtered.length}`}\n </span>\n <div\n className=\"pds-datatable__pagination\"\n role=\"navigation\"\n aria-label=\"Pagination\"\n >\n <button\n type=\"button\"\n className=\"pds-datatable__page-btn\"\n onClick={() => setPage((p) => Math.max(1, p - 1))}\n disabled={page <= 1}\n aria-label=\"Previous page\"\n >\n <ChevronLeftIcon />\n </button>\n {pageNums.map((p) => (\n <button\n key={p}\n type=\"button\"\n className={cn(\n \"pds-datatable__page-btn\",\n p === page && \"pds-datatable__page-btn--active\",\n )}\n onClick={() => setPage(p)}\n aria-current={p === page ? \"page\" : undefined}\n >\n {p}\n </button>\n ))}\n <button\n type=\"button\"\n className=\"pds-datatable__page-btn\"\n onClick={() => setPage((p) => Math.min(totalPages, p + 1))}\n disabled={page >= totalPages}\n aria-label=\"Next page\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n </div>\n </div>\n );\n}\n","\"use client\";\n\nimport {\n useEffect,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { cn } from \"../utils/cn\";\n\nexport interface CommandPaletteItem {\n id: string;\n label: string;\n description?: string;\n icon?: ReactNode;\n shortcut?: string;\n onSelect?: () => void;\n keywords?: string[];\n}\n\nexport interface CommandPaletteGroup {\n label?: string;\n items: CommandPaletteItem[];\n}\n\nexport interface CommandPaletteProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n groups?: CommandPaletteGroup[];\n placeholder?: string;\n onSelect?: (item: CommandPaletteItem) => void;\n className?: string;\n}\n\nfunction SearchIcon({ size = 16 }: { size?: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M10.5 10.5L14 14\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nfunction XSmallIcon({ size = 10 }: { size?: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 2l6 6M8 2L2 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nexport function useCommandPalette() {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const handler = (e: globalThis.KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"k\") {\n e.preventDefault();\n setOpen((o) => !o);\n }\n };\n window.addEventListener(\"keydown\", handler);\n return () => window.removeEventListener(\"keydown\", handler);\n }, []);\n\n return { open, setOpen };\n}\n\nexport function CommandPalette({\n open,\n onOpenChange,\n groups = [],\n placeholder = \"Search commands…\",\n onSelect,\n className,\n}: CommandPaletteProps) {\n const [query, setQuery] = useState(\"\");\n const [activeIndex, setActiveIndex] = useState(0);\n const [prevOpen, setPrevOpen] = useState(open);\n const [prevQuery, setPrevQuery] = useState(query);\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Reset the search and selection whenever the palette opens, and reset\n // the selection whenever the query changes — done during render (the\n // React-recommended way to adjust state on prop/state changes) rather\n // than in an effect, to avoid an extra render pass.\n if (open !== prevOpen) {\n setPrevOpen(open);\n if (open) {\n setQuery(\"\");\n setActiveIndex(0);\n setPrevQuery(\"\");\n }\n }\n if (query !== prevQuery) {\n setPrevQuery(query);\n setActiveIndex(0);\n }\n\n const filteredGroups = useMemo(() => {\n if (!query.trim()) return groups;\n const q = query.toLowerCase();\n return groups\n .map((group) => ({\n ...group,\n items: group.items.filter(\n (item) =>\n item.label.toLowerCase().includes(q) ||\n (item.description && item.description.toLowerCase().includes(q)) ||\n (item.keywords &&\n item.keywords.some((k) => k.toLowerCase().includes(q))),\n ),\n }))\n .filter((group) => group.items.length > 0);\n }, [groups, query]);\n\n const allItems = useMemo(\n () => filteredGroups.flatMap((group) => group.items),\n [filteredGroups],\n );\n\n const selectItem = (item: CommandPaletteItem) => {\n item.onSelect?.();\n onSelect?.(item);\n onOpenChange(false);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIndex((i) => Math.min(allItems.length - 1, i + 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((i) => Math.max(0, i - 1));\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n const item = allItems[activeIndex];\n if (item) selectItem(item);\n }\n };\n\n let flatIndex = 0;\n\n return (\n <BaseDialog.Root open={open} onOpenChange={onOpenChange}>\n <BaseDialog.Portal>\n <BaseDialog.Backdrop className=\"pds-command-palette-backdrop\" />\n <BaseDialog.Popup\n className={cn(\"pds-command-palette\", className)}\n aria-label=\"Command palette\"\n initialFocus={inputRef}\n >\n <div className=\"pds-command-palette__search\">\n <span className=\"pds-command-palette__search-icon\">\n <SearchIcon size={16} />\n </span>\n <input\n ref={inputRef}\n className=\"pds-command-palette__input\"\n type=\"text\"\n placeholder={placeholder}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"true\"\n />\n {query && (\n <button\n type=\"button\"\n className=\"pds-command-palette__clear\"\n onClick={() => setQuery(\"\")}\n aria-label=\"Clear\"\n >\n <XSmallIcon />\n </button>\n )}\n </div>\n\n <div className=\"pds-command-palette__list\" role=\"listbox\">\n {allItems.length === 0 ? (\n <div className=\"pds-command-palette__empty\">\n <SearchIcon size={20} />\n No results for "{query}"\n </div>\n ) : (\n filteredGroups.map((group, gi) => (\n <div\n key={group.label ?? gi}\n className=\"pds-command-palette__group\"\n role=\"group\"\n aria-label={group.label}\n >\n {group.label && (\n <div className=\"pds-command-palette__group-label\">\n {group.label}\n </div>\n )}\n {group.items.map((item) => {\n const thisIndex = flatIndex++;\n const isActive = thisIndex === activeIndex;\n return (\n <button\n key={item.id}\n type=\"button\"\n role=\"option\"\n aria-selected={isActive}\n className={cn(\n \"pds-command-palette__item\",\n isActive && \"pds-command-palette__item--active\",\n )}\n onMouseEnter={() => setActiveIndex(thisIndex)}\n onClick={() => selectItem(item)}\n >\n {item.icon && (\n <span\n className=\"pds-command-palette__item-icon\"\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n )}\n <span className=\"pds-command-palette__item-body\">\n <span className=\"pds-command-palette__item-label\">\n {item.label}\n </span>\n {item.description && (\n <span className=\"pds-command-palette__item-desc\">\n {item.description}\n </span>\n )}\n </span>\n {item.shortcut && (\n <span\n className=\"pds-command-palette__shortcut\"\n aria-label={`Shortcut: ${item.shortcut}`}\n >\n {item.shortcut.split(\"+\").map((key, ki) => (\n <kbd\n key={ki}\n className=\"pds-command-palette__kbd\"\n >\n {key}\n </kbd>\n ))}\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))\n )}\n </div>\n\n <div className=\"pds-command-palette__footer\" aria-hidden=\"true\">\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">↑</kbd>\n <kbd className=\"pds-command-palette__kbd\">↓</kbd> navigate\n </span>\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">↵</kbd> select\n </span>\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">Esc</kbd> close\n </span>\n </div>\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/utils/cn.ts","../src/components/Button.tsx","../src/components/Input.tsx","../src/components/Checkbox.tsx","../src/components/Radio.tsx","../src/components/Switch.tsx","../src/components/Select.tsx","../src/components/Badge.tsx","../src/components/Avatar.tsx","../src/components/Divider.tsx","../src/components/Modal.tsx","../src/components/Toast.tsx","../src/components/Tooltip.tsx","../src/components/Tabs.tsx","../src/components/Alert.tsx","../src/components/DropdownMenu.tsx","../src/components/Skeleton.tsx","../src/components/Card.tsx","../src/components/Textarea.tsx","../src/components/StatusPill.tsx","../src/components/Segmented.tsx","../src/components/Grid.tsx","../src/components/Popover.tsx","../src/components/DataTable.tsx","../src/components/CommandPalette.tsx","../src/components/Chat.tsx"],"names":["BaseButton","forwardRef","jsx","BaseInput","BaseCheckbox","BaseRadio","BaseRadioGroup","BaseSwitch","jsxs","BaseSelect","BaseAvatar","BaseDialog","BaseToast","BaseTooltip","BaseTabs","BaseMenu","BasePopover","useMemo","SearchIcon","useState","useRef","useEffect"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\n\n/**\n * Conditionally joins CSS class names.\n *\n * Example:\n * cn(\"pds-btn\", \"pds-btn--primary\", isActive && \"pds-btn--active\", className)\n */\nexport function cn(...inputs: ClassValue[]): string {\n return clsx(inputs);\n}\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Button as BaseButton } from \"@base-ui/react/button\";\nimport { cn } from \"../utils/cn\";\n\ntype ButtonVariant = \"primary\" | \"secondary\" | \"destructive\" | \"ghost\";\ntype ButtonSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseButtonProps = ComponentPropsWithoutRef<typeof BaseButton>;\n\nexport interface ButtonProps extends Omit<BaseButtonProps, \"className\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n className?: string;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ variant = \"primary\", size = \"md\", className, ...props }, ref) => {\n return (\n <BaseButton\n ref={ref}\n className={cn(\n \"pds-btn\",\n `pds-btn--${variant}`,\n `pds-btn--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Input as BaseInput } from \"@base-ui/react/input\";\nimport { cn } from \"../utils/cn\";\n\ntype InputSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseInputProps = ComponentPropsWithoutRef<typeof BaseInput>;\n\nexport interface InputProps extends Omit<BaseInputProps, \"className\" | \"size\"> {\n size?: InputSize;\n invalid?: boolean;\n className?: string;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ size = \"md\", invalid, className, ...props }, ref) => {\n return (\n <BaseInput\n ref={ref}\n aria-invalid={invalid || undefined}\n className={cn(\"pds-input\", `pds-input--${size}`, className)}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { cn } from \"../utils/cn\";\n\ntype CheckboxSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseCheckboxRootProps = ComponentPropsWithoutRef<typeof BaseCheckbox.Root>;\n\nexport interface CheckboxProps extends Omit<\n BaseCheckboxRootProps,\n \"className\" | \"render\"\n> {\n size?: CheckboxSize;\n className?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLButtonElement, CheckboxProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseCheckbox.Root\n ref={ref as never}\n className={cn(\"pds-checkbox\", `pds-checkbox--${size}`, className)}\n {...props}\n >\n <BaseCheckbox.Indicator className=\"pds-checkbox__indicator\">\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className=\"pds-checkbox__icon pds-checkbox__icon--check\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className=\"pds-checkbox__icon pds-checkbox__icon--indeterminate\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3.5 8h9\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </BaseCheckbox.Indicator>\n </BaseCheckbox.Root>\n );\n },\n);\nCheckbox.displayName = \"Checkbox\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cn } from \"../utils/cn\";\n\ntype RadioSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseRadioRootProps = ComponentPropsWithoutRef<typeof BaseRadio.Root>;\ntype BaseRadioGroupProps = ComponentPropsWithoutRef<typeof BaseRadioGroup>;\n\nexport interface RadioProps extends Omit<\n BaseRadioRootProps,\n \"className\" | \"render\"\n> {\n size?: RadioSize;\n className?: string;\n}\n\nexport const Radio = forwardRef<HTMLButtonElement, RadioProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseRadio.Root\n ref={ref as never}\n className={cn(\"pds-radio\", `pds-radio--${size}`, className)}\n {...props}\n >\n <BaseRadio.Indicator className=\"pds-radio__indicator\" />\n </BaseRadio.Root>\n );\n },\n);\nRadio.displayName = \"Radio\";\n\nexport interface RadioGroupProps extends Omit<\n BaseRadioGroupProps,\n \"className\"\n> {\n className?: string;\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseRadioGroup\n ref={ref}\n className={cn(\"pds-radio-group\", className)}\n {...props}\n />\n );\n },\n);\nRadioGroup.displayName = \"RadioGroup\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Switch as BaseSwitch } from \"@base-ui/react/switch\";\nimport { cn } from \"../utils/cn\";\n\ntype SwitchSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseSwitchRootProps = ComponentPropsWithoutRef<typeof BaseSwitch.Root>;\n\nexport interface SwitchProps extends Omit<\n BaseSwitchRootProps,\n \"className\" | \"render\"\n> {\n size?: SwitchSize;\n className?: string;\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseSwitch.Root\n ref={ref as never}\n className={cn(\"pds-switch\", `pds-switch--${size}`, className)}\n {...props}\n >\n <BaseSwitch.Thumb className=\"pds-switch__thumb\" />\n </BaseSwitch.Root>\n );\n },\n);\nSwitch.displayName = \"Switch\";\n","\"use client\";\n\nimport {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Select as BaseSelect } from \"@base-ui/react/select\";\nimport { cn } from \"../utils/cn\";\n\ntype SelectSize = \"sm\" | \"md\" | \"lg\";\n\ntype BaseTriggerProps = ComponentPropsWithoutRef<typeof BaseSelect.Trigger>;\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseSelect.Popup>;\ntype BaseItemProps = ComponentPropsWithoutRef<typeof BaseSelect.Item>;\ntype BaseValueProps = ComponentPropsWithoutRef<typeof BaseSelect.Value>;\n\nexport interface SelectTriggerProps extends Omit<\n BaseTriggerProps,\n \"className\" | \"render\"\n> {\n size?: SelectSize;\n className?: string;\n}\n\nconst SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n ({ size = \"md\", className, children, ...props }, ref) => {\n return (\n <BaseSelect.Trigger\n ref={ref}\n className={cn(\n \"pds-select-trigger\",\n `pds-select-trigger--${size}`,\n className,\n )}\n {...props}\n >\n {children}\n <BaseSelect.Icon className=\"pds-select-icon\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 6l4 4 4-4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseSelect.Icon>\n </BaseSelect.Trigger>\n );\n },\n);\nSelectTrigger.displayName = \"Select.Trigger\";\n\nexport interface SelectValueProps extends Omit<BaseValueProps, \"className\"> {\n placeholder?: ReactNode;\n className?: string;\n}\n\nconst SelectValue = forwardRef<HTMLSpanElement, SelectValueProps>(\n ({ placeholder, className, children, ...props }, ref) => {\n return (\n <BaseSelect.Value\n ref={ref}\n className={cn(\"pds-select-value\", className)}\n {...props}\n >\n {children ??\n ((value: unknown) =>\n value === null || value === undefined || value === \"\" ? (\n <span className=\"pds-select-value-placeholder\">\n {placeholder}\n </span>\n ) : (\n String(value)\n ))}\n </BaseSelect.Value>\n );\n },\n);\nSelectValue.displayName = \"Select.Value\";\n\nexport interface SelectContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n}\n\nconst SelectContent = forwardRef<HTMLDivElement, SelectContentProps>(\n ({ className, sideOffset = 6, children, ...props }, ref) => {\n return (\n <BaseSelect.Portal>\n <BaseSelect.Positioner\n sideOffset={sideOffset}\n className=\"pds-select-positioner\"\n >\n <BaseSelect.Popup\n ref={ref as never}\n className={cn(\"pds-select-popup\", className)}\n {...props}\n >\n {children}\n </BaseSelect.Popup>\n </BaseSelect.Positioner>\n </BaseSelect.Portal>\n );\n },\n);\nSelectContent.displayName = \"Select.Content\";\n\nexport interface SelectItemProps extends Omit<\n BaseItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst SelectItem = forwardRef<HTMLDivElement, SelectItemProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <BaseSelect.Item\n ref={ref}\n className={cn(\"pds-select-item\", className)}\n {...props}\n >\n <BaseSelect.ItemIndicator className=\"pds-select-item__indicator\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseSelect.ItemIndicator>\n <BaseSelect.ItemText>{children}</BaseSelect.ItemText>\n </BaseSelect.Item>\n );\n },\n);\nSelectItem.displayName = \"Select.Item\";\n\nexport const Select = {\n Root: BaseSelect.Root,\n Trigger: SelectTrigger,\n Value: SelectValue,\n Content: SelectContent,\n Item: SelectItem,\n};\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype BadgeVariant = \"neutral\" | \"brand\" | \"success\" | \"warning\" | \"danger\";\ntype BadgeSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n variant?: BadgeVariant;\n size?: BadgeSize;\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ variant = \"neutral\", size = \"md\", className, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\n \"pds-badge\",\n `pds-badge--${variant}`,\n `pds-badge--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nBadge.displayName = \"Badge\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Avatar as BaseAvatar } from \"@base-ui/react/avatar\";\nimport { cn } from \"../utils/cn\";\n\ntype AvatarSize = \"sm\" | \"md\" | \"lg\" | \"xl\";\n\ntype BaseRootProps = ComponentPropsWithoutRef<typeof BaseAvatar.Root>;\ntype BaseImageProps = ComponentPropsWithoutRef<typeof BaseAvatar.Image>;\ntype BaseFallbackProps = ComponentPropsWithoutRef<typeof BaseAvatar.Fallback>;\n\nexport interface AvatarProps extends Omit<\n BaseRootProps,\n \"className\" | \"render\"\n> {\n size?: AvatarSize;\n className?: string;\n}\n\nconst AvatarRoot = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ size = \"md\", className, ...props }, ref) => {\n return (\n <BaseAvatar.Root\n ref={ref}\n className={cn(\"pds-avatar\", `pds-avatar--${size}`, className)}\n {...props}\n />\n );\n },\n);\nAvatarRoot.displayName = \"Avatar\";\n\nexport interface AvatarImageProps extends Omit<\n BaseImageProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst AvatarImage = forwardRef<HTMLImageElement, AvatarImageProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseAvatar.Image\n ref={ref}\n className={cn(\"pds-avatar__image\", className)}\n {...props}\n />\n );\n },\n);\nAvatarImage.displayName = \"Avatar.Image\";\n\nexport interface AvatarFallbackProps extends Omit<\n BaseFallbackProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst AvatarFallback = forwardRef<HTMLSpanElement, AvatarFallbackProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseAvatar.Fallback\n ref={ref}\n className={cn(\"pds-avatar__fallback\", className)}\n {...props}\n />\n );\n },\n);\nAvatarFallback.displayName = \"Avatar.Fallback\";\n\nexport const Avatar = Object.assign(AvatarRoot, {\n Image: AvatarImage,\n Fallback: AvatarFallback,\n});\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Separator } from \"@base-ui/react/separator\";\nimport { cn } from \"../utils/cn\";\n\ntype BaseSeparatorProps = ComponentPropsWithoutRef<typeof Separator>;\n\nexport interface DividerProps extends Omit<\n BaseSeparatorProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ orientation = \"horizontal\", className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n orientation={orientation}\n className={cn(\n \"pds-divider\",\n orientation === \"horizontal\"\n ? \"pds-divider--horizontal\"\n : \"pds-divider--vertical\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nDivider.displayName = \"Divider\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseDialog.Popup>;\ntype BaseTitleProps = ComponentPropsWithoutRef<typeof BaseDialog.Title>;\ntype BaseDescProps = ComponentPropsWithoutRef<typeof BaseDialog.Description>;\n\nexport interface ModalContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n backdropClassName?: string;\n}\n\nconst ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ className, backdropClassName, children, ...props }, ref) => {\n return (\n <BaseDialog.Portal>\n <BaseDialog.Backdrop\n className={cn(\"pds-modal-backdrop\", backdropClassName)}\n />\n <BaseDialog.Popup\n ref={ref}\n className={cn(\"pds-modal-popup\", className)}\n {...props}\n >\n {children}\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\nexport interface ModalTitleProps extends Omit<\n BaseTitleProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst ModalTitle = forwardRef<HTMLHeadingElement, ModalTitleProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseDialog.Title\n ref={ref}\n className={cn(\"pds-modal-title\", className)}\n {...props}\n />\n );\n },\n);\nModalTitle.displayName = \"Modal.Title\";\n\nexport interface ModalDescriptionProps extends Omit<\n BaseDescProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst ModalDescription = forwardRef<\n HTMLParagraphElement,\n ModalDescriptionProps\n>(({ className, ...props }, ref) => {\n return (\n <BaseDialog.Description\n ref={ref}\n className={cn(\"pds-modal-description\", className)}\n {...props}\n />\n );\n});\nModalDescription.displayName = \"Modal.Description\";\n\nexport const Modal = {\n Root: BaseDialog.Root,\n Trigger: BaseDialog.Trigger,\n Close: BaseDialog.Close,\n Content: ModalContent,\n Title: ModalTitle,\n Description: ModalDescription,\n};\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Toast as BaseToast } from \"@base-ui/react/toast\";\nimport { cn } from \"../utils/cn\";\n\nconst { useToastManager } = BaseToast;\n\ntype ProviderProps = ComponentPropsWithoutRef<typeof BaseToast.Provider>;\ntype ViewportProps = ComponentPropsWithoutRef<typeof BaseToast.Viewport>;\n\nconst ToastProvider = ({ children, ...props }: ProviderProps) => {\n return <BaseToast.Provider {...props}>{children}</BaseToast.Provider>;\n};\nToastProvider.displayName = \"Toast.Provider\";\n\nconst ToastViewport = forwardRef<\n HTMLDivElement,\n Omit<ViewportProps, \"className\"> & { className?: string }\n>(({ className, ...props }, ref) => {\n return (\n <BaseToast.Viewport\n ref={ref}\n className={cn(\"pds-toast-viewport\", className)}\n style={{ [\"--gap\" as string]: \"12px\" }}\n {...props}\n />\n );\n});\nToastViewport.displayName = \"Toast.Viewport\";\n\nconst Toaster = () => {\n const { toasts } = useToastManager();\n return (\n <ToastViewport>\n {toasts.map((toast) => (\n <BaseToast.Root key={toast.id} toast={toast} className=\"pds-toast-item\">\n {toast.title ? <BaseToast.Title className=\"pds-toast-title\" /> : null}\n {toast.description ? (\n <BaseToast.Description className=\"pds-toast-description\" />\n ) : null}\n <BaseToast.Close aria-label=\"Close\" className=\"pds-toast-close\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M4 4l8 8M12 4l-8 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </BaseToast.Close>\n </BaseToast.Root>\n ))}\n </ToastViewport>\n );\n};\nToaster.displayName = \"Toaster\";\n\nexport const Toast = {\n Provider: ToastProvider,\n Viewport: ToastViewport,\n Toaster,\n};\n\nexport { useToastManager as useToast };\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Tooltip as BaseTooltip } from \"@base-ui/react/tooltip\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BaseTooltip.Popup>;\n\nexport interface TooltipContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n align?: \"start\" | \"center\" | \"end\";\n}\n\nconst TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n (\n {\n className,\n sideOffset = 6,\n side = \"top\",\n align = \"center\",\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <BaseTooltip.Portal>\n <BaseTooltip.Positioner\n sideOffset={sideOffset}\n side={side}\n align={align}\n className=\"pds-tooltip-positioner\"\n >\n <BaseTooltip.Popup\n ref={ref}\n className={cn(\"pds-tooltip-popup\", className)}\n {...props}\n >\n {children}\n </BaseTooltip.Popup>\n </BaseTooltip.Positioner>\n </BaseTooltip.Portal>\n );\n },\n);\nTooltipContent.displayName = \"Tooltip.Content\";\n\nexport const Tooltip = {\n Provider: BaseTooltip.Provider,\n Root: BaseTooltip.Root,\n Trigger: BaseTooltip.Trigger,\n Content: TooltipContent,\n};\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { cn } from \"../utils/cn\";\n\ntype RootProps = ComponentPropsWithoutRef<typeof BaseTabs.Root>;\ntype ListProps = ComponentPropsWithoutRef<typeof BaseTabs.List>;\ntype TabProps = ComponentPropsWithoutRef<typeof BaseTabs.Tab>;\ntype PanelProps = ComponentPropsWithoutRef<typeof BaseTabs.Panel>;\n\nexport interface TabsRootProps extends Omit<RootProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Root\n ref={ref}\n className={cn(\"pds-tabs\", className)}\n {...props}\n />\n );\n },\n);\nTabsRoot.displayName = \"Tabs\";\n\nexport interface TabsListProps extends Omit<ListProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <BaseTabs.List\n ref={ref}\n className={cn(\"pds-tabs__list\", className)}\n {...props}\n >\n {children}\n <BaseTabs.Indicator className=\"pds-tabs__indicator\" />\n </BaseTabs.List>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends Omit<TabProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Tab\n ref={ref as never}\n className={cn(\"pds-tabs__tab\", className)}\n {...props}\n />\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n\nexport interface TabsPanelProps extends Omit<\n PanelProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseTabs.Panel\n ref={ref}\n className={cn(\"pds-tabs__panel\", className)}\n {...props}\n />\n );\n },\n);\nTabsPanel.displayName = \"Tabs.Panel\";\n\nexport const Tabs = Object.assign(TabsRoot, {\n List: TabsList,\n Tab: TabsTab,\n Panel: TabsPanel,\n});\n","import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype AlertVariant = \"info\" | \"success\" | \"warning\" | \"danger\";\n\nconst icons: Record<AlertVariant, ReactNode> = {\n info: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 7.5v4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"5\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n ),\n success: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M5 8.5l2 2 4-4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n warning: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M8 1.75L14.5 13.5h-13L8 1.75z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8 6.5v3.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"8\" cy=\"11.75\" r=\"0.75\" fill=\"currentColor\" />\n </svg>\n ),\n danger: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M5.5 5.5l5 5M10.5 5.5l-5 5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n};\n\nexport interface AlertProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"title\"\n> {\n variant?: AlertVariant;\n icon?: ReactNode | false;\n title?: ReactNode;\n}\n\nexport const Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ variant = \"info\", icon, title, className, children, ...props }, ref) => {\n const renderedIcon = icon === false ? null : (icon ?? icons[variant]);\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(\"pds-alert\", `pds-alert--${variant}`, className)}\n {...props}\n >\n {renderedIcon ? (\n <span className=\"pds-alert__icon\">{renderedIcon}</span>\n ) : null}\n <div className=\"pds-alert__body\">\n {title ? <div className=\"pds-alert__title\">{title}</div> : null}\n {children ? (\n <div className=\"pds-alert__description\">{children}</div>\n ) : null}\n </div>\n </div>\n );\n },\n);\nAlert.displayName = \"Alert\";\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { cn } from \"../utils/cn\";\n\ntype PopupProps = ComponentPropsWithoutRef<typeof BaseMenu.Popup>;\ntype ItemProps = ComponentPropsWithoutRef<typeof BaseMenu.Item>;\ntype CheckboxItemProps = ComponentPropsWithoutRef<typeof BaseMenu.CheckboxItem>;\ntype RadioItemProps = ComponentPropsWithoutRef<typeof BaseMenu.RadioItem>;\ntype GroupLabelProps = ComponentPropsWithoutRef<typeof BaseMenu.GroupLabel>;\ntype SeparatorProps = ComponentPropsWithoutRef<typeof BaseMenu.Separator>;\n\nexport interface DropdownMenuContentProps extends Omit<\n PopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n sideOffset?: number;\n align?: \"start\" | \"center\" | \"end\";\n}\n\nconst DropdownMenuContent = forwardRef<\n HTMLDivElement,\n DropdownMenuContentProps\n>(({ className, sideOffset = 6, align = \"start\", children, ...props }, ref) => {\n return (\n <BaseMenu.Portal>\n <BaseMenu.Positioner\n sideOffset={sideOffset}\n align={align}\n className=\"pds-menu-positioner\"\n >\n <BaseMenu.Popup\n ref={ref as never}\n className={cn(\"pds-menu-popup\", className)}\n {...props}\n >\n {children}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nDropdownMenuContent.displayName = \"DropdownMenu.Content\";\n\nexport interface DropdownMenuItemProps extends Omit<\n ItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuItem = forwardRef<HTMLDivElement, DropdownMenuItemProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseMenu.Item\n ref={ref as never}\n className={cn(\"pds-menu-item\", className)}\n {...props}\n />\n );\n },\n);\nDropdownMenuItem.displayName = \"DropdownMenu.Item\";\n\nexport interface DropdownMenuCheckboxItemProps extends Omit<\n CheckboxItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuCheckboxItem = forwardRef<\n HTMLDivElement,\n DropdownMenuCheckboxItemProps\n>(({ className, children, ...props }, ref) => {\n return (\n <BaseMenu.CheckboxItem\n ref={ref as never}\n className={cn(\"pds-menu-item\", \"pds-menu-item--indented\", className)}\n {...props}\n >\n <BaseMenu.CheckboxItemIndicator className=\"pds-menu-item__indicator\">\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M3.5 8.5l3 3 6-6.5\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </BaseMenu.CheckboxItemIndicator>\n {children}\n </BaseMenu.CheckboxItem>\n );\n});\nDropdownMenuCheckboxItem.displayName = \"DropdownMenu.CheckboxItem\";\n\nexport interface DropdownMenuRadioItemProps extends Omit<\n RadioItemProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuRadioItem = forwardRef<\n HTMLDivElement,\n DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => {\n return (\n <BaseMenu.RadioItem\n ref={ref as never}\n className={cn(\"pds-menu-item\", \"pds-menu-item--indented\", className)}\n {...props}\n >\n <BaseMenu.RadioItemIndicator className=\"pds-menu-item__indicator pds-menu-item__indicator--radio\">\n <svg viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <circle cx=\"8\" cy=\"8\" r=\"8\" />\n </svg>\n </BaseMenu.RadioItemIndicator>\n {children}\n </BaseMenu.RadioItem>\n );\n});\nDropdownMenuRadioItem.displayName = \"DropdownMenu.RadioItem\";\n\nexport interface DropdownMenuLabelProps extends Omit<\n GroupLabelProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuLabel = forwardRef<HTMLDivElement, DropdownMenuLabelProps>(\n ({ className, ...props }, ref) => {\n return (\n <BaseMenu.GroupLabel\n ref={ref}\n className={cn(\"pds-menu-label\", className)}\n {...props}\n />\n );\n },\n);\nDropdownMenuLabel.displayName = \"DropdownMenu.Label\";\n\nexport interface DropdownMenuSeparatorProps extends Omit<\n SeparatorProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst DropdownMenuSeparator = forwardRef<\n HTMLDivElement,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => {\n return (\n <BaseMenu.Separator\n ref={ref}\n className={cn(\"pds-menu-separator\", className)}\n {...props}\n />\n );\n});\nDropdownMenuSeparator.displayName = \"DropdownMenu.Separator\";\n\nexport const DropdownMenu = {\n Root: BaseMenu.Root,\n Trigger: BaseMenu.Trigger,\n Content: DropdownMenuContent,\n Item: DropdownMenuItem,\n CheckboxItem: DropdownMenuCheckboxItem,\n RadioGroup: BaseMenu.RadioGroup,\n RadioItem: DropdownMenuRadioItem,\n Group: BaseMenu.Group,\n Label: DropdownMenuLabel,\n Separator: DropdownMenuSeparator,\n};\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype SkeletonShape = \"line\" | \"circle\" | \"block\";\n\nexport interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {\n shape?: SkeletonShape;\n}\n\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(\n ({ shape = \"line\", className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n aria-hidden=\"true\"\n className={cn(\"pds-skeleton\", `pds-skeleton--${shape}`, className)}\n {...props}\n />\n );\n },\n);\nSkeleton.displayName = \"Skeleton\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype CardVariant = \"elevated\" | \"muted\";\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n variant?: CardVariant;\n}\n\nconst CardRoot = forwardRef<HTMLDivElement, CardProps>(\n ({ variant = \"elevated\", className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-card\", `pds-card--${variant}`, className)}\n {...props}\n />\n );\n },\n);\nCardRoot.displayName = \"Card\";\n\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__header\", className)} {...props} />\n ),\n);\nCardHeader.displayName = \"Card.Header\";\n\nexport interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {}\n\nconst CardTitle = forwardRef<HTMLHeadingElement, CardTitleProps>(\n ({ className, ...props }, ref) => (\n <h3 ref={ref} className={cn(\"pds-card__title\", className)} {...props} />\n ),\n);\nCardTitle.displayName = \"Card.Title\";\n\nexport interface CardDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {}\n\nconst CardDescription = forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"pds-card__description\", className)}\n {...props}\n />\n ),\n);\nCardDescription.displayName = \"Card.Description\";\n\nexport interface CardActionProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardAction = forwardRef<HTMLDivElement, CardActionProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__action\", className)} {...props} />\n ),\n);\nCardAction.displayName = \"Card.Action\";\n\nexport interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardBody = forwardRef<HTMLDivElement, CardBodyProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__body\", className)} {...props} />\n ),\n);\nCardBody.displayName = \"Card.Body\";\n\nexport interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {}\n\nconst CardFooter = forwardRef<HTMLDivElement, CardFooterProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"pds-card__footer\", className)} {...props} />\n ),\n);\nCardFooter.displayName = \"Card.Footer\";\n\nexport const Card = Object.assign(CardRoot, {\n Header: CardHeader,\n Title: CardTitle,\n Description: CardDescription,\n Action: CardAction,\n Body: CardBody,\n Footer: CardFooter,\n});\n","\"use client\";\n\nimport { forwardRef, type TextareaHTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype TextareaSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface TextareaProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"size\"\n> {\n size?: TextareaSize;\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ size = \"md\", invalid, className, ...props }, ref) => {\n return (\n <textarea\n ref={ref}\n aria-invalid={invalid || undefined}\n className={cn(\"pds-textarea\", `pds-textarea--${size}`, className)}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n","import { forwardRef, type CSSProperties, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype StatusPillIntent = \"neutral\" | \"success\" | \"warning\" | \"danger\" | \"info\";\n\nconst intentVars: Record<StatusPillIntent, CSSProperties> = {\n neutral: {\n [\"--pill-chip\" as never]: \"var(--gray-400)\",\n [\"--pill-text\" as never]: \"var(--color-text-tertiary)\",\n },\n success: {\n [\"--pill-chip\" as never]: \"var(--green-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-success)\",\n },\n warning: {\n [\"--pill-chip\" as never]: \"var(--amber-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-warning)\",\n },\n danger: {\n [\"--pill-chip\" as never]: \"var(--red-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-danger)\",\n },\n info: {\n [\"--pill-chip\" as never]: \"var(--brand-500)\",\n [\"--pill-text\" as never]: \"var(--color-text-brand)\",\n },\n};\n\nexport interface StatusPillProps extends HTMLAttributes<HTMLSpanElement> {\n intent?: StatusPillIntent;\n}\n\nconst StatusPillRoot = forwardRef<HTMLSpanElement, StatusPillProps>(\n ({ intent = \"neutral\", className, style, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\"pds-status-pill\", className)}\n style={{ ...intentVars[intent], ...style }}\n {...props}\n />\n );\n },\n);\nStatusPillRoot.displayName = \"StatusPill\";\n\nexport interface StatusPillIndicatorProps extends HTMLAttributes<HTMLSpanElement> {}\n\nconst StatusPillIndicator = forwardRef<\n HTMLSpanElement,\n StatusPillIndicatorProps\n>(({ className, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n aria-hidden=\"true\"\n className={cn(\"pds-status-pill__indicator\", className)}\n {...props}\n >\n {children}\n </span>\n );\n});\nStatusPillIndicator.displayName = \"StatusPill.Indicator\";\n\nexport interface StatusPillLabelProps extends HTMLAttributes<HTMLSpanElement> {}\n\nconst StatusPillLabel = forwardRef<HTMLSpanElement, StatusPillLabelProps>(\n ({ className, ...props }, ref) => {\n return (\n <span\n ref={ref}\n className={cn(\"pds-status-pill__label\", className)}\n {...props}\n />\n );\n },\n);\nStatusPillLabel.displayName = \"StatusPill.Label\";\n\nexport const StatusPill = Object.assign(StatusPillRoot, {\n Indicator: StatusPillIndicator,\n Label: StatusPillLabel,\n});\n","\"use client\";\n\nimport {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from \"react\";\nimport { Toggle } from \"@base-ui/react/toggle\";\nimport { ToggleGroup } from \"@base-ui/react/toggle-group\";\nimport { cn } from \"../utils/cn\";\n\ntype SegmentedSize = \"sm\" | \"md\" | \"lg\";\n\nconst SegmentedSizeContext = createContext<SegmentedSize>(\"md\");\n\ntype ToggleGroupProps = ComponentPropsWithoutRef<typeof ToggleGroup>;\n\nexport interface SegmentedProps extends Omit<\n ToggleGroupProps,\n \"className\" | \"value\" | \"defaultValue\" | \"onValueChange\" | \"multiple\"\n> {\n /** Selected item value. */\n value?: string;\n /** Uncontrolled initial selected item. */\n defaultValue?: string;\n /** Fired with the newly selected value. */\n onValueChange?: (value: string) => void;\n /** Controls item heights — sm 24px / md 28px / lg 32px. */\n size?: SegmentedSize;\n className?: string;\n children?: ReactNode;\n}\n\nconst SegmentedRoot = forwardRef<HTMLDivElement, SegmentedProps>(\n (\n { value, defaultValue, onValueChange, size = \"md\", className, ...props },\n ref,\n ) => {\n const handleChange = useMemo(\n () =>\n onValueChange\n ? (groupValue: string[]) => {\n const next = groupValue[0];\n if (next !== undefined) onValueChange(next);\n }\n : undefined,\n [onValueChange],\n );\n\n return (\n <SegmentedSizeContext.Provider value={size}>\n <ToggleGroup\n ref={ref}\n value={value !== undefined ? [value] : undefined}\n defaultValue={defaultValue !== undefined ? [defaultValue] : undefined}\n onValueChange={handleChange}\n className={cn(\"pds-segmented\", `pds-segmented--${size}`, className)}\n {...props}\n />\n </SegmentedSizeContext.Provider>\n );\n },\n);\nSegmentedRoot.displayName = \"Segmented\";\n\ntype ToggleItemProps = ComponentPropsWithoutRef<typeof Toggle>;\n\nexport interface SegmentedItemProps extends Omit<\n ToggleItemProps,\n \"className\" | \"value\"\n> {\n value: string;\n className?: string;\n}\n\nconst SegmentedItem = forwardRef<HTMLButtonElement, SegmentedItemProps>(\n ({ className, value, ...props }, ref) => {\n const size = useContext(SegmentedSizeContext);\n return (\n <Toggle\n ref={ref}\n value={value}\n className={cn(\n \"pds-segmented__item\",\n `pds-segmented__item--${size}`,\n className,\n )}\n {...props}\n />\n );\n },\n);\nSegmentedItem.displayName = \"Segmented.Item\";\n\nexport const Segmented = Object.assign(SegmentedRoot, {\n Item: SegmentedItem,\n});\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\ntype ContainerSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"prose\" | \"fluid\";\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n size?: ContainerSize;\n}\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n ({ size = \"xl\", className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"pds-container\", `pds-container--${size}`, className)}\n {...props}\n />\n ),\n);\nContainer.displayName = \"Container\";\n\ntype GridGutter = \"default\" | \"tight\" | \"flush\";\n\nexport interface GridRootProps extends HTMLAttributes<HTMLDivElement> {\n gutter?: GridGutter;\n}\n\nconst GridRoot = forwardRef<HTMLDivElement, GridRootProps>(\n ({ gutter = \"default\", className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"pds-grid\", `pds-grid--${gutter}`, className)}\n {...props}\n />\n ),\n);\nGridRoot.displayName = \"Grid\";\n\ntype Span = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | \"full\";\n\nexport interface GridColProps extends HTMLAttributes<HTMLDivElement> {\n span?: Span;\n smSpan?: Span;\n mdSpan?: Span;\n lgSpan?: Span;\n}\n\nconst GridCol = forwardRef<HTMLDivElement, GridColProps>(\n ({ span = 12, smSpan, mdSpan, lgSpan, className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n `pds-grid__col--span-${span}`,\n smSpan !== undefined && `pds-grid__col--sm-span-${smSpan}`,\n mdSpan !== undefined && `pds-grid__col--md-span-${mdSpan}`,\n lgSpan !== undefined && `pds-grid__col--lg-span-${lgSpan}`,\n className,\n )}\n {...props}\n />\n ),\n);\nGridCol.displayName = \"Grid.Col\";\n\nexport const Grid = Object.assign(GridRoot, {\n Col: GridCol,\n});\n","\"use client\";\n\nimport { forwardRef, type ComponentPropsWithoutRef } from \"react\";\nimport { Popover as BasePopover } from \"@base-ui/react/popover\";\nimport { cn } from \"../utils/cn\";\n\ntype BasePopupProps = ComponentPropsWithoutRef<typeof BasePopover.Popup>;\ntype BaseTitleProps = ComponentPropsWithoutRef<typeof BasePopover.Title>;\ntype BaseDescriptionProps = ComponentPropsWithoutRef<\n typeof BasePopover.Description\n>;\n\nexport interface PopoverContentProps extends Omit<\n BasePopupProps,\n \"className\" | \"render\"\n> {\n className?: string;\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n showArrow?: boolean;\n}\n\nconst PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(\n (\n {\n className,\n side = \"bottom\",\n align = \"center\",\n sideOffset = 10,\n showArrow = true,\n children,\n ...props\n },\n ref,\n ) => {\n return (\n <BasePopover.Portal>\n <BasePopover.Positioner\n side={side}\n align={align}\n sideOffset={sideOffset}\n className=\"pds-popover-positioner\"\n >\n <BasePopover.Popup\n ref={ref}\n className={cn(\"pds-popover-popup\", className)}\n {...props}\n >\n {showArrow && <BasePopover.Arrow className=\"pds-popover-arrow\" />}\n {children}\n </BasePopover.Popup>\n </BasePopover.Positioner>\n </BasePopover.Portal>\n );\n },\n);\nPopoverContent.displayName = \"Popover.Content\";\n\nexport interface PopoverTitleProps extends Omit<\n BaseTitleProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst PopoverTitle = forwardRef<HTMLHeadingElement, PopoverTitleProps>(\n ({ className, ...props }, ref) => {\n return (\n <BasePopover.Title\n ref={ref}\n className={cn(\"pds-popover-title\", className)}\n {...props}\n />\n );\n },\n);\nPopoverTitle.displayName = \"Popover.Title\";\n\nexport interface PopoverDescriptionProps extends Omit<\n BaseDescriptionProps,\n \"className\" | \"render\"\n> {\n className?: string;\n}\n\nconst PopoverDescription = forwardRef<\n HTMLParagraphElement,\n PopoverDescriptionProps\n>(({ className, ...props }, ref) => {\n return (\n <BasePopover.Description\n ref={ref}\n className={cn(\"pds-popover-description\", className)}\n {...props}\n />\n );\n});\nPopoverDescription.displayName = \"Popover.Description\";\n\nexport interface PopoverHeaderProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverHeader = forwardRef<HTMLDivElement, PopoverHeaderProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__header\", className)}\n {...props}\n />\n );\n },\n);\nPopoverHeader.displayName = \"Popover.Header\";\n\nexport interface PopoverBodyProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverBody = forwardRef<HTMLDivElement, PopoverBodyProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__body\", className)}\n {...props}\n />\n );\n },\n);\nPopoverBody.displayName = \"Popover.Body\";\n\nexport interface PopoverFooterProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst PopoverFooter = forwardRef<HTMLDivElement, PopoverFooterProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"pds-popover__footer\", className)}\n {...props}\n />\n );\n },\n);\nPopoverFooter.displayName = \"Popover.Footer\";\n\nexport const Popover = {\n Root: BasePopover.Root,\n Trigger: BasePopover.Trigger,\n Content: PopoverContent,\n Title: PopoverTitle,\n Description: PopoverDescription,\n Close: BasePopover.Close,\n Header: PopoverHeader,\n Body: PopoverBody,\n Footer: PopoverFooter,\n};\n","\"use client\";\n\nimport { useMemo, useState, type ReactNode } from \"react\";\nimport { Checkbox } from \"./Checkbox\";\nimport { cn } from \"../utils/cn\";\n\nexport interface DataTableColumn<T> {\n key: string;\n label: string;\n sortable?: boolean;\n render?: (value: unknown, row: T) => ReactNode;\n width?: string;\n muted?: boolean;\n mono?: boolean;\n}\n\nexport interface DataTableProps<T extends { id: string | number }> {\n columns: DataTableColumn<T>[];\n data: T[];\n selectable?: boolean;\n searchable?: boolean;\n pageSize?: number;\n actions?: ReactNode;\n className?: string;\n}\n\nfunction SearchIcon() {\n return (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"6.2\"\n cy=\"6.2\"\n r=\"4.3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n />\n <path\n d=\"M9.5 9.5L13 13\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChevronLeftIcon() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M7.5 2L4 6l3.5 4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChevronRightIcon() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M4.5 2L8 6l-3.5 4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction SortIcon({ direction }: { direction: \"asc\" | \"desc\" | null }) {\n return (\n <span className=\"pds-datatable__sort-icon\" aria-hidden=\"true\">\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\">\n <path\n d=\"M0 4L3.5 0L7 4H0Z\"\n fill={\n direction === \"asc\" ? \"var(--color-text-brand)\" : \"currentColor\"\n }\n />\n </svg>\n <svg\n width=\"7\"\n height=\"4\"\n viewBox=\"0 0 7 4\"\n fill=\"none\"\n style={{ opacity: direction === \"desc\" ? 1 : 0.3 }}\n >\n <path\n d=\"M0 0L3.5 4L7 0H0Z\"\n fill={\n direction === \"desc\" ? \"var(--color-text-brand)\" : \"currentColor\"\n }\n />\n </svg>\n </span>\n );\n}\n\nfunction renderCell(value: unknown): ReactNode {\n if (value === null || value === undefined) return \"—\";\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n return String(value);\n}\n\nexport function DataTable<T extends { id: string | number }>({\n columns,\n data,\n selectable = true,\n searchable = true,\n pageSize = 10,\n actions,\n className,\n}: DataTableProps<T>) {\n const [query, setQuery] = useState(\"\");\n const [selected, setSelected] = useState<Set<string | number>>(new Set());\n const [sort, setSort] = useState<{ key: string | null; dir: \"asc\" | \"desc\" }>(\n { key: null, dir: \"asc\" },\n );\n const [page, setPage] = useState(1);\n\n const filtered = useMemo(() => {\n let rows = data;\n if (query.trim()) {\n const q = query.toLowerCase();\n rows = rows.filter((row) =>\n columns.some((col) => {\n const v = (row as Record<string, unknown>)[col.key];\n return v != null && String(v).toLowerCase().includes(q);\n }),\n );\n }\n if (sort.key) {\n const key = sort.key;\n rows = [...rows].sort((a, b) => {\n const av = (a as Record<string, unknown>)[key] ?? \"\";\n const bv = (b as Record<string, unknown>)[key] ?? \"\";\n const cmp = String(av).localeCompare(String(bv), undefined, {\n numeric: true,\n });\n return sort.dir === \"asc\" ? cmp : -cmp;\n });\n }\n return rows;\n }, [data, query, sort, columns]);\n\n const totalPages = Math.max(1, Math.ceil(filtered.length / pageSize));\n const pageData = filtered.slice((page - 1) * pageSize, page * pageSize);\n\n const allSelected =\n pageData.length > 0 && pageData.every((r) => selected.has(r.id));\n const someSelected = pageData.some((r) => selected.has(r.id));\n\n const toggleAll = () => {\n const next = new Set(selected);\n if (allSelected) {\n pageData.forEach((r) => next.delete(r.id));\n } else {\n pageData.forEach((r) => next.add(r.id));\n }\n setSelected(next);\n };\n\n const toggleRow = (id: string | number) => {\n const next = new Set(selected);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n setSelected(next);\n };\n\n const toggleSort = (key: string) => {\n setSort((s) =>\n s.key === key\n ? { key, dir: s.dir === \"asc\" ? \"desc\" : \"asc\" }\n : { key, dir: \"asc\" },\n );\n setPage(1);\n };\n\n const onSearch = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQuery(e.target.value);\n setPage(1);\n };\n\n const startItem = filtered.length === 0 ? 0 : (page - 1) * pageSize + 1;\n const endItem = Math.min(page * pageSize, filtered.length);\n\n const pageNums = (() => {\n if (totalPages <= 5) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n if (page <= 3) return [1, 2, 3, 4, 5];\n if (page >= totalPages - 2) {\n return [\n totalPages - 4,\n totalPages - 3,\n totalPages - 2,\n totalPages - 1,\n totalPages,\n ];\n }\n return [page - 2, page - 1, page, page + 1, page + 2];\n })();\n\n return (\n <div className={cn(\"pds-datatable\", className)}>\n {(searchable || actions) && (\n <div className=\"pds-datatable__toolbar\">\n {searchable && (\n <div className=\"pds-datatable__search\">\n <span className=\"pds-datatable__search-icon\">\n <SearchIcon />\n </span>\n <input\n className=\"pds-datatable__search-input\"\n type=\"search\"\n placeholder=\"Search…\"\n value={query}\n onChange={onSearch}\n aria-label=\"Search table\"\n />\n </div>\n )}\n {selected.size > 0 && (\n <span className=\"pds-datatable__bulk-label\">\n {selected.size} selected\n </span>\n )}\n {actions && (\n <div className=\"pds-datatable__toolbar-right\">{actions}</div>\n )}\n </div>\n )}\n\n <div className=\"pds-datatable__wrap\">\n <table\n className={cn(\n \"pds-datatable__table\",\n selectable && \"pds-datatable__table--selectable\",\n )}\n aria-label=\"Data table\"\n >\n <thead className=\"pds-datatable__thead\">\n <tr className=\"pds-datatable__row\">\n {selectable && (\n <th\n className=\"pds-datatable__th pds-datatable__check-col\"\n aria-label=\"Select all\"\n >\n <Checkbox\n size=\"sm\"\n checked={allSelected}\n indeterminate={someSelected && !allSelected}\n onCheckedChange={toggleAll}\n />\n </th>\n )}\n {columns.map((col) => {\n const sortable = col.sortable !== false;\n const isSorted = sort.key === col.key;\n return (\n <th\n key={col.key}\n className={cn(\n \"pds-datatable__th\",\n sortable && \"pds-datatable__th--sort\",\n isSorted && \"pds-datatable__th--sorted\",\n )}\n onClick={sortable ? () => toggleSort(col.key) : undefined}\n style={col.width ? { width: col.width } : undefined}\n aria-sort={\n isSorted\n ? sort.dir === \"asc\"\n ? \"ascending\"\n : \"descending\"\n : undefined\n }\n >\n {col.label}\n {sortable && (\n <SortIcon direction={isSorted ? sort.dir : null} />\n )}\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody className=\"pds-datatable__tbody\">\n {pageData.length === 0 ? (\n <tr className=\"pds-datatable__row\">\n <td\n className=\"pds-datatable__td pds-datatable__empty\"\n colSpan={columns.length + (selectable ? 1 : 0)}\n >\n No results found\n </td>\n </tr>\n ) : (\n pageData.map((row) => {\n const isSel = selected.has(row.id);\n return (\n <tr\n key={row.id}\n className={cn(\n \"pds-datatable__row\",\n isSel && \"pds-datatable__row--selected\",\n )}\n aria-selected={isSel}\n onClick={selectable ? () => toggleRow(row.id) : undefined}\n >\n {selectable && (\n <td\n className=\"pds-datatable__td pds-datatable__check-col\"\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox\n size=\"sm\"\n checked={isSel}\n onCheckedChange={() => toggleRow(row.id)}\n />\n </td>\n )}\n {columns.map((col) => (\n <td\n key={col.key}\n className={cn(\n \"pds-datatable__td\",\n col.muted && \"pds-datatable__td--muted\",\n col.mono && \"pds-datatable__td--mono\",\n )}\n >\n {col.render\n ? col.render(\n (row as Record<string, unknown>)[col.key],\n row,\n )\n : renderCell(\n (row as Record<string, unknown>)[col.key],\n )}\n </td>\n ))}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n <div className=\"pds-datatable__footer\">\n <span className=\"pds-datatable__page-info\">\n {filtered.length === 0\n ? \"No results\"\n : `${startItem}–${endItem} of ${filtered.length}`}\n </span>\n <div\n className=\"pds-datatable__pagination\"\n role=\"navigation\"\n aria-label=\"Pagination\"\n >\n <button\n type=\"button\"\n className=\"pds-datatable__page-btn\"\n onClick={() => setPage((p) => Math.max(1, p - 1))}\n disabled={page <= 1}\n aria-label=\"Previous page\"\n >\n <ChevronLeftIcon />\n </button>\n {pageNums.map((p) => (\n <button\n key={p}\n type=\"button\"\n className={cn(\n \"pds-datatable__page-btn\",\n p === page && \"pds-datatable__page-btn--active\",\n )}\n onClick={() => setPage(p)}\n aria-current={p === page ? \"page\" : undefined}\n >\n {p}\n </button>\n ))}\n <button\n type=\"button\"\n className=\"pds-datatable__page-btn\"\n onClick={() => setPage((p) => Math.min(totalPages, p + 1))}\n disabled={page >= totalPages}\n aria-label=\"Next page\"\n >\n <ChevronRightIcon />\n </button>\n </div>\n </div>\n </div>\n );\n}\n","\"use client\";\n\nimport {\n useEffect,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { cn } from \"../utils/cn\";\n\nexport interface CommandPaletteItem {\n id: string;\n label: string;\n description?: string;\n icon?: ReactNode;\n shortcut?: string;\n onSelect?: () => void;\n keywords?: string[];\n}\n\nexport interface CommandPaletteGroup {\n label?: string;\n items: CommandPaletteItem[];\n}\n\nexport interface CommandPaletteProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n groups?: CommandPaletteGroup[];\n placeholder?: string;\n onSelect?: (item: CommandPaletteItem) => void;\n className?: string;\n}\n\nfunction SearchIcon({ size = 16 }: { size?: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle cx=\"7\" cy=\"7\" r=\"4.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M10.5 10.5L14 14\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nfunction XSmallIcon({ size = 10 }: { size?: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 10 10\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2 2l6 6M8 2L2 8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n );\n}\n\nexport function useCommandPalette() {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n const handler = (e: globalThis.KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"k\") {\n e.preventDefault();\n setOpen((o) => !o);\n }\n };\n window.addEventListener(\"keydown\", handler);\n return () => window.removeEventListener(\"keydown\", handler);\n }, []);\n\n return { open, setOpen };\n}\n\nexport function CommandPalette({\n open,\n onOpenChange,\n groups = [],\n placeholder = \"Type to search\",\n onSelect,\n className,\n}: CommandPaletteProps) {\n const [query, setQuery] = useState(\"\");\n const [activeIndex, setActiveIndex] = useState(0);\n const [prevOpen, setPrevOpen] = useState(open);\n const [prevQuery, setPrevQuery] = useState(query);\n const inputRef = useRef<HTMLInputElement>(null);\n\n // Reset the search and selection whenever the palette opens, and reset\n // the selection whenever the query changes — done during render (the\n // React-recommended way to adjust state on prop/state changes) rather\n // than in an effect, to avoid an extra render pass.\n if (open !== prevOpen) {\n setPrevOpen(open);\n if (open) {\n setQuery(\"\");\n setActiveIndex(0);\n setPrevQuery(\"\");\n }\n }\n if (query !== prevQuery) {\n setPrevQuery(query);\n setActiveIndex(0);\n }\n\n const filteredGroups = useMemo(() => {\n if (!query.trim()) return groups;\n const q = query.toLowerCase();\n return groups\n .map((group) => ({\n ...group,\n items: group.items.filter(\n (item) =>\n item.label.toLowerCase().includes(q) ||\n (item.description && item.description.toLowerCase().includes(q)) ||\n (item.keywords &&\n item.keywords.some((k) => k.toLowerCase().includes(q))),\n ),\n }))\n .filter((group) => group.items.length > 0);\n }, [groups, query]);\n\n const allItems = useMemo(\n () => filteredGroups.flatMap((group) => group.items),\n [filteredGroups],\n );\n\n const selectItem = (item: CommandPaletteItem) => {\n item.onSelect?.();\n onSelect?.(item);\n onOpenChange(false);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIndex((i) => Math.min(allItems.length - 1, i + 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIndex((i) => Math.max(0, i - 1));\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n const item = allItems[activeIndex];\n if (item) selectItem(item);\n }\n };\n\n let flatIndex = 0;\n\n return (\n <BaseDialog.Root open={open} onOpenChange={onOpenChange}>\n <BaseDialog.Portal>\n <BaseDialog.Backdrop className=\"pds-command-palette-backdrop\" />\n <BaseDialog.Popup\n className={cn(\"pds-command-palette\", className)}\n aria-label=\"Command palette\"\n initialFocus={inputRef}\n >\n <div className=\"pds-command-palette__search\">\n <span className=\"pds-command-palette__search-icon\">\n <SearchIcon size={16} />\n </span>\n <input\n ref={inputRef}\n className=\"pds-command-palette__input\"\n type=\"text\"\n placeholder={placeholder}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded=\"true\"\n />\n {query && (\n <button\n type=\"button\"\n className=\"pds-command-palette__clear\"\n onClick={() => setQuery(\"\")}\n aria-label=\"Clear\"\n >\n <XSmallIcon />\n </button>\n )}\n </div>\n\n <div className=\"pds-command-palette__list\" role=\"listbox\">\n {allItems.length === 0 ? (\n <div className=\"pds-command-palette__empty\">\n <SearchIcon size={20} />\n No results for "{query}"\n </div>\n ) : (\n filteredGroups.map((group, gi) => (\n <div\n key={group.label ?? gi}\n className=\"pds-command-palette__group\"\n role=\"group\"\n aria-label={group.label}\n >\n {group.label && (\n <div className=\"pds-command-palette__group-label\">\n {group.label}\n </div>\n )}\n {group.items.map((item) => {\n const thisIndex = flatIndex++;\n const isActive = thisIndex === activeIndex;\n return (\n <button\n key={item.id}\n type=\"button\"\n role=\"option\"\n aria-selected={isActive}\n className={cn(\n \"pds-command-palette__item\",\n isActive && \"pds-command-palette__item--active\",\n )}\n onMouseEnter={() => setActiveIndex(thisIndex)}\n onClick={() => selectItem(item)}\n >\n {item.icon && (\n <span\n className=\"pds-command-palette__item-icon\"\n aria-hidden=\"true\"\n >\n {item.icon}\n </span>\n )}\n <span className=\"pds-command-palette__item-body\">\n <span className=\"pds-command-palette__item-label\">\n {item.label}\n </span>\n {item.description && (\n <span className=\"pds-command-palette__item-desc\">\n {item.description}\n </span>\n )}\n </span>\n {item.shortcut && (\n <span\n className=\"pds-command-palette__shortcut\"\n aria-label={`Shortcut: ${item.shortcut}`}\n >\n {item.shortcut.split(\"+\").map((key, ki) => (\n <kbd\n key={ki}\n className=\"pds-command-palette__kbd\"\n >\n {key}\n </kbd>\n ))}\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))\n )}\n </div>\n\n <div className=\"pds-command-palette__footer\" aria-hidden=\"true\">\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">↑</kbd>\n <kbd className=\"pds-command-palette__kbd\">↓</kbd> navigate\n </span>\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">↵</kbd> select\n </span>\n <span className=\"pds-command-palette__hint\">\n <kbd className=\"pds-command-palette__kbd\">Esc</kbd> close\n </span>\n </div>\n </BaseDialog.Popup>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n}\n","\"use client\";\n\nimport {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type ChangeEvent,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport type ChatMessageSide = \"sent\" | \"received\";\nexport type ChatMessagePosition = \"solo\" | \"first\" | \"middle\" | \"last\";\nexport type ChatMessageStatus = \"sending\" | \"sent\" | \"delivered\" | \"read\";\n\nexport interface ChatReaction {\n emoji: string;\n count?: number;\n mine?: boolean;\n}\n\nfunction ChatSendIcon() {\n return (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2.5 8h11M9 3.5L13.5 8 9 12.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.7\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChatPaperclipIcon() {\n return (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13.2 7.2L7.5 12.9a3.5 3.5 0 0 1-4.95-4.95l6.36-6.36a2.2 2.2 0 0 1 3.11 3.11L5.66 10.9a.88.88 0 0 1-1.24-1.24l5.3-5.3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction ChatSmileIcon() {\n return (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle cx=\"8\" cy=\"8\" r=\"6.2\" stroke=\"currentColor\" strokeWidth=\"1.4\" />\n <path\n d=\"M5.5 9.8c.4.9 2.6 1.4 3 0\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeLinecap=\"round\"\n />\n <circle cx=\"6\" cy=\"6.8\" r=\"0.8\" fill=\"currentColor\" />\n <circle cx=\"10\" cy=\"6.8\" r=\"0.8\" fill=\"currentColor\" />\n </svg>\n );\n}\n\nfunction ChatDeliveryIcon({ status }: { status: ChatMessageStatus }) {\n if (status === \"sending\") {\n return (\n <svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5.2\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"2.5 2\"\n />\n </svg>\n );\n }\n if (status === \"sent\") {\n return (\n <svg\n width={14}\n height={14}\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M3 7.2l2.4 2.4L11 4.6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n }\n return (\n <svg\n width={18}\n height={14}\n viewBox=\"0 0 18 14\"\n fill=\"none\"\n aria-label={status === \"read\" ? \"Read\" : \"Delivered\"}\n >\n <path\n d=\"M1.5 7.2l2.4 2.4L9.5 4.6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M5.5 7.2l2.4 2.4 5.6-5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\n/* ── ChatThread ─────────────────────────────────────── */\n\nexport interface ChatThreadProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nexport const ChatThread = forwardRef<HTMLDivElement, ChatThreadProps>(\n ({ className, ...props }, ref) => {\n return (\n <div ref={ref} className={cn(\"pds-chat-thread\", className)} {...props} />\n );\n },\n);\nChatThread.displayName = \"ChatThread\";\n\n/* ── ChatDateDivider ────────────────────────────────── */\n\nexport interface ChatDateDividerProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nexport const ChatDateDivider = forwardRef<HTMLDivElement, ChatDateDividerProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n role=\"separator\"\n className={cn(\"pds-chat-divider\", className)}\n {...props}\n >\n <span className=\"pds-chat-divider__label\">{children}</span>\n </div>\n );\n },\n);\nChatDateDivider.displayName = \"ChatDateDivider\";\n\n/* ── ChatMessage ────────────────────────────────────── */\n\nexport interface ChatMessageProps extends ComponentPropsWithoutRef<\"div\"> {\n side?: ChatMessageSide;\n name?: string;\n avatar?: ReactNode;\n time?: string;\n status?: ChatMessageStatus;\n reactions?: ChatReaction[];\n position?: ChatMessagePosition;\n}\n\nexport const ChatMessage = forwardRef<HTMLDivElement, ChatMessageProps>(\n (\n {\n side = \"received\",\n name,\n avatar,\n time,\n status,\n reactions,\n position = \"solo\",\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const isSent = side === \"sent\";\n const showMeta = position === \"solo\" || position === \"first\";\n const showAvatar =\n !isSent && avatar && (position === \"solo\" || position === \"last\");\n const showStatus =\n isSent && status && (position === \"solo\" || position === \"last\");\n\n return (\n <div\n ref={ref}\n className={cn(\n \"pds-chat-msg\",\n `pds-chat-msg--${side}`,\n `pds-chat-msg--${position}`,\n className,\n )}\n {...props}\n >\n {showMeta && (\n <div className=\"pds-chat-msg__meta-row\">\n {!isSent && name && (\n <span className=\"pds-chat-msg__name\">{name}</span>\n )}\n {time && <span className=\"pds-chat-msg__time\">{time}</span>}\n </div>\n )}\n\n <div className=\"pds-chat-msg__row\">\n {!isSent && (\n <div className=\"pds-chat-msg__avatar-slot\">\n {showAvatar && avatar}\n </div>\n )}\n <div className=\"pds-chat-msg__bubble-col\">\n <div\n className={cn(\n \"pds-chat-bubble\",\n `pds-chat-bubble--${side}`,\n `pds-chat-bubble--${position}`,\n )}\n >\n {children}\n </div>\n {reactions && reactions.length > 0 && (\n <div className=\"pds-chat-reactions\">\n {reactions.map((reaction, index) => (\n <button\n key={index}\n type=\"button\"\n className={cn(\n \"pds-chat-reaction\",\n reaction.mine && \"pds-chat-reaction--mine\",\n )}\n >\n <span>{reaction.emoji}</span>\n {reaction.count !== undefined && reaction.count > 1 && (\n <span className=\"pds-chat-reaction__count\">\n {reaction.count}\n </span>\n )}\n </button>\n ))}\n </div>\n )}\n </div>\n </div>\n\n {showStatus && (\n <div\n className={cn(\n \"pds-chat-msg__status\",\n status === \"read\" && \"pds-chat-msg__status--read\",\n )}\n >\n <ChatDeliveryIcon status={status} />\n <span className=\"pds-chat-msg__status-label\">{status}</span>\n </div>\n )}\n </div>\n );\n },\n);\nChatMessage.displayName = \"ChatMessage\";\n\n/* ── ChatCompose ────────────────────────────────────── */\n\nexport interface ChatComposeProps {\n value?: string;\n onChange?: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n onSend?: (value: string) => void;\n placeholder?: string;\n avatar?: ReactNode;\n disabled?: boolean;\n className?: string;\n}\n\nexport function ChatCompose({\n value,\n onChange,\n onSend,\n placeholder = \"Write a message…\",\n avatar,\n disabled,\n className,\n}: ChatComposeProps) {\n const [internalValue, setInternalValue] = useState(\"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const isControlled = value !== undefined;\n const text = isControlled ? value : internalValue;\n\n useEffect(() => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n textarea.style.height = \"auto\";\n textarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`;\n }, [text]);\n\n function handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (!isControlled) setInternalValue(event.target.value);\n onChange?.(event);\n }\n\n function send() {\n const trimmed = text.trim();\n if (!trimmed) return;\n onSend?.(trimmed);\n if (!isControlled) setInternalValue(\"\");\n }\n\n function handleKeyDown(event: KeyboardEvent<HTMLTextAreaElement>) {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault();\n send();\n }\n }\n\n const canSend = text.trim().length > 0;\n\n return (\n <div className={cn(\"pds-chat-compose\", className)}>\n {avatar && <div className=\"pds-chat-compose__avatar\">{avatar}</div>}\n\n <div className=\"pds-chat-compose__field\">\n <button\n type=\"button\"\n className=\"pds-chat-compose__icon-btn\"\n aria-label=\"Attach file\"\n >\n <ChatPaperclipIcon />\n </button>\n <textarea\n ref={textareaRef}\n className=\"pds-chat-compose__textarea\"\n value={text}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n rows={1}\n aria-label=\"Message\"\n />\n <button\n type=\"button\"\n className=\"pds-chat-compose__icon-btn\"\n aria-label=\"Add emoji\"\n >\n <ChatSmileIcon />\n </button>\n </div>\n\n <button\n type=\"button\"\n className={cn(\"pds-chat-send\", canSend && \"pds-chat-send--active\")}\n onClick={send}\n disabled={disabled || !canSend}\n aria-label=\"Send message\"\n >\n <ChatSendIcon />\n </button>\n </div>\n );\n}\n"]}
|