@bigbinary/neeto-atoms 1.0.36 → 1.0.37

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 (743) hide show
  1. package/dist/Accordion-DVMgPBum.js +45 -0
  2. package/dist/{Accordion-Ch9S_qd3.js.map → Accordion-DVMgPBum.js.map} +1 -1
  3. package/dist/Alert-bS5M631u.js +150 -0
  4. package/dist/{Alert-CayTuRLW.js.map → Alert-bS5M631u.js.map} +1 -1
  5. package/dist/Avatar-CJq2rlgk.js +71 -0
  6. package/dist/{Avatar-D5YGlXVF.js.map → Avatar-CJq2rlgk.js.map} +1 -1
  7. package/dist/Badge-DC6zxOwS.js +131 -0
  8. package/dist/{Badge-Bj3ajrWB.js.map → Badge-DC6zxOwS.js.map} +1 -1
  9. package/dist/Button-BCWJgHDy.js +193 -0
  10. package/dist/Button-BCWJgHDy.js.map +1 -0
  11. package/dist/{Calendar-gPWbQa_c.js → Calendar-CjOBwDbx.js} +181 -72
  12. package/dist/{Calendar-gPWbQa_c.js.map → Calendar-CjOBwDbx.js.map} +1 -1
  13. package/dist/{Callout-CTr3dhBe.js → Callout-ClNFeMbn.js} +36 -22
  14. package/dist/{Callout-CTr3dhBe.js.map → Callout-ClNFeMbn.js.map} +1 -1
  15. package/dist/Checkbox-C_Rd2-8Z.js +75 -0
  16. package/dist/{Checkbox-zCxgcZiC.js.map → Checkbox-C_Rd2-8Z.js.map} +1 -1
  17. package/dist/ColorPicker-D7Y1gZNn.js +437 -0
  18. package/dist/ColorPicker-D7Y1gZNn.js.map +1 -0
  19. package/dist/{DataTable-BpMBsz5i.js → DataTable-CEA8czNL.js} +1024 -641
  20. package/dist/DataTable-CEA8czNL.js.map +1 -0
  21. package/dist/{DatePicker-B7SYjsog.js → DatePicker-CCN3b1oz.js} +439 -264
  22. package/dist/{DatePicker-B7SYjsog.js.map → DatePicker-CCN3b1oz.js.map} +1 -1
  23. package/dist/Dialog-BOcBeB8v.js +147 -0
  24. package/dist/{Dialog-BURSzxaP.js.map → Dialog-BOcBeB8v.js.map} +1 -1
  25. package/dist/{DirectionProvider-DGYDg_He.js → DirectionProvider-weqLz_BJ.js} +2 -2
  26. package/dist/{DirectionProvider-DGYDg_He.js.map → DirectionProvider-weqLz_BJ.js.map} +1 -1
  27. package/dist/Empty-fV1Yplri.js +75 -0
  28. package/dist/{Empty-zyL2ZsHX.js.map → Empty-fV1Yplri.js.map} +1 -1
  29. package/dist/Input-xjYQfsaz.js +222 -0
  30. package/dist/{Input-C1gcv9o2.js.map → Input-xjYQfsaz.js.map} +1 -1
  31. package/dist/Kbd-CJOM9x4C.js +41 -0
  32. package/dist/{Kbd-EqbC0bua.js.map → Kbd-CJOM9x4C.js.map} +1 -1
  33. package/dist/Label-CrCRic4I.js +87 -0
  34. package/dist/{Label-DAFESZOG.js.map → Label-CrCRic4I.js.map} +1 -1
  35. package/dist/MultiEmailInput-L-QJg0hh.js +262 -0
  36. package/dist/MultiEmailInput-L-QJg0hh.js.map +1 -0
  37. package/dist/Pagination-C_X9kgc8.js +103 -0
  38. package/dist/{Pagination-DSc9yXPy.js.map → Pagination-C_X9kgc8.js.map} +1 -1
  39. package/dist/Popover-Cco_6txS.js +131 -0
  40. package/dist/{Popover-Dmq-xK_a.js.map → Popover-Cco_6txS.js.map} +1 -1
  41. package/dist/Progress-DURemsl_.js +18 -0
  42. package/dist/{Progress-B9NlUm6e.js.map → Progress-DURemsl_.js.map} +1 -1
  43. package/dist/RadioGroup-BTemSonO.js +106 -0
  44. package/dist/{RadioGroup-BNeYQAoT.js.map → RadioGroup-BTemSonO.js.map} +1 -1
  45. package/dist/Select-o0yJaN0P.js +1059 -0
  46. package/dist/Select-o0yJaN0P.js.map +1 -0
  47. package/dist/SelectFieldWrapper-CiBARDsn.js +74 -0
  48. package/dist/{SelectFieldWrapper-BJzq9aCY.js.map → SelectFieldWrapper-CiBARDsn.js.map} +1 -1
  49. package/dist/Sheet-DVoy6if3.js +158 -0
  50. package/dist/{Sheet-B99vGwLH.js.map → Sheet-DVoy6if3.js.map} +1 -1
  51. package/dist/Slider-DNcH5X7b.js +65 -0
  52. package/dist/{Slider-BCQXhs0Q.js.map → Slider-DNcH5X7b.js.map} +1 -1
  53. package/dist/Spinner-DgV3mILN.js +26 -0
  54. package/dist/{Spinner-C8HSac-2.js.map → Spinner-DgV3mILN.js.map} +1 -1
  55. package/dist/Stepper-7OpfOfas.js +109 -0
  56. package/dist/{Stepper-BoGkmkY0.js.map → Stepper-7OpfOfas.js.map} +1 -1
  57. package/dist/Switch-OAB7pfNn.js +82 -0
  58. package/dist/{Switch-B83TGxJ_.js.map → Switch-OAB7pfNn.js.map} +1 -1
  59. package/dist/Tabs-DTbbJITd.js +64 -0
  60. package/dist/{Tabs-DWfKnl3S.js.map → Tabs-DTbbJITd.js.map} +1 -1
  61. package/dist/Textarea-B2Uhx-Yy.js +181 -0
  62. package/dist/{Textarea-C0z50h0N.js.map → Textarea-B2Uhx-Yy.js.map} +1 -1
  63. package/dist/TimePicker-wPi2k6Z8.js +264 -0
  64. package/dist/TimePicker-wPi2k6Z8.js.map +1 -0
  65. package/dist/TimePickerPanel-DAhz3B2d.js +227 -0
  66. package/dist/{TimePickerPanel-CiF0RExY.js.map → TimePickerPanel-DAhz3B2d.js.map} +1 -1
  67. package/dist/Toastr-BimwuEnS.js +95 -0
  68. package/dist/{Toastr-DYqpSaMd.js.map → Toastr-BimwuEnS.js.map} +1 -1
  69. package/dist/Tooltip-CA3irJ2q.js +88 -0
  70. package/dist/{Tooltip-3ZzQyaDV.js.map → Tooltip-CA3irJ2q.js.map} +1 -1
  71. package/dist/{TranslationProvider-Ba9rn47H.js → TranslationProvider-BvRvUsPS.js} +20 -17
  72. package/dist/{TranslationProvider-Ba9rn47H.js.map → TranslationProvider-BvRvUsPS.js.map} +1 -1
  73. package/dist/{Tree-C7r10UY5.js → Tree-BlzjThRi.js} +515 -322
  74. package/dist/Tree-BlzjThRi.js.map +1 -0
  75. package/dist/TreeSelect-Dk299XMv.js +335 -0
  76. package/dist/TreeSelect-Dk299XMv.js.map +1 -0
  77. package/dist/Typography-CiQzW5Fy.js +97 -0
  78. package/dist/{Typography-ClPJbLjP.js.map → Typography-CiQzW5Fy.js.map} +1 -1
  79. package/dist/button-CrEMzWKw.js +67 -0
  80. package/dist/{button-D6uWDFCs.js.map → button-CrEMzWKw.js.map} +1 -1
  81. package/dist/cjs/Accordion-D75SDnkY.js +51 -0
  82. package/dist/cjs/Accordion-D75SDnkY.js.map +1 -0
  83. package/dist/cjs/Alert-_TPuVqa5.js +152 -0
  84. package/dist/cjs/Alert-_TPuVqa5.js.map +1 -0
  85. package/dist/cjs/Avatar-nG7vhAUS.js +73 -0
  86. package/dist/cjs/Avatar-nG7vhAUS.js.map +1 -0
  87. package/dist/cjs/Badge-Dz_Kb49L.js +133 -0
  88. package/dist/cjs/Badge-Dz_Kb49L.js.map +1 -0
  89. package/dist/cjs/Button-BlNtYr1w.js +195 -0
  90. package/dist/cjs/Button-BlNtYr1w.js.map +1 -0
  91. package/dist/cjs/{Calendar-jVF8fRaS.js → Calendar-02KiUZTT.js} +181 -72
  92. package/dist/cjs/Calendar-02KiUZTT.js.map +1 -0
  93. package/dist/cjs/{Callout-CVNpjTde.js → Callout-_XBx1JHL.js} +36 -22
  94. package/dist/cjs/Callout-_XBx1JHL.js.map +1 -0
  95. package/dist/cjs/Checkbox-CxqWOvFN.js +77 -0
  96. package/dist/cjs/Checkbox-CxqWOvFN.js.map +1 -0
  97. package/dist/cjs/ColorPicker-Co1Gffsu.js +439 -0
  98. package/dist/cjs/ColorPicker-Co1Gffsu.js.map +1 -0
  99. package/dist/cjs/{DataTable-BynOh4Bs.js → DataTable-DRGW8JVP.js} +1024 -641
  100. package/dist/cjs/DataTable-DRGW8JVP.js.map +1 -0
  101. package/dist/cjs/{DatePicker-C0BwxIh8.js → DatePicker-DRQubO2h.js} +439 -264
  102. package/dist/cjs/DatePicker-DRQubO2h.js.map +1 -0
  103. package/dist/cjs/Dialog-CBSuKeu_.js +149 -0
  104. package/dist/cjs/Dialog-CBSuKeu_.js.map +1 -0
  105. package/dist/cjs/{DirectionProvider-Bec-6U8p.js → DirectionProvider-BTtE4FcN.js} +2 -2
  106. package/dist/cjs/DirectionProvider-BTtE4FcN.js.map +1 -0
  107. package/dist/cjs/Empty-DqmmPlPJ.js +77 -0
  108. package/dist/cjs/Empty-DqmmPlPJ.js.map +1 -0
  109. package/dist/cjs/Input-CpuJXazH.js +224 -0
  110. package/dist/cjs/Input-CpuJXazH.js.map +1 -0
  111. package/dist/cjs/Kbd-D2nELu5m.js +43 -0
  112. package/dist/cjs/Kbd-D2nELu5m.js.map +1 -0
  113. package/dist/cjs/Label-DFkiC2Jk.js +89 -0
  114. package/dist/cjs/Label-DFkiC2Jk.js.map +1 -0
  115. package/dist/cjs/MultiEmailInput-CPXODFvs.js +264 -0
  116. package/dist/cjs/MultiEmailInput-CPXODFvs.js.map +1 -0
  117. package/dist/cjs/Pagination-DeWfLAq5.js +105 -0
  118. package/dist/cjs/Pagination-DeWfLAq5.js.map +1 -0
  119. package/dist/cjs/Popover-Br9hkU5i.js +137 -0
  120. package/dist/cjs/Popover-Br9hkU5i.js.map +1 -0
  121. package/dist/cjs/Progress-yBpMAzIU.js +20 -0
  122. package/dist/cjs/Progress-yBpMAzIU.js.map +1 -0
  123. package/dist/cjs/RadioGroup-CkKlLHnR.js +108 -0
  124. package/dist/cjs/RadioGroup-CkKlLHnR.js.map +1 -0
  125. package/dist/cjs/Select-DbfPhEu0.js +1065 -0
  126. package/dist/cjs/Select-DbfPhEu0.js.map +1 -0
  127. package/dist/cjs/SelectFieldWrapper-DKkizQNM.js +76 -0
  128. package/dist/cjs/SelectFieldWrapper-DKkizQNM.js.map +1 -0
  129. package/dist/cjs/Sheet-mJ7pJHrn.js +160 -0
  130. package/dist/cjs/Sheet-mJ7pJHrn.js.map +1 -0
  131. package/dist/cjs/Slider-ICf2eQ6p.js +67 -0
  132. package/dist/cjs/Slider-ICf2eQ6p.js.map +1 -0
  133. package/dist/cjs/Spinner-DzNBz8al.js +28 -0
  134. package/dist/cjs/Spinner-DzNBz8al.js.map +1 -0
  135. package/dist/cjs/Stepper-DZb25oBH.js +115 -0
  136. package/dist/cjs/Stepper-DZb25oBH.js.map +1 -0
  137. package/dist/cjs/Switch-BTkncHw2.js +84 -0
  138. package/dist/cjs/Switch-BTkncHw2.js.map +1 -0
  139. package/dist/cjs/Tabs-YPRmLtUM.js +66 -0
  140. package/dist/cjs/Tabs-YPRmLtUM.js.map +1 -0
  141. package/dist/cjs/Textarea-yWv-66yX.js +183 -0
  142. package/dist/cjs/Textarea-yWv-66yX.js.map +1 -0
  143. package/dist/cjs/TimePicker-BG_vYH3r.js +266 -0
  144. package/dist/cjs/TimePicker-BG_vYH3r.js.map +1 -0
  145. package/dist/cjs/TimePickerPanel-6xA-hjhm.js +233 -0
  146. package/dist/cjs/TimePickerPanel-6xA-hjhm.js.map +1 -0
  147. package/dist/cjs/Toastr-DYWd66L7.js +97 -0
  148. package/dist/cjs/Toastr-DYWd66L7.js.map +1 -0
  149. package/dist/cjs/Tooltip-Dph_R3Ct.js +94 -0
  150. package/dist/cjs/Tooltip-Dph_R3Ct.js.map +1 -0
  151. package/dist/cjs/{TranslationProvider-DBZHXmzX.js → TranslationProvider-Dh5_Fzzk.js} +20 -17
  152. package/dist/cjs/TranslationProvider-Dh5_Fzzk.js.map +1 -0
  153. package/dist/cjs/{Tree-BPd0DuLh.js → Tree-DAyVPLnJ.js} +515 -322
  154. package/dist/cjs/Tree-DAyVPLnJ.js.map +1 -0
  155. package/dist/cjs/TreeSelect-Cmm5yYq3.js +337 -0
  156. package/dist/cjs/TreeSelect-Cmm5yYq3.js.map +1 -0
  157. package/dist/cjs/Typography-UyaYuppP.js +100 -0
  158. package/dist/cjs/Typography-UyaYuppP.js.map +1 -0
  159. package/dist/cjs/button-CMl9rLXi.js +90 -0
  160. package/dist/cjs/button-CMl9rLXi.js.map +1 -0
  161. package/dist/cjs/components/Accordion.js +2 -2
  162. package/dist/cjs/components/Alert.js +10 -10
  163. package/dist/cjs/components/Avatar.js +3 -3
  164. package/dist/cjs/components/Badge.js +4 -4
  165. package/dist/cjs/components/Button.js +6 -6
  166. package/dist/cjs/components/Callout.js +4 -4
  167. package/dist/cjs/components/Checkbox.js +5 -5
  168. package/dist/cjs/components/ColorPicker.js +5 -5
  169. package/dist/cjs/components/DataTable.js +15 -15
  170. package/dist/cjs/components/DatePicker.js +9 -9
  171. package/dist/cjs/components/Dialog.js +7 -7
  172. package/dist/cjs/components/DirectionProvider.js +1 -1
  173. package/dist/cjs/components/DropdownMenu.js +320 -92
  174. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  175. package/dist/cjs/components/Empty.js +16 -16
  176. package/dist/cjs/components/Input.js +9 -9
  177. package/dist/cjs/components/Kbd.js +3 -3
  178. package/dist/cjs/components/Label.js +12 -12
  179. package/dist/cjs/components/MultiEmailInput.js +5 -5
  180. package/dist/cjs/components/Pagination.js +4 -4
  181. package/dist/cjs/components/Popover.js +6 -6
  182. package/dist/cjs/components/Progress.js +2 -2
  183. package/dist/cjs/components/RadioGroup.js +5 -5
  184. package/dist/cjs/components/Select.js +10 -10
  185. package/dist/cjs/components/Sheet.js +7 -7
  186. package/dist/cjs/components/Slider.js +5 -5
  187. package/dist/cjs/components/Spinner.js +2 -2
  188. package/dist/cjs/components/Stepper.js +2 -2
  189. package/dist/cjs/components/Switch.js +3 -3
  190. package/dist/cjs/components/Tabs.js +4 -4
  191. package/dist/cjs/components/Textarea.js +6 -6
  192. package/dist/cjs/components/TimePicker.js +8 -8
  193. package/dist/cjs/components/Toastr.js +1 -1
  194. package/dist/cjs/components/Tooltip.js +3 -3
  195. package/dist/cjs/components/TranslationProvider.js +1 -1
  196. package/dist/cjs/components/Tree.js +3 -3
  197. package/dist/cjs/components/TreeSelect.js +8 -8
  198. package/dist/cjs/components/Typography.js +3 -3
  199. package/dist/cjs/components/index.js +80 -80
  200. package/dist/cjs/dialog-Cs1qH5xA.js +161 -0
  201. package/dist/cjs/dialog-Cs1qH5xA.js.map +1 -0
  202. package/dist/cjs/formik/ActionBlock.js +56 -12
  203. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  204. package/dist/cjs/formik/BlockNavigation.js +150 -79
  205. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  206. package/dist/cjs/formik/Button.js +20 -9
  207. package/dist/cjs/formik/Button.js.map +1 -1
  208. package/dist/cjs/formik/Checkbox.js +33 -15
  209. package/dist/cjs/formik/Checkbox.js.map +1 -1
  210. package/dist/cjs/formik/Form.js +105 -74
  211. package/dist/cjs/formik/Form.js.map +1 -1
  212. package/dist/cjs/formik/Input.js +32 -22
  213. package/dist/cjs/formik/Input.js.map +1 -1
  214. package/dist/cjs/formik/MultiEmailInput.js +23 -13
  215. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  216. package/dist/cjs/formik/RadioGroup.js +33 -15
  217. package/dist/cjs/formik/RadioGroup.js.map +1 -1
  218. package/dist/cjs/formik/Select.js +29 -28
  219. package/dist/cjs/formik/Select.js.map +1 -1
  220. package/dist/cjs/formik/Slider.js +31 -13
  221. package/dist/cjs/formik/Slider.js.map +1 -1
  222. package/dist/cjs/formik/Switch.js +28 -13
  223. package/dist/cjs/formik/Switch.js.map +1 -1
  224. package/dist/cjs/formik/Textarea.js +29 -19
  225. package/dist/cjs/formik/Textarea.js.map +1 -1
  226. package/dist/cjs/formik/TreeSelect.js +26 -15
  227. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  228. package/dist/cjs/formik/index.js +26 -26
  229. package/dist/cjs/{index-BLGrl3PF.js → index-BTsnrFFc.js} +2 -2
  230. package/dist/cjs/{index-BLGrl3PF.js.map → index-BTsnrFFc.js.map} +1 -1
  231. package/dist/cjs/{index-ChSOMM8b.js → index-CS_WSHYi.js} +54 -54
  232. package/dist/cjs/index-CS_WSHYi.js.map +1 -0
  233. package/dist/cjs/{index-D1SiRLYs.js → index-DbA93GP3.js} +2 -2
  234. package/dist/cjs/{index-D1SiRLYs.js.map → index-DbA93GP3.js.map} +1 -1
  235. package/dist/cjs/{index-BZhTddX0.js → index-vioSzJOw.js} +2 -2
  236. package/dist/cjs/{index-BZhTddX0.js.map → index-vioSzJOw.js.map} +1 -1
  237. package/dist/cjs/index.js +306 -300
  238. package/dist/cjs/index.js.map +1 -1
  239. package/dist/cjs/input-BlyvDsZ5.js +22 -0
  240. package/dist/cjs/input-BlyvDsZ5.js.map +1 -0
  241. package/dist/cjs/input-group-8TZFHzVl.js +147 -0
  242. package/dist/cjs/input-group-8TZFHzVl.js.map +1 -0
  243. package/dist/cjs/{label-Bdc9ytTI.js → label-DJ7KkKYy.js} +17 -4
  244. package/dist/cjs/label-DJ7KkKYy.js.map +1 -0
  245. package/dist/cjs/primitives/Accordion.js +76 -13
  246. package/dist/cjs/primitives/Accordion.js.map +1 -1
  247. package/dist/cjs/primitives/Alert.js +65 -20
  248. package/dist/cjs/primitives/Alert.js.map +1 -1
  249. package/dist/cjs/primitives/AlertDialog.js +176 -41
  250. package/dist/cjs/primitives/AlertDialog.js.map +1 -1
  251. package/dist/cjs/primitives/AspectRatio.js +5 -3
  252. package/dist/cjs/primitives/AspectRatio.js.map +1 -1
  253. package/dist/cjs/primitives/Avatar.js +94 -17
  254. package/dist/cjs/primitives/Avatar.js.map +1 -1
  255. package/dist/cjs/primitives/Badge.js +99 -69
  256. package/dist/cjs/primitives/Badge.js.map +1 -1
  257. package/dist/cjs/primitives/Breadcrumb.js +103 -21
  258. package/dist/cjs/primitives/Breadcrumb.js.map +1 -1
  259. package/dist/cjs/primitives/Button.js +4 -4
  260. package/dist/cjs/primitives/Button.js.map +1 -1
  261. package/dist/cjs/primitives/ButtonGroup.js +65 -21
  262. package/dist/cjs/primitives/ButtonGroup.js.map +1 -1
  263. package/dist/cjs/primitives/Calendar.js +4 -4
  264. package/dist/cjs/primitives/Card.js +88 -16
  265. package/dist/cjs/primitives/Card.js.map +1 -1
  266. package/dist/cjs/primitives/Carousel.js +187 -85
  267. package/dist/cjs/primitives/Carousel.js.map +1 -1
  268. package/dist/cjs/primitives/Chart.js +427 -189
  269. package/dist/cjs/primitives/Chart.js.map +1 -1
  270. package/dist/cjs/primitives/Checkbox.js +28 -4
  271. package/dist/cjs/primitives/Checkbox.js.map +1 -1
  272. package/dist/cjs/primitives/Collapsible.js +27 -9
  273. package/dist/cjs/primitives/Collapsible.js.map +1 -1
  274. package/dist/cjs/primitives/Combobox.js +279 -51
  275. package/dist/cjs/primitives/Combobox.js.map +1 -1
  276. package/dist/cjs/primitives/Command.js +168 -39
  277. package/dist/cjs/primitives/Command.js.map +1 -1
  278. package/dist/cjs/primitives/ContextMenu.js +217 -48
  279. package/dist/cjs/primitives/ContextMenu.js.map +1 -1
  280. package/dist/cjs/primitives/Dialog.js +62 -20
  281. package/dist/cjs/primitives/Dialog.js.map +1 -1
  282. package/dist/cjs/primitives/Drawer.js +116 -31
  283. package/dist/cjs/primitives/Drawer.js.map +1 -1
  284. package/dist/cjs/primitives/DropdownMenu.js +233 -48
  285. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  286. package/dist/cjs/primitives/Empty.js +85 -23
  287. package/dist/cjs/primitives/Empty.js.map +1 -1
  288. package/dist/cjs/primitives/Field.js +194 -55
  289. package/dist/cjs/primitives/Field.js.map +1 -1
  290. package/dist/cjs/primitives/HoverCard.js +31 -10
  291. package/dist/cjs/primitives/HoverCard.js.map +1 -1
  292. package/dist/cjs/primitives/Input.js +3 -3
  293. package/dist/cjs/primitives/Input.js.map +1 -1
  294. package/dist/cjs/primitives/InputGroup.js +12 -12
  295. package/dist/cjs/primitives/InputGroup.js.map +1 -1
  296. package/dist/cjs/primitives/InputOTP.js +70 -13
  297. package/dist/cjs/primitives/InputOTP.js.map +1 -1
  298. package/dist/cjs/primitives/Item.js +163 -51
  299. package/dist/cjs/primitives/Item.js.map +1 -1
  300. package/dist/cjs/primitives/Kbd.js +22 -5
  301. package/dist/cjs/primitives/Kbd.js.map +1 -1
  302. package/dist/cjs/primitives/Label.js +3 -3
  303. package/dist/cjs/primitives/Label.js.map +1 -1
  304. package/dist/cjs/primitives/Menubar.js +236 -51
  305. package/dist/cjs/primitives/Menubar.js.map +1 -1
  306. package/dist/cjs/primitives/NativeSelect.js +45 -9
  307. package/dist/cjs/primitives/NativeSelect.js.map +1 -1
  308. package/dist/cjs/primitives/NavigationMenu.js +149 -27
  309. package/dist/cjs/primitives/NavigationMenu.js.map +1 -1
  310. package/dist/cjs/primitives/Pagination.js +121 -27
  311. package/dist/cjs/primitives/Pagination.js.map +1 -1
  312. package/dist/cjs/primitives/Popover.js +68 -21
  313. package/dist/cjs/primitives/Popover.js.map +1 -1
  314. package/dist/cjs/primitives/Progress.js +26 -4
  315. package/dist/cjs/primitives/Progress.js.map +1 -1
  316. package/dist/cjs/primitives/RadioGroup.js +36 -9
  317. package/dist/cjs/primitives/RadioGroup.js.map +1 -1
  318. package/dist/cjs/primitives/Resizable.js +37 -9
  319. package/dist/cjs/primitives/Resizable.js.map +1 -1
  320. package/dist/cjs/primitives/ScrollArea.js +53 -7
  321. package/dist/cjs/primitives/ScrollArea.js.map +1 -1
  322. package/dist/cjs/primitives/Select.js +169 -32
  323. package/dist/cjs/primitives/Select.js.map +1 -1
  324. package/dist/cjs/primitives/Separator.js +3 -3
  325. package/dist/cjs/primitives/Separator.js.map +1 -1
  326. package/dist/cjs/primitives/Sheet.js +79 -18
  327. package/dist/cjs/primitives/Sheet.js.map +1 -1
  328. package/dist/cjs/primitives/Sidebar.js +575 -181
  329. package/dist/cjs/primitives/Sidebar.js.map +1 -1
  330. package/dist/cjs/primitives/Skeleton.js +3 -3
  331. package/dist/cjs/primitives/Skeleton.js.map +1 -1
  332. package/dist/cjs/primitives/Slider.js +53 -9
  333. package/dist/cjs/primitives/Slider.js.map +1 -1
  334. package/dist/cjs/primitives/Sonner.js +42 -26
  335. package/dist/cjs/primitives/Sonner.js.map +1 -1
  336. package/dist/cjs/primitives/Spinner.js +4 -4
  337. package/dist/cjs/primitives/Spinner.js.map +1 -1
  338. package/dist/cjs/primitives/Switch.js +32 -2
  339. package/dist/cjs/primitives/Switch.js.map +1 -1
  340. package/dist/cjs/primitives/Table.js +109 -17
  341. package/dist/cjs/primitives/Table.js.map +1 -1
  342. package/dist/cjs/primitives/Tabs.js +78 -22
  343. package/dist/cjs/primitives/Tabs.js.map +1 -1
  344. package/dist/cjs/primitives/Textarea.js +3 -3
  345. package/dist/cjs/primitives/Textarea.js.map +1 -1
  346. package/dist/cjs/primitives/Toggle.js +4 -4
  347. package/dist/cjs/primitives/Toggle.js.map +1 -1
  348. package/dist/cjs/primitives/ToggleGroup.js +68 -17
  349. package/dist/cjs/primitives/ToggleGroup.js.map +1 -1
  350. package/dist/cjs/primitives/Tooltip.js +6 -6
  351. package/dist/cjs/primitives/Tooltip.js.map +1 -1
  352. package/dist/cjs/primitives/index.js +18 -18
  353. package/dist/cjs/renderIcon-BRrpZu9a.js +32 -0
  354. package/dist/cjs/renderIcon-BRrpZu9a.js.map +1 -0
  355. package/dist/cjs/search-DVHH0ihN.js +33 -0
  356. package/dist/cjs/search-DVHH0ihN.js.map +1 -0
  357. package/dist/cjs/{separator-CPy2gyg1.js → separator-DSL-aG1J.js} +21 -4
  358. package/dist/cjs/separator-DSL-aG1J.js.map +1 -0
  359. package/dist/cjs/sheet-G6ismmAK.js +147 -0
  360. package/dist/cjs/sheet-G6ismmAK.js.map +1 -0
  361. package/dist/cjs/skeleton-CL0H_mC4.js +18 -0
  362. package/dist/cjs/skeleton-CL0H_mC4.js.map +1 -0
  363. package/dist/cjs/textarea-Br-J3v7z.js +21 -0
  364. package/dist/cjs/textarea-Br-J3v7z.js.map +1 -0
  365. package/dist/cjs/{toggle-CaqzT8dI.js → toggle-Cq38rmIj.js} +34 -19
  366. package/dist/cjs/toggle-Cq38rmIj.js.map +1 -0
  367. package/dist/cjs/{tooltip-C-568jEL.js → tooltip-BYCcUMZn.js} +44 -10
  368. package/dist/cjs/tooltip-BYCcUMZn.js.map +1 -0
  369. package/dist/cjs/use-mobile-Be9CI6km.js +41 -0
  370. package/dist/cjs/use-mobile-Be9CI6km.js.map +1 -0
  371. package/dist/cjs/{utils-CTr7wn5d.js → utils-BhM0B89p.js} +2 -2
  372. package/dist/cjs/utils-BhM0B89p.js.map +1 -0
  373. package/dist/components/Accordion.js +2 -2
  374. package/dist/components/Alert.js +10 -10
  375. package/dist/components/Avatar.js +3 -3
  376. package/dist/components/Badge.js +4 -4
  377. package/dist/components/Button/Button.d.ts +1 -1
  378. package/dist/components/Button.js +6 -6
  379. package/dist/components/Callout.js +4 -4
  380. package/dist/components/Checkbox.js +5 -5
  381. package/dist/components/ColorPicker.js +5 -5
  382. package/dist/components/DataTable.js +15 -15
  383. package/dist/components/DatePicker.js +9 -9
  384. package/dist/components/Dialog.js +7 -7
  385. package/dist/components/DirectionProvider.js +1 -1
  386. package/dist/components/DropdownMenu.js +320 -92
  387. package/dist/components/DropdownMenu.js.map +1 -1
  388. package/dist/components/Empty.js +16 -16
  389. package/dist/components/Input.js +9 -9
  390. package/dist/components/Kbd.js +3 -3
  391. package/dist/components/Label.js +12 -12
  392. package/dist/components/MultiEmailInput.js +5 -5
  393. package/dist/components/Pagination.js +4 -4
  394. package/dist/components/Popover.js +6 -6
  395. package/dist/components/Progress.js +2 -2
  396. package/dist/components/RadioGroup.js +5 -5
  397. package/dist/components/Select.js +10 -10
  398. package/dist/components/Sheet.js +7 -7
  399. package/dist/components/Slider.js +5 -5
  400. package/dist/components/Spinner.js +2 -2
  401. package/dist/components/Stepper.js +2 -2
  402. package/dist/components/Switch.js +3 -3
  403. package/dist/components/Tabs.js +4 -4
  404. package/dist/components/Textarea.js +6 -6
  405. package/dist/components/TimePicker.js +8 -8
  406. package/dist/components/Toastr.js +1 -1
  407. package/dist/components/Tooltip.js +3 -3
  408. package/dist/components/TranslationProvider.js +1 -1
  409. package/dist/components/Tree.js +3 -3
  410. package/dist/components/TreeSelect/hooks/useTreeSelectState.d.ts +1 -1
  411. package/dist/components/TreeSelect/hooks/useTreeSelectValue.d.ts +1 -2
  412. package/dist/components/TreeSelect/utils/resolveFieldNames.d.ts +4 -2
  413. package/dist/components/TreeSelect.js +8 -8
  414. package/dist/components/Typography.js +3 -3
  415. package/dist/components/index.js +76 -76
  416. package/dist/dialog--Qm4MZDo.js +150 -0
  417. package/dist/{dialog-DK71SlsS.js.map → dialog--Qm4MZDo.js.map} +1 -1
  418. package/dist/formik/ActionBlock.js +56 -12
  419. package/dist/formik/ActionBlock.js.map +1 -1
  420. package/dist/formik/BlockNavigation.js +150 -79
  421. package/dist/formik/BlockNavigation.js.map +1 -1
  422. package/dist/formik/Button.js +20 -9
  423. package/dist/formik/Button.js.map +1 -1
  424. package/dist/formik/Checkbox.js +33 -15
  425. package/dist/formik/Checkbox.js.map +1 -1
  426. package/dist/formik/Form.js +105 -74
  427. package/dist/formik/Form.js.map +1 -1
  428. package/dist/formik/Input.js +32 -22
  429. package/dist/formik/Input.js.map +1 -1
  430. package/dist/formik/MultiEmailInput.js +23 -13
  431. package/dist/formik/MultiEmailInput.js.map +1 -1
  432. package/dist/formik/RadioGroup.d.ts +1 -1
  433. package/dist/formik/RadioGroup.js +33 -15
  434. package/dist/formik/RadioGroup.js.map +1 -1
  435. package/dist/formik/Select.js +29 -28
  436. package/dist/formik/Select.js.map +1 -1
  437. package/dist/formik/Slider.d.ts +1 -1
  438. package/dist/formik/Slider.js +31 -13
  439. package/dist/formik/Slider.js.map +1 -1
  440. package/dist/formik/Switch.js +28 -13
  441. package/dist/formik/Switch.js.map +1 -1
  442. package/dist/formik/Textarea.js +29 -19
  443. package/dist/formik/Textarea.js.map +1 -1
  444. package/dist/formik/TreeSelect.js +26 -15
  445. package/dist/formik/TreeSelect.js.map +1 -1
  446. package/dist/formik/index.js +26 -26
  447. package/dist/{index-9HvIbmnI.js → index-B7SdntLB.js} +2 -2
  448. package/dist/{index-9HvIbmnI.js.map → index-B7SdntLB.js.map} +1 -1
  449. package/dist/{index-D7Zy7P05.js → index-Bo3AAQJp.js} +2 -2
  450. package/dist/{index-D7Zy7P05.js.map → index-Bo3AAQJp.js.map} +1 -1
  451. package/dist/{index-OI_tWuLx.js → index-DnD7-4_R.js} +2 -2
  452. package/dist/{index-OI_tWuLx.js.map → index-DnD7-4_R.js.map} +1 -1
  453. package/dist/{index-B4_fVWDx.js → index-Jr4soqx3.js} +54 -54
  454. package/dist/index-Jr4soqx3.js.map +1 -0
  455. package/dist/index.js +286 -280
  456. package/dist/index.js.map +1 -1
  457. package/dist/input-1J5oQa1u.js +20 -0
  458. package/dist/{input-GLCCE2kT.js.map → input-1J5oQa1u.js.map} +1 -1
  459. package/dist/input-group-BKkj65Uq.js +140 -0
  460. package/dist/{input-group-C_qKMibX.js.map → input-group-BKkj65Uq.js.map} +1 -1
  461. package/dist/{label-B4qDF3W1.js → label-BgLSVt4u.js} +17 -4
  462. package/dist/{label-B4qDF3W1.js.map → label-BgLSVt4u.js.map} +1 -1
  463. package/dist/primitives/Accordion.js +76 -13
  464. package/dist/primitives/Accordion.js.map +1 -1
  465. package/dist/primitives/Alert.js +65 -20
  466. package/dist/primitives/Alert.js.map +1 -1
  467. package/dist/primitives/AlertDialog.js +176 -41
  468. package/dist/primitives/AlertDialog.js.map +1 -1
  469. package/dist/primitives/AspectRatio.js +5 -3
  470. package/dist/primitives/AspectRatio.js.map +1 -1
  471. package/dist/primitives/Avatar.js +94 -17
  472. package/dist/primitives/Avatar.js.map +1 -1
  473. package/dist/primitives/Badge.js +99 -69
  474. package/dist/primitives/Badge.js.map +1 -1
  475. package/dist/primitives/Breadcrumb.js +103 -21
  476. package/dist/primitives/Breadcrumb.js.map +1 -1
  477. package/dist/primitives/Button.js +5 -5
  478. package/dist/primitives/Button.js.map +1 -1
  479. package/dist/primitives/ButtonGroup.js +65 -21
  480. package/dist/primitives/ButtonGroup.js.map +1 -1
  481. package/dist/primitives/Calendar.js +4 -4
  482. package/dist/primitives/Card.js +88 -16
  483. package/dist/primitives/Card.js.map +1 -1
  484. package/dist/primitives/Carousel.js +187 -85
  485. package/dist/primitives/Carousel.js.map +1 -1
  486. package/dist/primitives/Chart.js +427 -189
  487. package/dist/primitives/Chart.js.map +1 -1
  488. package/dist/primitives/Checkbox.js +28 -4
  489. package/dist/primitives/Checkbox.js.map +1 -1
  490. package/dist/primitives/Collapsible.js +27 -9
  491. package/dist/primitives/Collapsible.js.map +1 -1
  492. package/dist/primitives/Combobox.js +279 -51
  493. package/dist/primitives/Combobox.js.map +1 -1
  494. package/dist/primitives/Command.js +168 -39
  495. package/dist/primitives/Command.js.map +1 -1
  496. package/dist/primitives/ContextMenu.js +217 -48
  497. package/dist/primitives/ContextMenu.js.map +1 -1
  498. package/dist/primitives/Dialog.js +62 -20
  499. package/dist/primitives/Dialog.js.map +1 -1
  500. package/dist/primitives/Drawer.js +116 -31
  501. package/dist/primitives/Drawer.js.map +1 -1
  502. package/dist/primitives/DropdownMenu.js +233 -48
  503. package/dist/primitives/DropdownMenu.js.map +1 -1
  504. package/dist/primitives/Empty.js +85 -23
  505. package/dist/primitives/Empty.js.map +1 -1
  506. package/dist/primitives/Field.js +194 -55
  507. package/dist/primitives/Field.js.map +1 -1
  508. package/dist/primitives/HoverCard.js +31 -10
  509. package/dist/primitives/HoverCard.js.map +1 -1
  510. package/dist/primitives/Input.js +3 -3
  511. package/dist/primitives/Input.js.map +1 -1
  512. package/dist/primitives/InputGroup.js +12 -12
  513. package/dist/primitives/InputGroup.js.map +1 -1
  514. package/dist/primitives/InputOTP.js +70 -13
  515. package/dist/primitives/InputOTP.js.map +1 -1
  516. package/dist/primitives/Item.js +163 -51
  517. package/dist/primitives/Item.js.map +1 -1
  518. package/dist/primitives/Kbd.js +22 -5
  519. package/dist/primitives/Kbd.js.map +1 -1
  520. package/dist/primitives/Label.js +3 -3
  521. package/dist/primitives/Label.js.map +1 -1
  522. package/dist/primitives/Menubar.js +236 -51
  523. package/dist/primitives/Menubar.js.map +1 -1
  524. package/dist/primitives/NativeSelect.js +45 -9
  525. package/dist/primitives/NativeSelect.js.map +1 -1
  526. package/dist/primitives/NavigationMenu.js +149 -27
  527. package/dist/primitives/NavigationMenu.js.map +1 -1
  528. package/dist/primitives/Pagination.js +121 -27
  529. package/dist/primitives/Pagination.js.map +1 -1
  530. package/dist/primitives/Popover.js +68 -21
  531. package/dist/primitives/Popover.js.map +1 -1
  532. package/dist/primitives/Progress.js +26 -4
  533. package/dist/primitives/Progress.js.map +1 -1
  534. package/dist/primitives/RadioGroup.js +36 -9
  535. package/dist/primitives/RadioGroup.js.map +1 -1
  536. package/dist/primitives/Resizable.js +38 -10
  537. package/dist/primitives/Resizable.js.map +1 -1
  538. package/dist/primitives/ScrollArea.js +53 -7
  539. package/dist/primitives/ScrollArea.js.map +1 -1
  540. package/dist/primitives/Select.js +169 -32
  541. package/dist/primitives/Select.js.map +1 -1
  542. package/dist/primitives/Separator.js +3 -3
  543. package/dist/primitives/Separator.js.map +1 -1
  544. package/dist/primitives/Sheet.js +79 -18
  545. package/dist/primitives/Sheet.js.map +1 -1
  546. package/dist/primitives/Sidebar.js +575 -181
  547. package/dist/primitives/Sidebar.js.map +1 -1
  548. package/dist/primitives/Skeleton.js +3 -3
  549. package/dist/primitives/Skeleton.js.map +1 -1
  550. package/dist/primitives/Slider.js +53 -9
  551. package/dist/primitives/Slider.js.map +1 -1
  552. package/dist/primitives/Sonner.js +42 -26
  553. package/dist/primitives/Sonner.js.map +1 -1
  554. package/dist/primitives/Spinner.js +4 -4
  555. package/dist/primitives/Spinner.js.map +1 -1
  556. package/dist/primitives/Switch.js +32 -2
  557. package/dist/primitives/Switch.js.map +1 -1
  558. package/dist/primitives/Table.js +109 -17
  559. package/dist/primitives/Table.js.map +1 -1
  560. package/dist/primitives/Tabs.js +78 -22
  561. package/dist/primitives/Tabs.js.map +1 -1
  562. package/dist/primitives/Textarea.js +3 -3
  563. package/dist/primitives/Textarea.js.map +1 -1
  564. package/dist/primitives/Toggle.js +5 -5
  565. package/dist/primitives/Toggle.js.map +1 -1
  566. package/dist/primitives/ToggleGroup.js +68 -17
  567. package/dist/primitives/ToggleGroup.js.map +1 -1
  568. package/dist/primitives/Tooltip.js +6 -6
  569. package/dist/primitives/Tooltip.js.map +1 -1
  570. package/dist/primitives/index.js +18 -18
  571. package/dist/renderIcon-C6twJSqH.js +26 -0
  572. package/dist/{renderIcon-tlvMyboj.js.map → renderIcon-C6twJSqH.js.map} +1 -1
  573. package/dist/search-B5K8FsJs.js +29 -0
  574. package/dist/search-B5K8FsJs.js.map +1 -0
  575. package/dist/{separator-BbhgePmX.js → separator-ByRsc-y-.js} +21 -4
  576. package/dist/{separator-BbhgePmX.js.map → separator-ByRsc-y-.js.map} +1 -1
  577. package/dist/sheet-BIqq9HBB.js +138 -0
  578. package/dist/{sheet-DVTG6X82.js.map → sheet-BIqq9HBB.js.map} +1 -1
  579. package/dist/skeleton-D9P1ZyiS.js +16 -0
  580. package/dist/skeleton-D9P1ZyiS.js.map +1 -0
  581. package/dist/textarea-B0vzA497.js +19 -0
  582. package/dist/{textarea-BSZwxzjQ.js.map → textarea-B0vzA497.js.map} +1 -1
  583. package/dist/toggle-bESUdU4A.js +75 -0
  584. package/dist/{toggle-2k9K8a5c.js.map → toggle-bESUdU4A.js.map} +1 -1
  585. package/dist/{tooltip-XkHLgxlU.js → tooltip-ChQ9xD1j.js} +44 -10
  586. package/dist/{tooltip-XkHLgxlU.js.map → tooltip-ChQ9xD1j.js.map} +1 -1
  587. package/dist/use-mobile-QbHL72cX.js +19 -0
  588. package/dist/use-mobile-QbHL72cX.js.map +1 -0
  589. package/dist/{utils-DdHUxIdC.js → utils-BJnb9o5c.js} +2 -2
  590. package/dist/{utils-DdHUxIdC.js.map → utils-BJnb9o5c.js.map} +1 -1
  591. package/package.json +4 -2
  592. package/dist/Accordion-Ch9S_qd3.js +0 -22
  593. package/dist/Alert-CayTuRLW.js +0 -65
  594. package/dist/Avatar-D5YGlXVF.js +0 -50
  595. package/dist/Badge-Bj3ajrWB.js +0 -59
  596. package/dist/Button-DSvnInaL.js +0 -93
  597. package/dist/Button-DSvnInaL.js.map +0 -1
  598. package/dist/Checkbox-zCxgcZiC.js +0 -24
  599. package/dist/ColorPicker-DtOvy0Gy.js +0 -278
  600. package/dist/ColorPicker-DtOvy0Gy.js.map +0 -1
  601. package/dist/DataTable-BpMBsz5i.js.map +0 -1
  602. package/dist/Dialog-BURSzxaP.js +0 -61
  603. package/dist/Empty-zyL2ZsHX.js +0 -27
  604. package/dist/Input-C1gcv9o2.js +0 -147
  605. package/dist/Kbd-EqbC0bua.js +0 -36
  606. package/dist/Label-DAFESZOG.js +0 -58
  607. package/dist/MultiEmailInput-SCTYovtX.js +0 -139
  608. package/dist/MultiEmailInput-SCTYovtX.js.map +0 -1
  609. package/dist/Pagination-DSc9yXPy.js +0 -61
  610. package/dist/Popover-Dmq-xK_a.js +0 -84
  611. package/dist/Progress-B9NlUm6e.js +0 -13
  612. package/dist/RadioGroup-BNeYQAoT.js +0 -34
  613. package/dist/Select-BgSz0fve.js +0 -563
  614. package/dist/Select-BgSz0fve.js.map +0 -1
  615. package/dist/SelectFieldWrapper-BJzq9aCY.js +0 -23
  616. package/dist/Sheet-B99vGwLH.js +0 -63
  617. package/dist/Slider-BCQXhs0Q.js +0 -25
  618. package/dist/Spinner-C8HSac-2.js +0 -17
  619. package/dist/Stepper-BoGkmkY0.js +0 -29
  620. package/dist/Switch-B83TGxJ_.js +0 -20
  621. package/dist/Tabs-DWfKnl3S.js +0 -38
  622. package/dist/Textarea-C0z50h0N.js +0 -73
  623. package/dist/TimePicker-2vhf5yYK.js +0 -146
  624. package/dist/TimePicker-2vhf5yYK.js.map +0 -1
  625. package/dist/TimePickerPanel-CiF0RExY.js +0 -126
  626. package/dist/Toastr-DYqpSaMd.js +0 -115
  627. package/dist/Tooltip-3ZzQyaDV.js +0 -59
  628. package/dist/Tree-C7r10UY5.js.map +0 -1
  629. package/dist/TreeSelect-BxsQrdjf.js +0 -168
  630. package/dist/TreeSelect-BxsQrdjf.js.map +0 -1
  631. package/dist/Typography-ClPJbLjP.js +0 -76
  632. package/dist/button-D6uWDFCs.js +0 -48
  633. package/dist/cjs/Accordion-BoTckTBI.js +0 -28
  634. package/dist/cjs/Accordion-BoTckTBI.js.map +0 -1
  635. package/dist/cjs/Alert-DnIUdIE3.js +0 -67
  636. package/dist/cjs/Alert-DnIUdIE3.js.map +0 -1
  637. package/dist/cjs/Avatar-CNao5gvP.js +0 -52
  638. package/dist/cjs/Avatar-CNao5gvP.js.map +0 -1
  639. package/dist/cjs/Badge-_-PRf6aq.js +0 -61
  640. package/dist/cjs/Badge-_-PRf6aq.js.map +0 -1
  641. package/dist/cjs/Button-BniJ4TT_.js +0 -95
  642. package/dist/cjs/Button-BniJ4TT_.js.map +0 -1
  643. package/dist/cjs/Calendar-jVF8fRaS.js.map +0 -1
  644. package/dist/cjs/Callout-CVNpjTde.js.map +0 -1
  645. package/dist/cjs/Checkbox-DOlS2oCD.js +0 -26
  646. package/dist/cjs/Checkbox-DOlS2oCD.js.map +0 -1
  647. package/dist/cjs/ColorPicker-Uxgn8U0h.js +0 -280
  648. package/dist/cjs/ColorPicker-Uxgn8U0h.js.map +0 -1
  649. package/dist/cjs/DataTable-BynOh4Bs.js.map +0 -1
  650. package/dist/cjs/DatePicker-C0BwxIh8.js.map +0 -1
  651. package/dist/cjs/Dialog-CtI_yWsJ.js +0 -63
  652. package/dist/cjs/Dialog-CtI_yWsJ.js.map +0 -1
  653. package/dist/cjs/DirectionProvider-Bec-6U8p.js.map +0 -1
  654. package/dist/cjs/Empty-CfPLWsLK.js +0 -29
  655. package/dist/cjs/Empty-CfPLWsLK.js.map +0 -1
  656. package/dist/cjs/Input-pkugjUb0.js +0 -149
  657. package/dist/cjs/Input-pkugjUb0.js.map +0 -1
  658. package/dist/cjs/Kbd-DHirsI--.js +0 -38
  659. package/dist/cjs/Kbd-DHirsI--.js.map +0 -1
  660. package/dist/cjs/Label-B7FbeB5i.js +0 -60
  661. package/dist/cjs/Label-B7FbeB5i.js.map +0 -1
  662. package/dist/cjs/MultiEmailInput-l0_YVjbp.js +0 -141
  663. package/dist/cjs/MultiEmailInput-l0_YVjbp.js.map +0 -1
  664. package/dist/cjs/Pagination-Byzt9Kmj.js +0 -63
  665. package/dist/cjs/Pagination-Byzt9Kmj.js.map +0 -1
  666. package/dist/cjs/Popover-DRT0YYzK.js +0 -90
  667. package/dist/cjs/Popover-DRT0YYzK.js.map +0 -1
  668. package/dist/cjs/Progress-DoCxZ_ZH.js +0 -15
  669. package/dist/cjs/Progress-DoCxZ_ZH.js.map +0 -1
  670. package/dist/cjs/RadioGroup-1RAoe38m.js +0 -36
  671. package/dist/cjs/RadioGroup-1RAoe38m.js.map +0 -1
  672. package/dist/cjs/Select-nifsTqzo.js +0 -569
  673. package/dist/cjs/Select-nifsTqzo.js.map +0 -1
  674. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js +0 -25
  675. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js.map +0 -1
  676. package/dist/cjs/Sheet-BTZe2VQk.js +0 -65
  677. package/dist/cjs/Sheet-BTZe2VQk.js.map +0 -1
  678. package/dist/cjs/Slider-jNUS9vt8.js +0 -27
  679. package/dist/cjs/Slider-jNUS9vt8.js.map +0 -1
  680. package/dist/cjs/Spinner-DQutDMQq.js +0 -19
  681. package/dist/cjs/Spinner-DQutDMQq.js.map +0 -1
  682. package/dist/cjs/Stepper-DCoLl2ZS.js +0 -35
  683. package/dist/cjs/Stepper-DCoLl2ZS.js.map +0 -1
  684. package/dist/cjs/Switch-CFf8DtB_.js +0 -22
  685. package/dist/cjs/Switch-CFf8DtB_.js.map +0 -1
  686. package/dist/cjs/Tabs-D2247rd7.js +0 -40
  687. package/dist/cjs/Tabs-D2247rd7.js.map +0 -1
  688. package/dist/cjs/Textarea-BfdlAJ59.js +0 -75
  689. package/dist/cjs/Textarea-BfdlAJ59.js.map +0 -1
  690. package/dist/cjs/TimePicker-DReL0GSv.js +0 -148
  691. package/dist/cjs/TimePicker-DReL0GSv.js.map +0 -1
  692. package/dist/cjs/TimePickerPanel-DGNr97cj.js +0 -132
  693. package/dist/cjs/TimePickerPanel-DGNr97cj.js.map +0 -1
  694. package/dist/cjs/Toastr-BGp7-kmf.js +0 -117
  695. package/dist/cjs/Toastr-BGp7-kmf.js.map +0 -1
  696. package/dist/cjs/Tooltip-criVUtIg.js +0 -65
  697. package/dist/cjs/Tooltip-criVUtIg.js.map +0 -1
  698. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +0 -1
  699. package/dist/cjs/Tree-BPd0DuLh.js.map +0 -1
  700. package/dist/cjs/TreeSelect-BoffO6qD.js +0 -170
  701. package/dist/cjs/TreeSelect-BoffO6qD.js.map +0 -1
  702. package/dist/cjs/Typography-DaZ0HTha.js +0 -79
  703. package/dist/cjs/Typography-DaZ0HTha.js.map +0 -1
  704. package/dist/cjs/button--P7-oIJb.js +0 -71
  705. package/dist/cjs/button--P7-oIJb.js.map +0 -1
  706. package/dist/cjs/dialog-CWSpiRjk.js +0 -52
  707. package/dist/cjs/dialog-CWSpiRjk.js.map +0 -1
  708. package/dist/cjs/index-ChSOMM8b.js.map +0 -1
  709. package/dist/cjs/input-CgKPISj_.js +0 -11
  710. package/dist/cjs/input-CgKPISj_.js.map +0 -1
  711. package/dist/cjs/input-group-CFZl_aQS.js +0 -66
  712. package/dist/cjs/input-group-CFZl_aQS.js.map +0 -1
  713. package/dist/cjs/label-Bdc9ytTI.js.map +0 -1
  714. package/dist/cjs/renderIcon-fLF3odqg.js +0 -26
  715. package/dist/cjs/renderIcon-fLF3odqg.js.map +0 -1
  716. package/dist/cjs/search-CfYUGi4v.js +0 -37
  717. package/dist/cjs/search-CfYUGi4v.js.map +0 -1
  718. package/dist/cjs/separator-CPy2gyg1.js.map +0 -1
  719. package/dist/cjs/sheet-BZt84aab.js +0 -50
  720. package/dist/cjs/sheet-BZt84aab.js.map +0 -1
  721. package/dist/cjs/skeleton-DffZ8bV7.js +0 -11
  722. package/dist/cjs/skeleton-DffZ8bV7.js.map +0 -1
  723. package/dist/cjs/textarea-CZSSY75H.js +0 -11
  724. package/dist/cjs/textarea-CZSSY75H.js.map +0 -1
  725. package/dist/cjs/toggle-CaqzT8dI.js.map +0 -1
  726. package/dist/cjs/tooltip-C-568jEL.js.map +0 -1
  727. package/dist/cjs/use-mobile-B-UYxtqX.js +0 -41
  728. package/dist/cjs/use-mobile-B-UYxtqX.js.map +0 -1
  729. package/dist/cjs/utils-CTr7wn5d.js.map +0 -1
  730. package/dist/dialog-DK71SlsS.js +0 -41
  731. package/dist/index-B4_fVWDx.js.map +0 -1
  732. package/dist/input-GLCCE2kT.js +0 -9
  733. package/dist/input-group-C_qKMibX.js +0 -59
  734. package/dist/renderIcon-tlvMyboj.js +0 -20
  735. package/dist/search-BK7Ozh5_.js +0 -33
  736. package/dist/search-BK7Ozh5_.js.map +0 -1
  737. package/dist/sheet-DVTG6X82.js +0 -41
  738. package/dist/skeleton-AR83txPr.js +0 -9
  739. package/dist/skeleton-AR83txPr.js.map +0 -1
  740. package/dist/textarea-BSZwxzjQ.js +0 -9
  741. package/dist/toggle-2k9K8a5c.js +0 -60
  742. package/dist/use-mobile-IRjN_mlT.js +0 -19
  743. package/dist/use-mobile-IRjN_mlT.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea-C0z50h0N.js","sources":["../src/components/Textarea/constants.ts","../src/components/Textarea/utils.ts","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["type TextareaSize = \"small\" | \"medium\" | \"large\";\n\nconst SIZE_ROWS: Record<TextareaSize, number> = {\n small: 1,\n medium: 3,\n large: 4,\n};\n\nconst SIZE_MIN_HEIGHT: Record<TextareaSize, string> = {\n small: \"min-h-8\",\n medium: \"min-h-20\",\n large: \"min-h-28\",\n};\n\nexport { SIZE_ROWS, SIZE_MIN_HEIGHT };\nexport type { TextareaSize };\n","function getTrimmedValue(\n value: string | number,\n disableTrimOnBlur: boolean\n): string | number {\n if (disableTrimOnBlur || typeof value !== \"string\") return value;\n return value.trim();\n}\n\nexport { getTrimmedValue };\n","import React, { forwardRef, useId, useState } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { Textarea as PrimitiveTextarea } from \"src/primitives/Textarea\";\n\nimport { SIZE_ROWS, SIZE_MIN_HEIGHT } from \"./constants\";\nimport { getTrimmedValue } from \"./utils\";\n\nimport type { TextareaSize } from \"./constants\";\n\ntype TextareaResize = \"vertical\" | \"none\";\n\ntype PrimitiveTextareaProps = React.ComponentProps<typeof PrimitiveTextarea>;\n\nexport interface TextareaProps extends Omit<\n PrimitiveTextareaProps,\n \"size\" | \"children\" | \"prefix\" | \"value\"\n> {\n /** Controlled value. */\n value?: string | number;\n /** Size of the textarea. Controls default rows: small=1, medium=3, large=4. */\n size?: TextareaSize;\n /** Resize behavior. */\n resize?: TextareaResize;\n /** Label displayed above the textarea. */\n label?: string;\n /** Error message displayed below the textarea. */\n error?: string;\n /** Help text displayed below the textarea. Accepts string or ReactNode. */\n helpText?: React.ReactNode;\n /** Maximum character limit. Counter visible at 85% capacity. */\n maxLength?: number;\n /** Allow typing past maxLength, show error styling on count. */\n unlimitedChars?: boolean;\n /** Prevent trimming whitespace on blur. */\n disableTrimOnBlur?: boolean;\n /** Content to display before the textarea. */\n prefix?: React.ReactNode;\n /** Content to display after the textarea. */\n suffix?: React.ReactNode;\n /** Render the textarea without borders. */\n nakedTextarea?: boolean;\n /** Props forwarded to the Label element. */\n labelProps?: React.ComponentProps<typeof FieldLabel>;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n}\n\nconst Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n size = \"medium\",\n resize = \"vertical\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n disabled = false,\n required = false,\n maxLength,\n unlimitedChars = false,\n disableTrimOnBlur = false,\n prefix,\n suffix,\n nakedTextarea = false,\n labelProps,\n className = \"\",\n rows: rowsProp,\n onBlur,\n onChange,\n value: controlledValue,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = otherProps.id ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n // Controlled / uncontrolled value tracking\n const [valueInternal, setValueInternal] = useState(controlledValue ?? \"\");\n const isControlled = controlledValue !== undefined;\n\n const value = isControlled ? controlledValue : valueInternal;\n const valueLength = value?.toString().length || 0;\n\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n const isCharacterLimitVisible =\n isMaxLengthPresent && valueLength >= maxLength! * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength!;\n\n const rows = rowsProp ?? SIZE_ROWS[size];\n\n // --- Handlers ---\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (!isControlled) {\n setValueInternal(e.target.value);\n }\n onChange?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n const trimmedValue = getTrimmedValue(value ?? \"\", disableTrimOnBlur);\n\n if (trimmedValue !== value) {\n e.target.value = trimmedValue.toString();\n handleChange(e as unknown as React.ChangeEvent<HTMLTextAreaElement>);\n }\n\n onBlur?.(e);\n };\n\n // --- aria-describedby ---\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n // --- Textarea element ---\n\n const hasField = !!(label || error || helpText);\n\n const textareaElement = (\n <PrimitiveTextarea\n ref={ref}\n id={id}\n rows={rows}\n disabled={disabled}\n required={required}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\n // Override shadcn's field-sizing-content and min-h-16 so rows works\n \"!field-sizing-normal\",\n SIZE_MIN_HEIGHT[size],\n resize === \"none\" && \"resize-none\",\n resize === \"vertical\" && \"resize-y\",\n nakedTextarea &&\n \"border-transparent shadow-none px-0 py-0 focus-visible:border-transparent focus-visible:ring-0\",\n !!error && \"border-destructive ring-destructive/20 ring-3\"\n )}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n {...(isMaxLengthPresent && !unlimitedChars ? { maxLength } : {})}\n {...otherProps}\n />\n );\n\n const hasPrefixSuffix = !!(prefix || suffix);\n\n const textareaWithAffixes = hasPrefixSuffix ? (\n <div\n className={cn(\n \"flex items-start gap-2 rounded-lg border border-input px-2.5 py-2 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n nakedTextarea && \"border-transparent shadow-none\"\n )}\n >\n {prefix && (\n <div className=\"shrink-0 pt-0.5 text-muted-foreground\">{prefix}</div>\n )}\n <PrimitiveTextarea\n ref={ref}\n id={id}\n rows={rows}\n disabled={disabled}\n required={required}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\n \"!field-sizing-normal border-0 p-0 shadow-none focus-visible:border-0 focus-visible:ring-0\",\n SIZE_MIN_HEIGHT[size],\n resize === \"none\" && \"resize-none\",\n resize === \"vertical\" && \"resize-y\"\n )}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n {...(isMaxLengthPresent && !unlimitedChars ? { maxLength } : {})}\n {...otherProps}\n />\n {suffix && (\n <div className=\"shrink-0 pt-0.5 text-muted-foreground\">{suffix}</div>\n )}\n </div>\n ) : (\n textareaElement\n );\n\n if (!hasField) {\n return <div className={cn(className)}>{textareaWithAffixes}</div>;\n }\n\n return (\n <Field\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {(label || isCharacterLimitVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel htmlFor={id} {...labelProps}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n {isCharacterLimitVisible && (\n <span\n className={cn(\n \"text-xs tabular-nums\",\n maxLengthError ? \"text-destructive\" : \"text-muted-foreground\"\n )}\n >\n {valueLength}/{maxLength}\n </span>\n )}\n </div>\n )}\n <FieldContent>\n {textareaWithAffixes}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"],"names":["_jsx","PrimitiveTextarea","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea-B2Uhx-Yy.js","sources":["../src/components/Textarea/constants.ts","../src/components/Textarea/utils.ts","../src/components/Textarea/Textarea.tsx"],"sourcesContent":["type TextareaSize = \"small\" | \"medium\" | \"large\";\n\nconst SIZE_ROWS: Record<TextareaSize, number> = {\n small: 1,\n medium: 3,\n large: 4,\n};\n\nconst SIZE_MIN_HEIGHT: Record<TextareaSize, string> = {\n small: \"min-h-8\",\n medium: \"min-h-20\",\n large: \"min-h-28\",\n};\n\nexport { SIZE_ROWS, SIZE_MIN_HEIGHT };\nexport type { TextareaSize };\n","function getTrimmedValue(\n value: string | number,\n disableTrimOnBlur: boolean\n): string | number {\n if (disableTrimOnBlur || typeof value !== \"string\") return value;\n return value.trim();\n}\n\nexport { getTrimmedValue };\n","import React, { forwardRef, useId, useState } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { Textarea as PrimitiveTextarea } from \"src/primitives/Textarea\";\n\nimport { SIZE_ROWS, SIZE_MIN_HEIGHT } from \"./constants\";\nimport { getTrimmedValue } from \"./utils\";\n\nimport type { TextareaSize } from \"./constants\";\n\ntype TextareaResize = \"vertical\" | \"none\";\n\ntype PrimitiveTextareaProps = React.ComponentProps<typeof PrimitiveTextarea>;\n\nexport interface TextareaProps extends Omit<\n PrimitiveTextareaProps,\n \"size\" | \"children\" | \"prefix\" | \"value\"\n> {\n /** Controlled value. */\n value?: string | number;\n /** Size of the textarea. Controls default rows: small=1, medium=3, large=4. */\n size?: TextareaSize;\n /** Resize behavior. */\n resize?: TextareaResize;\n /** Label displayed above the textarea. */\n label?: string;\n /** Error message displayed below the textarea. */\n error?: string;\n /** Help text displayed below the textarea. Accepts string or ReactNode. */\n helpText?: React.ReactNode;\n /** Maximum character limit. Counter visible at 85% capacity. */\n maxLength?: number;\n /** Allow typing past maxLength, show error styling on count. */\n unlimitedChars?: boolean;\n /** Prevent trimming whitespace on blur. */\n disableTrimOnBlur?: boolean;\n /** Content to display before the textarea. */\n prefix?: React.ReactNode;\n /** Content to display after the textarea. */\n suffix?: React.ReactNode;\n /** Render the textarea without borders. */\n nakedTextarea?: boolean;\n /** Props forwarded to the Label element. */\n labelProps?: React.ComponentProps<typeof FieldLabel>;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n}\n\nconst Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n size = \"medium\",\n resize = \"vertical\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n disabled = false,\n required = false,\n maxLength,\n unlimitedChars = false,\n disableTrimOnBlur = false,\n prefix,\n suffix,\n nakedTextarea = false,\n labelProps,\n className = \"\",\n rows: rowsProp,\n onBlur,\n onChange,\n value: controlledValue,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = otherProps.id ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n // Controlled / uncontrolled value tracking\n const [valueInternal, setValueInternal] = useState(controlledValue ?? \"\");\n const isControlled = controlledValue !== undefined;\n\n const value = isControlled ? controlledValue : valueInternal;\n const valueLength = value?.toString().length || 0;\n\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n const isCharacterLimitVisible =\n isMaxLengthPresent && valueLength >= maxLength! * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength!;\n\n const rows = rowsProp ?? SIZE_ROWS[size];\n\n // --- Handlers ---\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (!isControlled) {\n setValueInternal(e.target.value);\n }\n onChange?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n const trimmedValue = getTrimmedValue(value ?? \"\", disableTrimOnBlur);\n\n if (trimmedValue !== value) {\n e.target.value = trimmedValue.toString();\n handleChange(e as unknown as React.ChangeEvent<HTMLTextAreaElement>);\n }\n\n onBlur?.(e);\n };\n\n // --- aria-describedby ---\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n // --- Textarea element ---\n\n const hasField = !!(label || error || helpText);\n\n const textareaElement = (\n <PrimitiveTextarea\n ref={ref}\n id={id}\n rows={rows}\n disabled={disabled}\n required={required}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\n // Override shadcn's field-sizing-content and min-h-16 so rows works\n \"!field-sizing-normal\",\n SIZE_MIN_HEIGHT[size],\n resize === \"none\" && \"resize-none\",\n resize === \"vertical\" && \"resize-y\",\n nakedTextarea &&\n \"border-transparent shadow-none px-0 py-0 focus-visible:border-transparent focus-visible:ring-0\",\n !!error && \"border-destructive ring-destructive/20 ring-3\"\n )}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n {...(isMaxLengthPresent && !unlimitedChars ? { maxLength } : {})}\n {...otherProps}\n />\n );\n\n const hasPrefixSuffix = !!(prefix || suffix);\n\n const textareaWithAffixes = hasPrefixSuffix ? (\n <div\n className={cn(\n \"flex items-start gap-2 rounded-lg border border-input px-2.5 py-2 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n nakedTextarea && \"border-transparent shadow-none\"\n )}\n >\n {prefix && (\n <div className=\"shrink-0 pt-0.5 text-muted-foreground\">{prefix}</div>\n )}\n <PrimitiveTextarea\n ref={ref}\n id={id}\n rows={rows}\n disabled={disabled}\n required={required}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\n \"!field-sizing-normal border-0 p-0 shadow-none focus-visible:border-0 focus-visible:ring-0\",\n SIZE_MIN_HEIGHT[size],\n resize === \"none\" && \"resize-none\",\n resize === \"vertical\" && \"resize-y\"\n )}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n {...(isMaxLengthPresent && !unlimitedChars ? { maxLength } : {})}\n {...otherProps}\n />\n {suffix && (\n <div className=\"shrink-0 pt-0.5 text-muted-foreground\">{suffix}</div>\n )}\n </div>\n ) : (\n textareaElement\n );\n\n if (!hasField) {\n return <div className={cn(className)}>{textareaWithAffixes}</div>;\n }\n\n return (\n <Field\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {(label || isCharacterLimitVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel htmlFor={id} {...labelProps}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n {isCharacterLimitVisible && (\n <span\n className={cn(\n \"text-xs tabular-nums\",\n maxLengthError ? \"text-destructive\" : \"text-muted-foreground\"\n )}\n >\n {valueLength}/{maxLength}\n </span>\n )}\n </div>\n )}\n <FieldContent>\n {textareaWithAffixes}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"],"names":["PrimitiveTextarea"],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useId, useRef, useState, useCallback, useEffect } from 'react';
