@bubble-design-system/ui 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +358 -306
- package/dist/index.cjs +910 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +95 -9
- package/dist/index.d.ts +95 -9
- package/dist/index.js +908 -183
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1484 -503
- package/dist/tokens.css +473 -387
- package/package.json +2 -1
package/dist/index.cjs.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"],"names":["clsx","forwardRef","jsx","BaseButton","BaseInput","BaseCheckbox","jsxs","BaseRadio","BaseRadioGroup","BaseSwitch","BaseSelect","BaseAvatar","Separator","BaseDialog","BaseToast","toast","BaseTooltip","BaseTabs","BaseMenu","createContext","useMemo","ToggleGroup","useContext","Toggle"],"mappings":"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","file":"index.cjs","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<BaseCheckboxRootProps, \"className\" | \"render\"> {\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<BaseRadioRootProps, \"className\" | \"render\"> {\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<BaseRadioGroupProps, \"className\"> {\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<BaseSwitchRootProps, \"className\" | \"render\"> {\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 { forwardRef, type ComponentPropsWithoutRef, type ReactNode } 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<BaseTriggerProps, \"className\" | \"render\"> {\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\">{placeholder}</span>\n ) : (\n String(value)\n ))}\n </BaseSelect.Value>\n );\n },\n);\nSelectValue.displayName = \"Select.Value\";\n\nexport interface SelectContentProps extends Omit<BasePopupProps, \"className\" | \"render\"> {\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 sideOffset={sideOffset} className=\"pds-select-positioner\">\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<BaseItemProps, \"className\" | \"render\"> {\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 =\n | \"neutral\"\n | \"brand\"\n | \"success\"\n | \"warning\"\n | \"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<BaseRootProps, \"className\" | \"render\"> {\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<BaseImageProps, \"className\" | \"render\"> {\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<BaseFallbackProps, \"className\" | \"render\"> {\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<BaseSeparatorProps, \"className\" | \"render\"> {\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\" ? \"pds-divider--horizontal\" : \"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<BasePopupProps, \"className\" | \"render\"> {\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 className={cn(\"pds-modal-backdrop\", backdropClassName)} />\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<BaseTitleProps, \"className\" | \"render\"> {\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<BaseDescProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst ModalDescription = forwardRef<HTMLParagraphElement, 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 },\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<HTMLDivElement, 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 },\n);\nToastViewport.displayName = \"Toast.Viewport\";\n\nconst Toaster = () => {\n const { toasts } = useToastManager();\n return (\n <ToastViewport>\n {toasts.map((toast) => (\n <BaseToast.Root\n key={toast.id}\n toast={toast}\n className=\"pds-toast-item\"\n >\n {toast.title ? (\n <BaseToast.Title className=\"pds-toast-title\" />\n ) : null}\n {toast.description ? (\n <BaseToast.Description className=\"pds-toast-description\" />\n ) : null}\n <BaseToast.Close\n aria-label=\"Close\"\n className=\"pds-toast-close\"\n >\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<BasePopupProps, \"className\" | \"render\"> {\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 ({ className, sideOffset = 6, side = \"top\", align = \"center\", children, ...props }, ref) => {\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<PanelProps, \"className\" | \"render\"> {\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 d=\"M8 7.5v4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\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 d=\"M5 8.5l2 2 4-4.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n ),\n warning: (\n <svg viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M8 1.75L14.5 13.5h-13L8 1.75z\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinejoin=\"round\" />\n <path d=\"M8 6.5v3.5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\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 d=\"M5.5 5.5l5 5M10.5 5.5l-5 5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n ),\n};\n\nexport interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, \"title\"> {\n variant?: AlertVariant;\n icon?: ReactNode | false;\n title?: ReactNode;\n}\n\nexport const Alert = forwardRef<HTMLDivElement, AlertProps>(\n (\n { variant = \"info\", icon, title, className, children, ...props },\n ref,\n ) => {\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<PopupProps, \"className\" | \"render\"> {\n className?: string;\n sideOffset?: number;\n align?: \"start\" | \"center\" | \"end\";\n}\n\nconst DropdownMenuContent = forwardRef<HTMLDivElement, 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 },\n);\nDropdownMenuContent.displayName = \"DropdownMenu.Content\";\n\nexport interface DropdownMenuItemProps extends Omit<ItemProps, \"className\" | \"render\"> {\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<CheckboxItemProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst DropdownMenuCheckboxItem = forwardRef<HTMLDivElement, 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 },\n);\nDropdownMenuCheckboxItem.displayName = \"DropdownMenu.CheckboxItem\";\n\nexport interface DropdownMenuRadioItemProps extends Omit<RadioItemProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst DropdownMenuRadioItem = forwardRef<HTMLDivElement, 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 },\n);\nDropdownMenuRadioItem.displayName = \"DropdownMenu.RadioItem\";\n\nexport interface DropdownMenuLabelProps extends Omit<GroupLabelProps, \"className\" | \"render\"> {\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<SeparatorProps, \"className\" | \"render\"> {\n className?: string;\n}\n\nconst DropdownMenuSeparator = forwardRef<HTMLDivElement, 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 },\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\n ref={ref}\n className={cn(\"pds-card__header\", className)}\n {...props}\n />\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\n ref={ref}\n className={cn(\"pds-card__title\", className)}\n {...props}\n />\n ),\n);\nCardTitle.displayName = \"Card.Title\";\n\nexport interface CardDescriptionProps\n 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\n ref={ref}\n className={cn(\"pds-card__action\", className)}\n {...props}\n />\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\n ref={ref}\n className={cn(\"pds-card__body\", className)}\n {...props}\n />\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\n ref={ref}\n className={cn(\"pds-card__footer\", className)}\n {...props}\n />\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\n extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, \"size\"> {\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 {\n forwardRef,\n type CSSProperties,\n type HTMLAttributes,\n} 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\n 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\n 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={\n defaultValue !== undefined ? [defaultValue] : undefined\n }\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\n extends Omit<ToggleItemProps, \"className\" | \"value\"> {\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"]}
|
|
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":["clsx","forwardRef","jsx","BaseButton","BaseInput","BaseCheckbox","jsxs","BaseRadio","BaseRadioGroup","BaseSwitch","BaseSelect","BaseAvatar","Separator","BaseDialog","BaseToast","toast","BaseTooltip","BaseTabs","BaseMenu","createContext","useMemo","ToggleGroup","useContext","Toggle","BasePopover","useState","SearchIcon","useEffect","useRef"],"mappings":"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","file":"index.cjs","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"]}
|