@gv-tech/design-system 2.22.2 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/dist/accordion.cjs +1 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.mjs +50 -30
- package/dist/accordion.mjs.map +1 -1
- package/dist/alert-dialog.cjs +1 -1
- package/dist/alert-dialog.cjs.map +1 -1
- package/dist/alert-dialog.mjs +98 -52
- package/dist/alert-dialog.mjs.map +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.cjs.map +1 -1
- package/dist/alert.mjs +37 -29
- package/dist/alert.mjs.map +1 -1
- package/dist/aspect-ratio.cjs +1 -1
- package/dist/aspect-ratio.cjs.map +1 -1
- package/dist/aspect-ratio.mjs +9 -3
- package/dist/aspect-ratio.mjs.map +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.mjs +48 -23
- package/dist/avatar.mjs.map +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.cjs.map +1 -1
- package/dist/badge.mjs +16 -13
- package/dist/badge.mjs.map +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.mjs +67 -57
- package/dist/breadcrumb.mjs.map +1 -1
- package/dist/button-group.cjs +2 -0
- package/dist/button-group.cjs.map +1 -0
- package/dist/button-group.d.ts +2 -0
- package/dist/button-group.mjs +39 -0
- package/dist/button-group.mjs.map +1 -0
- package/dist/button.cjs +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.mjs +32 -25
- package/dist/button.mjs.map +1 -1
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.cjs.map +1 -1
- package/dist/calendar.mjs +54 -51
- package/dist/calendar.mjs.map +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.mjs +55 -41
- package/dist/card.mjs.map +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.cjs.map +1 -1
- package/dist/carousel.mjs +58 -64
- package/dist/carousel.mjs.map +1 -1
- package/dist/chart.cjs +3 -3
- package/dist/chart.cjs.map +1 -1
- package/dist/chart.mjs +59 -66
- package/dist/chart.mjs.map +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.mjs +17 -15
- package/dist/checkbox.mjs.map +1 -1
- package/dist/collapsible.cjs +1 -1
- package/dist/collapsible.cjs.map +1 -1
- package/dist/collapsible.mjs +21 -3
- package/dist/collapsible.mjs.map +1 -1
- package/dist/combobox.cjs +2 -0
- package/dist/combobox.cjs.map +1 -0
- package/dist/combobox.d.ts +2 -0
- package/dist/combobox.mjs +164 -0
- package/dist/combobox.mjs.map +1 -0
- package/dist/command.cjs +1 -1
- package/dist/command.cjs.map +1 -1
- package/dist/command.mjs +86 -75
- package/dist/command.mjs.map +1 -1
- package/dist/context-menu.cjs +1 -1
- package/dist/context-menu.cjs.map +1 -1
- package/dist/context-menu.mjs +121 -68
- package/dist/context-menu.mjs.map +1 -1
- package/dist/design-system.css +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.mjs +90 -43
- package/dist/dialog.mjs.map +1 -1
- package/dist/direction.cjs +2 -0
- package/dist/direction.cjs.map +1 -0
- package/dist/direction.d.ts +2 -0
- package/dist/direction.mjs +17 -0
- package/dist/direction.mjs.map +1 -0
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.mjs +75 -45
- package/dist/drawer.mjs.map +1 -1
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.cjs.map +1 -1
- package/dist/dropdown-menu.mjs +124 -68
- package/dist/dropdown-menu.mjs.map +1 -1
- package/dist/empty.cjs +2 -0
- package/dist/empty.cjs.map +1 -0
- package/dist/empty.d.ts +2 -0
- package/dist/empty.mjs +62 -0
- package/dist/empty.mjs.map +1 -0
- package/dist/field.cjs +2 -0
- package/dist/field.cjs.map +1 -0
- package/dist/field.d.ts +2 -0
- package/dist/field.mjs +111 -0
- package/dist/field.mjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.cjs.map +1 -1
- package/dist/form.mjs +14 -14
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.cjs.map +1 -1
- package/dist/hover-card.mjs +28 -12
- package/dist/hover-card.mjs.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +52 -41
- package/dist/input-group.cjs +2 -0
- package/dist/input-group.cjs.map +1 -0
- package/dist/input-group.d.ts +2 -0
- package/dist/input-group.mjs +80 -0
- package/dist/input-group.mjs.map +1 -0
- package/dist/input-otp.cjs +2 -0
- package/dist/input-otp.cjs.map +1 -0
- package/dist/input-otp.d.ts +2 -0
- package/dist/input-otp.mjs +49 -0
- package/dist/input-otp.mjs.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.cjs.map +1 -1
- package/dist/input.mjs +13 -12
- package/dist/input.mjs.map +1 -1
- package/dist/item.cjs +2 -0
- package/dist/item.cjs.map +1 -0
- package/dist/item.d.ts +2 -0
- package/dist/item.mjs +119 -0
- package/dist/item.mjs.map +1 -0
- package/dist/kbd.cjs +2 -0
- package/dist/kbd.cjs.map +1 -0
- package/dist/kbd.d.ts +2 -0
- package/dist/kbd.mjs +23 -0
- package/dist/kbd.mjs.map +1 -0
- package/dist/label.cjs +1 -1
- package/dist/label.cjs.map +1 -1
- package/dist/label.mjs +12 -11
- package/dist/label.mjs.map +1 -1
- package/dist/menubar.cjs +1 -1
- package/dist/menubar.cjs.map +1 -1
- package/dist/menubar.mjs +120 -90
- package/dist/menubar.mjs.map +1 -1
- package/dist/native-select.cjs +2 -0
- package/dist/native-select.cjs.map +1 -0
- package/dist/native-select.d.ts +2 -0
- package/dist/native-select.mjs +41 -0
- package/dist/native-select.mjs.map +1 -0
- package/dist/navigation-menu.cjs +1 -1
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.mjs +74 -52
- package/dist/navigation-menu.mjs.map +1 -1
- package/dist/packages/design-tokens/src/index.d.ts +16 -0
- package/dist/packages/design-tokens/src/theme.d.ts +16 -0
- package/dist/packages/ui-core/src/contracts/alert.d.ts +3 -1
- package/dist/packages/ui-core/src/contracts/badge.d.ts +3 -1
- package/dist/packages/ui-core/src/contracts/button-group.d.ts +17 -0
- package/dist/packages/ui-core/src/contracts/checkbox.d.ts +2 -2
- package/dist/packages/ui-core/src/contracts/combobox.d.ts +65 -0
- package/dist/packages/ui-core/src/contracts/direction.d.ts +7 -0
- package/dist/packages/ui-core/src/contracts/empty.d.ts +12 -0
- package/dist/packages/ui-core/src/contracts/field.d.ts +47 -0
- package/dist/packages/ui-core/src/contracts/input-group.d.ts +29 -0
- package/dist/packages/ui-core/src/contracts/input-otp.d.ts +16 -0
- package/dist/packages/ui-core/src/contracts/item.d.ts +47 -0
- package/dist/packages/ui-core/src/contracts/kbd.d.ts +9 -0
- package/dist/packages/ui-core/src/contracts/native-select.d.ts +15 -0
- package/dist/packages/ui-core/src/contracts/resizable.d.ts +1 -1
- package/dist/packages/ui-core/src/contracts/search.d.ts +1 -0
- package/dist/packages/ui-core/src/contracts/sidebar.d.ts +107 -0
- package/dist/packages/ui-core/src/contracts/sonner.d.ts +1 -9
- package/dist/packages/ui-core/src/contracts/spinner.d.ts +3 -0
- package/dist/packages/ui-core/src/contracts/switch.d.ts +1 -1
- package/dist/packages/ui-core/src/contracts/textarea.d.ts +2 -2
- package/dist/packages/ui-core/src/contracts/toast.d.ts +1 -1
- package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +1 -1
- package/dist/packages/ui-core/src/contracts/toggle.d.ts +2 -2
- package/dist/packages/ui-core/src/index.d.ts +14 -0
- package/dist/packages/ui-web/src/accordion.d.ts +5 -7
- package/dist/packages/ui-web/src/alert-dialog.d.ts +17 -21
- package/dist/packages/ui-web/src/alert.d.ts +8 -8
- package/dist/packages/ui-web/src/aspect-ratio.d.ts +2 -5
- package/dist/packages/ui-web/src/avatar.d.ts +10 -7
- package/dist/packages/ui-web/src/badge.d.ts +4 -5
- package/dist/packages/ui-web/src/breadcrumb.d.ts +9 -17
- package/dist/packages/ui-web/src/button-group.d.ts +11 -0
- package/dist/packages/ui-web/src/button.d.ts +4 -6
- package/dist/packages/ui-web/src/calendar.d.ts +5 -5
- package/dist/packages/ui-web/src/card.d.ts +10 -10
- package/dist/packages/ui-web/src/carousel.d.ts +18 -14
- package/dist/packages/ui-web/src/chart.d.ts +35 -7
- package/dist/packages/ui-web/src/checkbox.d.ts +2 -5
- package/dist/packages/ui-web/src/collapsible.d.ts +4 -7
- package/dist/packages/ui-web/src/combobox.d.ts +20 -0
- package/dist/packages/ui-web/src/command.d.ts +16 -80
- package/dist/packages/ui-web/src/context-menu.d.ts +29 -21
- package/dist/packages/ui-web/src/dialog.d.ts +15 -17
- package/dist/packages/ui-web/src/direction.d.ts +6 -0
- package/dist/packages/ui-web/src/drawer.d.ts +11 -23
- package/dist/packages/ui-web/src/dropdown-menu.d.ts +27 -21
- package/dist/packages/ui-web/src/empty.d.ts +13 -0
- package/dist/packages/ui-web/src/field.d.ts +18 -0
- package/dist/packages/ui-web/src/hooks/use-mobile.d.ts +1 -0
- package/dist/packages/ui-web/src/hooks/use-theme.d.ts +16 -0
- package/dist/packages/ui-web/src/hover-card.d.ts +4 -6
- package/dist/packages/ui-web/src/index.d.ts +14 -43
- package/dist/packages/ui-web/src/input-group.d.ts +18 -0
- package/dist/packages/ui-web/src/input-otp.d.ts +8 -0
- package/dist/packages/ui-web/src/input.d.ts +1 -4
- package/dist/packages/ui-web/src/item.d.ts +25 -0
- package/dist/packages/ui-web/src/kbd.d.ts +4 -0
- package/dist/packages/ui-web/src/label.d.ts +2 -6
- package/dist/packages/ui-web/src/menubar.d.ts +25 -19
- package/dist/packages/ui-web/src/native-select.d.ts +7 -0
- package/dist/packages/ui-web/src/navigation-menu.d.ts +11 -11
- package/dist/packages/ui-web/src/pagination.d.ts +13 -26
- package/dist/packages/ui-web/src/popover.d.ts +9 -8
- package/dist/packages/ui-web/src/progress.d.ts +2 -4
- package/dist/packages/ui-web/src/radio-group.d.ts +3 -8
- package/dist/packages/ui-web/src/resizable.d.ts +6 -7
- package/dist/packages/ui-web/src/scroll-area.d.ts +3 -5
- package/dist/packages/ui-web/src/search.d.ts +1 -1
- package/dist/packages/ui-web/src/select.d.ts +13 -13
- package/dist/packages/ui-web/src/separator.d.ts +2 -4
- package/dist/packages/ui-web/src/sheet.d.ts +13 -27
- package/dist/packages/ui-web/src/sidebar.d.ts +45 -0
- package/dist/packages/ui-web/src/skeleton.d.ts +1 -4
- package/dist/packages/ui-web/src/slider.d.ts +2 -4
- package/dist/packages/ui-web/src/sonner.d.ts +1 -5
- package/dist/packages/ui-web/src/spinner.d.ts +3 -0
- package/dist/packages/ui-web/src/switch.d.ts +4 -4
- package/dist/packages/ui-web/src/table.d.ts +8 -10
- package/dist/packages/ui-web/src/tabs.d.ts +11 -8
- package/dist/packages/ui-web/src/textarea.d.ts +1 -4
- package/dist/packages/ui-web/src/toggle-group.d.ts +7 -10
- package/dist/packages/ui-web/src/toggle.d.ts +7 -5
- package/dist/packages/ui-web/src/tooltip.d.ts +5 -10
- package/dist/pagination.cjs +1 -1
- package/dist/pagination.cjs.map +1 -1
- package/dist/pagination.mjs +77 -59
- package/dist/pagination.mjs.map +1 -1
- package/dist/popover.cjs +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.mjs +53 -13
- package/dist/popover.mjs.map +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.mjs +18 -15
- package/dist/progress.mjs.map +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.mjs +24 -21
- package/dist/radio-group.mjs.map +1 -1
- package/dist/resizable.cjs +1 -1
- package/dist/resizable.cjs.map +1 -1
- package/dist/resizable.mjs +25 -16
- package/dist/resizable.mjs.map +1 -1
- package/dist/scroll-area.cjs +1 -1
- package/dist/scroll-area.cjs.map +1 -1
- package/dist/scroll-area.mjs +34 -27
- package/dist/scroll-area.mjs.map +1 -1
- package/dist/scroll-to-top.cjs +1 -1
- package/dist/scroll-to-top.mjs +17 -17
- package/dist/search.cjs +1 -1
- package/dist/search.cjs.map +1 -1
- package/dist/search.mjs +18 -17
- package/dist/search.mjs.map +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.cjs.map +1 -1
- package/dist/select.mjs +96 -65
- package/dist/select.mjs.map +1 -1
- package/dist/separator.cjs +1 -1
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.mjs +14 -13
- package/dist/separator.mjs.map +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.cjs.map +1 -1
- package/dist/sheet.mjs +85 -53
- package/dist/sheet.mjs.map +1 -1
- package/dist/sidebar-BnEmNYS2.mjs +354 -0
- package/dist/sidebar-BnEmNYS2.mjs.map +1 -0
- package/dist/sidebar-BnuanaZN.js +2 -0
- package/dist/sidebar-BnuanaZN.js.map +1 -0
- package/dist/sidebar.cjs +1 -0
- package/dist/sidebar.d.ts +2 -0
- package/dist/sidebar.mjs +3 -0
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.mjs +4 -5
- package/dist/skeleton.mjs.map +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.mjs +31 -12
- package/dist/slider.mjs.map +1 -1
- package/dist/sonner.cjs +1 -1
- package/dist/sonner.cjs.map +1 -1
- package/dist/sonner.mjs +22 -16
- package/dist/sonner.mjs.map +1 -1
- package/dist/spinner.cjs +2 -0
- package/dist/spinner.cjs.map +1 -0
- package/dist/spinner.d.ts +2 -0
- package/dist/spinner.mjs +17 -0
- package/dist/spinner.mjs.map +1 -0
- package/dist/support-fab.cjs +1 -1
- package/dist/support-fab.cjs.map +1 -1
- package/dist/support-fab.mjs +8 -8
- package/dist/support-fab.mjs.map +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.mjs +17 -11
- package/dist/switch.mjs.map +1 -1
- package/dist/table-of-contents.cjs +1 -1
- package/dist/table-of-contents.mjs +2 -2
- package/dist/table.cjs +1 -1
- package/dist/table.cjs.map +1 -1
- package/dist/table.mjs +65 -56
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.mjs +42 -22
- package/dist/tabs.mjs.map +1 -1
- package/dist/text.cjs +1 -1
- package/dist/text.cjs.map +1 -1
- package/dist/text.mjs +3 -3
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.mjs +12 -11
- package/dist/textarea.mjs.map +1 -1
- package/dist/theme-provider.cjs +1 -1
- package/dist/theme-provider.mjs +1 -1
- package/dist/theme-toggle-CNDBFa9t.js +2 -0
- package/dist/theme-toggle-CNDBFa9t.js.map +1 -0
- package/dist/{theme-toggle-B6QS2aTS.mjs → theme-toggle-CgEJLId-.mjs} +26 -10
- package/dist/theme-toggle-CgEJLId-.mjs.map +1 -0
- package/dist/theme-toggle.cjs +1 -1
- package/dist/theme-toggle.mjs +1 -1
- package/dist/toast.cjs +1 -1
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.mjs +19 -19
- package/dist/toast.mjs.map +1 -1
- package/dist/{toaster-C-1djNvf.js → toaster-C3UZyPzU.js} +2 -2
- package/dist/{toaster-C-1djNvf.js.map → toaster-C3UZyPzU.js.map} +1 -1
- package/dist/{toaster-CEa33QUH.mjs → toaster-DH0UX0nD.mjs} +2 -2
- package/dist/{toaster-CEa33QUH.mjs.map → toaster-DH0UX0nD.mjs.map} +1 -1
- package/dist/toaster.cjs +1 -1
- package/dist/toaster.mjs +1 -1
- package/dist/toggle-group.cjs +1 -1
- package/dist/toggle-group.cjs.map +1 -1
- package/dist/toggle-group.mjs +41 -28
- package/dist/toggle-group.mjs.map +1 -1
- package/dist/toggle.cjs +1 -1
- package/dist/toggle.cjs.map +1 -1
- package/dist/toggle.mjs +32 -16
- package/dist/toggle.mjs.map +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.mjs +33 -20
- package/dist/tooltip.mjs.map +1 -1
- package/dist/{utils-DU-Y_pvO.js → utils-D7tt_q-u.js} +2 -2
- package/dist/{utils-DU-Y_pvO.js.map → utils-D7tt_q-u.js.map} +1 -1
- package/dist/{utils-BsD1_fYL.mjs → utils-IYJAOUsw.mjs} +2 -2
- package/dist/{utils-BsD1_fYL.mjs.map → utils-IYJAOUsw.mjs.map} +1 -1
- package/dist/{vendor-ChPUVHXi.mjs → vendor-B6CFfDyk.mjs} +29707 -24351
- package/dist/vendor-B6CFfDyk.mjs.map +1 -0
- package/dist/vendor-UfQavLF9.js +111 -0
- package/dist/vendor-UfQavLF9.js.map +1 -0
- package/package.json +4 -3
- package/dist/src-D3IDWqE2.js +0 -2
- package/dist/src-D3IDWqE2.js.map +0 -1
- package/dist/src-N08I3kfW.mjs +0 -23
- package/dist/src-N08I3kfW.mjs.map +0 -1
- package/dist/theme-toggle-B6QS2aTS.mjs.map +0 -1
- package/dist/theme-toggle-CbtfA8aG.js +0 -2
- package/dist/theme-toggle-CbtfA8aG.js.map +0 -1
- package/dist/vendor-3cr8xz0x.js +0 -92
- package/dist/vendor-3cr8xz0x.js.map +0 -1
- package/dist/vendor-ChPUVHXi.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.cjs","names":[],"sources":["../packages/ui-web/src/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n DropdownMenuBaseProps,\n DropdownMenuCheckboxItemBaseProps,\n DropdownMenuContentBaseProps,\n DropdownMenuGroupBaseProps,\n DropdownMenuItemBaseProps,\n DropdownMenuLabelBaseProps,\n DropdownMenuRadioGroupBaseProps,\n DropdownMenuRadioItemBaseProps,\n DropdownMenuSeparatorBaseProps,\n DropdownMenuShortcutBaseProps,\n DropdownMenuSubBaseProps,\n DropdownMenuSubContentBaseProps,\n DropdownMenuSubTriggerBaseProps,\n DropdownMenuTriggerBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & DropdownMenuSubTriggerBaseProps\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger?.displayName || 'DropdownMenuSubTrigger';\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> & DropdownMenuSubContentBaseProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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-[--radix-dropdown-menu-content-transform-origin] overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent?.displayName || 'DropdownMenuSubContent';\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & DropdownMenuContentBaseProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-dropdown-menu-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content?.displayName || 'DropdownMenuContent';\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & DropdownMenuItemBaseProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item?.displayName || 'DropdownMenuItem';\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> & DropdownMenuCheckboxItemBaseProps\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem?.displayName || 'DropdownMenuCheckboxItem';\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> & DropdownMenuRadioItemBaseProps\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem?.displayName || 'DropdownMenuRadioItem';\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & DropdownMenuLabelBaseProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label?.displayName || 'DropdownMenuLabel';\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> & DropdownMenuSeparatorBaseProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator?.displayName || 'DropdownMenuSeparator';\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement> & DropdownMenuShortcutBaseProps) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n\nexport type {\n DropdownMenuCheckboxItemBaseProps as DropdownMenuCheckboxItemProps,\n DropdownMenuContentBaseProps as DropdownMenuContentProps,\n DropdownMenuGroupBaseProps as DropdownMenuGroupProps,\n DropdownMenuItemBaseProps as DropdownMenuItemProps,\n DropdownMenuLabelBaseProps as DropdownMenuLabelProps,\n DropdownMenuBaseProps as DropdownMenuProps,\n DropdownMenuRadioGroupBaseProps as DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemBaseProps as DropdownMenuRadioItemProps,\n DropdownMenuSeparatorBaseProps as DropdownMenuSeparatorProps,\n DropdownMenuShortcutBaseProps as DropdownMenuShortcutProps,\n DropdownMenuSubContentBaseProps as DropdownMenuSubContentProps,\n DropdownMenuSubBaseProps as DropdownMenuSubProps,\n DropdownMenuSubTriggerBaseProps as DropdownMenuSubTriggerProps,\n DropdownMenuTriggerBaseProps as DropdownMenuTriggerProps,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-menu.cjs","names":[],"sources":["../packages/ui-web/src/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { cn } from './lib/utils';\n\nimport type { DropdownMenuBaseProps } from '@gv-tech/ui-core';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-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 align = 'start',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg p-1 shadow-md ring-1 duration-100 data-[state=closed]:overflow-hidden',\n className,\n )}\n {...props}\n />\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 'group/dropdown-menu-item focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground 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-[variant=destructive]:*:[svg]:text-destructive relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\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 inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.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(\n 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-lg ring-1 duration-100',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyDropdownMenuContract: DropdownMenuBaseProps = {} as unknown as React.ComponentProps<typeof DropdownMenu>;\n"],"mappings":"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"}
|
package/dist/dropdown-menu.mjs
CHANGED
|
@@ -1,74 +1,130 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import
|
|
3
|
+
import { Bn as e, Gn as t, Hn as n, Jn as r, Jr as i, Kn as a, Qn as o, Rn as s, Un as c, Vn as l, Wn as u, Xn as d, Yn as f, Zn as p, it as m, qn as h, tt as g, zn as _ } from "./vendor-B6CFfDyk.mjs";
|
|
4
|
+
import { t as v } from "./utils-IYJAOUsw.mjs";
|
|
5
|
+
import "react";
|
|
6
6
|
//#region packages/ui-web/src/dropdown-menu.tsx
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
7
|
+
var y = i();
|
|
8
|
+
function b({ ...e }) {
|
|
9
|
+
return /* @__PURE__ */ (0, y.jsx)(h, {
|
|
10
|
+
"data-slot": "dropdown-menu",
|
|
11
|
+
...e
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function x({ ...e }) {
|
|
15
|
+
return /* @__PURE__ */ (0, y.jsx)(u, {
|
|
16
|
+
"data-slot": "dropdown-menu-portal",
|
|
17
|
+
...e
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function S({ ...e }) {
|
|
21
|
+
return /* @__PURE__ */ (0, y.jsx)(o, {
|
|
22
|
+
"data-slot": "dropdown-menu-trigger",
|
|
23
|
+
...e
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function C({ className: e, align: t = "start", sideOffset: n = 4, ...r }) {
|
|
27
|
+
return /* @__PURE__ */ (0, y.jsx)(u, { children: /* @__PURE__ */ (0, y.jsx)(_, {
|
|
28
|
+
"data-slot": "dropdown-menu-content",
|
|
29
|
+
sideOffset: n,
|
|
30
|
+
align: t,
|
|
31
|
+
className: v("bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg p-1 shadow-md ring-1 duration-100 data-[state=closed]:overflow-hidden", e),
|
|
32
|
+
...r
|
|
33
|
+
}) });
|
|
34
|
+
}
|
|
35
|
+
function w({ ...t }) {
|
|
36
|
+
return /* @__PURE__ */ (0, y.jsx)(e, {
|
|
37
|
+
"data-slot": "dropdown-menu-group",
|
|
38
|
+
...t
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function T({ className: e, inset: t, variant: n = "default", ...r }) {
|
|
42
|
+
return /* @__PURE__ */ (0, y.jsx)(l, {
|
|
43
|
+
"data-slot": "dropdown-menu-item",
|
|
44
|
+
"data-inset": t,
|
|
45
|
+
"data-variant": n,
|
|
46
|
+
className: v("group/dropdown-menu-item focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground 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-[variant=destructive]:*:[svg]:text-destructive relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", e),
|
|
47
|
+
...r
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function E({ className: e, children: t, checked: r, inset: i, ...a }) {
|
|
51
|
+
return /* @__PURE__ */ (0, y.jsxs)(s, {
|
|
52
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
53
|
+
"data-inset": i,
|
|
54
|
+
className: v("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", e),
|
|
55
|
+
checked: r,
|
|
56
|
+
...a,
|
|
57
|
+
children: [/* @__PURE__ */ (0, y.jsx)("span", {
|
|
58
|
+
className: "pointer-events-none absolute end-2 flex items-center justify-center",
|
|
59
|
+
"data-slot": "dropdown-menu-checkbox-item-indicator",
|
|
60
|
+
children: /* @__PURE__ */ (0, y.jsx)(n, { children: /* @__PURE__ */ (0, y.jsx)(m, {}) })
|
|
61
|
+
}), t]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function D({ ...e }) {
|
|
65
|
+
return /* @__PURE__ */ (0, y.jsx)(t, {
|
|
66
|
+
"data-slot": "dropdown-menu-radio-group",
|
|
67
|
+
...e
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function O({ className: e, children: t, inset: r, ...i }) {
|
|
71
|
+
return /* @__PURE__ */ (0, y.jsxs)(a, {
|
|
72
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
73
|
+
"data-inset": r,
|
|
74
|
+
className: v("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", e),
|
|
75
|
+
...i,
|
|
76
|
+
children: [/* @__PURE__ */ (0, y.jsx)("span", {
|
|
77
|
+
className: "pointer-events-none absolute end-2 flex items-center justify-center",
|
|
78
|
+
"data-slot": "dropdown-menu-radio-item-indicator",
|
|
79
|
+
children: /* @__PURE__ */ (0, y.jsx)(n, { children: /* @__PURE__ */ (0, y.jsx)(m, {}) })
|
|
80
|
+
}), t]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function k({ className: e, inset: t, ...n }) {
|
|
84
|
+
return /* @__PURE__ */ (0, y.jsx)(c, {
|
|
85
|
+
"data-slot": "dropdown-menu-label",
|
|
86
|
+
"data-inset": t,
|
|
87
|
+
className: v("text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7", e),
|
|
88
|
+
...n
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function A({ className: e, ...t }) {
|
|
92
|
+
return /* @__PURE__ */ (0, y.jsx)(r, {
|
|
93
|
+
"data-slot": "dropdown-menu-separator",
|
|
94
|
+
className: v("bg-border -mx-1 my-1 h-px", e),
|
|
95
|
+
...t
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function j({ className: e, ...t }) {
|
|
99
|
+
return /* @__PURE__ */ (0, y.jsx)("span", {
|
|
100
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
101
|
+
className: v("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest", e),
|
|
102
|
+
...t
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function M({ ...e }) {
|
|
106
|
+
return /* @__PURE__ */ (0, y.jsx)(f, {
|
|
107
|
+
"data-slot": "dropdown-menu-sub",
|
|
108
|
+
...e
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function N({ className: e, inset: t, children: n, ...r }) {
|
|
112
|
+
return /* @__PURE__ */ (0, y.jsxs)(p, {
|
|
113
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
114
|
+
"data-inset": t,
|
|
115
|
+
className: v("focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4", e),
|
|
116
|
+
...r,
|
|
117
|
+
children: [n, /* @__PURE__ */ (0, y.jsx)(g, { className: "ms-auto" })]
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function P({ className: e, ...t }) {
|
|
121
|
+
return /* @__PURE__ */ (0, y.jsx)(d, {
|
|
122
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
123
|
+
className: v("bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-lg ring-1 duration-100", e),
|
|
124
|
+
...t
|
|
125
|
+
});
|
|
126
|
+
}
|
|
71
127
|
//#endregion
|
|
72
|
-
export {
|
|
128
|
+
export { b as DropdownMenu, E as DropdownMenuCheckboxItem, C as DropdownMenuContent, w as DropdownMenuGroup, T as DropdownMenuItem, k as DropdownMenuLabel, x as DropdownMenuPortal, D as DropdownMenuRadioGroup, O as DropdownMenuRadioItem, A as DropdownMenuSeparator, j as DropdownMenuShortcut, M as DropdownMenuSub, P as DropdownMenuSubContent, N as DropdownMenuSubTrigger, S as DropdownMenuTrigger };
|
|
73
129
|
|
|
74
130
|
//# sourceMappingURL=dropdown-menu.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.mjs","names":[],"sources":["../packages/ui-web/src/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n DropdownMenuBaseProps,\n DropdownMenuCheckboxItemBaseProps,\n DropdownMenuContentBaseProps,\n DropdownMenuGroupBaseProps,\n DropdownMenuItemBaseProps,\n DropdownMenuLabelBaseProps,\n DropdownMenuRadioGroupBaseProps,\n DropdownMenuRadioItemBaseProps,\n DropdownMenuSeparatorBaseProps,\n DropdownMenuShortcutBaseProps,\n DropdownMenuSubBaseProps,\n DropdownMenuSubContentBaseProps,\n DropdownMenuSubTriggerBaseProps,\n DropdownMenuTriggerBaseProps,\n} from '@gv-tech/ui-core';\nimport { cn } from './lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & DropdownMenuSubTriggerBaseProps\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'focus:bg-accent data-[state=open]:bg-accent flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none select-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger?.displayName || 'DropdownMenuSubTrigger';\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> & DropdownMenuSubContentBaseProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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-[--radix-dropdown-menu-content-transform-origin] overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent?.displayName || 'DropdownMenuSubContent';\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & DropdownMenuContentBaseProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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 origin-[--radix-dropdown-menu-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content?.displayName || 'DropdownMenuContent';\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & DropdownMenuItemBaseProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item?.displayName || 'DropdownMenuItem';\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> & DropdownMenuCheckboxItemBaseProps\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem?.displayName || 'DropdownMenuCheckboxItem';\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> & DropdownMenuRadioItemBaseProps\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm transition-colors outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem?.displayName || 'DropdownMenuRadioItem';\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & DropdownMenuLabelBaseProps\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label?.displayName || 'DropdownMenuLabel';\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> & DropdownMenuSeparatorBaseProps\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator?.displayName || 'DropdownMenuSeparator';\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement> & DropdownMenuShortcutBaseProps) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n\nexport type {\n DropdownMenuCheckboxItemBaseProps as DropdownMenuCheckboxItemProps,\n DropdownMenuContentBaseProps as DropdownMenuContentProps,\n DropdownMenuGroupBaseProps as DropdownMenuGroupProps,\n DropdownMenuItemBaseProps as DropdownMenuItemProps,\n DropdownMenuLabelBaseProps as DropdownMenuLabelProps,\n DropdownMenuBaseProps as DropdownMenuProps,\n DropdownMenuRadioGroupBaseProps as DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemBaseProps as DropdownMenuRadioItemProps,\n DropdownMenuSeparatorBaseProps as DropdownMenuSeparatorProps,\n DropdownMenuShortcutBaseProps as DropdownMenuShortcutProps,\n DropdownMenuSubContentBaseProps as DropdownMenuSubContentProps,\n DropdownMenuSubBaseProps as DropdownMenuSubProps,\n DropdownMenuSubTriggerBaseProps as DropdownMenuSubTriggerProps,\n DropdownMenuTriggerBaseProps as DropdownMenuTriggerProps,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-menu.mjs","names":[],"sources":["../packages/ui-web/src/dropdown-menu.tsx"],"sourcesContent":["'use client';\n\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { cn } from './lib/utils';\n\nimport type { DropdownMenuBaseProps } from '@gv-tech/ui-core';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-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 align = 'start',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg p-1 shadow-md ring-1 duration-100 data-[state=closed]:overflow-hidden',\n className,\n )}\n {...props}\n />\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 'group/dropdown-menu-item focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground 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-[variant=destructive]:*:[svg]:text-destructive relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\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 inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_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 end-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.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(\n 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ms-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground ring-foreground/10 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-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 min-w-[96px] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-lg ring-1 duration-100',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n\n// Verify that the component satisfies the ui-core contract\nconst _verifyDropdownMenuContract: DropdownMenuBaseProps = {} as unknown as React.ComponentProps<typeof DropdownMenu>;\n"],"mappings":"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"}
|
package/dist/empty.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vendor-UfQavLF9.js"),t=require("./utils-D7tt_q-u.js");var n=e.Jr();function r({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`empty`,className:t.t(`flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance`,e),...r})}function i({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`empty-header`,className:t.t(`flex max-w-sm flex-col items-center gap-2`,e),...r})}var a=e.R(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-4`}},defaultVariants:{variant:`default`}});function o({className:e,variant:r=`default`,...i}){return(0,n.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":r,className:t.t(a({variant:r,className:e})),...i})}function s({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`empty-title`,className:t.t(`text-sm font-medium tracking-tight`,e),...r})}function c({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`empty-description`,className:t.t(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...r})}function l({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`empty-content`,className:t.t(`flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance`,e),...r})}exports.Empty=r,exports.EmptyContent=l,exports.EmptyDescription=c,exports.EmptyHeader=i,exports.EmptyMedia=o,exports.EmptyTitle=s;
|
|
2
|
+
//# sourceMappingURL=empty.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.cjs","names":[],"sources":["../packages/ui-web/src/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './lib/utils';\n\nimport type { EmptyBaseProps, EmptyMediaBaseProps } from '@gv-tech/ui-core';\n\nfunction Empty({ className, ...props }: React.ComponentProps<'div'> & EmptyBaseProps) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n 'flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"empty-header\" className={cn('flex max-w-sm flex-col items-center gap-2', className)} {...props} />\n );\n}\n\nconst emptyMediaVariants = cva(\n 'mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: 'flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants> & EmptyMediaBaseProps) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-title\" className={cn('text-sm font-medium tracking-tight', className)} {...props} />;\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n 'text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn('flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance', className)}\n {...props}\n />\n );\n}\n\nexport { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };\n"],"mappings":"sKAMA,SAAS,EAAM,CAAE,YAAW,GAAG,GAAuD,CACpF,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,QACV,UAAW,EAAA,EACT,8HACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAA,EAAG,4CAA6C,CAAS,EAAG,GAAI,CAAQ,CAAA,CAErH,CAEA,IAAM,EAAqB,EAAA,EACzB,8FACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,yHACR,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAEA,SAAS,EAAW,CAClB,YACA,UAAU,UACV,GAAG,GAC2F,CAC9F,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,aACV,eAAc,EACd,UAAW,EAAA,EAAG,EAAmB,CAAE,UAAS,WAAU,CAAC,CAAC,EACxD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,cAAc,UAAW,EAAA,EAAG,qCAAsC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAClH,CAEA,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAoC,CAC5E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,oBACV,UAAW,EAAA,EACT,0GACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,EAAa,CAAE,YAAW,GAAG,GAAsC,CAC1E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,gBACV,UAAW,EAAA,EAAG,kFAAmF,CAAS,EAC1G,GAAI,CACL,CAAA,CAEL"}
|
package/dist/empty.d.ts
ADDED
package/dist/empty.mjs
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Jr as e, R as t } from "./vendor-B6CFfDyk.mjs";
|
|
3
|
+
import { t as n } from "./utils-IYJAOUsw.mjs";
|
|
4
|
+
//#region packages/ui-web/src/empty.tsx
|
|
5
|
+
var r = e();
|
|
6
|
+
function i({ className: e, ...t }) {
|
|
7
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
8
|
+
"data-slot": "empty",
|
|
9
|
+
className: n("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance", e),
|
|
10
|
+
...t
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
function a({ className: e, ...t }) {
|
|
14
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
15
|
+
"data-slot": "empty-header",
|
|
16
|
+
className: n("flex max-w-sm flex-col items-center gap-2", e),
|
|
17
|
+
...t
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
var o = t("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", {
|
|
21
|
+
variants: { variant: {
|
|
22
|
+
default: "bg-transparent",
|
|
23
|
+
icon: "flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-4"
|
|
24
|
+
} },
|
|
25
|
+
defaultVariants: { variant: "default" }
|
|
26
|
+
});
|
|
27
|
+
function s({ className: e, variant: t = "default", ...i }) {
|
|
28
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
29
|
+
"data-slot": "empty-icon",
|
|
30
|
+
"data-variant": t,
|
|
31
|
+
className: n(o({
|
|
32
|
+
variant: t,
|
|
33
|
+
className: e
|
|
34
|
+
})),
|
|
35
|
+
...i
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function c({ className: e, ...t }) {
|
|
39
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
40
|
+
"data-slot": "empty-title",
|
|
41
|
+
className: n("text-sm font-medium tracking-tight", e),
|
|
42
|
+
...t
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function l({ className: e, ...t }) {
|
|
46
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
47
|
+
"data-slot": "empty-description",
|
|
48
|
+
className: n("text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4", e),
|
|
49
|
+
...t
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function u({ className: e, ...t }) {
|
|
53
|
+
return /* @__PURE__ */ (0, r.jsx)("div", {
|
|
54
|
+
"data-slot": "empty-content",
|
|
55
|
+
className: n("flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance", e),
|
|
56
|
+
...t
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { i as Empty, u as EmptyContent, l as EmptyDescription, a as EmptyHeader, s as EmptyMedia, c as EmptyTitle };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=empty.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.mjs","names":[],"sources":["../packages/ui-web/src/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './lib/utils';\n\nimport type { EmptyBaseProps, EmptyMediaBaseProps } from '@gv-tech/ui-core';\n\nfunction Empty({ className, ...props }: React.ComponentProps<'div'> & EmptyBaseProps) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n 'flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"empty-header\" className={cn('flex max-w-sm flex-col items-center gap-2', className)} {...props} />\n );\n}\n\nconst emptyMediaVariants = cva(\n 'mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: 'flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*=size-])]:size-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants> & EmptyMediaBaseProps) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"empty-title\" className={cn('text-sm font-medium tracking-tight', className)} {...props} />;\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n 'text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn('flex w-full max-w-sm min-w-0 flex-col items-center gap-2.5 text-sm text-balance', className)}\n {...props}\n />\n );\n}\n\nexport { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };\n"],"mappings":";;;;;AAMA,SAAS,EAAM,EAAE,cAAW,GAAG,KAAuD;CACpF,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,+HACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;CACzE,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EAAK,aAAU;EAAe,WAAW,EAAG,6CAA6C,CAAS;EAAG,GAAI;CAAQ,CAAA;AAErH;AAEA,IAAM,IAAqB,EACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,EAAW,EAClB,cACA,aAAU,WACV,GAAG,KAC2F;CAC9F,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EACE,aAAU;EACV,gBAAc;EACd,WAAW,EAAG,EAAmB;GAAE;GAAS;EAAU,CAAC,CAAC;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;CACxE,OAAO,iBAAA,GAAA,EAAA,KAAC,OAAD;EAAK,aAAU;EAAc,WAAW,EAAG,sCAAsC,CAAS;EAAG,GAAI;CAAQ,CAAA;AAClH;AAEA,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAoC;CAC5E,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,2GACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAa,EAAE,cAAW,GAAG,KAAsC;CAC1E,OACE,iBAAA,GAAA,EAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,mFAAmF,CAAS;EAC1G,GAAI;CACL,CAAA;AAEL"}
|
package/dist/field.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./vendor-UfQavLF9.js"),t=require("./utils-D7tt_q-u.js"),n=require("./label.cjs"),r=require("./separator.cjs");let i=require("react");var a=e.Jr();function o({className:e,...n}){return(0,a.jsx)(`fieldset`,{"data-slot":`field-set`,className:t.t(`flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3`,e),...n})}function s({className:e,variant:n=`legend`,...r}){return(0,a.jsx)(`legend`,{"data-slot":`field-legend`,"data-variant":n,className:t.t(`mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base`,e),...r})}function c({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`field-group`,className:t.t(`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`,e),...n})}var l=e.R(`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:e,orientation:n=`vertical`,...r}){return(0,a.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":n,className:t.t(l({orientation:n}),e),...r})}function d({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`field-content`,className:t.t(`group/field-content flex flex-1 flex-col gap-0.5 leading-snug`,e),...n})}function f({className:e,...r}){return(0,a.jsx)(n.Label,{"data-slot":`field-label`,className:t.t(`group/field-label peer/field-label has-data-[state=checked]:border-primary/30 has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:border-primary/20 dark:has-data-[state=checked]:bg-primary/10 flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,e),...r})}function p({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`field-label`,className:t.t(`flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50`,e),...n})}function m({className:e,...n}){return(0,a.jsx)(`p`,{"data-slot":`field-description`,className:t.t(`text-muted-foreground text-start text-sm leading-normal font-normal group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5`,`last:mt-0 nth-last-2:-mt-1`,`[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4`,e),...n})}function h({children:e,className:n,...i}){return(0,a.jsxs)(`div`,{"data-slot":`field-separator`,"data-content":!!e,className:t.t(`relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2`,n),...i,children:[(0,a.jsx)(r.Separator,{className:`absolute inset-0 top-1/2`}),e&&(0,a.jsx)(`span`,{className:`bg-background text-muted-foreground relative mx-auto block w-fit px-2`,"data-slot":`field-separator-content`,children:e})]})}function g({className:e,children:n,errors:r,...o}){let s=(0,i.useMemo)(()=>{if(n)return n;if(!r?.length)return null;let e=[...new Map(r.map(e=>[e?.message,e])).values()];return e?.length==1?e[0]?.message:(0,a.jsx)(`ul`,{className:`ms-4 flex list-disc flex-col gap-1`,children:e.map((e,t)=>e?.message&&(0,a.jsx)(`li`,{children:e.message},t))})},[n,r]);return s?(0,a.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:t.t(`text-destructive text-sm font-normal`,e),...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":["../packages/ui-web/src/field.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useMemo } from 'react';\n\nimport type {\n FieldBaseProps,\n FieldContentBaseProps,\n FieldDescriptionBaseProps,\n FieldErrorBaseProps,\n FieldGroupBaseProps,\n FieldLabelBaseProps,\n FieldLegendBaseProps,\n FieldSeparatorBaseProps,\n FieldSetBaseProps,\n FieldTitleBaseProps,\n} from '@gv-tech/ui-core';\nimport { Label } from './label';\nimport { cn } from './lib/utils';\nimport { Separator } from './separator';\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<'fieldset'> & FieldSetBaseProps) {\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'> & FieldLegendBaseProps) {\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'> & FieldGroupBaseProps) {\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> & FieldBaseProps) {\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'> & FieldContentBaseProps) {\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> & FieldLabelBaseProps) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n 'group/field-label peer/field-label has-data-[state=checked]:border-primary/30 has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:border-primary/20 dark:has-data-[state=checked]:bg-primary/10 flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5',\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'> & FieldTitleBaseProps) {\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'> & FieldDescriptionBaseProps) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n 'text-muted-foreground text-start text-sm leading-normal font-normal group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5',\n 'last:mt-0 nth-last-2:-mt-1',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({ children, className, ...props }: React.ComponentProps<'div'> & FieldSeparatorBaseProps) {\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=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({ className, children, errors, ...props }: React.ComponentProps<'div'> & FieldErrorBaseProps) {\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=\"ms-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map((error, index) => error?.message && <li key={index}>{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-destructive text-sm font-normal', className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle,\n};\n"],"mappings":"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"}
|
package/dist/field.d.ts
ADDED
package/dist/field.mjs
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
import { Jr as e, R as t } from "./vendor-B6CFfDyk.mjs";
|
|
4
|
+
import { t as n } from "./utils-IYJAOUsw.mjs";
|
|
5
|
+
import { Label as r } from "./label.mjs";
|
|
6
|
+
import { Separator as i } from "./separator.mjs";
|
|
7
|
+
import { useMemo as a } from "react";
|
|
8
|
+
//#region packages/ui-web/src/field.tsx
|
|
9
|
+
var o = e();
|
|
10
|
+
function s({ className: e, ...t }) {
|
|
11
|
+
return /* @__PURE__ */ (0, o.jsx)("fieldset", {
|
|
12
|
+
"data-slot": "field-set",
|
|
13
|
+
className: n("flex flex-col gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", e),
|
|
14
|
+
...t
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function c({ className: e, variant: t = "legend", ...r }) {
|
|
18
|
+
return /* @__PURE__ */ (0, o.jsx)("legend", {
|
|
19
|
+
"data-slot": "field-legend",
|
|
20
|
+
"data-variant": t,
|
|
21
|
+
className: n("mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", e),
|
|
22
|
+
...r
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function l({ className: e, ...t }) {
|
|
26
|
+
return /* @__PURE__ */ (0, o.jsx)("div", {
|
|
27
|
+
"data-slot": "field-group",
|
|
28
|
+
className: 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", e),
|
|
29
|
+
...t
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
var u = t("group/field flex w-full gap-2 data-[invalid=true]:text-destructive", {
|
|
33
|
+
variants: { orientation: {
|
|
34
|
+
vertical: "flex-col *:w-full [&>.sr-only]:w-auto",
|
|
35
|
+
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",
|
|
36
|
+
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"
|
|
37
|
+
} },
|
|
38
|
+
defaultVariants: { orientation: "vertical" }
|
|
39
|
+
});
|
|
40
|
+
function d({ className: e, orientation: t = "vertical", ...r }) {
|
|
41
|
+
return /* @__PURE__ */ (0, o.jsx)("div", {
|
|
42
|
+
role: "group",
|
|
43
|
+
"data-slot": "field",
|
|
44
|
+
"data-orientation": t,
|
|
45
|
+
className: n(u({ orientation: t }), e),
|
|
46
|
+
...r
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function f({ className: e, ...t }) {
|
|
50
|
+
return /* @__PURE__ */ (0, o.jsx)("div", {
|
|
51
|
+
"data-slot": "field-content",
|
|
52
|
+
className: n("group/field-content flex flex-1 flex-col gap-0.5 leading-snug", e),
|
|
53
|
+
...t
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function p({ className: e, ...t }) {
|
|
57
|
+
return /* @__PURE__ */ (0, o.jsx)(r, {
|
|
58
|
+
"data-slot": "field-label",
|
|
59
|
+
className: n("group/field-label peer/field-label has-data-[state=checked]:border-primary/30 has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:border-primary/20 dark:has-data-[state=checked]:bg-primary/10 flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", e),
|
|
60
|
+
...t
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function m({ className: e, ...t }) {
|
|
64
|
+
return /* @__PURE__ */ (0, o.jsx)("div", {
|
|
65
|
+
"data-slot": "field-label",
|
|
66
|
+
className: n("flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50", e),
|
|
67
|
+
...t
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function h({ className: e, ...t }) {
|
|
71
|
+
return /* @__PURE__ */ (0, o.jsx)("p", {
|
|
72
|
+
"data-slot": "field-description",
|
|
73
|
+
className: n("text-muted-foreground text-start text-sm leading-normal font-normal group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5", "last:mt-0 nth-last-2:-mt-1", "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4", e),
|
|
74
|
+
...t
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function g({ children: e, className: t, ...r }) {
|
|
78
|
+
return /* @__PURE__ */ (0, o.jsxs)("div", {
|
|
79
|
+
"data-slot": "field-separator",
|
|
80
|
+
"data-content": !!e,
|
|
81
|
+
className: n("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", t),
|
|
82
|
+
...r,
|
|
83
|
+
children: [/* @__PURE__ */ (0, o.jsx)(i, { className: "absolute inset-0 top-1/2" }), e && /* @__PURE__ */ (0, o.jsx)("span", {
|
|
84
|
+
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
85
|
+
"data-slot": "field-separator-content",
|
|
86
|
+
children: e
|
|
87
|
+
})]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function _({ className: e, children: t, errors: r, ...i }) {
|
|
91
|
+
let s = a(() => {
|
|
92
|
+
if (t) return t;
|
|
93
|
+
if (!r?.length) return null;
|
|
94
|
+
let e = [...new Map(r.map((e) => [e?.message, e])).values()];
|
|
95
|
+
return e?.length == 1 ? e[0]?.message : /* @__PURE__ */ (0, o.jsx)("ul", {
|
|
96
|
+
className: "ms-4 flex list-disc flex-col gap-1",
|
|
97
|
+
children: e.map((e, t) => e?.message && /* @__PURE__ */ (0, o.jsx)("li", { children: e.message }, t))
|
|
98
|
+
});
|
|
99
|
+
}, [t, r]);
|
|
100
|
+
return s ? /* @__PURE__ */ (0, o.jsx)("div", {
|
|
101
|
+
role: "alert",
|
|
102
|
+
"data-slot": "field-error",
|
|
103
|
+
className: n("text-destructive text-sm font-normal", e),
|
|
104
|
+
...i,
|
|
105
|
+
children: s
|
|
106
|
+
}) : null;
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
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 };
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=field.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.mjs","names":[],"sources":["../packages/ui-web/src/field.tsx"],"sourcesContent":["'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useMemo } from 'react';\n\nimport type {\n FieldBaseProps,\n FieldContentBaseProps,\n FieldDescriptionBaseProps,\n FieldErrorBaseProps,\n FieldGroupBaseProps,\n FieldLabelBaseProps,\n FieldLegendBaseProps,\n FieldSeparatorBaseProps,\n FieldSetBaseProps,\n FieldTitleBaseProps,\n} from '@gv-tech/ui-core';\nimport { Label } from './label';\nimport { cn } from './lib/utils';\nimport { Separator } from './separator';\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<'fieldset'> & FieldSetBaseProps) {\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'> & FieldLegendBaseProps) {\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'> & FieldGroupBaseProps) {\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> & FieldBaseProps) {\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'> & FieldContentBaseProps) {\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> & FieldLabelBaseProps) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n 'group/field-label peer/field-label has-data-[state=checked]:border-primary/30 has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:border-primary/20 dark:has-data-[state=checked]:bg-primary/10 flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border *:data-[slot=field]:p-2.5',\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'> & FieldTitleBaseProps) {\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'> & FieldDescriptionBaseProps) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n 'text-muted-foreground text-start text-sm leading-normal font-normal group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5',\n 'last:mt-0 nth-last-2:-mt-1',\n '[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({ children, className, ...props }: React.ComponentProps<'div'> & FieldSeparatorBaseProps) {\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=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({ className, children, errors, ...props }: React.ComponentProps<'div'> & FieldErrorBaseProps) {\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=\"ms-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map((error, index) => error?.message && <li key={index}>{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-destructive text-sm font-normal', className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle,\n};\n"],"mappings":"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"}
|