@px-ui/ui 1.0.10 → 1.0.11

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 (253) hide show
  1. package/dist/{avatar-Bb0tx0Hn.js → avatar-a40DzPi3.js} +4 -4
  2. package/dist/{avatar-Bb0tx0Hn.js.map → avatar-a40DzPi3.js.map} +1 -1
  3. package/dist/{avatar-CbuG-kqF.d.ts → avatar-cLlUF5Lz.d.ts} +6 -6
  4. package/dist/{avatar-CbuG-kqF.d.ts.map → avatar-cLlUF5Lz.d.ts.map} +1 -1
  5. package/dist/{button-BkzvdmIX.d.ts → button-BJ727apo.d.ts} +7 -7
  6. package/dist/{button-BkzvdmIX.d.ts.map → button-BJ727apo.d.ts.map} +1 -1
  7. package/dist/{button-hBUFMmsZ.js → button-Cp2S1spE.js} +2 -2
  8. package/dist/{button-hBUFMmsZ.js.map → button-Cp2S1spE.js.map} +1 -1
  9. package/dist/{combobox-C5txQ2La.d.ts → combobox-B73nb6Tq.d.ts} +19 -19
  10. package/dist/{combobox-C5txQ2La.d.ts.map → combobox-B73nb6Tq.d.ts.map} +1 -1
  11. package/dist/{combobox-CHkmVNZ2.js → combobox-Di5naqIR.js} +9 -9
  12. package/dist/{combobox-CHkmVNZ2.js.map → combobox-Di5naqIR.js.map} +1 -1
  13. package/dist/components/accordion.d.ts +5 -5
  14. package/dist/components/accordion.d.ts.map +1 -1
  15. package/dist/components/accordion.js +2 -2
  16. package/dist/components/alert-dialog.d.ts +14 -14
  17. package/dist/components/alert-dialog.d.ts.map +1 -1
  18. package/dist/components/alert-dialog.js +3 -3
  19. package/dist/components/alert.d.ts +7 -7
  20. package/dist/components/alert.js +2 -2
  21. package/dist/components/aspect-ratio.d.ts +2 -2
  22. package/dist/components/aspect-ratio.js +1 -1
  23. package/dist/components/attachment.d.ts +64 -0
  24. package/dist/components/attachment.d.ts.map +1 -0
  25. package/dist/components/attachment.js +107 -0
  26. package/dist/components/attachment.js.map +1 -0
  27. package/dist/components/avatar-group.d.ts +4 -4
  28. package/dist/components/avatar-group.d.ts.map +1 -1
  29. package/dist/components/avatar-group.js +5 -5
  30. package/dist/components/avatar.d.ts +1 -1
  31. package/dist/components/avatar.js +3 -3
  32. package/dist/components/badge.d.ts +5 -5
  33. package/dist/components/badge.js +1 -1
  34. package/dist/components/breadcrumb.d.ts +7 -7
  35. package/dist/components/breadcrumb.js +2 -2
  36. package/dist/components/bubble.d.ts +39 -0
  37. package/dist/components/bubble.d.ts.map +1 -0
  38. package/dist/components/bubble.js +76 -0
  39. package/dist/components/bubble.js.map +1 -0
  40. package/dist/components/button-group.d.ts +9 -9
  41. package/dist/components/button-group.d.ts.map +1 -1
  42. package/dist/components/button-group.js +2 -2
  43. package/dist/components/button.d.ts +1 -1
  44. package/dist/components/button.js +2 -2
  45. package/dist/components/calendar.d.ts +4 -4
  46. package/dist/components/calendar.d.ts.map +1 -1
  47. package/dist/components/calendar.js +3 -3
  48. package/dist/components/card.d.ts +8 -8
  49. package/dist/components/card.d.ts.map +1 -1
  50. package/dist/components/card.js +2 -2
  51. package/dist/components/carousel.d.ts +7 -7
  52. package/dist/components/carousel.d.ts.map +1 -1
  53. package/dist/components/carousel.js +3 -3
  54. package/dist/components/chart.d.ts +5 -5
  55. package/dist/components/chart.d.ts.map +1 -1
  56. package/dist/components/chart.js +2 -2
  57. package/dist/components/checkbox.d.ts +2 -2
  58. package/dist/components/checkbox.js +1 -1
  59. package/dist/components/collapsible.d.ts +4 -4
  60. package/dist/components/collapsible.d.ts.map +1 -1
  61. package/dist/components/collapsible.js +1 -1
  62. package/dist/components/combobox.d.ts +2 -2
  63. package/dist/components/combobox.js +11 -11
  64. package/dist/components/command.d.ts +11 -11
  65. package/dist/components/command.js +7 -7
  66. package/dist/components/context-menu.d.ts +16 -16
  67. package/dist/components/context-menu.js +2 -2
  68. package/dist/components/currency-select-field.d.ts +4 -4
  69. package/dist/components/currency-select-field.d.ts.map +1 -1
  70. package/dist/components/currency-select-field.js +12 -12
  71. package/dist/components/dialog.d.ts +11 -11
  72. package/dist/components/dialog.js +3 -3
  73. package/dist/components/direction.js +1 -1
  74. package/dist/components/drawer.d.ts +11 -11
  75. package/dist/components/drawer.js +2 -2
  76. package/dist/components/dropdown-menu.d.ts +1 -1
  77. package/dist/components/dropdown-menu.js +2 -2
  78. package/dist/components/empty.d.ts +9 -9
  79. package/dist/components/empty.js +1 -1
  80. package/dist/components/field.d.ts +16 -16
  81. package/dist/components/field.d.ts.map +1 -1
  82. package/dist/components/field.js +4 -4
  83. package/dist/components/file-upload-field.d.ts +3 -3
  84. package/dist/components/file-upload-field.js +6 -6
  85. package/dist/components/file-upload.d.ts +3 -3
  86. package/dist/components/file-upload.js +4 -4
  87. package/dist/components/hover-card.d.ts +4 -4
  88. package/dist/components/hover-card.js +1 -1
  89. package/dist/components/input-group.d.ts +12 -12
  90. package/dist/components/input-group.d.ts.map +1 -1
  91. package/dist/components/input-group.js +5 -5
  92. package/dist/components/input-otp.d.ts +5 -5
  93. package/dist/components/input-otp.js +2 -2
  94. package/dist/components/input.d.ts +1 -1
  95. package/dist/components/input.js +2 -2
  96. package/dist/components/item.d.ts +16 -16
  97. package/dist/components/item.d.ts.map +1 -1
  98. package/dist/components/item.js +3 -3
  99. package/dist/components/kbd.d.ts +3 -3
  100. package/dist/components/kbd.js +1 -1
  101. package/dist/components/label.d.ts +1 -1
  102. package/dist/components/label.js +2 -2
  103. package/dist/components/marker.d.ts +27 -0
  104. package/dist/components/marker.d.ts.map +1 -0
  105. package/dist/components/marker.js +46 -0
  106. package/dist/components/marker.js.map +1 -0
  107. package/dist/components/menubar.d.ts +18 -18
  108. package/dist/components/menubar.js +3 -3
  109. package/dist/components/message-scroller.d.ts +36 -0
  110. package/dist/components/message-scroller.d.ts.map +1 -0
  111. package/dist/components/message-scroller.js +63 -0
  112. package/dist/components/message-scroller.js.map +1 -0
  113. package/dist/components/message.d.ts +34 -0
  114. package/dist/components/message.d.ts.map +1 -0
  115. package/dist/components/message.js +52 -0
  116. package/dist/components/message.js.map +1 -0
  117. package/dist/components/native-select.d.ts +4 -4
  118. package/dist/components/native-select.js +2 -2
  119. package/dist/components/navigation-menu.d.ts +9 -9
  120. package/dist/components/navigation-menu.js +1 -1
  121. package/dist/components/pagination.d.ts +9 -9
  122. package/dist/components/pagination.d.ts.map +1 -1
  123. package/dist/components/pagination.js +3 -3
  124. package/dist/components/phone-input.d.ts +2 -2
  125. package/dist/components/phone-input.js +2 -2
  126. package/dist/components/popover.d.ts +7 -7
  127. package/dist/components/popover.d.ts.map +1 -1
  128. package/dist/components/popover.js +2 -2
  129. package/dist/components/progress.d.ts +6 -6
  130. package/dist/components/progress.js +1 -1
  131. package/dist/components/radio-group.d.ts +3 -3
  132. package/dist/components/radio-group.js +1 -1
  133. package/dist/components/resizable.d.ts +4 -4
  134. package/dist/components/resizable.js +1 -1
  135. package/dist/components/scroll-area.d.ts +3 -3
  136. package/dist/components/scroll-area.js +2 -2
  137. package/dist/components/select.d.ts +10 -10
  138. package/dist/components/select.js +2 -2
  139. package/dist/components/separator.d.ts +1 -1
  140. package/dist/components/separator.js +2 -2
  141. package/dist/components/sheet.d.ts +9 -9
  142. package/dist/components/sheet.js +3 -3
  143. package/dist/components/sidebar.d.ts +26 -26
  144. package/dist/components/sidebar.d.ts.map +1 -1
  145. package/dist/components/sidebar.js +9 -9
  146. package/dist/components/skeleton.d.ts +2 -2
  147. package/dist/components/skeleton.js +2 -2
  148. package/dist/components/slider.d.ts +2 -2
  149. package/dist/components/slider.js +1 -1
  150. package/dist/components/spinner.d.ts +2 -2
  151. package/dist/components/spinner.js +2 -2
  152. package/dist/components/switch.d.ts +2 -2
  153. package/dist/components/switch.js +1 -1
  154. package/dist/components/table.d.ts +9 -9
  155. package/dist/components/table.js +2 -2
  156. package/dist/components/tabs.d.ts +8 -8
  157. package/dist/components/tabs.d.ts.map +1 -1
  158. package/dist/components/tabs.js +1 -1
  159. package/dist/components/textarea.d.ts +2 -2
  160. package/dist/components/textarea.js +2 -2
  161. package/dist/components/toast.d.ts +1 -1
  162. package/dist/components/toast.js +2 -2
  163. package/dist/components/toggle-group.d.ts +4 -4
  164. package/dist/components/toggle-group.js +3 -3
  165. package/dist/components/toggle.d.ts +1 -1
  166. package/dist/components/toggle.js +2 -2
  167. package/dist/components/tooltip.d.ts +1 -1
  168. package/dist/components/tooltip.js +2 -2
  169. package/dist/{dialog-DrdXva1a.js → dialog-B3HhbIdv.js} +4 -4
  170. package/dist/{dialog-DrdXva1a.js.map → dialog-B3HhbIdv.js.map} +1 -1
  171. package/dist/{dropdown-menu-BC7zFA2L.d.ts → dropdown-menu-C6n_oYre.d.ts} +17 -17
  172. package/dist/{dropdown-menu-BC7zFA2L.d.ts.map → dropdown-menu-C6n_oYre.d.ts.map} +1 -1
  173. package/dist/{dropdown-menu-CcumvwhM.js → dropdown-menu-vwX--mgm.js} +3 -3
  174. package/dist/{dropdown-menu-CcumvwhM.js.map → dropdown-menu-vwX--mgm.js.map} +1 -1
  175. package/dist/{file-upload-DeCIv13t.js → file-upload-B0fHdUBL.js} +5 -5
  176. package/dist/{file-upload-DeCIv13t.js.map → file-upload-B0fHdUBL.js.map} +1 -1
  177. package/dist/{file-upload-DoGu67Bu.d.ts → file-upload-CGfXHKPZ.d.ts} +13 -13
  178. package/dist/{file-upload-DoGu67Bu.d.ts.map → file-upload-CGfXHKPZ.d.ts.map} +1 -1
  179. package/dist/hooks/use-async-options.d.ts +1 -1
  180. package/dist/hooks/use-async-options.js +1 -1
  181. package/dist/hooks/use-debounce.js +1 -1
  182. package/dist/hooks/use-file-upload.d.ts +1 -1
  183. package/dist/hooks/use-file-upload.js +1 -1
  184. package/dist/hooks/use-infinite-scroll.d.ts +1 -1
  185. package/dist/hooks/use-infinite-scroll.js +2 -2
  186. package/dist/hooks/use-intersection-observer.d.ts +1 -1
  187. package/dist/hooks/use-intersection-observer.js +1 -1
  188. package/dist/hooks/use-mobile.js +1 -1
  189. package/dist/{input-8jqdnUZl.js → input-B-RCmrtR.js} +3 -3
  190. package/dist/{input-8jqdnUZl.js.map → input-B-RCmrtR.js.map} +1 -1
  191. package/dist/{input-CoP6CeA5.d.ts → input-BtI3FvrB.d.ts} +3 -3
  192. package/dist/input-BtI3FvrB.d.ts.map +1 -0
  193. package/dist/{input-group-DqEkmpXW.js → input-group-C78_1dEy.js} +6 -6
  194. package/dist/{input-group-DqEkmpXW.js.map → input-group-C78_1dEy.js.map} +1 -1
  195. package/dist/label-BnSHwOyi.d.ts +11 -0
  196. package/dist/label-BnSHwOyi.d.ts.map +1 -0
  197. package/dist/{label-AaH9ZYCZ.js → label-Cmlhz-uF.js} +3 -3
  198. package/dist/{label-AaH9ZYCZ.js.map → label-Cmlhz-uF.js.map} +1 -1
  199. package/dist/lib/utils.js +1 -1
  200. package/dist/{popover-C9D43EuT.js → popover-CsTnnBvx.js} +3 -3
  201. package/dist/{popover-C9D43EuT.js.map → popover-CsTnnBvx.js.map} +1 -1
  202. package/dist/providers/px-ui-provider.d.ts +4 -4
  203. package/dist/providers/px-ui-provider.js +4 -4
  204. package/dist/{separator-BS3ilczC.js → separator-BQBOLUMc.js} +2 -2
  205. package/dist/{separator-BS3ilczC.js.map → separator-BQBOLUMc.js.map} +1 -1
  206. package/dist/{separator-D0hWdzUT.d.ts → separator-pyhTqgkN.d.ts} +3 -3
  207. package/dist/{separator-D0hWdzUT.d.ts.map → separator-pyhTqgkN.d.ts.map} +1 -1
  208. package/dist/{sheet-CLjNDrfL.js → sheet-Chg_afex.js} +4 -4
  209. package/dist/{sheet-CLjNDrfL.js.map → sheet-Chg_afex.js.map} +1 -1
  210. package/dist/{skeleton-BcIxI5Wq.js → skeleton-J879XBBA.js} +2 -2
  211. package/dist/{skeleton-BcIxI5Wq.js.map → skeleton-J879XBBA.js.map} +1 -1
  212. package/dist/{spinner-Bo0sUZEg.js → spinner-C7yzrK_s.js} +2 -2
  213. package/dist/{spinner-Bo0sUZEg.js.map → spinner-C7yzrK_s.js.map} +1 -1
  214. package/dist/styles.css +665 -1
  215. package/dist/{textarea-Cq0o323P.js → textarea-CaHmr0re.js} +3 -3
  216. package/dist/{textarea-Cq0o323P.js.map → textarea-CaHmr0re.js.map} +1 -1
  217. package/dist/{toast-COWAQbIk.js → toast-BrPEQywl.js} +4 -4
  218. package/dist/{toast-COWAQbIk.js.map → toast-BrPEQywl.js.map} +1 -1
  219. package/dist/{toast-DkzzdXGU.d.ts → toast-CSU7vJkV.d.ts} +5 -5
  220. package/dist/{toast-DkzzdXGU.d.ts.map → toast-CSU7vJkV.d.ts.map} +1 -1
  221. package/dist/{toggle-lqIyJptS.js → toggle-CA4KsgWs.js} +2 -2
  222. package/dist/{toggle-lqIyJptS.js.map → toggle-CA4KsgWs.js.map} +1 -1
  223. package/dist/{toggle-Dq3ftPFj.d.ts → toggle-gjMAPmkg.d.ts} +5 -5
  224. package/dist/{toggle-Dq3ftPFj.d.ts.map → toggle-gjMAPmkg.d.ts.map} +1 -1
  225. package/dist/{tooltip-DBoqfN9z.d.ts → tooltip-7bptiThf.d.ts} +6 -6
  226. package/dist/{tooltip-DBoqfN9z.d.ts.map → tooltip-7bptiThf.d.ts.map} +1 -1
  227. package/dist/{tooltip-DkPxCJIL.js → tooltip-BhxGE3Gb.js} +2 -2
  228. package/dist/{tooltip-DkPxCJIL.js.map → tooltip-BhxGE3Gb.js.map} +1 -1
  229. package/dist/{use-async-options-CcsImGX4.js → use-async-options-CtB4wZrr.js} +1 -1
  230. package/dist/{use-async-options-CcsImGX4.js.map → use-async-options-CtB4wZrr.js.map} +1 -1
  231. package/dist/{use-async-options-Cu5T43vj.d.ts → use-async-options-rNdyxIrQ.d.ts} +1 -1
  232. package/dist/{use-async-options-Cu5T43vj.d.ts.map → use-async-options-rNdyxIrQ.d.ts.map} +1 -1
  233. package/dist/{use-debounce-_qaEZqtt.js → use-debounce--Lv1ABSa.js} +1 -1
  234. package/dist/{use-debounce-_qaEZqtt.js.map → use-debounce--Lv1ABSa.js.map} +1 -1
  235. package/dist/{use-file-upload-Dxrej28u.js → use-file-upload-BbERd3Nw.js} +1 -1
  236. package/dist/{use-file-upload-Dxrej28u.js.map → use-file-upload-BbERd3Nw.js.map} +1 -1
  237. package/dist/{use-file-upload-yy-xLBtn.d.ts → use-file-upload-Cbb_9kTw.d.ts} +1 -1
  238. package/dist/{use-file-upload-yy-xLBtn.d.ts.map → use-file-upload-Cbb_9kTw.d.ts.map} +1 -1
  239. package/dist/{use-infinite-scroll-CpbhGGT5.js → use-infinite-scroll-CC_Guyvn.js} +2 -2
  240. package/dist/{use-infinite-scroll-CpbhGGT5.js.map → use-infinite-scroll-CC_Guyvn.js.map} +1 -1
  241. package/dist/{use-intersection-observer-C2xDq2SW.d.ts → use-intersection-observer-CgAaXczI.d.ts} +1 -1
  242. package/dist/{use-intersection-observer-C2xDq2SW.d.ts.map → use-intersection-observer-CgAaXczI.d.ts.map} +1 -1
  243. package/dist/{use-intersection-observer-CZfnep4z.js → use-intersection-observer-S0wsPmhF.js} +1 -1
  244. package/dist/{use-intersection-observer-CZfnep4z.js.map → use-intersection-observer-S0wsPmhF.js.map} +1 -1
  245. package/dist/{use-mobile-l5ebOdQl.js → use-mobile--NaMWuCj.js} +1 -1
  246. package/dist/{use-mobile-l5ebOdQl.js.map → use-mobile--NaMWuCj.js.map} +1 -1
  247. package/dist/{utils-mWJR2N24.js → utils-DeIaBj75.js} +1 -1
  248. package/dist/{utils-mWJR2N24.js.map → utils-DeIaBj75.js.map} +1 -1
  249. package/package.json +22 -1
  250. package/dist/input-CoP6CeA5.d.ts.map +0 -1
  251. package/dist/label-Dw4Hcz5k.d.ts +0 -11
  252. package/dist/label-Dw4Hcz5k.d.ts.map +0 -1
  253. /package/dist/{direction-BKSh6e6q.js → direction-ZS2Hta3v.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { t as cn } from "./utils-mWJR2N24.js";
2
- import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "./tooltip-DkPxCJIL.js";
3
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ import { t as cn } from "./utils-DeIaBj75.js";
2
+ import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "./tooltip-BhxGE3Gb.js";
4
3
  import * as React$1 from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Avatar } from "@base-ui/react/avatar";
