@wow-two-beta/ui 0.0.46 → 0.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.js +2 -2
- package/dist/actions/toggleButton/ToggleButton.d.ts +8 -6
- package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/actions/toggleButton/ToggleButton.variants.d.ts +79 -44
- package/dist/actions/toggleButton/ToggleButton.variants.d.ts.map +1 -1
- package/dist/{chunk-XTAFNWLG.js → chunk-2SIB3MZL.js} +4 -4
- package/dist/{chunk-XTAFNWLG.js.map → chunk-2SIB3MZL.js.map} +1 -1
- package/dist/chunk-34TLJSEH.js +462 -0
- package/dist/chunk-34TLJSEH.js.map +1 -0
- package/dist/{chunk-K2TZTSNQ.js → chunk-5V7FBKKL.js} +3 -3
- package/dist/{chunk-K2TZTSNQ.js.map → chunk-5V7FBKKL.js.map} +1 -1
- package/dist/{chunk-4YMU5MVC.js → chunk-6URHYLVG.js} +74 -30
- package/dist/chunk-6URHYLVG.js.map +1 -0
- package/dist/{chunk-CBMPWDRA.js → chunk-BLXE2RCC.js} +3 -3
- package/dist/{chunk-CBMPWDRA.js.map → chunk-BLXE2RCC.js.map} +1 -1
- package/dist/{chunk-VDE5B3IY.js → chunk-C6XVQ5TW.js} +22 -10
- package/dist/chunk-C6XVQ5TW.js.map +1 -0
- package/dist/{chunk-WJGJNSNP.js → chunk-CMBKBLJE.js} +165 -36
- package/dist/chunk-CMBKBLJE.js.map +1 -0
- package/dist/{chunk-2AS5ZKBF.js → chunk-EUA2TRKE.js} +6 -6
- package/dist/{chunk-2AS5ZKBF.js.map → chunk-EUA2TRKE.js.map} +1 -1
- package/dist/{chunk-PA5WBMY5.js → chunk-JYP2HIG3.js} +11 -11
- package/dist/{chunk-PA5WBMY5.js.map → chunk-JYP2HIG3.js.map} +1 -1
- package/dist/{chunk-R643N32M.js → chunk-NTUKGLIQ.js} +3 -3
- package/dist/{chunk-R643N32M.js.map → chunk-NTUKGLIQ.js.map} +1 -1
- package/dist/{chunk-D3CGJMKB.js → chunk-SGMG6NZB.js} +4 -4
- package/dist/{chunk-D3CGJMKB.js.map → chunk-SGMG6NZB.js.map} +1 -1
- package/dist/{chunk-CN7IOF3B.js → chunk-UPSN6NFK.js} +32 -9
- package/dist/chunk-UPSN6NFK.js.map +1 -0
- package/dist/{chunk-YYY5WBR2.js → chunk-WPC3KBRU.js} +4 -4
- package/dist/chunk-WPC3KBRU.js.map +1 -0
- package/dist/{chunk-35VQ7QBG.js → chunk-ZJJ4KW6G.js} +10 -10
- package/dist/chunk-ZJJ4KW6G.js.map +1 -0
- package/dist/display/index.js +3 -3
- package/dist/feedback/index.js +4 -4
- package/dist/forms/InputStyles.d.ts +9 -2
- package/dist/forms/InputStyles.d.ts.map +1 -1
- package/dist/forms/combobox/Combobox.d.ts +3 -2
- package/dist/forms/combobox/Combobox.d.ts.map +1 -1
- package/dist/forms/index.js +8 -8
- package/dist/forms/listbox/Listbox.d.ts +8 -1
- package/dist/forms/listbox/Listbox.d.ts.map +1 -1
- package/dist/forms/listbox/Listbox.variants.d.ts +1 -1
- package/dist/forms/listbox/Listbox.variants.d.ts.map +1 -1
- package/dist/forms/listbox/index.d.ts +1 -1
- package/dist/forms/listbox/index.d.ts.map +1 -1
- package/dist/forms/multiSelect/MultiSelect.d.ts +3 -2
- package/dist/forms/multiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/forms/select/Select.d.ts +3 -2
- package/dist/forms/select/Select.d.ts.map +1 -1
- package/dist/forms/select/Select.variants.d.ts +9 -2
- package/dist/forms/select/Select.variants.d.ts.map +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/index.css +19 -0
- package/dist/index.js +14 -14
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +5 -5
- package/dist/layout/surface/Surface.d.ts +19 -0
- package/dist/layout/surface/Surface.d.ts.map +1 -0
- package/dist/layout/surface/index.d.ts +2 -0
- package/dist/layout/surface/index.d.ts.map +1 -0
- package/dist/nav/index.js +5 -5
- package/dist/overlays/index.js +5 -5
- package/dist/overlays/popover/Popover.d.ts +8 -5
- package/dist/overlays/popover/Popover.d.ts.map +1 -1
- package/dist/utils/Layers.d.ts +34 -0
- package/dist/utils/Layers.d.ts.map +1 -0
- package/dist/utils/SurfaceStyles.d.ts +324 -0
- package/dist/utils/SurfaceStyles.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-35VQ7QBG.js.map +0 -1
- package/dist/chunk-4YMU5MVC.js.map +0 -1
- package/dist/chunk-CN7IOF3B.js.map +0 -1
- package/dist/chunk-MUUFERDO.js +0 -216
- package/dist/chunk-MUUFERDO.js.map +0 -1
- package/dist/chunk-VDE5B3IY.js.map +0 -1
- package/dist/chunk-WJGJNSNP.js.map +0 -1
- package/dist/chunk-YYY5WBR2.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/overlays/alertDialog/AlertDialog.tsx","../src/overlays/popover/Popover.tsx","../src/overlays/hoverCard/HoverCard.tsx","../src/overlays/actionSheet/ActionSheet.tsx","../src/overlays/bottomSheet/BottomSheet.tsx"],"names":["AlertDialogContent","AlertDialogAction","AlertDialogCancel","jsx","forwardRef","PopoverTrigger","PopoverContent","createContext","useContext","useRef","useMemo","HoverCardContent","ActionSheetAction","ActionSheetCancel","BottomSheet","jsxs","FocusScope"],"mappings":"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","file":"chunk-C6XVQ5TW.js","sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cn } from '../../utils';\nimport {\n Dialog,\n DialogBody,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n DialogClose,\n type DialogProps,\n type DialogContentProps,\n} from '../dialog';\n\nexport type AlertDialogProps = Omit<DialogProps, 'role' | 'dismissOnOutsideClick'>;\n\nexport function AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} role=\"alertdialog\" dismissOnOutsideClick={false} />;\n}\n\nexport const AlertDialogContent = forwardRef<HTMLDivElement, DialogContentProps>(\n function AlertDialogContent(props, ref) {\n return <DialogContent ref={ref} {...props} />;\n },\n);\n\nexport interface AlertDialogActionProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n /** Runs before the dialog closes. */\n onAction?: () => void;\n children: ReactNode;\n}\n\nexport const AlertDialogAction = forwardRef<HTMLButtonElement, AlertDialogActionProps>(\n function AlertDialogAction({ onAction, onClick, className, children, ...rest }, ref) {\n return (\n <DialogClose\n ref={ref}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n onAction?.();\n }}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )}\n {...rest}\n >\n {children}\n </DialogClose>\n );\n },\n);\n\nexport interface AlertDialogCancelProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n children: ReactNode;\n}\n\nexport const AlertDialogCancel = forwardRef<HTMLButtonElement, AlertDialogCancelProps>(\n function AlertDialogCancel({ className, children, ...rest }, ref) {\n return (\n <DialogClose\n ref={ref}\n className={cn(\n 'inline-flex h-9 items-center justify-center rounded-md border border-border bg-background px-4 text-sm font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )}\n {...rest}\n >\n {children}\n </DialogClose>\n );\n },\n);\n\ntype AlertDialogComponent = typeof AlertDialog & {\n Trigger: typeof DialogTrigger;\n Content: typeof AlertDialogContent;\n Header: typeof DialogHeader;\n Title: typeof DialogTitle;\n Description: typeof DialogDescription;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Action: typeof AlertDialogAction;\n Cancel: typeof AlertDialogCancel;\n};\n\n(AlertDialog as AlertDialogComponent).Trigger = DialogTrigger;\n(AlertDialog as AlertDialogComponent).Content = AlertDialogContent;\n(AlertDialog as AlertDialogComponent).Header = DialogHeader;\n(AlertDialog as AlertDialogComponent).Title = DialogTitle;\n(AlertDialog as AlertDialogComponent).Description = DialogDescription;\n(AlertDialog as AlertDialogComponent).Body = DialogBody;\n(AlertDialog as AlertDialogComponent).Footer = DialogFooter;\n(AlertDialog as AlertDialogComponent).Action = AlertDialogAction;\n(AlertDialog as AlertDialogComponent).Cancel = AlertDialogCancel;\n\nexport default AlertDialog as AlertDialogComponent;\n","import {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n useRef,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn, composeRefs, surfaceVariants, type SurfaceVariants } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport {\n AnchoredPositioner,\n DismissableLayer,\n OverlayArrow,\n Portal,\n Slot,\n type AnchoredPositionerProps,\n type OverlayArrowProps,\n} from '../../primitives';\n\ninterface PopoverContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n placement: AnchoredPositionerProps['placement'];\n offset: number;\n dismissOnOutsideClick: boolean;\n dismissOnEscape: boolean;\n}\n\nconst PopoverContext = createContext<PopoverContextValue | null>(null);\n\nfunction usePopoverContext() {\n const ctx = useContext(PopoverContext);\n if (!ctx) throw new Error('Popover.* must be used inside <Popover>');\n return ctx;\n}\n\nexport interface PopoverProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placement?: AnchoredPositionerProps['placement'];\n offset?: number;\n dismissOnOutsideClick?: boolean;\n dismissOnEscape?: boolean;\n children: ReactNode;\n}\n\nexport function Popover({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placement = 'bottom',\n offset = 8,\n dismissOnOutsideClick = true,\n dismissOnEscape = true,\n children,\n}: PopoverProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLElement | null>(null);\n\n const ctx = useMemo<PopoverContextValue>(\n () => ({\n open,\n setOpen,\n triggerRef,\n placement,\n offset,\n dismissOnOutsideClick,\n dismissOnEscape,\n }),\n [open, setOpen, placement, offset, dismissOnOutsideClick, dismissOnEscape],\n );\n\n return <PopoverContext.Provider value={ctx}>{children}</PopoverContext.Provider>;\n}\n\nexport interface PopoverTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n asChild?: boolean;\n children: ReactNode;\n}\n\nexport const PopoverTrigger = forwardRef<HTMLButtonElement, PopoverTriggerProps>(\n function PopoverTrigger({ asChild, onClick, children, ...rest }, forwardedRef) {\n const ctx = usePopoverContext();\n const Component = asChild ? Slot : 'button';\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef as React.MutableRefObject<HTMLButtonElement | null>) as never}\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={ctx.open}\n data-state={ctx.open ? 'open' : 'closed'}\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(!ctx.open);\n }}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport interface PopoverContentProps\n extends HTMLAttributes<HTMLDivElement>,\n SurfaceVariants {\n /**\n * Skip the surface chrome entirely. Use when the child provides its own\n * container (Listbox, Calendar, pre-styled card). Keeps only structural\n * classes (z-index, animation, outline).\n *\n * `bare={true}` is equivalent to omitting variant/tone — except it ALSO\n * skips the default `variant=\"surface\"` (no bg/border/shadow at all).\n */\n bare?: boolean;\n children: ReactNode;\n}\n\n/* Default width when chrome is applied — preserves the historical look. */\nconst DEFAULT_WIDTH = 'w-72';\n\nexport const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(\n function PopoverContent(\n { bare, variant, tone, radius, padding, elevation, className, children, ...rest },\n forwardedRef,\n ) {\n const ctx = usePopoverContext();\n if (!ctx.open) return null;\n /* Pad-by-default when chrome is on (matches old `p-4`); consumer can override. */\n const resolvedPadding = padding ?? (bare ? 'none' : 'lg');\n return (\n <Portal>\n <AnchoredPositioner\n anchor={ctx.triggerRef.current}\n placement={ctx.placement}\n offset={ctx.offset}\n >\n <FocusScope asChild trapped loop>\n <DismissableLayer\n disableEscape={!ctx.dismissOnEscape}\n onEscape={() => {\n ctx.setOpen(false);\n requestAnimationFrame(() => ctx.triggerRef.current?.focus());\n }}\n disableOutsideClick={!ctx.dismissOnOutsideClick}\n onOutsidePointerDown={(e) => {\n if (ctx.triggerRef.current?.contains(e.target as Node)) return;\n ctx.setOpen(false);\n }}\n >\n <div\n ref={forwardedRef}\n role=\"dialog\"\n data-state=\"open\"\n className={cn(\n 'z-dropdown outline-none animate-in fade-in-0 zoom-in-95',\n !bare &&\n cn(\n DEFAULT_WIDTH,\n surfaceVariants({\n variant,\n tone,\n radius,\n padding: resolvedPadding,\n elevation,\n }),\n ),\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n </DismissableLayer>\n </FocusScope>\n </AnchoredPositioner>\n </Portal>\n );\n },\n);\n\nexport function PopoverArrow({ className, ...rest }: OverlayArrowProps) {\n return <OverlayArrow className={cn('text-popover', className)} {...rest} />;\n}\n\ntype PopoverComponent = typeof Popover & {\n Trigger: typeof PopoverTrigger;\n Content: typeof PopoverContent;\n Arrow: typeof PopoverArrow;\n};\n\n(Popover as PopoverComponent).Trigger = PopoverTrigger;\n(Popover as PopoverComponent).Content = PopoverContent;\n(Popover as PopoverComponent).Arrow = PopoverArrow;\n\nexport default Popover as PopoverComponent;\n","import {\n cloneElement,\n createContext,\n forwardRef,\n isValidElement,\n useCallback,\n useContext,\n useMemo,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport { cn, composeRefs } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport {\n AnchoredPositioner,\n OverlayArrow,\n Portal,\n type AnchoredPositionerProps,\n type OverlayArrowProps,\n} from '../../primitives';\n\ninterface HoverCardContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n show: () => void;\n hide: () => void;\n cancelHide: () => void;\n placement: AnchoredPositionerProps['placement'];\n offset: number;\n}\n\nconst HoverCardContext = createContext<HoverCardContextValue | null>(null);\n\nfunction useHoverCardContext() {\n const ctx = useContext(HoverCardContext);\n if (!ctx) throw new Error('HoverCard.* must be used inside <HoverCard>');\n return ctx;\n}\n\nexport interface HoverCardProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n placement?: AnchoredPositionerProps['placement'];\n offset?: number;\n children: ReactNode;\n}\n\nexport function HoverCard({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n placement = 'bottom',\n offset = 8,\n children,\n}: HoverCardProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLElement | null>(null);\n const openTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const closeTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clear = useCallback(() => {\n if (openTimer.current) clearTimeout(openTimer.current);\n if (closeTimer.current) clearTimeout(closeTimer.current);\n openTimer.current = null;\n closeTimer.current = null;\n }, []);\n\n const show = useCallback(() => {\n clear();\n openTimer.current = setTimeout(() => setOpen(true), openDelay);\n }, [clear, openDelay, setOpen]);\n\n const hide = useCallback(() => {\n clear();\n closeTimer.current = setTimeout(() => setOpen(false), closeDelay);\n }, [clear, closeDelay, setOpen]);\n\n const cancelHide = useCallback(() => {\n if (closeTimer.current) {\n clearTimeout(closeTimer.current);\n closeTimer.current = null;\n }\n }, []);\n\n const ctx = useMemo<HoverCardContextValue>(\n () => ({ open, setOpen, triggerRef, show, hide, cancelHide, placement, offset }),\n [open, setOpen, show, hide, cancelHide, placement, offset],\n );\n\n return <HoverCardContext.Provider value={ctx}>{children}</HoverCardContext.Provider>;\n}\n\nexport interface HoverCardTriggerProps {\n asChild?: boolean;\n children: ReactElement;\n}\n\nexport function HoverCardTrigger({ children }: HoverCardTriggerProps) {\n const ctx = useHoverCardContext();\n if (!isValidElement(children)) return children;\n const trigger = children as ReactElement<{\n ref?: Ref<HTMLElement>;\n onPointerEnter?: (e: React.PointerEvent) => void;\n onPointerLeave?: (e: React.PointerEvent) => void;\n onFocus?: (e: React.FocusEvent) => void;\n onBlur?: (e: React.FocusEvent) => void;\n }> & { ref?: Ref<HTMLElement> };\n\n return cloneElement(trigger, {\n ref: composeRefs((node: HTMLElement | null) => {\n ctx.triggerRef.current = node;\n }, trigger.ref),\n onPointerEnter: (e: React.PointerEvent) => {\n trigger.props.onPointerEnter?.(e);\n ctx.show();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n trigger.props.onPointerLeave?.(e);\n ctx.hide();\n },\n onFocus: (e: React.FocusEvent) => {\n trigger.props.onFocus?.(e);\n ctx.show();\n },\n onBlur: (e: React.FocusEvent) => {\n trigger.props.onBlur?.(e);\n ctx.hide();\n },\n });\n}\n\nexport interface HoverCardContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const HoverCardContent = forwardRef<HTMLDivElement, HoverCardContentProps>(\n function HoverCardContent({ className, children, onPointerEnter, onPointerLeave, ...rest }, forwardedRef) {\n const ctx = useHoverCardContext();\n if (!ctx.open) return null;\n return (\n <Portal>\n <AnchoredPositioner\n anchor={ctx.triggerRef.current}\n placement={ctx.placement}\n offset={ctx.offset}\n >\n <div\n ref={forwardedRef}\n data-state=\"open\"\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n ctx.cancelHide();\n }}\n onPointerLeave={(e) => {\n onPointerLeave?.(e);\n ctx.hide();\n }}\n className={cn(\n 'z-dropdown w-64 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none animate-in fade-in-0 zoom-in-95',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n </AnchoredPositioner>\n </Portal>\n );\n },\n);\n\nexport function HoverCardArrow({ className, ...rest }: OverlayArrowProps) {\n return <OverlayArrow className={cn('text-popover', className)} {...rest} />;\n}\n\ntype HoverCardComponent = typeof HoverCard & {\n Trigger: typeof HoverCardTrigger;\n Content: typeof HoverCardContent;\n Arrow: typeof HoverCardArrow;\n};\n\n(HoverCard as HoverCardComponent).Trigger = HoverCardTrigger;\n(HoverCard as HoverCardComponent).Content = HoverCardContent;\n(HoverCard as HoverCardComponent).Arrow = HoverCardArrow;\n\nexport default HoverCard as HoverCardComponent;\n","import {\n createContext,\n forwardRef,\n useContext,\n useMemo,\n type ButtonHTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../utils';\nimport { Drawer, DrawerContent, DrawerDescription, DrawerTitle } from '../drawer';\n\ninterface ActionSheetContextValue {\n setOpen: (open: boolean) => void;\n}\n\nconst ActionSheetContext = createContext<ActionSheetContextValue | null>(null);\n\nfunction useActionSheetContext() {\n const ctx = useContext(ActionSheetContext);\n if (!ctx) throw new Error('ActionSheet.* must be used inside <ActionSheet>');\n return ctx;\n}\n\nexport interface ActionSheetProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: ReactNode;\n description?: ReactNode;\n className?: string;\n children: ReactNode;\n}\n\n/**\n * iOS-style action sheet — opinionated bottom Drawer with stacked button rows\n * and a separated Cancel.\n */\nexport function ActionSheet({\n open,\n defaultOpen,\n onOpenChange,\n title,\n description,\n className,\n children,\n}: ActionSheetProps) {\n // We can't intercept `setOpen` from Drawer's context directly, so the\n // ActionSheet wraps Drawer with our own controlled bridge.\n const handleOpenChange = (next: boolean) => onOpenChange?.(next);\n\n const ctx = useMemo<ActionSheetContextValue>(\n () => ({ setOpen: handleOpenChange }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onOpenChange],\n );\n\n return (\n <ActionSheetContext.Provider value={ctx}>\n <Drawer open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange} side=\"bottom\">\n <DrawerContent\n className={cn(\n 'mx-auto max-w-md rounded-t-xl bg-card p-2 text-card-foreground',\n className,\n )}\n >\n {(title || description) && (\n <div className=\"px-3 py-2 text-center\">\n {title && (\n <DrawerTitle className=\"text-sm font-medium text-muted-foreground\">\n {title}\n </DrawerTitle>\n )}\n {description && (\n <DrawerDescription className=\"mt-1 text-xs text-muted-foreground\">\n {description}\n </DrawerDescription>\n )}\n </div>\n )}\n <div className=\"flex flex-col gap-px overflow-hidden rounded-lg bg-border\">\n {children}\n </div>\n </DrawerContent>\n </Drawer>\n </ActionSheetContext.Provider>\n );\n}\n\nexport interface ActionSheetActionProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n onSelect?: () => void;\n destructive?: boolean;\n}\n\nexport const ActionSheetAction = forwardRef<HTMLButtonElement, ActionSheetActionProps>(\n function ActionSheetAction(\n { className, onSelect, destructive, onClick, children, type = 'button', ...rest },\n ref,\n ) {\n const ctx = useActionSheetContext();\n return (\n <button\n ref={ref}\n type={type}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n onSelect?.();\n ctx.setOpen(false);\n }}\n className={cn(\n 'flex h-12 w-full items-center justify-center bg-card px-4 text-base font-medium transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n destructive ? 'text-destructive' : 'text-foreground',\n className,\n )}\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\n\nexport type ActionSheetCancelProps = ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const ActionSheetCancel = forwardRef<HTMLButtonElement, ActionSheetCancelProps>(\n function ActionSheetCancel({ className, onClick, children = 'Cancel', type = 'button', ...rest }, ref) {\n const ctx = useActionSheetContext();\n return (\n <button\n ref={ref}\n type={type}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(false);\n }}\n className={cn(\n 'mt-2 flex h-12 w-full items-center justify-center rounded-lg bg-card text-base font-semibold text-foreground shadow-sm transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )}\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\n\ntype ActionSheetComponent = typeof ActionSheet & {\n Action: typeof ActionSheetAction;\n Cancel: typeof ActionSheetCancel;\n};\n\n(ActionSheet as ActionSheetComponent).Action = ActionSheetAction;\n(ActionSheet as ActionSheetComponent).Cancel = ActionSheetCancel;\n\nexport default ActionSheet as ActionSheetComponent;\n","import {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent,\n type PointerEvent as ReactPointerEvent,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport { DismissableLayer, Portal, ScrollLockProvider } from '../../primitives';\nimport { Backdrop } from '../backdrop';\n\ntype SnapPoint = number | string;\n\ninterface BottomSheetContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n currentSnap: number;\n setCurrentSnap: (i: number) => void;\n snapPoints: SnapPoint[];\n}\n\nconst BottomSheetContext = createContext<BottomSheetContextValue | null>(null);\n\nexport function useBottomSheet() {\n const ctx = useContext(BottomSheetContext);\n if (!ctx) throw new Error('useBottomSheet must be used inside <BottomSheet>');\n return ctx;\n}\n\nfunction resolveSnapPx(point: SnapPoint, viewport: number): number {\n if (typeof point === 'number') return point;\n const trimmed = point.trim();\n if (trimmed.endsWith('vh')) return (parseFloat(trimmed) / 100) * viewport;\n if (trimmed.endsWith('px')) return parseFloat(trimmed);\n if (trimmed.endsWith('%')) return (parseFloat(trimmed) / 100) * viewport;\n // Fallback: try parseFloat as px.\n const n = parseFloat(trimmed);\n return Number.isFinite(n) ? n : 0;\n}\n\nexport interface BottomSheetProps extends HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n snapPoints?: SnapPoint[];\n initialSnap?: number;\n dismissOnOutsideClick?: boolean;\n dismissOnEscape?: boolean;\n dragToDismiss?: boolean;\n children: ReactNode;\n}\n\n/**\n * Mobile bottom sheet with drag handle + snap points. Pointer-event drag\n * between heights; releasing snaps to the nearest point. Past the lowest\n * snap with `dragToDismiss`, the sheet closes.\n */\nexport const BottomSheet = forwardRef<HTMLDivElement, BottomSheetProps>(function BottomSheet(\n {\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n snapPoints = ['40vh', '90vh'],\n initialSnap = 0,\n dismissOnOutsideClick = true,\n dismissOnEscape = true,\n dragToDismiss = true,\n className,\n children,\n ...rest\n },\n forwardedRef,\n) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const [currentSnap, setCurrentSnap] = useState(\n Math.min(initialSnap, snapPoints.length - 1),\n );\n const sheetRef = useRef<HTMLDivElement | null>(null);\n const startYRef = useRef<number | null>(null);\n const startHeightRef = useRef(0);\n const [dragHeight, setDragHeight] = useState<number | null>(null);\n\n // Reset to initialSnap each time we re-open.\n useEffect(() => {\n if (open) setCurrentSnap(Math.min(initialSnap, snapPoints.length - 1));\n }, [open, initialSnap, snapPoints.length]);\n\n const ctx = useMemo<BottomSheetContextValue>(\n () => ({ open, setOpen, currentSnap, setCurrentSnap, snapPoints }),\n [open, setOpen, currentSnap, snapPoints],\n );\n\n const handlePointerDown = (e: ReactPointerEvent<HTMLDivElement>) => {\n startYRef.current = e.clientY;\n const rect = sheetRef.current?.getBoundingClientRect();\n startHeightRef.current = rect ? rect.height : 0;\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n };\n\n const handlePointerMove = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (startYRef.current == null) return;\n const dy = e.clientY - startYRef.current;\n setDragHeight(Math.max(0, startHeightRef.current - dy));\n };\n\n const handlePointerUp = (e: ReactPointerEvent<HTMLDivElement>) => {\n if (startYRef.current == null) return;\n startYRef.current = null;\n (e.currentTarget as HTMLElement).releasePointerCapture?.(e.pointerId);\n\n const viewport = typeof window !== 'undefined' ? window.innerHeight : 800;\n const heights = snapPoints.map((p) => resolveSnapPx(p, viewport));\n const liveHeight = dragHeight ?? heights[currentSnap] ?? 0;\n setDragHeight(null);\n\n // Below lowest snap by 60px → dismiss.\n if (dragToDismiss && liveHeight < (heights[0] ?? 0) - 60) {\n setOpen(false);\n return;\n }\n // Snap to nearest.\n let bestIdx = 0;\n let bestDist = Number.POSITIVE_INFINITY;\n heights.forEach((h, i) => {\n const d = Math.abs(h - liveHeight);\n if (d < bestDist) {\n bestDist = d;\n bestIdx = i;\n }\n });\n setCurrentSnap(bestIdx);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'ArrowUp' && currentSnap < snapPoints.length - 1) {\n e.preventDefault();\n setCurrentSnap(currentSnap + 1);\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (currentSnap > 0) setCurrentSnap(currentSnap - 1);\n else if (dragToDismiss) setOpen(false);\n }\n };\n\n if (!open) return null;\n\n const heightStyle: string | number = (() => {\n if (dragHeight != null) return `${dragHeight}px`;\n const point = snapPoints[currentSnap];\n if (typeof point === 'number') return `${point}px`;\n return point ?? '40vh';\n })();\n\n return (\n <BottomSheetContext.Provider value={ctx}>\n <Portal>\n <ScrollLockProvider>\n <Backdrop\n inline\n onClick={() => {\n if (dismissOnOutsideClick) setOpen(false);\n }}\n />\n <FocusScope asChild trapped loop>\n <DismissableLayer\n disableEscape={!dismissOnEscape}\n onEscape={() => setOpen(false)}\n disableOutsideClick\n >\n <div\n ref={(el) => {\n sheetRef.current = el;\n if (typeof forwardedRef === 'function') forwardedRef(el);\n else if (forwardedRef) (forwardedRef as React.MutableRefObject<HTMLDivElement | null>).current = el;\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n style={{\n height: heightStyle,\n transition: dragHeight == null ? 'height 220ms ease-out' : 'none',\n }}\n className={cn(\n 'fixed inset-x-0 bottom-0 z-modal flex flex-col rounded-t-xl border-t border-border bg-card text-card-foreground shadow-2xl outline-none',\n className,\n )}\n {...rest}\n >\n <div\n role=\"separator\"\n aria-orientation=\"horizontal\"\n aria-valuenow={currentSnap}\n aria-valuemin={0}\n aria-valuemax={snapPoints.length - 1}\n tabIndex={0}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n onPointerCancel={handlePointerUp}\n onKeyDown={handleKeyDown}\n className=\"flex h-7 cursor-ns-resize items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring\"\n >\n <span className=\"h-1 w-10 rounded-full bg-border-strong\" aria-hidden=\"true\" />\n </div>\n <div className=\"flex-1 overflow-y-auto px-4 pb-4\">{children}</div>\n </div>\n </DismissableLayer>\n </FocusScope>\n </ScrollLockProvider>\n </Portal>\n </BottomSheetContext.Provider>\n );\n});\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { listboxItemVariants, listboxVariants, listboxGroupLabelVariants, listboxSeparatorVariants, listboxEmptyVariants } from './chunk-
|
|
2
|
-
import { PopoverTrigger, Popover, PopoverContent } from './chunk-
|
|
3
|
-
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, Kbd, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-
|
|
1
|
+
import { listboxItemVariants, listboxVariants, listboxGroupLabelVariants, listboxSeparatorVariants, listboxEmptyVariants } from './chunk-WPC3KBRU.js';
|
|
2
|
+
import { PopoverTrigger, Popover, PopoverContent } from './chunk-C6XVQ5TW.js';
|
|
3
|
+
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, Kbd, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-5V7FBKKL.js';
|
|
4
4
|
import { useControlled } from './chunk-NUMFGKPY.js';
|
|
5
5
|
import { Icon } from './chunk-F227LKWK.js';
|
|
6
|
-
import { tv, CssExtensions, dataAttr } from './chunk-
|
|
6
|
+
import { tv, CssExtensions, dataAttr, surfaceVariants } from './chunk-34TLJSEH.js';
|
|
7
7
|
import { useFormControl, FormControlProvider, RovingFocusGroup, useRovingFocusItem, Portal, AnchoredPositioner, DismissableLayer } from './chunk-BMABNEZX.js';
|
|
8
8
|
import { useId } from './chunk-KDXJQNB6.js';
|
|
9
9
|
import { cn, composeRefs } from './chunk-LDRFQG44.js';
|
|
@@ -95,9 +95,10 @@ Legend.displayName = "Legend";
|
|
|
95
95
|
|
|
96
96
|
// src/forms/InputStyles.ts
|
|
97
97
|
var inputBaseVariants = tv({
|
|
98
|
-
base: "flex w-full rounded-md border bg-
|
|
98
|
+
base: "flex w-full rounded-md border bg-popover text-foreground placeholder:text-subtle-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60 read-only:bg-muted",
|
|
99
99
|
variants: {
|
|
100
100
|
size: {
|
|
101
|
+
xs: "h-7 px-2 text-xs",
|
|
101
102
|
sm: "h-8 px-2.5 text-sm",
|
|
102
103
|
md: "h-10 px-3 text-sm",
|
|
103
104
|
lg: "h-12 px-4 text-base"
|
|
@@ -1285,6 +1286,12 @@ function ListboxImpl(props, ref) {
|
|
|
1285
1286
|
defaultValue,
|
|
1286
1287
|
onValueChange,
|
|
1287
1288
|
isEqual,
|
|
1289
|
+
indicator,
|
|
1290
|
+
variant,
|
|
1291
|
+
tone,
|
|
1292
|
+
radius,
|
|
1293
|
+
padding,
|
|
1294
|
+
elevation,
|
|
1288
1295
|
disabled,
|
|
1289
1296
|
className,
|
|
1290
1297
|
children,
|
|
@@ -1292,6 +1299,7 @@ function ListboxImpl(props, ref) {
|
|
|
1292
1299
|
...rest
|
|
1293
1300
|
} = props;
|
|
1294
1301
|
const equals = isEqual ?? defaultEquals;
|
|
1302
|
+
const resolvedIndicator = indicator ?? (multiple ? "checkbox" : "check");
|
|
1295
1303
|
const initial = defaultValue ?? (multiple ? [] : void 0);
|
|
1296
1304
|
const [current, setCurrent] = useControlled({
|
|
1297
1305
|
controlled: value,
|
|
@@ -1398,10 +1406,21 @@ function ListboxImpl(props, ref) {
|
|
|
1398
1406
|
onItemSelect,
|
|
1399
1407
|
registerItem,
|
|
1400
1408
|
unregisterItem,
|
|
1401
|
-
setActiveId
|
|
1409
|
+
setActiveId,
|
|
1410
|
+
indicator: resolvedIndicator
|
|
1402
1411
|
}),
|
|
1403
|
-
[
|
|
1412
|
+
[
|
|
1413
|
+
multiple,
|
|
1414
|
+
values,
|
|
1415
|
+
equals,
|
|
1416
|
+
activeId,
|
|
1417
|
+
onItemSelect,
|
|
1418
|
+
registerItem,
|
|
1419
|
+
unregisterItem,
|
|
1420
|
+
resolvedIndicator
|
|
1421
|
+
]
|
|
1404
1422
|
);
|
|
1423
|
+
const resolvedPadding = padding ?? "xs";
|
|
1405
1424
|
return /* @__PURE__ */ jsx(ListboxContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
|
|
1406
1425
|
"div",
|
|
1407
1426
|
{
|
|
@@ -1412,17 +1431,76 @@ function ListboxImpl(props, ref) {
|
|
|
1412
1431
|
"aria-activedescendant": activeId ?? void 0,
|
|
1413
1432
|
"aria-disabled": disabled || void 0,
|
|
1414
1433
|
onKeyDown: handleKeyDown,
|
|
1415
|
-
className: cn(
|
|
1434
|
+
className: cn(
|
|
1435
|
+
surfaceVariants({ variant, tone, radius, padding: resolvedPadding, elevation }),
|
|
1436
|
+
listboxVariants(),
|
|
1437
|
+
className
|
|
1438
|
+
),
|
|
1416
1439
|
...rest,
|
|
1417
1440
|
children
|
|
1418
1441
|
}
|
|
1419
1442
|
) });
|
|
1420
1443
|
}
|
|
1421
1444
|
var ListboxForwardRef = forwardRef(ListboxImpl);
|
|
1422
|
-
|
|
1445
|
+
function LeadingIndicator({
|
|
1446
|
+
indicator,
|
|
1447
|
+
isSelected
|
|
1448
|
+
}) {
|
|
1449
|
+
if (indicator === "checkbox") {
|
|
1450
|
+
return /* @__PURE__ */ jsx(
|
|
1451
|
+
"span",
|
|
1452
|
+
{
|
|
1453
|
+
"aria-hidden": true,
|
|
1454
|
+
className: cn(
|
|
1455
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded-sm border",
|
|
1456
|
+
isSelected ? "border-primary bg-primary text-primary-foreground" : "border-border"
|
|
1457
|
+
),
|
|
1458
|
+
children: isSelected && /* @__PURE__ */ jsx(Check, { className: "h-3 w-3" })
|
|
1459
|
+
}
|
|
1460
|
+
);
|
|
1461
|
+
}
|
|
1462
|
+
if (indicator === "radio") {
|
|
1463
|
+
return /* @__PURE__ */ jsx(
|
|
1464
|
+
"span",
|
|
1465
|
+
{
|
|
1466
|
+
"aria-hidden": true,
|
|
1467
|
+
className: cn(
|
|
1468
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded-full border",
|
|
1469
|
+
isSelected ? "border-primary" : "border-border"
|
|
1470
|
+
),
|
|
1471
|
+
children: isSelected && /* @__PURE__ */ jsx("span", { className: "h-2 w-2 rounded-full bg-primary" })
|
|
1472
|
+
}
|
|
1473
|
+
);
|
|
1474
|
+
}
|
|
1475
|
+
if (indicator === "dot") {
|
|
1476
|
+
return /* @__PURE__ */ jsx(
|
|
1477
|
+
"span",
|
|
1478
|
+
{
|
|
1479
|
+
"aria-hidden": true,
|
|
1480
|
+
className: cn(
|
|
1481
|
+
"h-1.5 w-1.5 shrink-0 rounded-full",
|
|
1482
|
+
isSelected ? "bg-primary" : "bg-transparent"
|
|
1483
|
+
)
|
|
1484
|
+
}
|
|
1485
|
+
);
|
|
1486
|
+
}
|
|
1487
|
+
return null;
|
|
1488
|
+
}
|
|
1489
|
+
function TrailingIndicator({
|
|
1490
|
+
indicator,
|
|
1491
|
+
isSelected,
|
|
1492
|
+
multiple
|
|
1493
|
+
}) {
|
|
1494
|
+
if (indicator === "check" && isSelected) {
|
|
1495
|
+
return /* @__PURE__ */ jsx(Check, { className: cn("h-4 w-4 shrink-0", !multiple && "opacity-80") });
|
|
1496
|
+
}
|
|
1497
|
+
return null;
|
|
1498
|
+
}
|
|
1499
|
+
var ListboxItem = forwardRef(function ListboxItem2({ value, disabled = false, indicator: itemIndicator, className, children, onClick, onPointerEnter, ...rest }, forwardedRef) {
|
|
1423
1500
|
const ctx = useListboxContext();
|
|
1424
1501
|
const id = useId$1();
|
|
1425
1502
|
const ref = useRef(null);
|
|
1503
|
+
const indicator = itemIndicator ?? ctx.indicator;
|
|
1426
1504
|
useEffect(() => {
|
|
1427
1505
|
ctx.registerItem({ id, value, disabled });
|
|
1428
1506
|
return () => ctx.unregisterItem(id);
|
|
@@ -1458,9 +1536,9 @@ var ListboxItem = forwardRef(function ListboxItem2({ value, disabled = false, cl
|
|
|
1458
1536
|
className: cn(listboxItemVariants({ state }), className),
|
|
1459
1537
|
...rest,
|
|
1460
1538
|
children: [
|
|
1461
|
-
/* @__PURE__ */ jsx(
|
|
1462
|
-
|
|
1463
|
-
|
|
1539
|
+
/* @__PURE__ */ jsx(LeadingIndicator, { indicator, isSelected }),
|
|
1540
|
+
/* @__PURE__ */ jsx("span", { className: "flex min-w-0 flex-1 items-center gap-2", children }),
|
|
1541
|
+
/* @__PURE__ */ jsx(TrailingIndicator, { indicator, isSelected, multiple: ctx.multiple })
|
|
1464
1542
|
]
|
|
1465
1543
|
}
|
|
1466
1544
|
);
|
|
@@ -1486,9 +1564,10 @@ Listbox.Empty = ListboxEmpty;
|
|
|
1486
1564
|
|
|
1487
1565
|
// src/forms/select/Select.variants.ts
|
|
1488
1566
|
var selectTriggerVariants = tv({
|
|
1489
|
-
base: "flex w-full items-center justify-between gap-2 rounded-md border bg-
|
|
1567
|
+
base: "flex w-full items-center justify-between gap-2 rounded-md border bg-popover text-foreground transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60 data-[state=open]:border-border-strong",
|
|
1490
1568
|
variants: {
|
|
1491
1569
|
size: {
|
|
1570
|
+
xs: "h-7 gap-1.5 px-2 text-xs",
|
|
1492
1571
|
sm: "h-8 px-2.5 text-sm",
|
|
1493
1572
|
md: "h-10 px-3 text-sm",
|
|
1494
1573
|
lg: "h-12 px-4 text-base"
|
|
@@ -1709,18 +1788,31 @@ function SelectContent({
|
|
|
1709
1788
|
searchable = false,
|
|
1710
1789
|
searchPlaceholder = "Search\u2026",
|
|
1711
1790
|
noResultsLabel = "No results",
|
|
1791
|
+
variant,
|
|
1792
|
+
tone,
|
|
1793
|
+
radius,
|
|
1794
|
+
padding,
|
|
1795
|
+
elevation,
|
|
1712
1796
|
children
|
|
1713
1797
|
}) {
|
|
1714
1798
|
const ctx = useSelectContext();
|
|
1715
1799
|
const hasItems = ctx.items.length > 0;
|
|
1716
1800
|
const visibleCount = ctx.query ? ctx.items.filter((i) => i.text.toLowerCase().includes(ctx.query.toLowerCase())).length : ctx.items.length;
|
|
1717
1801
|
const showEmpty = hasItems && visibleCount === 0;
|
|
1718
|
-
return /* @__PURE__ */
|
|
1719
|
-
|
|
1802
|
+
return /* @__PURE__ */ jsxs(
|
|
1803
|
+
PopoverContent,
|
|
1720
1804
|
{
|
|
1721
|
-
|
|
1805
|
+
variant,
|
|
1806
|
+
tone,
|
|
1807
|
+
radius,
|
|
1808
|
+
padding: padding ?? "none",
|
|
1809
|
+
elevation,
|
|
1810
|
+
className: cn(
|
|
1811
|
+
"w-auto min-w-[var(--anchor-width)] overflow-hidden",
|
|
1812
|
+
className
|
|
1813
|
+
),
|
|
1722
1814
|
children: [
|
|
1723
|
-
searchable && /* @__PURE__ */ jsx("div", { className: "border-b border-border
|
|
1815
|
+
searchable && /* @__PURE__ */ jsx("div", { className: "border-b border-border p-1", children: /* @__PURE__ */ jsx(
|
|
1724
1816
|
SearchInput,
|
|
1725
1817
|
{
|
|
1726
1818
|
size: "sm",
|
|
@@ -1741,7 +1833,8 @@ function SelectContent({
|
|
|
1741
1833
|
if (v !== null && v !== void 0) ctx.onSelect(v);
|
|
1742
1834
|
},
|
|
1743
1835
|
isEqual: ctx.isEqual,
|
|
1744
|
-
|
|
1836
|
+
variant: "flat",
|
|
1837
|
+
radius: "none",
|
|
1745
1838
|
children: [
|
|
1746
1839
|
children,
|
|
1747
1840
|
showEmpty && /* @__PURE__ */ jsx(ListboxEmpty, { children: noResultsLabel })
|
|
@@ -1751,7 +1844,7 @@ function SelectContent({
|
|
|
1751
1844
|
ctx.name && ctx.hasValue && /* @__PURE__ */ jsx("input", { type: "hidden", name: ctx.name, value: ctx.serialize(ctx.value) })
|
|
1752
1845
|
]
|
|
1753
1846
|
}
|
|
1754
|
-
)
|
|
1847
|
+
);
|
|
1755
1848
|
}
|
|
1756
1849
|
function extractText(node) {
|
|
1757
1850
|
if (node == null || typeof node === "boolean") return "";
|
|
@@ -1933,21 +2026,41 @@ function MultiSelectTags({ placeholder }) {
|
|
|
1933
2026
|
v
|
|
1934
2027
|
)) });
|
|
1935
2028
|
}
|
|
1936
|
-
function MultiSelectContent({
|
|
2029
|
+
function MultiSelectContent({
|
|
2030
|
+
className,
|
|
2031
|
+
variant,
|
|
2032
|
+
tone,
|
|
2033
|
+
radius,
|
|
2034
|
+
padding,
|
|
2035
|
+
elevation,
|
|
2036
|
+
children
|
|
2037
|
+
}) {
|
|
1937
2038
|
const ctx = useMultiSelectContext();
|
|
1938
|
-
return /* @__PURE__ */ jsxs(
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
2039
|
+
return /* @__PURE__ */ jsxs(
|
|
2040
|
+
PopoverContent,
|
|
2041
|
+
{
|
|
2042
|
+
variant,
|
|
2043
|
+
tone,
|
|
2044
|
+
radius,
|
|
2045
|
+
padding: padding ?? "none",
|
|
2046
|
+
elevation,
|
|
2047
|
+
className: cn("w-auto min-w-[var(--anchor-width)] overflow-hidden", className),
|
|
2048
|
+
children: [
|
|
2049
|
+
/* @__PURE__ */ jsx(
|
|
2050
|
+
Listbox,
|
|
2051
|
+
{
|
|
2052
|
+
multiple: true,
|
|
2053
|
+
value: ctx.values,
|
|
2054
|
+
onValueChange: (v) => ctx.setValues(v),
|
|
2055
|
+
variant: "flat",
|
|
2056
|
+
radius: "none",
|
|
2057
|
+
children
|
|
2058
|
+
}
|
|
2059
|
+
),
|
|
2060
|
+
ctx.name && ctx.values.map((v) => /* @__PURE__ */ jsx("input", { type: "hidden", name: ctx.name, value: v }, v))
|
|
2061
|
+
]
|
|
2062
|
+
}
|
|
2063
|
+
);
|
|
1951
2064
|
}
|
|
1952
2065
|
var MultiSelectItem = forwardRef(
|
|
1953
2066
|
function MultiSelectItem2(props, ref) {
|
|
@@ -2167,10 +2280,16 @@ function ComboboxContent({
|
|
|
2167
2280
|
className,
|
|
2168
2281
|
placement = "bottom",
|
|
2169
2282
|
offset = 6,
|
|
2283
|
+
variant,
|
|
2284
|
+
tone,
|
|
2285
|
+
radius,
|
|
2286
|
+
padding,
|
|
2287
|
+
elevation,
|
|
2170
2288
|
children
|
|
2171
2289
|
}) {
|
|
2172
2290
|
const ctx = useComboboxContext();
|
|
2173
2291
|
if (!ctx.open) return null;
|
|
2292
|
+
const resolvedPadding = padding ?? "xs";
|
|
2174
2293
|
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(AnchoredPositioner, { anchor: ctx.inputRef.current, placement, offset, children: /* @__PURE__ */ jsx(
|
|
2175
2294
|
DismissableLayer,
|
|
2176
2295
|
{
|
|
@@ -2184,7 +2303,17 @@ function ComboboxContent({
|
|
|
2184
2303
|
{
|
|
2185
2304
|
id: ctx.listboxId,
|
|
2186
2305
|
role: "listbox",
|
|
2187
|
-
className: cn(
|
|
2306
|
+
className: cn(
|
|
2307
|
+
surfaceVariants({
|
|
2308
|
+
variant,
|
|
2309
|
+
tone,
|
|
2310
|
+
radius,
|
|
2311
|
+
padding: resolvedPadding,
|
|
2312
|
+
elevation
|
|
2313
|
+
}),
|
|
2314
|
+
listboxVariants(),
|
|
2315
|
+
className
|
|
2316
|
+
),
|
|
2188
2317
|
style: ctx.inputRef.current ? { minWidth: ctx.inputRef.current.offsetWidth } : void 0,
|
|
2189
2318
|
children
|
|
2190
2319
|
}
|
|
@@ -7272,5 +7401,5 @@ var ChatComposer = forwardRef(
|
|
|
7272
7401
|
ChatComposer.displayName = "ChatComposer";
|
|
7273
7402
|
|
|
7274
7403
|
export { ADDRESS_COUNTRIES, AddressForm, BUILT_IN_EMOJI, BUILT_IN_FONTS, Calendar, CharacterCount, ChatComposer, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CronInput, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, EmojiPicker, Fieldset, FilePicker, FileUpload, FontPicker, FormErrorMessage, FormField, FormHelperText, GradientPicker, IconPicker, InputAddon, InputGroup, JSONEditor, KeyboardShortcutPicker, Knob, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PHONE_COUNTRIES, PasswordInput, PasswordStrength, PercentInput, PhoneInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, ReactionPicker, RecurrenceEditor, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, gradientToCss, useWizard };
|
|
7275
|
-
//# sourceMappingURL=chunk-
|
|
7276
|
-
//# sourceMappingURL=chunk-
|
|
7404
|
+
//# sourceMappingURL=chunk-CMBKBLJE.js.map
|
|
7405
|
+
//# sourceMappingURL=chunk-CMBKBLJE.js.map
|