@px-ui/ui 0.1.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/avatar-BAkmIOVe.d.ts +41 -0
  2. package/dist/avatar-BAkmIOVe.d.ts.map +1 -0
  3. package/dist/avatar-DDdL9xDH.js +119 -0
  4. package/dist/avatar-DDdL9xDH.js.map +1 -0
  5. package/dist/button-BiiFfKiR.d.ts +19 -0
  6. package/dist/button-BiiFfKiR.d.ts.map +1 -0
  7. package/dist/button-hBUFMmsZ.js +47 -0
  8. package/dist/button-hBUFMmsZ.js.map +1 -0
  9. package/dist/combobox-CnpyzZ7B.js +334 -0
  10. package/dist/combobox-CnpyzZ7B.js.map +1 -0
  11. package/dist/combobox-JXY6PiDq.d.ts +109 -0
  12. package/dist/combobox-JXY6PiDq.d.ts.map +1 -0
  13. package/dist/components/accordion.d.ts +25 -0
  14. package/dist/components/accordion.d.ts.map +1 -0
  15. package/dist/components/accordion.js +56 -0
  16. package/dist/components/accordion.js.map +1 -0
  17. package/dist/components/alert-dialog.d.ts +59 -0
  18. package/dist/components/alert-dialog.d.ts.map +1 -0
  19. package/dist/components/alert-dialog.js +99 -0
  20. package/dist/components/alert-dialog.js.map +1 -0
  21. package/dist/components/alert.d.ts +29 -0
  22. package/dist/components/alert.d.ts.map +1 -0
  23. package/dist/components/alert.js +47 -0
  24. package/dist/components/alert.js.map +1 -0
  25. package/dist/components/aspect-ratio.d.ts +13 -0
  26. package/dist/components/aspect-ratio.d.ts.map +1 -0
  27. package/dist/components/aspect-ratio.js +16 -0
  28. package/dist/components/aspect-ratio.js.map +1 -0
  29. package/dist/components/avatar-group.d.ts +30 -0
  30. package/dist/components/avatar-group.d.ts.map +1 -0
  31. package/dist/components/avatar-group.js +69 -0
  32. package/dist/components/avatar-group.js.map +1 -0
  33. package/dist/components/avatar.d.ts +2 -0
  34. package/dist/components/avatar.js +5 -0
  35. package/dist/components/badge.d.ts +18 -0
  36. package/dist/components/badge.d.ts.map +1 -0
  37. package/dist/components/badge.js +31 -0
  38. package/dist/components/badge.js.map +1 -0
  39. package/dist/components/breadcrumb.d.ts +38 -0
  40. package/dist/components/breadcrumb.d.ts.map +1 -0
  41. package/dist/components/breadcrumb.js +75 -0
  42. package/dist/components/breadcrumb.js.map +1 -0
  43. package/dist/components/button-group.d.ts +29 -0
  44. package/dist/components/button-group.d.ts.map +1 -0
  45. package/dist/components/button-group.js +44 -0
  46. package/dist/components/button-group.js.map +1 -0
  47. package/dist/components/button.d.ts +2 -0
  48. package/dist/components/button.js +4 -0
  49. package/dist/components/calendar.d.ts +32 -0
  50. package/dist/components/calendar.d.ts.map +1 -0
  51. package/dist/components/calendar.js +119 -0
  52. package/dist/components/calendar.js.map +1 -0
  53. package/dist/components/card.d.ts +38 -0
  54. package/dist/components/card.d.ts.map +1 -0
  55. package/dist/components/card.js +59 -0
  56. package/dist/components/card.js.map +1 -0
  57. package/dist/components/carousel.d.ts +57 -0
  58. package/dist/components/carousel.d.ts.map +1 -0
  59. package/dist/components/carousel.js +136 -0
  60. package/dist/components/carousel.js.map +1 -0
  61. package/dist/components/chart.d.ts +79 -0
  62. package/dist/components/chart.d.ts.map +1 -0
  63. package/dist/components/chart.js +148 -0
  64. package/dist/components/chart.js.map +1 -0
  65. package/dist/components/checkbox.d.ts +11 -0
  66. package/dist/components/checkbox.d.ts.map +1 -0
  67. package/dist/components/checkbox.js +24 -0
  68. package/dist/components/checkbox.js.map +1 -0
  69. package/dist/components/collapsible.d.ts +25 -0
  70. package/dist/components/collapsible.d.ts.map +1 -0
  71. package/dist/components/collapsible.js +28 -0
  72. package/dist/components/collapsible.js.map +1 -0
  73. package/dist/components/combobox.d.ts +3 -0
  74. package/dist/components/combobox.js +13 -0
  75. package/dist/components/command.d.ts +78 -0
  76. package/dist/components/command.d.ts.map +1 -0
  77. package/dist/components/command.js +125 -0
  78. package/dist/components/command.js.map +1 -0
  79. package/dist/components/context-menu.d.ts +87 -0
  80. package/dist/components/context-menu.d.ts.map +1 -0
  81. package/dist/components/context-menu.js +137 -0
  82. package/dist/components/context-menu.js.map +1 -0
  83. package/dist/components/currency-select-field.d.ts +105 -0
  84. package/dist/components/currency-select-field.d.ts.map +1 -0
  85. package/dist/components/currency-select-field.js +266 -0
  86. package/dist/components/currency-select-field.js.map +1 -0
  87. package/dist/components/dialog.d.ts +61 -0
  88. package/dist/components/dialog.d.ts.map +1 -0
  89. package/dist/components/dialog.js +5 -0
  90. package/dist/components/direction.d.ts +2 -0
  91. package/dist/components/direction.js +3 -0
  92. package/dist/components/drawer.d.ts +45 -0
  93. package/dist/components/drawer.d.ts.map +1 -0
  94. package/dist/components/drawer.js +86 -0
  95. package/dist/components/drawer.js.map +1 -0
  96. package/dist/components/dropdown-menu.d.ts +2 -0
  97. package/dist/components/dropdown-menu.js +4 -0
  98. package/dist/components/empty.d.ts +36 -0
  99. package/dist/components/empty.d.ts.map +1 -0
  100. package/dist/components/empty.js +62 -0
  101. package/dist/components/empty.js.map +1 -0
  102. package/dist/components/field.d.ts +72 -0
  103. package/dist/components/field.d.ts.map +1 -0
  104. package/dist/components/field.js +122 -0
  105. package/dist/components/field.js.map +1 -0
  106. package/dist/components/file-upload-field.d.ts +58 -0
  107. package/dist/components/file-upload-field.d.ts.map +1 -0
  108. package/dist/components/file-upload-field.js +90 -0
  109. package/dist/components/file-upload-field.js.map +1 -0
  110. package/dist/components/file-upload.d.ts +4 -0
  111. package/dist/components/file-upload.js +6 -0
  112. package/dist/components/hover-card.d.ts +21 -0
  113. package/dist/components/hover-card.d.ts.map +1 -0
  114. package/dist/components/hover-card.js +40 -0
  115. package/dist/components/hover-card.js.map +1 -0
  116. package/dist/components/input-group.d.ts +46 -0
  117. package/dist/components/input-group.d.ts.map +1 -0
  118. package/dist/components/input-group.js +9 -0
  119. package/dist/components/input-otp.d.ts +24 -0
  120. package/dist/components/input-otp.d.ts.map +1 -0
  121. package/dist/components/input-otp.js +40 -0
  122. package/dist/components/input-otp.js.map +1 -0
  123. package/dist/components/input.d.ts +2 -0
  124. package/dist/components/input.js +4 -0
  125. package/dist/components/item.d.ts +62 -0
  126. package/dist/components/item.d.ts.map +1 -0
  127. package/dist/components/item.js +124 -0
  128. package/dist/components/item.js.map +1 -0
  129. package/dist/components/kbd.d.ts +14 -0
  130. package/dist/components/kbd.d.ts.map +1 -0
  131. package/dist/components/kbd.js +22 -0
  132. package/dist/components/kbd.js.map +1 -0
  133. package/dist/components/label.d.ts +2 -0
  134. package/dist/components/label.js +6 -0
  135. package/dist/components/menubar.d.ts +89 -0
  136. package/dist/components/menubar.d.ts.map +1 -0
  137. package/dist/components/menubar.js +140 -0
  138. package/dist/components/menubar.js.map +1 -0
  139. package/dist/components/native-select.d.ts +23 -0
  140. package/dist/components/native-select.d.ts.map +1 -0
  141. package/dist/components/native-select.js +41 -0
  142. package/dist/components/native-select.js.map +1 -0
  143. package/dist/components/navigation-menu.d.ts +48 -0
  144. package/dist/components/navigation-menu.d.ts.map +1 -0
  145. package/dist/components/navigation-menu.js +85 -0
  146. package/dist/components/navigation-menu.js.map +1 -0
  147. package/dist/components/pagination.d.ts +46 -0
  148. package/dist/components/pagination.d.ts.map +1 -0
  149. package/dist/components/pagination.js +89 -0
  150. package/dist/components/pagination.js.map +1 -0
  151. package/dist/components/phone-input.d.ts +28 -0
  152. package/dist/components/phone-input.d.ts.map +1 -0
  153. package/dist/components/phone-input.js +60 -0
  154. package/dist/components/phone-input.js.map +1 -0
  155. package/dist/components/popover.d.ts +34 -0
  156. package/dist/components/popover.d.ts.map +1 -0
  157. package/dist/components/popover.js +4 -0
  158. package/dist/components/progress.d.ts +29 -0
  159. package/dist/components/progress.d.ts.map +1 -0
  160. package/dist/components/progress.js +48 -0
  161. package/dist/components/progress.js.map +1 -0
  162. package/dist/components/radio-group.d.ts +16 -0
  163. package/dist/components/radio-group.d.ts.map +1 -0
  164. package/dist/components/radio-group.js +29 -0
  165. package/dist/components/radio-group.js.map +1 -0
  166. package/dist/components/resizable.d.ts +21 -0
  167. package/dist/components/resizable.d.ts.map +1 -0
  168. package/dist/components/resizable.js +32 -0
  169. package/dist/components/resizable.js.map +1 -0
  170. package/dist/components/scroll-area.d.ts +17 -0
  171. package/dist/components/scroll-area.d.ts.map +1 -0
  172. package/dist/components/scroll-area.js +39 -0
  173. package/dist/components/scroll-area.js.map +1 -0
  174. package/dist/components/select.d.ts +56 -0
  175. package/dist/components/select.d.ts.map +1 -0
  176. package/dist/components/select.js +102 -0
  177. package/dist/components/select.js.map +1 -0
  178. package/dist/components/separator.d.ts +2 -0
  179. package/dist/components/separator.js +4 -0
  180. package/dist/components/sheet.d.ts +43 -0
  181. package/dist/components/sheet.d.ts.map +1 -0
  182. package/dist/components/sheet.js +7 -0
  183. package/dist/components/sidebar.d.ts +162 -0
  184. package/dist/components/sidebar.d.ts.map +1 -0
  185. package/dist/components/sidebar.js +390 -0
  186. package/dist/components/sidebar.js.map +1 -0
  187. package/dist/components/skeleton.d.ts +10 -0
  188. package/dist/components/skeleton.d.ts.map +1 -0
  189. package/dist/components/skeleton.js +4 -0
  190. package/dist/components/slider.d.ts +15 -0
  191. package/dist/components/slider.d.ts.map +1 -0
  192. package/dist/components/slider.js +36 -0
  193. package/dist/components/slider.js.map +1 -0
  194. package/dist/components/spinner.d.ts +11 -0
  195. package/dist/components/spinner.d.ts.map +1 -0
  196. package/dist/components/spinner.js +4 -0
  197. package/dist/components/switch.d.ts +14 -0
  198. package/dist/components/switch.d.ts.map +1 -0
  199. package/dist/components/switch.js +21 -0
  200. package/dist/components/switch.js.map +1 -0
  201. package/dist/components/table.d.ts +39 -0
  202. package/dist/components/table.d.ts.map +1 -0
  203. package/dist/components/table.js +71 -0
  204. package/dist/components/table.js.map +1 -0
  205. package/dist/components/tabs.d.ts +31 -0
  206. package/dist/components/tabs.d.ts.map +1 -0
  207. package/dist/components/tabs.js +55 -0
  208. package/dist/components/tabs.js.map +1 -0
  209. package/dist/components/textarea.d.ts +11 -0
  210. package/dist/components/textarea.d.ts.map +1 -0
  211. package/dist/components/textarea.js +4 -0
  212. package/dist/components/toast.d.ts +2 -0
  213. package/dist/components/toast.js +6 -0
  214. package/dist/components/toggle-group.d.ts +29 -0
  215. package/dist/components/toggle-group.d.ts.map +1 -0
  216. package/dist/components/toggle-group.js +55 -0
  217. package/dist/components/toggle-group.js.map +1 -0
  218. package/dist/components/toggle.d.ts +2 -0
  219. package/dist/components/toggle.js +6 -0
  220. package/dist/components/tooltip.d.ts +2 -0
  221. package/dist/components/tooltip.js +4 -0
  222. package/dist/dialog-CTqRrytc.js +103 -0
  223. package/dist/dialog-CTqRrytc.js.map +1 -0
  224. package/dist/direction-BKSh6e6q.js +3 -0
  225. package/dist/dropdown-menu-BEARLcDj.d.ts +91 -0
  226. package/dist/dropdown-menu-BEARLcDj.d.ts.map +1 -0
  227. package/dist/dropdown-menu-CcumvwhM.js +139 -0
  228. package/dist/dropdown-menu-CcumvwhM.js.map +1 -0
  229. package/dist/file-upload-D8hgfjvA.d.ts +145 -0
  230. package/dist/file-upload-D8hgfjvA.d.ts.map +1 -0
  231. package/dist/file-upload-DeCIv13t.js +434 -0
  232. package/dist/file-upload-DeCIv13t.js.map +1 -0
  233. package/dist/hooks/use-async-options.d.ts +2 -0
  234. package/dist/hooks/use-async-options.js +3 -0
  235. package/dist/hooks/use-debounce.d.ts +5 -0
  236. package/dist/hooks/use-debounce.d.ts.map +1 -0
  237. package/dist/hooks/use-debounce.js +3 -0
  238. package/dist/hooks/use-file-upload.d.ts +2 -0
  239. package/dist/hooks/use-file-upload.js +3 -0
  240. package/dist/hooks/use-infinite-scroll.d.ts +21 -0
  241. package/dist/hooks/use-infinite-scroll.d.ts.map +1 -0
  242. package/dist/hooks/use-infinite-scroll.js +4 -0
  243. package/dist/hooks/use-intersection-observer.d.ts +2 -0
  244. package/dist/hooks/use-intersection-observer.js +3 -0
  245. package/dist/hooks/use-mobile.d.ts +5 -0
  246. package/dist/hooks/use-mobile.d.ts.map +1 -0
  247. package/dist/hooks/use-mobile.js +3 -0
  248. package/dist/input-8jqdnUZl.js +18 -0
  249. package/dist/input-8jqdnUZl.js.map +1 -0
  250. package/dist/input-DwxhsFRP.d.ts +12 -0
  251. package/dist/input-DwxhsFRP.d.ts.map +1 -0
  252. package/dist/input-group-DqEkmpXW.js +81 -0
  253. package/dist/input-group-DqEkmpXW.js.map +1 -0
  254. package/dist/label-AaH9ZYCZ.js +16 -0
  255. package/dist/label-AaH9ZYCZ.js.map +1 -0
  256. package/dist/label-D5SCGMZl.d.ts +11 -0
  257. package/dist/label-D5SCGMZl.d.ts.map +1 -0
  258. package/dist/lib/utils.d.ts +7 -0
  259. package/dist/lib/utils.d.ts.map +1 -0
  260. package/dist/lib/utils.js +3 -0
  261. package/dist/popover-C9D43EuT.js +57 -0
  262. package/dist/popover-C9D43EuT.js.map +1 -0
  263. package/dist/providers/px-ui-provider.d.ts +36 -0
  264. package/dist/providers/px-ui-provider.d.ts.map +1 -0
  265. package/dist/providers/px-ui-provider.js +26 -0
  266. package/dist/providers/px-ui-provider.js.map +1 -0
  267. package/dist/separator-BS3ilczC.js +17 -0
  268. package/dist/separator-BS3ilczC.js.map +1 -0
  269. package/dist/separator-ct9ZvuTk.d.ts +12 -0
  270. package/dist/separator-ct9ZvuTk.d.ts.map +1 -0
  271. package/dist/sheet-CLjNDrfL.js +91 -0
  272. package/dist/sheet-CLjNDrfL.js.map +1 -0
  273. package/dist/skeleton-BcIxI5Wq.js +15 -0
  274. package/dist/skeleton-BcIxI5Wq.js.map +1 -0
  275. package/dist/spinner-Bo0sUZEg.js +17 -0
  276. package/dist/spinner-Bo0sUZEg.js.map +1 -0
  277. package/dist/styles.css +196 -0
  278. package/dist/textarea-Cq0o323P.js +16 -0
  279. package/dist/textarea-Cq0o323P.js.map +1 -0
  280. package/dist/toast-COWAQbIk.js +211 -0
  281. package/dist/toast-COWAQbIk.js.map +1 -0
  282. package/dist/toast-CXkP5Jwp.d.ts +74 -0
  283. package/dist/toast-CXkP5Jwp.d.ts.map +1 -0
  284. package/dist/toggle-BXBPgIQh.d.ts +19 -0
  285. package/dist/toggle-BXBPgIQh.d.ts.map +1 -0
  286. package/dist/toggle-DhJ_qwgw.js +38 -0
  287. package/dist/toggle-DhJ_qwgw.js.map +1 -0
  288. package/dist/tooltip-BWjVzK67.d.ts +26 -0
  289. package/dist/tooltip-BWjVzK67.d.ts.map +1 -0
  290. package/dist/tooltip-DkPxCJIL.js +43 -0
  291. package/dist/tooltip-DkPxCJIL.js.map +1 -0
  292. package/dist/use-async-options-DHR8q5qX.d.ts +45 -0
  293. package/dist/use-async-options-DHR8q5qX.d.ts.map +1 -0
  294. package/dist/use-async-options-wZ9LJ2BJ.js +46 -0
  295. package/dist/use-async-options-wZ9LJ2BJ.js.map +1 -0
  296. package/dist/use-debounce-_qaEZqtt.js +24 -0
  297. package/dist/use-debounce-_qaEZqtt.js.map +1 -0
  298. package/dist/{index.js → use-file-upload-Dxrej28u.js} +3 -204
  299. package/dist/use-file-upload-Dxrej28u.js.map +1 -0
  300. package/dist/use-file-upload-yy-xLBtn.d.ts +133 -0
  301. package/dist/use-file-upload-yy-xLBtn.d.ts.map +1 -0
  302. package/dist/use-infinite-scroll-CpbhGGT5.js +38 -0
  303. package/dist/use-infinite-scroll-CpbhGGT5.js.map +1 -0
  304. package/dist/use-intersection-observer-C2xDq2SW.d.ts +11 -0
  305. package/dist/use-intersection-observer-C2xDq2SW.d.ts.map +1 -0
  306. package/dist/use-intersection-observer-CZfnep4z.js +33 -0
  307. package/dist/use-intersection-observer-CZfnep4z.js.map +1 -0
  308. package/dist/use-mobile-l5ebOdQl.js +21 -0
  309. package/dist/use-mobile-l5ebOdQl.js.map +1 -0
  310. package/dist/utils-mWJR2N24.js +28 -0
  311. package/dist/utils-mWJR2N24.js.map +1 -0
  312. package/package.json +289 -26
  313. package/dist/index.css +0 -143
  314. package/dist/index.d.ts +0 -229
  315. package/dist/index.d.ts.map +0 -1
  316. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-CnpyzZ7B.js","names":["React","Combobox","ComboboxPrimitive","useInfiniteScroll"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\";\n\nimport { cn } from \"@px-ui/ui/lib/utils\";\nimport { Button } from \"@px-ui/ui/components/button\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@px-ui/ui/components/input-group\";\nimport { Spinner } from \"@px-ui/ui/components/spinner\";\nimport {\n useAsyncOptions,\n type LoadOptionsConfig,\n} from \"@px-ui/ui/hooks/use-async-options\";\nimport useInfiniteScroll from \"@px-ui/ui/hooks/use-infinite-scroll\";\nimport useDebounce from \"@px-ui/ui/hooks/use-debounce\";\nimport { ChevronDownIcon, XIcon, CheckIcon } from \"lucide-react\";\n\ntype ComboboxAsyncContextValue = {\n isAsync: boolean;\n isLoading: boolean;\n isLoadingMore: boolean;\n isError: boolean;\n hasMore: boolean;\n onLoadMore: () => void;\n};\n\nconst ComboboxAsyncContext = React.createContext<ComboboxAsyncContextValue>({\n isAsync: false,\n isLoading: false,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n});\n\nfunction useComboboxAsyncContext() {\n return React.useContext(ComboboxAsyncContext);\n}\n\nconst ComboboxListRefContext = React.createContext<HTMLElement | null>(null);\n\nconst ComboboxAnchorContext =\n React.createContext<React.MutableRefObject<HTMLElement | null> | null>(null);\n\nconst ComboboxInsidePopupContext = React.createContext(false);\n\nfunction useAttachComboboxAnchor<T extends HTMLElement>(\n userRef?: React.Ref<T> | null,\n) {\n const ctxRef = React.useContext(ComboboxAnchorContext);\n const insidePopup = React.useContext(ComboboxInsidePopupContext);\n return React.useCallback(\n (node: T | null) => {\n if (typeof userRef === \"function\") userRef(node);\n else if (userRef && typeof userRef === \"object\") {\n (userRef as React.MutableRefObject<T | null>).current = node;\n }\n if (ctxRef && !insidePopup) ctxRef.current = node;\n },\n [ctxRef, insidePopup, userRef],\n );\n}\n\nfunction normalizeInputValue(value: unknown) {\n return Array.isArray(value) ? value.join(\",\") : String(value ?? \"\");\n}\n\ntype ComboboxProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = ComboboxPrimitive.Root.Props<Value, Multiple> & {\n loadOptions?: LoadOptionsConfig<Value>;\n debounceMs?: number;\n isLoading?: boolean;\n};\n\nfunction Combobox<Value, Multiple extends boolean | undefined = false>({\n loadOptions,\n debounceMs,\n isLoading = false,\n ...props\n}: ComboboxProps<Value, Multiple>) {\n const anchorRef = React.useRef<HTMLElement | null>(null);\n const inner = loadOptions ? (\n <ComboboxAsyncRoot\n loadOptions={loadOptions}\n debounceMs={debounceMs}\n isLoading={isLoading}\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n />\n ) : (\n <ComboboxAsyncContext.Provider\n value={{\n isAsync: false,\n isLoading,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n }}\n >\n <ComboboxPrimitive.Root autoHighlight {...props} />\n </ComboboxAsyncContext.Provider>\n );\n return (\n <ComboboxAnchorContext.Provider value={anchorRef}>\n {inner}\n </ComboboxAnchorContext.Provider>\n );\n}\n\nfunction ComboboxAsyncRoot<\n Value,\n Multiple extends boolean | undefined = false,\n>({\n loadOptions,\n debounceMs = 500,\n open: openProp,\n inputValue: inputValueProp,\n defaultInputValue,\n onOpenChange,\n onInputValueChange,\n filter: _ignoredFilter,\n items: _ignoredItems,\n autoHighlight = \"always\",\n isLoading: isLoadingProp = false,\n children,\n ...props\n}: Omit<ComboboxPrimitive.Root.Props<Value, Multiple>, \"autoHighlight\"> & {\n loadOptions: LoadOptionsConfig<Value>;\n debounceMs?: number;\n autoHighlight?: boolean | \"always\";\n isLoading?: boolean;\n}) {\n const [internalOpen, setInternalOpen] = React.useState(false);\n const open = openProp ?? internalOpen;\n const handleOpenChange = (\n next: boolean,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (openProp === undefined) setInternalOpen(next);\n onOpenChange?.(next, eventDetails);\n };\n\n const initialSearchValue = normalizeInputValue(\n inputValueProp ?? defaultInputValue,\n );\n const [searchValue, setSearchValue] = React.useState(initialSearchValue);\n const [debouncedSearchValue, setDebouncedSearchValue] =\n React.useState(initialSearchValue);\n\n React.useEffect(() => {\n if (inputValueProp !== undefined) {\n setSearchValue(normalizeInputValue(inputValueProp));\n }\n }, [inputValueProp]);\n\n useDebounce(\n () => {\n setDebouncedSearchValue(searchValue);\n },\n debounceMs,\n [searchValue],\n );\n\n const handleInputValueChange = (\n val: string,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (eventDetails?.reason !== \"item-press\") {\n setSearchValue(val);\n }\n onInputValueChange?.(val, eventDetails);\n };\n\n const asyncState = useAsyncOptions<Value>(loadOptions, {\n isOpen: open,\n inputValue: debouncedSearchValue,\n });\n\n const contextValue = React.useMemo<ComboboxAsyncContextValue>(\n () => ({\n isAsync: true,\n isLoading: isLoadingProp || asyncState.isLoading,\n isLoadingMore: asyncState.isLoadingMore,\n isError: asyncState.isError,\n hasMore: !!asyncState.hasMore,\n onLoadMore: asyncState.onLoadMore,\n }),\n [\n isLoadingProp,\n asyncState.isLoading,\n asyncState.isLoadingMore,\n asyncState.isError,\n asyncState.hasMore,\n asyncState.onLoadMore,\n ],\n );\n\n return (\n <ComboboxAsyncContext.Provider value={contextValue}>\n <ComboboxPrimitive.Root\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n items={asyncState.items}\n filter={null}\n autoHighlight={autoHighlight as boolean}\n open={open}\n inputValue={inputValueProp}\n defaultInputValue={defaultInputValue}\n onOpenChange={handleOpenChange}\n onInputValueChange={handleInputValueChange}\n >\n {children}\n </ComboboxPrimitive.Root>\n </ComboboxAsyncContext.Provider>\n );\n}\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />;\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ref,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLElement>(\n ref as React.Ref<HTMLElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Trigger\n ref={attachAnchor}\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4\" />\n </ComboboxPrimitive.Trigger>\n );\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n );\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled,\n showTrigger = true,\n showClear = true,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean;\n showClear?: boolean;\n}) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>();\n return (\n <InputGroup ref={attachAnchor} className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={\n <InputGroupInput {...(disabled !== undefined ? { disabled } : {})} />\n }\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n render={<ComboboxTrigger />}\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n {...(disabled !== undefined ? { disabled } : {})}\n />\n )}\n {showClear && (\n <ComboboxClear {...(disabled !== undefined ? { disabled } : {})} />\n )}\n </InputGroupAddon>\n {children}\n </InputGroup>\n );\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n children,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n const ctxAnchor = React.useContext(ComboboxAnchorContext);\n const resolvedAnchor = anchor ?? ctxAnchor ?? undefined;\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={resolvedAnchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n className={cn(\n \"group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 relative overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none\",\n className,\n )}\n {...props}\n >\n <ComboboxInsidePopupContext.Provider value={true}>\n {children}\n </ComboboxInsidePopupContext.Provider>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n );\n}\n\nfunction ComboboxList({\n className,\n children,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.List>) {\n const { isAsync, hasMore } = useComboboxAsyncContext();\n const [listEl, setListEl] = React.useState<HTMLElement | null>(null);\n\n const handleListRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n setListEl(node);\n\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const resolvedChildren = React.useMemo(() => {\n if (isAsync && typeof children === \"function\") {\n return (\n <>\n <ComboboxPrimitive.Collection>\n {children}\n </ComboboxPrimitive.Collection>\n {hasMore ? <ComboboxLoadMoreSentinel /> : null}\n </>\n );\n }\n return children;\n }, [isAsync, hasMore, children]);\n\n return (\n <ComboboxListRefContext.Provider value={listEl}>\n <ComboboxPrimitive.List\n ref={handleListRef}\n data-slot=\"combobox-list\"\n className={cn(\n \"ppx-scrollbar data-empty:p-0 max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1\",\n className,\n )}\n {...props}\n >\n {resolvedChildren}\n </ComboboxPrimitive.List>\n </ComboboxListRefContext.Provider>\n );\n}\n\nfunction ComboboxLoadMoreSentinel() {\n const { isLoadingMore, hasMore, onLoadMore, isError } =\n useComboboxAsyncContext();\n const listEl = React.useContext(ComboboxListRefContext);\n const [ref] = useInfiniteScroll({\n isLoadingMore,\n hasMore,\n onLoadMore,\n disabled: isError,\n root: listEl,\n rootMargin: \"0px 0px 80px 0px\",\n });\n return (\n <ComboboxPrimitive.Status\n ref={ref}\n data-slot=\"combobox-load-more\"\n aria-label={isLoadingMore ? \"Loading more options\" : undefined}\n className=\"flex h-10 items-center justify-center\"\n >\n {isLoadingMore && <Spinner className=\"text-muted-foreground size-4\" />}\n </ComboboxPrimitive.Status>\n );\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"outline-hidden data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute end-2 flex size-4 items-center justify-center\" />\n }\n >\n <CheckIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n );\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n );\n}\n\nfunction ComboboxStatus({\n loading = \"Loading…\",\n error = \"Failed to load options\",\n empty = \"No options found\",\n className,\n ...props\n}: Omit<ComboboxPrimitive.Status.Props, \"children\"> & {\n loading?: React.ReactNode;\n error?: React.ReactNode;\n empty?: React.ReactNode;\n}) {\n const { isAsync, isLoading, isError } = useComboboxAsyncContext();\n\n if (isLoading || (isAsync && isError)) {\n return (\n <ComboboxPrimitive.Status\n data-slot=\"combobox-status\"\n className={cn(\n \"text-muted-foreground flex w-full items-center justify-center py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {isLoading ? loading : error}\n </ComboboxPrimitive.Status>\n );\n }\n\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n \"text-muted-foreground group-data-empty/combobox-content:flex hidden w-full justify-center py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {empty}\n </ComboboxPrimitive.Empty>\n );\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxChips({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>(\n ref as React.Ref<HTMLDivElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Chips\n ref={attachAnchor}\n data-slot=\"combobox-chips\"\n className={cn(\n \"border-input shadow-xs focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm transition-[color,box-shadow]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean;\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pe-0 flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 whitespace-nowrap rounded-sm px-1.5 text-xs font-medium\",\n className,\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ms-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n );\n}\n\nfunction ComboboxChipsInput({\n className,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\"min-w-16 flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null);\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxClear,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxStatus,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n};\n"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { r as LoadOptionsConfig } from "./use-async-options-DHR8q5qX.js";