6
6
 
7
7
  //#region src/components/avatar.tsx
@@ -151,4 +151,4 @@ function AvatarBadge({ className, ...props }) {
151
151
 
152
152
  //#endregion
153
153
  export { getAvatarColorByName as a, AvatarImage as i, AvatarBadge as n, getAvatarLabelFromChildren as o, AvatarFallback as r, getInitialsFromName as s, Avatar$1 as t };
154
- //# sourceMappingURL=avatar-Bb0tx0Hn.js.map
154
+ //# sourceMappingURL=avatar-a40DzPi3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-Bb0tx0Hn.js","names":["AVATAR_TOKEN_PX: Record<AvatarSize, number>","React","alt: string | undefined","name: string | undefined","Avatar","AvatarPrimitive"],"sources":["../src/components/avatar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@px-ui/ui/components/tooltip\"\n\nconst AVATAR_NAME_PALETTE = [\n \"#bdc3c7\",\n \"#6f7b87\",\n \"#2c3e50\",\n \"#2f3193\",\n \"#662d91\",\n \"#922790\",\n \"#ec2176\",\n \"#ed1c24\",\n \"#f36622\",\n \"#f8941e\",\n \"#fab70f\",\n \"#fdde00\",\n \"#d1d219\",\n \"#8ec73f\",\n \"#00a650\",\n \"#00aa9c\",\n \"#00adef\",\n \"#0081cd\",\n \"#005bab\",\n \"#012a4a\",\n \"#013a63\",\n \"#06d6a0\",\n \"#ef476f\",\n \"#ff5d8f\",\n \"#0496ff\",\n \"#c879ff\",\n]\n\nfunction getInitialsFromName(name: string | null | undefined): string {\n if (!name) return \"\"\n const matches = [...name.matchAll(/(\\b\\w)/g)]\n return (\n (matches.shift()?.[1] ?? \"\") + (matches.pop()?.[1] ?? \"\")\n ).toUpperCase()\n}\n\nfunction getAvatarColorByName(\n name: string | null | undefined\n): React.CSSProperties {\n const seed = name && name.length ? name : \"?\"\n let index = seed[0].toUpperCase().charCodeAt(0)\n const lastName = seed.split(\" \")[1]\n if (lastName) {\n index = Math.floor((index + lastName[0].toUpperCase().charCodeAt(0)) / 2)\n }\n index = Math.abs(index - 65) % AVATAR_NAME_PALETTE.length\n return {\n backgroundColor: AVATAR_NAME_PALETTE[index],\n color: \"#fff\",\n }\n}\n\nfunction getStringFromChildren(children: React.ReactNode): string {\n let out = \"\"\n React.Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n out += child\n }\n })\n return out\n}\n\ntype AvatarSize = \"default\" | \"sm\" | \"lg\"\ntype AvatarSizeProp = AvatarSize | number\ntype AvatarShape = \"rounded\" | \"squared\"\n\nconst AVATAR_TOKEN_PX: Record<AvatarSize, number> = {\n sm: 24,\n default: 32,\n lg: 40,\n}\n\nfunction avatarSizeToPx(size: AvatarSizeProp): number {\n return typeof size === \"number\" ? size : AVATAR_TOKEN_PX[size]\n}\n\n// Bucket a raw pixel size into the nearest token so fallback text and the\n// badge keep scaling via the existing data-[size=*] utilities.\nfunction nearestAvatarToken(px: number): AvatarSize {\n if (px <= 28) return \"sm\"\n if (px >= 40) return \"lg\"\n return \"default\"\n}\n\n// Image URLs may carry a \"/SIZE/\" placeholder (CDN convention) that we resolve\n// to the rendered box size scaled by the device pixel ratio for crisp images.\n// URLs without the placeholder are returned untouched.\nfunction resolveAvatarSrc(\n src: string | undefined,\n size: AvatarSizeProp\n): string | undefined {\n if (!src || !src.includes(\"/SIZE/\")) return src\n const dpr = typeof window !== \"undefined\" ? window.devicePixelRatio || 1 : 2\n const dim = Math.round(avatarSizeToPx(size) * dpr)\n return src.replace(\"/SIZE/\", `/${dim}x${dim}/`)\n}\n\nconst AvatarSizeContext = React.createContext<AvatarSizeProp>(\"default\")\n\ntype AvatarProps = AvatarPrimitive.Root.Props & {\n size?: AvatarSizeProp\n shape?: AvatarShape\n tooltip?: React.ReactNode | false\n}\n\nfunction getAvatarLabelFromChildren(\n children: React.ReactNode\n): React.ReactNode | undefined {\n let alt: string | undefined\n let name: string | undefined\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return\n if (child.type === AvatarFallback) {\n const props = child.props as AvatarFallbackProps\n if (props.name) name = props.name\n } else if (child.type === AvatarImage) {\n const props = child.props as AvatarPrimitive.Image.Props\n if (props.alt) alt = props.alt\n }\n })\n return name ?? alt\n}\n\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"rounded\",\n tooltip,\n children,\n style,\n ...props\n}: AvatarProps) {\n const numeric = typeof size === \"number\"\n const root = (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={numeric ? nearestAvatarToken(size) : size}\n data-shape={shape}\n style={numeric ? { width: size, height: size, ...style } : style}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[shape=squared]:rounded-lg data-[shape=squared]:after:rounded-lg data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n >\n <AvatarSizeContext.Provider value={size}>\n {children}\n </AvatarSizeContext.Provider>\n </AvatarPrimitive.Root>\n )\n\n const resolved =\n tooltip === undefined ? getAvatarLabelFromChildren(children) : tooltip\n if (resolved === false || resolved == null || resolved === \"\") return root\n\n return (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{resolved}</TooltipContent>\n </Tooltip>\n )\n}\n\nfunction AvatarImage({ className, src, ...props }: AvatarPrimitive.Image.Props) {\n const size = React.useContext(AvatarSizeContext)\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n src={resolveAvatarSrc(src, size)}\n className={cn(\n \"aspect-square size-full rounded-full object-cover group-data-[shape=squared]/avatar:rounded-lg\",\n className\n )}\n {...props}\n />\n )\n}\n\ntype AvatarFallbackProps = AvatarPrimitive.Fallback.Props & {\n name?: string | null\n}\n\nfunction AvatarFallback({\n className,\n name,\n children,\n style,\n ...props\n}: AvatarFallbackProps) {\n const size = React.useContext(AvatarSizeContext)\n const colorStyle = React.useMemo(() => {\n const seed = name ?? getStringFromChildren(children)\n return getAvatarColorByName(seed)\n }, [name, children])\n const initials = React.useMemo(\n () => (name && children == null ? getInitialsFromName(name) : undefined),\n [name, children]\n )\n // For an explicit pixel size, scale the initials with the box (~0.4 of the\n // box, matching the token ratios); tokens keep the className-based sizing.\n const fontStyle =\n typeof size === \"number\" ? { fontSize: Math.round(size * 0.4) } : undefined\n\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full font-medium text-sm group-data-[shape=squared]/avatar:rounded-lg group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n style={{ ...colorStyle, ...fontStyle, ...style }}\n {...props}\n >\n {children ?? initials}\n </AvatarPrimitive.Fallback>\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n getAvatarLabelFromChildren,\n getInitialsFromName,\n getAvatarColorByName,\n}\nexport type { AvatarProps, AvatarFallbackProps }\n"],"mappings":"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"}
1
+ {"version":3,"file":"avatar-a40DzPi3.js","names":["AVATAR_TOKEN_PX: Record<AvatarSize, number>","React","alt: string | undefined","name: string | undefined","Avatar","AvatarPrimitive"],"sources":["../src/components/avatar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@px-ui/ui/components/tooltip\"\n\nconst AVATAR_NAME_PALETTE = [\n \"#bdc3c7\",\n \"#6f7b87\",\n \"#2c3e50\",\n \"#2f3193\",\n \"#662d91\",\n \"#922790\",\n \"#ec2176\",\n \"#ed1c24\",\n \"#f36622\",\n \"#f8941e\",\n \"#fab70f\",\n \"#fdde00\",\n \"#d1d219\",\n \"#8ec73f\",\n \"#00a650\",\n \"#00aa9c\",\n \"#00adef\",\n \"#0081cd\",\n \"#005bab\",\n \"#012a4a\",\n \"#013a63\",\n \"#06d6a0\",\n \"#ef476f\",\n \"#ff5d8f\",\n \"#0496ff\",\n \"#c879ff\",\n]\n\nfunction getInitialsFromName(name: string | null | undefined): string {\n if (!name) return \"\"\n const matches = [...name.matchAll(/(\\b\\w)/g)]\n return (\n (matches.shift()?.[1] ?? \"\") + (matches.pop()?.[1] ?? \"\")\n ).toUpperCase()\n}\n\nfunction getAvatarColorByName(\n name: string | null | undefined\n): React.CSSProperties {\n const seed = name && name.length ? name : \"?\"\n let index = seed[0].toUpperCase().charCodeAt(0)\n const lastName = seed.split(\" \")[1]\n if (lastName) {\n index = Math.floor((index + lastName[0].toUpperCase().charCodeAt(0)) / 2)\n }\n index = Math.abs(index - 65) % AVATAR_NAME_PALETTE.length\n return {\n backgroundColor: AVATAR_NAME_PALETTE[index],\n color: \"#fff\",\n }\n}\n\nfunction getStringFromChildren(children: React.ReactNode): string {\n let out = \"\"\n React.Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n out += child\n }\n })\n return out\n}\n\ntype AvatarSize = \"default\" | \"sm\" | \"lg\"\ntype AvatarSizeProp = AvatarSize | number\ntype AvatarShape = \"rounded\" | \"squared\"\n\nconst AVATAR_TOKEN_PX: Record<AvatarSize, number> = {\n sm: 24,\n default: 32,\n lg: 40,\n}\n\nfunction avatarSizeToPx(size: AvatarSizeProp): number {\n return typeof size === \"number\" ? size : AVATAR_TOKEN_PX[size]\n}\n\n// Bucket a raw pixel size into the nearest token so fallback text and the\n// badge keep scaling via the existing data-[size=*] utilities.\nfunction nearestAvatarToken(px: number): AvatarSize {\n if (px <= 28) return \"sm\"\n if (px >= 40) return \"lg\"\n return \"default\"\n}\n\n// Image URLs may carry a \"/SIZE/\" placeholder (CDN convention) that we resolve\n// to the rendered box size scaled by the device pixel ratio for crisp images.\n// URLs without the placeholder are returned untouched.\nfunction resolveAvatarSrc(\n src: string | undefined,\n size: AvatarSizeProp\n): string | undefined {\n if (!src || !src.includes(\"/SIZE/\")) return src\n const dpr = typeof window !== \"undefined\" ? window.devicePixelRatio || 1 : 2\n const dim = Math.round(avatarSizeToPx(size) * dpr)\n return src.replace(\"/SIZE/\", `/${dim}x${dim}/`)\n}\n\nconst AvatarSizeContext = React.createContext<AvatarSizeProp>(\"default\")\n\ntype AvatarProps = AvatarPrimitive.Root.Props & {\n size?: AvatarSizeProp\n shape?: AvatarShape\n tooltip?: React.ReactNode | false\n}\n\nfunction getAvatarLabelFromChildren(\n children: React.ReactNode\n): React.ReactNode | undefined {\n let alt: string | undefined\n let name: string | undefined\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return\n if (child.type === AvatarFallback) {\n const props = child.props as AvatarFallbackProps\n if (props.name) name = props.name\n } else if (child.type === AvatarImage) {\n const props = child.props as AvatarPrimitive.Image.Props\n if (props.alt) alt = props.alt\n }\n })\n return name ?? alt\n}\n\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"rounded\",\n tooltip,\n children,\n style,\n ...props\n}: AvatarProps) {\n const numeric = typeof size === \"number\"\n const root = (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={numeric ? nearestAvatarToken(size) : size}\n data-shape={shape}\n style={numeric ? { width: size, height: size, ...style } : style}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[shape=squared]:rounded-lg data-[shape=squared]:after:rounded-lg data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n >\n <AvatarSizeContext.Provider value={size}>\n {children}\n </AvatarSizeContext.Provider>\n </AvatarPrimitive.Root>\n )\n\n const resolved =\n tooltip === undefined ? getAvatarLabelFromChildren(children) : tooltip\n if (resolved === false || resolved == null || resolved === \"\") return root\n\n return (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{resolved}</TooltipContent>\n </Tooltip>\n )\n}\n\nfunction AvatarImage({ className, src, ...props }: AvatarPrimitive.Image.Props) {\n const size = React.useContext(AvatarSizeContext)\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n src={resolveAvatarSrc(src, size)}\n className={cn(\n \"aspect-square size-full rounded-full object-cover group-data-[shape=squared]/avatar:rounded-lg\",\n className\n )}\n {...props}\n />\n )\n}\n\ntype AvatarFallbackProps = AvatarPrimitive.Fallback.Props & {\n name?: string | null\n}\n\nfunction AvatarFallback({\n className,\n name,\n children,\n style,\n ...props\n}: AvatarFallbackProps) {\n const size = React.useContext(AvatarSizeContext)\n const colorStyle = React.useMemo(() => {\n const seed = name ?? getStringFromChildren(children)\n return getAvatarColorByName(seed)\n }, [name, children])\n const initials = React.useMemo(\n () => (name && children == null ? getInitialsFromName(name) : undefined),\n [name, children]\n )\n // For an explicit pixel size, scale the initials with the box (~0.4 of the\n // box, matching the token ratios); tokens keep the className-based sizing.\n const fontStyle =\n typeof size === \"number\" ? { fontSize: Math.round(size * 0.4) } : undefined\n\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full font-medium text-sm group-data-[shape=squared]/avatar:rounded-lg group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n style={{ ...colorStyle, ...fontStyle, ...style }}\n {...props}\n >\n {children ?? initials}\n </AvatarPrimitive.Fallback>\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n getAvatarLabelFromChildren,\n getInitialsFromName,\n getAvatarColorByName,\n}\nexport type { AvatarProps, AvatarFallbackProps }\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as react_jsx_runtime50 from "react/jsx-runtime";
2
1
  import * as React$1 from "react";
2
+ import * as react_jsx_runtime87 from "react/jsx-runtime";
3
3
  import { Avatar } from "@base-ui/react/avatar";
4
4
 
5
5
  //#region src/components/avatar.d.ts
@@ -22,12 +22,12 @@ declare function Avatar$1({
22
22
  children,
23
23
  style,
24
24
  ...props
25
- }: AvatarProps): react_jsx_runtime50.JSX.Element;
25
+ }: AvatarProps): react_jsx_runtime87.JSX.Element;
26
26
  declare function AvatarImage({
27
27
  className,
28
28
  src,
29
29
  ...props
30
- }: Avatar.Image.Props): react_jsx_runtime50.JSX.Element;
30
+ }: Avatar.Image.Props): react_jsx_runtime87.JSX.Element;
31
31
  type AvatarFallbackProps = Avatar.Fallback.Props & {
32
32
  name?: string | null;
33
33
  };
