@egose/shadcn-theme 0.0.50 → 0.0.52

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.
Files changed (201) hide show
  1. package/{chunk-IPTLI5N5.mjs → chunk-2BKV4IJV.mjs} +4 -4
  2. package/chunk-2BKV4IJV.mjs.map +1 -0
  3. package/{chunk-2H5WIGQU.js → chunk-4FD63HEQ.js} +5 -5
  4. package/chunk-4FD63HEQ.js.map +1 -0
  5. package/chunk-4XC6EXHZ.mjs +112 -0
  6. package/chunk-4XC6EXHZ.mjs.map +1 -0
  7. package/{chunk-7TCN3MNY.js → chunk-5HD5BGK7.js} +1 -1
  8. package/chunk-5HD5BGK7.js.map +1 -0
  9. package/{chunk-WA2Z3OWJ.js → chunk-6KUUJF3I.js} +3 -3
  10. package/chunk-6KUUJF3I.js.map +1 -0
  11. package/{chunk-LPZRXLKK.mjs → chunk-ACE5WNTU.mjs} +6 -6
  12. package/chunk-ACE5WNTU.mjs.map +1 -0
  13. package/{chunk-NJDC3RMA.mjs → chunk-ARQYTBBZ.mjs} +1 -1
  14. package/chunk-ARQYTBBZ.mjs.map +1 -0
  15. package/chunk-CE4PBEIL.js +88 -0
  16. package/chunk-CE4PBEIL.js.map +1 -0
  17. package/{chunk-MWA2HHI7.mjs → chunk-CPGH6LBC.mjs} +1 -1
  18. package/chunk-CPGH6LBC.mjs.map +1 -0
  19. package/{chunk-2WDZS5E5.mjs → chunk-CTYAFVU5.mjs} +2 -2
  20. package/chunk-CTYAFVU5.mjs.map +1 -0
  21. package/{chunk-N4QVNSAY.js → chunk-DGYAXPSD.js} +1 -1
  22. package/chunk-DGYAXPSD.js.map +1 -0
  23. package/{chunk-V5IL3OBF.mjs → chunk-DMATER3M.mjs} +1 -1
  24. package/chunk-DMATER3M.mjs.map +1 -0
  25. package/chunk-DTJ43DCW.mjs +87 -0
  26. package/chunk-DTJ43DCW.mjs.map +1 -0
  27. package/{chunk-U3HF6HPN.js → chunk-DYUS5722.js} +1 -1
  28. package/chunk-DYUS5722.js.map +1 -0
  29. package/{chunk-R3RMWOGE.mjs → chunk-EJQJ3BCF.mjs} +1 -1
  30. package/chunk-EJQJ3BCF.mjs.map +1 -0
  31. package/{chunk-LVFEXEXE.mjs → chunk-FMYITAWN.mjs} +1 -1
  32. package/chunk-FMYITAWN.mjs.map +1 -0
  33. package/{chunk-PSQGNWKT.js → chunk-GI222XFX.js} +1 -1
  34. package/chunk-GI222XFX.js.map +1 -0
  35. package/chunk-I64GW5SA.js +113 -0
  36. package/chunk-I64GW5SA.js.map +1 -0
  37. package/{chunk-ALDDTRY5.js → chunk-I6AFNWVY.js} +1 -1
  38. package/chunk-I6AFNWVY.js.map +1 -0
  39. package/{chunk-YT6UTIPP.js → chunk-IQYZKNJZ.js} +3 -3
  40. package/chunk-IQYZKNJZ.js.map +1 -0
  41. package/chunk-JW7N7IR5.mjs +120 -0
  42. package/chunk-JW7N7IR5.mjs.map +1 -0
  43. package/{chunk-4QOQOMZB.mjs → chunk-LXILG667.mjs} +1 -1
  44. package/chunk-LXILG667.mjs.map +1 -0
  45. package/{chunk-DMO25T5J.mjs → chunk-NTYWTGYX.mjs} +1 -1
  46. package/chunk-NTYWTGYX.mjs.map +1 -0
  47. package/{chunk-3YDM2NYL.js → chunk-NVBZVKIT.js} +1 -1
  48. package/chunk-NVBZVKIT.js.map +1 -0
  49. package/{chunk-5RW6O56P.mjs → chunk-OXCN3BD6.mjs} +1 -1
  50. package/chunk-OXCN3BD6.mjs.map +1 -0
  51. package/{chunk-E77FKWFS.js → chunk-PCR4GC74.js} +1 -1
  52. package/chunk-PCR4GC74.js.map +1 -0
  53. package/{chunk-273TIMKM.js → chunk-PS3LNHTA.js} +1 -1
  54. package/chunk-PS3LNHTA.js.map +1 -0
  55. package/{chunk-UQTHHSJN.mjs → chunk-R4SF7CSA.mjs} +1 -1
  56. package/chunk-R4SF7CSA.mjs.map +1 -0
  57. package/chunk-RMDDLEPA.js +121 -0
  58. package/chunk-RMDDLEPA.js.map +1 -0
  59. package/{chunk-FQG3C7OR.js → chunk-XJ7GBFHV.js} +1 -1
  60. package/chunk-XJ7GBFHV.js.map +1 -0
  61. package/{chunk-5UUXFHU3.mjs → chunk-YQZZ6RRI.mjs} +1 -1
  62. package/chunk-YQZZ6RRI.mjs.map +1 -0
  63. package/{chunk-XCHWNZWB.js → chunk-YWWFTM23.js} +1 -1
  64. package/chunk-YWWFTM23.js.map +1 -0
  65. package/components/form/checkbox.js +2 -2
  66. package/components/form/checkbox.mjs +1 -1
  67. package/components/form/date-picker.js +3 -3
  68. package/components/form/date-picker.mjs +2 -2
  69. package/components/form/date-range-picker.js +2 -2
  70. package/components/form/date-range-picker.js.map +1 -1
  71. package/components/form/date-range-picker.mjs +3 -3
  72. package/components/form/date-range-picker.mjs.map +1 -1
  73. package/components/form/hook-checkbox.js +2 -2
  74. package/components/form/hook-checkbox.js.map +1 -1
  75. package/components/form/hook-checkbox.mjs +1 -1
  76. package/components/form/hook-checkbox.mjs.map +1 -1
  77. package/components/form/hook-date-picker.js +3 -3
  78. package/components/form/hook-date-picker.js.map +1 -1
  79. package/components/form/hook-date-picker.mjs +2 -2
  80. package/components/form/hook-date-picker.mjs.map +1 -1
  81. package/components/form/hook-native-select.js +2 -2
  82. package/components/form/hook-native-select.js.map +1 -1
  83. package/components/form/hook-native-select.mjs +1 -1
  84. package/components/form/hook-native-select.mjs.map +1 -1
  85. package/components/form/hook-searchable-select.d.mts +12 -0
  86. package/components/form/hook-searchable-select.d.ts +12 -0
  87. package/components/form/hook-searchable-select.js +74 -0
  88. package/components/form/hook-searchable-select.js.map +1 -0
  89. package/components/form/hook-searchable-select.mjs +73 -0
  90. package/components/form/hook-searchable-select.mjs.map +1 -0
  91. package/components/form/hook-select.js +2 -2
  92. package/components/form/hook-select.js.map +1 -1
  93. package/components/form/hook-select.mjs +1 -1
  94. package/components/form/hook-select.mjs.map +1 -1
  95. package/components/form/hook-text-input.js +2 -2
  96. package/components/form/hook-text-input.js.map +1 -1
  97. package/components/form/hook-text-input.mjs +1 -1
  98. package/components/form/hook-text-input.mjs.map +1 -1
  99. package/components/form/hook-textarea.js +2 -2
  100. package/components/form/hook-textarea.js.map +1 -1
  101. package/components/form/hook-textarea.mjs +1 -1
  102. package/components/form/hook-textarea.mjs.map +1 -1
  103. package/components/form/hook-time-input.js +3 -3
  104. package/components/form/hook-time-input.js.map +1 -1
  105. package/components/form/hook-time-input.mjs +2 -2
  106. package/components/form/hook-time-input.mjs.map +1 -1
  107. package/components/form/native-select.js +2 -2
  108. package/components/form/native-select.mjs +1 -1
  109. package/components/form/searchable-select.d.mts +26 -0
  110. package/components/form/searchable-select.d.ts +26 -0
  111. package/components/form/searchable-select.js +17 -0
  112. package/components/form/searchable-select.js.map +1 -0
  113. package/components/form/searchable-select.mjs +16 -0
  114. package/components/form/searchable-select.mjs.map +1 -0
  115. package/components/form/select.js +2 -2
  116. package/components/form/select.mjs +1 -1
  117. package/components/form/text-input.js +2 -2
  118. package/components/form/text-input.mjs +1 -1
  119. package/components/form/textarea.js +2 -2
  120. package/components/form/textarea.mjs +1 -1
  121. package/components/form/time-input.js +3 -3
  122. package/components/form/time-input.mjs +2 -2
  123. package/components/ui/badge.js +5 -113
  124. package/components/ui/badge.js.map +1 -1
  125. package/components/ui/badge.mjs +5 -113
  126. package/components/ui/badge.mjs.map +1 -1
  127. package/components/ui/command.d.mts +7 -7
  128. package/components/ui/command.d.ts +7 -7
  129. package/components/ui/command.js +26 -111
  130. package/components/ui/command.js.map +1 -1
  131. package/components/ui/command.mjs +13 -98
  132. package/components/ui/command.mjs.map +1 -1
  133. package/components/ui/extension/file-input.d.mts +10 -0
  134. package/components/ui/extension/file-input.d.ts +10 -0
  135. package/components/ui/extension/file-input.js +28 -0
  136. package/components/ui/extension/file-input.js.map +1 -0
  137. package/components/ui/extension/file-input.mjs +27 -0
  138. package/components/ui/extension/file-input.mjs.map +1 -0
  139. package/components/ui/extension/multi-select.d.mts +53 -0
  140. package/components/ui/extension/multi-select.d.ts +53 -0
  141. package/components/ui/extension/multi-select.js +312 -0
  142. package/components/ui/extension/multi-select.js.map +1 -0
  143. package/components/ui/extension/multi-select.mjs +311 -0
  144. package/components/ui/extension/multi-select.mjs.map +1 -0
  145. package/components/ui/resizable.d.mts +1 -1
  146. package/components/ui/resizable.d.ts +1 -1
  147. package/components/ui/toaster.js +2 -2
  148. package/components/ui/toaster.mjs +1 -1
  149. package/components/widgets/dialog-manager/index.js +3 -3
  150. package/components/widgets/dialog-manager/index.js.map +1 -1
  151. package/components/widgets/dialog-manager/index.mjs +2 -2
  152. package/components/widgets/dialog-manager/provider.js +2 -2
  153. package/components/widgets/dialog-manager/provider.mjs +1 -1
  154. package/hooks/use-toast.js +2 -2
  155. package/hooks/use-toast.mjs +1 -1
  156. package/layouts/sidebar1/LinkWrapper.js.map +1 -1
  157. package/layouts/sidebar1/LinkWrapper.mjs.map +1 -1
  158. package/layouts/sidebar1/app-sidebar.js +5 -5
  159. package/layouts/sidebar1/app-sidebar.mjs +4 -4
  160. package/layouts/sidebar1/context-switcher.js +2 -2
  161. package/layouts/sidebar1/context-switcher.mjs +1 -1
  162. package/layouts/sidebar1/index.js +7 -7
  163. package/layouts/sidebar1/index.js.map +1 -1
  164. package/layouts/sidebar1/index.mjs +6 -6
  165. package/layouts/sidebar1/nav-menus.js +2 -2
  166. package/layouts/sidebar1/nav-menus.mjs +1 -1
  167. package/layouts/sidebar1/nav-user.js +2 -2
  168. package/layouts/sidebar1/nav-user.mjs +1 -1
  169. package/layouts/simple/index.d.mts +19 -15
  170. package/layouts/simple/index.d.ts +19 -15
  171. package/layouts/simple/index.js +14 -14
  172. package/layouts/simple/index.js.map +1 -1
  173. package/layouts/simple/index.mjs +14 -14
  174. package/layouts/simple/index.mjs.map +1 -1
  175. package/package.json +1 -1
  176. package/chunk-273TIMKM.js.map +0 -1
  177. package/chunk-2H5WIGQU.js.map +0 -1
  178. package/chunk-2WDZS5E5.mjs.map +0 -1
  179. package/chunk-3YDM2NYL.js.map +0 -1
  180. package/chunk-4QOQOMZB.mjs.map +0 -1
  181. package/chunk-5RW6O56P.mjs.map +0 -1
  182. package/chunk-5UUXFHU3.mjs.map +0 -1
  183. package/chunk-7TCN3MNY.js.map +0 -1
  184. package/chunk-ALDDTRY5.js.map +0 -1
  185. package/chunk-DMO25T5J.mjs.map +0 -1
  186. package/chunk-E77FKWFS.js.map +0 -1
  187. package/chunk-FQG3C7OR.js.map +0 -1
  188. package/chunk-IPTLI5N5.mjs.map +0 -1
  189. package/chunk-LPZRXLKK.mjs.map +0 -1
  190. package/chunk-LVFEXEXE.mjs.map +0 -1
  191. package/chunk-MWA2HHI7.mjs.map +0 -1
  192. package/chunk-N4QVNSAY.js.map +0 -1
  193. package/chunk-NJDC3RMA.mjs.map +0 -1
  194. package/chunk-PSQGNWKT.js.map +0 -1
  195. package/chunk-R3RMWOGE.mjs.map +0 -1
  196. package/chunk-U3HF6HPN.js.map +0 -1
  197. package/chunk-UQTHHSJN.mjs.map +0 -1
  198. package/chunk-V5IL3OBF.mjs.map +0 -1
  199. package/chunk-WA2Z3OWJ.js.map +0 -1
  200. package/chunk-XCHWNZWB.js.map +0 -1
  201. package/chunk-YT6UTIPP.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","../../../../components/ui/extension/multi-select.tsx"],"names":["_a","_b"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/ui/extension/multi-select.js","sourcesContent":[null,"\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"]}