2
+ import * as react_jsx_runtime112 from "react/jsx-runtime";
3
+ import * as React$1 from "react";
4
+ import { Combobox } from "@base-ui/react";
5
+
6
+ //#region src/components/combobox.d.ts
7
+ type ComboboxProps<Value, Multiple extends boolean | undefined = false> = Combobox.Root.Props<Value, Multiple> & {
8
+ loadOptions?: LoadOptionsConfig<Value>;
9
+ debounceMs?: number;
10
+ isLoading?: boolean;
11
+ };
12
+ declare function Combobox$1<Value, Multiple extends boolean | undefined = false>({
13
+ loadOptions,
14
+ debounceMs,
15
+ isLoading,
16
+ ...props
17
+ }: ComboboxProps<Value, Multiple>): react_jsx_runtime112.JSX.Element;
18
+ declare function ComboboxValue({
19
+ ...props
20
+ }: Combobox.Value.Props): react_jsx_runtime112.JSX.Element;
21
+ declare function ComboboxTrigger({
22
+ className,
23
+ children,
24
+ ref,
25
+ ...props
26
+ }: Combobox.Trigger.Props): react_jsx_runtime112.JSX.Element;
27
+ declare function ComboboxClear({
28
+ className,
29
+ ...props
30
+ }: Combobox.Clear.Props): react_jsx_runtime112.JSX.Element;
31
+ declare function ComboboxInput({
32
+ className,
33
+ children,
34
+ disabled,
35
+ showTrigger,
36
+ showClear,
37
+ ...props
38
+ }: Combobox.Input.Props & {
39
+ showTrigger?: boolean;
40
+ showClear?: boolean;
41
+ }): react_jsx_runtime112.JSX.Element;
42
+ declare function ComboboxContent({
43
+ className,
44
+ side,
45
+ sideOffset,
46
+ align,
47
+ alignOffset,
48
+ anchor,
49
+ children,
50
+ ...props
51
+ }: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime112.JSX.Element;
52
+ declare function ComboboxList({
53
+ className,
54
+ children,
55
+ ref,
56
+ ...props
57
+ }: React$1.ComponentPropsWithRef<typeof Combobox.List>): react_jsx_runtime112.JSX.Element;
58
+ declare function ComboboxItem({
59
+ className,
60
+ children,
61
+ ...props
62
+ }: Combobox.Item.Props): react_jsx_runtime112.JSX.Element;
63
+ declare function ComboboxGroup({
64
+ className,
65
+ ...props
66
+ }: Combobox.Group.Props): react_jsx_runtime112.JSX.Element;
67
+ declare function ComboboxLabel({
68
+ className,
69
+ ...props
70
+ }: Combobox.GroupLabel.Props): react_jsx_runtime112.JSX.Element;
71
+ declare function ComboboxCollection({
72
+ ...props
73
+ }: Combobox.Collection.Props): react_jsx_runtime112.JSX.Element;
74
+ declare function ComboboxStatus({
75
+ loading,
76
+ error,
77
+ empty,
78
+ className,
79
+ ...props
80
+ }: Omit<Combobox.Status.Props, "children"> & {
81
+ loading?: React$1.ReactNode;
82
+ error?: React$1.ReactNode;
83
+ empty?: React$1.ReactNode;
84
+ }): react_jsx_runtime112.JSX.Element;
85
+ declare function ComboboxSeparator({
86
+ className,
87
+ ...props
88
+ }: Combobox.Separator.Props): react_jsx_runtime112.JSX.Element;
89
+ declare function ComboboxChips({
90
+ className,
91
+ ref,
92
+ ...props
93
+ }: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props): react_jsx_runtime112.JSX.Element;
94
+ declare function ComboboxChip({
95
+ className,
96
+ children,
97
+ showRemove,
98
+ ...props
99
+ }: Combobox.Chip.Props & {
100
+ showRemove?: boolean;
101
+ }): react_jsx_runtime112.JSX.Element;
102
+ declare function ComboboxChipsInput({
103
+ className,
104
+ ...props
105
+ }: Combobox.Input.Props): react_jsx_runtime112.JSX.Element;
106
+ declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
107
+ //#endregion
108
+ export { useComboboxAnchor as _, ComboboxClear as a, ComboboxGroup as c, ComboboxLabel as d, ComboboxList as f, ComboboxValue as g, ComboboxTrigger as h, ComboboxChipsInput as i, ComboboxInput as l, ComboboxStatus as m, ComboboxChip as n, ComboboxCollection as o, ComboboxSeparator as p, ComboboxChips as r, ComboboxContent as s, Combobox$1 as t, ComboboxItem as u };
109
+ //# sourceMappingURL=combobox-JXY6PiDq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-JXY6PiDq.d.ts","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
2
+ import * as react_jsx_runtime296 from "react/jsx-runtime";
3
+
4
+ //#region src/components/accordion.d.ts
5
+ declare function Accordion({
6
+ className,
7
+ ...props
8
+ }: Accordion$1.Root.Props): react_jsx_runtime296.JSX.Element;
9
+ declare function AccordionItem({
10
+ className,
11
+ ...props
12
+ }: Accordion$1.Item.Props): react_jsx_runtime296.JSX.Element;
13
+ declare function AccordionTrigger({
14
+ className,
15
+ children,
16
+ ...props
17
+ }: Accordion$1.Trigger.Props): react_jsx_runtime296.JSX.Element;
18
+ declare function AccordionContent({
19
+ className,
20
+ children,
21
+ ...props
22
+ }: Accordion$1.Panel.Props): react_jsx_runtime296.JSX.Element;
23
+ //#endregion
24
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
25
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;iBAKS,SAAA;;;GAAmC,WAAA,CAAmB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUhE,aAAA;;;GAAuC,WAAA,CAAmB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUpE,gBAAA;;;;GAIN,WAAA,CAAmB,OAAA,CAAQ,QAAK,oBAAA,CAAA,GAAA,CAAA;AA7BuC,iBAgDjE,gBAAA,CA3CS;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+Cf,WAAA,CAAmB,KAAA,CAAM,KA/CV,CAAA,EA+Ce,oBAAA,CAAA,GAAA,CAAA,OA/Cf"}
@@ -0,0 +1,56 @@
1
+ import { t as cn } from "../utils-mWJR2N24.js";
2
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
3
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ //#region src/components/accordion.tsx
7
+ function Accordion({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(Accordion$1.Root, {
9
+ "data-slot": "accordion",
10
+ className: cn("flex w-full flex-col", className),
11
+ ...props
12
+ });
13
+ }
14
+ function AccordionItem({ className, ...props }) {
15
+ return /* @__PURE__ */ jsx(Accordion$1.Item, {
16
+ "data-slot": "accordion-item",
17
+ className: cn("not-last:border-b", className),
18
+ ...props
19
+ });
20
+ }
21
+ function AccordionTrigger({ className, children, ...props }) {
22
+ return /* @__PURE__ */ jsx(Accordion$1.Header, {
23
+ className: "flex",
24
+ children: /* @__PURE__ */ jsxs(Accordion$1.Trigger, {
25
+ "data-slot": "accordion-trigger",
26
+ className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-start text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className),
27
+ ...props,
28
+ children: [
29
+ children,
30
+ /* @__PURE__ */ jsx(ChevronDownIcon, {
31
+ "data-slot": "accordion-trigger-icon",
32
+ className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
33
+ }),
34
+ /* @__PURE__ */ jsx(ChevronUpIcon, {
35
+ "data-slot": "accordion-trigger-icon",
36
+ className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
37
+ })
38
+ ]
39
+ })
40
+ });
41
+ }
42
+ function AccordionContent({ className, children, ...props }) {
43
+ return /* @__PURE__ */ jsx(Accordion$1.Panel, {
44
+ "data-slot": "accordion-content",
45
+ className: "overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",
46
+ ...props,
47
+ children: /* @__PURE__ */ jsx("div", {
48
+ className: cn("h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
49
+ children
50
+ })
51
+ });
52
+ }
53
+
54
+ //#endregion
55
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
56
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","names":["AccordionPrimitive"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["import { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\n return (\n <AccordionPrimitive.Root\n data-slot=\"accordion\"\n className={cn(\"flex w-full flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"not-last:border-b\", className)}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: AccordionPrimitive.Trigger.Props) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-md border border-transparent py-4 text-start text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden\" />\n <ChevronUpIcon data-slot=\"accordion-trigger-icon\" className=\"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: AccordionPrimitive.Panel.Props) {\n return (\n <AccordionPrimitive.Panel\n data-slot=\"accordion-content\"\n className=\"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up\"\n {...props}\n >\n <div\n className={cn(\n \"h-(--accordion-panel-height) pt-0 pb-4 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n >\n {children}\n </div>\n </AccordionPrimitive.Panel>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"],"mappings":";;;;;;AAKA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAwC;AACzE,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAW,GAAG,wBAAwB,UAAU;EAChD,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAwC;AAC7E,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAW,GAAG,qBAAqB,UAAU;EAC7C,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACgC;AACnC,QACE,oBAACA,YAAmB;EAAO,WAAU;YACnC,qBAACA,YAAmB;GAClB,aAAU;GACV,WAAW,GACT,6fACA,UACD;GACD,GAAI;;IAEH;IACD,oBAAC;KAAgB,aAAU;KAAyB,WAAU;MAA8E;IAC5I,oBAAC;KAAc,aAAU;KAAyB,WAAU;MAAqF;;IACtH;GACH;;AAIhC,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SAC8B;AACjC,QACE,oBAACA,YAAmB;EAClB,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC;GACC,WAAW,GACT,yLACA,UACD;GAEA;IACG;GACmB"}
@@ -0,0 +1,59 @@
1
+ import { t as Button } from "../button-BiiFfKiR.js";
2
+ import * as react_jsx_runtime284 from "react/jsx-runtime";
3
+ import * as React$1 from "react";
4
+ import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
5
+
6
+ //#region src/components/alert-dialog.d.ts
7
+ declare function AlertDialog({
8
+ ...props
9
+ }: AlertDialog$1.Root.Props): react_jsx_runtime284.JSX.Element;
10
+ declare function AlertDialogTrigger({
11
+ ...props
12
+ }: AlertDialog$1.Trigger.Props): react_jsx_runtime284.JSX.Element;
13
+ declare function AlertDialogPortal({
14
+ ...props
15
+ }: AlertDialog$1.Portal.Props): react_jsx_runtime284.JSX.Element;
16
+ declare function AlertDialogOverlay({
17
+ className,
18
+ ...props
19
+ }: AlertDialog$1.Backdrop.Props): react_jsx_runtime284.JSX.Element;
20
+ declare function AlertDialogContent({
21
+ className,
22
+ size,
23
+ ...props
24
+ }: AlertDialog$1.Popup.Props & {
25
+ size?: "default" | "sm";
26
+ }): react_jsx_runtime284.JSX.Element;
27
+ declare function AlertDialogHeader({
28
+ className,
29
+ ...props
30
+ }: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
31
+ declare function AlertDialogFooter({
32
+ className,
33
+ ...props
34
+ }: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
35
+ declare function AlertDialogMedia({
36
+ className,
37
+ ...props
38
+ }: React$1.ComponentProps<"div">): react_jsx_runtime284.JSX.Element;
39
+ declare function AlertDialogTitle({
40
+ className,
41
+ ...props
42
+ }: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime284.JSX.Element;
43
+ declare function AlertDialogDescription({
44
+ className,
45
+ ...props
46
+ }: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime284.JSX.Element;
47
+ declare function AlertDialogAction({
48
+ className,
49
+ ...props
50
+ }: React$1.ComponentProps<typeof Button>): react_jsx_runtime284.JSX.Element;
51
+ declare function AlertDialogCancel({
52
+ className,
53
+ variant,
54
+ size,
55
+ ...props
56
+ }: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime284.JSX.Element;
57
+ //#endregion
58
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
59
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","names":[],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,WAAA;;GAA0B,aAAA,CAAqB,IAAA,CAAK,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAIzD,kBAAA;;GAAiC,aAAA,CAAqB,OAAA,CAAQ,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAMnE,iBAAA;;GAAgC,aAAA,CAAqB,MAAA,CAAO,QAAK,oBAAA,CAAA,GAAA,CAAA;AAZtB,iBAkB3C,kBAAA,CAhB0B;EAAA,SAAqB;EAAA,GAAK;AAAK,CAAA,EAmB/D,aAAA,CAAqB,QAAA,CAAS,KAnBiC,CAAA,EAmB5B,oBAAA,CAAA,GAAA,CAAA,OAnB4B;AAAA,iBAgCzD,kBAAA,CA5BkB;EAAe,SAAA;EAAA,IAAqB;EAAA,GAAA;AAMW,CANH,EAgCpE,aAAA,CAAqB,KAAA,CAAM,KAhC8C,GAAA;EAMnE,IAAA,CAAA,EAAA,SAAA,GAAA,IAAiB;AAAgD,CAAA,CAAA,EA4BzE,oBAAA,CAAA,GAAA,CAAA,OAtB0B;iBAuClB,iBAAA,CAtCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCC,OAAA,CAAM,cAzCP,CAAA,KAAA,CAAA,CAAA,EAyC4B,oBAAA,CAAA,GAAA,CAAA,OAzC5B;iBAsDO,iBAAA,CApDwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuD9B,OAAA,CAAM,cAvDwB,CAAA,KAAA,CAAA,CAAA,EAuDH,oBAAA,CAAA,GAAA,CAAA,OAvDG;iBAoExB,gBAAA,CApE6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuEnC,OAAA,CAAM,cAvE6B,CAAA,KAAA,CAAA,CAAA,EAuER,oBAAA,CAAA,GAAA,CAAA,OAvEQ;iBAoF7B,gBAAA,CApF6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuFnC,OAAA,CAAM,cAvF6B,CAAA,OAuFP,aAAA,CAAqB,KAvFd,CAAA,CAAA,EAuFoB,oBAAA,CAAA,GAAA,CAAA,OAvFpB;AAAA,iBAoG7B,sBAAA,CAvFkB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0FxB,OAAA,CAAM,cA1FkB,CAAA,OA0FI,aAAA,CAAqB,WA1FzB,CAAA,CAAA,EA0FqC,oBAAA,CAAA,GAAA,CAAA,OA1FrC;iBAuGlB,iBAAA,CAtGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGC,OAAA,CAAM,cAzGP,CAAA,OAyG6B,MAzG7B,CAAA,CAAA,EAyGoC,oBAAA,CAAA,GAAA,CAAA,OAzGpC;iBAmHO,iBAAA,CAlHP;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAuHC,aAAA,CAAqB,KAAA,CAAM,KAvH5B,GAwHA,IAxHA,CAwHK,OAAA,CAAM,cAxHX,CAAA,OAwHiC,MAxHjC,CAAA,EAAA,SAAA,GAAA,MAAA,CAAA,CAAA,EAwH6D,oBAAA,CAAA,GAAA,CAAA,OAxH7D"}
@@ -0,0 +1,99 @@
1
+ "use client";
2
+
3
+ import { t as cn } from "../utils-mWJR2N24.js";
4
+ import { t as Button } from "../button-hBUFMmsZ.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import "react";
7
+ import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
8
+
9
+ //#region src/components/alert-dialog.tsx
10
+ function AlertDialog({ ...props }) {
11
+ return /* @__PURE__ */ jsx(AlertDialog$1.Root, {
12
+ "data-slot": "alert-dialog",
13
+ ...props
14
+ });
15
+ }
16
+ function AlertDialogTrigger({ ...props }) {
17
+ return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, {
18
+ "data-slot": "alert-dialog-trigger",
19
+ ...props
20
+ });
21
+ }
22
+ function AlertDialogPortal({ ...props }) {
23
+ return /* @__PURE__ */ jsx(AlertDialog$1.Portal, {
24
+ "data-slot": "alert-dialog-portal",
25
+ ...props
26
+ });
27
+ }
28
+ function AlertDialogOverlay({ className, ...props }) {
29
+ return /* @__PURE__ */ jsx(AlertDialog$1.Backdrop, {
30
+ "data-slot": "alert-dialog-overlay",
31
+ className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
32
+ ...props
33
+ });
34
+ }
35
+ function AlertDialogContent({ className, size = "default", ...props }) {
36
+ return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [/* @__PURE__ */ jsx(AlertDialogOverlay, {}), /* @__PURE__ */ jsx(AlertDialog$1.Popup, {
37
+ "data-slot": "alert-dialog-content",
38
+ "data-size": size,
39
+ className: cn("group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
40
+ ...props
41
+ })] });
42
+ }
43
+ function AlertDialogHeader({ className, ...props }) {
44
+ return /* @__PURE__ */ jsx("div", {
45
+ "data-slot": "alert-dialog-header",
46
+ className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
47
+ ...props
48
+ });
49
+ }
50
+ function AlertDialogFooter({ className, ...props }) {
51
+ return /* @__PURE__ */ jsx("div", {
52
+ "data-slot": "alert-dialog-footer",
53
+ className: cn("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 ppx-sm:flex-row ppx-sm:justify-end", className),
54
+ ...props
55
+ });
56
+ }
57
+ function AlertDialogMedia({ className, ...props }) {
58
+ return /* @__PURE__ */ jsx("div", {
59
+ "data-slot": "alert-dialog-media",
60
+ className: cn("mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted ppx-sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className),
61
+ ...props
62
+ });
63
+ }
64
+ function AlertDialogTitle({ className, ...props }) {
65
+ return /* @__PURE__ */ jsx(AlertDialog$1.Title, {
66
+ "data-slot": "alert-dialog-title",
67
+ className: cn("font-heading text-lg font-medium ppx-sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
68
+ ...props
69
+ });
70
+ }
71
+ function AlertDialogDescription({ className, ...props }) {
72
+ return /* @__PURE__ */ jsx(AlertDialog$1.Description, {
73
+ "data-slot": "alert-dialog-description",
74
+ className: cn("text-sm text-balance text-muted-foreground ppx-md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
75
+ ...props
76
+ });
77
+ }
78
+ function AlertDialogAction({ className, ...props }) {
79
+ return /* @__PURE__ */ jsx(Button, {
80
+ "data-slot": "alert-dialog-action",
81
+ className: cn(className),
82
+ ...props
83
+ });
84
+ }
85
+ function AlertDialogCancel({ className, variant = "outline", size = "default", ...props }) {
86
+ return /* @__PURE__ */ jsx(AlertDialog$1.Close, {
87
+ "data-slot": "alert-dialog-cancel",
88
+ className: cn(className),
89
+ render: /* @__PURE__ */ jsx(Button, {
90
+ variant,
91
+ size
92
+ }),
93
+ ...props
94
+ });
95
+ }
96
+
97
+ //#endregion
98
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
99
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Button } from \"@px-ui/ui/components/button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 ppx-sm:flex-row ppx-sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted ppx-sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-lg font-medium ppx-sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground ppx-md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n"],"mappings":";;;;;;;;;AAQA,SAAS,YAAY,EAAE,GAAG,SAA0C;AAClE,QAAO,oBAACA,cAAqB;EAAK,aAAU;EAAe,GAAI;GAAS;;AAG1E,SAAS,mBAAmB,EAAE,GAAG,SAA6C;AAC5E,QACE,oBAACA,cAAqB;EAAQ,aAAU;EAAuB,GAAI;GAAS;;AAIhF,SAAS,kBAAkB,EAAE,GAAG,SAA4C;AAC1E,QACE,oBAACA,cAAqB;EAAO,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACmC;AACtC,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,yLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAGF;AACD,QACE,qBAAC,gCACC,oBAAC,uBAAqB,EACtB,oBAACA,cAAqB;EACpB,aAAU;EACV,aAAW;EACX,WAAW,GACT,ucACA,UACD;EACD,GAAI;GACJ,IACgB;;AAIxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,maACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,oKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,sIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACmC;AACtC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,OAAO,WACP,GAAG,SAE4D;AAC/D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,QAAQ,oBAAC;GAAgB;GAAe;IAAQ;EAChD,GAAI;GACJ"}
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as React$1 from "react";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
+
6
+ //#region src/components/alert.d.ts
7
+ declare const alertVariants: (props?: ({
8
+ variant?: "default" | "destructive" | "warning" | null | undefined;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
+ declare function Alert({
11
+ className,
12
+ variant,
13
+ ...props
14
+ }: React$1.ComponentProps<"div"> & VariantProps<typeof alertVariants>): react_jsx_runtime0.JSX.Element;
15
+ declare function AlertTitle({
16
+ className,
17
+ ...props
18
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
19
+ declare function AlertDescription({
20
+ className,
21
+ ...props
22
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
23
+ declare function AlertAction({
24
+ className,
25
+ ...props
26
+ }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
27
+ //#endregion
28
+ export { Alert, AlertAction, AlertDescription, AlertTitle };
29
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;IAgBL,+BAAA,CAAA;iBAEQ,KAAA;;;;GAIN,OAAA,CAAM,wBAAwB,oBAAoB,iBAAc,kBAAA,CAAA,GAAA,CAAA;AA1BF,iBAqCxD,UAAA,CAjBR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiB4C,OAAA,CAAM,cAjBlD,CAAA,KAAA,CAAA,CAAA,EAiBuE,kBAAA,CAAA,GAAA,CAAA,OAjBvE;iBA8BQ,gBAAA,CA5BK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+BX,OAAA,CAAM,cA/BK,CAAA,KAAA,CAAA,CAAA,EA+BgB,kBAAA,CAAA,GAAA,CAAA,OA/BhB;iBA4CL,WAAA,CA3CP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2C4C,OAAA,CAAM,cA3ClD,CAAA,KAAA,CAAA,CAAA,EA2CuE,kBAAA,CAAA,GAAA,CAAA,OA3CvE"}
@@ -0,0 +1,47 @@
1
+ import { t as cn } from "../utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
+ import { cva } from "class-variance-authority";
5
+
6
+ //#region src/components/alert.tsx
7
+ const alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
8
+ variants: { variant: {
9
+ default: "bg-card text-card-foreground",
10
+ destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current",
11
+ warning: "bg-card text-warning *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current"
12
+ } },
13
+ defaultVariants: { variant: "default" }
14
+ });
15
+ function Alert({ className, variant, ...props }) {
16
+ return /* @__PURE__ */ jsx("div", {
17
+ "data-slot": "alert",
18
+ role: "alert",
19
+ className: cn(alertVariants({ variant }), className),
20
+ ...props
21
+ });
22
+ }
23
+ function AlertTitle({ className, ...props }) {
24
+ return /* @__PURE__ */ jsx("div", {
25
+ "data-slot": "alert-title",
26
+ className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
27
+ ...props
28
+ });
29
+ }
30
+ function AlertDescription({ className, ...props }) {
31
+ return /* @__PURE__ */ jsx("div", {
32
+ "data-slot": "alert-description",
33
+ className: cn("text-sm text-balance text-muted-foreground ppx-md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
34
+ ...props
35
+ });
36
+ }
37
+ function AlertAction({ className, ...props }) {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ "data-slot": "alert-action",
40
+ className: cn("absolute top-2.5 end-3", className),
41
+ ...props
42
+ });
43
+ }
44
+
45
+ //#endregion
46
+ export { Alert, AlertAction, AlertDescription, AlertTitle };
47
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../src/components/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pe-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current\",\n warning:\n \"bg-card text-warning *:data-[slot=alert-description]:text-warning/90 *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground ppx-md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2.5 end-3\", className)}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n"],"mappings":";;;;;;AAKA,MAAM,gBAAgB,IACpB,8TACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACF,SACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uHACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;GACJ"}
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+
3
+ //#region src/components/aspect-ratio.d.ts
4
+ declare function AspectRatio({
5
+ ratio,
6
+ className,
7
+ ...props
8
+ }: React.ComponentProps<"div"> & {
9
+ ratio: number;
10
+ }): react_jsx_runtime4.JSX.Element;
11
+ //#endregion
12
+ export { AspectRatio };
13
+ //# sourceMappingURL=aspect-ratio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.d.ts","names":[],"sources":["../../src/components/aspect-ratio.tsx"],"sourcesContent":[],"mappings":";;;iBAES,WAAA;;;;GAIN,KAAA,CAAM;;IAAyC,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { t as cn } from "../utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+
4
+ //#region src/components/aspect-ratio.tsx
5
+ function AspectRatio({ ratio, className, ...props }) {
6
+ return /* @__PURE__ */ jsx("div", {
7
+ "data-slot": "aspect-ratio",
8
+ style: { "--ratio": ratio },
9
+ className: cn("relative aspect-(--ratio)", className),
10
+ ...props
11
+ });
12
+ }
13
+
14
+ //#endregion
15
+ export { AspectRatio };
16
+ //# sourceMappingURL=aspect-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aspect-ratio.js","names":[],"sources":["../../src/components/aspect-ratio.tsx"],"sourcesContent":["import { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction AspectRatio({\n ratio,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & { ratio: number }) {\n return (\n <div\n data-slot=\"aspect-ratio\"\n style={\n {\n \"--ratio\": ratio,\n } as React.CSSProperties\n }\n className={cn(\"relative aspect-(--ratio)\", className)}\n {...props}\n />\n )\n}\n\nexport { AspectRatio }\n"],"mappings":";;;;AAEA,SAAS,YAAY,EACnB,OACA,WACA,GAAG,SAC+C;AAClD,QACE,oBAAC;EACC,aAAU;EACV,OACE,EACE,WAAW,OACZ;EAEH,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ"}
@@ -0,0 +1,30 @@
1
+ import { o as AvatarProps } from "../avatar-BAkmIOVe.js";
2
+ import * as react_jsx_runtime9 from "react/jsx-runtime";
3
+ import * as React$1 from "react";
4
+
5
+ //#region src/components/avatar-group.d.ts
6
+ type AvatarItem = {
7
+ src?: string | null;
8
+ alt?: string;
9
+ name?: string | null;
10
+ size?: AvatarProps["size"];
11
+ tooltip?: AvatarProps["tooltip"];
12
+ className?: string;
13
+ };
14
+ type AvatarGroupProps = Omit<React$1.ComponentProps<"div">, "children"> & {
15
+ avatars: AvatarItem[];
16
+ max?: number;
17
+ };
18
+ declare function AvatarGroup({
19
+ avatars,
20
+ max,
21
+ className,
22
+ ...props
23
+ }: AvatarGroupProps): react_jsx_runtime9.JSX.Element;
24
+ declare function AvatarGroupCount({
25
+ className,
26
+ ...props
27
+ }: React$1.ComponentProps<"div">): react_jsx_runtime9.JSX.Element;
28
+ //#endregion
29
+ export { AvatarGroup, AvatarGroupCount, type AvatarGroupProps, type AvatarItem };
30
+ //# sourceMappingURL=avatar-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-group.d.ts","names":[],"sources":["../../src/components/avatar-group.tsx"],"sourcesContent":[],"mappings":";;;;;KAYK,UAAA;;;EAAA,IAAA,CAAA,EAAA,MAAU,GAAA,IAAA;EASV,IAAA,CAAA,EALI,WAKJ,CAAgB,MAAA,CAAA;EAAQ,OAAM,CAAA,EAJvB,WAIuB,CAAA,SAAA,CAAA;EAAX,SAAA,CAAA,EAAA,MAAA;CACb;KADN,gBAAA,GAAmB,IACH,CADQ,OAAA,CAAM,cACd,CAAA,KAAA,CAAA,EAAA,UAAA,CAAA,GAAA;EAIZ,OAAA,EAJE,UAIS,EAAA;EAAG,GAAA,CAAA,EAAA,MAAA;CAAS;iBAAvB,WAAA,CAA4B;EAAA,OAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAAuB,gBAAvB,CAAA,EAAuC,kBAAA,CAAA,GAAA,CAAA,OAAvC;iBA4E5B,gBAAA,CA5EmD;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+EzD,OAAA,CAAM,cA/EmD,CAAA,KAAA,CAAA,CAAA,EA+E9B,kBAAA,CAAA,GAAA,CAAA,OA/E8B"}