@@ -37,11 +37,11 @@ declare function AvatarFallback({
37
37
  children,
38
38
  style,
39
39
  ...props
40
- }: AvatarFallbackProps): react_jsx_runtime50.JSX.Element;
40
+ }: AvatarFallbackProps): react_jsx_runtime87.JSX.Element;
41
41
  declare function AvatarBadge({
42
42
  className,
43
43
  ...props
44
- }: React$1.ComponentProps<"span">): react_jsx_runtime50.JSX.Element;
44
+ }: React$1.ComponentProps<"span">): react_jsx_runtime87.JSX.Element;
45
45
  //#endregion
46
46
  export { AvatarImage as a, getAvatarLabelFromChildren as c, AvatarFallbackProps as i, getInitialsFromName as l, AvatarBadge as n, AvatarProps as o, AvatarFallback as r, getAvatarColorByName as s, Avatar$1 as t };
47
- //# sourceMappingURL=avatar-CbuG-kqF.d.ts.map
47
+ //# sourceMappingURL=avatar-cLlUF5Lz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-CbuG-kqF.d.ts","names":[],"sources":["../src/components/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;iBAmCS,mBAAA;iBAQA,oBAAA,mCAEN,OAAA,CAAM;KAwBJ,UAAA;AApE4D,KAqE5D,cAAA,GAAiB,UAnCM,GAAA,MAAA;AAAA,KAoCvB,WAAA,GA5BI,SAAoB,GAAA,SAE1B;AAAmB,KA6DjB,WAAA,GAAc,MAAA,CAAgB,IAAA,CAAK,KArCzB,GAAA;EACV,IAAA,CAAA,EAqCI,cArCU;EACd,KAAA,CAAA,EAqCK,WArCM;EAmCX,OAAA,CAAA,EAGO,OAAA,CAAM,SAHF,GAAA,KAAA;CAAG;iBAMV,0BAAA,CALA,QAAA,EAMG,OAAA,CAAM,SANT,CAAA,EAON,OAAA,CAAM,SAPA,GAAA,SAAA;iBAuBA,QAAA,CAtBC;EAAA,SAAA;EAAA,IAAA;EAAA,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA8BP,WA9BO,CAAA,EA8BI,mBAAA,CAAA,GAAA,CAAA,OA9BJ;iBA8DD,WAAA,CA7DS;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EA6DiC,MAAA,CAAgB,KAAA,CAAM,KA7DvD,CAAA,EA6D4D,mBAAA,CAAA,GAAA,CAAA,OA7D5D;KA4Eb,mBAAA,GAAsB,MAAA,CAAgB,QAAA,CAAS,KA5EzB,GAAA;EAGlB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA;AAES,CAAA;iBA2ET,cAAA,CA1DP;EAAA,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgEC,mBAhED,CAAA,EAgEoB,mBAAA,CAAA,GAAA,CAAA,OAhEpB;iBA8FO,WAAA,CA7FP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6F4C,OAAA,CAAM,cA7FlD,CAAA,MAAA,CAAA,CAAA,EA6FwE,mBAAA,CAAA,GAAA,CAAA,OA7FxE"}
1
+ {"version":3,"file":"avatar-cLlUF5Lz.d.ts","names":[],"sources":["../src/components/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;iBAmCS,mBAAA;iBAQA,oBAAA,mCAEN,OAAA,CAAM;KAwBJ,UAAA;AApE4D,KAqE5D,cAAA,GAAiB,UAnCM,GAAA,MAAA;AAAA,KAoCvB,WAAA,GA5BI,SAAoB,GAAA,SAE1B;AAAmB,KA6DjB,WAAA,GAAc,MAAA,CAAgB,IAAA,CAAK,KArCzB,GAAA;EACV,IAAA,CAAA,EAqCI,cArCU;EACd,KAAA,CAAA,EAqCK,WArCM;EAmCX,OAAA,CAAA,EAGO,OAAA,CAAM,SAHF,GAAA,KAAA;CAAG;iBAMV,0BAAA,CALA,QAAA,EAMG,OAAA,CAAM,SANT,CAAA,EAON,OAAA,CAAM,SAPA,GAAA,SAAA;iBAuBA,QAAA,CAtBC;EAAA,SAAA;EAAA,IAAA;EAAA,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA8BP,WA9BO,CAAA,EA8BI,mBAAA,CAAA,GAAA,CAAA,OA9BJ;iBA8DD,WAAA,CA7DS;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EA6DiC,MAAA,CAAgB,KAAA,CAAM,KA7DvD,CAAA,EA6D4D,mBAAA,CAAA,GAAA,CAAA,OA7D5D;KA4Eb,mBAAA,GAAsB,MAAA,CAAgB,QAAA,CAAS,KA5EzB,GAAA;EAGlB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA;AAES,CAAA;iBA2ET,cAAA,CA1DP;EAAA,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgEC,mBAhED,CAAA,EAgEoB,mBAAA,CAAA,GAAA,CAAA,OAhEpB;iBA8FO,WAAA,CA7FP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6F4C,OAAA,CAAM,cA7FlD,CAAA,MAAA,CAAA,CAAA,EA6FwE,mBAAA,CAAA,GAAA,CAAA,OA7FxE"}
@@ -1,19 +1,19 @@
1
- import * as react_jsx_runtime24 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime113 from "react/jsx-runtime";
2
2
  import { Button } from "@base-ui/react/button";
3
3
  import { VariantProps } from "class-variance-authority";
4
- import * as class_variance_authority_types0 from "class-variance-authority/types";
4
+ import * as class_variance_authority_types6 from "class-variance-authority/types";
5
5
 
6
6
  //#region src/components/button.d.ts
7
7
  declare const buttonVariants: (props?: ({
8
- variant?: "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
9
- size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
10
- } & class_variance_authority_types0.ClassProp) | undefined) => string;
8
+ variant?: "link" | "default" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
9
+ size?: "default" | "sm" | "xs" | "icon" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
10
+ } & class_variance_authority_types6.ClassProp) | undefined) => string;
11
11
  declare function Button$1({
12
12
  className,
13
13
  variant,
14
14
  size,
15
15
  ...props
16
- }: Button.Props & VariantProps<typeof buttonVariants>): react_jsx_runtime24.JSX.Element;
16
+ }: Button.Props & VariantProps<typeof buttonVariants>): react_jsx_runtime113.JSX.Element;
17
17
  //#endregion
