@kubetail/ui 3.0.0-rc1 → 3.0.0-rc2
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/elements/alert.cjs +1 -1
- package/dist/elements/alert.cjs.map +1 -1
- package/dist/elements/alert.d.ts +2 -2
- package/dist/elements/alert.js +6 -12
- package/dist/elements/alert.js.map +1 -1
- package/dist/elements/button.cjs +1 -1
- package/dist/elements/button.cjs.map +1 -1
- package/dist/elements/button.d.ts +5 -14
- package/dist/elements/button.js +29 -26
- package/dist/elements/button.js.map +1 -1
- package/dist/elements/card.cjs +1 -1
- package/dist/elements/card.cjs.map +1 -1
- package/dist/elements/card.d.ts +3 -1
- package/dist/elements/card.js +9 -8
- package/dist/elements/card.js.map +1 -1
- package/dist/elements/checkbox.cjs +1 -1
- package/dist/elements/checkbox.cjs.map +1 -1
- package/dist/elements/checkbox.d.ts +1 -1
- package/dist/elements/checkbox.js +3 -3
- package/dist/elements/checkbox.js.map +1 -1
- package/dist/elements/context-menu.cjs +1 -1
- package/dist/elements/context-menu.cjs.map +1 -1
- package/dist/elements/context-menu.d.ts +15 -18
- package/dist/elements/context-menu.js +58 -45
- package/dist/elements/context-menu.js.map +1 -1
- package/dist/elements/dialog.cjs +1 -1
- package/dist/elements/dialog.cjs.map +1 -1
- package/dist/elements/dialog.d.ts +11 -10
- package/dist/elements/dialog.js +52 -38
- package/dist/elements/dialog.js.map +1 -1
- package/dist/elements/dropdown-menu.cjs +1 -1
- package/dist/elements/dropdown-menu.cjs.map +1 -1
- package/dist/elements/dropdown-menu.d.ts +19 -19
- package/dist/elements/dropdown-menu.js +89 -71
- package/dist/elements/dropdown-menu.js.map +1 -1
- package/dist/elements/field.cjs +2 -0
- package/dist/elements/field.cjs.map +1 -0
- package/dist/elements/field.d.ts +24 -0
- package/dist/elements/field.js +110 -0
- package/dist/elements/field.js.map +1 -0
- package/dist/elements/input-group.cjs +2 -0
- package/dist/elements/input-group.cjs.map +1 -0
- package/dist/elements/input-group.d.ts +18 -0
- package/dist/elements/input-group.js +80 -0
- package/dist/elements/input-group.js.map +1 -0
- package/dist/elements/input.cjs +1 -1
- package/dist/elements/input.cjs.map +1 -1
- package/dist/elements/input.js +7 -6
- package/dist/elements/input.js.map +1 -1
- package/dist/elements/label.cjs +1 -1
- package/dist/elements/label.cjs.map +1 -1
- package/dist/elements/label.d.ts +1 -0
- package/dist/elements/label.js +1 -0
- package/dist/elements/label.js.map +1 -1
- package/dist/elements/pagination.cjs +1 -1
- package/dist/elements/pagination.cjs.map +1 -1
- package/dist/elements/pagination.d.ts +8 -5
- package/dist/elements/pagination.js +32 -26
- package/dist/elements/pagination.js.map +1 -1
- package/dist/elements/search-box.cjs +1 -1
- package/dist/elements/search-box.cjs.map +1 -1
- package/dist/elements/search-box.js +5 -5
- package/dist/elements/select.cjs +1 -1
- package/dist/elements/select.cjs.map +1 -1
- package/dist/elements/select.d.ts +8 -13
- package/dist/elements/select.js +34 -31
- package/dist/elements/select.js.map +1 -1
- package/dist/elements/separator.cjs +1 -1
- package/dist/elements/separator.cjs.map +1 -1
- package/dist/elements/separator.d.ts +1 -1
- package/dist/elements/separator.js +3 -1
- package/dist/elements/separator.js.map +1 -1
- package/dist/elements/sheet.cjs +1 -1
- package/dist/elements/sheet.cjs.map +1 -1
- package/dist/elements/sheet.d.ts +7 -6
- package/dist/elements/sheet.js +50 -37
- package/dist/elements/sheet.js.map +1 -1
- package/dist/elements/sidebar.cjs +1 -1
- package/dist/elements/sidebar.cjs.map +1 -1
- package/dist/elements/sidebar.d.ts +10 -16
- package/dist/elements/sidebar.js +168 -173
- package/dist/elements/sidebar.js.map +1 -1
- package/dist/elements/skeleton.cjs +1 -1
- package/dist/elements/skeleton.cjs.map +1 -1
- package/dist/elements/skeleton.js +1 -1
- package/dist/elements/skeleton.js.map +1 -1
- package/dist/elements/spinner.cjs.map +1 -1
- package/dist/elements/spinner.js.map +1 -1
- package/dist/elements/switch.cjs +1 -1
- package/dist/elements/switch.cjs.map +1 -1
- package/dist/elements/switch.d.ts +1 -1
- package/dist/elements/switch.js +2 -2
- package/dist/elements/switch.js.map +1 -1
- package/dist/elements/table.cjs +1 -1
- package/dist/elements/table.cjs.map +1 -1
- package/dist/elements/table.d.ts +1 -1
- package/dist/elements/table.js +6 -5
- package/dist/elements/table.js.map +1 -1
- package/dist/elements/tabs.cjs +1 -1
- package/dist/elements/tabs.cjs.map +1 -1
- package/dist/elements/tabs.d.ts +9 -5
- package/dist/elements/tabs.js +28 -16
- package/dist/elements/tabs.js.map +1 -1
- package/dist/elements/textarea.cjs +2 -0
- package/dist/elements/textarea.cjs.map +1 -0
- package/dist/elements/textarea.d.ts +3 -0
- package/dist/elements/textarea.js +15 -0
- package/dist/elements/textarea.js.map +1 -0
- package/dist/elements/toggle.cjs +1 -1
- package/dist/elements/toggle.cjs.map +1 -1
- package/dist/elements/toggle.d.ts +1 -1
- package/dist/elements/toggle.js +6 -6
- package/dist/elements/toggle.js.map +1 -1
- package/dist/elements/tooltip.cjs +1 -1
- package/dist/elements/tooltip.cjs.map +1 -1
- package/dist/elements/tooltip.d.ts +4 -8
- package/dist/elements/tooltip.js +13 -7
- package/dist/elements/tooltip.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/menu`);function i({...e}){return(0,t.jsx)(r.Menu.Root,{
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/menu`);function i({...e}){return(0,t.jsx)(r.Menu.Root,{"data-slot":`dropdown-menu`,...e})}function a({...e}){return(0,t.jsx)(r.Menu.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function o({...e}){return(0,t.jsx)(r.Menu.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function s({align:n=`start`,alignOffset:i=0,side:a=`bottom`,sideOffset:o=4,className:s,...c}){return(0,t.jsx)(r.Menu.Portal,{children:(0,t.jsx)(r.Menu.Positioner,{className:`isolate z-50 outline-none`,align:n,alignOffset:i,side:a,sideOffset:o,children:(0,t.jsx)(r.Menu.Popup,{"data-slot":`dropdown-menu-content`,className:e.cn(`z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,s),...c})})})}function c({...e}){return(0,t.jsx)(r.Menu.Group,{"data-slot":`dropdown-menu-group`,...e})}function l({className:n,inset:i,...a}){return(0,t.jsx)(r.Menu.GroupLabel,{"data-slot":`dropdown-menu-label`,"data-inset":i,className:e.cn(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,n),...a})}function u({className:n,inset:i,variant:a=`default`,...o}){return(0,t.jsx)(r.Menu.Item,{"data-slot":`dropdown-menu-item`,"data-inset":i,"data-variant":a,className:e.cn(`group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,n),...o})}function d({...e}){return(0,t.jsx)(r.Menu.SubmenuRoot,{"data-slot":`dropdown-menu-sub`,...e})}function f({className:i,inset:a,children:o,...s}){return(0,t.jsxs)(r.Menu.SubmenuTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":a,className:e.cn(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[o,(0,t.jsx)(n.ChevronRightIcon,{className:`cn-rtl-flip ml-auto`})]})}function p({align:n=`start`,alignOffset:r=-3,side:i=`right`,sideOffset:a=0,className:o,...c}){return(0,t.jsx)(s,{"data-slot":`dropdown-menu-sub-content`,className:e.cn(`w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,o),align:n,alignOffset:r,side:i,sideOffset:a,...c})}function m({className:i,children:a,checked:o,inset:s,...c}){return(0,t.jsxs)(r.Menu.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,"data-inset":s,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),checked:o,...c,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-checkbox-item-indicator`,children:(0,t.jsx)(r.Menu.CheckboxItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function h({...e}){return(0,t.jsx)(r.Menu.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function g({className:i,children:a,inset:o,...s}){return(0,t.jsxs)(r.Menu.RadioItem,{"data-slot":`dropdown-menu-radio-item`,"data-inset":o,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex items-center justify-center`,"data-slot":`dropdown-menu-radio-item-indicator`,children:(0,t.jsx)(r.Menu.RadioItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function _({className:n,...i}){return(0,t.jsx)(r.Menu.Separator,{"data-slot":`dropdown-menu-separator`,className:e.cn(`-mx-1 my-1 h-px bg-border`,n),...i})}function v({className:n,...r}){return(0,t.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:e.cn(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground`,n),...r})}exports.DropdownMenu=i,exports.DropdownMenuCheckboxItem=m,exports.DropdownMenuContent=s,exports.DropdownMenuGroup=c,exports.DropdownMenuItem=u,exports.DropdownMenuLabel=l,exports.DropdownMenuPortal=a,exports.DropdownMenuRadioGroup=h,exports.DropdownMenuRadioItem=g,exports.DropdownMenuSeparator=_,exports.DropdownMenuShortcut=v,exports.DropdownMenuSub=d,exports.DropdownMenuSubContent=p,exports.DropdownMenuSubTrigger=f,exports.DropdownMenuTrigger=o;
|
|
2
2
|
//# sourceMappingURL=dropdown-menu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.cjs","names":[],"sources":["../../src/elements/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as DropdownMenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n side,\n align,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Popup> & {\n side?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['side'];\n align?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['align'];\n sideOffset?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['sideOffset'];\n}) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Positioner side={side} align={align} sideOffset={sideOffset}>\n <DropdownMenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--available-height) min-w-[8rem] origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Positioner>\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[variant=destructive]:data-[highlighted]:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.RadioItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<'div'> & {\n inset?: boolean;\n}) {\n return (\n <div\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n role=\"separator\"\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuRoot>) {\n return <DropdownMenuPrimitive.SubmenuRoot {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Popup>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Positioner>\n <DropdownMenuPrimitive.Popup\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Positioner>\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-menu.cjs","names":[],"sources":["../../src/elements/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n align = 'start',\n alignOffset = 0,\n side = 'bottom',\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n align = 'start',\n alignOffset = -3,\n side = 'right',\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return <MenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":"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"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { Menu as
|
|
2
|
-
declare function DropdownMenu({ ...props }:
|
|
3
|
-
declare function DropdownMenuPortal({ ...props }:
|
|
4
|
-
declare function DropdownMenuTrigger({ ...props }:
|
|
5
|
-
declare function DropdownMenuContent({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { Menu as MenuPrimitive } from '@base-ui/react/menu';
|
|
2
|
+
declare function DropdownMenu({ ...props }: MenuPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DropdownMenuContent({ align, alignOffset, side, sideOffset, className, ...props }: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: MenuPrimitive.GroupLabel.Props & {
|
|
8
|
+
inset?: boolean;
|
|
9
9
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
declare function
|
|
11
|
-
declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
10
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: MenuPrimitive.Item.Props & {
|
|
12
11
|
inset?: boolean;
|
|
13
12
|
variant?: 'default' | 'destructive';
|
|
14
13
|
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
declare function
|
|
16
|
-
declare function
|
|
17
|
-
declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<'div'> & {
|
|
14
|
+
declare function DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: MenuPrimitive.SubmenuTrigger.Props & {
|
|
19
16
|
inset?: boolean;
|
|
20
17
|
}): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
declare function
|
|
22
|
-
declare function
|
|
23
|
-
declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuRoot>): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuTrigger> & {
|
|
18
|
+
declare function DropdownMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: React.ComponentProps<typeof DropdownMenuContent>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, inset, ...props }: MenuPrimitive.CheckboxItem.Props & {
|
|
25
20
|
inset?: boolean;
|
|
26
21
|
}): import("react/jsx-runtime").JSX.Element;
|
|
27
|
-
declare function
|
|
22
|
+
declare function DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function DropdownMenuRadioItem({ className, children, inset, ...props }: MenuPrimitive.RadioItem.Props & {
|
|
24
|
+
inset?: boolean;
|
|
25
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
declare function DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
28
28
|
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
@@ -1,120 +1,138 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn as e } from "../lib/utils.js";
|
|
3
3
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
|
-
import { CheckIcon as r, ChevronRightIcon as i
|
|
5
|
-
import { Menu as
|
|
4
|
+
import { CheckIcon as r, ChevronRightIcon as i } from "lucide-react";
|
|
5
|
+
import { Menu as a } from "@base-ui/react/menu";
|
|
6
6
|
//#region src/elements/dropdown-menu.tsx
|
|
7
|
+
function o({ ...e }) {
|
|
8
|
+
return /* @__PURE__ */ t(a.Root, {
|
|
9
|
+
"data-slot": "dropdown-menu",
|
|
10
|
+
...e
|
|
11
|
+
});
|
|
12
|
+
}
|
|
7
13
|
function s({ ...e }) {
|
|
8
|
-
return /* @__PURE__ */ t(
|
|
14
|
+
return /* @__PURE__ */ t(a.Portal, {
|
|
15
|
+
"data-slot": "dropdown-menu-portal",
|
|
16
|
+
...e
|
|
17
|
+
});
|
|
9
18
|
}
|
|
10
19
|
function c({ ...e }) {
|
|
11
|
-
return /* @__PURE__ */ t(
|
|
12
|
-
}
|
|
13
|
-
function l({ ...e }) {
|
|
14
|
-
return /* @__PURE__ */ t(o.Trigger, {
|
|
20
|
+
return /* @__PURE__ */ t(a.Trigger, {
|
|
15
21
|
"data-slot": "dropdown-menu-trigger",
|
|
16
22
|
...e
|
|
17
23
|
});
|
|
18
24
|
}
|
|
19
|
-
function
|
|
20
|
-
return /* @__PURE__ */ t(
|
|
21
|
-
|
|
22
|
-
align:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
function l({ align: n = "start", alignOffset: r = 0, side: i = "bottom", sideOffset: o = 4, className: s, ...c }) {
|
|
26
|
+
return /* @__PURE__ */ t(a.Portal, { children: /* @__PURE__ */ t(a.Positioner, {
|
|
27
|
+
className: "isolate z-50 outline-none",
|
|
28
|
+
align: n,
|
|
29
|
+
alignOffset: r,
|
|
30
|
+
side: i,
|
|
31
|
+
sideOffset: o,
|
|
32
|
+
children: /* @__PURE__ */ t(a.Popup, {
|
|
25
33
|
"data-slot": "dropdown-menu-content",
|
|
26
|
-
className: e("bg-popover text-popover-foreground
|
|
27
|
-
...
|
|
34
|
+
className: e("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95", s),
|
|
35
|
+
...c
|
|
28
36
|
})
|
|
29
37
|
}) });
|
|
30
38
|
}
|
|
31
|
-
function
|
|
32
|
-
return /* @__PURE__ */ t(
|
|
39
|
+
function u({ ...e }) {
|
|
40
|
+
return /* @__PURE__ */ t(a.Group, {
|
|
33
41
|
"data-slot": "dropdown-menu-group",
|
|
34
42
|
...e
|
|
35
43
|
});
|
|
36
44
|
}
|
|
37
|
-
function
|
|
38
|
-
return /* @__PURE__ */ t(
|
|
45
|
+
function d({ className: n, inset: r, ...i }) {
|
|
46
|
+
return /* @__PURE__ */ t(a.GroupLabel, {
|
|
47
|
+
"data-slot": "dropdown-menu-label",
|
|
48
|
+
"data-inset": r,
|
|
49
|
+
className: e("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7", n),
|
|
50
|
+
...i
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function f({ className: n, inset: r, variant: i = "default", ...o }) {
|
|
54
|
+
return /* @__PURE__ */ t(a.Item, {
|
|
39
55
|
"data-slot": "dropdown-menu-item",
|
|
40
56
|
"data-inset": r,
|
|
41
57
|
"data-variant": i,
|
|
42
|
-
className: e("
|
|
43
|
-
...
|
|
58
|
+
className: e("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", n),
|
|
59
|
+
...o
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function p({ ...e }) {
|
|
63
|
+
return /* @__PURE__ */ t(a.SubmenuRoot, {
|
|
64
|
+
"data-slot": "dropdown-menu-sub",
|
|
65
|
+
...e
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function m({ className: r, inset: o, children: s, ...c }) {
|
|
69
|
+
return /* @__PURE__ */ n(a.SubmenuTrigger, {
|
|
70
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
71
|
+
"data-inset": o,
|
|
72
|
+
className: e("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
|
|
73
|
+
...c,
|
|
74
|
+
children: [s, /* @__PURE__ */ t(i, { className: "cn-rtl-flip ml-auto" })]
|
|
44
75
|
});
|
|
45
76
|
}
|
|
46
|
-
function
|
|
47
|
-
return /* @__PURE__ */
|
|
77
|
+
function h({ align: n = "start", alignOffset: r = -3, side: i = "right", sideOffset: a = 0, className: o, ...s }) {
|
|
78
|
+
return /* @__PURE__ */ t(l, {
|
|
79
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
80
|
+
className: e("w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", o),
|
|
81
|
+
align: n,
|
|
82
|
+
alignOffset: r,
|
|
83
|
+
side: i,
|
|
84
|
+
sideOffset: a,
|
|
85
|
+
...s
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function g({ className: i, children: o, checked: s, inset: c, ...l }) {
|
|
89
|
+
return /* @__PURE__ */ n(a.CheckboxItem, {
|
|
48
90
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
49
|
-
|
|
91
|
+
"data-inset": c,
|
|
92
|
+
className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
|
|
50
93
|
checked: s,
|
|
51
|
-
...
|
|
94
|
+
...l,
|
|
52
95
|
children: [/* @__PURE__ */ t("span", {
|
|
53
|
-
className: "pointer-events-none absolute
|
|
54
|
-
|
|
55
|
-
|
|
96
|
+
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
97
|
+
"data-slot": "dropdown-menu-checkbox-item-indicator",
|
|
98
|
+
children: /* @__PURE__ */ t(a.CheckboxItemIndicator, { children: /* @__PURE__ */ t(r, {}) })
|
|
99
|
+
}), o]
|
|
56
100
|
});
|
|
57
101
|
}
|
|
58
|
-
function
|
|
59
|
-
return /* @__PURE__ */ t(
|
|
102
|
+
function _({ ...e }) {
|
|
103
|
+
return /* @__PURE__ */ t(a.RadioGroup, {
|
|
60
104
|
"data-slot": "dropdown-menu-radio-group",
|
|
61
105
|
...e
|
|
62
106
|
});
|
|
63
107
|
}
|
|
64
|
-
function
|
|
65
|
-
return /* @__PURE__ */ n(
|
|
108
|
+
function v({ className: i, children: o, inset: s, ...c }) {
|
|
109
|
+
return /* @__PURE__ */ n(a.RadioItem, {
|
|
66
110
|
"data-slot": "dropdown-menu-radio-item",
|
|
67
|
-
|
|
68
|
-
|
|
111
|
+
"data-inset": s,
|
|
112
|
+
className: e("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", i),
|
|
113
|
+
...c,
|
|
69
114
|
children: [/* @__PURE__ */ t("span", {
|
|
70
|
-
className: "pointer-events-none absolute
|
|
71
|
-
|
|
72
|
-
|
|
115
|
+
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
116
|
+
"data-slot": "dropdown-menu-radio-item-indicator",
|
|
117
|
+
children: /* @__PURE__ */ t(a.RadioItemIndicator, { children: /* @__PURE__ */ t(r, {}) })
|
|
118
|
+
}), o]
|
|
73
119
|
});
|
|
74
120
|
}
|
|
75
|
-
function
|
|
76
|
-
return /* @__PURE__ */ t(
|
|
77
|
-
"data-slot": "dropdown-menu-label",
|
|
78
|
-
"data-inset": r,
|
|
79
|
-
className: e("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", n),
|
|
80
|
-
...i
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
function _({ className: n, ...r }) {
|
|
84
|
-
return /* @__PURE__ */ t("div", {
|
|
85
|
-
role: "separator",
|
|
121
|
+
function y({ className: n, ...r }) {
|
|
122
|
+
return /* @__PURE__ */ t(a.Separator, {
|
|
86
123
|
"data-slot": "dropdown-menu-separator",
|
|
87
|
-
className: e("
|
|
124
|
+
className: e("-mx-1 my-1 h-px bg-border", n),
|
|
88
125
|
...r
|
|
89
126
|
});
|
|
90
127
|
}
|
|
91
|
-
function
|
|
128
|
+
function b({ className: n, ...r }) {
|
|
92
129
|
return /* @__PURE__ */ t("span", {
|
|
93
130
|
"data-slot": "dropdown-menu-shortcut",
|
|
94
|
-
className: e("
|
|
131
|
+
className: e("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", n),
|
|
95
132
|
...r
|
|
96
133
|
});
|
|
97
134
|
}
|
|
98
|
-
function y({ ...e }) {
|
|
99
|
-
return /* @__PURE__ */ t(o.SubmenuRoot, { ...e });
|
|
100
|
-
}
|
|
101
|
-
function b({ className: r, inset: a, children: s, ...c }) {
|
|
102
|
-
return /* @__PURE__ */ n(o.SubmenuTrigger, {
|
|
103
|
-
"data-slot": "dropdown-menu-sub-trigger",
|
|
104
|
-
"data-inset": a,
|
|
105
|
-
className: e("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8", r),
|
|
106
|
-
...c,
|
|
107
|
-
children: [s, /* @__PURE__ */ t(i, { className: "ml-auto size-4" })]
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
function x({ className: n, ...r }) {
|
|
111
|
-
return /* @__PURE__ */ t(o.Portal, { children: /* @__PURE__ */ t(o.Positioner, { children: /* @__PURE__ */ t(o.Popup, {
|
|
112
|
-
"data-slot": "dropdown-menu-sub-content",
|
|
113
|
-
className: e("bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", n),
|
|
114
|
-
...r
|
|
115
|
-
}) }) });
|
|
116
|
-
}
|
|
117
135
|
//#endregion
|
|
118
|
-
export {
|
|
136
|
+
export { o as DropdownMenu, g as DropdownMenuCheckboxItem, l as DropdownMenuContent, u as DropdownMenuGroup, f as DropdownMenuItem, d as DropdownMenuLabel, s as DropdownMenuPortal, _ as DropdownMenuRadioGroup, v as DropdownMenuRadioItem, y as DropdownMenuSeparator, b as DropdownMenuShortcut, p as DropdownMenuSub, h as DropdownMenuSubContent, m as DropdownMenuSubTrigger, c as DropdownMenuTrigger };
|
|
119
137
|
|
|
120
138
|
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../src/elements/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as DropdownMenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n side,\n align,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Popup> & {\n side?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['side'];\n align?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['align'];\n sideOffset?: React.ComponentProps<typeof DropdownMenuPrimitive.Positioner>['sideOffset'];\n}) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Positioner side={side} align={align} sideOffset={sideOffset}>\n <DropdownMenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--available-height) min-w-[8rem] origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Positioner>\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[variant=destructive]:data-[highlighted]:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.CheckboxItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.RadioItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<'div'> & {\n inset?: boolean;\n}) {\n return (\n <div\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n role=\"separator\"\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuRoot>) {\n return <DropdownMenuPrimitive.SubmenuRoot {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Popup>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Positioner>\n <DropdownMenuPrimitive.Popup\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Positioner>\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../src/elements/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n align = 'start',\n alignOffset = 0,\n side = 'bottom',\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props & Pick<MenuPrimitive.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n 'z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"cn-rtl-flip ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n align = 'start',\n alignOffset = -3,\n side = 'right',\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <CheckIcon />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return <MenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <CheckIcon />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`),t=require(`./separator.cjs`),n=require(`./label.cjs`);let r=require(`react/jsx-runtime`),i=require(`class-variance-authority`),a=require(`react`);function o({className:t,...n}){return(0,r.jsx)(`fieldset`,{"data-slot":`field-set`,className:e.cn(`flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3`,t),...n})}function s({className:t,variant:n=`legend`,...i}){return(0,r.jsx)(`legend`,{"data-slot":`field-legend`,"data-variant":n,className:e.cn(`mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base`,t),...i})}function c({className:t,...n}){return(0,r.jsx)(`div`,{"data-slot":`field-group`,className:e.cn(`group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,t),...n})}var l=(0,i.cva)(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col *:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function u({className:t,orientation:n=`vertical`,...i}){return(0,r.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":n,className:e.cn(l({orientation:n}),t),...i})}function d({className:t,...n}){return(0,r.jsx)(`div`,{"data-slot":`field-content`,className:e.cn(`group/field-content flex flex-1 flex-col gap-0.5 leading-snug`,t),...n})}function f({className:t,...i}){return(0,r.jsx)(n.Label,{"data-slot":`field-label`,className:e.cn(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,t),...i})}function p({className:t,...n}){return(0,r.jsx)(`div`,{"data-slot":`field-label`,className:e.cn(`flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50`,t),...n})}function m({className:t,...n}){return(0,r.jsx)(`p`,{"data-slot":`field-description`,className:e.cn(`text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,t),...n})}function h({children:n,className:i,...a}){return(0,r.jsxs)(`div`,{"data-slot":`field-separator`,"data-content":!!n,className:e.cn(`relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2`,i),...a,children:[(0,r.jsx)(t.Separator,{className:`absolute inset-0 top-1/2`}),n&&(0,r.jsx)(`span`,{className:`relative mx-auto block w-fit bg-background px-2 text-muted-foreground`,"data-slot":`field-separator-content`,children:n})]})}function g({className:t,children:n,errors:i,...o}){let s=(0,a.useMemo)(()=>{if(n)return n;if(!i?.length)return null;let e=[...new Map(i.map(e=>[e?.message,e])).values()];return e?.length===1?e[0]?.message:(0,r.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:e.map(e=>e?.message&&(0,r.jsx)(`li`,{children:e.message},e.message))})},[n,i]);return s?(0,r.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:e.cn(`text-sm font-normal text-destructive`,t),...o,children:s}):null}exports.Field=u,exports.FieldContent=d,exports.FieldDescription=m,exports.FieldError=g,exports.FieldGroup=c,exports.FieldLabel=f,exports.FieldLegend=s,exports.FieldSeparator=h,exports.FieldSet=o,exports.FieldTitle=p;
|
|
2
|
+
//# sourceMappingURL=field.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.cjs","names":[],"sources":["../../src/elements/field.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useMemo } from 'react';\n\nimport { Label } from '@/elements/label';\nimport { Separator } from '@/elements/separator';\nimport { cn } from '@/lib/utils';\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<'fieldset'>) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n 'flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLegend({\n className,\n variant = 'legend',\n ...props\n}: React.ComponentProps<'legend'> & { variant?: 'legend' | 'label' }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn('mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base', className)}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n 'group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva('group/field flex w-full gap-2 data-[invalid=true]:text-destructive', {\n variants: {\n orientation: {\n vertical: 'flex-col *:w-full [&>.sr-only]:w-auto',\n horizontal:\n 'flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n responsive:\n 'flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px',\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nfunction Field({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn('group/field-content flex flex-1 flex-col gap-0.5 leading-snug', className)}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n 'group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10',\n 'has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n 'flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n 'text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5',\n 'last:mt-0 nth-last-2:-mt-1',\n '[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'div'> & {\n children?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn('relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2', className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"relative mx-auto block w-fit bg-background px-2 text-muted-foreground\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<'div'> & {\n errors?: ({ message?: string } | undefined)[];\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];\n\n if (uniqueErrors?.length === 1) {\n return uniqueErrors[0]?.message;\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map((error) => error?.message && <li key={error.message}>{error.message}</li>)}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn('text-sm font-normal text-destructive', className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":"mTASA,SAAS,EAAS,CAAE,YAAW,GAAG,GAA2C,CAC3E,OACE,EAAA,EAAA,KAAC,WAAD,CACE,YAAU,YACV,UAAW,EAAA,GACT,mGACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAY,CACnB,YACA,UAAU,SACV,GAAG,GACiE,CACpE,OACE,EAAA,EAAA,KAAC,SAAD,CACE,YAAU,eACV,eAAc,EACd,UAAW,EAAA,GAAG,kFAAmF,EAAU,CAC3G,GAAI,EACJ,CAAA,CAIN,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,uIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,IAAM,GAAA,EAAA,EAAA,KAAoB,qEAAsE,CAC9F,SAAU,CACR,YAAa,CACX,SAAU,wCACV,WACE,iLACF,WACE,gUACH,CACF,CACD,gBAAiB,CACf,YAAa,WACd,CACF,CAAC,CAEF,SAAS,EAAM,CACb,YACA,cAAc,WACd,GAAG,GACgE,CACnE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,QACL,YAAU,QACV,mBAAkB,EAClB,UAAW,EAAA,GAAG,EAAc,CAAE,cAAa,CAAC,CAAE,EAAU,CACxD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,gBACV,UAAW,EAAA,GAAG,gEAAiE,EAAU,CACzF,GAAI,EACJ,CAAA,CAIN,SAAS,EAAW,CAAE,YAAW,GAAG,GAA6C,CAC/E,OACE,EAAA,EAAA,KAAC,EAAA,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,0VACA,oEACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,gGACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAoC,CAC5E,OACE,EAAA,EAAA,KAAC,IAAD,CACE,YAAU,oBACV,UAAW,EAAA,GACT,oJACA,6BACA,oEACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAe,CACtB,WACA,YACA,GAAG,GAGF,CACD,OACE,EAAA,EAAA,MAAC,MAAD,CACE,YAAU,kBACV,eAAc,CAAC,CAAC,EAChB,UAAW,EAAA,GAAG,4EAA6E,EAAU,CACrG,GAAI,WAJN,EAME,EAAA,EAAA,KAAC,EAAA,UAAD,CAAW,UAAU,2BAA6B,CAAA,CACjD,IACC,EAAA,EAAA,KAAC,OAAD,CACE,UAAU,wEACV,YAAU,0BAET,WACI,CAAA,CAEL,GAIV,SAAS,EAAW,CAClB,YACA,WACA,SACA,GAAG,GAGF,CACD,IAAM,GAAA,EAAA,EAAA,aAAwB,CAC5B,GAAI,EACF,OAAO,EAGT,GAAI,CAAC,GAAQ,OACX,OAAO,KAGT,IAAM,EAAe,CAAC,GAAG,IAAI,IAAI,EAAO,IAAK,GAAU,CAAC,GAAO,QAAS,EAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAM1F,OAJI,GAAc,SAAW,EACpB,EAAa,IAAI,SAIxB,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,8CACX,EAAa,IAAK,GAAU,GAAO,UAAW,EAAA,EAAA,KAAC,KAAD,CAAA,SAAyB,EAAM,QAAa,CAAnC,EAAM,QAA6B,CAAC,CACzF,CAAA,EAEN,CAAC,EAAU,EAAO,CAAC,CAMtB,OAJK,GAKH,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,QACL,YAAU,cACV,UAAW,EAAA,GAAG,uCAAwC,EAAU,CAChE,GAAI,WAEH,EACG,CAAA,CAXC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { Label } from '@/elements/label';
|
|
3
|
+
declare function FieldSet({ className, ...props }: React.ComponentProps<'fieldset'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<'legend'> & {
|
|
5
|
+
variant?: 'legend' | 'label';
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function FieldGroup({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare const fieldVariants: (props?: ({
|
|
9
|
+
orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
declare function Field({ className, orientation, ...props }: React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function FieldContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function FieldTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function FieldDescription({ className, ...props }: React.ComponentProps<'p'>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<'div'> & {
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<'div'> & {
|
|
20
|
+
errors?: ({
|
|
21
|
+
message?: string;
|
|
22
|
+
} | undefined)[];
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle, };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../lib/utils.js";
|
|
3
|
+
import { Separator as t } from "./separator.js";
|
|
4
|
+
import { Label as n } from "./label.js";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
import { cva as a } from "class-variance-authority";
|
|
7
|
+
import { useMemo as o } from "react";
|
|
8
|
+
//#region src/elements/field.tsx
|
|
9
|
+
function s({ className: t, ...n }) {
|
|
10
|
+
return /* @__PURE__ */ r("fieldset", {
|
|
11
|
+
"data-slot": "field-set",
|
|
12
|
+
className: e("flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", t),
|
|
13
|
+
...n
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function c({ className: t, variant: n = "legend", ...i }) {
|
|
17
|
+
return /* @__PURE__ */ r("legend", {
|
|
18
|
+
"data-slot": "field-legend",
|
|
19
|
+
"data-variant": n,
|
|
20
|
+
className: e("mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", t),
|
|
21
|
+
...i
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function l({ className: t, ...n }) {
|
|
25
|
+
return /* @__PURE__ */ r("div", {
|
|
26
|
+
"data-slot": "field-group",
|
|
27
|
+
className: e("group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4", t),
|
|
28
|
+
...n
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
var u = a("group/field flex w-full gap-2 data-[invalid=true]:text-destructive", {
|
|
32
|
+
variants: { orientation: {
|
|
33
|
+
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
34
|
+
horizontal: "flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
|
|
35
|
+
responsive: "flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
36
|
+
} },
|
|
37
|
+
defaultVariants: { orientation: "vertical" }
|
|
38
|
+
});
|
|
39
|
+
function d({ className: t, orientation: n = "vertical", ...i }) {
|
|
40
|
+
return /* @__PURE__ */ r("div", {
|
|
41
|
+
role: "group",
|
|
42
|
+
"data-slot": "field",
|
|
43
|
+
"data-orientation": n,
|
|
44
|
+
className: e(u({ orientation: n }), t),
|
|
45
|
+
...i
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function f({ className: t, ...n }) {
|
|
49
|
+
return /* @__PURE__ */ r("div", {
|
|
50
|
+
"data-slot": "field-content",
|
|
51
|
+
className: e("group/field-content flex flex-1 flex-col gap-0.5 leading-snug", t),
|
|
52
|
+
...n
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function p({ className: t, ...i }) {
|
|
56
|
+
return /* @__PURE__ */ r(n, {
|
|
57
|
+
"data-slot": "field-label",
|
|
58
|
+
className: e("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", t),
|
|
59
|
+
...i
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function m({ className: t, ...n }) {
|
|
63
|
+
return /* @__PURE__ */ r("div", {
|
|
64
|
+
"data-slot": "field-label",
|
|
65
|
+
className: e("flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50", t),
|
|
66
|
+
...n
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function h({ className: t, ...n }) {
|
|
70
|
+
return /* @__PURE__ */ r("p", {
|
|
71
|
+
"data-slot": "field-description",
|
|
72
|
+
className: e("text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5", "last:mt-0 nth-last-2:-mt-1", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", t),
|
|
73
|
+
...n
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function g({ children: n, className: a, ...o }) {
|
|
77
|
+
return /* @__PURE__ */ i("div", {
|
|
78
|
+
"data-slot": "field-separator",
|
|
79
|
+
"data-content": !!n,
|
|
80
|
+
className: e("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", a),
|
|
81
|
+
...o,
|
|
82
|
+
children: [/* @__PURE__ */ r(t, { className: "absolute inset-0 top-1/2" }), n && /* @__PURE__ */ r("span", {
|
|
83
|
+
className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
|
|
84
|
+
"data-slot": "field-separator-content",
|
|
85
|
+
children: n
|
|
86
|
+
})]
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function _({ className: t, children: n, errors: i, ...a }) {
|
|
90
|
+
let s = o(() => {
|
|
91
|
+
if (n) return n;
|
|
92
|
+
if (!i?.length) return null;
|
|
93
|
+
let e = [...new Map(i.map((e) => [e?.message, e])).values()];
|
|
94
|
+
return e?.length === 1 ? e[0]?.message : /* @__PURE__ */ r("ul", {
|
|
95
|
+
className: "ml-4 flex list-disc flex-col gap-1",
|
|
96
|
+
children: e.map((e) => e?.message && /* @__PURE__ */ r("li", { children: e.message }, e.message))
|
|
97
|
+
});
|
|
98
|
+
}, [n, i]);
|
|
99
|
+
return s ? /* @__PURE__ */ r("div", {
|
|
100
|
+
role: "alert",
|
|
101
|
+
"data-slot": "field-error",
|
|
102
|
+
className: e("text-sm font-normal text-destructive", t),
|
|
103
|
+
...a,
|
|
104
|
+
children: s
|
|
105
|
+
}) : null;
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
export { d as Field, f as FieldContent, h as FieldDescription, _ as FieldError, l as FieldGroup, p as FieldLabel, c as FieldLegend, g as FieldSeparator, s as FieldSet, m as FieldTitle };
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=field.js.map
|