@@ -0,0 +1,311 @@
1
+ "use client";
2
+ import {
3
+ Badge
4
+ } from "../../../chunk-JW7N7IR5.mjs";
5
+ import {
6
+ Command,
7
+ CommandEmpty,
8
+ CommandItem,
9
+ CommandList
10
+ } from "../../../chunk-4XC6EXHZ.mjs";
11
+ import "../../../chunk-YAPKDLRQ.mjs";
12
+ import {
13
+ cn
14
+ } from "../../../chunk-F5XCCSBC.mjs";
15
+ import {
16
+ __objRest,
17
+ __spreadProps,
18
+ __spreadValues
19
+ } from "../../../chunk-YOSPWY5K.mjs";
20
+
21
+ // components/ui/extension/multi-select.tsx
22
+ import { IconX, IconCheck } from "@tabler/icons-react";
23
+ import { Command as CommandPrimitive } from "cmdk";
24
+ import React, { createContext, forwardRef, useCallback, useContext, useState } from "react";
25
+ var MultiSelectContext = createContext(null);
26
+ var useMultiSelect = () => {
27
+ const context = useContext(MultiSelectContext);
28
+ if (!context) {
29
+ throw new Error("useMultiSelect must be used within MultiSelectProvider");
30
+ }
31
+ return context;
32
+ };
33
+ function searchForValue(source, value) {
34
+ for (let i = 0; i < source.length; i++) {
35
+ if (source[i].value === value.value) {
36
+ return i;
37
+ }
38
+ }
39
+ return -1;
40
+ }
41
+ var MultiSelector = (_a) => {
42
+ var _b = _a, {
43
+ values: value,
44
+ onValuesChange: onValueChange,
45
+ loop = false,
46
+ className,
47
+ children,
48
+ dir
49
+ } = _b, props = __objRest(_b, [
50
+ "values",
51
+ "onValuesChange",
52
+ "loop",
53
+ "className",
54
+ "children",
55
+ "dir"
56
+ ]);
57
+ const [inputValue, setInputValue] = useState("");
58
+ const [open, setOpen] = useState(false);
59
+ const [activeIndex, setActiveIndex] = useState(-1);
60
+ const inputRef = React.useRef(null);
61
+ const onValueChangeHandler = useCallback(
62
+ (val) => {
63
+ const element = searchForValue(value, val);
64
+ if (element !== -1) {
65
+ onValueChange(value.filter((_, index) => index !== element));
66
+ } else {
67
+ onValueChange([...value, val]);
68
+ }
69
+ },
70
+ // eslint-disable-next-line react-hooks/exhaustive-deps
71
+ [value]
72
+ );
73
+ const handleKeyDown = useCallback(
74
+ (e) => {
75
+ var _a2, _b2;
76
+ e.stopPropagation();
77
+ const target = inputRef.current;
78
+ if (!target) return;
79
+ const selectionStart = (_a2 = target.selectionStart) != null ? _a2 : 0;
80
+ const selectionEnd = (_b2 = target.selectionEnd) != null ? _b2 : 0;
81
+ if (selectionStart !== selectionEnd) {
82
+ return;
83
+ }
84
+ const moveNext = () => {
85
+ const nextIndex = activeIndex + 1;
86
+ setActiveIndex(nextIndex > value.length - 1 ? loop ? 0 : -1 : nextIndex);
87
+ };
88
+ const movePrev = () => {
89
+ const prevIndex = activeIndex - 1;
90
+ setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);
91
+ };
92
+ const moveCurrent = () => {
93
+ const newIndex = activeIndex - 1 <= 0 ? value.length - 1 === 0 ? -1 : 0 : activeIndex - 1;
94
+ setActiveIndex(newIndex);
95
+ };
96
+ switch (e.key) {
97
+ case "ArrowLeft":
98
+ if (dir === "rtl") {
99
+ if (value.length > 0 && (activeIndex !== -1 || loop)) {
100
+ moveNext();
101
+ }
102
+ } else {
103
+ if (value.length > 0 && target.selectionStart === 0) {
104
+ movePrev();
105
+ }
106
+ }
107
+ break;
108
+ case "ArrowRight":
109
+ if (dir === "rtl") {
110
+ if (value.length > 0 && target.selectionStart === 0) {
111
+ movePrev();
112
+ }
113
+ } else {
114
+ if (value.length > 0 && (activeIndex !== -1 || loop)) {
115
+ moveNext();
116
+ }
117
+ }
118
+ break;
119
+ case "Backspace":
120
+ case "Delete":
121
+ if (value.length > 0) {
122
+ if (activeIndex !== -1 && activeIndex < value.length) {
123
+ onValueChangeHandler(value[activeIndex]);
124
+ moveCurrent();
125
+ } else {
126
+ if (target.selectionStart === 0) {
127
+ onValueChangeHandler(value[value.length - 1]);
128
+ }
129
+ }
130
+ }
131
+ break;
132
+ case "Enter":
133
+ setOpen(true);
134
+ break;
135
+ case "Escape":
136
+ if (activeIndex !== -1) {
137
+ setActiveIndex(-1);
138
+ } else if (open) {
139
+ setInputValue("");
140
+ setOpen(false);
141
+ }
142
+ break;
143
+ }
144
+ },
145
+ [value, activeIndex, loop]
146
+ );
147
+ return /* @__PURE__ */ React.createElement(
148
+ MultiSelectContext.Provider,
149
+ {
150
+ value: {
151
+ value,
152
+ onValueChange: onValueChangeHandler,
153
+ open,
154
+ setOpen,
155
+ inputValue,
156
+ setInputValue,
157
+ activeIndex,
158
+ setActiveIndex,
159
+ ref: inputRef
160
+ }
161
+ },
162
+ /* @__PURE__ */ React.createElement(
163
+ Command,
164
+ __spreadValues({
165
+ onKeyDown: handleKeyDown,
166
+ className: cn("overflow-visible bg-transparent flex flex-col space-y-2", className),
167
+ dir
168
+ }, props),
169
+ children
170
+ )
171
+ );
172
+ };
173
+ var MultiSelectorTrigger = forwardRef(
174
+ (_a, ref) => {
175
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
176
+ const { value, onValueChange, activeIndex } = useMultiSelect();
177
+ const mousePreventDefault = useCallback((e) => {
178
+ e.preventDefault();
179
+ e.stopPropagation();
180
+ }, []);
181
+ return /* @__PURE__ */ React.createElement(
182
+ "div",
183
+ __spreadValues({
184
+ ref,
185
+ className: cn(
186
+ "flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm",
187
+ {
188
+ "ring-1 focus-within:ring-ring": activeIndex === -1
189
+ },
190
+ className
191
+ )
192
+ }, props),
193
+ value.map((item, index) => /* @__PURE__ */ React.createElement(
194
+ Badge,
195
+ {
196
+ key: item.value,
197
+ className: cn(
198
+ "px-1.5 rounded-md flex items-center gap-1",
199
+ activeIndex === index && "ring-2 ring-muted-foreground "
200
+ ),
201
+ variant: "secondary"
202
+ },
203
+ /* @__PURE__ */ React.createElement("span", { className: "text-xs" }, item.label),
204
+ /* @__PURE__ */ React.createElement(
205
+ "button",
206
+ {
207
+ "aria-label": `Remove ${item} option`,
208
+ "aria-roledescription": "button to remove option",
209
+ type: "button",
210
+ onMouseDown: mousePreventDefault,
211
+ onClick: () => onValueChange(item)
212
+ },
213
+ /* @__PURE__ */ React.createElement("span", { className: "sr-only" }, "Remove ", item.label, " option"),
214
+ /* @__PURE__ */ React.createElement(IconX, { className: "h-4 w-4 hover:stroke-destructive" })
215
+ )
216
+ )),
217
+ children
218
+ );
219
+ }
220
+ );
221
+ MultiSelectorTrigger.displayName = "MultiSelectorTrigger";
222
+ var MultiSelectorInput = forwardRef((_a, ref) => {
223
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
224
+ const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();
225
+ return /* @__PURE__ */ React.createElement(
226
+ CommandPrimitive.Input,
227
+ __spreadProps(__spreadValues({}, props), {
228
+ tabIndex: 0,
229
+ ref: inputRef,
230
+ value: inputValue,
231
+ onValueChange: activeIndex === -1 ? setInputValue : void 0,
232
+ onBlur: () => {
233
+ setInputValue("");
234
+ setOpen(false);
235
+ },
236
+ onFocus: () => setOpen(true),
237
+ onClick: () => setActiveIndex(-1),
238
+ className: cn(
239
+ "p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm",
240
+ className,
241
+ activeIndex !== -1 && "caret-transparent"
242
+ )
243
+ })
244
+ );
245
+ });
246
+ MultiSelectorInput.displayName = "MultiSelectorInput";
247
+ var MultiSelectorContent = forwardRef(({ children }, ref) => {
248
+ const { open } = useMultiSelect();
249
+ return /* @__PURE__ */ React.createElement("div", { ref, className: "relative" }, open ? children : null);
250
+ });
251
+ MultiSelectorContent.displayName = "MultiSelectorContent";
252
+ var MultiSelectorList = forwardRef(({ className, children }, ref) => {
253
+ return /* @__PURE__ */ React.createElement(
254
+ CommandList,
255
+ {
256
+ ref,
257
+ className: cn(
258
+ "p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0",
259
+ className
260
+ )
261
+ },
262
+ children,
263
+ /* @__PURE__ */ React.createElement(CommandEmpty, null, /* @__PURE__ */ React.createElement("span", { className: "text-muted-foreground" }, "No results found"))
264
+ );
265
+ });
266
+ MultiSelectorList.displayName = "MultiSelectorList";
267
+ var MultiSelectorItem = forwardRef((_a, ref) => {
268
+ var _b = _a, { className, value, label, children } = _b, props = __objRest(_b, ["className", "value", "label", "children"]);
269
+ const { value: Options, onValueChange, setInputValue } = useMultiSelect();
270
+ const mousePreventDefault = useCallback((e) => {
271
+ e.preventDefault();
272
+ e.stopPropagation();
273
+ }, []);
274
+ const isIncluded = searchForValue(Options, {
275
+ value,
276
+ label
277
+ }) !== -1;
278
+ return /* @__PURE__ */ React.createElement(
279
+ CommandItem,
280
+ __spreadProps(__spreadValues({
281
+ ref
282
+ }, props), {
283
+ onSelect: () => {
284
+ onValueChange({
285
+ value,
286
+ label
287
+ });
288
+ setInputValue("");
289
+ },
290
+ className: cn(
291
+ "rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between",
292
+ className,
293
+ isIncluded && "opacity-50 cursor-default",
294
+ props.disabled && "opacity-50 cursor-not-allowed"
295
+ ),
296
+ onMouseDown: mousePreventDefault
297
+ }),
298
+ children,
299
+ isIncluded && /* @__PURE__ */ React.createElement(IconCheck, { className: "h-4 w-4" })
300
+ );
301
+ });
302
+ MultiSelectorItem.displayName = "MultiSelectorItem";
303
+ export {
304
+ MultiSelector,
305
+ MultiSelectorContent,
306
+ MultiSelectorInput,
307
+ MultiSelectorItem,
308
+ MultiSelectorList,
309
+ MultiSelectorTrigger
310
+ };
311
+ //# sourceMappingURL=multi-select.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../components/ui/extension/multi-select.tsx"],"sourcesContent":["\"use client\";\nimport { Badge } from '../badge';\nimport { Command, CommandItem, CommandEmpty, CommandList } from '../command';\nimport { IconX, IconCheck } from '@tabler/icons-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport React, { type KeyboardEvent, createContext, forwardRef, useCallback, useContext, useState } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nexport type MultiSelectValue = {\n value: string;\n label: string;\n};\n\ninterface MultiSelectorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive> {\n values: MultiSelectValue[];\n onValuesChange: (value: MultiSelectValue[]) => void;\n loop?: boolean;\n className?: string;\n children?: React.ReactNode;\n dir?: 'ltr' | 'rtl';\n}\n\ninterface MultiSelectContextProps {\n value: MultiSelectValue[];\n onValueChange: (value: any) => void;\n open: boolean;\n setOpen: (value: boolean) => void;\n inputValue: string;\n setInputValue: React.Dispatch<React.SetStateAction<string>>;\n activeIndex: number;\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n ref: React.RefObject<HTMLInputElement | null>;\n}\n\nconst MultiSelectContext = createContext<MultiSelectContextProps | null>(null);\n\nconst useMultiSelect = () => {\n const context = useContext(MultiSelectContext);\n if (!context) {\n throw new Error('useMultiSelect must be used within MultiSelectProvider');\n }\n return context;\n};\n\n/**\n * MultiSelect Docs: {@link: https://shadcn-extension.vercel.app/docs/multi-select}\n */\n\n// TODO : expose the visibility of the popup\n\nfunction searchForValue(source: MultiSelectValue[], value: MultiSelectValue) {\n for (let i = 0; i < source.length; i++) {\n if (source[i].value === value.value) {\n return i;\n }\n }\n return -1;\n}\n\nconst MultiSelector = ({\n values: value,\n onValuesChange: onValueChange,\n loop = false,\n className,\n children,\n dir,\n ...props\n}: MultiSelectorProps) => {\n const [inputValue, setInputValue] = useState('');\n const [open, setOpen] = useState<boolean>(false);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const onValueChangeHandler = useCallback(\n (val: MultiSelectValue) => {\n const element = searchForValue(value, val);\n if (element !== -1) {\n onValueChange(value.filter((_, index) => index !== element));\n } else {\n onValueChange([...value, val]);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [value],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLDivElement>) => {\n e.stopPropagation();\n const target = inputRef.current;\n\n if (!target) return;\n\n const selectionStart = target.selectionStart ?? 0;\n const selectionEnd = target.selectionEnd ?? 0;\n\n // If there's a selection, do nothing and let the default behavior take over\n if (selectionStart !== selectionEnd) {\n return;\n }\n\n const moveNext = () => {\n const nextIndex = activeIndex + 1;\n setActiveIndex(nextIndex > value.length - 1 ? (loop ? 0 : -1) : nextIndex);\n };\n\n const movePrev = () => {\n const prevIndex = activeIndex - 1;\n setActiveIndex(prevIndex < 0 ? value.length - 1 : prevIndex);\n };\n\n const moveCurrent = () => {\n const newIndex = activeIndex - 1 <= 0 ? (value.length - 1 === 0 ? -1 : 0) : activeIndex - 1;\n setActiveIndex(newIndex);\n };\n\n switch (e.key) {\n case 'ArrowLeft':\n if (dir === 'rtl') {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n } else {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n }\n break;\n\n case 'ArrowRight':\n if (dir === 'rtl') {\n if (value.length > 0 && target.selectionStart === 0) {\n movePrev();\n }\n } else {\n if (value.length > 0 && (activeIndex !== -1 || loop)) {\n moveNext();\n }\n }\n break;\n\n case 'Backspace':\n case 'Delete':\n if (value.length > 0) {\n if (activeIndex !== -1 && activeIndex < value.length) {\n onValueChangeHandler(value[activeIndex]);\n moveCurrent();\n } else {\n if (target.selectionStart === 0) {\n onValueChangeHandler(value[value.length - 1]);\n }\n }\n }\n break;\n\n case 'Enter':\n setOpen(true);\n break;\n\n case 'Escape':\n if (activeIndex !== -1) {\n setActiveIndex(-1);\n } else if (open) {\n setInputValue('');\n setOpen(false);\n }\n break;\n }\n },\n [value, activeIndex, loop],\n );\n\n return (\n <MultiSelectContext.Provider\n value={{\n value,\n onValueChange: onValueChangeHandler,\n open,\n setOpen,\n inputValue,\n setInputValue,\n activeIndex,\n setActiveIndex,\n ref: inputRef,\n }}\n >\n <Command\n onKeyDown={handleKeyDown}\n className={cn('overflow-visible bg-transparent flex flex-col space-y-2', className)}\n dir={dir}\n {...props}\n >\n {children}\n </Command>\n </MultiSelectContext.Provider>\n );\n};\n\nconst MultiSelectorTrigger = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { value, onValueChange, activeIndex } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap gap-1 px-2 py-2 ring-1 ring-muted rounded-lg bg-background border rounded-sm',\n {\n 'ring-1 focus-within:ring-ring': activeIndex === -1,\n },\n className,\n )}\n {...props}\n >\n {value.map((item, index) => (\n <Badge\n key={item.value}\n className={cn(\n 'px-1.5 rounded-md flex items-center gap-1',\n activeIndex === index && 'ring-2 ring-muted-foreground ',\n )}\n variant=\"secondary\"\n >\n <span className=\"text-xs\">{item.label}</span>\n\n <button\n aria-label={`Remove ${item} option`}\n aria-roledescription=\"button to remove option\"\n type=\"button\"\n onMouseDown={mousePreventDefault}\n onClick={() => onValueChange(item)}\n >\n <span className=\"sr-only\">Remove {item.label} option</span>\n\n <IconX className=\"h-4 w-4 hover:stroke-destructive\" />\n </button>\n </Badge>\n ))}\n {children}\n </div>\n );\n },\n);\n\nMultiSelectorTrigger.displayName = 'MultiSelectorTrigger';\n\nconst MultiSelectorInput = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => {\n const { setOpen, inputValue, setInputValue, activeIndex, setActiveIndex, ref: inputRef } = useMultiSelect();\n\n return (\n <CommandPrimitive.Input\n {...props}\n tabIndex={0}\n ref={inputRef}\n value={inputValue}\n onValueChange={activeIndex === -1 ? setInputValue : undefined}\n onBlur={() => {\n setInputValue('');\n setOpen(false);\n }}\n onFocus={() => setOpen(true)}\n onClick={() => setActiveIndex(-1)}\n className={cn(\n 'p-0 bg-transparent border-none outline-none focus:outline-none focus:ring-0 placeholder:text-muted-foreground flex-1 text-sm',\n className,\n activeIndex !== -1 && 'caret-transparent',\n )}\n />\n );\n});\n\nMultiSelectorInput.displayName = 'MultiSelectorInput';\n\nconst MultiSelectorContent = forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children }, ref) => {\n const { open } = useMultiSelect();\n return (\n <div ref={ref} className=\"relative\">\n {open ? children : null}\n </div>\n );\n});\n\nMultiSelectorContent.displayName = 'MultiSelectorContent';\n\nconst MultiSelectorList = forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, children }, ref) => {\n return (\n <CommandList\n ref={ref}\n className={cn(\n 'p-2 flex flex-col gap-2 rounded-md scrollbar-thin scrollbar-track-transparent transition-colors scrollbar-thumb-muted-foreground dark:scrollbar-thumb-muted scrollbar-thumb-rounded-lg w-full absolute bg-background shadow-md z-100 border border-muted top-0',\n className,\n )}\n >\n {children}\n\n <CommandEmpty>\n <span className=\"text-muted-foreground\">No results found</span>\n </CommandEmpty>\n </CommandList>\n );\n});\n\nMultiSelectorList.displayName = 'MultiSelectorList';\n\nconst MultiSelectorItem = forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n { value: string; label: string } & React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, value, label, children, ...props }, ref) => {\n const { value: Options, onValueChange, setInputValue } = useMultiSelect();\n\n const mousePreventDefault = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const isIncluded =\n searchForValue(Options, {\n value: value,\n label: label,\n }) !== -1;\n\n return (\n <CommandItem\n ref={ref}\n {...props}\n onSelect={() => {\n onValueChange({\n value: value,\n label: label,\n });\n setInputValue('');\n }}\n className={cn(\n 'rounded-md cursor-pointer px-2 py-1 transition-colors flex justify-between',\n className,\n isIncluded && 'opacity-50 cursor-default',\n props.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onMouseDown={mousePreventDefault}\n >\n {children}\n {isIncluded && <IconCheck className=\"h-4 w-4\" />}\n </CommandItem>\n );\n});\n\nMultiSelectorItem.displayName = 'MultiSelectorItem';\n\nexport {\n MultiSelector,\n MultiSelectorTrigger,\n MultiSelectorInput,\n MultiSelectorContent,\n MultiSelectorList,\n MultiSelectorItem,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,OAAO,iBAAiB;AACjC,SAAS,WAAW,wBAAwB;AAC5C,OAAO,SAA6B,eAAe,YAAY,aAAa,YAAY,gBAAgB;AA8BxG,IAAM,qBAAqB,cAA8C,IAAI;AAE7E,IAAM,iBAAiB,MAAM;AAC3B,QAAM,UAAU,WAAW,kBAAkB;AAC7C,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AACA,SAAO;AACT;AAQA,SAAS,eAAe,QAA4B,OAAyB;AAC3E,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,QAAI,OAAO,CAAC,EAAE,UAAU,MAAM,OAAO;AACnC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,gBAAgB,CAAC,OAQG;AARH,eACrB;AAAA,YAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EAlEF,IA4DuB,IAOlB,kBAPkB,IAOlB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAC/C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAkB,KAAK;AAC/C,QAAM,CAAC,aAAa,cAAc,IAAI,SAAiB,EAAE;AACzD,QAAM,WAAW,MAAM,OAAyB,IAAI;AAEpD,QAAM,uBAAuB;AAAA,IAC3B,CAAC,QAA0B;AACzB,YAAM,UAAU,eAAe,OAAO,GAAG;AACzC,UAAI,YAAY,IAAI;AAClB,sBAAc,MAAM,OAAO,CAAC,GAAG,UAAU,UAAU,OAAO,CAAC;AAAA,MAC7D,OAAO;AACL,sBAAc,CAAC,GAAG,OAAO,GAAG,CAAC;AAAA,MAC/B;AAAA,IACF;AAAA;AAAA,IAEA,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAqC;AAxF1C,UAAAA,KAAAC;AAyFM,QAAE,gBAAgB;AAClB,YAAM,SAAS,SAAS;AAExB,UAAI,CAAC,OAAQ;AAEb,YAAM,kBAAiBD,MAAA,OAAO,mBAAP,OAAAA,MAAyB;AAChD,YAAM,gBAAeC,MAAA,OAAO,iBAAP,OAAAA,MAAuB;AAG5C,UAAI,mBAAmB,cAAc;AACnC;AAAA,MACF;AAEA,YAAM,WAAW,MAAM;AACrB,cAAM,YAAY,cAAc;AAChC,uBAAe,YAAY,MAAM,SAAS,IAAK,OAAO,IAAI,KAAM,SAAS;AAAA,MAC3E;AAEA,YAAM,WAAW,MAAM;AACrB,cAAM,YAAY,cAAc;AAChC,uBAAe,YAAY,IAAI,MAAM,SAAS,IAAI,SAAS;AAAA,MAC7D;AAEA,YAAM,cAAc,MAAM;AACxB,cAAM,WAAW,cAAc,KAAK,IAAK,MAAM,SAAS,MAAM,IAAI,KAAK,IAAK,cAAc;AAC1F,uBAAe,QAAQ;AAAA,MACzB;AAEA,cAAQ,EAAE,KAAK;AAAA,QACb,KAAK;AACH,cAAI,QAAQ,OAAO;AACjB,gBAAI,MAAM,SAAS,MAAM,gBAAgB,MAAM,OAAO;AACpD,uBAAS;AAAA,YACX;AAAA,UACF,OAAO;AACL,gBAAI,MAAM,SAAS,KAAK,OAAO,mBAAmB,GAAG;AACnD,uBAAS;AAAA,YACX;AAAA,UACF;AACA;AAAA,QAEF,KAAK;AACH,cAAI,QAAQ,OAAO;AACjB,gBAAI,MAAM,SAAS,KAAK,OAAO,mBAAmB,GAAG;AACnD,uBAAS;AAAA,YACX;AAAA,UACF,OAAO;AACL,gBAAI,MAAM,SAAS,MAAM,gBAAgB,MAAM,OAAO;AACpD,uBAAS;AAAA,YACX;AAAA,UACF;AACA;AAAA,QAEF,KAAK;AAAA,QACL,KAAK;AACH,cAAI,MAAM,SAAS,GAAG;AACpB,gBAAI,gBAAgB,MAAM,cAAc,MAAM,QAAQ;AACpD,mCAAqB,MAAM,WAAW,CAAC;AACvC,0BAAY;AAAA,YACd,OAAO;AACL,kBAAI,OAAO,mBAAmB,GAAG;AAC/B,qCAAqB,MAAM,MAAM,SAAS,CAAC,CAAC;AAAA,cAC9C;AAAA,YACF;AAAA,UACF;AACA;AAAA,QAEF,KAAK;AACH,kBAAQ,IAAI;AACZ;AAAA,QAEF,KAAK;AACH,cAAI,gBAAgB,IAAI;AACtB,2BAAe,EAAE;AAAA,UACnB,WAAW,MAAM;AACf,0BAAc,EAAE;AAChB,oBAAQ,KAAK;AAAA,UACf;AACA;AAAA,MACJ;AAAA,IACF;AAAA,IACA,CAAC,OAAO,aAAa,IAAI;AAAA,EAC3B;AAEA,SACE;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,KAAK;AAAA,MACP;AAAA;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,QACX,WAAW,GAAG,2DAA2D,SAAS;AAAA,QAClF;AAAA,SACI;AAAA,MAEH;AAAA,IACH;AAAA,EACF;AAEJ;AAEA,IAAM,uBAAuB;AAAA,EAC3B,CAAC,IAAmC,QAAQ;AAA3C,iBAAE,aAAW,SAxMhB,IAwMG,IAA0B,kBAA1B,IAA0B,CAAxB,aAAW;AACZ,UAAM,EAAE,OAAO,eAAe,YAAY,IAAI,eAAe;AAE7D,UAAM,sBAAsB,YAAY,CAAC,MAAwB;AAC/D,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAAA,IACpB,GAAG,CAAC,CAAC;AAEL,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,iCAAiC,gBAAgB;AAAA,UACnD;AAAA,UACA;AAAA,QACF;AAAA,SACI;AAAA,MAEH,MAAM,IAAI,CAAC,MAAM,UAChB;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,KAAK;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA,gBAAgB,SAAS;AAAA,UAC3B;AAAA,UACA,SAAQ;AAAA;AAAA,QAER,oCAAC,UAAK,WAAU,aAAW,KAAK,KAAM;AAAA,QAEtC;AAAA,UAAC;AAAA;AAAA,YACC,cAAY,UAAU,IAAI;AAAA,YAC1B,wBAAqB;AAAA,YACrB,MAAK;AAAA,YACL,aAAa;AAAA,YACb,SAAS,MAAM,cAAc,IAAI;AAAA;AAAA,UAEjC,oCAAC,UAAK,WAAU,aAAU,WAAQ,KAAK,OAAM,SAAO;AAAA,UAEpD,oCAAC,SAAM,WAAU,oCAAmC;AAAA,QACtD;AAAA,MACF,CACD;AAAA,MACA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,qBAAqB,cAAc;AAEnC,IAAM,qBAAqB,WAGzB,CAAC,IAAyB,QAAQ;AAAjC,eAAE,YA/PL,IA+PG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,QAAM,EAAE,SAAS,YAAY,eAAe,aAAa,gBAAgB,KAAK,SAAS,IAAI,eAAe;AAE1G,SACE;AAAA,IAAC,iBAAiB;AAAA,IAAjB,iCACK,QADL;AAAA,MAEC,UAAU;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,MACP,eAAe,gBAAgB,KAAK,gBAAgB;AAAA,MACpD,QAAQ,MAAM;AACZ,sBAAc,EAAE;AAChB,gBAAQ,KAAK;AAAA,MACf;AAAA,MACA,SAAS,MAAM,QAAQ,IAAI;AAAA,MAC3B,SAAS,MAAM,eAAe,EAAE;AAAA,MAChC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA,gBAAgB,MAAM;AAAA,MACxB;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,mBAAmB,cAAc;AAEjC,IAAM,uBAAuB,WAAiE,CAAC,EAAE,SAAS,GAAG,QAAQ;AACnH,QAAM,EAAE,KAAK,IAAI,eAAe;AAChC,SACE,oCAAC,SAAI,KAAU,WAAU,cACtB,OAAO,WAAW,IACrB;AAEJ,CAAC;AAED,qBAAqB,cAAc;AAEnC,IAAM,oBAAoB,WAGxB,CAAC,EAAE,WAAW,SAAS,GAAG,QAAQ;AAClC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,IAED,oCAAC,oBACC,oCAAC,UAAK,WAAU,2BAAwB,kBAAgB,CAC1D;AAAA,EACF;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAM,oBAAoB,WAGxB,CAAC,IAAiD,QAAQ;AAAzD,eAAE,aAAW,OAAO,OAAO,SA/T9B,IA+TG,IAAwC,kBAAxC,IAAwC,CAAtC,aAAW,SAAO,SAAO;AAC5B,QAAM,EAAE,OAAO,SAAS,eAAe,cAAc,IAAI,eAAe;AAExE,QAAM,sBAAsB,YAAY,CAAC,MAAwB;AAC/D,MAAE,eAAe;AACjB,MAAE,gBAAgB;AAAA,EACpB,GAAG,CAAC,CAAC;AAEL,QAAM,aACJ,eAAe,SAAS;AAAA,IACtB;AAAA,IACA;AAAA,EACF,CAAC,MAAM;AAET,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,OACI,QAFL;AAAA,MAGC,UAAU,MAAM;AACd,sBAAc;AAAA,UACZ;AAAA,UACA;AAAA,QACF,CAAC;AACD,sBAAc,EAAE;AAAA,MAClB;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,MAAM,YAAY;AAAA,MACpB;AAAA,MACA,aAAa;AAAA;AAAA,IAEZ;AAAA,IACA,cAAc,oCAAC,aAAU,WAAU,WAAU;AAAA,EAChD;AAEJ,CAAC;AAED,kBAAkB,cAAc;","names":["_a","_b"]}
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import * as ResizablePrimitive from 'react-resizable-panels';
3
3
 
