@techzyapp/ui-library 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (943) hide show
  1. package/dist/Accordion-CAxa1I-m.js +112 -0
  2. package/dist/Accordion-CAxa1I-m.js.map +1 -0
  3. package/dist/Accordion-Dy_dM79Y.cjs +2 -0
  4. package/dist/Accordion-Dy_dM79Y.cjs.map +1 -0
  5. package/dist/Alert-BQpA48PY.js +71 -0
  6. package/dist/Alert-BQpA48PY.js.map +1 -0
  7. package/dist/Alert-DKIjM-9x.cjs +2 -0
  8. package/dist/Alert-DKIjM-9x.cjs.map +1 -0
  9. package/dist/Avatar-BJVCdo-K.js +60 -0
  10. package/dist/Avatar-BJVCdo-K.js.map +1 -0
  11. package/dist/Avatar-_ufXh3AY.cjs +2 -0
  12. package/dist/Avatar-_ufXh3AY.cjs.map +1 -0
  13. package/dist/AvatarGroup-DdJf4aT7.js +33 -0
  14. package/dist/AvatarGroup-DdJf4aT7.js.map +1 -0
  15. package/dist/AvatarGroup-TW1pt4tj.cjs +2 -0
  16. package/dist/AvatarGroup-TW1pt4tj.cjs.map +1 -0
  17. package/dist/Badge-BQpr2Jee.cjs +2 -0
  18. package/dist/Badge-BQpr2Jee.cjs.map +1 -0
  19. package/dist/Badge-DSWigoGC.js +50 -0
  20. package/dist/Badge-DSWigoGC.js.map +1 -0
  21. package/dist/Breadcrumbs-Bx5UgwDy.js +35 -0
  22. package/dist/Breadcrumbs-Bx5UgwDy.js.map +1 -0
  23. package/dist/Breadcrumbs-CHONper7.cjs +2 -0
  24. package/dist/Breadcrumbs-CHONper7.cjs.map +1 -0
  25. package/dist/Button-D4bfVNNa.cjs +2 -0
  26. package/dist/Button-D4bfVNNa.cjs.map +1 -0
  27. package/dist/Button-DhEv0YFk.js +72 -0
  28. package/dist/Button-DhEv0YFk.js.map +1 -0
  29. package/dist/Calendar-Bh317SaV.js +267 -0
  30. package/dist/Calendar-Bh317SaV.js.map +1 -0
  31. package/dist/Calendar-C8uNezI-.cjs +2 -0
  32. package/dist/Calendar-C8uNezI-.cjs.map +1 -0
  33. package/dist/Card-CfyaerZZ.cjs +2 -0
  34. package/dist/Card-CfyaerZZ.cjs.map +1 -0
  35. package/dist/Card-DzClqJuu.js +118 -0
  36. package/dist/Card-DzClqJuu.js.map +1 -0
  37. package/dist/Checkbox-DXOzYIAz.cjs +2 -0
  38. package/dist/Checkbox-DXOzYIAz.cjs.map +1 -0
  39. package/dist/Checkbox-XKL_Q5qj.js +84 -0
  40. package/dist/Checkbox-XKL_Q5qj.js.map +1 -0
  41. package/dist/Chip-Cfo0v3Z8.js +92 -0
  42. package/dist/Chip-Cfo0v3Z8.js.map +1 -0
  43. package/dist/Chip-DSrdXLBU.cjs +2 -0
  44. package/dist/Chip-DSrdXLBU.cjs.map +1 -0
  45. package/dist/ChoiceCardGroup-6eFM1eL0.cjs +2 -0
  46. package/dist/ChoiceCardGroup-6eFM1eL0.cjs.map +1 -0
  47. package/dist/ChoiceCardGroup-CvFzZlgI.js +181 -0
  48. package/dist/ChoiceCardGroup-CvFzZlgI.js.map +1 -0
  49. package/dist/CodeBlock-DOk5wekc.cjs +2 -0
  50. package/dist/CodeBlock-DOk5wekc.cjs.map +1 -0
  51. package/dist/CodeBlock-n3KExtTO.js +104 -0
  52. package/dist/CodeBlock-n3KExtTO.js.map +1 -0
  53. package/dist/Col-D2TfZKiM.js +13 -0
  54. package/dist/Col-D2TfZKiM.js.map +1 -0
  55. package/dist/Col-R5mAy8T9.cjs +2 -0
  56. package/dist/Col-R5mAy8T9.cjs.map +1 -0
  57. package/dist/ColorPicker-2udt1ORM.js +119 -0
  58. package/dist/ColorPicker-2udt1ORM.js.map +1 -0
  59. package/dist/ColorPicker-BwmaXCOy.cjs +2 -0
  60. package/dist/ColorPicker-BwmaXCOy.cjs.map +1 -0
  61. package/dist/ColorPickerPanel-BM9OwDDE.js +336 -0
  62. package/dist/ColorPickerPanel-BM9OwDDE.js.map +1 -0
  63. package/dist/ColorPickerPanel-ByB1mLSi.cjs +2 -0
  64. package/dist/ColorPickerPanel-ByB1mLSi.cjs.map +1 -0
  65. package/dist/ConfigProvider-2c94kUOk.js +291 -0
  66. package/dist/ConfigProvider-2c94kUOk.js.map +1 -0
  67. package/dist/ConfigProvider-ByOFXVyP.cjs +2 -0
  68. package/dist/ConfigProvider-ByOFXVyP.cjs.map +1 -0
  69. package/dist/DatePicker-DF4Epkn8.cjs +2 -0
  70. package/dist/DatePicker-DF4Epkn8.cjs.map +1 -0
  71. package/dist/DatePicker-WM9TC6L_.js +191 -0
  72. package/dist/DatePicker-WM9TC6L_.js.map +1 -0
  73. package/dist/DatePicker.module-BZDftL4g.js +138 -0
  74. package/dist/DatePicker.module-BZDftL4g.js.map +1 -0
  75. package/dist/DatePicker.module-tE-tGNBd.cjs +2 -0
  76. package/dist/DatePicker.module-tE-tGNBd.cjs.map +1 -0
  77. package/dist/DateTimePicker-C557OjBU.cjs +2 -0
  78. package/dist/DateTimePicker-C557OjBU.cjs.map +1 -0
  79. package/dist/DateTimePicker-DBtcWK0F.js +245 -0
  80. package/dist/DateTimePicker-DBtcWK0F.js.map +1 -0
  81. package/dist/Divider-CzbhdCiD.cjs +2 -0
  82. package/dist/Divider-CzbhdCiD.cjs.map +1 -0
  83. package/dist/Divider-LtH3dLgw.js +36 -0
  84. package/dist/Divider-LtH3dLgw.js.map +1 -0
  85. package/dist/Dropdown-DKAXue5_.js +146 -0
  86. package/dist/Dropdown-DKAXue5_.js.map +1 -0
  87. package/dist/Dropdown-DygP50OB.cjs +2 -0
  88. package/dist/Dropdown-DygP50OB.cjs.map +1 -0
  89. package/dist/EmptyState-CCCpZ-ZA.cjs +2 -0
  90. package/dist/EmptyState-CCCpZ-ZA.cjs.map +1 -0
  91. package/dist/EmptyState-CetM49vk.js +38 -0
  92. package/dist/EmptyState-CetM49vk.js.map +1 -0
  93. package/dist/FileUploader-B4TJHyoi.cjs +2 -0
  94. package/dist/FileUploader-B4TJHyoi.cjs.map +1 -0
  95. package/dist/FileUploader-VtmmwUFE.js +684 -0
  96. package/dist/FileUploader-VtmmwUFE.js.map +1 -0
  97. package/dist/Flag-BWCX6oSR.js +24 -0
  98. package/dist/Flag-BWCX6oSR.js.map +1 -0
  99. package/dist/Flag-EPZOrH-U.cjs +2 -0
  100. package/dist/Flag-EPZOrH-U.cjs.map +1 -0
  101. package/dist/Flex-Bj3mMF5A.js +50 -0
  102. package/dist/Flex-Bj3mMF5A.js.map +1 -0
  103. package/dist/Flex-CqL3Ghda.cjs +2 -0
  104. package/dist/Flex-CqL3Ghda.cjs.map +1 -0
  105. package/dist/FloatingPanel-BG9Uag__.js +131 -0
  106. package/dist/FloatingPanel-BG9Uag__.js.map +1 -0
  107. package/dist/FloatingPanel-U6sGYiSK.cjs +2 -0
  108. package/dist/FloatingPanel-U6sGYiSK.cjs.map +1 -0
  109. package/dist/Form-Bz2xgkEm.cjs +2 -0
  110. package/dist/Form-Bz2xgkEm.cjs.map +1 -0
  111. package/dist/Form-kglaJYr5.js +9 -0
  112. package/dist/Form-kglaJYr5.js.map +1 -0
  113. package/dist/FullscreenToggle-DDKN5n8B.cjs +2 -0
  114. package/dist/FullscreenToggle-DDKN5n8B.cjs.map +1 -0
  115. package/dist/FullscreenToggle-oWzYqUPH.js +42 -0
  116. package/dist/FullscreenToggle-oWzYqUPH.js.map +1 -0
  117. package/dist/Grid-Bw95bKkJ.cjs +2 -0
  118. package/dist/Grid-Bw95bKkJ.cjs.map +1 -0
  119. package/dist/Grid-CY-syhTX.js +24 -0
  120. package/dist/Grid-CY-syhTX.js.map +1 -0
  121. package/dist/Icon-CXTl_QAP.cjs +2 -0
  122. package/dist/Icon-CXTl_QAP.cjs.map +1 -0
  123. package/dist/Icon-CophpkHo.js +1228 -0
  124. package/dist/Icon-CophpkHo.js.map +1 -0
  125. package/dist/IconButton-CBusrDa9.js +68 -0
  126. package/dist/IconButton-CBusrDa9.js.map +1 -0
  127. package/dist/IconButton-D6TenQZ_.cjs +2 -0
  128. package/dist/IconButton-D6TenQZ_.cjs.map +1 -0
  129. package/dist/List-BHgFI9Ll.js +26 -0
  130. package/dist/List-BHgFI9Ll.js.map +1 -0
  131. package/dist/List-CNz2M3-q.cjs +2 -0
  132. package/dist/List-CNz2M3-q.cjs.map +1 -0
  133. package/dist/ListItem-B4yqZR-Z.js +74 -0
  134. package/dist/ListItem-B4yqZR-Z.js.map +1 -0
  135. package/dist/ListItem-RH-D-Wey.cjs +2 -0
  136. package/dist/ListItem-RH-D-Wey.cjs.map +1 -0
  137. package/dist/Loader-C4JoXOyA.js +28 -0
  138. package/dist/Loader-C4JoXOyA.js.map +1 -0
  139. package/dist/Loader-D1MtlQOH.cjs +2 -0
  140. package/dist/Loader-D1MtlQOH.cjs.map +1 -0
  141. package/dist/Modal-B2YSCVVt.cjs +2 -0
  142. package/dist/Modal-B2YSCVVt.cjs.map +1 -0
  143. package/dist/Modal-BuaPDlKV.js +195 -0
  144. package/dist/Modal-BuaPDlKV.js.map +1 -0
  145. package/dist/MultiSelect-BGRT_B60.js +350 -0
  146. package/dist/MultiSelect-BGRT_B60.js.map +1 -0
  147. package/dist/MultiSelect-CSJKSWpA.cjs +2 -0
  148. package/dist/MultiSelect-CSJKSWpA.cjs.map +1 -0
  149. package/dist/MultilineTextField-CwNCJ9lZ.js +123 -0
  150. package/dist/MultilineTextField-CwNCJ9lZ.js.map +1 -0
  151. package/dist/MultilineTextField-Dz6Fg8RJ.cjs +2 -0
  152. package/dist/MultilineTextField-Dz6Fg8RJ.cjs.map +1 -0
  153. package/dist/NumberField-DBpO-Z_7.cjs +2 -0
  154. package/dist/NumberField-DBpO-Z_7.cjs.map +1 -0
  155. package/dist/NumberField-DBvhSQCw.js +183 -0
  156. package/dist/NumberField-DBvhSQCw.js.map +1 -0
  157. package/dist/OtpField-BUBYyorC.cjs +2 -0
  158. package/dist/OtpField-BUBYyorC.cjs.map +1 -0
  159. package/dist/OtpField-CTq-CUbF.js +171 -0
  160. package/dist/OtpField-CTq-CUbF.js.map +1 -0
  161. package/dist/PageLayout-DddzYw2B.js +12 -0
  162. package/dist/PageLayout-DddzYw2B.js.map +1 -0
  163. package/dist/PageLayout-Dfbjw6jD.cjs +2 -0
  164. package/dist/PageLayout-Dfbjw6jD.cjs.map +1 -0
  165. package/dist/Pagination-CN9V8M5C.js +139 -0
  166. package/dist/Pagination-CN9V8M5C.js.map +1 -0
  167. package/dist/Pagination-DRwTLPh8.cjs +2 -0
  168. package/dist/Pagination-DRwTLPh8.cjs.map +1 -0
  169. package/dist/Popover-CBI1icIM.cjs +2 -0
  170. package/dist/Popover-CBI1icIM.cjs.map +1 -0
  171. package/dist/Popover-CgIU4Rhg.js +65 -0
  172. package/dist/Popover-CgIU4Rhg.js.map +1 -0
  173. package/dist/RadioGroup-C8u7eNBS.cjs +2 -0
  174. package/dist/RadioGroup-C8u7eNBS.cjs.map +1 -0
  175. package/dist/RadioGroup-DbodUJW8.js +141 -0
  176. package/dist/RadioGroup-DbodUJW8.js.map +1 -0
  177. package/dist/RemoveDialog-Bvt6sH79.js +47 -0
  178. package/dist/RemoveDialog-Bvt6sH79.js.map +1 -0
  179. package/dist/RemoveDialog-ClyZKyUG.cjs +2 -0
  180. package/dist/RemoveDialog-ClyZKyUG.cjs.map +1 -0
  181. package/dist/RichTextEditor-BTx8Py3I.js +806 -0
  182. package/dist/RichTextEditor-BTx8Py3I.js.map +1 -0
  183. package/dist/RichTextEditor-CAYt1Zm1.cjs +2 -0
  184. package/dist/RichTextEditor-CAYt1Zm1.cjs.map +1 -0
  185. package/dist/RootLayout-Cp-9CVjP.cjs +2 -0
  186. package/dist/RootLayout-Cp-9CVjP.cjs.map +1 -0
  187. package/dist/RootLayout-DCpfuFWF.js +405 -0
  188. package/dist/RootLayout-DCpfuFWF.js.map +1 -0
  189. package/dist/Select-PbTyxB1Q.js +338 -0
  190. package/dist/Select-PbTyxB1Q.js.map +1 -0
  191. package/dist/Select-_6WogC0u.cjs +2 -0
  192. package/dist/Select-_6WogC0u.cjs.map +1 -0
  193. package/dist/Sidebar-AaIlRzgk.cjs +2 -0
  194. package/dist/Sidebar-AaIlRzgk.cjs.map +1 -0
  195. package/dist/Sidebar-DRCs2ygZ.js +422 -0
  196. package/dist/Sidebar-DRCs2ygZ.js.map +1 -0
  197. package/dist/Slider-dxYVXRev.cjs +2 -0
  198. package/dist/Slider-dxYVXRev.cjs.map +1 -0
  199. package/dist/Slider-oGXd5e9X.js +184 -0
  200. package/dist/Slider-oGXd5e9X.js.map +1 -0
  201. package/dist/SpeedDial-C4jxIXTr.cjs +2 -0
  202. package/dist/SpeedDial-C4jxIXTr.cjs.map +1 -0
  203. package/dist/SpeedDial-DgFj16BQ.js +165 -0
  204. package/dist/SpeedDial-DgFj16BQ.js.map +1 -0
  205. package/dist/Stepper-7pPEBRLI.cjs +2 -0
  206. package/dist/Stepper-7pPEBRLI.cjs.map +1 -0
  207. package/dist/Stepper-COKAyN1L.js +165 -0
  208. package/dist/Stepper-COKAyN1L.js.map +1 -0
  209. package/dist/SwatchPicker-D30aSrbY.js +129 -0
  210. package/dist/SwatchPicker-D30aSrbY.js.map +1 -0
  211. package/dist/SwatchPicker-DbAU9-ux.cjs +2 -0
  212. package/dist/SwatchPicker-DbAU9-ux.cjs.map +1 -0
  213. package/dist/Switch-DMPJ0fhB.js +85 -0
  214. package/dist/Switch-DMPJ0fhB.js.map +1 -0
  215. package/dist/Switch-DRkZ6kHJ.cjs +2 -0
  216. package/dist/Switch-DRkZ6kHJ.cjs.map +1 -0
  217. package/dist/Table-BeOumGng.cjs +2 -0
  218. package/dist/Table-BeOumGng.cjs.map +1 -0
  219. package/dist/Table-BjPLvMbf.js +1090 -0
  220. package/dist/Table-BjPLvMbf.js.map +1 -0
  221. package/dist/Tabs--DDM-zKe.js +190 -0
  222. package/dist/Tabs--DDM-zKe.js.map +1 -0
  223. package/dist/Tabs-BZcMnjdC.cjs +2 -0
  224. package/dist/Tabs-BZcMnjdC.cjs.map +1 -0
  225. package/dist/TagsField-BTJcZS9P.js +186 -0
  226. package/dist/TagsField-BTJcZS9P.js.map +1 -0
  227. package/dist/TagsField-kknWiJZZ.cjs +2 -0
  228. package/dist/TagsField-kknWiJZZ.cjs.map +1 -0
  229. package/dist/TextField-BPefnD5M.cjs +2 -0
  230. package/dist/TextField-BPefnD5M.cjs.map +1 -0
  231. package/dist/TextField-DMI1X09n.js +266 -0
  232. package/dist/TextField-DMI1X09n.js.map +1 -0
  233. package/dist/TextField.module-QePvGeJ3.js +27 -0
  234. package/dist/TextField.module-QePvGeJ3.js.map +1 -0
  235. package/dist/TextField.module-m-UllwzG.cjs +2 -0
  236. package/dist/TextField.module-m-UllwzG.cjs.map +1 -0
  237. package/dist/ThemeToggle-DTal3RX5.cjs +2 -0
  238. package/dist/ThemeToggle-DTal3RX5.cjs.map +1 -0
  239. package/dist/ThemeToggle-Deh9j8pm.js +28 -0
  240. package/dist/ThemeToggle-Deh9j8pm.js.map +1 -0
  241. package/dist/TimeColumns-BCNmu4b_.js +147 -0
  242. package/dist/TimeColumns-BCNmu4b_.js.map +1 -0
  243. package/dist/TimeColumns-Duh4DcYJ.cjs +2 -0
  244. package/dist/TimeColumns-Duh4DcYJ.cjs.map +1 -0
  245. package/dist/TimePicker-3JgvK2on.js +194 -0
  246. package/dist/TimePicker-3JgvK2on.js.map +1 -0
  247. package/dist/TimePicker-CfGrCH9T.cjs +2 -0
  248. package/dist/TimePicker-CfGrCH9T.cjs.map +1 -0
  249. package/dist/Timeline-CoxW0Ia_.cjs +2 -0
  250. package/dist/Timeline-CoxW0Ia_.cjs.map +1 -0
  251. package/dist/Timeline-WkV4k_we.js +71 -0
  252. package/dist/Timeline-WkV4k_we.js.map +1 -0
  253. package/dist/Toaster-Bk5GtPjX.cjs +2 -0
  254. package/dist/Toaster-Bk5GtPjX.cjs.map +1 -0
  255. package/dist/Toaster-D-eG1xv7.js +63 -0
  256. package/dist/Toaster-D-eG1xv7.js.map +1 -0
  257. package/dist/ToggleButtonGroup-BWd7MOcc.js +123 -0
  258. package/dist/ToggleButtonGroup-BWd7MOcc.js.map +1 -0
  259. package/dist/ToggleButtonGroup-DYRLwKKh.cjs +2 -0
  260. package/dist/ToggleButtonGroup-DYRLwKKh.cjs.map +1 -0
  261. package/dist/Tooltip-Ao7az09p.cjs +2 -0
  262. package/dist/Tooltip-Ao7az09p.cjs.map +1 -0
  263. package/dist/Tooltip-Cb_FKxT9.js +65 -0
  264. package/dist/Tooltip-Cb_FKxT9.js.map +1 -0
  265. package/dist/TranslatedFields-CI0F9bHw.js +82 -0
  266. package/dist/TranslatedFields-CI0F9bHw.js.map +1 -0
  267. package/dist/TranslatedFields-DT3bYse6.cjs +2 -0
  268. package/dist/TranslatedFields-DT3bYse6.cjs.map +1 -0
  269. package/dist/Typography-BFatE1_A.cjs +2 -0
  270. package/dist/Typography-BFatE1_A.cjs.map +1 -0
  271. package/dist/Typography-Cta6Rg4L.js +51 -0
  272. package/dist/Typography-Cta6Rg4L.js.map +1 -0
  273. package/dist/UserCard-BhqtX1vU.js +74 -0
  274. package/dist/UserCard-BhqtX1vU.js.map +1 -0
  275. package/dist/UserCard-OlLeyyS0.cjs +2 -0
  276. package/dist/UserCard-OlLeyyS0.cjs.map +1 -0
  277. package/dist/access-DPUHbE-S.cjs +2 -0
  278. package/dist/access-DPUHbE-S.cjs.map +1 -0
  279. package/dist/access-Db4knwyR.js +25 -0
  280. package/dist/access-Db4knwyR.js.map +1 -0
  281. package/dist/components/Accordion/Accordion.d.cts +43 -0
  282. package/dist/components/Accordion/Accordion.d.ts +43 -0
  283. package/dist/components/Accordion/AccordionItem.d.cts +20 -0
  284. package/dist/components/Accordion/AccordionItem.d.ts +20 -0
  285. package/dist/components/Accordion/accordionContext.d.cts +13 -0
  286. package/dist/components/Accordion/accordionContext.d.ts +13 -0
  287. package/dist/components/Accordion/index.cjs +2 -0
  288. package/dist/components/Accordion/index.cjs.map +1 -0
  289. package/dist/components/Accordion/index.d.cts +4 -0
  290. package/dist/components/Accordion/index.d.ts +4 -0
  291. package/dist/components/Accordion/index.js +7 -0
  292. package/dist/components/Accordion/index.js.map +1 -0
  293. package/dist/components/Alert/Alert.d.cts +30 -0
  294. package/dist/components/Alert/Alert.d.ts +30 -0
  295. package/dist/components/Alert/index.cjs +2 -0
  296. package/dist/components/Alert/index.cjs.map +1 -0
  297. package/dist/components/Alert/index.d.cts +2 -0
  298. package/dist/components/Alert/index.d.ts +2 -0
  299. package/dist/components/Alert/index.js +6 -0
  300. package/dist/components/Alert/index.js.map +1 -0
  301. package/dist/components/Avatar/Avatar.d.cts +28 -0
  302. package/dist/components/Avatar/Avatar.d.ts +28 -0
  303. package/dist/components/Avatar/AvatarGroup.d.cts +19 -0
  304. package/dist/components/Avatar/AvatarGroup.d.ts +19 -0
  305. package/dist/components/Avatar/index.cjs +2 -0
  306. package/dist/components/Avatar/index.cjs.map +1 -0
  307. package/dist/components/Avatar/index.d.cts +4 -0
  308. package/dist/components/Avatar/index.d.ts +4 -0
  309. package/dist/components/Avatar/index.js +8 -0
  310. package/dist/components/Avatar/index.js.map +1 -0
  311. package/dist/components/Badge/Badge.d.cts +26 -0
  312. package/dist/components/Badge/Badge.d.ts +26 -0
  313. package/dist/components/Badge/index.cjs +2 -0
  314. package/dist/components/Badge/index.cjs.map +1 -0
  315. package/dist/components/Badge/index.d.cts +2 -0
  316. package/dist/components/Badge/index.d.ts +2 -0
  317. package/dist/components/Badge/index.js +6 -0
  318. package/dist/components/Badge/index.js.map +1 -0
  319. package/dist/components/Breadcrumbs/Breadcrumbs.d.cts +17 -0
  320. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +17 -0
  321. package/dist/components/Breadcrumbs/index.cjs +2 -0
  322. package/dist/components/Breadcrumbs/index.cjs.map +1 -0
  323. package/dist/components/Breadcrumbs/index.d.cts +2 -0
  324. package/dist/components/Breadcrumbs/index.d.ts +2 -0
  325. package/dist/components/Breadcrumbs/index.js +6 -0
  326. package/dist/components/Breadcrumbs/index.js.map +1 -0
  327. package/dist/components/Button/Button.d.cts +23 -0
  328. package/dist/components/Button/Button.d.ts +23 -0
  329. package/dist/components/Button/index.cjs +2 -0
  330. package/dist/components/Button/index.cjs.map +1 -0
  331. package/dist/components/Button/index.d.cts +2 -0
  332. package/dist/components/Button/index.d.ts +2 -0
  333. package/dist/components/Button/index.js +6 -0
  334. package/dist/components/Button/index.js.map +1 -0
  335. package/dist/components/Card/Card.d.cts +37 -0
  336. package/dist/components/Card/Card.d.ts +37 -0
  337. package/dist/components/Card/index.cjs +2 -0
  338. package/dist/components/Card/index.cjs.map +1 -0
  339. package/dist/components/Card/index.d.cts +2 -0
  340. package/dist/components/Card/index.d.ts +2 -0
  341. package/dist/components/Card/index.js +6 -0
  342. package/dist/components/Card/index.js.map +1 -0
  343. package/dist/components/Checkbox/Checkbox.d.cts +29 -0
  344. package/dist/components/Checkbox/Checkbox.d.ts +29 -0
  345. package/dist/components/Checkbox/index.cjs +2 -0
  346. package/dist/components/Checkbox/index.cjs.map +1 -0
  347. package/dist/components/Checkbox/index.d.cts +2 -0
  348. package/dist/components/Checkbox/index.d.ts +2 -0
  349. package/dist/components/Checkbox/index.js +6 -0
  350. package/dist/components/Checkbox/index.js.map +1 -0
  351. package/dist/components/Chip/Chip.d.cts +37 -0
  352. package/dist/components/Chip/Chip.d.ts +37 -0
  353. package/dist/components/Chip/index.cjs +2 -0
  354. package/dist/components/Chip/index.cjs.map +1 -0
  355. package/dist/components/Chip/index.d.cts +2 -0
  356. package/dist/components/Chip/index.d.ts +2 -0
  357. package/dist/components/Chip/index.js +6 -0
  358. package/dist/components/Chip/index.js.map +1 -0
  359. package/dist/components/ChoiceCard/ChoiceCard.d.cts +41 -0
  360. package/dist/components/ChoiceCard/ChoiceCard.d.ts +41 -0
  361. package/dist/components/ChoiceCard/ChoiceCardGroup.d.cts +72 -0
  362. package/dist/components/ChoiceCard/ChoiceCardGroup.d.ts +72 -0
  363. package/dist/components/ChoiceCard/choiceCardContext.d.cts +21 -0
  364. package/dist/components/ChoiceCard/choiceCardContext.d.ts +21 -0
  365. package/dist/components/ChoiceCard/index.cjs +2 -0
  366. package/dist/components/ChoiceCard/index.cjs.map +1 -0
  367. package/dist/components/ChoiceCard/index.d.cts +4 -0
  368. package/dist/components/ChoiceCard/index.d.ts +4 -0
  369. package/dist/components/ChoiceCard/index.js +7 -0
  370. package/dist/components/ChoiceCard/index.js.map +1 -0
  371. package/dist/components/CodeBlock/CodeBlock.d.cts +30 -0
  372. package/dist/components/CodeBlock/CodeBlock.d.ts +30 -0
  373. package/dist/components/CodeBlock/index.cjs +2 -0
  374. package/dist/components/CodeBlock/index.cjs.map +1 -0
  375. package/dist/components/CodeBlock/index.d.cts +2 -0
  376. package/dist/components/CodeBlock/index.d.ts +2 -0
  377. package/dist/components/CodeBlock/index.js +6 -0
  378. package/dist/components/CodeBlock/index.js.map +1 -0
  379. package/dist/components/ColorPicker/ColorPicker.d.cts +47 -0
  380. package/dist/components/ColorPicker/ColorPicker.d.ts +47 -0
  381. package/dist/components/ColorPicker/ColorPickerPanel.d.cts +20 -0
  382. package/dist/components/ColorPicker/ColorPickerPanel.d.ts +20 -0
  383. package/dist/components/ColorPicker/colorUtils.d.cts +44 -0
  384. package/dist/components/ColorPicker/colorUtils.d.ts +44 -0
  385. package/dist/components/ColorPicker/index.cjs +2 -0
  386. package/dist/components/ColorPicker/index.cjs.map +1 -0
  387. package/dist/components/ColorPicker/index.d.cts +2 -0
  388. package/dist/components/ColorPicker/index.d.ts +2 -0
  389. package/dist/components/ColorPicker/index.js +6 -0
  390. package/dist/components/ColorPicker/index.js.map +1 -0
  391. package/dist/components/DatePicker/Calendar.d.cts +29 -0
  392. package/dist/components/DatePicker/Calendar.d.ts +29 -0
  393. package/dist/components/DatePicker/DatePicker.d.cts +66 -0
  394. package/dist/components/DatePicker/DatePicker.d.ts +66 -0
  395. package/dist/components/DatePicker/dateUtils.d.cts +86 -0
  396. package/dist/components/DatePicker/dateUtils.d.ts +86 -0
  397. package/dist/components/DatePicker/index.cjs +2 -0
  398. package/dist/components/DatePicker/index.cjs.map +1 -0
  399. package/dist/components/DatePicker/index.d.cts +2 -0
  400. package/dist/components/DatePicker/index.d.ts +2 -0
  401. package/dist/components/DatePicker/index.js +6 -0
  402. package/dist/components/DatePicker/index.js.map +1 -0
  403. package/dist/components/DateTimePicker/DateTimePicker.d.cts +79 -0
  404. package/dist/components/DateTimePicker/DateTimePicker.d.ts +79 -0
  405. package/dist/components/DateTimePicker/TimeColumns.d.cts +22 -0
  406. package/dist/components/DateTimePicker/TimeColumns.d.ts +22 -0
  407. package/dist/components/DateTimePicker/index.cjs +2 -0
  408. package/dist/components/DateTimePicker/index.cjs.map +1 -0
  409. package/dist/components/DateTimePicker/index.d.cts +2 -0
  410. package/dist/components/DateTimePicker/index.d.ts +2 -0
  411. package/dist/components/DateTimePicker/index.js +6 -0
  412. package/dist/components/DateTimePicker/index.js.map +1 -0
  413. package/dist/components/Divider/Divider.d.cts +17 -0
  414. package/dist/components/Divider/Divider.d.ts +17 -0
  415. package/dist/components/Divider/index.cjs +2 -0
  416. package/dist/components/Divider/index.cjs.map +1 -0
  417. package/dist/components/Divider/index.d.cts +2 -0
  418. package/dist/components/Divider/index.d.ts +2 -0
  419. package/dist/components/Divider/index.js +6 -0
  420. package/dist/components/Divider/index.js.map +1 -0
  421. package/dist/components/Dropdown/Dropdown.d.cts +44 -0
  422. package/dist/components/Dropdown/Dropdown.d.ts +44 -0
  423. package/dist/components/Dropdown/index.cjs +2 -0
  424. package/dist/components/Dropdown/index.cjs.map +1 -0
  425. package/dist/components/Dropdown/index.d.cts +2 -0
  426. package/dist/components/Dropdown/index.d.ts +2 -0
  427. package/dist/components/Dropdown/index.js +6 -0
  428. package/dist/components/Dropdown/index.js.map +1 -0
  429. package/dist/components/EmptyState/EmptyState.d.cts +29 -0
  430. package/dist/components/EmptyState/EmptyState.d.ts +29 -0
  431. package/dist/components/EmptyState/index.cjs +2 -0
  432. package/dist/components/EmptyState/index.cjs.map +1 -0
  433. package/dist/components/EmptyState/index.d.cts +2 -0
  434. package/dist/components/EmptyState/index.d.ts +2 -0
  435. package/dist/components/EmptyState/index.js +6 -0
  436. package/dist/components/EmptyState/index.js.map +1 -0
  437. package/dist/components/FileUploader/FileUploader.d.cts +144 -0
  438. package/dist/components/FileUploader/FileUploader.d.ts +144 -0
  439. package/dist/components/FileUploader/FileUploaderEditDialog.d.cts +34 -0
  440. package/dist/components/FileUploader/FileUploaderEditDialog.d.ts +34 -0
  441. package/dist/components/FileUploader/FileUploaderPreview.d.cts +23 -0
  442. package/dist/components/FileUploader/FileUploaderPreview.d.ts +23 -0
  443. package/dist/components/FileUploader/index.cjs +2 -0
  444. package/dist/components/FileUploader/index.cjs.map +1 -0
  445. package/dist/components/FileUploader/index.d.cts +2 -0
  446. package/dist/components/FileUploader/index.d.ts +2 -0
  447. package/dist/components/FileUploader/index.js +6 -0
  448. package/dist/components/FileUploader/index.js.map +1 -0
  449. package/dist/components/Flag/Flag.d.cts +14 -0
  450. package/dist/components/Flag/Flag.d.ts +14 -0
  451. package/dist/components/Flag/index.cjs +2 -0
  452. package/dist/components/Flag/index.cjs.map +1 -0
  453. package/dist/components/Flag/index.d.cts +2 -0
  454. package/dist/components/Flag/index.d.ts +2 -0
  455. package/dist/components/Flag/index.js +6 -0
  456. package/dist/components/Flag/index.js.map +1 -0
  457. package/dist/components/Flex/Col.d.cts +8 -0
  458. package/dist/components/Flex/Col.d.ts +8 -0
  459. package/dist/components/Flex/Flex.d.cts +32 -0
  460. package/dist/components/Flex/Flex.d.ts +32 -0
  461. package/dist/components/Flex/Grid.d.cts +28 -0
  462. package/dist/components/Flex/Grid.d.ts +28 -0
  463. package/dist/components/Flex/Row.d.cts +8 -0
  464. package/dist/components/Flex/Row.d.ts +8 -0
  465. package/dist/components/Flex/index.cjs +2 -0
  466. package/dist/components/Flex/index.cjs.map +1 -0
  467. package/dist/components/Flex/index.d.cts +8 -0
  468. package/dist/components/Flex/index.d.ts +8 -0
  469. package/dist/components/Flex/index.js +11 -0
  470. package/dist/components/Flex/index.js.map +1 -0
  471. package/dist/components/FloatingPanel/FloatingPanel.d.cts +39 -0
  472. package/dist/components/FloatingPanel/FloatingPanel.d.ts +39 -0
  473. package/dist/components/FullscreenToggle/FullscreenToggle.d.cts +12 -0
  474. package/dist/components/FullscreenToggle/FullscreenToggle.d.ts +12 -0
  475. package/dist/components/FullscreenToggle/index.cjs +2 -0
  476. package/dist/components/FullscreenToggle/index.cjs.map +1 -0
  477. package/dist/components/FullscreenToggle/index.d.cts +2 -0
  478. package/dist/components/FullscreenToggle/index.d.ts +2 -0
  479. package/dist/components/FullscreenToggle/index.js +6 -0
  480. package/dist/components/FullscreenToggle/index.js.map +1 -0
  481. package/dist/components/Icon/Icon.d.cts +19 -0
  482. package/dist/components/Icon/Icon.d.ts +19 -0
  483. package/dist/components/Icon/index.cjs +2 -0
  484. package/dist/components/Icon/index.cjs.map +1 -0
  485. package/dist/components/Icon/index.d.cts +4 -0
  486. package/dist/components/Icon/index.d.ts +4 -0
  487. package/dist/components/Icon/index.js +9 -0
  488. package/dist/components/Icon/index.js.map +1 -0
  489. package/dist/components/IconButton/IconButton.d.cts +28 -0
  490. package/dist/components/IconButton/IconButton.d.ts +28 -0
  491. package/dist/components/IconButton/index.cjs +2 -0
  492. package/dist/components/IconButton/index.cjs.map +1 -0
  493. package/dist/components/IconButton/index.d.cts +2 -0
  494. package/dist/components/IconButton/index.d.ts +2 -0
  495. package/dist/components/IconButton/index.js +6 -0
  496. package/dist/components/IconButton/index.js.map +1 -0
  497. package/dist/components/List/List.d.cts +20 -0
  498. package/dist/components/List/List.d.ts +20 -0
  499. package/dist/components/List/ListItem.d.cts +33 -0
  500. package/dist/components/List/ListItem.d.ts +33 -0
  501. package/dist/components/List/index.cjs +2 -0
  502. package/dist/components/List/index.cjs.map +1 -0
  503. package/dist/components/List/index.d.cts +4 -0
  504. package/dist/components/List/index.d.ts +4 -0
  505. package/dist/components/List/index.js +8 -0
  506. package/dist/components/List/index.js.map +1 -0
  507. package/dist/components/List/listContext.d.cts +5 -0
  508. package/dist/components/List/listContext.d.ts +5 -0
  509. package/dist/components/Loader/Loader.d.cts +15 -0
  510. package/dist/components/Loader/Loader.d.ts +15 -0
  511. package/dist/components/Loader/index.cjs +2 -0
  512. package/dist/components/Loader/index.cjs.map +1 -0
  513. package/dist/components/Loader/index.d.cts +2 -0
  514. package/dist/components/Loader/index.d.ts +2 -0
  515. package/dist/components/Loader/index.js +6 -0
  516. package/dist/components/Loader/index.js.map +1 -0
  517. package/dist/components/Modal/Modal.d.cts +63 -0
  518. package/dist/components/Modal/Modal.d.ts +63 -0
  519. package/dist/components/Modal/index.cjs +2 -0
  520. package/dist/components/Modal/index.cjs.map +1 -0
  521. package/dist/components/Modal/index.d.cts +2 -0
  522. package/dist/components/Modal/index.d.ts +2 -0
  523. package/dist/components/Modal/index.js +6 -0
  524. package/dist/components/Modal/index.js.map +1 -0
  525. package/dist/components/MultiSelect/MultiSelect.d.cts +72 -0
  526. package/dist/components/MultiSelect/MultiSelect.d.ts +72 -0
  527. package/dist/components/MultiSelect/index.cjs +2 -0
  528. package/dist/components/MultiSelect/index.cjs.map +1 -0
  529. package/dist/components/MultiSelect/index.d.cts +2 -0
  530. package/dist/components/MultiSelect/index.d.ts +2 -0
  531. package/dist/components/MultiSelect/index.js +6 -0
  532. package/dist/components/MultiSelect/index.js.map +1 -0
  533. package/dist/components/MultilineTextField/MultilineTextField.d.cts +28 -0
  534. package/dist/components/MultilineTextField/MultilineTextField.d.ts +28 -0
  535. package/dist/components/MultilineTextField/index.cjs +2 -0
  536. package/dist/components/MultilineTextField/index.cjs.map +1 -0
  537. package/dist/components/MultilineTextField/index.d.cts +2 -0
  538. package/dist/components/MultilineTextField/index.d.ts +2 -0
  539. package/dist/components/MultilineTextField/index.js +6 -0
  540. package/dist/components/MultilineTextField/index.js.map +1 -0
  541. package/dist/components/NumberField/NumberField.d.cts +45 -0
  542. package/dist/components/NumberField/NumberField.d.ts +45 -0
  543. package/dist/components/NumberField/index.cjs +2 -0
  544. package/dist/components/NumberField/index.cjs.map +1 -0
  545. package/dist/components/NumberField/index.d.cts +2 -0
  546. package/dist/components/NumberField/index.d.ts +2 -0
  547. package/dist/components/NumberField/index.js +6 -0
  548. package/dist/components/NumberField/index.js.map +1 -0
  549. package/dist/components/OtpField/OtpField.d.cts +55 -0
  550. package/dist/components/OtpField/OtpField.d.ts +55 -0
  551. package/dist/components/OtpField/index.cjs +2 -0
  552. package/dist/components/OtpField/index.cjs.map +1 -0
  553. package/dist/components/OtpField/index.d.cts +2 -0
  554. package/dist/components/OtpField/index.d.ts +2 -0
  555. package/dist/components/OtpField/index.js +6 -0
  556. package/dist/components/OtpField/index.js.map +1 -0
  557. package/dist/components/Overlay/Overlay.d.cts +29 -0
  558. package/dist/components/Overlay/Overlay.d.ts +29 -0
  559. package/dist/components/PageLayout/PageLayout.d.cts +13 -0
  560. package/dist/components/PageLayout/PageLayout.d.ts +13 -0
  561. package/dist/components/PageLayout/index.cjs +2 -0
  562. package/dist/components/PageLayout/index.cjs.map +1 -0
  563. package/dist/components/PageLayout/index.d.cts +2 -0
  564. package/dist/components/PageLayout/index.d.ts +2 -0
  565. package/dist/components/PageLayout/index.js +6 -0
  566. package/dist/components/PageLayout/index.js.map +1 -0
  567. package/dist/components/Pagination/Pagination.d.cts +44 -0
  568. package/dist/components/Pagination/Pagination.d.ts +44 -0
  569. package/dist/components/Pagination/index.cjs +2 -0
  570. package/dist/components/Pagination/index.cjs.map +1 -0
  571. package/dist/components/Pagination/index.d.cts +2 -0
  572. package/dist/components/Pagination/index.d.ts +2 -0
  573. package/dist/components/Pagination/index.js +6 -0
  574. package/dist/components/Pagination/index.js.map +1 -0
  575. package/dist/components/Pagination/paginationRange.d.cts +21 -0
  576. package/dist/components/Pagination/paginationRange.d.ts +21 -0
  577. package/dist/components/Popover/Popover.d.cts +43 -0
  578. package/dist/components/Popover/Popover.d.ts +43 -0
  579. package/dist/components/Popover/index.cjs +2 -0
  580. package/dist/components/Popover/index.cjs.map +1 -0
  581. package/dist/components/Popover/index.d.cts +2 -0
  582. package/dist/components/Popover/index.d.ts +2 -0
  583. package/dist/components/Popover/index.js +6 -0
  584. package/dist/components/Popover/index.js.map +1 -0
  585. package/dist/components/Radio/Radio.d.cts +27 -0
  586. package/dist/components/Radio/Radio.d.ts +27 -0
  587. package/dist/components/Radio/RadioGroup.d.cts +47 -0
  588. package/dist/components/Radio/RadioGroup.d.ts +47 -0
  589. package/dist/components/Radio/index.cjs +2 -0
  590. package/dist/components/Radio/index.cjs.map +1 -0
  591. package/dist/components/Radio/index.d.cts +4 -0
  592. package/dist/components/Radio/index.d.ts +4 -0
  593. package/dist/components/Radio/index.js +7 -0
  594. package/dist/components/Radio/index.js.map +1 -0
  595. package/dist/components/Radio/radioContext.d.cts +18 -0
  596. package/dist/components/Radio/radioContext.d.ts +18 -0
  597. package/dist/components/RemoveDialog/RemoveDialog.d.cts +35 -0
  598. package/dist/components/RemoveDialog/RemoveDialog.d.ts +35 -0
  599. package/dist/components/RemoveDialog/index.cjs +2 -0
  600. package/dist/components/RemoveDialog/index.cjs.map +1 -0
  601. package/dist/components/RemoveDialog/index.d.cts +2 -0
  602. package/dist/components/RemoveDialog/index.d.ts +2 -0
  603. package/dist/components/RemoveDialog/index.js +6 -0
  604. package/dist/components/RemoveDialog/index.js.map +1 -0
  605. package/dist/components/RichTextEditor/RichTextEditor.d.cts +48 -0
  606. package/dist/components/RichTextEditor/RichTextEditor.d.ts +48 -0
  607. package/dist/components/RichTextEditor/Toolbar.d.cts +10 -0
  608. package/dist/components/RichTextEditor/Toolbar.d.ts +10 -0
  609. package/dist/components/RichTextEditor/index.cjs +2 -0
  610. package/dist/components/RichTextEditor/index.cjs.map +1 -0
  611. package/dist/components/RichTextEditor/index.d.cts +2 -0
  612. package/dist/components/RichTextEditor/index.d.ts +2 -0
  613. package/dist/components/RichTextEditor/index.js +6 -0
  614. package/dist/components/RichTextEditor/index.js.map +1 -0
  615. package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +33 -0
  616. package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +33 -0
  617. package/dist/components/RichTextEditor/nodes/VideoNode.d.cts +36 -0
  618. package/dist/components/RichTextEditor/nodes/VideoNode.d.ts +36 -0
  619. package/dist/components/RichTextEditor/urlSafety.d.cts +16 -0
  620. package/dist/components/RichTextEditor/urlSafety.d.ts +16 -0
  621. package/dist/components/RootLayout/RootLayout.d.cts +46 -0
  622. package/dist/components/RootLayout/RootLayout.d.ts +46 -0
  623. package/dist/components/RootLayout/SettingsDrawer.d.cts +23 -0
  624. package/dist/components/RootLayout/SettingsDrawer.d.ts +23 -0
  625. package/dist/components/RootLayout/index.cjs +2 -0
  626. package/dist/components/RootLayout/index.cjs.map +1 -0
  627. package/dist/components/RootLayout/index.d.cts +2 -0
  628. package/dist/components/RootLayout/index.d.ts +2 -0
  629. package/dist/components/RootLayout/index.js +6 -0
  630. package/dist/components/RootLayout/index.js.map +1 -0
  631. package/dist/components/Select/Select.d.cts +85 -0
  632. package/dist/components/Select/Select.d.ts +85 -0
  633. package/dist/components/Select/index.cjs +2 -0
  634. package/dist/components/Select/index.cjs.map +1 -0
  635. package/dist/components/Select/index.d.cts +2 -0
  636. package/dist/components/Select/index.d.ts +2 -0
  637. package/dist/components/Select/index.js +6 -0
  638. package/dist/components/Select/index.js.map +1 -0
  639. package/dist/components/Sidebar/Sidebar.d.cts +90 -0
  640. package/dist/components/Sidebar/Sidebar.d.ts +90 -0
  641. package/dist/components/Sidebar/index.cjs +2 -0
  642. package/dist/components/Sidebar/index.cjs.map +1 -0
  643. package/dist/components/Sidebar/index.d.cts +1 -0
  644. package/dist/components/Sidebar/index.d.ts +1 -0
  645. package/dist/components/Sidebar/index.js +7 -0
  646. package/dist/components/Sidebar/index.js.map +1 -0
  647. package/dist/components/Slider/Slider.d.cts +58 -0
  648. package/dist/components/Slider/Slider.d.ts +58 -0
  649. package/dist/components/Slider/index.cjs +2 -0
  650. package/dist/components/Slider/index.cjs.map +1 -0
  651. package/dist/components/Slider/index.d.cts +2 -0
  652. package/dist/components/Slider/index.d.ts +2 -0
  653. package/dist/components/Slider/index.js +6 -0
  654. package/dist/components/Slider/index.js.map +1 -0
  655. package/dist/components/SpeedDial/SpeedDial.d.cts +56 -0
  656. package/dist/components/SpeedDial/SpeedDial.d.ts +56 -0
  657. package/dist/components/SpeedDial/SpeedDialAction.d.cts +18 -0
  658. package/dist/components/SpeedDial/SpeedDialAction.d.ts +18 -0
  659. package/dist/components/SpeedDial/index.cjs +2 -0
  660. package/dist/components/SpeedDial/index.cjs.map +1 -0
  661. package/dist/components/SpeedDial/index.d.cts +4 -0
  662. package/dist/components/SpeedDial/index.d.ts +4 -0
  663. package/dist/components/SpeedDial/index.js +7 -0
  664. package/dist/components/SpeedDial/index.js.map +1 -0
  665. package/dist/components/SpeedDial/speedDialContext.d.cts +19 -0
  666. package/dist/components/SpeedDial/speedDialContext.d.ts +19 -0
  667. package/dist/components/Stepper/Stepper.d.cts +94 -0
  668. package/dist/components/Stepper/Stepper.d.ts +94 -0
  669. package/dist/components/Stepper/index.cjs +2 -0
  670. package/dist/components/Stepper/index.cjs.map +1 -0
  671. package/dist/components/Stepper/index.d.cts +2 -0
  672. package/dist/components/Stepper/index.d.ts +2 -0
  673. package/dist/components/Stepper/index.js +6 -0
  674. package/dist/components/Stepper/index.js.map +1 -0
  675. package/dist/components/SwatchPicker/SwatchPicker.d.cts +43 -0
  676. package/dist/components/SwatchPicker/SwatchPicker.d.ts +43 -0
  677. package/dist/components/SwatchPicker/index.cjs +2 -0
  678. package/dist/components/SwatchPicker/index.cjs.map +1 -0
  679. package/dist/components/SwatchPicker/index.d.cts +2 -0
  680. package/dist/components/SwatchPicker/index.d.ts +2 -0
  681. package/dist/components/SwatchPicker/index.js +6 -0
  682. package/dist/components/SwatchPicker/index.js.map +1 -0
  683. package/dist/components/Switch/Switch.d.cts +29 -0
  684. package/dist/components/Switch/Switch.d.ts +29 -0
  685. package/dist/components/Switch/index.cjs +2 -0
  686. package/dist/components/Switch/index.cjs.map +1 -0
  687. package/dist/components/Switch/index.d.cts +2 -0
  688. package/dist/components/Switch/index.d.ts +2 -0
  689. package/dist/components/Switch/index.js +6 -0
  690. package/dist/components/Switch/index.js.map +1 -0
  691. package/dist/components/Table/Table.d.cts +248 -0
  692. package/dist/components/Table/Table.d.ts +248 -0
  693. package/dist/components/Table/TableFilters.d.cts +16 -0
  694. package/dist/components/Table/TableFilters.d.ts +16 -0
  695. package/dist/components/Table/index.cjs +2 -0
  696. package/dist/components/Table/index.cjs.map +1 -0
  697. package/dist/components/Table/index.d.cts +3 -0
  698. package/dist/components/Table/index.d.ts +3 -0
  699. package/dist/components/Table/index.js +6 -0
  700. package/dist/components/Table/index.js.map +1 -0
  701. package/dist/components/Table/tableFilter.d.cts +65 -0
  702. package/dist/components/Table/tableFilter.d.ts +65 -0
  703. package/dist/components/Tabs/Tabs.d.cts +80 -0
  704. package/dist/components/Tabs/Tabs.d.ts +80 -0
  705. package/dist/components/Tabs/index.cjs +2 -0
  706. package/dist/components/Tabs/index.cjs.map +1 -0
  707. package/dist/components/Tabs/index.d.cts +2 -0
  708. package/dist/components/Tabs/index.d.ts +2 -0
  709. package/dist/components/Tabs/index.js +6 -0
  710. package/dist/components/Tabs/index.js.map +1 -0
  711. package/dist/components/TagsField/TagsField.d.cts +47 -0
  712. package/dist/components/TagsField/TagsField.d.ts +47 -0
  713. package/dist/components/TagsField/index.cjs +2 -0
  714. package/dist/components/TagsField/index.cjs.map +1 -0
  715. package/dist/components/TagsField/index.d.cts +2 -0
  716. package/dist/components/TagsField/index.d.ts +2 -0
  717. package/dist/components/TagsField/index.js +6 -0
  718. package/dist/components/TagsField/index.js.map +1 -0
  719. package/dist/components/TextField/TextField.d.cts +62 -0
  720. package/dist/components/TextField/TextField.d.ts +62 -0
  721. package/dist/components/TextField/index.cjs +2 -0
  722. package/dist/components/TextField/index.cjs.map +1 -0
  723. package/dist/components/TextField/index.d.cts +2 -0
  724. package/dist/components/TextField/index.d.ts +2 -0
  725. package/dist/components/TextField/index.js +6 -0
  726. package/dist/components/TextField/index.js.map +1 -0
  727. package/dist/components/ThemeToggle/ThemeToggle.d.cts +9 -0
  728. package/dist/components/ThemeToggle/ThemeToggle.d.ts +9 -0
  729. package/dist/components/ThemeToggle/index.cjs +2 -0
  730. package/dist/components/ThemeToggle/index.cjs.map +1 -0
  731. package/dist/components/ThemeToggle/index.d.cts +2 -0
  732. package/dist/components/ThemeToggle/index.d.ts +2 -0
  733. package/dist/components/ThemeToggle/index.js +6 -0
  734. package/dist/components/ThemeToggle/index.js.map +1 -0
  735. package/dist/components/TimePicker/TimePicker.d.cts +68 -0
  736. package/dist/components/TimePicker/TimePicker.d.ts +68 -0
  737. package/dist/components/TimePicker/index.cjs +2 -0
  738. package/dist/components/TimePicker/index.cjs.map +1 -0
  739. package/dist/components/TimePicker/index.d.cts +2 -0
  740. package/dist/components/TimePicker/index.d.ts +2 -0
  741. package/dist/components/TimePicker/index.js +6 -0
  742. package/dist/components/TimePicker/index.js.map +1 -0
  743. package/dist/components/Timeline/Timeline.d.cts +37 -0
  744. package/dist/components/Timeline/Timeline.d.ts +37 -0
  745. package/dist/components/Timeline/TimelineItem.d.cts +26 -0
  746. package/dist/components/Timeline/TimelineItem.d.ts +26 -0
  747. package/dist/components/Timeline/index.cjs +2 -0
  748. package/dist/components/Timeline/index.cjs.map +1 -0
  749. package/dist/components/Timeline/index.d.cts +4 -0
  750. package/dist/components/Timeline/index.d.ts +4 -0
  751. package/dist/components/Timeline/index.js +7 -0
  752. package/dist/components/Timeline/index.js.map +1 -0
  753. package/dist/components/Timeline/timelineContext.d.cts +10 -0
  754. package/dist/components/Timeline/timelineContext.d.ts +10 -0
  755. package/dist/components/Toast/ToastItem.d.cts +12 -0
  756. package/dist/components/Toast/ToastItem.d.ts +12 -0
  757. package/dist/components/Toast/Toaster.d.cts +18 -0
  758. package/dist/components/Toast/Toaster.d.ts +18 -0
  759. package/dist/components/Toast/index.cjs +2 -0
  760. package/dist/components/Toast/index.cjs.map +1 -0
  761. package/dist/components/Toast/index.d.cts +4 -0
  762. package/dist/components/Toast/index.d.ts +4 -0
  763. package/dist/components/Toast/index.js +8 -0
  764. package/dist/components/Toast/index.js.map +1 -0
  765. package/dist/components/Toast/toastStore.d.cts +45 -0
  766. package/dist/components/Toast/toastStore.d.ts +45 -0
  767. package/dist/components/ToggleButton/ToggleButton.d.cts +26 -0
  768. package/dist/components/ToggleButton/ToggleButton.d.ts +26 -0
  769. package/dist/components/ToggleButton/ToggleButtonGroup.d.cts +52 -0
  770. package/dist/components/ToggleButton/ToggleButtonGroup.d.ts +52 -0
  771. package/dist/components/ToggleButton/index.cjs +2 -0
  772. package/dist/components/ToggleButton/index.cjs.map +1 -0
  773. package/dist/components/ToggleButton/index.d.cts +4 -0
  774. package/dist/components/ToggleButton/index.d.ts +4 -0
  775. package/dist/components/ToggleButton/index.js +7 -0
  776. package/dist/components/ToggleButton/index.js.map +1 -0
  777. package/dist/components/ToggleButton/toggleButtonGroupContext.d.cts +15 -0
  778. package/dist/components/ToggleButton/toggleButtonGroupContext.d.ts +15 -0
  779. package/dist/components/Tooltip/Tooltip.d.cts +21 -0
  780. package/dist/components/Tooltip/Tooltip.d.ts +21 -0
  781. package/dist/components/Tooltip/index.cjs +2 -0
  782. package/dist/components/Tooltip/index.cjs.map +1 -0
  783. package/dist/components/Tooltip/index.d.cts +2 -0
  784. package/dist/components/Tooltip/index.d.ts +2 -0
  785. package/dist/components/Tooltip/index.js +6 -0
  786. package/dist/components/Tooltip/index.js.map +1 -0
  787. package/dist/components/TranslatedFields/TranslatedFields.d.cts +56 -0
  788. package/dist/components/TranslatedFields/TranslatedFields.d.ts +56 -0
  789. package/dist/components/TranslatedFields/index.cjs +2 -0
  790. package/dist/components/TranslatedFields/index.cjs.map +1 -0
  791. package/dist/components/TranslatedFields/index.d.cts +2 -0
  792. package/dist/components/TranslatedFields/index.d.ts +2 -0
  793. package/dist/components/TranslatedFields/index.js +6 -0
  794. package/dist/components/TranslatedFields/index.js.map +1 -0
  795. package/dist/components/Typography/Typography.d.cts +30 -0
  796. package/dist/components/Typography/Typography.d.ts +30 -0
  797. package/dist/components/Typography/index.cjs +2 -0
  798. package/dist/components/Typography/index.cjs.map +1 -0
  799. package/dist/components/Typography/index.d.cts +2 -0
  800. package/dist/components/Typography/index.d.ts +2 -0
  801. package/dist/components/Typography/index.js +6 -0
  802. package/dist/components/Typography/index.js.map +1 -0
  803. package/dist/components/UserCard/UserCard.d.cts +33 -0
  804. package/dist/components/UserCard/UserCard.d.ts +33 -0
  805. package/dist/components/UserCard/index.cjs +2 -0
  806. package/dist/components/UserCard/index.cjs.map +1 -0
  807. package/dist/components/UserCard/index.d.cts +2 -0
  808. package/dist/components/UserCard/index.d.ts +2 -0
  809. package/dist/components/UserCard/index.js +6 -0
  810. package/dist/components/UserCard/index.js.map +1 -0
  811. package/dist/components/index.d.cts +57 -0
  812. package/dist/components/index.d.ts +57 -0
  813. package/dist/entries/components.cjs +2 -0
  814. package/dist/entries/components.cjs.map +1 -0
  815. package/dist/entries/components.d.cts +3 -0
  816. package/dist/entries/components.d.ts +3 -0
  817. package/dist/entries/components.js +140 -0
  818. package/dist/entries/components.js.map +1 -0
  819. package/dist/entries/helpers.cjs +2 -0
  820. package/dist/entries/helpers.cjs.map +1 -0
  821. package/dist/entries/helpers.d.cts +4 -0
  822. package/dist/entries/helpers.d.ts +4 -0
  823. package/dist/entries/helpers.js +17 -0
  824. package/dist/entries/helpers.js.map +1 -0
  825. package/dist/entries/hooks.cjs +2 -0
  826. package/dist/entries/hooks.cjs.map +1 -0
  827. package/dist/entries/hooks.d.cts +7 -0
  828. package/dist/entries/hooks.d.ts +7 -0
  829. package/dist/entries/hooks.js +12 -0
  830. package/dist/entries/hooks.js.map +1 -0
  831. package/dist/entries/i18n.cjs +2 -0
  832. package/dist/entries/i18n.cjs.map +1 -0
  833. package/dist/entries/i18n.d.cts +3 -0
  834. package/dist/entries/i18n.d.ts +3 -0
  835. package/dist/entries/i18n.js +11 -0
  836. package/dist/entries/i18n.js.map +1 -0
  837. package/dist/entries/icons.cjs +2 -0
  838. package/dist/entries/icons.cjs.map +1 -0
  839. package/dist/entries/icons.d.cts +2 -0
  840. package/dist/entries/icons.d.ts +2 -0
  841. package/dist/entries/icons.js +9 -0
  842. package/dist/entries/icons.js.map +1 -0
  843. package/dist/entries/theme.cjs +2 -0
  844. package/dist/entries/theme.cjs.map +1 -0
  845. package/dist/entries/theme.d.cts +2 -0
  846. package/dist/entries/theme.d.ts +2 -0
  847. package/dist/entries/theme.js +18 -0
  848. package/dist/entries/theme.js.map +1 -0
  849. package/dist/form/Form.d.cts +14 -0
  850. package/dist/form/Form.d.ts +14 -0
  851. package/dist/form/formContext.d.cts +8 -0
  852. package/dist/form/formContext.d.ts +8 -0
  853. package/dist/form/index.d.cts +5 -0
  854. package/dist/form/index.d.ts +5 -0
  855. package/dist/form/useForm.d.cts +81 -0
  856. package/dist/form/useForm.d.ts +81 -0
  857. package/dist/formContext-B7ln1Miy.js +10 -0
  858. package/dist/formContext-B7ln1Miy.js.map +1 -0
  859. package/dist/formContext-bTWrqdEV.cjs +2 -0
  860. package/dist/formContext-bTWrqdEV.cjs.map +1 -0
  861. package/dist/helpers/access.d.cts +11 -0
  862. package/dist/helpers/access.d.ts +11 -0
  863. package/dist/helpers/table.d.cts +41 -0
  864. package/dist/helpers/table.d.ts +41 -0
  865. package/dist/helpers/translations.d.cts +63 -0
  866. package/dist/helpers/translations.d.ts +63 -0
  867. package/dist/hooks/index.d.cts +4 -0
  868. package/dist/hooks/index.d.ts +4 -0
  869. package/dist/hooks/useDisclosure.d.cts +7 -0
  870. package/dist/hooks/useDisclosure.d.ts +7 -0
  871. package/dist/hooks/useFloatingPanel.d.cts +45 -0
  872. package/dist/hooks/useFloatingPanel.d.ts +45 -0
  873. package/dist/hooks/useLockBodyScroll.d.cts +7 -0
  874. package/dist/hooks/useLockBodyScroll.d.ts +7 -0
  875. package/dist/hooks/useMediaQuery.d.cts +13 -0
  876. package/dist/hooks/useMediaQuery.d.ts +13 -0
  877. package/dist/i18n/locales/de.d.cts +5 -0
  878. package/dist/i18n/locales/de.d.ts +5 -0
  879. package/dist/i18n/locales/en.d.cts +9 -0
  880. package/dist/i18n/locales/en.d.ts +9 -0
  881. package/dist/i18n/locales/es.d.cts +5 -0
  882. package/dist/i18n/locales/es.d.ts +5 -0
  883. package/dist/i18n/locales/fr.d.cts +5 -0
  884. package/dist/i18n/locales/fr.d.ts +5 -0
  885. package/dist/i18n/locales/it.d.cts +5 -0
  886. package/dist/i18n/locales/it.d.ts +5 -0
  887. package/dist/i18n/locales/ka.d.cts +8 -0
  888. package/dist/i18n/locales/ka.d.ts +8 -0
  889. package/dist/i18n/locales/ru.d.cts +5 -0
  890. package/dist/i18n/locales/ru.d.ts +5 -0
  891. package/dist/i18n/messages.d.cts +241 -0
  892. package/dist/i18n/messages.d.ts +241 -0
  893. package/dist/icons/icons.d.cts +2 -0
  894. package/dist/icons/icons.d.ts +2 -0
  895. package/dist/icons/names.d.cts +3 -0
  896. package/dist/icons/names.d.ts +3 -0
  897. package/dist/index.cjs +2 -0
  898. package/dist/index.cjs.map +1 -0
  899. package/dist/index.css +203 -0
  900. package/dist/index.d.cts +6 -0
  901. package/dist/index.d.ts +6 -0
  902. package/dist/index.js +185 -0
  903. package/dist/index.js.map +1 -0
  904. package/dist/messages-C-zecFBE.js +1363 -0
  905. package/dist/messages-C-zecFBE.js.map +1 -0
  906. package/dist/messages-Cy-qK5xU.cjs +36 -0
  907. package/dist/messages-Cy-qK5xU.cjs.map +1 -0
  908. package/dist/names-C2Yj1p3u.cjs +2 -0
  909. package/dist/names-C2Yj1p3u.cjs.map +1 -0
  910. package/dist/names-D8ABK2Wk.js +1205 -0
  911. package/dist/names-D8ABK2Wk.js.map +1 -0
  912. package/dist/reset.css +78 -0
  913. package/dist/table-CZRQGNdk.cjs +2 -0
  914. package/dist/table-CZRQGNdk.cjs.map +1 -0
  915. package/dist/table-DF3zTrC3.js +49 -0
  916. package/dist/table-DF3zTrC3.js.map +1 -0
  917. package/dist/theme/ConfigProvider.d.cts +362 -0
  918. package/dist/theme/ConfigProvider.d.ts +362 -0
  919. package/dist/theme/applyTheme.d.cts +28 -0
  920. package/dist/theme/applyTheme.d.ts +28 -0
  921. package/dist/theme/index.d.cts +5 -0
  922. package/dist/theme/index.d.ts +5 -0
  923. package/dist/toastStore-B4Tk2Xk7.cjs +2 -0
  924. package/dist/toastStore-B4Tk2Xk7.cjs.map +1 -0
  925. package/dist/toastStore-Cx_JOKwS.js +32 -0
  926. package/dist/toastStore-Cx_JOKwS.js.map +1 -0
  927. package/dist/translations-CXEeeUDL.cjs +2 -0
  928. package/dist/translations-CXEeeUDL.cjs.map +1 -0
  929. package/dist/translations-D15tFHM1.js +74 -0
  930. package/dist/translations-D15tFHM1.js.map +1 -0
  931. package/dist/useForm-B_5wDIER.js +126 -0
  932. package/dist/useForm-B_5wDIER.js.map +1 -0
  933. package/dist/useForm-C7erBHt0.cjs +2 -0
  934. package/dist/useForm-C7erBHt0.cjs.map +1 -0
  935. package/dist/useLockBodyScroll-CIXHZo-Q.cjs +2 -0
  936. package/dist/useLockBodyScroll-CIXHZo-Q.cjs.map +1 -0
  937. package/dist/useLockBodyScroll-DwBILLPK.js +35 -0
  938. package/dist/useLockBodyScroll-DwBILLPK.js.map +1 -0
  939. package/dist/useMediaQuery-BCsNfMA1.cjs +2 -0
  940. package/dist/useMediaQuery-BCsNfMA1.cjs.map +1 -0
  941. package/dist/useMediaQuery-_1EcFoC5.js +17 -0
  942. package/dist/useMediaQuery-_1EcFoC5.js.map +1 -0
  943. package/package.json +244 -0