18
18
  export { buttonVariants as n, Button$1 as t };
19
- //# sourceMappingURL=button-BkzvdmIX.d.ts.map
19
+ //# sourceMappingURL=button-BJ727apo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-BkzvdmIX.d.ts","names":[],"sources":["../src/components/button.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;;IAmCL,+BAAA,CAAA;AAvCgE,iBAyCxD,QAAA,CAFR;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAOE,MAAA,CAAgB,KAPlB,GAO0B,YAP1B,CAAA,OAO8C,cAP9C,CAAA,CAAA,EAO6D,mBAAA,CAAA,GAAA,CAAA,OAP7D"}
1
+ {"version":3,"file":"button-BJ727apo.d.ts","names":[],"sources":["../src/components/button.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;;IAmCL,+BAAA,CAAA;AAvCgE,iBAyCxD,QAAA,CAFR;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAOE,MAAA,CAAgB,KAPlB,GAO0B,YAP1B,CAAA,OAO8C,cAP9C,CAAA,CAAA,EAO6D,oBAAA,CAAA,GAAA,CAAA,OAP7D"}
@@ -1,4 +1,4 @@
1
- import { t as cn } from "./utils-mWJR2N24.js";
1
+ import { t as cn } from "./utils-DeIaBj75.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Button } from "@base-ui/react/button";
4
4
  import { cva } from "class-variance-authority";
@@ -44,4 +44,4 @@ function Button$1({ className, variant = "default", size = "default", ...props }
44
44
 
45
45
  //#endregion
46
46
  export { buttonVariants as n, Button$1 as t };
47
- //# sourceMappingURL=button-hBUFMmsZ.js.map
47
+ //# sourceMappingURL=button-Cp2S1spE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-hBUFMmsZ.js","names":["Button","ButtonPrimitive"],"sources":["../src/components/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline:\n \"border-border bg-background shadow-xs hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2\",\n icon: \"size-9\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":";;;;;;AAKA,MAAM,iBAAiB,IACrB,8lBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACF,WACE;GACF,OACE;GACF,aACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SACE;GACF,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WACE;GACF,WACE;GACF,WAAW;GACZ;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAASA,SAAO,EACd,WACA,UAAU,WACV,OAAO,WACP,GAAG,SAC2D;AAC9D,QACE,oBAACC;EACC,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
1
+ {"version":3,"file":"button-Cp2S1spE.js","names":["Button","ButtonPrimitive"],"sources":["../src/components/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline:\n \"border-border bg-background shadow-xs hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50\",\n destructive:\n \"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2\",\n icon: \"size-9\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":";;;;;;AAKA,MAAM,iBAAiB,IACrB,8lBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACF,WACE;GACF,OACE;GACF,aACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SACE;GACF,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WACE;GACF,WACE;GACF,WAAW;GACZ;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAASA,SAAO,EACd,WACA,UAAU,WACV,OAAO,WACP,GAAG,SAC2D;AAC9D,QACE,oBAACC;EACC,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
@@ -1,6 +1,6 @@
1
- import { r as LoadOptionsConfig } from "./use-async-options-Cu5T43vj.js";
2
- import * as react_jsx_runtime54 from "react/jsx-runtime";
1
+ import { r as LoadOptionsConfig } from "./use-async-options-rNdyxIrQ.js";
3
2
  import * as React$1 from "react";
3
+ import * as react_jsx_runtime14 from "react/jsx-runtime";
4
4
  import { Combobox } from "@base-ui/react";
5
5
 
6
6
  //#region src/components/combobox.d.ts
@@ -18,20 +18,20 @@ declare function Combobox$1<Value, Multiple extends boolean | undefined = false>
18
18
  eager,
19
19
  localFilter,
20
20
  ...props
21
- }: ComboboxProps<Value, Multiple>): react_jsx_runtime54.JSX.Element;
21
+ }: ComboboxProps<Value, Multiple>): react_jsx_runtime14.JSX.Element;
22
22
  declare function ComboboxValue({
23
23
  ...props
24
- }: Combobox.Value.Props): react_jsx_runtime54.JSX.Element;
24
+ }: Combobox.Value.Props): react_jsx_runtime14.JSX.Element;
25
25
  declare function ComboboxTrigger({
26
26
  className,
27
27
  children,
28
28
  ref,
29
29
  ...props
30
- }: Combobox.Trigger.Props): react_jsx_runtime54.JSX.Element;
30
+ }: Combobox.Trigger.Props): react_jsx_runtime14.JSX.Element;
31
31
  declare function ComboboxClear({
32
32
  className,
33
33
  ...props
34
- }: Combobox.Clear.Props): react_jsx_runtime54.JSX.Element;
34
+ }: Combobox.Clear.Props): react_jsx_runtime14.JSX.Element;
35
35
  declare function ComboboxInput({
36
36
  className,
37
37
  children,
@@ -42,7 +42,7 @@ declare function ComboboxInput({
42
42
  }: Combobox.Input.Props & {
43
43
  showTrigger?: boolean;
44
44
  showClear?: boolean;
45
- }): react_jsx_runtime54.JSX.Element;
45
+ }): react_jsx_runtime14.JSX.Element;
46
46
  declare function ComboboxContent({
47
47
  className,
48
48
  side,
@@ -52,29 +52,29 @@ declare function ComboboxContent({
52
52
  anchor,
53
53
  children,
54
54
  ...props
55
- }: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime54.JSX.Element;
55
+ }: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime14.JSX.Element;
56
56
  declare function ComboboxList({
57
57
  className,
58
58
  children,
59
59
  ref,
60
60
  ...props
61
- }: React$1.ComponentPropsWithRef<typeof Combobox.List>): react_jsx_runtime54.JSX.Element;
61
+ }: React$1.ComponentPropsWithRef<typeof Combobox.List>): react_jsx_runtime14.JSX.Element;
62
62
  declare function ComboboxItem({
63
63
  className,
64
64
  children,
65
65
  ...props
66
- }: Combobox.Item.Props): react_jsx_runtime54.JSX.Element;
66
+ }: Combobox.Item.Props): react_jsx_runtime14.JSX.Element;
67
67
  declare function ComboboxGroup({
68
68
  className,
69
69
  ...props
70
- }: Combobox.Group.Props): react_jsx_runtime54.JSX.Element;
70
+ }: Combobox.Group.Props): react_jsx_runtime14.JSX.Element;
71
71
  declare function ComboboxLabel({
72
72
  className,
73
73
  ...props
74
- }: Combobox.GroupLabel.Props): react_jsx_runtime54.JSX.Element;
74
+ }: Combobox.GroupLabel.Props): react_jsx_runtime14.JSX.Element;
75
75
  declare function ComboboxCollection({
76
76
  ...props
77
- }: Combobox.Collection.Props): react_jsx_runtime54.JSX.Element;
77
+ }: Combobox.Collection.Props): react_jsx_runtime14.JSX.Element;
78
78
  declare function ComboboxStatus({
79
79
  loading,
80
80
  error,
@@ -85,16 +85,16 @@ declare function ComboboxStatus({
85
85
  loading?: React$1.ReactNode;
86
86
  error?: React$1.ReactNode;
87
87
  empty?: React$1.ReactNode;
88
- }): react_jsx_runtime54.JSX.Element;
88
+ }): react_jsx_runtime14.JSX.Element;
89
89
  declare function ComboboxSeparator({
90
90
  className,
91
91
  ...props
92
- }: Combobox.Separator.Props): react_jsx_runtime54.JSX.Element;
92
+ }: Combobox.Separator.Props): react_jsx_runtime14.JSX.Element;
93
93
  declare function ComboboxChips({
94
94
  className,
95
95
  ref,
96
96
  ...props
97
- }: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props): react_jsx_runtime54.JSX.Element;
97
+ }: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props): react_jsx_runtime14.JSX.Element;
98
98
  declare function ComboboxChip({
99
99
  className,
100
100
  children,
@@ -102,12 +102,12 @@ declare function ComboboxChip({
102
102
  ...props
103
103
  }: Combobox.Chip.Props & {
104
104
  showRemove?: boolean;
105
- }): react_jsx_runtime54.JSX.Element;
105
+ }): react_jsx_runtime14.JSX.Element;
106
106
  declare function ComboboxChipsInput({
107
107
  className,
108
108
  ...props
109
- }: Combobox.Input.Props): react_jsx_runtime54.JSX.Element;
109
+ }: Combobox.Input.Props): react_jsx_runtime14.JSX.Element;
110
110
  declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
