@egose/shadcn-theme 0.0.53 → 0.0.54
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/{chunk-IAJ2ZBSJ.mjs → chunk-2SKDOU2K.mjs} +1 -1
- package/chunk-2SKDOU2K.mjs.map +1 -0
- package/{chunk-CPGH6LBC.mjs → chunk-6RRWPK3R.mjs} +2 -2
- package/{chunk-DTJ43DCW.mjs → chunk-A4HQTRDU.mjs} +3 -3
- package/{chunk-DTJ43DCW.mjs.map → chunk-A4HQTRDU.mjs.map} +1 -1
- package/{chunk-4FD63HEQ.js → chunk-B7QAAQMG.js} +9 -9
- package/{chunk-4FD63HEQ.js.map → chunk-B7QAAQMG.js.map} +1 -1
- package/{chunk-73VYAPJR.js → chunk-BKCGAF7P.js} +4 -4
- package/{chunk-73VYAPJR.js.map → chunk-BKCGAF7P.js.map} +1 -1
- package/{chunk-NI2SIUXO.js → chunk-CNKUWWZ7.js} +1 -1
- package/chunk-CNKUWWZ7.js.map +1 -0
- package/{chunk-EJQJ3BCF.mjs → chunk-CNR5OJOZ.mjs} +2 -2
- package/{chunk-EJQJ3BCF.mjs.map → chunk-CNR5OJOZ.mjs.map} +1 -1
- package/{chunk-YAPKDLRQ.mjs → chunk-CQ5UU2AD.mjs} +1 -1
- package/chunk-CQ5UU2AD.mjs.map +1 -0
- package/{chunk-EZZ2YCUU.js → chunk-DSWNLHEW.js} +1 -1
- package/{chunk-EZZ2YCUU.js.map → chunk-DSWNLHEW.js.map} +1 -1
- package/{chunk-37EH7QCX.mjs → chunk-EILSBSRU.mjs} +1 -1
- package/chunk-EILSBSRU.mjs.map +1 -0
- package/{chunk-IQYZKNJZ.js → chunk-ETIGFRE4.js} +8 -7
- package/chunk-ETIGFRE4.js.map +1 -0
- package/{chunk-4NMFJSJN.mjs → chunk-FQBFIZY3.mjs} +1 -1
- package/{chunk-4NMFJSJN.mjs.map → chunk-FQBFIZY3.mjs.map} +1 -1
- package/{chunk-2BKV4IJV.mjs → chunk-HEQKEA7M.mjs} +6 -5
- package/chunk-HEQKEA7M.mjs.map +1 -0
- package/{chunk-PS7WGOZH.mjs → chunk-IKMOSUDO.mjs} +2 -2
- package/{chunk-PCR4GC74.js → chunk-JF52Z27L.js} +8 -8
- package/{chunk-PCR4GC74.js.map → chunk-JF52Z27L.js.map} +1 -1
- package/{chunk-YWILOKX4.mjs → chunk-KIYPK4VF.mjs} +2 -2
- package/chunk-KIYPK4VF.mjs.map +1 -0
- package/{chunk-DYUS5722.js → chunk-L2MO6T36.js} +11 -11
- package/{chunk-DYUS5722.js.map → chunk-L2MO6T36.js.map} +1 -1
- package/{chunk-ACE5WNTU.mjs → chunk-M3IF5WMA.mjs} +6 -6
- package/{chunk-OXTCSLHP.mjs → chunk-MDBMHJV2.mjs} +1 -1
- package/chunk-MDBMHJV2.mjs.map +1 -0
- package/{chunk-ZOF6UW3D.js → chunk-MNL6TV33.js} +6 -6
- package/{chunk-ZOF6UW3D.js.map → chunk-MNL6TV33.js.map} +1 -1
- package/{chunk-JHUXWZVG.js → chunk-MTEJGYUG.js} +1 -1
- package/chunk-MTEJGYUG.js.map +1 -0
- package/{chunk-I64GW5SA.js → chunk-NUMBVYVR.js} +3 -3
- package/{chunk-I64GW5SA.js.map → chunk-NUMBVYVR.js.map} +1 -1
- package/{chunk-XJ7GBFHV.js → chunk-OXLQUUKH.js} +4 -4
- package/{chunk-XJ7GBFHV.js.map → chunk-OXLQUUKH.js.map} +1 -1
- package/{chunk-5HD5BGK7.js → chunk-PLIFFDWQ.js} +12 -12
- package/{chunk-5HD5BGK7.js.map → chunk-PLIFFDWQ.js.map} +1 -1
- package/{chunk-DMATER3M.mjs → chunk-QAB6DGZF.mjs} +3 -3
- package/chunk-QAB6DGZF.mjs.map +1 -0
- package/{chunk-ZJAFK7BR.mjs → chunk-QACXLARW.mjs} +1 -1
- package/chunk-QACXLARW.mjs.map +1 -0
- package/{chunk-4XC6EXHZ.mjs → chunk-S4X22CRP.mjs} +2 -2
- package/chunk-S4X22CRP.mjs.map +1 -0
- package/{chunk-CE4PBEIL.js → chunk-SEM2M65Q.js} +5 -5
- package/{chunk-CE4PBEIL.js.map → chunk-SEM2M65Q.js.map} +1 -1
- package/{chunk-NTYWTGYX.mjs → chunk-SEWCR6NS.mjs} +3 -3
- package/{chunk-MYO4WRNB.js → chunk-SPFMZ2EK.js} +6 -6
- package/chunk-SPFMZ2EK.js.map +1 -0
- package/{chunk-E4SSD5P4.js → chunk-WERYBLJZ.js} +1 -1
- package/{chunk-E4SSD5P4.js.map → chunk-WERYBLJZ.js.map} +1 -1
- package/{chunk-54PLQ33F.mjs → chunk-YMQLUZVD.mjs} +3 -3
- package/chunk-YMQLUZVD.mjs.map +1 -0
- package/{chunk-QGXFFTPH.js → chunk-YTXVFY6V.js} +1 -1
- package/{chunk-QGXFFTPH.js.map → chunk-YTXVFY6V.js.map} +1 -1
- package/{chunk-U3KAN7IM.js → chunk-YWFLDXW4.js} +1 -1
- package/{chunk-U3KAN7IM.js.map → chunk-YWFLDXW4.js.map} +1 -1
- package/components/form/date-picker.d.mts +2 -1
- package/components/form/date-picker.d.ts +2 -1
- package/components/form/date-picker.js +4 -4
- package/components/form/date-picker.mjs +3 -3
- package/components/form/date-range-picker.js +4 -4
- package/components/form/date-range-picker.mjs +2 -2
- package/components/form/hook-date-picker.d.mts +1 -0
- package/components/form/hook-date-picker.d.ts +1 -0
- package/components/form/hook-date-picker.js +5 -5
- package/components/form/hook-date-picker.js.map +1 -1
- package/components/form/hook-date-picker.mjs +4 -4
- package/components/form/hook-date-picker.mjs.map +1 -1
- package/components/form/hook-searchable-select.js +5 -5
- package/components/form/hook-searchable-select.mjs +4 -4
- package/components/form/hook-select.js +3 -3
- package/components/form/hook-select.mjs +2 -2
- package/components/form/searchable-select.js +5 -5
- package/components/form/searchable-select.mjs +4 -4
- package/components/form/select.js +3 -3
- package/components/form/select.mjs +2 -2
- package/components/ui/accordion.js.map +1 -1
- package/components/ui/accordion.mjs.map +1 -1
- package/components/ui/alert-dialog.js +3 -3
- package/components/ui/alert-dialog.js.map +1 -1
- package/components/ui/alert-dialog.mjs +1 -1
- package/components/ui/alert-dialog.mjs.map +1 -1
- package/components/ui/button.js +2 -2
- package/components/ui/button.mjs +1 -1
- package/components/ui/calendar.js +3 -3
- package/components/ui/calendar.mjs +2 -2
- package/components/ui/carousel.js +3 -3
- package/components/ui/carousel.mjs +1 -1
- package/components/ui/command.d.mts +1 -1
- package/components/ui/command.d.ts +1 -1
- package/components/ui/command.js +3 -3
- package/components/ui/command.mjs +2 -2
- package/components/ui/context-menu.js.map +1 -1
- package/components/ui/context-menu.mjs.map +1 -1
- package/components/ui/copy-button.js.map +1 -1
- package/components/ui/copy-button.mjs.map +1 -1
- package/components/ui/dialog.js +2 -2
- package/components/ui/dialog.mjs +1 -1
- package/components/ui/drawer.js.map +1 -1
- package/components/ui/drawer.mjs.map +1 -1
- package/components/ui/dropdown-menu.js +2 -2
- package/components/ui/dropdown-menu.mjs +1 -1
- package/components/ui/extension/file-input.js +2 -2
- package/components/ui/extension/file-input.mjs +1 -1
- package/components/ui/extension/multi-select.d.mts +4 -4
- package/components/ui/extension/multi-select.d.ts +4 -4
- package/components/ui/extension/multi-select.js +6 -6
- package/components/ui/extension/multi-select.mjs +2 -2
- package/components/ui/input-otp.js.map +1 -1
- package/components/ui/input-otp.mjs.map +1 -1
- package/components/ui/menubar.js.map +1 -1
- package/components/ui/menubar.mjs.map +1 -1
- package/components/ui/navigation-menu.js +0 -1
- package/components/ui/navigation-menu.js.map +1 -1
- package/components/ui/navigation-menu.mjs +0 -1
- package/components/ui/navigation-menu.mjs.map +1 -1
- package/components/ui/pagination.js +2 -2
- package/components/ui/pagination.js.map +1 -1
- package/components/ui/pagination.mjs +1 -1
- package/components/ui/pagination.mjs.map +1 -1
- package/components/ui/resizable.d.mts +1 -1
- package/components/ui/resizable.d.ts +1 -1
- package/components/ui/scroll-area.js.map +1 -1
- package/components/ui/scroll-area.mjs.map +1 -1
- package/components/ui/select.js +2 -2
- package/components/ui/select.mjs +1 -1
- package/components/ui/sheet.js +2 -2
- package/components/ui/sheet.mjs +1 -1
- package/components/ui/sidebar.js +4 -4
- package/components/ui/sidebar.mjs +3 -3
- package/components/ui/slider.js.map +1 -1
- package/components/ui/slider.mjs.map +1 -1
- package/components/ui/toaster.js.map +1 -1
- package/components/ui/toaster.mjs.map +1 -1
- package/layouts/sidebar1/app-sidebar.js +9 -9
- package/layouts/sidebar1/app-sidebar.mjs +8 -8
- package/layouts/sidebar1/context-switcher.js +6 -6
- package/layouts/sidebar1/context-switcher.mjs +5 -5
- package/layouts/sidebar1/index.js +9 -9
- package/layouts/sidebar1/index.js.map +1 -1
- package/layouts/sidebar1/index.mjs +8 -8
- package/layouts/sidebar1/index.mjs.map +1 -1
- package/layouts/sidebar1/nav-menus.js +5 -5
- package/layouts/sidebar1/nav-menus.mjs +4 -4
- package/layouts/sidebar1/nav-user.js +6 -6
- package/layouts/sidebar1/nav-user.mjs +5 -5
- package/layouts/simple/index.js +5 -5
- package/layouts/simple/index.js.map +1 -1
- package/layouts/simple/index.mjs +3 -3
- package/layouts/simple/index.mjs.map +1 -1
- package/layouts/simple/mobile-menu.js +2 -2
- package/layouts/simple/mobile-menu.mjs +1 -1
- package/layouts/simple/user-menu.js +3 -3
- package/layouts/simple/user-menu.mjs +2 -2
- package/package.json +1 -1
- package/chunk-2BKV4IJV.mjs.map +0 -1
- package/chunk-37EH7QCX.mjs.map +0 -1
- package/chunk-4XC6EXHZ.mjs.map +0 -1
- package/chunk-54PLQ33F.mjs.map +0 -1
- package/chunk-DMATER3M.mjs.map +0 -1
- package/chunk-IAJ2ZBSJ.mjs.map +0 -1
- package/chunk-IQYZKNJZ.js.map +0 -1
- package/chunk-JHUXWZVG.js.map +0 -1
- package/chunk-MYO4WRNB.js.map +0 -1
- package/chunk-NI2SIUXO.js.map +0 -1
- package/chunk-OXTCSLHP.mjs.map +0 -1
- package/chunk-YAPKDLRQ.mjs.map +0 -1
- package/chunk-YWILOKX4.mjs.map +0 -1
- package/chunk-ZJAFK7BR.mjs.map +0 -1
- /package/{chunk-CPGH6LBC.mjs.map → chunk-6RRWPK3R.mjs.map} +0 -0
- /package/{chunk-PS7WGOZH.mjs.map → chunk-IKMOSUDO.mjs.map} +0 -0
- /package/{chunk-ACE5WNTU.mjs.map → chunk-M3IF5WMA.mjs.map} +0 -0
- /package/{chunk-NTYWTGYX.mjs.map → chunk-SEWCR6NS.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\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> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-light data-[state=open]:bg-light [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground 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',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\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;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
SelectItem,
|
|
5
5
|
SelectTrigger,
|
|
6
6
|
SelectValue
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EILSBSRU.mjs";
|
|
8
8
|
import {
|
|
9
9
|
Label
|
|
10
10
|
} from "./chunk-JWENANTO.mjs";
|
|
@@ -68,4 +68,4 @@ function FormSelect(_a) {
|
|
|
68
68
|
export {
|
|
69
69
|
FormSelect
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-6RRWPK3R.mjs.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
CommandInput,
|
|
6
6
|
CommandItem,
|
|
7
7
|
CommandList
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-S4X22CRP.mjs";
|
|
9
9
|
import {
|
|
10
10
|
Popover,
|
|
11
11
|
PopoverContent,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-TMC4JKD5.mjs";
|
|
14
14
|
import {
|
|
15
15
|
Button
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FQBFIZY3.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Label
|
|
19
19
|
} from "./chunk-JWENANTO.mjs";
|
|
@@ -84,4 +84,4 @@ function FormSearchableSelect({
|
|
|
84
84
|
export {
|
|
85
85
|
FormSearchableSelect
|
|
86
86
|
};
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
87
|
+
//# sourceMappingURL=chunk-A4HQTRDU.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/form/searchable-select.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Button } from '../ui/button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../ui/command';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { Check, ChevronsUpDown } from 'lucide-react';\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormSearchableSelectProps {\n id?: string;\n name: string;\n label?: string;\n placeholder?: string;\n data: SelectOption[] | string[];\n defaultValue?: string;\n value?: string;\n onChange: (value?: string) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n required?: boolean;\n disabled?: boolean;\n}\n\nexport function FormSearchableSelect({\n id,\n name,\n label,\n placeholder = '',\n data,\n defaultValue,\n value,\n onChange,\n classNames,\n required,\n disabled,\n}: FormSearchableSelectProps) {\n let _options: SelectOption[] = [];\n\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n const [open, setOpen] = React.useState(false);\n const [selectedValue, setSelectedValue] = React.useState(value ?? defaultValue ?? '');\n\n React.useEffect(() => {\n setSelectedValue(value ?? defaultValue ?? '');\n }, [value, defaultValue]);\n\n const handleSelect = (currentValue: string) => {\n const newValue = currentValue === selectedValue ? '' : currentValue;\n setSelectedValue(newValue);\n onChange(newValue);\n setOpen(false);\n };\n\n return (\n <div className={cn('_searchable-select', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"secondary\"\n appearance=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn('w-full justify-between border-input!', classNames?.input)}\n >\n {selectedValue ? _options.find((opt) => opt.value === selectedValue)?.label : placeholder || 'Select...'}\n <ChevronsUpDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder={`Search ${label ?? 'option'}...`} className=\"h-9\" />\n <CommandList>\n <CommandEmpty>No option found.</CommandEmpty>\n <CommandGroup>\n {_options.map((option) => (\n <CommandItem key={option.value} value={option.value} onSelect={handleSelect}>\n {option.label}\n <Check className={cn('ml-auto', selectedValue === option.value ? 'opacity-100' : 'opacity-0')} />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,OAAO,eAAe;AAMtB,SAAS,OAAO,sBAAsB;AAOtC,SAAS,oBAAoB,OAAiB;AAC5C,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK;AAAA,EACpC,CAAC;AACH;AAoBO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA8B;AApD9B;AAqDE,MAAI,WAA2B,CAAC;AAEhC,MAAI,KAAK,SAAS,GAAG;AACnB,QAAI,UAAU,KAAK,CAAC,CAAC,GAAG;AACtB,iBAAW,oBAAoB,IAAgB;AAAA,IACjD,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,KAAK;AAC5C,QAAM,CAAC,eAAe,gBAAgB,IAAI,MAAM,UAAS,6BAAS,iBAAT,YAAyB,EAAE;AAEpF,QAAM,UAAU,MAAM;AApExB,QAAAA;AAqEI,sBAAiBA,MAAA,wBAAS,iBAAT,OAAAA,MAAyB,EAAE;AAAA,EAC9C,GAAG,CAAC,OAAO,YAAY,CAAC;AAExB,QAAM,eAAe,CAAC,iBAAyB;AAC7C,UAAM,WAAW,iBAAiB,gBAAgB,KAAK;AACvD,qBAAiB,QAAQ;AACzB,aAAS,QAAQ;AACjB,YAAQ,KAAK;AAAA,EACf;AAEA,SACE,oCAAC,SAAI,WAAW,GAAG,sBAAsB,yCAAY,OAAO,KACzD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF,oCAAC,WAAQ,MAAY,cAAc,WACjC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,MAAK;AAAA,MACL,iBAAe;AAAA,MACf;AAAA,MACA,WAAW,GAAG,wCAAwC,yCAAY,KAAK;AAAA;AAAA,IAEtE,iBAAgB,cAAS,KAAK,CAAC,QAAQ,IAAI,UAAU,aAAa,MAAlD,mBAAqD,QAAQ,eAAe;AAAA,
|
|
1
|
+
{"version":3,"sources":["../components/form/searchable-select.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Button } from '../ui/button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../ui/command';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { Check, ChevronsUpDown } from 'lucide-react';\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormSearchableSelectProps {\n id?: string;\n name: string;\n label?: string;\n placeholder?: string;\n data: SelectOption[] | string[];\n defaultValue?: string;\n value?: string;\n onChange: (value?: string) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n required?: boolean;\n disabled?: boolean;\n}\n\nexport function FormSearchableSelect({\n id,\n name,\n label,\n placeholder = '',\n data,\n defaultValue,\n value,\n onChange,\n classNames,\n required,\n disabled,\n}: FormSearchableSelectProps) {\n let _options: SelectOption[] = [];\n\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n const [open, setOpen] = React.useState(false);\n const [selectedValue, setSelectedValue] = React.useState(value ?? defaultValue ?? '');\n\n React.useEffect(() => {\n setSelectedValue(value ?? defaultValue ?? '');\n }, [value, defaultValue]);\n\n const handleSelect = (currentValue: string) => {\n const newValue = currentValue === selectedValue ? '' : currentValue;\n setSelectedValue(newValue);\n onChange(newValue);\n setOpen(false);\n };\n\n return (\n <div className={cn('_searchable-select', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"secondary\"\n appearance=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn('w-full justify-between border-input!', classNames?.input)}\n >\n {selectedValue ? _options.find((opt) => opt.value === selectedValue)?.label : placeholder || 'Select...'}\n\n <ChevronsUpDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder={`Search ${label ?? 'option'}...`} className=\"h-9\" />\n\n <CommandList>\n <CommandEmpty>No option found.</CommandEmpty>\n\n <CommandGroup>\n {_options.map((option) => (\n <CommandItem key={option.value} value={option.value} onSelect={handleSelect}>\n {option.label}\n\n <Check className={cn('ml-auto', selectedValue === option.value ? 'opacity-100' : 'opacity-0')} />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,OAAO,eAAe;AAMtB,SAAS,OAAO,sBAAsB;AAOtC,SAAS,oBAAoB,OAAiB;AAC5C,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK;AAAA,EACpC,CAAC;AACH;AAoBO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA8B;AApD9B;AAqDE,MAAI,WAA2B,CAAC;AAEhC,MAAI,KAAK,SAAS,GAAG;AACnB,QAAI,UAAU,KAAK,CAAC,CAAC,GAAG;AACtB,iBAAW,oBAAoB,IAAgB;AAAA,IACjD,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,KAAK;AAC5C,QAAM,CAAC,eAAe,gBAAgB,IAAI,MAAM,UAAS,6BAAS,iBAAT,YAAyB,EAAE;AAEpF,QAAM,UAAU,MAAM;AApExB,QAAAA;AAqEI,sBAAiBA,MAAA,wBAAS,iBAAT,OAAAA,MAAyB,EAAE;AAAA,EAC9C,GAAG,CAAC,OAAO,YAAY,CAAC;AAExB,QAAM,eAAe,CAAC,iBAAyB;AAC7C,UAAM,WAAW,iBAAiB,gBAAgB,KAAK;AACvD,qBAAiB,QAAQ;AACzB,aAAS,QAAQ;AACjB,YAAQ,KAAK;AAAA,EACf;AAEA,SACE,oCAAC,SAAI,WAAW,GAAG,sBAAsB,yCAAY,OAAO,KACzD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF,oCAAC,WAAQ,MAAY,cAAc,WACjC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,MAAK;AAAA,MACL,iBAAe;AAAA,MACf;AAAA,MACA,WAAW,GAAG,wCAAwC,yCAAY,KAAK;AAAA;AAAA,IAEtE,iBAAgB,cAAS,KAAK,CAAC,QAAQ,IAAI,UAAU,aAAa,MAAlD,mBAAqD,QAAQ,eAAe;AAAA,IAE7F,oCAAC,kBAAe,WAAU,cAAa;AAAA,EACzC,CACF,GAEA,oCAAC,kBAAe,WAAU,gBACxB,oCAAC,eACC,oCAAC,gBAAa,aAAa,UAAU,wBAAS,QAAQ,OAAO,WAAU,OAAM,GAE7E,oCAAC,mBACC,oCAAC,oBAAa,kBAAgB,GAE9B,oCAAC,oBACE,SAAS,IAAI,CAAC,WACb,oCAAC,eAAY,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO,UAAU,gBAC5D,OAAO,OAER,oCAAC,SAAM,WAAW,GAAG,WAAW,kBAAkB,OAAO,QAAQ,gBAAgB,WAAW,GAAG,CACjG,CACD,CACH,CACF,CACF,CACF,CACF,CACF;AAEJ;","names":["_a"]}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkJF52Z27Ljs = require('./chunk-JF52Z27L.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkPLIFFDWQjs = require('./chunk-PLIFFDWQ.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkL2MO6T36js = require('./chunk-L2MO6T36.js');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkSPFMZ2EKjs = require('./chunk-SPFMZ2EK.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _chunkDSWNLHEWjs = require('./chunk-DSWNLHEW.js');
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -29,8 +29,8 @@ function AppSidebar(_a) {
|
|
|
29
29
|
var props = _chunk2NMEKWO5js.__objRest.call(void 0, _a, []);
|
|
30
30
|
var _b;
|
|
31
31
|
const _a2 = props, { data, aslink } = _a2, rest = _chunk2NMEKWO5js.__objRest.call(void 0, _a2, ["data", "aslink"]);
|
|
32
|
-
return /* @__PURE__ */ React.createElement(
|
|
33
|
-
|
|
32
|
+
return /* @__PURE__ */ React.createElement(_chunkSPFMZ2EKjs.Sidebar, _chunk2NMEKWO5js.__spreadValues.call(void 0, { collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(_chunkSPFMZ2EKjs.SidebarHeader, null, /* @__PURE__ */ React.createElement(_chunkL2MO6T36js.ContextSwitcher, { items: data.contexts })), /* @__PURE__ */ React.createElement(_chunkSPFMZ2EKjs.SidebarContent, null, /* @__PURE__ */ React.createElement(_chunkJF52Z27Ljs.NavMenus, { menus: data.menus, aslink })), /* @__PURE__ */ React.createElement(_chunkSPFMZ2EKjs.SidebarFooter, null, data.user ? /* @__PURE__ */ React.createElement(_chunkPLIFFDWQjs.NavUser, { user: data.user, menus: data.userMenus, aslink, onLogout: (_b = data.events) == null ? void 0 : _b.logout }) : /* @__PURE__ */ React.createElement(
|
|
33
|
+
_chunkDSWNLHEWjs.Button,
|
|
34
34
|
{
|
|
35
35
|
variant: "primary",
|
|
36
36
|
onClick: () => {
|
|
@@ -41,10 +41,10 @@ function AppSidebar(_a) {
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"Sign in"
|
|
44
|
-
)), /* @__PURE__ */ React.createElement(
|
|
44
|
+
)), /* @__PURE__ */ React.createElement(_chunkSPFMZ2EKjs.SidebarRail, null));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
exports.AppSidebar = AppSidebar;
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-B7QAAQMG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-B7QAAQMG.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACvBA,2EAAuB;AAoBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAtBL,EAAA,IAAA,EAAA;AA2BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA3BhB,EAAA,EA2BoCA,GAAAA,EAAT,KAAA,EAAA,wCAAA,GAASA,EAAT,CAAjB,MAAA,EAAM,QAAA,CAAA,CAAA;AAEd,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,6CAAA,EAAQ,WAAA,EAAY,OAAA,CAAA,EAAW,IAAA,CAAA,kBAC9B,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,gCAAA,EAAA,EAAgB,KAAA,EAAO,IAAA,CAAK,SAAA,CAAU,CACzC,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,EAAS,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,OAAA,CAAgB,CAC/C,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,EACE,IAAA,CAAK,KAAA,kBACJ,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,EAAQ,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,IAAA,CAAK,SAAA,EAAW,MAAA,EAAgB,QAAA,EAAA,CAAU,GAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAa,OAAA,CAAQ,EAAA,kBAEhG,KAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,CAAA,EAAA,GAAM;AA7C3B,QAAA,IAAAA,GAAAA;AA8Cc,QAAA,GAAA,CAAA,CAAIA,IAAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAAA,GAAAA,CAAa,KAAA,EAAO;AACtB,UAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA;AAAA,QACpB;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IACD;AAAA,EAED,CAEJ,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADfA;AACA;AACE;AACF,gCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-B7QAAQMG.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\nimport { cn } from '../../lib/utils';\n\nexport interface ISidebarData {\n user?: INavUser;\n contexts: INavContext[];\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <ContextSwitcher items={data.contexts} />\n </SidebarHeader>\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkDSWNLHEWjs = require('./chunk-DSWNLHEW.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunk6N4WCMTEjs = require('./chunk-6N4WCMTE.js');
|
|
@@ -18,7 +18,7 @@ var _reactdaypicker = require('react-day-picker');
|
|
|
18
18
|
function Calendar(_a) {
|
|
19
19
|
var _b = _a, { className, classNames, showOutsideDays = true } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "classNames", "showOutsideDays"]);
|
|
20
20
|
const navigationButtonClass = _chunk6N4WCMTEjs.cn.call(void 0,
|
|
21
|
-
|
|
21
|
+
_chunkDSWNLHEWjs.buttonVariants.call(void 0, { variant: "light" }),
|
|
22
22
|
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
|
|
23
23
|
);
|
|
24
24
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -41,7 +41,7 @@ function Calendar(_a) {
|
|
|
41
41
|
week: "flex w-full mt-2",
|
|
42
42
|
day: "h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md",
|
|
43
43
|
day_button: _chunk6N4WCMTEjs.cn.call(void 0,
|
|
44
|
-
|
|
44
|
+
_chunkDSWNLHEWjs.buttonVariants.call(void 0, { variant: "ghost" }),
|
|
45
45
|
"h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20"
|
|
46
46
|
),
|
|
47
47
|
range_start: "day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground",
|
|
@@ -69,4 +69,4 @@ Calendar.displayName = "Calendar";
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
exports.Calendar = Calendar;
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-BKCGAF7P.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-BKCGAF7P.js","../components/ui/calendar.tsx"],"names":["_a","props"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACXA,2EAAuB;AAEvB,2CAA0C;AAC1C,kDAA0B;AAO1B,SAAS,QAAA,CAAS,EAAA,EAA4E;AAA5E,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,UAAA,EAAY,gBAAA,EAAkB,KAX7D,EAAA,EAWkB,EAAA,EAAoD,MAAA,EAAA,wCAAA,EAApD,EAAoD,CAAlD,WAAA,EAAW,YAAA,EAAY,iBAAA,CAAA,CAAA;AACzC,EAAA,MAAM,sBAAA,EAAwB,iCAAA;AAAA,IAC5B,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACnC;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,6CAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,iCAAA,cAAG,EAAgB,SAAS,CAAA;AAAA,MACvC,UAAA,EAAY,6CAAA;AAAA,QACV,KAAA,EAAO,WAAA;AAAA,QACP,MAAA,EAAQ,iEAAA;AAAA,QACR,aAAA,EAAe,gDAAA;AAAA,QACf,UAAA,EAAY,kCAAA;AAAA,QACZ,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,sDAAA;AAAA,QACL,eAAA,EAAiB,qBAAA;AAAA,QACjB,WAAA,EAAa,qBAAA;AAAA,QACb,KAAA,EAAO,wBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,gEAAA;AAAA,QACT,IAAA,EAAM,kBAAA;AAAA,QACN,GAAA,EAAK,iIAAA;AAAA,QACL,UAAA,EAAY,iCAAA;AAAA,UACV,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EACE,0KAAA;AAAA,QACF,SAAA,EACE,wKAAA;AAAA,QACF,YAAA,EAAc,oEAAA;AAAA,QACd,QAAA,EAAU,iCAAA;AAAA,UACR,KAAA,CAAM,KAAA,IAAS,QAAA,EACX,2GAAA,EACA;AAAA,QACN,CAAA;AAAA,QACA,KAAA,EAAO,mEAAA;AAAA,QACP,OAAA,EACE,4IAAA;AAAA,QACF,QAAA,EAAU,kCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,MAAA,CAAA,EACL,UAAA,CAAA;AAAA,MAEL,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,CAACA,GAAAA,EAAAA,GAAc;AAAd,UAAA,IAAKC,OAAAA,EAAA,wCAAA,GAALD,EAAK,CAAA,CAAA,CAAA;AACb,UAAA,OAAAC,MAAAA,CAAM,YAAA,IAAgB,OAAA,kBACpB,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAgBA,MAAAA,CAAAA,EAAhB,EAAuB,SAAA,EAAU,UAAA,CAAA,CAAU,EAAA,kBAE5C,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAiBA,MAAAA,CAAAA,EAAjB,EAAwB,SAAA,EAAU,UAAA,CAAA,CAAU,CAAA;AAAA,QAAA;AAAA,MAEnD;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAEJ;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADFvB;AACA;AACE;AACF,4BAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-BKCGAF7P.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const navigationButtonClass = cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n );\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: navigationButtonClass,\n button_next: navigationButtonClass,\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : 'rounded-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n ),\n today: 'text-success italic [&>button]:underline [&>button]:font-semibold',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"]}
|
|
@@ -151,4 +151,4 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
151
151
|
|
|
152
152
|
|
|
153
153
|
exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
154
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-CNKUWWZ7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-CNKUWWZ7.js","../components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-CNKUWWZ7.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\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> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-light data-[state=open]:bg-light [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground 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',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground 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;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\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;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
SidebarMenuSubButton,
|
|
9
9
|
SidebarMenuSubItem,
|
|
10
10
|
useSidebar
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YMQLUZVD.mjs";
|
|
12
12
|
import {
|
|
13
13
|
Collapsible,
|
|
14
14
|
CollapsibleContent,
|
|
@@ -58,4 +58,4 @@ function NavMenus({ menus, aslink }) {
|
|
|
58
58
|
export {
|
|
59
59
|
NavMenus
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-CNR5OJOZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../layouts/sidebar1/nav-menus.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,oBAAoB;AA+B7B,SAAS,gBAAgB,EAAE,MAAM,IAAI,cAAc,GAAkD;AACnG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,QAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,SACE,oCAAC,uBACC,oCAAC,qBAAkB,SAAO,MAAC,UAAU,KAAK,UAAU,SAAS,KAAK,OAAO,SAAS,MAAM,cAAc,KAAK,KACzG,oCAAC,QAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,SAAS,MAAG;AAxCxD;AAwC2D,sBAAK,YAAL,8BAAe,KAAK;AAAA,OACpE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,CACpB,CACF,CACF;AAEJ;AAEA,SAAS,uBAAuB,EAAE,MAAM,IAAI,cAAc,GAA+C;AACvG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,MAAI,CAAC,KAAK,SAAU,QAAO;AAE3B,SACE,oCAAC,eAAY,KAAK,KAAK,OAAO,SAAO,MAAC,aAAa,KAAK,UAAU,WAAU,uBAC1E,oCAAC,uBACC,oCAAC,sBAAmB,SAAO,QACzB,oCAAC,qBAAkB,SAAS,KAAK,SAC9B,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,GAElB,oCAAC,gBAAa,WAAU,2FAA0F,CACpH,CACF,GAEA,oCAAC,0BACC,oCAAC,sBACE,KAAK,SAAS,IAAI,CAAC,YAAY;AAC9B,UAAM,OAAO,iBAAiB,QAAQ,MAAM,gBAAgB;AAE5D,WACE,oCAAC,sBAAmB,KAAK,QAAQ,SAC/B,oCAAC,wBAAqB,SAAO,MAAC,UAAU,QAAQ,UAAU,SAAS,MAAM,cAAc,KAAK,KAC1F;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,MAAG;AA5ElC;AA4EqC,4BAAK,YAAL,8BAAe,QAAQ;AAAA;AAAA,QACtC,WAAU;AAAA;AAAA,MAET,QAAQ,QAAQ,oCAAC,QAAQ,MAAR,IAAa;AAAA,
|
|
1
|
+
{"version":3,"sources":["../layouts/sidebar1/nav-menus.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title}>\n <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>\n\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,oBAAoB;AA+B7B,SAAS,gBAAgB,EAAE,MAAM,IAAI,cAAc,GAAkD;AACnG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,QAAM,OAAO,iBAAiB,KAAK,MAAM,gBAAgB;AAEzD,SACE,oCAAC,uBACC,oCAAC,qBAAkB,SAAO,MAAC,UAAU,KAAK,UAAU,SAAS,KAAK,OAAO,SAAS,MAAM,cAAc,KAAK,KACzG,oCAAC,QAAK,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,SAAS,MAAG;AAxCxD;AAwC2D,sBAAK,YAAL,8BAAe,KAAK;AAAA,OACpE,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,CACpB,CACF,CACF;AAEJ;AAEA,SAAS,uBAAuB,EAAE,MAAM,IAAI,cAAc,GAA+C;AACvG,QAAM,EAAE,cAAc,IAAI,WAAW;AACrC,MAAI,CAAC,KAAK,SAAU,QAAO;AAE3B,SACE,oCAAC,eAAY,KAAK,KAAK,OAAO,SAAO,MAAC,aAAa,KAAK,UAAU,WAAU,uBAC1E,oCAAC,uBACC,oCAAC,sBAAmB,SAAO,QACzB,oCAAC,qBAAkB,SAAS,KAAK,SAC9B,KAAK,QAAQ,oCAAC,KAAK,MAAL,IAAU,GACzB,oCAAC,cAAM,KAAK,KAAM,GAElB,oCAAC,gBAAa,WAAU,2FAA0F,CACpH,CACF,GAEA,oCAAC,0BACC,oCAAC,sBACE,KAAK,SAAS,IAAI,CAAC,YAAY;AAC9B,UAAM,OAAO,iBAAiB,QAAQ,MAAM,gBAAgB;AAE5D,WACE,oCAAC,sBAAmB,KAAK,QAAQ,SAC/B,oCAAC,wBAAqB,SAAO,MAAC,UAAU,QAAQ,UAAU,SAAS,MAAM,cAAc,KAAK,KAC1F;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,MAAG;AA5ElC;AA4EqC,4BAAK,YAAL,8BAAe,QAAQ;AAAA;AAAA,QACtC,WAAU;AAAA;AAAA,MAET,QAAQ,QAAQ,oCAAC,QAAQ,MAAR,IAAa;AAAA,MAE/B,oCAAC,cAAM,QAAQ,KAAM;AAAA,IACvB,CACF,CACF;AAAA,EAEJ,CAAC,CACH,CACF,CACF,CACF;AAEJ;AAEO,SAAS,SAAS,EAAE,OAAO,OAAO,GAAqD;AAC5F,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WACE,oCAAC,gBAAa,KAAK,KAAK,SACtB,oCAAC,yBAAmB,KAAK,KAAM,GAE/B,oCAAC,mBACE,KAAK,MAAM;AAAA,MAAI,CAAC,SACf,KAAK,YAAY,KAAK,SAAS,SAAS,IACtC,oCAAC,0BAAuB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ,IAEjE,oCAAC,mBAAgB,KAAK,KAAK,OAAO,MAAY,IAAI,QAAQ;AAAA,IAE9D,CACF,CACF;AAAA,EAEJ,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/dialog.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n closeOnClickOutside?: boolean;\n }\n>(({ className, children, closeOnClickOutside = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg max-h-screen overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n className,\n )}\n onPointerDownOutside={(e) => {\n if (!closeOnClickOutside) {\n e.preventDefault();\n }\n }}\n {...props}\n >\n {children}\n\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"],"mappings":";;;;;;;;;AACA,YAAY,WAAW;AACvB,YAAY,qBAAqB;AACjC,SAAS,SAAS;AAIlB,IAAM,SAAyB;AAE/B,IAAM,gBAAgC;AAEtC,IAAM,eAA+B;AAErC,IAAM,cAA8B;AAEpC,IAAM,gBAAsB,iBAG1B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAlBL,IAkBG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,gBAAsB,iBAK1B,CAAC,IAA+D,QAAK;AAApE,eAAE,aAAW,UAAU,sBAAsB,KAnChD,IAmCG,IAAsD,kBAAtD,IAAsD,CAApD,aAAW,YAAU;AACxB,6CAAC,oBACC,oCAAC,mBAAc,GAEf;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,sBAAsB,CAAC,MAAM;AAC3B,YAAI,CAAC,qBAAqB;AACxB,YAAE,eAAe;AAAA,QACnB;AAAA,MACF;AAAA,OACI;AAAA,IAEH;AAAA,IAED,oCAAiB,uBAAhB,EAAsB,WAAU,qRAC/B,oCAAC,KAAE,WAAU,WAAU,GACvB,oCAAC,UAAK,WAAU,aAAU,OAAK,CACjC;AAAA,EACF,CACF;AAAA,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,eAAe,CAAC,OAA+D;AAA/D,eAAE,YA/DxB,IA+DsB,IAAgB,kBAAhB,IAAgB,CAAd;AACtB,6CAAC,wBAAI,WAAW,GAAG,sDAAsD,SAAS,KAAO,MAAO;AAAA;AAElG,aAAa,cAAc;AAE3B,IAAM,eAAe,CAAC,OAA+D;AAA/D,eAAE,YApExB,IAoEsB,IAAgB,kBAAhB,IAAgB,CAAd;AACtB,6CAAC,wBAAI,WAAW,GAAG,iEAAiE,SAAS,KAAO,MAAO;AAAA;AAE7G,aAAa,cAAc;AAE3B,IAAM,cAAoB,iBAGxB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA5EL,IA4EG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,WAAW,GAAG,qDAAqD,SAAS;AAAA,OACxE;AAAA,EACN;AAAA,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,oBAA0B,iBAG9B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAxFL,IAwFG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6CAAiB,6BAAhB,iBAA4B,KAAU,WAAW,GAAG,iCAAiC,SAAS,KAAO,MAAO;AAAA,CAC9G;AACD,kBAAkB,cAA8B,4BAAY;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-EZZ2YCUU.js","../components/ui/button.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-EZZ2YCUU.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n xs: 'h-7 rounded-xs px-2 text-xs',\n sm: 'h-8 rounded-sm px-3',\n default: 'h-9 px-4 py-2',\n lg: 'h-10 rounded-sm px-7 text-base',\n icon: 'h-9 w-9',\n 'compact-xs': 'h-6 px-2 py-1 text-xs',\n 'compact-sm': 'h-7 px-2 py-1',\n 'compact-default': 'h-8 px-2 py-1',\n 'compact-lg': 'h-9 px-2 py-1 text-base',\n 'compact-icon': 'h-8 w-8',\n },\n appearance: {\n solid: '',\n outline: 'bg-white border',\n 'outline-filled': 'bg-white border',\n },\n loading: {\n true: 'pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\n// Type safety for variant and size\nexport type VariantType = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type SizeType = NonNullable<VariantProps<typeof buttonVariants>['size']>;\nexport type VariantStyleType = NonNullable<VariantProps<typeof buttonVariants>['appearance']>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n}\n\nfunction getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n link: 'hover:underline',\n ghost: 'hover:bg-light',\n };\n return colors[variant];\n}\n\nfunction getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-success text-success-foreground',\n warning: 'bg-warning text-warning-foreground',\n danger: 'bg-danger text-danger-foreground',\n info: 'bg-info text-info-foreground',\n light: 'bg-light text-light-foreground',\n dark: 'bg-dark text-dark-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground',\n muted: 'bg-muted text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, appearance, loading, icon, iconPosition = 'left', asChild = false, children, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n const outlineClasses =\n appearance === 'outline' || appearance === 'outline-filled' ? [getOutlineClasses(variant as VariantType)] : [];\n\n if (appearance === 'outline-filled') {\n outlineClasses.push(getOutlineFilledClasses(variant as VariantType));\n }\n\n const spinnerClasses =\n appearance === 'outline' || appearance === 'outline-filled'\n ? getOutlineSpinnerClasses(variant as VariantType)\n : getSpinnerClasses(variant as VariantType);\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, appearance, loading, className }), outlineClasses)}\n ref={ref}\n aria-busy={loading || undefined}\n disabled={loading || props.disabled}\n {...props}\n >\n {loading ? (\n <div className=\"relative inline-flex items-center justify-center w-full\">\n <span className=\"invisible\">{children}</span>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner size=\"medium\" className={cn(spinnerClasses, 'animate-spin')} />\n </span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n {icon && iconPosition === 'left' && <span className=\"flex-shrink-0\">{icon}</span>}\n {children}\n {icon && iconPosition === 'right' && <span className=\"flex-shrink-0\">{icon}</span>}\n </div>\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-DSWNLHEW.js","../components/ui/button.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-DSWNLHEW.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n xs: 'h-7 rounded-xs px-2 text-xs',\n sm: 'h-8 rounded-sm px-3',\n default: 'h-9 px-4 py-2',\n lg: 'h-10 rounded-sm px-7 text-base',\n icon: 'h-9 w-9',\n 'compact-xs': 'h-6 px-2 py-1 text-xs',\n 'compact-sm': 'h-7 px-2 py-1',\n 'compact-default': 'h-8 px-2 py-1',\n 'compact-lg': 'h-9 px-2 py-1 text-base',\n 'compact-icon': 'h-8 w-8',\n },\n appearance: {\n solid: '',\n outline: 'bg-white border',\n 'outline-filled': 'bg-white border',\n },\n loading: {\n true: 'pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\n// Type safety for variant and size\nexport type VariantType = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type SizeType = NonNullable<VariantProps<typeof buttonVariants>['size']>;\nexport type VariantStyleType = NonNullable<VariantProps<typeof buttonVariants>['appearance']>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n}\n\nfunction getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n link: 'hover:underline',\n ghost: 'hover:bg-light',\n };\n return colors[variant];\n}\n\nfunction getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-success text-success-foreground',\n warning: 'bg-warning text-warning-foreground',\n danger: 'bg-danger text-danger-foreground',\n info: 'bg-info text-info-foreground',\n light: 'bg-light text-light-foreground',\n dark: 'bg-dark text-dark-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground',\n muted: 'bg-muted text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, appearance, loading, icon, iconPosition = 'left', asChild = false, children, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n const outlineClasses =\n appearance === 'outline' || appearance === 'outline-filled' ? [getOutlineClasses(variant as VariantType)] : [];\n\n if (appearance === 'outline-filled') {\n outlineClasses.push(getOutlineFilledClasses(variant as VariantType));\n }\n\n const spinnerClasses =\n appearance === 'outline' || appearance === 'outline-filled'\n ? getOutlineSpinnerClasses(variant as VariantType)\n : getSpinnerClasses(variant as VariantType);\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, appearance, loading, className }), outlineClasses)}\n ref={ref}\n aria-busy={loading || undefined}\n disabled={loading || props.disabled}\n {...props}\n >\n {loading ? (\n <div className=\"relative inline-flex items-center justify-center w-full\">\n <span className=\"invisible\">{children}</span>\n\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner size=\"medium\" className={cn(spinnerClasses, 'animate-spin')} />\n </span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n {icon && iconPosition === 'left' && <span className=\"flex-shrink-0\">{icon}</span>}\n {children}\n {icon && iconPosition === 'right' && <span className=\"flex-shrink-0\">{icon}</span>}\n </div>\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-white px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className,\n )}\n {...props}\n >\n {children}\n\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-secondary focus:text-secondary-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkBKCGAF7Pjs = require('./chunk-BKCGAF7P.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ var _chunk73VYAPJRjs = require('./chunk-73VYAPJR.js');
|
|
|
9
9
|
var _chunkNK4XTZ5Wjs = require('./chunk-NK4XTZ5W.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkDSWNLHEWjs = require('./chunk-DSWNLHEW.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
var _chunkLQETWWSUjs = require('./chunk-LQETWWSU.js');
|
|
@@ -39,7 +39,7 @@ function FormDatePicker({
|
|
|
39
39
|
name,
|
|
40
40
|
label,
|
|
41
41
|
required = false,
|
|
42
|
-
disabled
|
|
42
|
+
disabled,
|
|
43
43
|
initialValue,
|
|
44
44
|
value,
|
|
45
45
|
onChange,
|
|
@@ -74,7 +74,7 @@ function FormDatePicker({
|
|
|
74
74
|
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
75
75
|
const display = !initialized ? /* @__PURE__ */ _react2.default.createElement("span", null) : date ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(date)) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date");
|
|
76
76
|
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkTUFO3JJEjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "grid gap-2") }, /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.Popover, null, /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.PopoverTrigger, { asChild: true }, /* @__PURE__ */ _react2.default.createElement(
|
|
77
|
-
|
|
77
|
+
_chunkDSWNLHEWjs.Button,
|
|
78
78
|
{
|
|
79
79
|
variant: date ? "secondary" : "muted",
|
|
80
80
|
appearance: "outline",
|
|
@@ -83,7 +83,7 @@ function FormDatePicker({
|
|
|
83
83
|
/* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
|
|
84
84
|
display
|
|
85
85
|
)), /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ _react2.default.createElement(
|
|
86
|
-
|
|
86
|
+
_chunkBKCGAF7Pjs.Calendar,
|
|
87
87
|
{
|
|
88
88
|
mode: "single",
|
|
89
89
|
defaultMonth: date,
|
|
@@ -92,7 +92,8 @@ function FormDatePicker({
|
|
|
92
92
|
if (!_chunkLQETWWSUjs.isEqualDate.call(void 0, date, newdate)) {
|
|
93
93
|
setDate(newdate);
|
|
94
94
|
}
|
|
95
|
-
}
|
|
95
|
+
},
|
|
96
|
+
disabled
|
|
96
97
|
}
|
|
97
98
|
)))));
|
|
98
99
|
}
|
|
@@ -100,4 +101,4 @@ function FormDatePicker({
|
|
|
100
101
|
|
|
101
102
|
|
|
102
103
|
exports.FormDatePicker = FormDatePicker;
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
104
|
+
//# sourceMappingURL=chunk-ETIGFRE4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-ETIGFRE4.js","../components/form/date-picker.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-ETIGFRE4.js","sourcesContent":[null,"\"use client\";\nimport React, { useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\nimport _isUndefined from 'lodash-es/isUndefined';\nimport _isString from 'lodash-es/isString';\n\nimport { isEqualDate } from '../../lib/date';\nimport { cn } from '../../lib/utils';\nimport { Button } from '../ui/button';\nimport { Label } from '../ui/label';\nimport { Calendar } from '../ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { Matcher } from 'react-day-picker';\n\nfunction formatDate(date: Date) {\n return format(date, 'LLL dd, y');\n}\n\nfunction getStartOfDay(date: Date) {\n const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n return startOfDay;\n}\n\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: Matcher | Matcher[];\n initialValue?: Date | string;\n value?: Date | string;\n onChange: (value?: Date) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n button?: string;\n };\n}\n\nexport function FormDatePicker({\n id,\n name,\n label,\n required = false,\n disabled,\n initialValue,\n value,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const [date, setDate] = useState<Date | undefined>(undefined);\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (!initialized) {\n const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(new Date());\n\n setDate(dt);\n setInitialized(true);\n }\n }, [initialized, initialValue]);\n\n useEffect(() => {\n if (_isUndefined(value)) {\n if (!_isUndefined(date)) {\n setDate(undefined);\n }\n } else {\n const dt = _isString(value) ? new Date(value) : value;\n if (!isEqualDate(date, dt)) {\n setDate(getStartOfDay(dt));\n }\n }\n }, [value]);\n\n useEffect(() => {\n if (initialized) {\n onChange(date);\n }\n }, [date, initialized]);\n\n if (!id) id = _kebabCase(name);\n\n const display = !initialized ? <span></span> : date ? <>{formatDate(date)}</> : <span>Pick a date</span>;\n\n return (\n <div className={cn('date-picker', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <div className={cn('grid gap-2')}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant={date ? 'secondary' : 'muted'}\n appearance=\"outline\"\n className={cn('min-w-[145px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {display}\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={date}\n selected={date}\n onSelect={(newdate) => {\n if (!isEqualDate(date, newdate)) {\n setDate(newdate);\n }\n }}\n disabled={disabled}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
|