@@ -0,0 +1,245 @@
1
+ import { jsxs as M, jsx as r } from "react/jsx-runtime";
2
+ import { forwardRef as Ae, useId as Ee, useState as h, useEffect as j, useRef as v, useCallback as ne } from "react";
3
+ import { clsx as z } from "clsx";
4
+ import { u as Le } from "./formContext-B7ln1Miy.js";
5
+ import { F as $e } from "./FloatingPanel-BG9Uag__.js";
6
+ import { B as je } from "./Button-DhEv0YFk.js";
7
+ import { I as le } from "./Icon-CophpkHo.js";
8
+ import { I as ze } from "./IconButton-CBusrDa9.js";
9
+ import { T as Ue } from "./Tabs--DDM-zKe.js";
10
+ import { T as ie } from "./Typography-Cta6Rg4L.js";
11
+ import { C as Ke } from "./Calendar-Bh317SaV.js";
12
+ import { p as U, m as Ze, t as K, s, u as Ge, b as ce, c as Je, a as Qe, l as Xe, d as _e } from "./DatePicker.module-BZDftL4g.js";
13
+ import { d as N, T as et } from "./TimeColumns-BCNmu4b_.js";
14
+ import { a as tt } from "./ConfigProvider-2c94kUOk.js";
15
+ function at(Z, c) {
16
+ return `DD/MM/YYYY ${Z ? c ? "hh:mm:ss A" : "hh:mm A" : c ? "HH:mm:ss" : "HH:mm"}`;
17
+ }
18
+ const Tt = Ae(
19
+ function({
20
+ label: c,
21
+ size: T = "md",
22
+ error: me,
23
+ helperText: ue,
24
+ required: fe = !1,
25
+ fullWidth: de = !0,
26
+ disabled: C = !1,
27
+ value: Y,
28
+ defaultValue: pe,
29
+ onChange: B,
30
+ format: he,
31
+ valueFormat: ve,
32
+ utc: P = !0,
33
+ hour12: G = !1,
34
+ minuteStep: Te = 1,
35
+ showSeconds: J = !0,
36
+ placeholder: Ce,
37
+ min: be,
38
+ max: ye,
39
+ disabledDate: H,
40
+ weekStartsOn: Ie = 1,
41
+ clearable: ke = !0,
42
+ name: m,
43
+ id: De,
44
+ className: xe,
45
+ style: Fe
46
+ }, u) {
47
+ const i = tt(), ge = Ee(), b = De ?? ge, Q = `${b}-helper`, Me = `${b}-label`, l = he ?? at(G, J), f = ve ?? (P ? "YYYY-MM-DDTHH:mm:ss[Z]" : "YYYY-MM-DDTHH:mm:ss"), y = Le(), I = !!(y && m), n = I ? y.field(m) : void 0, Ne = Y !== void 0 ? Y : I ? y.values[m] ?? "" : void 0, X = Y !== void 0 || I, [Ye, Be] = h(pe ?? ""), k = X ? Ne : Ye, S = (e) => P ? Ge(e) : e, a = S(U(k, f)), R = me ?? (n == null ? void 0 : n.error) ?? !1, O = ue ?? (n == null ? void 0 : n.helperText), V = S(U(be, f)), w = S(U(ye, f)), Pe = Ze(l), He = /s/.test(l) ? "second" : "minute", D = (e) => {
48
+ e !== k && (X || Be(e), I && y.setValue(m, e), B == null || B(e));
49
+ }, x = (e) => {
50
+ e && a && e.isSame(a, "second") || D(e ? (P ? Xe(e) : e).format(f) : "");
51
+ }, _ = (e) => !a || !e.isSame(a, He), [W, d] = h(
52
+ () => a ? a.format(l) : ""
53
+ );
54
+ j(() => {
55
+ d(a ? a.format(l) : "");
56
+ }, [k, l, f]);
57
+ const q = v(null), A = v(null), [p, ee] = h(!1), [Se, te] = h(() => a ?? K()), [E, L] = h("date"), $ = v(!1), Re = ne(
58
+ (e) => {
59
+ A.current = e, typeof u == "function" ? u(e) : u && (u.current = e);
60
+ },
61
+ [u]
62
+ ), F = v(void 0);
63
+ F.current = n ? () => n.onBlur({}) : void 0;
64
+ const g = v(null), ae = ne((e) => {
65
+ var t, o;
66
+ ee(!1), (t = F.current) == null || t.call(F), e && ((o = A.current) == null || o.focus());
67
+ }, []);
68
+ j(() => {
69
+ p && (te(a ?? K()), L("date"));
70
+ }, [p]), j(() => {
71
+ var e, t;
72
+ E === "time" && $.current && ($.current = !1, (t = (e = g.current) == null ? void 0 : e.querySelector('[role="tab"][aria-selected="true"]')) == null || t.focus());
73
+ }, [E, g]);
74
+ const oe = (e) => V && e.isBefore(V, "day") || w && e.isAfter(w, "day") ? !0 : !!(H && H(_e(e))), Oe = (e) => {
75
+ const t = Je(e, Pe);
76
+ if (d(t), t === "") {
77
+ D("");
78
+ return;
79
+ }
80
+ const o = ce(t, l);
81
+ o && !oe(o) && _(o) && x(o);
82
+ }, Ve = (e) => {
83
+ var re, se;
84
+ const t = ce(W, l);
85
+ W === "" ? D("") : t && !oe(t) ? (_(t) && x(t), d(t.format(l))) : d(a ? a.format(l) : "");
86
+ const o = e.relatedTarget;
87
+ o && ((re = g.current) != null && re.contains(o) || (se = q.current) != null && se.contains(o)) || n == null || n.onBlur(e);
88
+ }, we = (e) => {
89
+ const t = Qe(e);
90
+ if (!t) return;
91
+ const o = a ?? K();
92
+ x(t.hour(o.hour()).minute(o.minute()).second(o.second())), $.current = !0, L("time");
93
+ }, We = (e) => x(e), qe = T === "sm" ? "sm" : "md";
94
+ return /* @__PURE__ */ M(
95
+ "div",
96
+ {
97
+ className: z(
98
+ s.field,
99
+ s[T],
100
+ de && s.fullWidth,
101
+ R && s.error,
102
+ C && s.disabled,
103
+ xe
104
+ ),
105
+ style: Fe,
106
+ children: [
107
+ c != null && /* @__PURE__ */ M("label", { htmlFor: b, className: s.label, children: [
108
+ /* @__PURE__ */ r(ie, { as: "span", variant: "bodySmall", color: "muted", children: c }),
109
+ fe && /* @__PURE__ */ r("span", { className: s.required, "aria-hidden": "true", children: "*" })
110
+ ] }),
111
+ /* @__PURE__ */ M("div", { ref: q, className: z(s.control, p && s.open), children: [
112
+ /* @__PURE__ */ r(
113
+ "input",
114
+ {
115
+ ref: Re,
116
+ id: b,
117
+ name: m,
118
+ className: s.input,
119
+ value: W,
120
+ placeholder: Ce ?? l.toLowerCase(),
121
+ disabled: C,
122
+ autoComplete: "off",
123
+ "aria-invalid": R || void 0,
124
+ "aria-describedby": O != null ? Q : void 0,
125
+ onChange: (e) => Oe(e.target.value),
126
+ onBlur: Ve
127
+ }
128
+ ),
129
+ ke && k !== "" && !C && /* @__PURE__ */ r(
130
+ "button",
131
+ {
132
+ type: "button",
133
+ className: s.clear,
134
+ "aria-label": i("dateTimePicker.clear"),
135
+ tabIndex: -1,
136
+ onMouseDown: (e) => e.preventDefault(),
137
+ onClick: () => {
138
+ var e;
139
+ D(""), d(""), (e = A.current) == null || e.focus();
140
+ },
141
+ children: /* @__PURE__ */ r(le, { name: "CloseCircle", size: "sm" })
142
+ }
143
+ ),
144
+ /* @__PURE__ */ r(
145
+ ze,
146
+ {
147
+ type: "button",
148
+ variant: "text",
149
+ color: "primary",
150
+ size: T,
151
+ disabled: C,
152
+ "aria-label": i("dateTimePicker.open"),
153
+ "aria-haspopup": "dialog",
154
+ "aria-expanded": p,
155
+ className: s.calendarButton,
156
+ onMouseDown: (e) => e.preventDefault(),
157
+ onClick: () => ee((e) => !e),
158
+ children: /* @__PURE__ */ r(le, { name: "Calendar3", size: qe })
159
+ }
160
+ )
161
+ ] }),
162
+ /* @__PURE__ */ M(
163
+ $e,
164
+ {
165
+ ref: g,
166
+ open: p,
167
+ triggerRef: q,
168
+ onClose: ae,
169
+ role: "dialog",
170
+ ariaLabel: "Choose date and time",
171
+ trapFocus: !0,
172
+ className: z(s.popover, N.popover),
173
+ children: [
174
+ /* @__PURE__ */ r(
175
+ Ue,
176
+ {
177
+ className: N.tabs,
178
+ "aria-label": i("dateTimePicker.label"),
179
+ fullWidth: !0,
180
+ autoFocus: !0,
181
+ queryKey: null,
182
+ value: E,
183
+ onChange: (e) => L(e),
184
+ items: [
185
+ {
186
+ value: "date",
187
+ label: i("dateTimePicker.dateTab"),
188
+ icon: "Calendar3",
189
+ content: /* @__PURE__ */ r(
190
+ Ke,
191
+ {
192
+ value: a,
193
+ month: Se,
194
+ onMonthChange: te,
195
+ onSelect: we,
196
+ min: V,
197
+ max: w,
198
+ disabledDate: H,
199
+ weekStartsOn: Ie,
200
+ labelId: Me
201
+ }
202
+ )
203
+ },
204
+ {
205
+ value: "time",
206
+ label: i("dateTimePicker.timeTab"),
207
+ icon: "Clock",
208
+ content: /* @__PURE__ */ r("div", { className: N.timePane, children: /* @__PURE__ */ r(
209
+ et,
210
+ {
211
+ value: a,
212
+ onChange: We,
213
+ hour12: G,
214
+ minuteStep: Te,
215
+ showSeconds: J
216
+ }
217
+ ) })
218
+ }
219
+ ]
220
+ }
221
+ ),
222
+ /* @__PURE__ */ r("div", { className: N.footer, children: /* @__PURE__ */ r(je, { size: "sm", variant: "filled", color: "primary", onClick: () => ae(!0), children: i("common.done") }) })
223
+ ]
224
+ }
225
+ ),
226
+ O != null && /* @__PURE__ */ r(
227
+ ie,
228
+ {
229
+ as: "span",
230
+ id: Q,
231
+ variant: "bodySmall",
232
+ color: R ? "error" : "muted",
233
+ className: s.helper,
234
+ children: O
235
+ }
236
+ )
237
+ ]
238
+ }
239
+ );
240
+ }
241
+ );
242
+ export {
243
+ Tt as D
244
+ };
245
+ //# sourceMappingURL=DateTimePicker-DBtcWK0F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker-DBtcWK0F.js","sources":["../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { useFormContext } from '../../form/formContext'\nimport { FloatingPanel } from '../FloatingPanel/FloatingPanel'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { Tabs } from '../Tabs'\nimport { Typography } from '../Typography'\nimport { Calendar } from '../DatePicker/Calendar'\nimport {\n applyMask,\n localWallToUtc,\n maskFromFormat,\n parseISO,\n parseInput,\n parseValue,\n today,\n toISO,\n utcToLocalWall,\n type Dayjs,\n} from '../DatePicker/dateUtils'\nimport styles from '../DatePicker/DatePicker.module.css'\nimport dt from './DateTimePicker.module.css'\nimport { TimeColumns } from './TimeColumns'\n\nexport type DateTimePickerSize = 'sm' | 'md' | 'lg'\n\nexport interface DateTimePickerProps {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — control height, font and calendar density. */\n size?: DateTimePickerSize\n /** Marks the field invalid: red border/ring + the `helperText` in the error color. */\n error?: boolean\n /** Helper / validation text under the field. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Adds a red asterisk after the label. */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /** Disables the field. */\n disabled?: boolean\n /** Controlled value — a datetime string in `valueFormat` (default ISO datetime; `''` = empty). */\n value?: string\n /** Initial value for uncontrolled use (in `valueFormat`). */\n defaultValue?: string\n /** Fires with the next datetime in `valueFormat` (`''` when cleared). */\n onChange?: (value: string) => void\n /**\n * Display + typed-input format (dayjs tokens). Defaults to `'DD/MM/YYYY HH:mm:ss'` (or `hh:mm:ss A`\n * when `hour12`; the `:ss` is dropped when `showSeconds` is `false`).\n */\n format?: string\n /**\n * Wire format of `value`/`defaultValue`/`onChange` (dayjs tokens), decoupled from the displayed\n * `format`. Defaults to the ISO datetime `'YYYY-MM-DDTHH:mm:ss[Z]'` when `utc` (the `Z` marks the\n * value as UTC, e.g. `'2026-06-10T09:35:00Z'`), or `'YYYY-MM-DDTHH:mm:ss'` (no `Z`) when `utc={false}`.\n * Incoming values are parsed **leniently** (this format, then any ISO-8601 string — so a backend\n * datetime like `'2026-06-10T09:35:49.6134342'` with or without `Z` is accepted).\n */\n valueFormat?: string\n /**\n * Treat the value as **UTC** and display/edit in the viewer's **local** timezone (default `true`).\n * Set `false` to disable timezone conversion entirely — the field shows and emits the value's exact\n * wall-clock (what you pick is what's sent, no UTC shift).\n */\n utc?: boolean\n /** 12-hour clock (1–12 + AM/PM) instead of 24-hour (0–23). Defaults to `false`. */\n hour12?: boolean\n /** Minute increment for the minutes column. Defaults to `1`. */\n minuteStep?: number\n /** Show the seconds column + `:ss` in the default format. Defaults to `true`; pass `false` to hide seconds. */\n showSeconds?: boolean\n /** Placeholder shown when empty. Defaults to the lowercased `format`. */\n placeholder?: string\n /** Earliest selectable date (ISO date or datetime; day-level bound on the calendar). */\n min?: string\n /** Latest selectable date (ISO date or datetime; day-level bound on the calendar). */\n max?: string\n /** Disables specific dates — receives each day as an ISO `'YYYY-MM-DD'` string. */\n disabledDate?: (date: string) => boolean\n /** First day of the week: 0 = Sunday … 6 = Saturday. Defaults to `1` (Monday). */\n weekStartsOn?: number\n /** Shows a clear (×) button when a value is set. Defaults to `true`. */\n clearable?: boolean\n /** Form field name — auto-binds to a surrounding `<Form>` (value is the datetime string). */\n name?: string\n /** Id for the input (label association). */\n id?: string\n className?: string\n style?: CSSProperties\n}\n\nfunction defaultFormatFor(hour12: boolean, showSeconds: boolean): string {\n const time = hour12\n ? showSeconds\n ? 'hh:mm:ss A'\n : 'hh:mm A'\n : showSeconds\n ? 'HH:mm:ss'\n : 'HH:mm'\n return `DD/MM/YYYY ${time}`\n}\n\n/**\n * A datetime field with a typed, masked input **and** a popover combining the keyboard-navigable\n * `Calendar` (date) with scrollable time columns (hour / minute / optional second + AM/PM in 12-hour\n * mode). All math runs in **UTC** so the instant never drifts with the viewer's timezone; the value is a\n * string in `valueFormat` (UTC ISO datetime with a `Z` by default, or no `Z` when `utc={false}`) — incoming values are parsed\n * leniently (a richer backend datetime is accepted) and the chosen instant is emitted in that format.\n * Picking a date keeps the time and vice-versa, and the popover stays open until you click away,\n * press Escape, or hit Done. Supports `hour12`, `minuteStep`, `showSeconds`, `min`/`max`,\n * `disabledDate`, `weekStartsOn`, and `clearable`. Controlled (`value` + `onChange`) or uncontrolled\n * (`defaultValue`), and binds to a surrounding `<Form>` by `name`. Requires the `dayjs` peer dependency.\n */\nexport const DateTimePicker = forwardRef<HTMLInputElement, DateTimePickerProps>(\n function DateTimePicker(\n {\n label,\n size = 'md',\n error,\n helperText,\n required = false,\n fullWidth = true,\n disabled = false,\n value,\n defaultValue,\n onChange,\n format: formatProp,\n valueFormat: valueFormatProp,\n utc = true,\n hour12 = false,\n minuteStep = 1,\n showSeconds = true,\n placeholder,\n min,\n max,\n disabledDate,\n weekStartsOn = 1,\n clearable = true,\n name,\n id: idProp,\n className,\n style,\n },\n ref,\n ) {\n const t = useT()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n const labelId = `${id}-label`\n const format = formatProp ?? defaultFormatFor(hour12, showSeconds)\n // when the value is UTC, the wire string carries a `Z` (\"…09:35:00Z\"); `utc={false}` emits the\n // bare wall-clock (no zone designator). Override either via `valueFormat`.\n const valueFormat = valueFormatProp ?? (utc ? 'YYYY-MM-DDTHH:mm:ss[Z]' : 'YYYY-MM-DDTHH:mm:ss')\n\n // ── value (controlled / form-bound / uncontrolled) — a `valueFormat` datetime string ────────────\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const externalValue =\n value !== undefined\n ? value\n : isFormBound\n ? ((form!.values[name!] as string | undefined) ?? '')\n : undefined\n const isControlled = value !== undefined || isFormBound\n const [internal, setInternal] = useState<string>(defaultValue ?? '')\n const currentValue = isControlled ? externalValue! : internal\n // when `utc`, parse the UTC value and show it in the viewer's LOCAL time (value stays UTC, emit\n // converts back); when `utc={false}`, show/emit the value's exact wall-clock (no tz conversion)\n const toDisplay = (instant: Dayjs | null) => (utc ? utcToLocalWall(instant) : instant)\n const selected = toDisplay(parseValue(currentValue, valueFormat))\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const minDate = toDisplay(parseValue(min, valueFormat))\n const maxDate = toDisplay(parseValue(max, valueFormat))\n const mask = maskFromFormat(format)\n // precision the user can actually type — driven by the display `format`, not just `showSeconds`\n const timeUnit = /s/.test(format) ? 'second' : 'minute'\n\n const commit = (next: string) => {\n if (next === currentValue) return // skip redundant onChange / setValue with an unchanged value\n if (!isControlled) setInternal(next)\n if (isFormBound) form!.setValue(name!, next)\n onChange?.(next)\n }\n\n // emit a datetime in the wire `valueFormat` (time preserved), or '' to clear. Re-picking the same\n // instant is a no-op (string equality alone would leak a spurious emit for sub-second source values)\n const commitDateTime = (d: Dayjs | null) => {\n if (d && selected && d.isSame(selected, 'second')) return\n // local-wall → UTC for the wire value (or emit the wall-clock as-is when `utc={false}`)\n commit(d ? (utc ? localWallToUtc(d) : d).format(valueFormat) : '')\n }\n\n // true when `d` differs from the current value at the input's precision — gates typed-input commits\n // so a no-op round-trip (focus/blur) never rewrites an unchanged value's finer time\n const changed = (d: Dayjs) => !selected || !d.isSame(selected, timeUnit)\n\n // input display text (kept in sync with the committed value; free while typing an incomplete value)\n const [inputText, setInputText] = useState<string>(() =>\n selected ? selected.format(format) : '',\n )\n useEffect(() => {\n setInputText(selected ? selected.format(format) : '')\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentValue, format, valueFormat])\n\n // ── popover ──────────────────────────────────────────────────────────────────────────────────\n const triggerRef = useRef<HTMLDivElement | null>(null)\n const inputRef = useRef<HTMLInputElement | null>(null)\n const [open, setOpen] = useState(false)\n const [viewMonth, setViewMonth] = useState<Dayjs>(() => selected ?? today())\n // which popover tab is active — controlled so picking a day can auto-advance to Time\n const [tab, setTab] = useState<'date' | 'time'>('date')\n const advanceRef = useRef(false) // set when a day-pick advances to Time → move focus there\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLInputElement | null }).current = node\n },\n [ref],\n )\n\n const fieldBlurRef = useRef<(() => void) | undefined>(undefined)\n fieldBlurRef.current = bound\n ? () => bound.onBlur({} as FocusEvent<HTMLInputElement>)\n : undefined\n\n // the floating panel forwards its node here, for the blur check + the auto-advance focus move\n const popoverRef = useRef<HTMLDivElement | null>(null)\n\n const closePopover = useCallback((refocus: boolean) => {\n setOpen(false)\n fieldBlurRef.current?.()\n if (refocus) inputRef.current?.focus()\n }, [])\n\n useEffect(() => {\n if (open) {\n setViewMonth(selected ?? today())\n setTab('date') // always open on the Date tab\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open])\n\n // after a day-pick auto-advances to the Time tab, move focus onto it so the focus trap holds\n // (the just-picked calendar cell has unmounted); a manual tab switch never triggers this\n useEffect(() => {\n if (tab === 'time' && advanceRef.current) {\n advanceRef.current = false\n popoverRef.current\n ?.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]')\n ?.focus()\n }\n }, [tab, popoverRef])\n\n const isOutOfRange = (d: Dayjs): boolean => {\n if (minDate && d.isBefore(minDate, 'day')) return true\n if (maxDate && d.isAfter(maxDate, 'day')) return true\n return Boolean(disabledDate && disabledDate(toISO(d)))\n }\n\n const handleInputChange = (raw: string) => {\n const masked = applyMask(raw, mask)\n setInputText(masked)\n if (masked === '') {\n commit('') // emptying the field clears the value\n return\n }\n const parsed = parseInput(masked, format)\n if (parsed && !isOutOfRange(parsed) && changed(parsed)) commitDateTime(parsed)\n }\n\n const handleInputBlur = (event: FocusEvent<HTMLInputElement>) => {\n const parsed = parseInput(inputText, format)\n if (inputText === '') {\n commit('') // an emptied field stays cleared\n } else if (parsed && !isOutOfRange(parsed)) {\n if (changed(parsed)) commitDateTime(parsed)\n setInputText(parsed.format(format))\n } else {\n setInputText(selected ? selected.format(format) : '')\n }\n const nextEl = event.relatedTarget as Node | null\n if (nextEl && (popoverRef.current?.contains(nextEl) || triggerRef.current?.contains(nextEl)))\n return\n bound?.onBlur(event)\n }\n\n // picking a day keeps the current time; picking a time keeps the current day — the popover stays open\n const handleSelectDate = (iso: string) => {\n const date = parseISO(iso)\n if (!date) return\n const base = selected ?? today()\n commitDateTime(date.hour(base.hour()).minute(base.minute()).second(base.second()))\n advanceRef.current = true\n setTab('time') // picking a day advances to the Time tab\n }\n const handleTimeChange = (next: Dayjs) => commitDateTime(next)\n\n const iconSize: 'sm' | 'md' = size === 'sm' ? 'sm' : 'md'\n\n return (\n <div\n className={clsx(\n styles.field,\n styles[size],\n fullWidth && styles.fullWidth,\n resolvedError && styles.error,\n disabled && styles.disabled,\n className,\n )}\n style={style}\n >\n {label != null && (\n <label htmlFor={id} className={styles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={styles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div ref={triggerRef} className={clsx(styles.control, open && styles.open)}>\n <input\n ref={setInputRef}\n id={id}\n name={name}\n className={styles.input}\n value={inputText}\n placeholder={placeholder ?? format.toLowerCase()}\n disabled={disabled}\n autoComplete=\"off\"\n aria-invalid={resolvedError || undefined}\n aria-describedby={resolvedHelperText != null ? helperId : undefined}\n onChange={(e) => handleInputChange(e.target.value)}\n onBlur={handleInputBlur}\n />\n\n {clearable && currentValue !== '' && !disabled && (\n <button\n type=\"button\"\n className={styles.clear}\n aria-label={t('dateTimePicker.clear')}\n tabIndex={-1}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => {\n commit('')\n setInputText('')\n inputRef.current?.focus()\n }}\n >\n <Icon name=\"CloseCircle\" size=\"sm\" />\n </button>\n )}\n\n <IconButton\n type=\"button\"\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled}\n aria-label={t('dateTimePicker.open')}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={styles.calendarButton}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => setOpen((o) => !o)}\n >\n <Icon name=\"Calendar3\" size={iconSize} />\n </IconButton>\n </div>\n\n <FloatingPanel\n ref={popoverRef}\n open={open}\n triggerRef={triggerRef}\n onClose={closePopover}\n role=\"dialog\"\n ariaLabel=\"Choose date and time\"\n trapFocus\n className={clsx(styles.popover, dt.popover)}\n >\n <Tabs\n className={dt.tabs}\n aria-label={t('dateTimePicker.label')}\n fullWidth\n autoFocus\n // the Date/Time tabs are internal popover UI — never sync them to the page URL\n queryKey={null}\n value={tab}\n onChange={(v) => setTab(v as 'date' | 'time')}\n items={[\n {\n value: 'date',\n label: t('dateTimePicker.dateTab'),\n icon: 'Calendar3',\n content: (\n <Calendar\n value={selected}\n month={viewMonth}\n onMonthChange={setViewMonth}\n onSelect={handleSelectDate}\n min={minDate}\n max={maxDate}\n disabledDate={disabledDate}\n weekStartsOn={weekStartsOn}\n labelId={labelId}\n />\n ),\n },\n {\n value: 'time',\n label: t('dateTimePicker.timeTab'),\n icon: 'Clock',\n content: (\n <div className={dt.timePane}>\n <TimeColumns\n value={selected}\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n showSeconds={showSeconds}\n />\n </div>\n ),\n },\n ]}\n />\n <div className={dt.footer}>\n <Button size=\"sm\" variant=\"filled\" color=\"primary\" onClick={() => closePopover(true)}>\n {t('common.done')}\n </Button>\n </div>\n </FloatingPanel>\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={styles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n },\n)\n"],"names":["defaultFormatFor","hour12","showSeconds","DateTimePicker","forwardRef","label","size","error","helperText","required","fullWidth","disabled","value","defaultValue","onChange","formatProp","valueFormatProp","utc","minuteStep","placeholder","min","max","disabledDate","weekStartsOn","clearable","name","idProp","className","style","ref","t","useT","reactId","useId","id","helperId","labelId","format","valueFormat","form","useFormContext","isFormBound","bound","externalValue","isControlled","internal","setInternal","useState","currentValue","toDisplay","instant","utcToLocalWall","selected","parseValue","resolvedError","resolvedHelperText","minDate","maxDate","mask","maskFromFormat","timeUnit","commit","next","commitDateTime","d","localWallToUtc","changed","inputText","setInputText","useEffect","triggerRef","useRef","inputRef","open","setOpen","viewMonth","setViewMonth","today","tab","setTab","advanceRef","setInputRef","useCallback","node","fieldBlurRef","popoverRef","closePopover","refocus","_a","_b","isOutOfRange","toISO","handleInputChange","raw","masked","applyMask","parsed","parseInput","handleInputBlur","event","nextEl","handleSelectDate","iso","date","parseISO","base","handleTimeChange","iconSize","jsxs","clsx","styles","jsx","Typography","Icon","IconButton","o","FloatingPanel","dt","Tabs","v","Calendar","TimeColumns","Button"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const i=require("react/jsx-runtime"),o=require("react"),_=require("clsx"),b="_divider_1bmht_3",d="_horizontal_1bmht_8",h="_vertical_1bmht_15",v="_labelled_1bmht_24",m="_center_1bmht_40",u="_left_1bmht_45",f="_right_1bmht_52",x="_label_1bmht_24",e={divider:b,horizontal:d,vertical:h,labelled:v,center:m,left:u,right:f,label:x},z=o.forwardRef(function({orientation:t="horizontal",align:a="center",className:s,children:l,...c},n){const r=t==="horizontal"&&l!=null&&l!=="";return i.jsx("div",{ref:n,role:"separator","aria-orientation":t==="vertical"?"vertical":void 0,className:_.clsx(e.divider,e[t],r&&e.labelled,r&&e[a],s),...c,children:r?i.jsx("span",{className:e.label,children:l}):null})});exports.Divider=z;
2
+ //# sourceMappingURL=Divider-CzbhdCiD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider-CzbhdCiD.cjs","sources":["../src/components/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport styles from './Divider.module.css'\n\nexport type DividerOrientation = 'horizontal' | 'vertical'\nexport type DividerAlign = 'left' | 'center' | 'right'\n\nexport interface DividerProps extends HTMLAttributes<HTMLDivElement> {\n /** Line direction. `horizontal` (default) spans its container; `vertical` is a thin upright rule. */\n orientation?: DividerOrientation\n /** Where the label sits along a horizontal divider. Defaults to `center`. (Ignored without a label.) */\n align?: DividerAlign\n /** Optional title/label rendered in the line (horizontal only). */\n children?: ReactNode\n}\n\n/**\n * A separator line. On its own it's a plain rule; pass `children` for a labeled divider\n * (`line — title — line`) positioned by `align` (`left` / `center` / `right`). `orientation=\"vertical\"`\n * renders a thin upright rule (stretches inside a flex row). Token-only styling; `role=\"separator\"`.\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(function Divider(\n { orientation = 'horizontal', align = 'center', className, children, ...props },\n ref,\n) {\n const hasLabel = orientation === 'horizontal' && children != null && children !== ''\n\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation === 'vertical' ? 'vertical' : undefined}\n className={clsx(\n styles.divider,\n styles[orientation],\n hasLabel && styles.labelled,\n hasLabel && styles[align],\n className,\n )}\n {...props}\n >\n {hasLabel ? <span className={styles.label}>{children}</span> : null}\n </div>\n )\n})\n"],"names":["Divider","forwardRef","orientation","align","className","children","props","ref","hasLabel","jsx","clsx","styles"],"mappings":"mVAqBaA,EAAUC,EAAAA,WAAyC,SAC9D,CAAE,YAAAC,EAAc,aAAc,MAAAC,EAAQ,SAAU,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAA,EACxEC,EACA,CACA,MAAMC,EAAWN,IAAgB,cAAgBG,GAAY,MAAQA,IAAa,GAElF,OACEI,EAAAA,IAAC,MAAA,CACC,IAAAF,EACA,KAAK,YACL,mBAAkBL,IAAgB,WAAa,WAAa,OAC5D,UAAWQ,EAAAA,KACTC,EAAO,QACPA,EAAOT,CAAW,EAClBM,GAAYG,EAAO,SACnBH,GAAYG,EAAOR,CAAK,EACxBC,CAAA,EAED,GAAGE,EAEH,WAAWG,EAAAA,IAAC,OAAA,CAAK,UAAWE,EAAO,MAAQ,SAAAN,EAAS,EAAU,IAAA,CAAA,CAGrE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as n } from "react";
3
+ import { clsx as s } from "clsx";
4
+ const b = "_divider_1bmht_3", d = "_horizontal_1bmht_8", h = "_vertical_1bmht_15", m = "_labelled_1bmht_24", v = "_center_1bmht_40", f = "_left_1bmht_45", p = "_right_1bmht_52", z = "_label_1bmht_24", t = {
5
+ divider: b,
6
+ horizontal: d,
7
+ vertical: h,
8
+ labelled: m,
9
+ center: v,
10
+ left: f,
11
+ right: p,
12
+ label: z
13
+ }, N = n(function({ orientation: l = "horizontal", align: a = "center", className: i, children: e, ..._ }, c) {
14
+ const r = l === "horizontal" && e != null && e !== "";
15
+ return /* @__PURE__ */ o(
16
+ "div",
17
+ {
18
+ ref: c,
19
+ role: "separator",
20
+ "aria-orientation": l === "vertical" ? "vertical" : void 0,
21
+ className: s(
22
+ t.divider,
23
+ t[l],
24
+ r && t.labelled,
25
+ r && t[a],
26
+ i
27
+ ),
28
+ ..._,
29
+ children: r ? /* @__PURE__ */ o("span", { className: t.label, children: e }) : null
30
+ }
31
+ );
32
+ });
33
+ export {
34
+ N as D
35
+ };
36
+ //# sourceMappingURL=Divider-LtH3dLgw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider-LtH3dLgw.js","sources":["../src/components/Divider/Divider.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport styles from './Divider.module.css'\n\nexport type DividerOrientation = 'horizontal' | 'vertical'\nexport type DividerAlign = 'left' | 'center' | 'right'\n\nexport interface DividerProps extends HTMLAttributes<HTMLDivElement> {\n /** Line direction. `horizontal` (default) spans its container; `vertical` is a thin upright rule. */\n orientation?: DividerOrientation\n /** Where the label sits along a horizontal divider. Defaults to `center`. (Ignored without a label.) */\n align?: DividerAlign\n /** Optional title/label rendered in the line (horizontal only). */\n children?: ReactNode\n}\n\n/**\n * A separator line. On its own it's a plain rule; pass `children` for a labeled divider\n * (`line — title — line`) positioned by `align` (`left` / `center` / `right`). `orientation=\"vertical\"`\n * renders a thin upright rule (stretches inside a flex row). Token-only styling; `role=\"separator\"`.\n */\nexport const Divider = forwardRef<HTMLDivElement, DividerProps>(function Divider(\n { orientation = 'horizontal', align = 'center', className, children, ...props },\n ref,\n) {\n const hasLabel = orientation === 'horizontal' && children != null && children !== ''\n\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={orientation === 'vertical' ? 'vertical' : undefined}\n className={clsx(\n styles.divider,\n styles[orientation],\n hasLabel && styles.labelled,\n hasLabel && styles[align],\n className,\n )}\n {...props}\n >\n {hasLabel ? <span className={styles.label}>{children}</span> : null}\n </div>\n )\n})\n"],"names":["Divider","forwardRef","orientation","align","className","children","props","ref","hasLabel","jsx","clsx","styles"],"mappings":";;;;;;;;;;;;GAqBaA,IAAUC,EAAyC,SAC9D,EAAE,aAAAC,IAAc,cAAc,OAAAC,IAAQ,UAAU,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GACxEC,GACA;AACA,QAAMC,IAAWN,MAAgB,gBAAgBG,KAAY,QAAQA,MAAa;AAElF,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,MAAK;AAAA,MACL,oBAAkBL,MAAgB,aAAa,aAAa;AAAA,MAC5D,WAAWQ;AAAA,QACTC,EAAO;AAAA,QACPA,EAAOT,CAAW;AAAA,QAClBM,KAAYG,EAAO;AAAA,QACnBH,KAAYG,EAAOR,CAAK;AAAA,QACxBC;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEH,cAAW,gBAAAG,EAAC,QAAA,EAAK,WAAWE,EAAO,OAAQ,UAAAN,GAAS,IAAU;AAAA,IAAA;AAAA,EAAA;AAGrE,CAAC;"}
@@ -0,0 +1,146 @@
1
+ import { jsxs as et, Fragment as nt, jsx as q } from "react/jsx-runtime";
2
+ import { useId as ot, useRef as z, useState as R, useCallback as M, useLayoutEffect as rt, useEffect as W, cloneElement as it } from "react";
3
+ import { createPortal as st } from "react-dom";
4
+ import { clsx as ct } from "clsx";
5
+ import { L as at } from "./List-BHgFI9Ll.js";
6
+ import { u as lt } from "./useLockBodyScroll-DwBILLPK.js";
7
+ const ut = "_panel_ntp6g_4", dt = "_sm_ntp6g_21", mt = "_md_ntp6g_24", ft = "_lg_ntp6g_27", C = {
8
+ panel: ut,
9
+ sm: dt,
10
+ md: mt,
11
+ lg: ft
12
+ }, pt = 8, N = '[role="menuitem"],[role="button"],a[href],button:not([disabled]),[tabindex]:not([tabindex="-1"])';
13
+ function j(f) {
14
+ return f ? Array.from(f.querySelectorAll(N)).filter(
15
+ (w) => w.getAttribute("aria-disabled") !== "true" && w.offsetParent !== null
16
+ ) : [];
17
+ }
18
+ function Et({
19
+ trigger: f,
20
+ children: w,
21
+ placement: A = "bottom-start",
22
+ size: H = "md",
23
+ minWidth: T = !0,
24
+ open: F,
25
+ defaultOpen: U = !1,
26
+ onOpenChange: h,
27
+ closeOnSelect: V = !0,
28
+ matchTriggerWidth: I = !1,
29
+ disabled: G = !1,
30
+ offset: p = 6,
31
+ className: K,
32
+ style: J
33
+ }) {
34
+ const P = ot(), l = z(null), u = z(null), k = F !== void 0, [Q, X] = R(U), r = k ? F : Q, [Y, B] = R(!1), [o, Z] = R(null), L = M(
35
+ (n) => {
36
+ k || X(n), h == null || h(n);
37
+ },
38
+ [k, h]
39
+ ), b = M(() => L(!1), [L]);
40
+ lt(r);
41
+ const v = M(() => {
42
+ const n = l.current, e = u.current;
43
+ if (!n || !e) return;
44
+ const t = n.getBoundingClientRect(), a = e.offsetWidth, c = e.offsetHeight, i = window.innerWidth, y = window.innerHeight, s = pt, m = y - t.bottom - p - s, E = t.top - p - s;
45
+ let d = A.startsWith("bottom") ? "bottom" : "top";
46
+ d === "bottom" && c > m && E > m ? d = "top" : d === "top" && c > E && m > E && (d = "bottom");
47
+ const O = Math.max(0, d === "bottom" ? m : E), S = Math.min(c, O);
48
+ let _ = d === "bottom" ? t.bottom + p : t.top - p - S;
49
+ _ = Math.min(Math.max(_, s), Math.max(s, y - s - S));
50
+ let D = A.endsWith("end") ? t.right - a : t.left;
51
+ D = Math.min(Math.max(D, s), Math.max(s, i - s - a)), Z({ top: _, left: D, side: d, maxHeight: O, minWidth: I ? t.width : void 0 });
52
+ }, [A, p, I]);
53
+ rt(() => {
54
+ if (!r) {
55
+ B(!1);
56
+ return;
57
+ }
58
+ v();
59
+ }, [r, v]), W(() => {
60
+ if (!r) return;
61
+ const n = requestAnimationFrame(() => B(!0)), e = () => v();
62
+ window.addEventListener("resize", e), window.addEventListener("scroll", e, !0);
63
+ let t;
64
+ return typeof ResizeObserver < "u" && (t = new ResizeObserver(e), u.current && t.observe(u.current), l.current && t.observe(l.current)), () => {
65
+ cancelAnimationFrame(n), window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0), t == null || t.disconnect();
66
+ };
67
+ }, [r, v]), W(() => {
68
+ if (!r) return;
69
+ const n = (t) => {
70
+ var c, i;
71
+ const a = t.target;
72
+ (c = l.current) != null && c.contains(a) || (i = u.current) != null && i.contains(a) || b();
73
+ }, e = (t) => {
74
+ var a, c;
75
+ if (t.key === "Escape")
76
+ t.preventDefault(), b(), (a = l.current) == null || a.focus();
77
+ else if (t.key === "Tab")
78
+ b();
79
+ else if (t.key === "ArrowDown" || t.key === "ArrowUp") {
80
+ t.preventDefault();
81
+ const i = j(u.current);
82
+ if (!i.length) return;
83
+ const y = i.indexOf(document.activeElement), s = t.key === "ArrowDown" ? 1 : -1, m = (y + s + i.length) % i.length;
84
+ (c = i[m]) == null || c.focus();
85
+ }
86
+ };
87
+ return document.addEventListener("pointerdown", n, !0), document.addEventListener("keydown", e), () => {
88
+ document.removeEventListener("pointerdown", n, !0), document.removeEventListener("keydown", e);
89
+ };
90
+ }, [r, b]), W(() => {
91
+ if (!r) return;
92
+ const n = requestAnimationFrame(() => {
93
+ var e;
94
+ return (e = j(u.current)[0]) == null ? void 0 : e.focus();
95
+ });
96
+ return () => cancelAnimationFrame(n);
97
+ }, [r]);
98
+ const g = f.props, x = g.ref, $ = it(f, {
99
+ ref: (n) => {
100
+ l.current = n, typeof x == "function" ? x(n) : x && (x.current = n);
101
+ },
102
+ onClick: (n) => {
103
+ var e;
104
+ (e = g.onClick) == null || e.call(g, n), G || L(!r);
105
+ },
106
+ "aria-haspopup": "menu",
107
+ "aria-expanded": r,
108
+ "aria-controls": r ? P : void 0
109
+ }), tt = (n) => {
110
+ var t;
111
+ if (!V) return;
112
+ const e = n.target.closest(N);
113
+ e && e.getAttribute("aria-disabled") !== "true" && (b(), (t = l.current) == null || t.focus());
114
+ };
115
+ return /* @__PURE__ */ et(nt, { children: [
116
+ $,
117
+ r && st(
118
+ /* @__PURE__ */ q(
119
+ "div",
120
+ {
121
+ ref: u,
122
+ id: P,
123
+ className: ct(C.panel, T && C[H], K),
124
+ "data-open": Y ? "true" : "false",
125
+ "data-side": (o == null ? void 0 : o.side) ?? "bottom",
126
+ style: {
127
+ position: "fixed",
128
+ top: (o == null ? void 0 : o.top) ?? 0,
129
+ left: (o == null ? void 0 : o.left) ?? 0,
130
+ maxHeight: o == null ? void 0 : o.maxHeight,
131
+ minWidth: o == null ? void 0 : o.minWidth,
132
+ visibility: o ? "visible" : "hidden",
133
+ ...J
134
+ },
135
+ onClick: tt,
136
+ children: /* @__PURE__ */ q(at, { role: "menu", size: H, padding: "xs", children: w })
137
+ }
138
+ ),
139
+ document.body
140
+ )
141
+ ] });
142
+ }
143
+ export {
144
+ Et as D
145
+ };
146
+ //# sourceMappingURL=Dropdown-DKAXue5_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown-DKAXue5_.js","sources":["../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { clsx } from 'clsx'\nimport { List, type ListItemSize } from '../List'\nimport { useLockBodyScroll } from '../../hooks/useLockBodyScroll'\nimport styles from './Dropdown.module.css'\n\nexport type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end'\n\ninterface Position {\n top: number\n left: number\n side: 'top' | 'bottom'\n maxHeight: number\n minWidth?: number\n}\n\nexport interface DropdownProps {\n /** The element that opens the menu (e.g. a `Button` / `IconButton`). Cloned to wire click + a11y. */\n trigger: ReactElement\n /** Menu content — typically `ListItem`s (composed inside a `role=\"menu\"` `List`). */\n children: ReactNode\n /** Preferred placement. Flips to the opposite side automatically when it would overflow. Default `bottom-start`. */\n placement?: DropdownPlacement\n /** Menu size — sets the panel min-width (`sm` 150 · `md` 190 · `lg` 220) and the items' density. Default `md`. */\n size?: ListItemSize\n /**\n * Apply the size-based min-width (`sm` 150 · `md` 190 · `lg` 220px). Defaults to `true`; set `false`\n * to let the menu size to its content instead (the items' density still tracks `size`).\n */\n minWidth?: boolean\n /** Controlled open state. */\n open?: boolean\n /** Initial open state for uncontrolled use. Defaults to `false`. */\n defaultOpen?: boolean\n /** Fires with the next open state. */\n onOpenChange?: (open: boolean) => void\n /** Close the menu when an item inside is clicked. Defaults to `true`. */\n closeOnSelect?: boolean\n /** Make the menu at least as wide as the trigger (select-like). Defaults to `false`. */\n matchTriggerWidth?: boolean\n /** Prevents opening. */\n disabled?: boolean\n /** Gap between the trigger and the menu, in px. Defaults to `6`. */\n offset?: number\n /** Class applied to the floating panel. */\n className?: string\n /** Style applied to the floating panel. */\n style?: CSSProperties\n}\n\n/** Distance the menu is kept from the viewport edges (px). */\nconst VIEWPORT_PADDING = 8\n/** Focusable menu items, used for arrow-key roving. */\nconst FOCUSABLE =\n '[role=\"menuitem\"],[role=\"button\"],a[href],button:not([disabled]),[tabindex]:not([tabindex=\"-1\"])'\n\nfunction focusableItems(panel: HTMLElement | null): HTMLElement[] {\n if (!panel) return []\n return Array.from(panel.querySelectorAll<HTMLElement>(FOCUSABLE)).filter(\n (el) => el.getAttribute('aria-disabled') !== 'true' && el.offsetParent !== null,\n )\n}\n\n/**\n * A floating menu anchored to a `trigger`. Opens on trigger click; closes on outside click, `Escape`,\n * or selecting an item. The panel is portaled to `document.body` and positioned with collision\n * handling — it **flips** to the opposite side when it would overflow, clamps within the viewport, and\n * re-positions on scroll/resize (a too-tall menu caps its height and scrolls). Arrow keys move between\n * items; `Escape` returns focus to the trigger. Compose `ListItem`s as `children`.\n */\nexport function Dropdown({\n trigger,\n children,\n placement = 'bottom-start',\n size = 'md',\n minWidth = true,\n open,\n defaultOpen = false,\n onOpenChange,\n closeOnSelect = true,\n matchTriggerWidth = false,\n disabled = false,\n offset = 6,\n className,\n style,\n}: DropdownProps) {\n const menuId = useId()\n const triggerRef = useRef<HTMLElement | null>(null)\n const panelRef = useRef<HTMLDivElement | null>(null)\n\n const isControlled = open !== undefined\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const isOpen = isControlled ? open : internalOpen\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<Position | null>(null)\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next)\n onOpenChange?.(next)\n },\n [isControlled, onOpenChange],\n )\n const close = useCallback(() => setOpen(false), [setOpen])\n\n // lock page scroll while the menu is open (no scrollbar shift)\n useLockBodyScroll(isOpen)\n\n // ── positioning: flip when it would overflow, clamp inside the viewport ──\n const update = useCallback(() => {\n const triggerEl = triggerRef.current\n const panel = panelRef.current\n if (!triggerEl || !panel) return\n\n const rect = triggerEl.getBoundingClientRect()\n const panelW = panel.offsetWidth\n const panelH = panel.offsetHeight\n const vw = window.innerWidth\n const vh = window.innerHeight\n const pad = VIEWPORT_PADDING\n\n const spaceBelow = vh - rect.bottom - offset - pad\n const spaceAbove = rect.top - offset - pad\n let side: 'top' | 'bottom' = placement.startsWith('bottom') ? 'bottom' : 'top'\n // flip only when the preferred side can't fit AND the opposite side has more room\n if (side === 'bottom' && panelH > spaceBelow && spaceAbove > spaceBelow) side = 'top'\n else if (side === 'top' && panelH > spaceAbove && spaceBelow > spaceAbove) side = 'bottom'\n\n const available = side === 'bottom' ? spaceBelow : spaceAbove\n const maxHeight = Math.max(0, available)\n const usedH = Math.min(panelH, maxHeight)\n\n let top = side === 'bottom' ? rect.bottom + offset : rect.top - offset - usedH\n top = Math.min(Math.max(top, pad), Math.max(pad, vh - pad - usedH))\n\n let left = placement.endsWith('end') ? rect.right - panelW : rect.left\n left = Math.min(Math.max(left, pad), Math.max(pad, vw - pad - panelW))\n\n setPos({ top, left, side, maxHeight, minWidth: matchTriggerWidth ? rect.width : undefined })\n }, [placement, offset, matchTriggerWidth])\n\n // position synchronously before paint whenever the menu is open\n useLayoutEffect(() => {\n if (!isOpen) {\n setVisible(false)\n return\n }\n update()\n }, [isOpen, update])\n\n // enter transition + reposition listeners while open\n useEffect(() => {\n if (!isOpen) return\n const raf = requestAnimationFrame(() => setVisible(true))\n\n const onReposition = () => update()\n window.addEventListener('resize', onReposition)\n window.addEventListener('scroll', onReposition, true)\n let ro: ResizeObserver | undefined\n if (typeof ResizeObserver !== 'undefined') {\n ro = new ResizeObserver(onReposition)\n if (panelRef.current) ro.observe(panelRef.current)\n if (triggerRef.current) ro.observe(triggerRef.current)\n }\n\n return () => {\n cancelAnimationFrame(raf)\n window.removeEventListener('resize', onReposition)\n window.removeEventListener('scroll', onReposition, true)\n ro?.disconnect()\n }\n }, [isOpen, update])\n\n // outside click + keyboard (Escape, arrow roving)\n useEffect(() => {\n if (!isOpen) return\n const onPointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n if (triggerRef.current?.contains(target) || panelRef.current?.contains(target)) return\n close()\n }\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n close()\n triggerRef.current?.focus()\n } else if (event.key === 'Tab') {\n // Tab would move focus by portal DOM order (end of <body>), orphaning the open menu — close it\n // and let focus continue naturally from the trigger (Select/MultiSelect do the same)\n close()\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault()\n const items = focusableItems(panelRef.current)\n if (!items.length) return\n const current = items.indexOf(document.activeElement as HTMLElement)\n const delta = event.key === 'ArrowDown' ? 1 : -1\n const next = (current + delta + items.length) % items.length\n items[next]?.focus()\n }\n }\n document.addEventListener('pointerdown', onPointerDown, true)\n document.addEventListener('keydown', onKeyDown)\n return () => {\n document.removeEventListener('pointerdown', onPointerDown, true)\n document.removeEventListener('keydown', onKeyDown)\n }\n }, [isOpen, close])\n\n // focus the first item once the menu is open and positioned\n useEffect(() => {\n if (!isOpen) return\n const raf = requestAnimationFrame(() => focusableItems(panelRef.current)[0]?.focus())\n return () => cancelAnimationFrame(raf)\n }, [isOpen])\n\n const triggerProps = trigger.props as {\n onClick?: (event: ReactMouseEvent) => void\n ref?: Ref<HTMLElement>\n }\n const originalRef = triggerProps.ref\n\n const clonedTrigger = cloneElement(trigger as ReactElement<Record<string, unknown>>, {\n ref: (node: HTMLElement | null) => {\n triggerRef.current = node\n if (typeof originalRef === 'function') originalRef(node)\n else if (originalRef) (originalRef as { current: HTMLElement | null }).current = node\n },\n onClick: (event: ReactMouseEvent) => {\n triggerProps.onClick?.(event)\n if (!disabled) setOpen(!isOpen)\n },\n 'aria-haspopup': 'menu',\n 'aria-expanded': isOpen,\n 'aria-controls': isOpen ? menuId : undefined,\n })\n\n const handlePanelClick = (event: ReactMouseEvent) => {\n if (!closeOnSelect) return\n const item = (event.target as HTMLElement).closest(FOCUSABLE)\n if (item && item.getAttribute('aria-disabled') !== 'true') {\n close()\n triggerRef.current?.focus()\n }\n }\n\n return (\n <>\n {clonedTrigger}\n {isOpen &&\n createPortal(\n <div\n ref={panelRef}\n id={menuId}\n className={clsx(styles.panel, minWidth && styles[size], className)}\n data-open={visible ? 'true' : 'false'}\n data-side={pos?.side ?? 'bottom'}\n style={{\n position: 'fixed',\n top: pos?.top ?? 0,\n left: pos?.left ?? 0,\n maxHeight: pos?.maxHeight,\n minWidth: pos?.minWidth,\n visibility: pos ? 'visible' : 'hidden',\n ...style,\n }}\n onClick={handlePanelClick}\n >\n <List role=\"menu\" size={size} padding=\"xs\">\n {children}\n </List>\n </div>,\n document.body,\n )}\n </>\n )\n}\n"],"names":["VIEWPORT_PADDING","FOCUSABLE","focusableItems","panel","el","Dropdown","trigger","children","placement","size","minWidth","open","defaultOpen","onOpenChange","closeOnSelect","matchTriggerWidth","disabled","offset","className","style","menuId","useId","triggerRef","useRef","panelRef","isControlled","internalOpen","setInternalOpen","useState","isOpen","visible","setVisible","pos","setPos","setOpen","useCallback","next","close","useLockBodyScroll","update","triggerEl","rect","panelW","panelH","vw","vh","pad","spaceBelow","spaceAbove","side","maxHeight","usedH","top","left","useLayoutEffect","useEffect","raf","onReposition","ro","onPointerDown","event","target","_a","_b","onKeyDown","items","current","delta","triggerProps","originalRef","clonedTrigger","cloneElement","node","handlePanelClick","item","jsxs","Fragment","createPortal","jsx","clsx","styles","List"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const A=require("react/jsx-runtime"),o=require("react"),Z=require("react-dom"),$=require("clsx"),ee=require("./List-CNz2M3-q.cjs"),te=require("./useLockBodyScroll-CIXHZo-Q.cjs"),ne="_panel_ntp6g_4",re="_sm_ntp6g_21",oe="_md_ntp6g_24",se="_lg_ntp6g_27",B={panel:ne,sm:re,md:oe,lg:se},ie=8,j='[role="menuitem"],[role="button"],a[href],button:not([disabled]),[tabindex]:not([tabindex="-1"])';function C(b){return b?Array.from(b.querySelectorAll(j)).filter(h=>h.getAttribute("aria-disabled")!=="true"&&h.offsetParent!==null):[]}function ce({trigger:b,children:h,placement:L="bottom-start",size:M="md",minWidth:O=!0,open:W,defaultOpen:z=!1,onOpenChange:v,closeOnSelect:N=!0,matchTriggerWidth:H=!1,disabled:T=!1,offset:p=6,className:U,style:V}){const S=o.useId(),u=o.useRef(null),d=o.useRef(null),_=W!==void 0,[G,K]=o.useState(z),s=_?W:G,[J,F]=o.useState(!1),[r,Q]=o.useState(null),D=o.useCallback(n=>{_||K(n),v==null||v(n)},[_,v]),w=o.useCallback(()=>D(!1),[D]);te.useLockBodyScroll(s);const g=o.useCallback(()=>{const n=u.current,t=d.current;if(!n||!t)return;const e=n.getBoundingClientRect(),l=t.offsetWidth,a=t.offsetHeight,i=window.innerWidth,E=window.innerHeight,c=ie,m=E-e.bottom-p-c,k=e.top-p-c;let f=L.startsWith("bottom")?"bottom":"top";f==="bottom"&&a>m&&k>m?f="top":f==="top"&&a>k&&m>k&&(f="bottom");const I=Math.max(0,f==="bottom"?m:k),P=Math.min(a,I);let R=f==="bottom"?e.bottom+p:e.top-p-P;R=Math.min(Math.max(R,c),Math.max(c,E-c-P));let q=L.endsWith("end")?e.right-l:e.left;q=Math.min(Math.max(q,c),Math.max(c,i-c-l)),Q({top:R,left:q,side:f,maxHeight:I,minWidth:H?e.width:void 0})},[L,p,H]);o.useLayoutEffect(()=>{if(!s){F(!1);return}g()},[s,g]),o.useEffect(()=>{if(!s)return;const n=requestAnimationFrame(()=>F(!0)),t=()=>g();window.addEventListener("resize",t),window.addEventListener("scroll",t,!0);let e;return typeof ResizeObserver<"u"&&(e=new ResizeObserver(t),d.current&&e.observe(d.current),u.current&&e.observe(u.current)),()=>{cancelAnimationFrame(n),window.removeEventListener("resize",t),window.removeEventListener("scroll",t,!0),e==null||e.disconnect()}},[s,g]),o.useEffect(()=>{if(!s)return;const n=e=>{var a,i;const l=e.target;(a=u.current)!=null&&a.contains(l)||(i=d.current)!=null&&i.contains(l)||w()},t=e=>{var l,a;if(e.key==="Escape")e.preventDefault(),w(),(l=u.current)==null||l.focus();else if(e.key==="Tab")w();else if(e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();const i=C(d.current);if(!i.length)return;const E=i.indexOf(document.activeElement),c=e.key==="ArrowDown"?1:-1,m=(E+c+i.length)%i.length;(a=i[m])==null||a.focus()}};return document.addEventListener("pointerdown",n,!0),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",n,!0),document.removeEventListener("keydown",t)}},[s,w]),o.useEffect(()=>{if(!s)return;const n=requestAnimationFrame(()=>{var t;return(t=C(d.current)[0])==null?void 0:t.focus()});return()=>cancelAnimationFrame(n)},[s]);const x=b.props,y=x.ref,X=o.cloneElement(b,{ref:n=>{u.current=n,typeof y=="function"?y(n):y&&(y.current=n)},onClick:n=>{var t;(t=x.onClick)==null||t.call(x,n),T||D(!s)},"aria-haspopup":"menu","aria-expanded":s,"aria-controls":s?S:void 0}),Y=n=>{var e;if(!N)return;const t=n.target.closest(j);t&&t.getAttribute("aria-disabled")!=="true"&&(w(),(e=u.current)==null||e.focus())};return A.jsxs(A.Fragment,{children:[X,s&&Z.createPortal(A.jsx("div",{ref:d,id:S,className:$.clsx(B.panel,O&&B[M],U),"data-open":J?"true":"false","data-side":(r==null?void 0:r.side)??"bottom",style:{position:"fixed",top:(r==null?void 0:r.top)??0,left:(r==null?void 0:r.left)??0,maxHeight:r==null?void 0:r.maxHeight,minWidth:r==null?void 0:r.minWidth,visibility:r?"visible":"hidden",...V},onClick:Y,children:A.jsx(ee.List,{role:"menu",size:M,padding:"xs",children:h})}),document.body)]})}exports.Dropdown=ce;
2
+ //# sourceMappingURL=Dropdown-DygP50OB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown-DygP50OB.cjs","sources":["../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { clsx } from 'clsx'\nimport { List, type ListItemSize } from '../List'\nimport { useLockBodyScroll } from '../../hooks/useLockBodyScroll'\nimport styles from './Dropdown.module.css'\n\nexport type DropdownPlacement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end'\n\ninterface Position {\n top: number\n left: number\n side: 'top' | 'bottom'\n maxHeight: number\n minWidth?: number\n}\n\nexport interface DropdownProps {\n /** The element that opens the menu (e.g. a `Button` / `IconButton`). Cloned to wire click + a11y. */\n trigger: ReactElement\n /** Menu content — typically `ListItem`s (composed inside a `role=\"menu\"` `List`). */\n children: ReactNode\n /** Preferred placement. Flips to the opposite side automatically when it would overflow. Default `bottom-start`. */\n placement?: DropdownPlacement\n /** Menu size — sets the panel min-width (`sm` 150 · `md` 190 · `lg` 220) and the items' density. Default `md`. */\n size?: ListItemSize\n /**\n * Apply the size-based min-width (`sm` 150 · `md` 190 · `lg` 220px). Defaults to `true`; set `false`\n * to let the menu size to its content instead (the items' density still tracks `size`).\n */\n minWidth?: boolean\n /** Controlled open state. */\n open?: boolean\n /** Initial open state for uncontrolled use. Defaults to `false`. */\n defaultOpen?: boolean\n /** Fires with the next open state. */\n onOpenChange?: (open: boolean) => void\n /** Close the menu when an item inside is clicked. Defaults to `true`. */\n closeOnSelect?: boolean\n /** Make the menu at least as wide as the trigger (select-like). Defaults to `false`. */\n matchTriggerWidth?: boolean\n /** Prevents opening. */\n disabled?: boolean\n /** Gap between the trigger and the menu, in px. Defaults to `6`. */\n offset?: number\n /** Class applied to the floating panel. */\n className?: string\n /** Style applied to the floating panel. */\n style?: CSSProperties\n}\n\n/** Distance the menu is kept from the viewport edges (px). */\nconst VIEWPORT_PADDING = 8\n/** Focusable menu items, used for arrow-key roving. */\nconst FOCUSABLE =\n '[role=\"menuitem\"],[role=\"button\"],a[href],button:not([disabled]),[tabindex]:not([tabindex=\"-1\"])'\n\nfunction focusableItems(panel: HTMLElement | null): HTMLElement[] {\n if (!panel) return []\n return Array.from(panel.querySelectorAll<HTMLElement>(FOCUSABLE)).filter(\n (el) => el.getAttribute('aria-disabled') !== 'true' && el.offsetParent !== null,\n )\n}\n\n/**\n * A floating menu anchored to a `trigger`. Opens on trigger click; closes on outside click, `Escape`,\n * or selecting an item. The panel is portaled to `document.body` and positioned with collision\n * handling — it **flips** to the opposite side when it would overflow, clamps within the viewport, and\n * re-positions on scroll/resize (a too-tall menu caps its height and scrolls). Arrow keys move between\n * items; `Escape` returns focus to the trigger. Compose `ListItem`s as `children`.\n */\nexport function Dropdown({\n trigger,\n children,\n placement = 'bottom-start',\n size = 'md',\n minWidth = true,\n open,\n defaultOpen = false,\n onOpenChange,\n closeOnSelect = true,\n matchTriggerWidth = false,\n disabled = false,\n offset = 6,\n className,\n style,\n}: DropdownProps) {\n const menuId = useId()\n const triggerRef = useRef<HTMLElement | null>(null)\n const panelRef = useRef<HTMLDivElement | null>(null)\n\n const isControlled = open !== undefined\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const isOpen = isControlled ? open : internalOpen\n const [visible, setVisible] = useState(false)\n const [pos, setPos] = useState<Position | null>(null)\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next)\n onOpenChange?.(next)\n },\n [isControlled, onOpenChange],\n )\n const close = useCallback(() => setOpen(false), [setOpen])\n\n // lock page scroll while the menu is open (no scrollbar shift)\n useLockBodyScroll(isOpen)\n\n // ── positioning: flip when it would overflow, clamp inside the viewport ──\n const update = useCallback(() => {\n const triggerEl = triggerRef.current\n const panel = panelRef.current\n if (!triggerEl || !panel) return\n\n const rect = triggerEl.getBoundingClientRect()\n const panelW = panel.offsetWidth\n const panelH = panel.offsetHeight\n const vw = window.innerWidth\n const vh = window.innerHeight\n const pad = VIEWPORT_PADDING\n\n const spaceBelow = vh - rect.bottom - offset - pad\n const spaceAbove = rect.top - offset - pad\n let side: 'top' | 'bottom' = placement.startsWith('bottom') ? 'bottom' : 'top'\n // flip only when the preferred side can't fit AND the opposite side has more room\n if (side === 'bottom' && panelH > spaceBelow && spaceAbove > spaceBelow) side = 'top'\n else if (side === 'top' && panelH > spaceAbove && spaceBelow > spaceAbove) side = 'bottom'\n\n const available = side === 'bottom' ? spaceBelow : spaceAbove\n const maxHeight = Math.max(0, available)\n const usedH = Math.min(panelH, maxHeight)\n\n let top = side === 'bottom' ? rect.bottom + offset : rect.top - offset - usedH\n top = Math.min(Math.max(top, pad), Math.max(pad, vh - pad - usedH))\n\n let left = placement.endsWith('end') ? rect.right - panelW : rect.left\n left = Math.min(Math.max(left, pad), Math.max(pad, vw - pad - panelW))\n\n setPos({ top, left, side, maxHeight, minWidth: matchTriggerWidth ? rect.width : undefined })\n }, [placement, offset, matchTriggerWidth])\n\n // position synchronously before paint whenever the menu is open\n useLayoutEffect(() => {\n if (!isOpen) {\n setVisible(false)\n return\n }\n update()\n }, [isOpen, update])\n\n // enter transition + reposition listeners while open\n useEffect(() => {\n if (!isOpen) return\n const raf = requestAnimationFrame(() => setVisible(true))\n\n const onReposition = () => update()\n window.addEventListener('resize', onReposition)\n window.addEventListener('scroll', onReposition, true)\n let ro: ResizeObserver | undefined\n if (typeof ResizeObserver !== 'undefined') {\n ro = new ResizeObserver(onReposition)\n if (panelRef.current) ro.observe(panelRef.current)\n if (triggerRef.current) ro.observe(triggerRef.current)\n }\n\n return () => {\n cancelAnimationFrame(raf)\n window.removeEventListener('resize', onReposition)\n window.removeEventListener('scroll', onReposition, true)\n ro?.disconnect()\n }\n }, [isOpen, update])\n\n // outside click + keyboard (Escape, arrow roving)\n useEffect(() => {\n if (!isOpen) return\n const onPointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n if (triggerRef.current?.contains(target) || panelRef.current?.contains(target)) return\n close()\n }\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n close()\n triggerRef.current?.focus()\n } else if (event.key === 'Tab') {\n // Tab would move focus by portal DOM order (end of <body>), orphaning the open menu — close it\n // and let focus continue naturally from the trigger (Select/MultiSelect do the same)\n close()\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault()\n const items = focusableItems(panelRef.current)\n if (!items.length) return\n const current = items.indexOf(document.activeElement as HTMLElement)\n const delta = event.key === 'ArrowDown' ? 1 : -1\n const next = (current + delta + items.length) % items.length\n items[next]?.focus()\n }\n }\n document.addEventListener('pointerdown', onPointerDown, true)\n document.addEventListener('keydown', onKeyDown)\n return () => {\n document.removeEventListener('pointerdown', onPointerDown, true)\n document.removeEventListener('keydown', onKeyDown)\n }\n }, [isOpen, close])\n\n // focus the first item once the menu is open and positioned\n useEffect(() => {\n if (!isOpen) return\n const raf = requestAnimationFrame(() => focusableItems(panelRef.current)[0]?.focus())\n return () => cancelAnimationFrame(raf)\n }, [isOpen])\n\n const triggerProps = trigger.props as {\n onClick?: (event: ReactMouseEvent) => void\n ref?: Ref<HTMLElement>\n }\n const originalRef = triggerProps.ref\n\n const clonedTrigger = cloneElement(trigger as ReactElement<Record<string, unknown>>, {\n ref: (node: HTMLElement | null) => {\n triggerRef.current = node\n if (typeof originalRef === 'function') originalRef(node)\n else if (originalRef) (originalRef as { current: HTMLElement | null }).current = node\n },\n onClick: (event: ReactMouseEvent) => {\n triggerProps.onClick?.(event)\n if (!disabled) setOpen(!isOpen)\n },\n 'aria-haspopup': 'menu',\n 'aria-expanded': isOpen,\n 'aria-controls': isOpen ? menuId : undefined,\n })\n\n const handlePanelClick = (event: ReactMouseEvent) => {\n if (!closeOnSelect) return\n const item = (event.target as HTMLElement).closest(FOCUSABLE)\n if (item && item.getAttribute('aria-disabled') !== 'true') {\n close()\n triggerRef.current?.focus()\n }\n }\n\n return (\n <>\n {clonedTrigger}\n {isOpen &&\n createPortal(\n <div\n ref={panelRef}\n id={menuId}\n className={clsx(styles.panel, minWidth && styles[size], className)}\n data-open={visible ? 'true' : 'false'}\n data-side={pos?.side ?? 'bottom'}\n style={{\n position: 'fixed',\n top: pos?.top ?? 0,\n left: pos?.left ?? 0,\n maxHeight: pos?.maxHeight,\n minWidth: pos?.minWidth,\n visibility: pos ? 'visible' : 'hidden',\n ...style,\n }}\n onClick={handlePanelClick}\n >\n <List role=\"menu\" size={size} padding=\"xs\">\n {children}\n </List>\n </div>,\n document.body,\n )}\n </>\n )\n}\n"],"names":["VIEWPORT_PADDING","FOCUSABLE","focusableItems","panel","el","Dropdown","trigger","children","placement","size","minWidth","open","defaultOpen","onOpenChange","closeOnSelect","matchTriggerWidth","disabled","offset","className","style","menuId","useId","triggerRef","useRef","panelRef","isControlled","internalOpen","setInternalOpen","useState","isOpen","visible","setVisible","pos","setPos","setOpen","useCallback","next","close","useLockBodyScroll","update","triggerEl","rect","panelW","panelH","vw","vh","pad","spaceBelow","spaceAbove","side","maxHeight","usedH","top","left","useLayoutEffect","useEffect","raf","onReposition","ro","onPointerDown","event","target","_a","_b","onKeyDown","items","current","delta","triggerProps","originalRef","clonedTrigger","cloneElement","node","handlePanelClick","item","jsxs","Fragment","createPortal","jsx","clsx","styles","List"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),x=require("react"),y=require("clsx"),l=require("./Icon-CXTl_QAP.cjs"),z=require("./names-C2Yj1p3u.cjs"),N=require("./ConfigProvider-ByOFXVyP.cjs"),j="_emptyState_tu8zp_3",h="_sm_tu8zp_17",v="_md_tu8zp_23",f="_lg_tu8zp_29",q="_icon_tu8zp_37",E="_title_tu8zp_53",I="_description_tu8zp_59",g="_action_tu8zp_68",C="_pattern_tu8zp_75",e={emptyState:j,sm:h,md:v,lg:f,icon:q,title:E,description:I,action:g,pattern:C},O=new Set(z.ICON_NAMES),T=x.forwardRef(function({icon:n,title:o,description:s,action:c,size:a="md",pattern:_=!0,className:u,children:p,...d},m){const S=N.useT(),r=o??S("emptyState.title"),i=n===!1?null:n==null?t.jsx(l.Icon,{name:"FolderOpen"}):typeof n=="string"&&O.has(n)?t.jsx(l.Icon,{name:n}):n;return t.jsxs("div",{ref:m,className:y.clsx(e.emptyState,e[a],_&&e.pattern,u),...d,children:[i!=null&&t.jsx("div",{className:e.icon,"aria-hidden":!0,children:i}),r!=null&&t.jsx("div",{className:e.title,children:r}),s!=null&&t.jsx("div",{className:e.description,children:s}),c!=null&&t.jsx("div",{className:e.action,children:c}),p]})});exports.EmptyState=T;
2
+ //# sourceMappingURL=EmptyState-CCCpZ-ZA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState-CCCpZ-ZA.cjs","sources":["../src/components/EmptyState/EmptyState.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport styles from './EmptyState.module.css'\n\nexport type EmptyStateSize = 'sm' | 'md' | 'lg'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport interface EmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Leading glyph shown in a soft circle — an `IconName`, any node, or `false` to hide it. Defaults to `FolderOpen`. */\n icon?: IconName | ReactNode | false\n /** Heading line. Defaults to `\"No Results Found\"`. */\n title?: ReactNode\n /** Muted description under the title (e.g. a hint on what to do next). */\n description?: ReactNode\n /** Action slot under the text — e.g. an \"Add Item\" or \"Clear Filters\" button. */\n action?: ReactNode\n /** Size — scales the icon, text, and vertical padding. Defaults to `md`. */\n size?: EmptyStateSize\n /**\n * Polished \"hero\" look: a faded grid backdrop (fades out toward the edges) + an elevated icon\n * (gradient + drop shadow). Defaults to `true`; pass `pattern={false}` for the flat, compact placeholder.\n */\n pattern?: boolean\n /** Extra content rendered below the action. */\n children?: ReactNode\n}\n\n/**\n * The empty-state placeholder — drop it in wherever a page, table, list, or gallery has nothing to\n * show (no records yet, no search matches). A centered, muted glyph in a soft circle + a `title` +\n * an optional `description` and `action` (e.g. a \"Add Item\" / \"Clear Filters\" button). Neutral by\n * design; pass a custom `icon` node for a tinted glyph. Token-only styling.\n */\nexport const EmptyState = forwardRef<HTMLDivElement, EmptyStateProps>(function EmptyState(\n { icon, title, description, action, size = 'md', pattern = true, className, children, ...props },\n ref,\n) {\n const t = useT()\n const resolvedTitle = title ?? t('emptyState.title')\n const renderedIcon =\n icon === false ? null : icon == null ? (\n <Icon name=\"FolderOpen\" />\n ) : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.emptyState, styles[size], pattern && styles.pattern, className)}\n {...props}\n >\n {renderedIcon != null && (\n <div className={styles.icon} aria-hidden>\n {renderedIcon}\n </div>\n )}\n {resolvedTitle != null && <div className={styles.title}>{resolvedTitle}</div>}\n {description != null && <div className={styles.description}>{description}</div>}\n {action != null && <div className={styles.action}>{action}</div>}\n {children}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","EmptyState","forwardRef","icon","title","description","action","size","pattern","className","children","props","ref","t","useT","resolvedTitle","renderedIcon","jsx","Icon","jsxs","clsx","styles"],"mappings":"4cASMA,EAAgB,IAAI,IAAYC,YAAU,EA4BnCC,EAAaC,EAAAA,WAA4C,SACpE,CAAE,KAAAC,EAAM,MAAAC,EAAO,YAAAC,EAAa,OAAAC,EAAQ,KAAAC,EAAO,KAAM,QAAAC,EAAU,GAAM,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAA,EACzFC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EACJC,EAAgBX,GAASS,EAAE,kBAAkB,EAC7CG,EACJb,IAAS,GAAQ,KAAOA,GAAQ,KAC9Bc,MAACC,EAAAA,KAAA,CAAK,KAAK,YAAA,CAAa,EACtB,OAAOf,GAAS,UAAYJ,EAAc,IAAII,CAAI,EACpDc,MAACC,EAAAA,KAAA,CAAK,KAAMf,CAAA,CAAkB,EAE9BA,EAGJ,OACEgB,EAAAA,KAAC,MAAA,CACC,IAAAP,EACA,UAAWQ,EAAAA,KAAKC,EAAO,WAAYA,EAAOd,CAAI,EAAGC,GAAWa,EAAO,QAASZ,CAAS,EACpF,GAAGE,EAEH,SAAA,CAAAK,GAAgB,YACd,MAAA,CAAI,UAAWK,EAAO,KAAM,cAAW,GACrC,SAAAL,CAAA,CACH,EAEDD,GAAiB,MAAQE,EAAAA,IAAC,OAAI,UAAWI,EAAO,MAAQ,SAAAN,EAAc,EACtEV,GAAe,MAAQY,EAAAA,IAAC,OAAI,UAAWI,EAAO,YAAc,SAAAhB,EAAY,EACxEC,GAAU,MAAQW,EAAAA,IAAC,OAAI,UAAWI,EAAO,OAAS,SAAAf,EAAO,EACzDI,CAAA,CAAA,CAAA,CAGP,CAAC"}