111
111
  //#endregion
112
112
  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 };
113
- //# sourceMappingURL=combobox-C5txQ2La.d.ts.map
113
+ //# sourceMappingURL=combobox-B73nb6Tq.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-C5txQ2La.d.ts","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"combobox-B73nb6Tq.d.ts","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { t as cn } from "./utils-mWJR2N24.js";
2
- import { t as Button } from "./button-hBUFMmsZ.js";
3
- import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-DqEkmpXW.js";
4
- import { t as Spinner } from "./spinner-Bo0sUZEg.js";
5
- import { n as useAsyncOptions } from "./use-async-options-CcsImGX4.js";
6
- import { t as use_infinite_scroll_default } from "./use-infinite-scroll-CpbhGGT5.js";
7
- import { t as useDebounce } from "./use-debounce-_qaEZqtt.js";
1
+ import { n as useAsyncOptions } from "./use-async-options-CtB4wZrr.js";
2
+ import { t as useDebounce } from "./use-debounce--Lv1ABSa.js";
3
+ import { t as use_infinite_scroll_default } from "./use-infinite-scroll-CC_Guyvn.js";
4
+ import { t as cn } from "./utils-DeIaBj75.js";
5
+ import { t as Button } from "./button-Cp2S1spE.js";
6
+ import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-C78_1dEy.js";
7
+ import { t as Spinner } from "./spinner-C7yzrK_s.js";
8
+ import * as React$1 from "react";
8
9
  import { CheckIcon, ChevronDownIcon, XIcon } from "lucide-react";
