@wow-two-beta/ui 0.0.46 → 0.0.47
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-R643N32M.js → chunk-66JKAVAM.js} +3 -3
- package/dist/{chunk-R643N32M.js.map → chunk-66JKAVAM.js.map} +1 -1
- package/dist/{chunk-YYY5WBR2.js → chunk-E2LZ227G.js} +4 -4
- package/dist/chunk-E2LZ227G.js.map +1 -0
- package/dist/{chunk-4YMU5MVC.js → chunk-FUBE5PBF.js} +73 -29
- package/dist/chunk-FUBE5PBF.js.map +1 -0
- package/dist/{chunk-35VQ7QBG.js → chunk-M73STT3W.js} +4 -4
- package/dist/{chunk-35VQ7QBG.js.map → chunk-M73STT3W.js.map} +1 -1
- package/dist/{chunk-K2TZTSNQ.js → chunk-NQO75BI2.js} +3 -3
- package/dist/{chunk-K2TZTSNQ.js.map → chunk-NQO75BI2.js.map} +1 -1
- package/dist/{chunk-PA5WBMY5.js → chunk-QMCOB7R5.js} +4 -4
- package/dist/{chunk-PA5WBMY5.js.map → chunk-QMCOB7R5.js.map} +1 -1
- package/dist/{chunk-CN7IOF3B.js → chunk-TJ5GE6QW.js} +28 -5
- package/dist/chunk-TJ5GE6QW.js.map +1 -0
- package/dist/{chunk-2AS5ZKBF.js → chunk-TPR4CYIM.js} +4 -4
- package/dist/{chunk-2AS5ZKBF.js.map → chunk-TPR4CYIM.js.map} +1 -1
- package/dist/{chunk-VDE5B3IY.js → chunk-VHGMTKZB.js} +16 -4
- package/dist/chunk-VHGMTKZB.js.map +1 -0
- package/dist/{chunk-WJGJNSNP.js → chunk-WLFMDWR2.js} +161 -34
- package/dist/chunk-WLFMDWR2.js.map +1 -0
- package/dist/chunk-ZXZM4CMW.js +427 -0
- package/dist/chunk-ZXZM4CMW.js.map +1 -0
- package/dist/display/index.js +3 -3
- package/dist/feedback/index.js +3 -3
- package/dist/forms/combobox/Combobox.d.ts +3 -2
- package/dist/forms/combobox/Combobox.d.ts.map +1 -1
- package/dist/forms/index.js +5 -5
- 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/icons/index.js +1 -1
- package/dist/index.js +11 -11
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +3 -3
- 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 +3 -3
- package/dist/overlays/index.js +2 -2
- package/dist/overlays/popover/Popover.d.ts +8 -5
- package/dist/overlays/popover/Popover.d.ts.map +1 -1
- package/dist/utils/SurfaceStyles.d.ts +324 -0
- package/dist/utils/SurfaceStyles.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -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-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-VHGMTKZB.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-50 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-50 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-50 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-E2LZ227G.js';
|
|
2
|
+
import { PopoverTrigger, Popover, PopoverContent } from './chunk-VHGMTKZB.js';
|
|
3
|
+
import { startOfMonth, isSameDay, isToday, isDateDisabled, parseISODate, formatISODate, parseISOTime, Tag, addMonths, Kbd, addDays, buildMonthGrid, MONTHS_LONG, WEEKDAYS_SHORT, formatISOTime, startOfDay, isInRange } from './chunk-NQO75BI2.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-ZXZM4CMW.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';
|
|
@@ -1285,6 +1285,12 @@ function ListboxImpl(props, ref) {
|
|
|
1285
1285
|
defaultValue,
|
|
1286
1286
|
onValueChange,
|
|
1287
1287
|
isEqual,
|
|
1288
|
+
indicator,
|
|
1289
|
+
variant,
|
|
1290
|
+
tone,
|
|
1291
|
+
radius,
|
|
1292
|
+
padding,
|
|
1293
|
+
elevation,
|
|
1288
1294
|
disabled,
|
|
1289
1295
|
className,
|
|
1290
1296
|
children,
|
|
@@ -1292,6 +1298,7 @@ function ListboxImpl(props, ref) {
|
|
|
1292
1298
|
...rest
|
|
1293
1299
|
} = props;
|
|
1294
1300
|
const equals = isEqual ?? defaultEquals;
|
|
1301
|
+
const resolvedIndicator = indicator ?? (multiple ? "checkbox" : "check");
|
|
1295
1302
|
const initial = defaultValue ?? (multiple ? [] : void 0);
|
|
1296
1303
|
const [current, setCurrent] = useControlled({
|
|
1297
1304
|
controlled: value,
|
|
@@ -1398,10 +1405,21 @@ function ListboxImpl(props, ref) {
|
|
|
1398
1405
|
onItemSelect,
|
|
1399
1406
|
registerItem,
|
|
1400
1407
|
unregisterItem,
|
|
1401
|
-
setActiveId
|
|
1408
|
+
setActiveId,
|
|
1409
|
+
indicator: resolvedIndicator
|
|
1402
1410
|
}),
|
|
1403
|
-
[
|
|
1411
|
+
[
|
|
1412
|
+
multiple,
|
|
1413
|
+
values,
|
|
1414
|
+
equals,
|
|
1415
|
+
activeId,
|
|
1416
|
+
onItemSelect,
|
|
1417
|
+
registerItem,
|
|
1418
|
+
unregisterItem,
|
|
1419
|
+
resolvedIndicator
|
|
1420
|
+
]
|
|
1404
1421
|
);
|
|
1422
|
+
const resolvedPadding = padding ?? "xs";
|
|
1405
1423
|
return /* @__PURE__ */ jsx(ListboxContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
|
|
1406
1424
|
"div",
|
|
1407
1425
|
{
|
|
@@ -1412,17 +1430,76 @@ function ListboxImpl(props, ref) {
|
|
|
1412
1430
|
"aria-activedescendant": activeId ?? void 0,
|
|
1413
1431
|
"aria-disabled": disabled || void 0,
|
|
1414
1432
|
onKeyDown: handleKeyDown,
|
|
1415
|
-
className: cn(
|
|
1433
|
+
className: cn(
|
|
1434
|
+
surfaceVariants({ variant, tone, radius, padding: resolvedPadding, elevation }),
|
|
1435
|
+
listboxVariants(),
|
|
1436
|
+
className
|
|
1437
|
+
),
|
|
1416
1438
|
...rest,
|
|
1417
1439
|
children
|
|
1418
1440
|
}
|
|
1419
1441
|
) });
|
|
1420
1442
|
}
|
|
1421
1443
|
var ListboxForwardRef = forwardRef(ListboxImpl);
|
|
1422
|
-
|
|
1444
|
+
function LeadingIndicator({
|
|
1445
|
+
indicator,
|
|
1446
|
+
isSelected
|
|
1447
|
+
}) {
|
|
1448
|
+
if (indicator === "checkbox") {
|
|
1449
|
+
return /* @__PURE__ */ jsx(
|
|
1450
|
+
"span",
|
|
1451
|
+
{
|
|
1452
|
+
"aria-hidden": true,
|
|
1453
|
+
className: cn(
|
|
1454
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded-sm border",
|
|
1455
|
+
isSelected ? "border-primary bg-primary text-primary-foreground" : "border-border"
|
|
1456
|
+
),
|
|
1457
|
+
children: isSelected && /* @__PURE__ */ jsx(Check, { className: "h-3 w-3" })
|
|
1458
|
+
}
|
|
1459
|
+
);
|
|
1460
|
+
}
|
|
1461
|
+
if (indicator === "radio") {
|
|
1462
|
+
return /* @__PURE__ */ jsx(
|
|
1463
|
+
"span",
|
|
1464
|
+
{
|
|
1465
|
+
"aria-hidden": true,
|
|
1466
|
+
className: cn(
|
|
1467
|
+
"flex h-4 w-4 shrink-0 items-center justify-center rounded-full border",
|
|
1468
|
+
isSelected ? "border-primary" : "border-border"
|
|
1469
|
+
),
|
|
1470
|
+
children: isSelected && /* @__PURE__ */ jsx("span", { className: "h-2 w-2 rounded-full bg-primary" })
|
|
1471
|
+
}
|
|
1472
|
+
);
|
|
1473
|
+
}
|
|
1474
|
+
if (indicator === "dot") {
|
|
1475
|
+
return /* @__PURE__ */ jsx(
|
|
1476
|
+
"span",
|
|
1477
|
+
{
|
|
1478
|
+
"aria-hidden": true,
|
|
1479
|
+
className: cn(
|
|
1480
|
+
"h-1.5 w-1.5 shrink-0 rounded-full",
|
|
1481
|
+
isSelected ? "bg-primary" : "bg-transparent"
|
|
1482
|
+
)
|
|
1483
|
+
}
|
|
1484
|
+
);
|
|
1485
|
+
}
|
|
1486
|
+
return null;
|
|
1487
|
+
}
|
|
1488
|
+
function TrailingIndicator({
|
|
1489
|
+
indicator,
|
|
1490
|
+
isSelected,
|
|
1491
|
+
multiple
|
|
1492
|
+
}) {
|
|
1493
|
+
if (indicator === "check" && isSelected) {
|
|
1494
|
+
return /* @__PURE__ */ jsx(Check, { className: cn("h-4 w-4 shrink-0", !multiple && "opacity-80") });
|
|
1495
|
+
}
|
|
1496
|
+
return null;
|
|
1497
|
+
}
|
|
1498
|
+
var ListboxItem = forwardRef(function ListboxItem2({ value, disabled = false, indicator: itemIndicator, className, children, onClick, onPointerEnter, ...rest }, forwardedRef) {
|
|
1423
1499
|
const ctx = useListboxContext();
|
|
1424
1500
|
const id = useId$1();
|
|
1425
1501
|
const ref = useRef(null);
|
|
1502
|
+
const indicator = itemIndicator ?? ctx.indicator;
|
|
1426
1503
|
useEffect(() => {
|
|
1427
1504
|
ctx.registerItem({ id, value, disabled });
|
|
1428
1505
|
return () => ctx.unregisterItem(id);
|
|
@@ -1458,9 +1535,9 @@ var ListboxItem = forwardRef(function ListboxItem2({ value, disabled = false, cl
|
|
|
1458
1535
|
className: cn(listboxItemVariants({ state }), className),
|
|
1459
1536
|
...rest,
|
|
1460
1537
|
children: [
|
|
1461
|
-
/* @__PURE__ */ jsx(
|
|
1462
|
-
|
|
1463
|
-
|
|
1538
|
+
/* @__PURE__ */ jsx(LeadingIndicator, { indicator, isSelected }),
|
|
1539
|
+
/* @__PURE__ */ jsx("span", { className: "flex min-w-0 flex-1 items-center gap-2", children }),
|
|
1540
|
+
/* @__PURE__ */ jsx(TrailingIndicator, { indicator, isSelected, multiple: ctx.multiple })
|
|
1464
1541
|
]
|
|
1465
1542
|
}
|
|
1466
1543
|
);
|
|
@@ -1709,18 +1786,31 @@ function SelectContent({
|
|
|
1709
1786
|
searchable = false,
|
|
1710
1787
|
searchPlaceholder = "Search\u2026",
|
|
1711
1788
|
noResultsLabel = "No results",
|
|
1789
|
+
variant,
|
|
1790
|
+
tone,
|
|
1791
|
+
radius,
|
|
1792
|
+
padding,
|
|
1793
|
+
elevation,
|
|
1712
1794
|
children
|
|
1713
1795
|
}) {
|
|
1714
1796
|
const ctx = useSelectContext();
|
|
1715
1797
|
const hasItems = ctx.items.length > 0;
|
|
1716
1798
|
const visibleCount = ctx.query ? ctx.items.filter((i) => i.text.toLowerCase().includes(ctx.query.toLowerCase())).length : ctx.items.length;
|
|
1717
1799
|
const showEmpty = hasItems && visibleCount === 0;
|
|
1718
|
-
return /* @__PURE__ */
|
|
1719
|
-
|
|
1800
|
+
return /* @__PURE__ */ jsxs(
|
|
1801
|
+
PopoverContent,
|
|
1720
1802
|
{
|
|
1721
|
-
|
|
1803
|
+
variant,
|
|
1804
|
+
tone,
|
|
1805
|
+
radius,
|
|
1806
|
+
padding: padding ?? "none",
|
|
1807
|
+
elevation,
|
|
1808
|
+
className: cn(
|
|
1809
|
+
"w-auto min-w-[var(--anchor-width)] overflow-hidden",
|
|
1810
|
+
className
|
|
1811
|
+
),
|
|
1722
1812
|
children: [
|
|
1723
|
-
searchable && /* @__PURE__ */ jsx("div", { className: "border-b border-border
|
|
1813
|
+
searchable && /* @__PURE__ */ jsx("div", { className: "border-b border-border p-1", children: /* @__PURE__ */ jsx(
|
|
1724
1814
|
SearchInput,
|
|
1725
1815
|
{
|
|
1726
1816
|
size: "sm",
|
|
@@ -1741,7 +1831,8 @@ function SelectContent({
|
|
|
1741
1831
|
if (v !== null && v !== void 0) ctx.onSelect(v);
|
|
1742
1832
|
},
|
|
1743
1833
|
isEqual: ctx.isEqual,
|
|
1744
|
-
|
|
1834
|
+
variant: "flat",
|
|
1835
|
+
radius: "none",
|
|
1745
1836
|
children: [
|
|
1746
1837
|
children,
|
|
1747
1838
|
showEmpty && /* @__PURE__ */ jsx(ListboxEmpty, { children: noResultsLabel })
|
|
@@ -1751,7 +1842,7 @@ function SelectContent({
|
|
|
1751
1842
|
ctx.name && ctx.hasValue && /* @__PURE__ */ jsx("input", { type: "hidden", name: ctx.name, value: ctx.serialize(ctx.value) })
|
|
1752
1843
|
]
|
|
1753
1844
|
}
|
|
1754
|
-
)
|
|
1845
|
+
);
|
|
1755
1846
|
}
|
|
1756
1847
|
function extractText(node) {
|
|
1757
1848
|
if (node == null || typeof node === "boolean") return "";
|
|
@@ -1933,21 +2024,41 @@ function MultiSelectTags({ placeholder }) {
|
|
|
1933
2024
|
v
|
|
1934
2025
|
)) });
|
|
1935
2026
|
}
|
|
1936
|
-
function MultiSelectContent({
|
|
2027
|
+
function MultiSelectContent({
|
|
2028
|
+
className,
|
|
2029
|
+
variant,
|
|
2030
|
+
tone,
|
|
2031
|
+
radius,
|
|
2032
|
+
padding,
|
|
2033
|
+
elevation,
|
|
2034
|
+
children
|
|
2035
|
+
}) {
|
|
1937
2036
|
const ctx = useMultiSelectContext();
|
|
1938
|
-
return /* @__PURE__ */ jsxs(
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
2037
|
+
return /* @__PURE__ */ jsxs(
|
|
2038
|
+
PopoverContent,
|
|
2039
|
+
{
|
|
2040
|
+
variant,
|
|
2041
|
+
tone,
|
|
2042
|
+
radius,
|
|
2043
|
+
padding: padding ?? "none",
|
|
2044
|
+
elevation,
|
|
2045
|
+
className: cn("w-auto min-w-[var(--anchor-width)] overflow-hidden", className),
|
|
2046
|
+
children: [
|
|
2047
|
+
/* @__PURE__ */ jsx(
|
|
2048
|
+
Listbox,
|
|
2049
|
+
{
|
|
2050
|
+
multiple: true,
|
|
2051
|
+
value: ctx.values,
|
|
2052
|
+
onValueChange: (v) => ctx.setValues(v),
|
|
2053
|
+
variant: "flat",
|
|
2054
|
+
radius: "none",
|
|
2055
|
+
children
|
|
2056
|
+
}
|
|
2057
|
+
),
|
|
2058
|
+
ctx.name && ctx.values.map((v) => /* @__PURE__ */ jsx("input", { type: "hidden", name: ctx.name, value: v }, v))
|
|
2059
|
+
]
|
|
2060
|
+
}
|
|
2061
|
+
);
|
|
1951
2062
|
}
|
|
1952
2063
|
var MultiSelectItem = forwardRef(
|
|
1953
2064
|
function MultiSelectItem2(props, ref) {
|
|
@@ -2167,10 +2278,16 @@ function ComboboxContent({
|
|
|
2167
2278
|
className,
|
|
2168
2279
|
placement = "bottom",
|
|
2169
2280
|
offset = 6,
|
|
2281
|
+
variant,
|
|
2282
|
+
tone,
|
|
2283
|
+
radius,
|
|
2284
|
+
padding,
|
|
2285
|
+
elevation,
|
|
2170
2286
|
children
|
|
2171
2287
|
}) {
|
|
2172
2288
|
const ctx = useComboboxContext();
|
|
2173
2289
|
if (!ctx.open) return null;
|
|
2290
|
+
const resolvedPadding = padding ?? "xs";
|
|
2174
2291
|
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(AnchoredPositioner, { anchor: ctx.inputRef.current, placement, offset, children: /* @__PURE__ */ jsx(
|
|
2175
2292
|
DismissableLayer,
|
|
2176
2293
|
{
|
|
@@ -2184,7 +2301,17 @@ function ComboboxContent({
|
|
|
2184
2301
|
{
|
|
2185
2302
|
id: ctx.listboxId,
|
|
2186
2303
|
role: "listbox",
|
|
2187
|
-
className: cn(
|
|
2304
|
+
className: cn(
|
|
2305
|
+
surfaceVariants({
|
|
2306
|
+
variant,
|
|
2307
|
+
tone,
|
|
2308
|
+
radius,
|
|
2309
|
+
padding: resolvedPadding,
|
|
2310
|
+
elevation
|
|
2311
|
+
}),
|
|
2312
|
+
listboxVariants(),
|
|
2313
|
+
className
|
|
2314
|
+
),
|
|
2188
2315
|
style: ctx.inputRef.current ? { minWidth: ctx.inputRef.current.offsetWidth } : void 0,
|
|
2189
2316
|
children
|
|
2190
2317
|
}
|
|
@@ -7272,5 +7399,5 @@ var ChatComposer = forwardRef(
|
|
|
7272
7399
|
ChatComposer.displayName = "ChatComposer";
|
|
7273
7400
|
|
|
7274
7401
|
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-
|
|
7402
|
+
//# sourceMappingURL=chunk-WLFMDWR2.js.map
|
|
7403
|
+
//# sourceMappingURL=chunk-WLFMDWR2.js.map
|