4
4
  declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React.JSX.Element;
5
- declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLDivElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
5
+ declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
6
6
  className?: string;
7
7
  collapsedSize?: number | undefined;
8
8
  collapsible?: boolean | undefined;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import * as ResizablePrimitive from 'react-resizable-panels';
3
3
 
4
4
  declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React.JSX.Element;
5
- declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLDivElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
5
+ declare const ResizablePanel: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSelectElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
6
6
  className?: string;
7
7
  collapsedSize?: number | undefined;
8
8
  collapsible?: boolean | undefined;
@@ -10,7 +10,7 @@
10
10
  var _chunkDSGXBKNSjs = require('../../chunk-DSGXBKNS.js');
11
11
 
12
12
 
13
- var _chunkALDDTRY5js = require('../../chunk-ALDDTRY5.js');
13
+ var _chunkI6AFNWVYjs = require('../../chunk-I6AFNWVY.js');
14
14
  require('../../chunk-6N4WCMTE.js');
15
15
 
16
16
 
@@ -20,7 +20,7 @@ var _chunk2NMEKWO5js = require('../../chunk-2NMEKWO5.js');
20
20
  // components/ui/toaster.tsx
21
21
  var _react = require('react'); var React = _interopRequireWildcard(_react);
22
22
  function Toaster() {
23
- const { toasts } = _chunkALDDTRY5js.useToast.call(void 0, );
23
+ const { toasts } = _chunkI6AFNWVYjs.useToast.call(void 0, );
24
24
  return /* @__PURE__ */ React.createElement(_chunkDSGXBKNSjs.ToastProvider, null, toasts.map(function(_a) {
25
25
  var _b = _a, { id, title, description, action } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["id", "title", "description", "action"]);
26
26
  return /* @__PURE__ */ React.createElement(_chunkDSGXBKNSjs.Toast, _chunk2NMEKWO5js.__spreadValues.call(void 0, { key: id }, props), /* @__PURE__ */ React.createElement("div", { className: "grid gap-1" }, title && /* @__PURE__ */ React.createElement(_chunkDSGXBKNSjs.ToastTitle, null, title), description && /* @__PURE__ */ React.createElement(_chunkDSGXBKNSjs.ToastDescription, null, description)), action, /* @__PURE__ */ React.createElement(_chunkDSGXBKNSjs.ToastClose, null));
@@ -9,7 +9,7 @@ import {
9
9
  } from "../../chunk-AT6DBL5I.mjs";
10
10
  import {
11
11
  useToast
12
- } from "../../chunk-5UUXFHU3.mjs";
12
+ } from "../../chunk-YQZZ6RRI.mjs";
13
13
  import "../../chunk-F5XCCSBC.mjs";
14
14
  import {
15
15
  __objRest,
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
- require('../../../chunk-5SLUBHNN.js');
4
3
 
5
4
 
6
- var _chunk273TIMKMjs = require('../../../chunk-273TIMKM.js');
5
+ var _chunkPS3LNHTAjs = require('../../../chunk-PS3LNHTA.js');
6
+ require('../../../chunk-5SLUBHNN.js');
7
7
 
8
8
 
9
9
 
@@ -15,5 +15,5 @@ require('../../../chunk-2NMEKWO5.js');
15
15
 
16
16
 
17
17
 
18
- exports.DialogContext = _chunkA4FV6TTMjs.DialogContext; exports.DialogManagerProvider = _chunk273TIMKMjs.DialogProvider; exports.createTypedDialog = _chunkA4FV6TTMjs.createTypedDialog; exports.useDialog = _chunkA4FV6TTMjs.useDialog;
18
+ exports.DialogContext = _chunkA4FV6TTMjs.DialogContext; exports.DialogManagerProvider = _chunkPS3LNHTAjs.DialogProvider; exports.createTypedDialog = _chunkA4FV6TTMjs.createTypedDialog; exports.useDialog = _chunkA4FV6TTMjs.useDialog;
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,sCAAmC;AACnC;AACE;AACF,6DAAmC;AACnC;AACE;AACA;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC;AACE;AACA;AACA;AACA;AACF,wOAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACF,6DAAmC;AACnC,sCAAmC;AACnC;AACE;AACA;AACA;AACF,6DAAmC;AACnC,sCAAmC;AACnC;AACE;AACA;AACA;AACA;AACF,wOAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/components/widgets/dialog-manager/index.js"}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import "../../../chunk-B2Z7BNYW.mjs";
3
2
  import {
4
3
  DialogProvider
5
- } from "../../../chunk-5RW6O56P.mjs";
4
+ } from "../../../chunk-OXCN3BD6.mjs";
5
+ import "../../../chunk-B2Z7BNYW.mjs";
6
6
  import {
7
7
  DialogContext,
8
8
  createTypedDialog,
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunk273TIMKMjs = require('../../../chunk-273TIMKM.js');
5
+ var _chunkPS3LNHTAjs = require('../../../chunk-PS3LNHTA.js');
6
6
  require('../../../chunk-A4FV6TTM.js');
7
7
  require('../../../chunk-2NMEKWO5.js');
8
8
 
9
9
 
10
- exports.DialogProvider = _chunk273TIMKMjs.DialogProvider;
10
+ exports.DialogProvider = _chunkPS3LNHTAjs.DialogProvider;
11
11
  //# sourceMappingURL=provider.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  DialogProvider
4
- } from "../../../chunk-5RW6O56P.mjs";
4
+ } from "../../../chunk-OXCN3BD6.mjs";
5
5
  import "../../../chunk-PDB2VCWX.mjs";
6
6
  import "../../../chunk-YOSPWY5K.mjs";
7
7
  export {
@@ -4,11 +4,11 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkALDDTRY5js = require('../chunk-ALDDTRY5.js');
7
+ var _chunkI6AFNWVYjs = require('../chunk-I6AFNWVY.js');
8
8
  require('../chunk-2NMEKWO5.js');
9
9
 
10
10
 
11
11
 
12
12
 
13
- exports.reducer = _chunkALDDTRY5js.reducer; exports.toast = _chunkALDDTRY5js.toast; exports.useToast = _chunkALDDTRY5js.useToast;
13
+ exports.reducer = _chunkI6AFNWVYjs.reducer; exports.toast = _chunkI6AFNWVYjs.toast; exports.useToast = _chunkI6AFNWVYjs.useToast;
14
14
  //# sourceMappingURL=use-toast.js.map
@@ -3,7 +3,7 @@ import {
3
3
  reducer,
4
4
  toast,
5
5
  useToast
6
- } from "../chunk-5UUXFHU3.mjs";
6
+ } from "../chunk-YQZZ6RRI.mjs";
7
7
  import "../chunk-YOSPWY5K.mjs";
8
8
  export {
9
9
  reducer,
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/LinkWrapper.js","../../../layouts/sidebar1/LinkWrapper.tsx"],"names":[],"mappings":"AAAA,qFAAY;AACZ,mCAAgC;AAChC;AACA;ACOO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,QAAQ,CAAA,EAAyB;AAC3E,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,CAAC,CAAA,EAAA,GAAM;AACd,QAAA,CAAA,CAAE,eAAA,CAAgB,CAAA;AAElB,QAAA,GAAA,CAAI,OAAA,EAAS;AACX,UAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,QACX;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IAEC;AAAA,EACH,CAAA;AAEJ;ADNA;AACE;AACF,0CAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/LinkWrapper.js","sourcesContent":[null,"\"use client\";\n'use client';\n\ninterface LinkPlaceholderProps {\n children: React.ReactNode;\n to?: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function LinkPlaceholder({ children, onClick }: LinkPlaceholderProps) {\n return (\n <div\n onClick={(e) => {\n e.stopPropagation();\n\n if (onClick) {\n onClick(e);\n }\n }}\n >\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/LinkWrapper.js","../../../layouts/sidebar1/LinkWrapper.tsx"],"names":[],"mappings":"AAAA,qFAAY;AACZ,mCAAgC;AAChC;AACA;ACKO,SAAS,eAAA,CAAgB,EAAE,QAAA,EAAU,QAAQ,CAAA,EAAyB;AAC3E,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,CAAC,CAAA,EAAA,GAAM;AACd,QAAA,CAAA,CAAE,eAAA,CAAgB,CAAA;AAElB,QAAA,GAAA,CAAI,OAAA,EAAS;AACX,UAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,QACX;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IAEC;AAAA,EACH,CAAA;AAEJ;ADJA;AACE;AACF,0CAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/LinkWrapper.js","sourcesContent":[null,"\"use client\";\ninterface LinkPlaceholderProps {\n children: React.ReactNode;\n to?: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function LinkPlaceholder({ children, onClick }: LinkPlaceholderProps) {\n return (\n <div\n onClick={(e) => {\n e.stopPropagation();\n\n if (onClick) {\n onClick(e);\n }\n }}\n >\n {children}\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../layouts/sidebar1/LinkWrapper.tsx"],"sourcesContent":["\"use client\";\n'use client';\n\ninterface LinkPlaceholderProps {\n children: React.ReactNode;\n to?: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function LinkPlaceholder({ children, onClick }: LinkPlaceholderProps) {\n return (\n <div\n onClick={(e) => {\n e.stopPropagation();\n\n if (onClick) {\n onClick(e);\n }\n }}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAUO,SAAS,gBAAgB,EAAE,UAAU,QAAQ,GAAyB;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,CAAC,MAAM;AACd,UAAE,gBAAgB;AAElB,YAAI,SAAS;AACX,kBAAQ,CAAC;AAAA,QACX;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,EACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../layouts/sidebar1/LinkWrapper.tsx"],"sourcesContent":["\"use client\";\ninterface LinkPlaceholderProps {\n children: React.ReactNode;\n to?: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function LinkPlaceholder({ children, onClick }: LinkPlaceholderProps) {\n return (\n <div\n onClick={(e) => {\n e.stopPropagation();\n\n if (onClick) {\n onClick(e);\n }\n }}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAQO,SAAS,gBAAgB,EAAE,UAAU,QAAQ,GAAyB;AAC3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,CAAC,MAAM;AACd,UAAE,gBAAgB;AAElB,YAAI,SAAS;AACX,kBAAQ,CAAC;AAAA,QACX;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,EACH;AAEJ;","names":[]}
@@ -2,10 +2,10 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunk2H5WIGQUjs = require('../../chunk-2H5WIGQU.js');
6
- require('../../chunk-7TCN3MNY.js');
7
- require('../../chunk-U3HF6HPN.js');
8
- require('../../chunk-E77FKWFS.js');
5
+ var _chunk4FD63HEQjs = require('../../chunk-4FD63HEQ.js');
6
+ require('../../chunk-PCR4GC74.js');
7
+ require('../../chunk-5HD5BGK7.js');
8
+ require('../../chunk-DYUS5722.js');
9
9
  require('../../chunk-MYO4WRNB.js');
10
10
  require('../../chunk-V7M2UXTR.js');
11
11
  require('../../chunk-E4SSD5P4.js');
@@ -22,5 +22,5 @@ require('../../chunk-6N4WCMTE.js');
22
22
  require('../../chunk-2NMEKWO5.js');
23
23
 
24
24
 
25
- exports.AppSidebar = _chunk2H5WIGQUjs.AppSidebar;
25
+ exports.AppSidebar = _chunk4FD63HEQjs.AppSidebar;
26
26
  //# sourceMappingURL=app-sidebar.js.map
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  AppSidebar
4
- } from "../../chunk-LPZRXLKK.mjs";
5
- import "../../chunk-V5IL3OBF.mjs";
6
- import "../../chunk-DMO25T5J.mjs";
7
- import "../../chunk-R3RMWOGE.mjs";
4
+ } from "../../chunk-ACE5WNTU.mjs";
5
+ import "../../chunk-EJQJ3BCF.mjs";
6
+ import "../../chunk-DMATER3M.mjs";
7
+ import "../../chunk-NTYWTGYX.mjs";
8
8
  import "../../chunk-54PLQ33F.mjs";