9
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
- import * as React$1 from "react";
11
11
  import { Combobox } from "@base-ui/react";
12
12
 
13
13
  //#region src/components/combobox.tsx
@@ -338,4 +338,4 @@ function useComboboxAnchor() {
338
338
 
339
339
  //#endregion
340
340
  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 };
341
- //# sourceMappingURL=combobox-CHkmVNZ2.js.map
341
+ //# sourceMappingURL=combobox-Di5naqIR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-CHkmVNZ2.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 eager?: boolean;\n localFilter?: boolean;\n};\n\nfunction Combobox<Value, Multiple extends boolean | undefined = false>({\n loadOptions,\n debounceMs,\n isLoading = false,\n eager = false,\n localFilter = 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 eager={eager}\n localFilter={localFilter}\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: filterProp,\n items: _ignoredItems,\n autoHighlight = \"always\",\n isLoading: isLoadingProp = false,\n eager = false,\n localFilter = 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 eager?: boolean;\n localFilter?: 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 eager,\n localFilter,\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={asyncState.isLocalFilter ? filterProp : 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 gap-2 py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {isLoading ? (\n <>\n <Spinner aria-hidden className=\"size-4\" />\n {loading}\n </>\n ) : (\n error\n )}\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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"}
1
+ {"version":3,"file":"combobox-Di5naqIR.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 eager?: boolean;\n localFilter?: boolean;\n};\n\nfunction Combobox<Value, Multiple extends boolean | undefined = false>({\n loadOptions,\n debounceMs,\n isLoading = false,\n eager = false,\n localFilter = 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 eager={eager}\n localFilter={localFilter}\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: filterProp,\n items: _ignoredItems,\n autoHighlight = \"always\",\n isLoading: isLoadingProp = false,\n eager = false,\n localFilter = 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 eager?: boolean;\n localFilter?: 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 eager,\n localFilter,\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={asyncState.isLocalFilter ? filterProp : 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 gap-2 py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {isLoading ? (\n <>\n <Spinner aria-hidden className=\"size-4\" />\n {loading}\n </>\n ) : (\n error\n )}\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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"}
@@ -1,25 +1,25 @@
1
+ import * as react_jsx_runtime31 from "react/jsx-runtime";
1
2
  import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