3
+ import { Popover, PopoverAnchor, PopoverContent } from './primitives/Popover.js';
4
+ import { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from './primitives/Field.js';
5
+ import { c as cn } from './utils-BJnb9o5c.js';
6
+ import { d as dateToTimeValue, t as to12Hour, p as padNumber, T as TimePickerPanel, a as parseTimeString } from './TimePickerPanel-DAhz3B2d.js';
7
+ import { c as createLucideIcon } from './createLucideIcon-C8ycilSN.js';
8
+ import { X } from './x-_o2T3n6D.js';
9
+
10
+ /**
11
+ * @license lucide-react v0.577.0 - ISC
12
+ *
13
+ * This source code is licensed under the ISC license.
14
+ * See the LICENSE file in the root directory of this source tree.
15
+ */
16
+
17
+
18
+ const __iconNode = [
19
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
20
+ ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
21
+ ];
22
+ const Clock = createLucideIcon("clock", __iconNode);
23
+
24
+ const SIZE_CONFIG = {
25
+ small: { trigger: "h-7 text-xs", icon: "size-3.5" },
26
+ medium: { trigger: "h-8 text-sm", icon: "size-4" },
27
+ large: { trigger: "h-10 text-sm", icon: "size-4" }
28
+ };
29
+ const TimePicker = forwardRef(
30
+ ({
31
+ value,
32
+ onChange,
33
+ format = "24",
34
+ showSeconds = false,
35
+ minuteStep = 1,
36
+ secondStep = 1,
37
+ disabled = false,
38
+ placeholder,
39
+ label,
40
+ error,
41
+ helpText,
42
+ size = "medium",
43
+ required = false,
44
+ timezone,
45
+ labelProps,
46
+ className
47
+ }, ref) => {
48
+ const generatedId = useId();
49
+ const errorId = `error_${generatedId}`;
50
+ const helpTextId = `helpText_${generatedId}`;
51
+ const containerRef = useRef(null);
52
+ const popoverContentId = useRef(
53
+ `timepicker-popover-${generatedId}`
54
+ ).current;
55
+ const [open, setOpen] = useState(false);
56
+ const getInitialTime = useCallback(() => {
57
+ if (!value) return null;
58
+ if (value instanceof Date) return dateToTimeValue(value);
59
+ const dateLikeValue = value;
60
+ if (typeof dateLikeValue.toDate === "function") {
61
+ return dateToTimeValue(dateLikeValue.toDate());
62
+ }
63
+ const timeValue = value;
64
+ return {
65
+ hours: timeValue.hours,
66
+ minutes: timeValue.minutes,
67
+ seconds: timeValue.seconds ?? 0
68
+ };
69
+ }, [value]);
70
+ const [internalTime, setInternalTime] = useState(
71
+ getInitialTime
72
+ );
73
+ const [inputText, setInputText] = useState("");
74
+ const formatTimeDisplay = useCallback(
75
+ (time) => {
76
+ if (!time) return "";
77
+ if (format === "12") {
78
+ const { hour12, period } = to12Hour(time.hours);
79
+ const parts2 = [padNumber(hour12), padNumber(time.minutes)];
80
+ if (showSeconds) parts2.push(padNumber(time.seconds ?? 0));
81
+ return `${parts2.join(":")} ${period}`;
82
+ }
83
+ const parts = [padNumber(time.hours), padNumber(time.minutes)];
84
+ if (showSeconds) parts.push(padNumber(time.seconds ?? 0));
85
+ return parts.join(":");
86
+ },
87
+ [format, showSeconds]
88
+ );
89
+ useEffect(() => {
90
+ const newTime = getInitialTime();
91
+ setInternalTime(newTime);
92
+ setInputText(formatTimeDisplay(newTime));
93
+ }, [getInitialTime, formatTimeDisplay]);
94
+ useEffect(() => {
95
+ if (!open) return;
96
+ const handlePointerDown = (e) => {
97
+ const target = e.target;
98
+ if (containerRef.current?.contains(target)) return;
99
+ const popoverEl = document.getElementById(popoverContentId);
100
+ if (popoverEl?.contains(target)) return;
101
+ setOpen(false);
102
+ setInputText(formatTimeDisplay(internalTime));
103
+ };
104
+ document.addEventListener("pointerdown", handlePointerDown);
105
+ return () => document.removeEventListener("pointerdown", handlePointerDown);
106
+ }, [open, internalTime, formatTimeDisplay]);
107
+ const defaultPlaceholder = showSeconds ? format === "12" ? "hh:mm:ss AA" : "HH:mm:ss" : format === "12" ? "hh:mm AA" : "HH:mm";
108
+ const handlePanelChange = (time) => {
109
+ setInternalTime(time);
110
+ setInputText(formatTimeDisplay(time));
111
+ onChange?.(time);
112
+ };
113
+ const handleInputChange = (e) => {
114
+ const text = e.target.value;
115
+ setInputText(text);
116
+ const parsed = parseTimeString(text, format);
117
+ if (parsed) {
118
+ setInternalTime(parsed);
119
+ onChange?.(parsed);
120
+ }
121
+ };
122
+ const handleInputKeyDown = (e) => {
123
+ if (e.key === "Enter") {
124
+ setInputText(formatTimeDisplay(internalTime));
125
+ setOpen(false);
126
+ } else if (e.key === "Escape") {
127
+ setInputText(formatTimeDisplay(internalTime));
128
+ setOpen(false);
129
+ }
130
+ };
131
+ const handleInputFocus = () => {
132
+ if (!open) setOpen(true);
133
+ };
134
+ const handleClear = (e) => {
135
+ e.stopPropagation();
136
+ e.preventDefault();
137
+ setInternalTime(null);
138
+ setInputText("");
139
+ onChange?.({ hours: 0, minutes: 0, seconds: 0 });
140
+ };
141
+ const hasField = !!(label || error || helpText);
142
+ const sizeConfig = SIZE_CONFIG[size];
143
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null].filter(Boolean).join(" ") || void 0;
144
+ const triggerContent = /* @__PURE__ */ jsxs(Popover, { open, children: [
145
+ /* @__PURE__ */ jsx(PopoverAnchor, { asChild: true, children: /* @__PURE__ */ jsxs(
146
+ "div",
147
+ {
148
+ ref: containerRef,
149
+ className: cn(
150
+ "relative flex w-full items-center gap-2 rounded-md border border-input bg-background pe-8 ps-3",
151
+ "focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
152
+ disabled && "cursor-not-allowed opacity-50",
153
+ !!error && "border-destructive ring-destructive/20 ring-3",
154
+ sizeConfig.trigger,
155
+ !hasField && className
156
+ ),
157
+ children: [
158
+ timezone ? /* @__PURE__ */ jsx("span", { className: "shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground", children: timezone.toUpperCase() }) : /* @__PURE__ */ jsx(
159
+ Clock,
160
+ {
161
+ className: cn(
162
+ "shrink-0 text-muted-foreground",
163
+ sizeConfig.icon
164
+ )
165
+ }
166
+ ),
167
+ /* @__PURE__ */ jsx(
168
+ "input",
169
+ {
170
+ type: "text",
171
+ disabled,
172
+ "aria-label": label || "Pick a time",
173
+ "aria-describedby": ariaDescribedBy,
174
+ "aria-invalid": !!error || void 0,
175
+ placeholder: placeholder ?? defaultPlaceholder,
176
+ value: inputText,
177
+ onChange: handleInputChange,
178
+ onKeyDown: handleInputKeyDown,
179
+ onFocus: handleInputFocus,
180
+ className: cn(
181
+ "min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground",
182
+ "disabled:cursor-not-allowed",
183
+ sizeConfig.trigger.split(" ").find((c) => c.startsWith("text-"))
184
+ )
185
+ }
186
+ ),
187
+ /* @__PURE__ */ jsx(
188
+ "button",
189
+ {
190
+ type: "button",
191
+ onPointerDown: (e) => e.preventDefault(),
192
+ onClick: handleClear,
193
+ className: cn(
194
+ "absolute inset-y-0 end-2 flex items-center text-muted-foreground hover:text-foreground focus:outline-none",
195
+ !(inputText && !disabled) && "invisible"
196
+ ),
197
+ "aria-label": "Clear time",
198
+ tabIndex: -1,
199
+ children: /* @__PURE__ */ jsx(X, { className: sizeConfig.icon })
200
+ }
201
+ )
202
+ ]
203
+ }
204
+ ) }),
205
+ open && /* @__PURE__ */ jsx(
206
+ PopoverContent,
207
+ {
208
+ id: popoverContentId,
209
+ className: "w-auto p-0",
210
+ align: "start",
211
+ onOpenAutoFocus: (e) => e.preventDefault(),
212
+ onCloseAutoFocus: (e) => e.preventDefault(),
213
+ onPointerDownOutside: (e) => e.preventDefault(),
214
+ onInteractOutside: (e) => e.preventDefault(),
215
+ children: /* @__PURE__ */ jsx(
216
+ TimePickerPanel,
217
+ {
218
+ value: internalTime ?? void 0,
219
+ onChange: handlePanelChange,
220
+ format,
221
+ showSeconds,
222
+ minuteStep,
223
+ secondStep,
224
+ disabled
225
+ }
226
+ )
227
+ }
228
+ )
229
+ ] });
230
+ if (!hasField) {
231
+ return /* @__PURE__ */ jsx("div", { ref, className, children: triggerContent });
232
+ }
233
+ return /* @__PURE__ */ jsxs(
234
+ Field,
235
+ {
236
+ ref,
237
+ "data-disabled": disabled || void 0,
238
+ "data-invalid": !!error || void 0,
239
+ className,
240
+ children: [
241
+ label && /* @__PURE__ */ jsxs(
242
+ FieldLabel,
243
+ {
244
+ ...labelProps,
245
+ children: [
246
+ label,
247
+ required && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" })
248
+ ]
249
+ }
250
+ ),
251
+ /* @__PURE__ */ jsxs(FieldContent, { children: [
252
+ triggerContent,
253
+ !!error && /* @__PURE__ */ jsx(FieldError, { id: errorId, children: error }),
254
+ helpText && /* @__PURE__ */ jsx(FieldDescription, { id: helpTextId, children: helpText })
255
+ ] })
256
+ ]
257
+ }
258
+ );
259
+ }
260
+ );
261
+ TimePicker.displayName = "TimePicker";
262
+
263
+ export { TimePicker as T };
264
+ //# sourceMappingURL=TimePicker-wPi2k6Z8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker-wPi2k6Z8.js","sources":["../node_modules/lucide-react/dist/esm/icons/clock.js","../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 6v6l4 2\", key: \"mmk7yg\" }]\n];\nconst Clock = createLucideIcon(\"clock\", __iconNode);\n\nexport { __iconNode, Clock as default };\n//# sourceMappingURL=clock.js.map\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { Clock, X } from \"lucide-react\";\nimport { Popover, PopoverAnchor, PopoverContent } from \"src/primitives/Popover\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { TimePickerPanel } from \"./TimePickerPanel\";\nimport type { TimePickerProps, TimeValue } from \"./types\";\nimport { dateToTimeValue, padNumber, parseTimeString, to12Hour } from \"./utils\";\n\nconst SIZE_CONFIG = {\n small: { trigger: \"h-7 text-xs\", icon: \"size-3.5\" },\n medium: { trigger: \"h-8 text-sm\", icon: \"size-4\" },\n large: { trigger: \"h-10 text-sm\", icon: \"size-4\" },\n} as const;\n\nconst TimePicker = forwardRef<HTMLDivElement, TimePickerProps>(\n (\n {\n value,\n onChange,\n format = \"24\",\n showSeconds = false,\n minuteStep = 1,\n secondStep = 1,\n disabled = false,\n placeholder,\n label,\n error,\n helpText,\n size = \"medium\",\n required = false,\n timezone,\n labelProps,\n className,\n },\n ref\n ) => {\n const generatedId = useId();\n const errorId = `error_${generatedId}`;\n const helpTextId = `helpText_${generatedId}`;\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverContentId = useRef(\n `timepicker-popover-${generatedId}`\n ).current;\n\n const [open, setOpen] = useState(false);\n\n const getInitialTime = useCallback((): TimeValue | null => {\n if (!value) return null;\n if (value instanceof Date) return dateToTimeValue(value);\n\n const dateLikeValue = value as { toDate?: () => Date };\n if (typeof dateLikeValue.toDate === \"function\") {\n return dateToTimeValue(dateLikeValue.toDate());\n }\n\n const timeValue = value as TimeValue;\n\n return {\n hours: timeValue.hours,\n minutes: timeValue.minutes,\n seconds: timeValue.seconds ?? 0,\n };\n }, [value]);\n\n const [internalTime, setInternalTime] = useState<TimeValue | null>(\n getInitialTime\n );\n const [inputText, setInputText] = useState(\"\");\n\n const formatTimeDisplay = useCallback(\n (time: TimeValue | null): string => {\n if (!time) return \"\";\n\n if (format === \"12\") {\n const { hour12, period } = to12Hour(time.hours);\n const parts = [padNumber(hour12), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return `${parts.join(\":\")} ${period}`;\n }\n\n const parts = [padNumber(time.hours), padNumber(time.minutes)];\n if (showSeconds) parts.push(padNumber(time.seconds ?? 0));\n\n return parts.join(\":\");\n },\n [format, showSeconds]\n );\n\n useEffect(() => {\n const newTime = getInitialTime();\n setInternalTime(newTime);\n setInputText(formatTimeDisplay(newTime));\n }, [getInitialTime, formatTimeDisplay]);\n\n // Close on outside click\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (e: PointerEvent) => {\n const target = e.target as HTMLElement;\n if (containerRef.current?.contains(target)) return;\n\n const popoverEl = document.getElementById(popoverContentId);\n if (popoverEl?.contains(target)) return;\n\n setOpen(false);\n setInputText(formatTimeDisplay(internalTime));\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n\n return () =>\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open, internalTime, formatTimeDisplay]);\n\n const defaultPlaceholder = showSeconds\n ? format === \"12\"\n ? \"hh:mm:ss AA\"\n : \"HH:mm:ss\"\n : format === \"12\"\n ? \"hh:mm AA\"\n : \"HH:mm\";\n\n const handlePanelChange = (time: TimeValue) => {\n setInternalTime(time);\n setInputText(formatTimeDisplay(time));\n onChange?.(time);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const text = e.target.value;\n setInputText(text);\n\n const parsed = parseTimeString(text, format);\n if (parsed) {\n setInternalTime(parsed);\n onChange?.(parsed);\n }\n };\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n } else if (e.key === \"Escape\") {\n setInputText(formatTimeDisplay(internalTime));\n setOpen(false);\n }\n };\n\n const handleInputFocus = () => {\n if (!open) setOpen(true);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n setInternalTime(null);\n setInputText(\"\");\n onChange?.({ hours: 0, minutes: 0, seconds: 0 });\n };\n\n const hasField = !!(label || error || helpText);\n const sizeConfig = SIZE_CONFIG[size];\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const triggerContent = (\n <Popover open={open}>\n <PopoverAnchor asChild>\n <div\n ref={containerRef}\n className={cn(\n \"relative flex w-full items-center gap-2 rounded-md border border-input bg-background pe-8 ps-3\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n disabled && \"cursor-not-allowed opacity-50\",\n !!error && \"border-destructive ring-destructive/20 ring-3\",\n sizeConfig.trigger,\n !hasField && className\n )}\n >\n {timezone ? (\n <span className=\"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {timezone.toUpperCase()}\n </span>\n ) : (\n <Clock\n className={cn(\n \"shrink-0 text-muted-foreground\",\n sizeConfig.icon\n )}\n />\n )}\n <input\n type=\"text\"\n disabled={disabled}\n aria-label={label || \"Pick a time\"}\n aria-describedby={ariaDescribedBy}\n aria-invalid={!!error || undefined}\n placeholder={placeholder ?? defaultPlaceholder}\n value={inputText}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onFocus={handleInputFocus}\n className={cn(\n \"min-w-0 flex-1 bg-transparent outline-none placeholder:text-muted-foreground\",\n \"disabled:cursor-not-allowed\",\n sizeConfig.trigger.split(\" \").find(c => c.startsWith(\"text-\"))\n )}\n />\n <button\n type=\"button\"\n onPointerDown={e => e.preventDefault()}\n onClick={handleClear}\n className={cn(\n \"absolute inset-y-0 end-2 flex items-center text-muted-foreground hover:text-foreground focus:outline-none\",\n !(inputText && !disabled) && \"invisible\"\n )}\n aria-label=\"Clear time\"\n tabIndex={-1}\n >\n <X className={sizeConfig.icon} />\n </button>\n </div>\n </PopoverAnchor>\n {open && (\n <PopoverContent\n id={popoverContentId}\n className=\"w-auto p-0\"\n align=\"start\"\n onOpenAutoFocus={e => e.preventDefault()}\n onCloseAutoFocus={e => e.preventDefault()}\n onPointerDownOutside={e => e.preventDefault()}\n onInteractOutside={e => e.preventDefault()}\n >\n <TimePickerPanel\n value={internalTime ?? undefined}\n onChange={handlePanelChange}\n format={format}\n showSeconds={showSeconds}\n minuteStep={minuteStep}\n secondStep={secondStep}\n disabled={disabled}\n />\n </PopoverContent>\n )}\n </Popover>\n );\n\n if (!hasField) {\n return (\n <div ref={ref} className={className}>\n {triggerContent}\n </div>\n );\n }\n\n return (\n <Field\n ref={ref}\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel\n {...(labelProps as React.ComponentProps<typeof FieldLabel>)}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {triggerContent}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nexport { TimePicker };\n"],"names":["parts"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,227 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useRef, useEffect, forwardRef, useCallback, useState } from 'react';
3
+ import { c as cn } from './utils-BJnb9o5c.js';
4
+ import { Button } from './primitives/Button.js';
5
+ import { ScrollArea } from './primitives/ScrollArea.js';
6
+
7
+ const COLUMN_HEIGHT = 224;
8
+ const ITEM_HEIGHT = 32;
9
+ const PERIODS = ["AM", "PM"];
10
+
11
+ const generateRange = (start, end, step = 1) => {
12
+ const result = [];
13
+ for (let i = start; i <= end; i += step) {
14
+ result.push(i);
15
+ }
16
+ return result;
17
+ };
18
+ const to12Hour = (hour24) => {
19
+ const period = hour24 >= 12 ? "PM" : "AM";
20
+ const hour12 = hour24 % 12 || 12;
21
+ return { hour12, period };
22
+ };
23
+ const to24Hour = (hour12, period) => {
24
+ if (period === "AM") {
25
+ return hour12 === 12 ? 0 : hour12;
26
+ }
27
+ return hour12 === 12 ? 12 : hour12 + 12;
28
+ };
29
+ const dateToTimeValue = (date) => ({
30
+ hours: date.getHours(),
31
+ minutes: date.getMinutes(),
32
+ seconds: date.getSeconds()
33
+ });
34
+ const padNumber = (num, length = 2) => String(num).padStart(length, "0");
35
+ const parseTimeString = (input, format) => {
36
+ const trimmed = input.trim();
37
+ if (!trimmed) return null;
38
+ if (format === "12") {
39
+ const match2 = trimmed.match(
40
+ /^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?\s*(AM|PM)$/i
41
+ );
42
+ if (!match2) return null;
43
+ const hour12 = parseInt(match2[1], 10);
44
+ const minutes2 = parseInt(match2[2], 10);
45
+ const seconds2 = match2[3] ? parseInt(match2[3], 10) : 0;
46
+ const period = match2[4].toUpperCase();
47
+ if (hour12 < 1 || hour12 > 12 || minutes2 > 59 || seconds2 > 59) return null;
48
+ return { hours: to24Hour(hour12, period), minutes: minutes2, seconds: seconds2 };
49
+ }
50
+ const match = trimmed.match(/^(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?$/);
51
+ if (!match) return null;
52
+ const hours = parseInt(match[1], 10);
53
+ const minutes = parseInt(match[2], 10);
54
+ const seconds = match[3] ? parseInt(match[3], 10) : 0;
55
+ if (hours > 23 || minutes > 59 || seconds > 59) return null;
56
+ return { hours, minutes, seconds };
57
+ };
58
+
59
+ const TimeColumn = ({
60
+ items,
61
+ selected,
62
+ onSelect,
63
+ disabled = false,
64
+ className,
65
+ padStart = 2
66
+ }) => {
67
+ const selectedRef = useRef(null);
68
+ useEffect(() => {
69
+ if (selectedRef.current) {
70
+ selectedRef.current.scrollIntoView({
71
+ block: "center",
72
+ behavior: "smooth"
73
+ });
74
+ }
75
+ }, [selected]);
76
+ return /* @__PURE__ */ jsx(
77
+ ScrollArea,
78
+ {
79
+ className: cn("w-16", className),
80
+ style: { height: COLUMN_HEIGHT },
81
+ children: /* @__PURE__ */ jsx(
82
+ "div",
83
+ {
84
+ className: "flex flex-col items-center py-2",
85
+ role: "listbox",
86
+ "aria-label": "Time selection",
87
+ children: items.map((item) => {
88
+ const isSelected = item === selected;
89
+ const displayValue = typeof item === "number" ? padNumber(item, padStart) : item;
90
+ return /* @__PURE__ */ jsx(
91
+ Button,
92
+ {
93
+ ref: isSelected ? selectedRef : void 0,
94
+ variant: isSelected ? "default" : "ghost",
95
+ size: "sm",
96
+ role: "option",
97
+ "aria-selected": isSelected,
98
+ disabled,
99
+ className: cn(
100
+ "w-12 justify-center font-mono text-sm",
101
+ !isSelected && "text-muted-foreground"
102
+ ),
103
+ style: { height: ITEM_HEIGHT },
104
+ onClick: () => onSelect(item),
105
+ children: displayValue
106
+ },
107
+ item
108
+ );
109
+ })
110
+ }
111
+ )
112
+ }
113
+ );
114
+ };
115
+ TimeColumn.displayName = "TimeColumn";
116
+
117
+ const TimePickerPanel = forwardRef(
118
+ ({
119
+ value,
120
+ onChange,
121
+ format = "24",
122
+ showSeconds = false,
123
+ minuteStep = 1,
124
+ secondStep = 1,
125
+ disabled = false,
126
+ className
127
+ }, ref) => {
128
+ const getInitialTime = useCallback(
129
+ () => ({
130
+ hours: value?.hours ?? 0,
131
+ minutes: value?.minutes ?? 0,
132
+ seconds: value?.seconds ?? 0
133
+ }),
134
+ [value]
135
+ );
136
+ const [internalTime, setInternalTime] = useState(getInitialTime);
137
+ useEffect(() => {
138
+ setInternalTime(getInitialTime());
139
+ }, [getInitialTime]);
140
+ const hours = format === "12" ? generateRange(1, 12) : generateRange(0, 23);
141
+ const minutes = generateRange(0, 59, minuteStep);
142
+ const seconds = generateRange(0, 59, secondStep);
143
+ const { hour12, period } = format === "12" ? to12Hour(internalTime.hours) : { hour12: internalTime.hours, period: "AM" };
144
+ const handleHourSelect = (hourValue) => {
145
+ const hour = Number(hourValue);
146
+ const newHours = format === "12" ? to24Hour(hour, period) : hour;
147
+ const newTime = { ...internalTime, hours: newHours };
148
+ setInternalTime(newTime);
149
+ onChange?.(newTime);
150
+ };
151
+ const handleMinuteSelect = (minuteValue) => {
152
+ const newTime = { ...internalTime, minutes: Number(minuteValue) };
153
+ setInternalTime(newTime);
154
+ onChange?.(newTime);
155
+ };
156
+ const handleSecondSelect = (secondValue) => {
157
+ const newTime = { ...internalTime, seconds: Number(secondValue) };
158
+ setInternalTime(newTime);
159
+ onChange?.(newTime);
160
+ };
161
+ const handlePeriodSelect = (newPeriod) => {
162
+ const newHours = to24Hour(hour12, newPeriod);
163
+ const newTime = { ...internalTime, hours: newHours };
164
+ setInternalTime(newTime);
165
+ onChange?.(newTime);
166
+ };
167
+ return /* @__PURE__ */ jsxs(
168
+ "div",
169
+ {
170
+ ref,
171
+ className: cn("flex", className),
172
+ role: "group",
173
+ "aria-label": "Time picker",
174
+ children: [
175
+ /* @__PURE__ */ jsx(
176
+ TimeColumn,
177
+ {
178
+ items: hours,
179
+ selected: format === "12" ? hour12 : internalTime.hours,
180
+ onSelect: handleHourSelect,
181
+ disabled
182
+ }
183
+ ),
184
+ /* @__PURE__ */ jsx("div", { className: "border-inline-end border-border" }),
185
+ /* @__PURE__ */ jsx(
186
+ TimeColumn,
187
+ {
188
+ items: minutes,
189
+ selected: internalTime.minutes,
190
+ onSelect: handleMinuteSelect,
191
+ disabled
192
+ }
193
+ ),
194
+ showSeconds && /* @__PURE__ */ jsxs(Fragment, { children: [
195
+ /* @__PURE__ */ jsx("div", { className: "border-inline-end border-border" }),
196
+ /* @__PURE__ */ jsx(
197
+ TimeColumn,
198
+ {
199
+ items: seconds,
200
+ selected: internalTime.seconds ?? 0,
201
+ onSelect: handleSecondSelect,
202
+ disabled
203
+ }
204
+ )
205
+ ] }),
206
+ format === "12" && /* @__PURE__ */ jsxs(Fragment, { children: [
207
+ /* @__PURE__ */ jsx("div", { className: "border-inline-end border-border" }),
208
+ /* @__PURE__ */ jsx(
209
+ TimeColumn,
210
+ {
211
+ items: [...PERIODS],
212
+ selected: period,
213
+ onSelect: handlePeriodSelect,
214
+ disabled,
215
+ padStart: 0
216
+ }
217
+ )
218
+ ] })
219
+ ]
220
+ }
221
+ );
222
+ }
223
+ );
224
+ TimePickerPanel.displayName = "TimePickerPanel";
225
+
226
+ export { TimePickerPanel as T, parseTimeString as a, dateToTimeValue as d, padNumber as p, to12Hour as t };
227
+ //# sourceMappingURL=TimePickerPanel-DAhz3B2d.js.map