9
9
  import "../../chunk-V4BQYO2M.mjs";
10
10
  import "../../chunk-ZJAFK7BR.mjs";
@@ -2,7 +2,7 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkU3HF6HPNjs = require('../../chunk-U3HF6HPN.js');
5
+ var _chunkDYUS5722js = require('../../chunk-DYUS5722.js');
6
6
  require('../../chunk-MYO4WRNB.js');
7
7
  require('../../chunk-V7M2UXTR.js');
8
8
  require('../../chunk-E4SSD5P4.js');
@@ -17,5 +17,5 @@ require('../../chunk-6N4WCMTE.js');
17
17
  require('../../chunk-2NMEKWO5.js');
18
18
 
19
19
 
20
- exports.ContextSwitcher = _chunkU3HF6HPNjs.ContextSwitcher;
20
+ exports.ContextSwitcher = _chunkDYUS5722js.ContextSwitcher;
21
21
  //# sourceMappingURL=context-switcher.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  ContextSwitcher
4
- } from "../../chunk-DMO25T5J.mjs";
4
+ } from "../../chunk-NTYWTGYX.mjs";
5
5
  import "../../chunk-54PLQ33F.mjs";
6
6
  import "../../chunk-V4BQYO2M.mjs";
7
7
  import "../../chunk-ZJAFK7BR.mjs";