2
- import * as react_jsx_runtime177 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/accordion.d.ts
5
5
  declare function Accordion({
6
6
  className,
7
7
  ...props
8
- }: Accordion$1.Root.Props): react_jsx_runtime177.JSX.Element;
8
+ }: Accordion$1.Root.Props): react_jsx_runtime31.JSX.Element;
9
9
  declare function AccordionItem({
10
10
  className,
11
11
  ...props
12
- }: Accordion$1.Item.Props): react_jsx_runtime177.JSX.Element;
12
+ }: Accordion$1.Item.Props): react_jsx_runtime31.JSX.Element;
13
13
  declare function AccordionTrigger({
14
14
  className,
15
15
  children,
16
16
  ...props
17
- }: Accordion$1.Trigger.Props): react_jsx_runtime177.JSX.Element;
17
+ }: Accordion$1.Trigger.Props): react_jsx_runtime31.JSX.Element;
18
18
  declare function AccordionContent({
19
19
  className,
20
20
  children,
21
21
  ...props
22
- }: Accordion$1.Panel.Props): react_jsx_runtime177.JSX.Element;
22
+ }: Accordion$1.Panel.Props): react_jsx_runtime31.JSX.Element;
23
23
  //#endregion
24
24
  export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
25
25
  //# sourceMappingURL=accordion.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;iBAKS,SAAA;;;GAAmC,WAAA,CAAmB,IAAA,CAAK,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAUhE,aAAA;;;GAAuC,WAAA,CAAmB,IAAA,CAAK,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAUpE,gBAAA;;;;GAIN,WAAA,CAAmB,OAAA,CAAQ,QAAK,mBAAA,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,mBAAA,CAAA,GAAA,CAAA,OA/Cf"}
@@ -1,7 +1,7 @@
1
- import { t as cn } from "../utils-mWJR2N24.js";
2
- import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
1
+ import { t as cn } from "../utils-DeIaBj75.js";
3
2
  import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
5
5
 
6
6
  //#region src/components/accordion.tsx
