@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,81 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { t as Button } from "./button-hBUFMmsZ.js";
3
+ import { t as Input } from "./input-8jqdnUZl.js";
4
+ import { t as Textarea } from "./textarea-Cq0o323P.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import "react";
7
+ import { cva } from "class-variance-authority";
8
+
9
+ //#region src/components/input-group.tsx
10
+ function InputGroup({ className, ...props }) {
11
+ return /* @__PURE__ */ jsx("div", {
12
+ "data-slot": "input-group",
13
+ role: "group",
14
+ className: cn("group/input-group border-input shadow-xs in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 relative flex h-9 w-full min-w-0 items-center rounded-md border outline-none transition-[color,box-shadow] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5", className),
15
+ ...props
16
+ });
17
+ }
18
+ const inputGroupAddonVariants = cva("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", {
19
+ variants: { align: {
20
+ "inline-start": "order-first ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem]",
21
+ "inline-end": "order-last pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem]",
22
+ "block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
23
+ "block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
24
+ } },
25
+ defaultVariants: { align: "inline-start" }
26
+ });
27
+ function InputGroupAddon({ className, align = "inline-start", ...props }) {
28
+ return /* @__PURE__ */ jsx("div", {
29
+ role: "group",
30
+ "data-slot": "input-group-addon",
31
+ "data-align": align,
32
+ className: cn(inputGroupAddonVariants({ align }), className),
33
+ onClick: (e) => {
34
+ if (e.target.closest("button")) return;
35
+ e.currentTarget.parentElement?.querySelector("input")?.focus();
36
+ },
37
+ ...props
38
+ });
39
+ }
40
+ const inputGroupButtonVariants = cva("flex items-center gap-2 text-sm shadow-none", {
41
+ variants: { size: {
42
+ xs: "h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
43
+ sm: "",
44
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
45
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
46
+ } },
47
+ defaultVariants: { size: "xs" }
48
+ });
49
+ function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
50
+ return /* @__PURE__ */ jsx(Button, {
51
+ type,
52
+ "data-size": size,
53
+ variant,
54
+ className: cn(inputGroupButtonVariants({ size }), className),
55
+ ...props
56
+ });
57
+ }
58
+ function InputGroupText({ className, ...props }) {
59
+ return /* @__PURE__ */ jsx("span", {
60
+ className: cn("text-muted-foreground flex items-center gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", className),
61
+ ...props
62
+ });
63
+ }
64
+ function InputGroupInput({ className, ...props }) {
65
+ return /* @__PURE__ */ jsx(Input, {
66
+ "data-slot": "input-group-control",
67
+ className: cn("aria-invalid:ring-0 flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 dark:bg-transparent", className),
68
+ ...props
69
+ });
70
+ }
71
+ function InputGroupTextarea({ className, ...props }) {
72
+ return /* @__PURE__ */ jsx(Textarea, {
73
+ "data-slot": "input-group-control",
74
+ className: cn("aria-invalid:ring-0 flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 dark:bg-transparent", className),
75
+ ...props
76
+ });
77
+ }
78
+
79
+ //#endregion
80
+ export { InputGroupText as a, InputGroupInput as i, InputGroupAddon as n, InputGroupTextarea as o, InputGroupButton as r, InputGroup as t };
81
+ //# sourceMappingURL=input-group-DqEkmpXW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group-DqEkmpXW.js","names":[],"sources":["../src/components/input-group.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@px-ui/ui/lib/utils\";\nimport { Button } from \"@px-ui/ui/components/button\";\nimport { Input } from \"@px-ui/ui/components/input\";\nimport { Textarea } from \"@px-ui/ui/components/textarea\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group border-input shadow-xs in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 relative flex h-9 w-full min-w-0 items-center rounded-md border outline-none transition-[color,box-shadow] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first ps-2 has-[>button]:-ms-1 has-[>kbd]:ms-[-0.15rem]\",\n \"inline-end\":\n \"order-last pe-2 has-[>button]:-me-1 has-[>kbd]:me-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n },\n);\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\"> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\";\n }) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"aria-invalid:ring-0 flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"aria-invalid:ring-0 flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;AAUA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GACT,giCACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,0BAA0B,IAC9B,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;EACH,EACF;CACD,iBAAiB,EACf,OAAO,gBACR;CACF,CACF;AAED,SAAS,gBAAgB,EACvB,WACA,QAAQ,gBACR,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,wBAAwB,EAAE,OAAO,CAAC,EAAE,UAAU;EAC5D,UAAU,MAAM;AACd,OAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAEF,KAAE,cAAc,eAAe,cAAc,QAAQ,EAAE,OAAO;;EAEhE,GAAI;GACJ;;AAIN,MAAM,2BAA2B,IAC/B,+CACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,WACE;EACF,WAAW;EACZ,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CACF;AAED,SAAS,iBAAiB,EACxB,WACA,OAAO,UACP,UAAU,SACV,OAAO,MACP,GAAG,SAIA;AACH,QACE,oBAAC;EACO;EACN,aAAW;EACF;EACT,WAAW,GAAG,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,WAAW,GACT,0HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,WACA,GAAG,SAC6B;AAChC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,+HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACgC;AACnC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gJACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,16 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
+
5
+ //#region src/components/label.tsx
6
+ function Label({ className, ...props }) {
7
+ return /* @__PURE__ */ jsx("label", {
8
+ "data-slot": "label",
9
+ className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
10
+ ...props
11
+ });
12
+ }
13
+
14
+ //#endregion
15
+ export { Label as t };
16
+ //# sourceMappingURL=label-AaH9ZYCZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-AaH9ZYCZ.js","names":[],"sources":["../src/components/label.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction Label({ className, ...props }: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"],"mappings":";;;;;AAMA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAwC;AACrE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uNACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,11 @@
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
+ import * as React$1 from "react";
3
+
4
+ //#region src/components/label.d.ts
5
+ declare function Label({
6
+ className,
7
+ ...props
8
+ }: React$1.ComponentProps<"label">): react_jsx_runtime3.JSX.Element;
9
+ //#endregion
10
+ export { Label as t };
11
+ //# sourceMappingURL=label-D5SCGMZl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-D5SCGMZl.d.ts","names":[],"sources":["../src/components/label.tsx"],"sourcesContent":[],"mappings":";;;;iBAMS,KAAA;;;GAA+B,OAAA,CAAM,0BAAuB,kBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ClassValue } from "clsx";
2
+
3
+ //#region src/lib/utils.d.ts
4
+ declare function cn(...inputs: ClassValue[]): string;
5
+ //#endregion
6
+ export { cn };
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":[],"mappings":";;;iBAiCgB,EAAA,YAAc"}
@@ -0,0 +1,3 @@
1
+ import { t as cn } from "../utils-mWJR2N24.js";
2
+
3
+ export { cn };
@@ -0,0 +1,57 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import "react";
4
+ import { Popover } from "@base-ui/react/popover";
5
+
6
+ //#region src/components/popover.tsx
7
+ function Popover$1({ ...props }) {
8
+ return /* @__PURE__ */ jsx(Popover.Root, {
9
+ "data-slot": "popover",
10
+ ...props
11
+ });
12
+ }
13
+ function PopoverTrigger({ ...props }) {
14
+ return /* @__PURE__ */ jsx(Popover.Trigger, {
15
+ "data-slot": "popover-trigger",
16
+ ...props
17
+ });
18
+ }
19
+ function PopoverContent({ className, align = "center", alignOffset = 0, side = "bottom", sideOffset = 4, ...props }) {
20
+ return /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Positioner, {
21
+ align,
22
+ alignOffset,
23
+ side,
24
+ sideOffset,
25
+ className: "isolate z-50",
26
+ children: /* @__PURE__ */ jsx(Popover.Popup, {
27
+ "data-slot": "popover-content",
28
+ className: cn("z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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-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),
29
+ ...props
30
+ })
31
+ }) });
32
+ }
33
+ function PopoverHeader({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx("div", {
35
+ "data-slot": "popover-header",
36
+ className: cn("flex flex-col gap-1 text-sm", className),
37
+ ...props
38
+ });
39
+ }
40
+ function PopoverTitle({ className, ...props }) {
41
+ return /* @__PURE__ */ jsx(Popover.Title, {
42
+ "data-slot": "popover-title",
43
+ className: cn("font-medium", className),
44
+ ...props
45
+ });
46
+ }
47
+ function PopoverDescription({ className, ...props }) {
48
+ return /* @__PURE__ */ jsx(Popover.Description, {
49
+ "data-slot": "popover-description",
50
+ className: cn("text-muted-foreground", className),
51
+ ...props
52
+ });
53
+ }
54
+
55
+ //#endregion
56
+ export { PopoverTitle as a, PopoverHeader as i, PopoverContent as n, PopoverTrigger as o, PopoverDescription as r, Popover$1 as t };
57
+ //# sourceMappingURL=popover-C9D43EuT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-C9D43EuT.js","names":["Popover","PopoverPrimitive"],"sources":["../src/components/popover.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n \"z-50 flex w-72 origin-(--transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 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-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 </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col gap-1 text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n"],"mappings":";;;;;;AAKA,SAASA,UAAQ,EAAE,GAAG,SAAsC;AAC1D,QAAO,oBAACC,QAAiB;EAAK,aAAU;EAAU,GAAI;GAAS;;AAGjE,SAAS,eAAe,EAAE,GAAG,SAAyC;AACpE,QAAO,oBAACA,QAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,cAAc,GACd,OAAO,UACP,aAAa,GACb,GAAG,SAKA;AACH,QACE,oBAACA,QAAiB,oBAChB,oBAACA,QAAiB;EACT;EACM;EACP;EACM;EACZ,WAAU;YAEV,oBAACA,QAAiB;GAChB,aAAU;GACV,WAAW,GACT,kjBACA,UACD;GACD,GAAI;IACJ;GAC0B,GACN;;AAI9B,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAuC;AAC3E,QACE,oBAACA,QAAiB;EAChB,aAAU;EACV,WAAW,GAAG,eAAe,UAAU;EACvC,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACkC;AACrC,QACE,oBAACA,QAAiB;EAChB,aAAU;EACV,WAAW,GAAG,yBAAyB,UAAU;EACjD,GAAI;GACJ"}
@@ -0,0 +1,36 @@
1
+ import { r as TooltipProvider } from "../tooltip-BWjVzK67.js";
2
+ import { n as AnchoredToaster, o as ToasterProps } from "../toast-CXkP5Jwp.js";
3
+ import * as react_jsx_runtime270 from "react/jsx-runtime";
4
+ import * as React$1 from "react";
5
+
6
+ //#region src/providers/px-ui-provider.d.ts
7
+ type Direction = "ltr" | "rtl";
8
+ type PXUIProviderProps = React$1.PropsWithChildren<{
9
+ /**
10
+ * Text direction for Base UI primitives inside px-ui components.
11
+ * @default "ltr"
12
+ */
13
+ direction?: Direction;
14
+ /**
15
+ * Props forwarded to the global tooltip provider.
16
+ */
17
+ tooltip?: React$1.ComponentProps<typeof TooltipProvider>;
18
+ /**
19
+ * Props forwarded to the screen-corner toaster.
20
+ */
21
+ toaster?: ToasterProps;
22
+ /**
23
+ * Props forwarded to the anchored toaster host.
24
+ */
25
+ anchoredToaster?: React$1.ComponentProps<typeof AnchoredToaster>;
26
+ }>;
27
+ declare function PXUIProvider({
28
+ children,
29
+ direction,
30
+ tooltip,
31
+ toaster,
32
+ anchoredToaster
33
+ }: PXUIProviderProps): react_jsx_runtime270.JSX.Element;
34
+ //#endregion
35
+ export { PXUIProvider, type PXUIProviderProps };
36
+ //# sourceMappingURL=px-ui-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"px-ui-provider.d.ts","names":[],"sources":["../../src/providers/px-ui-provider.tsx"],"sourcesContent":[],"mappings":";;;;;;KAYK,SAAA;KAEA,iBAAA,GAAoB,OAAA,CAAM;;AAJyB;AAE1C;;EAW0B,SAAA,CAAA,EAJ1B,SAI0B;EAA5B;;;EAQQ,OAAM,CAAA,EARd,OAAA,CAAM,cAQQ,CAAA,OARc,eAQd,CAAA;EAjBD;;AAAuB;EAqB9C,OAAA,CAAA,EARU,YAQV;EACA;;;EAGA,eAAA,CAAA,EARkB,OAAA,CAAM,cAQxB,CAAA,OAR8C,eAQ9C,CAAA;CACC,CAAA;iBANM,YAAA,CAMW;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EAAjB,iBAAiB,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ import "../utils-mWJR2N24.js";
4
+ import { r as TooltipProvider } from "../tooltip-DkPxCJIL.js";
5
+ import { t as DirectionProvider } from "../direction-BKSh6e6q.js";
6
+ import { n as Toaster, t as AnchoredToaster } from "../toast-COWAQbIk.js";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/providers/px-ui-provider.tsx
10
+ function PXUIProvider({ children, direction = "ltr", tooltip, toaster, anchoredToaster }) {
11
+ return /* @__PURE__ */ jsx(DirectionProvider, {
12
+ direction,
13
+ children: /* @__PURE__ */ jsxs(TooltipProvider, {
14
+ ...tooltip,
15
+ children: [
16
+ children,
17
+ /* @__PURE__ */ jsx(Toaster, { ...toaster }),
18
+ /* @__PURE__ */ jsx(AnchoredToaster, { ...anchoredToaster })
19
+ ]
20
+ })
21
+ });
22
+ }
23
+
24
+ //#endregion
25
+ export { PXUIProvider };
26
+ //# sourceMappingURL=px-ui-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"px-ui-provider.js","names":[],"sources":["../../src/providers/px-ui-provider.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\n\nimport { DirectionProvider } from \"../components/direction\";\nimport {\n AnchoredToaster,\n Toaster,\n type ToasterProps,\n} from \"../components/toast\";\nimport { TooltipProvider } from \"../components/tooltip\";\n\ntype Direction = \"ltr\" | \"rtl\";\n\ntype PXUIProviderProps = React.PropsWithChildren<{\n /**\n * Text direction for Base UI primitives inside px-ui components.\n * @default \"ltr\"\n */\n direction?: Direction;\n /**\n * Props forwarded to the global tooltip provider.\n */\n tooltip?: React.ComponentProps<typeof TooltipProvider>;\n /**\n * Props forwarded to the screen-corner toaster.\n */\n toaster?: ToasterProps;\n /**\n * Props forwarded to the anchored toaster host.\n */\n anchoredToaster?: React.ComponentProps<typeof AnchoredToaster>;\n}>;\n\nfunction PXUIProvider({\n children,\n direction = \"ltr\",\n tooltip,\n toaster,\n anchoredToaster,\n}: PXUIProviderProps) {\n return (\n <DirectionProvider direction={direction}>\n <TooltipProvider {...tooltip}>\n {children}\n <Toaster {...toaster} />\n <AnchoredToaster {...anchoredToaster} />\n </TooltipProvider>\n </DirectionProvider>\n );\n}\n\nexport { PXUIProvider };\nexport type { PXUIProviderProps };\n"],"mappings":";;;;;;;;;AAkCA,SAAS,aAAa,EACpB,UACA,YAAY,OACZ,SACA,SACA,mBACoB;AACpB,QACE,oBAAC;EAA6B;YAC5B,qBAAC;GAAgB,GAAI;;IAClB;IACD,oBAAC,WAAQ,GAAI,UAAW;IACxB,oBAAC,mBAAgB,GAAI,kBAAmB;;IACxB;GACA"}
@@ -0,0 +1,17 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Separator } from "@base-ui/react/separator";
4
+
5
+ //#region src/components/separator.tsx
6
+ function Separator$1({ className, orientation = "horizontal", ...props }) {
7
+ return /* @__PURE__ */ jsx(Separator, {
8
+ "data-slot": "separator",
9
+ orientation,
10
+ className: cn("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch", className),
11
+ ...props
12
+ });
13
+ }
14
+
15
+ //#endregion
16
+ export { Separator$1 as t };
17
+ //# sourceMappingURL=separator-BS3ilczC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator-BS3ilczC.js","names":["Separator","SeparatorPrimitive"],"sources":["../src/components/separator.tsx"],"sourcesContent":["import { Separator as SeparatorPrimitive } from \"@base-ui/react/separator\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n ...props\n}: SeparatorPrimitive.Props) {\n return (\n <SeparatorPrimitive\n data-slot=\"separator\"\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n"],"mappings":";;;;;AAIA,SAASA,YAAU,EACjB,WACA,cAAc,cACd,GAAG,SACwB;AAC3B,QACE,oBAACC;EACC,aAAU;EACG;EACb,WAAW,GACT,gHACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,12 @@
1
+ import * as react_jsx_runtime222 from "react/jsx-runtime";
2
+ import { Separator } from "@base-ui/react/separator";
3
+
4
+ //#region src/components/separator.d.ts
5
+ declare function Separator$1({
6
+ className,
7
+ orientation,
8
+ ...props
9
+ }: Separator.Props): react_jsx_runtime222.JSX.Element;
10
+ //#endregion
11
+ export { Separator$1 as t };
12
+ //# sourceMappingURL=separator-ct9ZvuTk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator-ct9ZvuTk.d.ts","names":[],"sources":["../src/components/separator.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,WAAA;;;;GAIN,SAAA,CAAmB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,91 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { t as Button } from "./button-hBUFMmsZ.js";
3
+ import { XIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import "react";
6
+ import { Dialog } from "@base-ui/react/dialog";
7
+
8
+ //#region src/components/sheet.tsx
9
+ function Sheet({ ...props }) {
10
+ return /* @__PURE__ */ jsx(Dialog.Root, {
11
+ "data-slot": "sheet",
12
+ ...props
13
+ });
14
+ }
15
+ function SheetTrigger({ ...props }) {
16
+ return /* @__PURE__ */ jsx(Dialog.Trigger, {
17
+ "data-slot": "sheet-trigger",
18
+ ...props
19
+ });
20
+ }
21
+ function SheetClose({ ...props }) {
22
+ return /* @__PURE__ */ jsx(Dialog.Close, {
23
+ "data-slot": "sheet-close",
24
+ ...props
25
+ });
26
+ }
27
+ function SheetPortal({ ...props }) {
28
+ return /* @__PURE__ */ jsx(Dialog.Portal, {
29
+ "data-slot": "sheet-portal",
30
+ ...props
31
+ });
32
+ }
33
+ function SheetOverlay({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx(Dialog.Backdrop, {
35
+ "data-slot": "sheet-overlay",
36
+ className: cn("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs", className),
37
+ ...props
38
+ });
39
+ }
40
+ function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
41
+ return /* @__PURE__ */ jsxs(SheetPortal, { children: [/* @__PURE__ */ jsx(SheetOverlay, {}), /* @__PURE__ */ jsxs(Dialog.Popup, {
42
+ "data-slot": "sheet-content",
43
+ "data-side": side,
44
+ className: cn("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:ppx-sm:max-w-sm data-[side=right]:ppx-sm:max-w-sm", className),
45
+ ...props,
46
+ children: [children, showCloseButton && /* @__PURE__ */ jsxs(Dialog.Close, {
47
+ "data-slot": "sheet-close",
48
+ render: /* @__PURE__ */ jsx(Button, {
49
+ variant: "ghost",
50
+ className: "absolute top-4 end-4",
51
+ size: "icon-sm"
52
+ }),
53
+ children: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx("span", {
54
+ className: "sr-only",
55
+ children: "Close"
56
+ })]
57
+ })]
58
+ })] });
59
+ }
60
+ function SheetHeader({ className, ...props }) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ "data-slot": "sheet-header",
63
+ className: cn("flex flex-col gap-1.5 p-4", className),
64
+ ...props
65
+ });
66
+ }
67
+ function SheetFooter({ className, ...props }) {
68
+ return /* @__PURE__ */ jsx("div", {
69
+ "data-slot": "sheet-footer",
70
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
71
+ ...props
72
+ });
73
+ }
74
+ function SheetTitle({ className, ...props }) {
75
+ return /* @__PURE__ */ jsx(Dialog.Title, {
76
+ "data-slot": "sheet-title",
77
+ className: cn("font-heading font-medium text-foreground", className),
78
+ ...props
79
+ });
80
+ }
81
+ function SheetDescription({ className, ...props }) {
82
+ return /* @__PURE__ */ jsx(Dialog.Description, {
83
+ "data-slot": "sheet-description",
84
+ className: cn("text-sm text-muted-foreground", className),
85
+ ...props
86
+ });
87
+ }
88
+
89
+ //#endregion
90
+ export { SheetFooter as a, SheetTrigger as c, SheetDescription as i, SheetClose as n, SheetHeader as o, SheetContent as r, SheetTitle as s, Sheet as t };
91
+ //# sourceMappingURL=sheet-CLjNDrfL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet-CLjNDrfL.js","names":["SheetPrimitive"],"sources":["../src/components/sheet.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Dialog as SheetPrimitive } from \"@base-ui/react/dialog\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Button } from \"@px-ui/ui/components/button\"\nimport { XIcon } from \"lucide-react\"\n\nfunction Sheet({ ...props }: SheetPrimitive.Root.Props) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({ ...props }: SheetPrimitive.Trigger.Props) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({ ...props }: SheetPrimitive.Close.Props) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({ ...props }: SheetPrimitive.Portal.Props) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) {\n return (\n <SheetPrimitive.Backdrop\n data-slot=\"sheet-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n showCloseButton = true,\n ...props\n}: SheetPrimitive.Popup.Props & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n showCloseButton?: boolean\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Popup\n data-slot=\"sheet-content\"\n data-side={side}\n className={cn(\n \"fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:ppx-sm:max-w-sm data-[side=right]:ppx-sm:max-w-sm\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n render={\n <Button\n variant=\"ghost\"\n className=\"absolute top-4 end-4\"\n size=\"icon-sm\"\n />\n }\n >\n <XIcon\n />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Popup>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({ className, ...props }: SheetPrimitive.Title.Props) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"font-heading font-medium text-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: SheetPrimitive.Description.Props) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n"],"mappings":";;;;;;;;AASA,SAAS,MAAM,EAAE,GAAG,SAAoC;AACtD,QAAO,oBAACA,OAAe;EAAK,aAAU;EAAQ,GAAI;GAAS;;AAG7D,SAAS,aAAa,EAAE,GAAG,SAAuC;AAChE,QAAO,oBAACA,OAAe;EAAQ,aAAU;EAAgB,GAAI;GAAS;;AAGxE,SAAS,WAAW,EAAE,GAAG,SAAqC;AAC5D,QAAO,oBAACA,OAAe;EAAM,aAAU;EAAc,GAAI;GAAS;;AAGpE,SAAS,YAAY,EAAE,GAAG,SAAsC;AAC9D,QAAO,oBAACA,OAAe;EAAO,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,aAAa,EAAE,WAAW,GAAG,SAAwC;AAC5E,QACE,oBAACA,OAAe;EACd,aAAU;EACV,WAAW,GACT,sKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EACpB,WACA,UACA,OAAO,SACP,kBAAkB,MAClB,GAAG,SAIF;AACD,QACE,qBAAC,0BACC,oBAAC,iBAAe,EAChB,qBAACA,OAAe;EACd,aAAU;EACV,aAAW;EACX,WAAW,GACT,i6CACA,UACD;EACD,GAAI;aAEH,UACA,mBACC,qBAACA,OAAe;GACd,aAAU;GACV,QACE,oBAAC;IACC,SAAQ;IACR,WAAU;IACV,MAAK;KACL;cAGJ,oBAAC,UACC,EACF,oBAAC;IAAK,WAAU;cAAU;KAAY;IACjB;GAEJ,IACX;;AAIlB,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,mCAAmC,UAAU;EAC3D,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAqC;AACvE,QACE,oBAACA,OAAe;EACd,aAAU;EACV,WAAW,GAAG,4CAA4C,UAAU;EACpE,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACgC;AACnC,QACE,oBAACA,OAAe;EACd,aAAU;EACV,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ"}
@@ -0,0 +1,15 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+
4
+ //#region src/components/skeleton.tsx
5
+ function Skeleton({ className, ...props }) {
6
+ return /* @__PURE__ */ jsx("div", {
7
+ "data-slot": "skeleton",
8
+ className: cn("animate-pulse rounded-md bg-muted", className),
9
+ ...props
10
+ });
11
+ }
12
+
13
+ //#endregion
14
+ export { Skeleton as t };
15
+ //# sourceMappingURL=skeleton-BcIxI5Wq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-BcIxI5Wq.js","names":[],"sources":["../src/components/skeleton.tsx"],"sourcesContent":["import { cn } from \"@px-ui/ui/lib/utils\"\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;AACtE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,qCAAqC,UAAU;EAC7D,GAAI;GACJ"}
@@ -0,0 +1,17 @@
1
+ import { t as cn } from "./utils-mWJR2N24.js";
2
+ import { Loader2Icon } from "lucide-react";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region src/components/spinner.tsx
6
+ function Spinner({ className, ...props }) {
7
+ return /* @__PURE__ */ jsx(Loader2Icon, {
8
+ role: "status",
9
+ "aria-label": "Loading",
10
+ className: cn("size-4 animate-spin", className),
11
+ ...props
12
+ });
13
+ }
14
+
15
+ //#endregion
16
+ export { Spinner as t };
17
+ //# sourceMappingURL=spinner-Bo0sUZEg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinner-Bo0sUZEg.js","names":[],"sources":["../src/components/spinner.tsx"],"sourcesContent":["import { cn } from \"@px-ui/ui/lib/utils\";\nimport { Loader2Icon } from \"lucide-react\";\n\nfunction Spinner({\n className,\n ...props\n}: React.ComponentProps<typeof Loader2Icon>) {\n return (\n <Loader2Icon\n role=\"status\"\n aria-label=\"Loading\"\n className={cn(\"size-4 animate-spin\", className)}\n {...props}\n />\n );\n}\n\nexport { Spinner };\n"],"mappings":";;;;;AAGA,SAAS,QAAQ,EACf,WACA,GAAG,SACwC;AAC3C,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,WAAW,GAAG,uBAAuB,UAAU;EAC/C,GAAI;GACJ"}