7
7
  function Accordion({ className, ...props }) {
@@ -1,59 +1,59 @@
1
- import { t as Button } from "../button-BkzvdmIX.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { t as Button } from "../button-BJ727apo.js";
3
2
  import * as React$1 from "react";
3
+ import * as react_jsx_runtime45 from "react/jsx-runtime";
4
4
  import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
5
5
 
6
6
  //#region src/components/alert-dialog.d.ts
7
7
  declare function AlertDialog({
8
8
  ...props
9
- }: AlertDialog$1.Root.Props): react_jsx_runtime0.JSX.Element;
9
+ }: AlertDialog$1.Root.Props): react_jsx_runtime45.JSX.Element;
10
10
  declare function AlertDialogTrigger({
11
11
  ...props
12
- }: AlertDialog$1.Trigger.Props): react_jsx_runtime0.JSX.Element;
12
+ }: AlertDialog$1.Trigger.Props): react_jsx_runtime45.JSX.Element;
13
13
  declare function AlertDialogPortal({
14
14
  ...props
15
- }: AlertDialog$1.Portal.Props): react_jsx_runtime0.JSX.Element;
15
+ }: AlertDialog$1.Portal.Props): react_jsx_runtime45.JSX.Element;
16
16
  declare function AlertDialogOverlay({
17
17
  className,
18
18
  ...props
19
- }: AlertDialog$1.Backdrop.Props): react_jsx_runtime0.JSX.Element;
19
+ }: AlertDialog$1.Backdrop.Props): react_jsx_runtime45.JSX.Element;
20
20
  declare function AlertDialogContent({
21
21
  className,
22
22
  size,
23
23
  ...props
24
24
  }: AlertDialog$1.Popup.Props & {
25
25
  size?: "default" | "sm";
26
- }): react_jsx_runtime0.JSX.Element;
26
+ }): react_jsx_runtime45.JSX.Element;
27
27
  declare function AlertDialogHeader({
28
28
  className,
29
29
  ...props
30
- }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
30
+ }: React$1.ComponentProps<"div">): react_jsx_runtime45.JSX.Element;
31
31
  declare function AlertDialogFooter({
32
32
  className,
33
33
  ...props
34
- }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
34
+ }: React$1.ComponentProps<"div">): react_jsx_runtime45.JSX.Element;
35
35
  declare function AlertDialogMedia({
36
36
  className,
37
37
  ...props
38
- }: React$1.ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
38
+ }: React$1.ComponentProps<"div">): react_jsx_runtime45.JSX.Element;
39
39
  declare function AlertDialogTitle({
40
40
  className,
41
41
  ...props
42
- }: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime0.JSX.Element;
42
+ }: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime45.JSX.Element;
43
43
  declare function AlertDialogDescription({
44
44
  className,
45
45
  ...props
46
- }: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime0.JSX.Element;
46
+ }: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime45.JSX.Element;
47
47
  declare function AlertDialogAction({
48
48
  className,
49
49
  ...props
50
- }: React$1.ComponentProps<typeof Button>): react_jsx_runtime0.JSX.Element;
50
+ }: React$1.ComponentProps<typeof Button>): react_jsx_runtime45.JSX.Element;
51
51
  declare function AlertDialogCancel({
52
52
  className,
53
53
  variant,
54
54
  size,
55
55
  ...props
56
- }: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime0.JSX.Element;
56
+ }: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime45.JSX.Element;
57
57
  declare const createAlertDialogHandle: typeof AlertDialog$1.createHandle;
58
58
  type AlertDialogHandle<Payload = unknown> = AlertDialog$1.Handle<Payload>;
59
59
  //#endregion
@@ -1 +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,kBAAA,CAAA,GAAA,CAAA;iBAIzD,kBAAA;;GAAiC,aAAA,CAAqB,OAAA,CAAQ,QAAK,kBAAA,CAAA,GAAA,CAAA;iBAMnE,iBAAA;;GAAgC,aAAA,CAAqB,MAAA,CAAO,QAAK,kBAAA,CAAA,GAAA,CAAA;AAZtB,iBAkB3C,kBAAA,CAhB0B;EAAA,SAAqB;EAAK,GAAA;AAAK,CAAA,EAmB/D,aAAA,CAAqB,QAAA,CAAS,KAnBiC,CAAA,EAmB5B,kBAAA,CAAA,GAAA,CAAA,OAnB4B;AAAA,iBAgCzD,kBAAA,CA5BiC;EAAA,SAAA;EAAA,IAAqB;EAAA,GAAQ;AAMG,CANE,EAgCzE,aAAA,CAAqB,KAAA,CAAM,KAhC8C,GAAA;EAMnE,IAAA,CAAA,EAAA,SAAA,GAAA,IAAiB;AAAgD,CAAA,CAAA,EA4BzE,kBAAA,CAAA,GAAA,CAAA,OAtB0B;iBAuClB,iBAAA,CAtCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCC,OAAA,CAAM,cAzCP,CAAA,KAAA,CAAA,CAAA,EAyC4B,kBAAA,CAAA,GAAA,CAAA,OAzC5B;iBAsDO,iBAAA,CApDwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuD9B,OAAA,CAAM,cAvDwB,CAAA,KAAA,CAAA,CAAA,EAuDH,kBAAA,CAAA,GAAA,CAAA,OAvDG;iBAoExB,gBAAA,CApE6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuEnC,OAAA,CAAM,cAvE6B,CAAA,KAAA,CAAA,CAAA,EAuER,kBAAA,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,kBAAA,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,kBAAA,CAAA,GAAA,CAAA,OA1FrC;iBAuGlB,iBAAA,CAtGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGC,OAAA,CAAM,cAzGP,CAAA,OAyG6B,MAzG7B,CAAA,CAAA,EAyGoC,kBAAA,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,kBAAA,CAAA,GAAA,CAAA,OAxH7D;AAID,cA8IY,uBA9IZ,EAAA,OA8ImC,aAAA,CAAA,YA9InC;AAAA,KA+IW,iBA/IX,CAAA,UAAA,OAAA,CAAA,GAgJC,aAAA,CAAqB,MAhJtB,CAgJ6B,OAhJ7B,CAAA"}
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,mBAAA,CAAA,GAAA,CAAA;iBAIzD,kBAAA;;GAAiC,aAAA,CAAqB,OAAA,CAAQ,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAMnE,iBAAA;;GAAgC,aAAA,CAAqB,MAAA,CAAO,QAAK,mBAAA,CAAA,GAAA,CAAA;AAZtB,iBAkB3C,kBAAA,CAhB0B;EAAA,SAAqB;EAAK,GAAA;AAAK,CAAA,EAmB/D,aAAA,CAAqB,QAAA,CAAS,KAnBiC,CAAA,EAmB5B,mBAAA,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,mBAAA,CAAA,GAAA,CAAA,OAtB0B;iBAuClB,iBAAA,CAtCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCC,OAAA,CAAM,cAzCP,CAAA,KAAA,CAAA,CAAA,EAyC4B,mBAAA,CAAA,GAAA,CAAA,OAzC5B;iBAsDO,iBAAA,CApDwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuD9B,OAAA,CAAM,cAvDwB,CAAA,KAAA,CAAA,CAAA,EAuDH,mBAAA,CAAA,GAAA,CAAA,OAvDG;iBAoExB,gBAAA,CApE6B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuEnC,OAAA,CAAM,cAvE6B,CAAA,KAAA,CAAA,CAAA,EAuER,mBAAA,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,mBAAA,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,mBAAA,CAAA,GAAA,CAAA,OA1FrC;iBAuGlB,iBAAA,CAtGP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGC,OAAA,CAAM,cAzGP,CAAA,OAyG6B,MAzG7B,CAAA,CAAA,EAyGoC,mBAAA,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,mBAAA,CAAA,GAAA,CAAA,OAxH7D;AAID,cA8IY,uBA9IZ,EAAA,OA8ImC,aAAA,CAAA,YA9InC;AAAA,KA+IW,iBA/IX,CAAA,UAAA,OAAA,CAAA,GAgJC,aAAA,CAAqB,MAhJtB,CAgJ6B,OAhJ7B,CAAA"}