@banzamel/mineralui 2.4.3 → 2.5.2

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 (545) hide show
  1. package/README.md +1 -1
  2. package/dist/MAvatar-CvQuiGvT.cjs +2 -0
  3. package/dist/MAvatar-CvQuiGvT.cjs.map +1 -0
  4. package/dist/MAvatar-EkOBrEtS.js +73 -0
  5. package/dist/MAvatar-EkOBrEtS.js.map +1 -0
  6. package/dist/MButton-BxEky3xQ.cjs +2 -0
  7. package/dist/MButton-BxEky3xQ.cjs.map +1 -0
  8. package/dist/MButton-KELyyBw1.js +123 -0
  9. package/dist/MButton-KELyyBw1.js.map +1 -0
  10. package/dist/{MButtonGroup-BEJxXZ8u.js → MButtonGroup-DDnn8Wfy.js} +3 -3
  11. package/dist/{MButtonGroup-BEJxXZ8u.js.map → MButtonGroup-DDnn8Wfy.js.map} +1 -1
  12. package/dist/{MButtonGroup-DO1Tq3Za.cjs → MButtonGroup-Dz8Fm-oA.cjs} +2 -2
  13. package/dist/{MButtonGroup-DO1Tq3Za.cjs.map → MButtonGroup-Dz8Fm-oA.cjs.map} +1 -1
  14. package/dist/{MCard-P8OoswWM.cjs → MCard-Bqm4BjK_.cjs} +2 -2
  15. package/dist/MCard-Bqm4BjK_.cjs.map +1 -0
  16. package/dist/{MCard-BqSkGAgf.js → MCard-CqZYGaS2.js} +4 -4
  17. package/dist/MCard-CqZYGaS2.js.map +1 -0
  18. package/dist/MCheckbox-CaWgyUn5.js +72 -0
  19. package/dist/MCheckbox-CaWgyUn5.js.map +1 -0
  20. package/dist/MCheckbox-DpKJpnFF.cjs +2 -0
  21. package/dist/MCheckbox-DpKJpnFF.cjs.map +1 -0
  22. package/dist/{MConflictIllustration-znC7ijmP.js → MConflictIllustration-dwZS44ye.js} +1517 -1515
  23. package/dist/MConflictIllustration-dwZS44ye.js.map +1 -0
  24. package/dist/MConflictIllustration-vfHs-jad.cjs +2 -0
  25. package/dist/MConflictIllustration-vfHs-jad.cjs.map +1 -0
  26. package/dist/MDetailList-C3othNs3.js +127 -0
  27. package/dist/MDetailList-C3othNs3.js.map +1 -0
  28. package/dist/MDetailList-DkDHLdJ8.cjs +2 -0
  29. package/dist/MDetailList-DkDHLdJ8.cjs.map +1 -0
  30. package/dist/MDropdownMenu-C4-r7UZM.cjs +2 -0
  31. package/dist/MDropdownMenu-C4-r7UZM.cjs.map +1 -0
  32. package/dist/MDropdownMenu-Dvg9UsHB.js +219 -0
  33. package/dist/MDropdownMenu-Dvg9UsHB.js.map +1 -0
  34. package/dist/MGrid-CQqT8nHi.js +271 -0
  35. package/dist/MGrid-CQqT8nHi.js.map +1 -0
  36. package/dist/MGrid-tBsqShLG.cjs +2 -0
  37. package/dist/MGrid-tBsqShLG.cjs.map +1 -0
  38. package/dist/MHeading-DQSQ8c7L.js +21 -0
  39. package/dist/MHeading-DQSQ8c7L.js.map +1 -0
  40. package/dist/MHeading-DiGYs1FJ.cjs +2 -0
  41. package/dist/MHeading-DiGYs1FJ.cjs.map +1 -0
  42. package/dist/MInput-BeEGufZG.cjs +2 -0
  43. package/dist/MInput-BeEGufZG.cjs.map +1 -0
  44. package/dist/MInput-QnQV9L8U.js +190 -0
  45. package/dist/MInput-QnQV9L8U.js.map +1 -0
  46. package/dist/MInputCVC-CCNRAqHw.cjs +2 -0
  47. package/dist/MInputCVC-CCNRAqHw.cjs.map +1 -0
  48. package/dist/MInputCVC-IXIYZwex.js +410 -0
  49. package/dist/MInputCVC-IXIYZwex.js.map +1 -0
  50. package/dist/MInputSearch-BSIc6m2P.cjs +2 -0
  51. package/dist/MInputSearch-BSIc6m2P.cjs.map +1 -0
  52. package/dist/MInputSearch-CNuTAbYs.js +44 -0
  53. package/dist/MInputSearch-CNuTAbYs.js.map +1 -0
  54. package/dist/{MKbd-BR1GX5oK.cjs → MKbd-CnW3NUIu.cjs} +2 -2
  55. package/dist/{MKbd-BR1GX5oK.cjs.map → MKbd-CnW3NUIu.cjs.map} +1 -1
  56. package/dist/{MKbd-COb7oh_k.js → MKbd-DjfGyajR.js} +2 -2
  57. package/dist/{MKbd-COb7oh_k.js.map → MKbd-DjfGyajR.js.map} +1 -1
  58. package/dist/MLink-C6uwA6db.cjs +2 -0
  59. package/dist/MLink-C6uwA6db.cjs.map +1 -0
  60. package/dist/MLink-ixg0xFFI.js +31 -0
  61. package/dist/MLink-ixg0xFFI.js.map +1 -0
  62. package/dist/MLoader-CViA3zBo.js +44 -0
  63. package/dist/MLoader-CViA3zBo.js.map +1 -0
  64. package/dist/MLoader-DUOoOoNE.cjs +2 -0
  65. package/dist/MLoader-DUOoOoNE.cjs.map +1 -0
  66. package/dist/MPagination-BTGenxWW.js +122 -0
  67. package/dist/MPagination-BTGenxWW.js.map +1 -0
  68. package/dist/MPagination-DitmdtCc.cjs +2 -0
  69. package/dist/MPagination-DitmdtCc.cjs.map +1 -0
  70. package/dist/MPopover-CBDbUOW6.js +183 -0
  71. package/dist/MPopover-CBDbUOW6.js.map +1 -0
  72. package/dist/MPopover-ZeoU9hb5.cjs +2 -0
  73. package/dist/MPopover-ZeoU9hb5.cjs.map +1 -0
  74. package/dist/{MSimpleGrid-Ui8cI0ho.js → MSimpleGrid-C_QvLmck.js} +3 -3
  75. package/dist/MSimpleGrid-C_QvLmck.js.map +1 -0
  76. package/dist/MSimpleGrid-wgvjnxwM.cjs +2 -0
  77. package/dist/MSimpleGrid-wgvjnxwM.cjs.map +1 -0
  78. package/dist/{MSkeleton-Dhu-loDO.js → MSkeleton-BpcpBBJq.js} +12 -10
  79. package/dist/MSkeleton-BpcpBBJq.js.map +1 -0
  80. package/dist/MSkeleton-DuAN8Vcv.cjs +2 -0
  81. package/dist/MSkeleton-DuAN8Vcv.cjs.map +1 -0
  82. package/dist/MSlider-CLASUc2H.js +134 -0
  83. package/dist/MSlider-CLASUc2H.js.map +1 -0
  84. package/dist/MSlider-hONQBulE.cjs +2 -0
  85. package/dist/MSlider-hONQBulE.cjs.map +1 -0
  86. package/dist/MStack-BwAFeGGg.js +39 -0
  87. package/dist/MStack-BwAFeGGg.js.map +1 -0
  88. package/dist/MStack-CGII4A-q.cjs +2 -0
  89. package/dist/MStack-CGII4A-q.cjs.map +1 -0
  90. package/dist/MSubText-BeZk-fhz.js +17 -0
  91. package/dist/MSubText-BeZk-fhz.js.map +1 -0
  92. package/dist/MSubText-Dl1PfToZ.cjs +2 -0
  93. package/dist/MSubText-Dl1PfToZ.cjs.map +1 -0
  94. package/dist/MSurface-B_QnRLr5.js +74 -0
  95. package/dist/MSurface-B_QnRLr5.js.map +1 -0
  96. package/dist/MSurface-BrFo-JMJ.cjs +2 -0
  97. package/dist/MSurface-BrFo-JMJ.cjs.map +1 -0
  98. package/dist/MTag-BZrKN_DS.js +41 -0
  99. package/dist/MTag-BZrKN_DS.js.map +1 -0
  100. package/dist/MTag-DCE1vRJM.cjs +2 -0
  101. package/dist/MTag-DCE1vRJM.cjs.map +1 -0
  102. package/dist/MText-BUWQPoBM.js +45 -0
  103. package/dist/MText-BUWQPoBM.js.map +1 -0
  104. package/dist/MText-nsvLFsSv.cjs +2 -0
  105. package/dist/MText-nsvLFsSv.cjs.map +1 -0
  106. package/dist/MTooltip-BRSPJ3RY.js +100 -0
  107. package/dist/MTooltip-BRSPJ3RY.js.map +1 -0
  108. package/dist/MTooltip-Cj2Fxmzc.cjs +2 -0
  109. package/dist/MTooltip-Cj2Fxmzc.cjs.map +1 -0
  110. package/dist/MTreeView-BWCTlsU-.cjs +2 -0
  111. package/dist/MTreeView-BWCTlsU-.cjs.map +1 -0
  112. package/dist/MTreeView-CWcMwE-Z.js +554 -0
  113. package/dist/MTreeView-CWcMwE-Z.js.map +1 -0
  114. package/dist/calendar-2yhnCkGW.cjs +2 -0
  115. package/dist/calendar-2yhnCkGW.cjs.map +1 -0
  116. package/dist/calendar-DcNYDTVb.js +195 -0
  117. package/dist/calendar-DcNYDTVb.js.map +1 -0
  118. package/dist/calendar.cjs +1 -1
  119. package/dist/calendar.js +1 -1
  120. package/dist/{calendarDates-M_Dawj0j.js → calendarDates-Bpw_G_QR.js} +30 -19
  121. package/dist/calendarDates-Bpw_G_QR.js.map +1 -0
  122. package/dist/calendarDates-Cg0nm69Y.cjs +2 -0
  123. package/dist/calendarDates-Cg0nm69Y.cjs.map +1 -0
  124. package/dist/cards-Bp886TRb.cjs +2 -0
  125. package/dist/cards-Bp886TRb.cjs.map +1 -0
  126. package/dist/cards-BvER6Gx0.js +1277 -0
  127. package/dist/cards-BvER6Gx0.js.map +1 -0
  128. package/dist/cards.cjs +1 -1
  129. package/dist/cards.js +2 -2
  130. package/dist/{cn-YER3QsV1.js → cn-CUSXNnjF.js} +1 -1
  131. package/dist/{cn-YER3QsV1.js.map → cn-CUSXNnjF.js.map} +1 -1
  132. package/dist/{cn-CU5TNITO.cjs → cn-DYFxgzi2.cjs} +1 -1
  133. package/dist/{cn-CU5TNITO.cjs.map → cn-DYFxgzi2.cjs.map} +1 -1
  134. package/dist/components/cards/MCardDaySchedule/MCardDaySchedule.d.ts +1 -1
  135. package/dist/components/cards/MCardDocumentTree/MCardDocumentTree.d.ts +1 -1
  136. package/dist/components/cards/MCardGrid/MCardGrid.d.ts +1 -1
  137. package/dist/components/cards/MCardPayment/MCardPayment.d.ts +1 -1
  138. package/dist/components/cards/MCardPayment/MCardPayment.types.d.ts +4 -0
  139. package/dist/components/cards/MCardPaymentMethod/MCardPaymentMethod.d.ts +1 -1
  140. package/dist/components/cards/MStatCard/MStatCard.d.ts +1 -1
  141. package/dist/components/controls/MCheckbox/MCheckbox.types.d.ts +6 -0
  142. package/dist/components/controls/MLoadMore/MLoadMore.d.ts +1 -1
  143. package/dist/components/controls/MSlider/MSlider.d.ts +1 -1
  144. package/dist/components/controls/MSlider/MSlider.types.d.ts +5 -0
  145. package/dist/components/data/MTreeView/MTreeView.d.ts +1 -1
  146. package/dist/components/data/MTreeView/MTreeView.types.d.ts +6 -0
  147. package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +1 -1
  148. package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +9 -3
  149. package/dist/components/display/MCodeBlock/MCodeBlock.d.ts +1 -1
  150. package/dist/components/dropdowns/MAutocomplete/MAutocomplete.d.ts +1 -1
  151. package/dist/components/dropdowns/MAutocomplete/MAutocomplete.types.d.ts +8 -2
  152. package/dist/components/dropdowns/MSelect/MSelect.d.ts +1 -1
  153. package/dist/components/dropdowns/shared/TimeColumnListbox.d.ts +20 -0
  154. package/dist/components/feedback/MAlert/MAlert.d.ts +1 -1
  155. package/dist/components/feedback/MBadge/MBadge.d.ts +1 -1
  156. package/dist/components/feedback/MBanner/MBanner.d.ts +1 -1
  157. package/dist/components/feedback/MLoader/MLoader.d.ts +1 -1
  158. package/dist/components/feedback/MSpinner/MSpinner.d.ts +1 -1
  159. package/dist/components/feedback/MTag/MTag.d.ts +1 -1
  160. package/dist/components/inputs/MInput/MInput.types.d.ts +6 -1
  161. package/dist/components/inputs/MInput/useFormatCaret.d.ts +8 -0
  162. package/dist/components/layout/MCanvasGrid/MCanvasGrid.types.d.ts +5 -0
  163. package/dist/components/layout/MContainer/MContainer.d.ts +1 -1
  164. package/dist/components/layout/MDivider/MDivider.d.ts +1 -1
  165. package/dist/components/layout/MFooter/MFooter.d.ts +1 -1
  166. package/dist/components/layout/MHeader/MHeader.d.ts +1 -1
  167. package/dist/components/layout/MInline/MInline.d.ts +1 -1
  168. package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
  169. package/dist/components/layout/MNavbar/MNavbar.types.d.ts +2 -0
  170. package/dist/components/layout/MSection/MSection.d.ts +1 -1
  171. package/dist/components/layout/MStack/MStack.d.ts +1 -1
  172. package/dist/components/layout/MStickyPanel/MStickyPanel.types.d.ts +4 -0
  173. package/dist/components/layout/MSurface/MSurface.d.ts +1 -1
  174. package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
  175. package/dist/components/media/MAvatar/MAvatar.types.d.ts +10 -0
  176. package/dist/components/media/MCarousel/MCarousel.d.ts +1 -1
  177. package/dist/components/media/MImage/MImage.d.ts +1 -1
  178. package/dist/components/media/carouselA11y.d.ts +9 -0
  179. package/dist/components/overlays/MCommandPalette/MCommandPalette.d.ts +1 -1
  180. package/dist/components/overlays/MDropdownMenu/MDropdownMenu.d.ts +4 -2
  181. package/dist/components/overlays/MDropdownMenu/MDropdownMenu.types.d.ts +3 -1
  182. package/dist/components/overlays/MPopconfirm/MPopconfirm.d.ts +1 -1
  183. package/dist/components/overlays/scrollLock.d.ts +14 -0
  184. package/dist/components/primitives/MPopover/MPopover.d.ts +1 -1
  185. package/dist/components/primitives/MPopover/MPopover.types.d.ts +32 -1
  186. package/dist/components/primitives/MPopover/popoverStack.d.ts +6 -0
  187. package/dist/components/typography/MHeading/MHeading.d.ts +2 -3
  188. package/dist/components/typography/MSubText/MSubText.d.ts +1 -1
  189. package/dist/components/typography/MText/MText.d.ts +1 -1
  190. package/dist/controls-B4Dxaab4.js +491 -0
  191. package/dist/controls-B4Dxaab4.js.map +1 -0
  192. package/dist/controls-CyXEIOXD.cjs +2 -0
  193. package/dist/controls-CyXEIOXD.cjs.map +1 -0
  194. package/dist/controls.cjs +1 -1
  195. package/dist/controls.js +5 -5
  196. package/dist/creditCards-Bo2mrc53.cjs +2 -0
  197. package/dist/creditCards-Bo2mrc53.cjs.map +1 -0
  198. package/dist/{creditCards-D_iWmtG6.js → creditCards-DmDOyvcw.js} +20 -31
  199. package/dist/creditCards-DmDOyvcw.js.map +1 -0
  200. package/dist/data-BM3KG8oN.cjs +2 -0
  201. package/dist/data-BM3KG8oN.cjs.map +1 -0
  202. package/dist/data-qnR8OBmj.js +808 -0
  203. package/dist/data-qnR8OBmj.js.map +1 -0
  204. package/dist/data.cjs +1 -1
  205. package/dist/data.js +2 -2
  206. package/dist/{dateUtils-CUY6CRCf.js → dateUtils-B-ToNZq_.js} +5 -6
  207. package/dist/dateUtils-B-ToNZq_.js.map +1 -0
  208. package/dist/dateUtils-z2L7ZaxA.cjs +2 -0
  209. package/dist/dateUtils-z2L7ZaxA.cjs.map +1 -0
  210. package/dist/display-BLMOBofj.cjs +3 -0
  211. package/dist/display-BLMOBofj.cjs.map +1 -0
  212. package/dist/display-Dlb79lkA.js +968 -0
  213. package/dist/display-Dlb79lkA.js.map +1 -0
  214. package/dist/display.cjs +1 -1
  215. package/dist/display.js +2 -2
  216. package/dist/dropdowns-2_7VMEDo.js +2009 -0
  217. package/dist/dropdowns-2_7VMEDo.js.map +1 -0
  218. package/dist/dropdowns-DN7j8J-V.cjs +2 -0
  219. package/dist/dropdowns-DN7j8J-V.cjs.map +1 -0
  220. package/dist/dropdowns.cjs +1 -1
  221. package/dist/dropdowns.js +1 -1
  222. package/dist/feedback-CECayytY.js +335 -0
  223. package/dist/feedback-CECayytY.js.map +1 -0
  224. package/dist/feedback-paV8Ls-h.cjs +2 -0
  225. package/dist/feedback-paV8Ls-h.cjs.map +1 -0
  226. package/dist/feedback.cjs +1 -1
  227. package/dist/feedback.js +5 -5
  228. package/dist/form-Br56h5EF.cjs +2 -0
  229. package/dist/form-Br56h5EF.cjs.map +1 -0
  230. package/dist/form-CJmMZgsH.js +165 -0
  231. package/dist/form-CJmMZgsH.js.map +1 -0
  232. package/dist/form.cjs +1 -1
  233. package/dist/form.js +1 -1
  234. package/dist/{formatters-CNjg_h7-.cjs → formatters-CauWlsnM.cjs} +1 -1
  235. package/dist/{formatters-CNjg_h7-.cjs.map → formatters-CauWlsnM.cjs.map} +1 -1
  236. package/dist/{formatters-T0vvjMtB.js → formatters-Doqdu_w1.js} +1 -1
  237. package/dist/{formatters-T0vvjMtB.js.map → formatters-Doqdu_w1.js.map} +1 -1
  238. package/dist/frameworkTexts-CaqdiKHW.cjs +2 -0
  239. package/dist/frameworkTexts-CaqdiKHW.cjs.map +1 -0
  240. package/dist/frameworkTexts-o43FqY1A.js +505 -0
  241. package/dist/frameworkTexts-o43FqY1A.js.map +1 -0
  242. package/dist/i18n/MI18nProvider.d.ts +6 -1
  243. package/dist/i18n/frameworkTexts.d.ts +511 -0
  244. package/dist/i18n/index.d.ts +1 -0
  245. package/dist/i18n.cjs +1 -1
  246. package/dist/i18n.js +2 -2
  247. package/dist/icons-Bp8bB9TP.cjs +2 -0
  248. package/dist/icons-Bp8bB9TP.cjs.map +1 -0
  249. package/dist/{icons-CBMl-kOM.js → icons-IqEBmGh3.js} +1223 -1220
  250. package/dist/icons-IqEBmGh3.js.map +1 -0
  251. package/dist/icons.cjs +1 -1
  252. package/dist/icons.js +1 -1
  253. package/dist/illustrations.cjs +1 -1
  254. package/dist/illustrations.js +1 -1
  255. package/dist/index.cjs +1 -1
  256. package/dist/index.d.ts +4 -2
  257. package/dist/index.js +56 -56
  258. package/dist/inputs-C0BJzlA-.js +1923 -0
  259. package/dist/inputs-C0BJzlA-.js.map +1 -0
  260. package/dist/inputs-CvNBBLFA.cjs +2 -0
  261. package/dist/inputs-CvNBBLFA.cjs.map +1 -0
  262. package/dist/inputs.cjs +1 -1
  263. package/dist/inputs.js +4 -4
  264. package/dist/layout-BSFqGXLZ.js +1101 -0
  265. package/dist/layout-BSFqGXLZ.js.map +1 -0
  266. package/dist/layout-MKqvUkPv.cjs +2 -0
  267. package/dist/layout-MKqvUkPv.cjs.map +1 -0
  268. package/dist/layout.cjs +1 -1
  269. package/dist/layout.js +6 -6
  270. package/dist/{layoutProps-Ck4VtGm9.cjs → layoutProps-B8y2XwHy.cjs} +1 -1
  271. package/dist/{layoutProps-Ck4VtGm9.cjs.map → layoutProps-B8y2XwHy.cjs.map} +1 -1
  272. package/dist/{layoutProps-Cl6d1KmH.js → layoutProps-CE5-ghKw.js} +1 -1
  273. package/dist/{layoutProps-Cl6d1KmH.js.map → layoutProps-CE5-ghKw.js.map} +1 -1
  274. package/dist/{licensing-f5KYVz7D.js → licensing-BKmoAdfr.js} +5 -4
  275. package/dist/licensing-BKmoAdfr.js.map +1 -0
  276. package/dist/licensing-DVgjkw-s.cjs +2 -0
  277. package/dist/licensing-DVgjkw-s.cjs.map +1 -0
  278. package/dist/media-fiasAbBv.js +485 -0
  279. package/dist/media-fiasAbBv.js.map +1 -0
  280. package/dist/media-tr1s386v.cjs +2 -0
  281. package/dist/media-tr1s386v.cjs.map +1 -0
  282. package/dist/media.cjs +1 -1
  283. package/dist/media.js +2 -2
  284. package/dist/overlays-Df-NpmkW.cjs +2 -0
  285. package/dist/overlays-Df-NpmkW.cjs.map +1 -0
  286. package/dist/overlays-W0WW3fn7.js +607 -0
  287. package/dist/overlays-W0WW3fn7.js.map +1 -0
  288. package/dist/overlays.cjs +1 -1
  289. package/dist/overlays.js +3 -3
  290. package/dist/primitives.cjs +1 -1
  291. package/dist/primitives.js +2 -2
  292. package/dist/radioGroupKeys-Bm-Qeh8G.js +28 -0
  293. package/dist/radioGroupKeys-Bm-Qeh8G.js.map +1 -0
  294. package/dist/radioGroupKeys-COL8uXbH.cjs +2 -0
  295. package/dist/radioGroupKeys-COL8uXbH.cjs.map +1 -0
  296. package/dist/{relativeTime-Cr-NVzij.js → relativeTime-BqCuaBqb.js} +1 -1
  297. package/dist/{relativeTime-Cr-NVzij.js.map → relativeTime-BqCuaBqb.js.map} +1 -1
  298. package/dist/{relativeTime-DgYBUaVm.cjs → relativeTime-DUbW4O44.cjs} +1 -1
  299. package/dist/{relativeTime-DgYBUaVm.cjs.map → relativeTime-DUbW4O44.cjs.map} +1 -1
  300. package/dist/scrollLock-C9P9o6wH.cjs +2 -0
  301. package/dist/scrollLock-C9P9o6wH.cjs.map +1 -0
  302. package/dist/scrollLock-D27VmgPV.js +14 -0
  303. package/dist/scrollLock-D27VmgPV.js.map +1 -0
  304. package/dist/style-runtime.cjs +1 -1
  305. package/dist/style-runtime.js +1 -1
  306. package/dist/styles.css +1 -1
  307. package/dist/theme/MThemeProvider.d.ts +18 -1
  308. package/dist/theme/index.d.ts +2 -2
  309. package/dist/{theme-DAOU1aPs.js → theme-B_juOenJ.js} +71 -61
  310. package/dist/theme-B_juOenJ.js.map +1 -0
  311. package/dist/theme-ByPZH0dh.cjs +2 -0
  312. package/dist/theme-ByPZH0dh.cjs.map +1 -0
  313. package/dist/theme.cjs +1 -1
  314. package/dist/theme.js +2 -2
  315. package/dist/{typography-C806GYT4.js → typography-DNcB8dOy.js} +3 -3
  316. package/dist/{typography-C806GYT4.js.map → typography-DNcB8dOy.js.map} +1 -1
  317. package/dist/{typography-4v01oNWx.cjs → typography-I7aeG8pH.cjs} +2 -2
  318. package/dist/{typography-4v01oNWx.cjs.map → typography-I7aeG8pH.cjs.map} +1 -1
  319. package/dist/typography.cjs +1 -1
  320. package/dist/typography.js +6 -6
  321. package/dist/useGhostText-CKsb8Ufa.js +240 -0
  322. package/dist/useGhostText-CKsb8Ufa.js.map +1 -0
  323. package/dist/useGhostText-DO-tfxS0.cjs +2 -0
  324. package/dist/useGhostText-DO-tfxS0.cjs.map +1 -0
  325. package/dist/useModalLayer-CpOPSDbf.js +128 -0
  326. package/dist/useModalLayer-CpOPSDbf.js.map +1 -0
  327. package/dist/useModalLayer-Cyt93Prs.cjs +2 -0
  328. package/dist/useModalLayer-Cyt93Prs.cjs.map +1 -0
  329. package/dist/utils/calendarDates.d.ts +5 -0
  330. package/dist/utils/radioGroupKeys.d.ts +9 -0
  331. package/dist/utils/useDateGridNav.d.ts +39 -0
  332. package/dist/utils/useGhostText.d.ts +2 -1
  333. package/dist/utils/useKeyboardNav.d.ts +51 -5
  334. package/dist/utils/useModalLayer.d.ts +4 -0
  335. package/dist/utils/useRovingToolbar.d.ts +26 -0
  336. package/dist/utils/validationMessages.d.ts +15 -0
  337. package/dist/utils.cjs +1 -1
  338. package/dist/utils.entry.d.ts +3 -1
  339. package/dist/utils.js +11 -11
  340. package/dist/validationMessages-BFimXxlT.js +23 -0
  341. package/dist/validationMessages-BFimXxlT.js.map +1 -0
  342. package/dist/validationMessages-iHu7apWr.cjs +2 -0
  343. package/dist/validationMessages-iHu7apWr.cjs.map +1 -0
  344. package/dist/validators-SZmLxnir.cjs +2 -0
  345. package/dist/validators-SZmLxnir.cjs.map +1 -0
  346. package/dist/{validators-DVYOtFnw.js → validators-ULebNme2.js} +107 -106
  347. package/dist/validators-ULebNme2.js.map +1 -0
  348. package/package.json +1 -1
  349. package/dist/MAvatar-DHNB3829.cjs +0 -2
  350. package/dist/MAvatar-DHNB3829.cjs.map +0 -1
  351. package/dist/MAvatar-GeRL-CNO.js +0 -63
  352. package/dist/MAvatar-GeRL-CNO.js.map +0 -1
  353. package/dist/MButton-CEwo8lUB.js +0 -115
  354. package/dist/MButton-CEwo8lUB.js.map +0 -1
  355. package/dist/MButton-CnAr77Za.cjs +0 -2
  356. package/dist/MButton-CnAr77Za.cjs.map +0 -1
  357. package/dist/MCard-BqSkGAgf.js.map +0 -1
  358. package/dist/MCard-P8OoswWM.cjs.map +0 -1
  359. package/dist/MCheckbox-BxFBADcE.js +0 -59
  360. package/dist/MCheckbox-BxFBADcE.js.map +0 -1
  361. package/dist/MCheckbox-DozwF2ai.cjs +0 -2
  362. package/dist/MCheckbox-DozwF2ai.cjs.map +0 -1
  363. package/dist/MConflictIllustration-2QL-BHYv.cjs +0 -2
  364. package/dist/MConflictIllustration-2QL-BHYv.cjs.map +0 -1
  365. package/dist/MConflictIllustration-znC7ijmP.js.map +0 -1
  366. package/dist/MDetailList-CThQvoyf.cjs +0 -2
  367. package/dist/MDetailList-CThQvoyf.cjs.map +0 -1
  368. package/dist/MDetailList-Cx9H81xT.js +0 -98
  369. package/dist/MDetailList-Cx9H81xT.js.map +0 -1
  370. package/dist/MDropdownMenu-DnKcCyW6.cjs +0 -2
  371. package/dist/MDropdownMenu-DnKcCyW6.cjs.map +0 -1
  372. package/dist/MDropdownMenu-DxbKN7Ui.js +0 -172
  373. package/dist/MDropdownMenu-DxbKN7Ui.js.map +0 -1
  374. package/dist/MGrid-BkRSGN2t.cjs +0 -2
  375. package/dist/MGrid-BkRSGN2t.cjs.map +0 -1
  376. package/dist/MGrid-CIz-2i6X.js +0 -265
  377. package/dist/MGrid-CIz-2i6X.js.map +0 -1
  378. package/dist/MHeading-AYQ8_GFP.cjs +0 -2
  379. package/dist/MHeading-AYQ8_GFP.cjs.map +0 -1
  380. package/dist/MHeading-DcGxUMwC.js +0 -21
  381. package/dist/MHeading-DcGxUMwC.js.map +0 -1
  382. package/dist/MI18nProvider-CqAwaswx.cjs +0 -2
  383. package/dist/MI18nProvider-CqAwaswx.cjs.map +0 -1
  384. package/dist/MI18nProvider-VH14CI8u.js +0 -72
  385. package/dist/MI18nProvider-VH14CI8u.js.map +0 -1
  386. package/dist/MInput-BYj2BdUe.cjs +0 -2
  387. package/dist/MInput-BYj2BdUe.cjs.map +0 -1
  388. package/dist/MInput-nodE-CZF.js +0 -188
  389. package/dist/MInput-nodE-CZF.js.map +0 -1
  390. package/dist/MInputCVC-9XWryaTz.cjs +0 -2
  391. package/dist/MInputCVC-9XWryaTz.cjs.map +0 -1
  392. package/dist/MInputCVC-CrDTaUXm.js +0 -321
  393. package/dist/MInputCVC-CrDTaUXm.js.map +0 -1
  394. package/dist/MInputSearch-BMgCHjFk.js +0 -43
  395. package/dist/MInputSearch-BMgCHjFk.js.map +0 -1
  396. package/dist/MInputSearch-BiVI1jNc.cjs +0 -2
  397. package/dist/MInputSearch-BiVI1jNc.cjs.map +0 -1
  398. package/dist/MLink-CAl6N6_z.js +0 -31
  399. package/dist/MLink-CAl6N6_z.js.map +0 -1
  400. package/dist/MLink-Dk_ReE6i.cjs +0 -2
  401. package/dist/MLink-Dk_ReE6i.cjs.map +0 -1
  402. package/dist/MLoader-CYp0OJU_.js +0 -41
  403. package/dist/MLoader-CYp0OJU_.js.map +0 -1
  404. package/dist/MLoader-DvmFle31.cjs +0 -2
  405. package/dist/MLoader-DvmFle31.cjs.map +0 -1
  406. package/dist/MPagination-E7IixIeo.js +0 -113
  407. package/dist/MPagination-E7IixIeo.js.map +0 -1
  408. package/dist/MPagination-reDU9xTW.cjs +0 -2
  409. package/dist/MPagination-reDU9xTW.cjs.map +0 -1
  410. package/dist/MPopover-8gYD3Ogq.js +0 -118
  411. package/dist/MPopover-8gYD3Ogq.js.map +0 -1
  412. package/dist/MPopover-B3npyAkL.cjs +0 -2
  413. package/dist/MPopover-B3npyAkL.cjs.map +0 -1
  414. package/dist/MPortal-Ba2Sxset.js +0 -10
  415. package/dist/MPortal-Ba2Sxset.js.map +0 -1
  416. package/dist/MPortal-CuBXhhl_.cjs +0 -2
  417. package/dist/MPortal-CuBXhhl_.cjs.map +0 -1
  418. package/dist/MSimpleGrid-BchGYPMi.cjs +0 -2
  419. package/dist/MSimpleGrid-BchGYPMi.cjs.map +0 -1
  420. package/dist/MSimpleGrid-Ui8cI0ho.js.map +0 -1
  421. package/dist/MSkeleton-DPa_G_2X.cjs +0 -2
  422. package/dist/MSkeleton-DPa_G_2X.cjs.map +0 -1
  423. package/dist/MSkeleton-Dhu-loDO.js.map +0 -1
  424. package/dist/MSlider-BRjhyBSc.js +0 -75
  425. package/dist/MSlider-BRjhyBSc.js.map +0 -1
  426. package/dist/MSlider-w5214a-W.cjs +0 -2
  427. package/dist/MSlider-w5214a-W.cjs.map +0 -1
  428. package/dist/MStack-Dt-rWvg3.js +0 -39
  429. package/dist/MStack-Dt-rWvg3.js.map +0 -1
  430. package/dist/MStack-nc6Y_9K3.cjs +0 -2
  431. package/dist/MStack-nc6Y_9K3.cjs.map +0 -1
  432. package/dist/MSubText-B0tXiuAp.js +0 -17
  433. package/dist/MSubText-B0tXiuAp.js.map +0 -1
  434. package/dist/MSubText-C6v6Exa2.cjs +0 -2
  435. package/dist/MSubText-C6v6Exa2.cjs.map +0 -1
  436. package/dist/MSurface-BjE-mL1L.cjs +0 -2
  437. package/dist/MSurface-BjE-mL1L.cjs.map +0 -1
  438. package/dist/MSurface-CpDJCdb5.js +0 -74
  439. package/dist/MSurface-CpDJCdb5.js.map +0 -1
  440. package/dist/MTag-BgOxiahL.cjs +0 -2
  441. package/dist/MTag-BgOxiahL.cjs.map +0 -1
  442. package/dist/MTag-cw3cIGHX.js +0 -41
  443. package/dist/MTag-cw3cIGHX.js.map +0 -1
  444. package/dist/MText-BDI4mdw8.cjs +0 -2
  445. package/dist/MText-BDI4mdw8.cjs.map +0 -1
  446. package/dist/MText-DhbAjtUE.js +0 -45
  447. package/dist/MText-DhbAjtUE.js.map +0 -1
  448. package/dist/MTooltip-BAgHlv5I.cjs +0 -2
  449. package/dist/MTooltip-BAgHlv5I.cjs.map +0 -1
  450. package/dist/MTooltip-CJxvlkOX.js +0 -92
  451. package/dist/MTooltip-CJxvlkOX.js.map +0 -1
  452. package/dist/MTreeView-DsBnYQMT.js +0 -315
  453. package/dist/MTreeView-DsBnYQMT.js.map +0 -1
  454. package/dist/MTreeView-LiJ5o-zy.cjs +0 -2
  455. package/dist/MTreeView-LiJ5o-zy.cjs.map +0 -1
  456. package/dist/calendar-Bq6NMNnS.js +0 -193
  457. package/dist/calendar-Bq6NMNnS.js.map +0 -1
  458. package/dist/calendar-C57BH8Nd.cjs +0 -2
  459. package/dist/calendar-C57BH8Nd.cjs.map +0 -1
  460. package/dist/calendarDates-M_Dawj0j.js.map +0 -1
  461. package/dist/calendarDates-qm047RW2.cjs +0 -2
  462. package/dist/calendarDates-qm047RW2.cjs.map +0 -1
  463. package/dist/cards-D4xJVd4q.js +0 -1227
  464. package/dist/cards-D4xJVd4q.js.map +0 -1
  465. package/dist/cards-Du6dbZSQ.cjs +0 -2
  466. package/dist/cards-Du6dbZSQ.cjs.map +0 -1
  467. package/dist/controls-BKoc_yel.js +0 -475
  468. package/dist/controls-BKoc_yel.js.map +0 -1
  469. package/dist/controls-Ck-PMt__.cjs +0 -2
  470. package/dist/controls-Ck-PMt__.cjs.map +0 -1
  471. package/dist/creditCards-D_HwRUBz.cjs +0 -2
  472. package/dist/creditCards-D_HwRUBz.cjs.map +0 -1
  473. package/dist/creditCards-D_iWmtG6.js.map +0 -1
  474. package/dist/data-CdQximqm.js +0 -689
  475. package/dist/data-CdQximqm.js.map +0 -1
  476. package/dist/data-PS4ygCyj.cjs +0 -2
  477. package/dist/data-PS4ygCyj.cjs.map +0 -1
  478. package/dist/dateUtils-CUY6CRCf.js.map +0 -1
  479. package/dist/dateUtils-Dq1vaA-D.cjs +0 -2
  480. package/dist/dateUtils-Dq1vaA-D.cjs.map +0 -1
  481. package/dist/display-YC1fVpXA.js +0 -782
  482. package/dist/display-YC1fVpXA.js.map +0 -1
  483. package/dist/display-slIo1bQI.cjs +0 -3
  484. package/dist/display-slIo1bQI.cjs.map +0 -1
  485. package/dist/dropdowns-DFbUoZ8Q.cjs +0 -2
  486. package/dist/dropdowns-DFbUoZ8Q.cjs.map +0 -1
  487. package/dist/dropdowns-nW3MY5XG.js +0 -1715
  488. package/dist/dropdowns-nW3MY5XG.js.map +0 -1
  489. package/dist/feedback-6MNb2Xyk.cjs +0 -2
  490. package/dist/feedback-6MNb2Xyk.cjs.map +0 -1
  491. package/dist/feedback-CPwJaQHY.js +0 -259
  492. package/dist/feedback-CPwJaQHY.js.map +0 -1
  493. package/dist/form-CMsZo6Dm.cjs +0 -2
  494. package/dist/form-CMsZo6Dm.cjs.map +0 -1
  495. package/dist/form-WU6DcQGD.js +0 -164
  496. package/dist/form-WU6DcQGD.js.map +0 -1
  497. package/dist/frameworkTexts-BSXUtXOp.cjs +0 -2
  498. package/dist/frameworkTexts-BSXUtXOp.cjs.map +0 -1
  499. package/dist/frameworkTexts-DP5RUl19.js +0 -131
  500. package/dist/frameworkTexts-DP5RUl19.js.map +0 -1
  501. package/dist/icons-CBMl-kOM.js.map +0 -1
  502. package/dist/icons-D3n9-919.cjs +0 -2
  503. package/dist/icons-D3n9-919.cjs.map +0 -1
  504. package/dist/inputs-B7rGMLMr.js +0 -1753
  505. package/dist/inputs-B7rGMLMr.js.map +0 -1
  506. package/dist/inputs-BiN62hgH.cjs +0 -2
  507. package/dist/inputs-BiN62hgH.cjs.map +0 -1
  508. package/dist/layout-BMggJ_qO.cjs +0 -2
  509. package/dist/layout-BMggJ_qO.cjs.map +0 -1
  510. package/dist/layout-DBYHyCTr.js +0 -883
  511. package/dist/layout-DBYHyCTr.js.map +0 -1
  512. package/dist/licensing-Be3g-PJt.cjs +0 -2
  513. package/dist/licensing-Be3g-PJt.cjs.map +0 -1
  514. package/dist/licensing-f5KYVz7D.js.map +0 -1
  515. package/dist/media-BPzMgzqE.js +0 -405
  516. package/dist/media-BPzMgzqE.js.map +0 -1
  517. package/dist/media-D63hxCAJ.cjs +0 -2
  518. package/dist/media-D63hxCAJ.cjs.map +0 -1
  519. package/dist/overlays-CCeYD6hT.js +0 -555
  520. package/dist/overlays-CCeYD6hT.js.map +0 -1
  521. package/dist/overlays-CsRN5OG8.cjs +0 -2
  522. package/dist/overlays-CsRN5OG8.cjs.map +0 -1
  523. package/dist/popoverStack--0r2oJCD.js +0 -44
  524. package/dist/popoverStack--0r2oJCD.js.map +0 -1
  525. package/dist/popoverStack-BmMk-VZJ.cjs +0 -2
  526. package/dist/popoverStack-BmMk-VZJ.cjs.map +0 -1
  527. package/dist/theme-CJuqObWL.cjs +0 -2
  528. package/dist/theme-CJuqObWL.cjs.map +0 -1
  529. package/dist/theme-DAOU1aPs.js.map +0 -1
  530. package/dist/useGhostText-DG0bzcao.js +0 -68
  531. package/dist/useGhostText-DG0bzcao.js.map +0 -1
  532. package/dist/useGhostText-mibV4s1-.cjs +0 -2
  533. package/dist/useGhostText-mibV4s1-.cjs.map +0 -1
  534. package/dist/useKeyboardNav-CCUoRMgm.cjs +0 -2
  535. package/dist/useKeyboardNav-CCUoRMgm.cjs.map +0 -1
  536. package/dist/useKeyboardNav-iEXOdEMB.js +0 -43
  537. package/dist/useKeyboardNav-iEXOdEMB.js.map +0 -1
  538. package/dist/useModalLayer-Bf4TcEz-.js +0 -58
  539. package/dist/useModalLayer-Bf4TcEz-.js.map +0 -1
  540. package/dist/useModalLayer-DxYhhgRO.cjs +0 -2
  541. package/dist/useModalLayer-DxYhhgRO.cjs.map +0 -1
  542. package/dist/utils/proActivationWarning.d.ts +0 -7
  543. package/dist/validators-B6yWdsu2.cjs +0 -2
  544. package/dist/validators-B6yWdsu2.cjs.map +0 -1
  545. package/dist/validators-DVYOtFnw.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"display-YC1fVpXA.js","names":[],"sources":["../src/components/display/MCollapsible/MCollapsible.tsx","../src/components/display/MAccordion/MAccordion.tsx","../src/components/display/MProgressBar/MProgressBar.tsx","../src/components/display/MCountUp/MCountUp.tsx","../src/components/display/MCodeBlock/MCodeBlock.tsx","../src/components/display/MReveal/MReveal.tsx","../src/components/display/MTimeAgo/MTimeAgo.tsx","../src/components/display/MColorPicker/MColorPicker.tsx","../src/components/display/MEmptyState/MEmptyState.tsx","../src/components/display/MBlur/MBlur.tsx","../src/components/display/MStepper/MStepper.tsx","../src/components/display/MTimeline/MTimeline.tsx"],"sourcesContent":["import {useState} from 'react'\nimport {MButton} from '../../controls'\nimport {MStack} from '../../layout'\nimport {cn} from '../../../utils/cn'\nimport type {MCollapsibleProps} from './MCollapsible.types'\nimport {MChevronDownIcon} from '../../../icons'\nimport './MCollapsible.css'\n\n// MToggle a section of content with a built-in trigger and disclosure state.\nexport function MCollapsible({\n title,\n defaultOpen = false,\n open: controlledOpen,\n onToggle,\n color = 'primary',\n className,\n children,\n ...rest\n}: MCollapsibleProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const open = controlledOpen ?? internalOpen\n\n const handleToggle = () => {\n const nextOpen = !open\n\n if (controlledOpen === undefined) {\n setInternalOpen(nextOpen)\n }\n\n onToggle?.(nextOpen)\n }\n\n const chevronIcon = (\n <span className={cn('chevron', open && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon />\n </span>\n )\n\n return (\n <div className={cn('collapsible', className)} {...rest}>\n <MButton\n variant=\"ghost\"\n color={color}\n className=\"trigger\"\n aria-expanded={open}\n onClick={handleToggle}\n endIcon={chevronIcon}\n >\n {title}\n </MButton>\n <div className={cn('content-wrap', open && 'open')} aria-hidden={!open}>\n <MStack className=\"content\">{children}</MStack>\n </div>\n </div>\n )\n}\n","import {useState, useCallback, Children, isValidElement} from 'react'\nimport {MCollapsible} from '../MCollapsible'\nimport {cn} from '../../../utils/cn'\nimport type {MAccordionProps, MAccordionItemProps} from './MAccordion.types'\nimport './MAccordion.css'\n\nexport function MAccordionItem(_props: MAccordionItemProps) {\n return null\n}\n\nexport function MAccordion({\n multiple = false,\n defaultOpen,\n onChange,\n bordered = false,\n color,\n className,\n children,\n ...rest\n}: MAccordionProps) {\n const initialOpen = Array.isArray(defaultOpen) ? defaultOpen : defaultOpen ? [defaultOpen] : []\n\n const [openIds, setOpenIds] = useState<string[]>(initialOpen)\n\n const handleToggle = useCallback(\n (id: string, isOpen: boolean) => {\n setOpenIds((prev) => {\n let next: string[]\n if (isOpen) {\n next = multiple ? [...prev, id] : [id]\n } else {\n next = prev.filter((v) => v !== id)\n }\n onChange?.(next)\n return next\n })\n },\n [multiple, onChange]\n )\n\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MAccordionItem\n )\n\n return (\n <div className={cn('accordion', bordered && 'bordered', className)} {...rest}>\n {items.map((child) => {\n if (!isValidElement<MAccordionItemProps>(child)) return null\n const {id, title, children: content, disabled, color: itemColor} = child.props\n const isOpen = openIds.includes(id)\n\n return (\n <div key={id} className={cn('accordion-item', disabled && 'disabled')}>\n <MCollapsible\n title={title}\n open={isOpen}\n onToggle={disabled ? undefined : (open) => handleToggle(id, open)}\n color={itemColor ?? color}\n >\n {content}\n </MCollapsible>\n </div>\n )\n })}\n </div>\n )\n}\n","import {useState, useEffect, useRef, useCallback} from 'react'\nimport type {MProgressBarProps} from './MProgressBar.types'\nimport {cn} from '../../../utils/cn'\nimport './MProgressBar.css'\n\nconst DURATION = 800\n\nfunction easeOutCubic(t: number) {\n return 1 - Math.pow(1 - t, 3)\n}\n\n// Render a horizontal bar that fills to represent progress as a percentage.\nexport function MProgressBar({\n value,\n max = 100,\n color = 'primary',\n size = 'md',\n label,\n showValue = false,\n animated = false,\n striped = false,\n className,\n ...rest\n}: MProgressBarProps) {\n const percent = Math.min(100, Math.max(0, (value / max) * 100))\n const [displayPercent, setDisplayPercent] = useState(0)\n const [barPercent, setBarPercent] = useState(0)\n const prevPercent = useRef(0)\n const rafRef = useRef(0)\n\n const animate = useCallback((from: number, to: number) => {\n cancelAnimationFrame(rafRef.current)\n const start = performance.now()\n\n const step = (now: number) => {\n const elapsed = now - start\n const progress = Math.min(elapsed / DURATION, 1)\n const eased = easeOutCubic(progress)\n const current = from + (to - from) * eased\n\n setDisplayPercent(current)\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n // Set bar width immediately for CSS transition\n setBarPercent(to)\n rafRef.current = requestAnimationFrame(step)\n }, [])\n\n useEffect(() => {\n animate(prevPercent.current, percent)\n prevPercent.current = percent\n return () => cancelAnimationFrame(rafRef.current)\n }, [percent, animate])\n\n return (\n <div\n className={cn('progress-bar', `color-${color}`, size, className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n {...rest}\n >\n {(label || showValue) && (\n <div className=\"progress-bar-header\">\n {label && <span className=\"progress-bar-label\">{label}</span>}\n {showValue && <span className=\"progress-bar-value\">{Math.round(displayPercent)}%</span>}\n </div>\n )}\n <div className=\"progress-bar-track\">\n <div\n className={cn('progress-bar-fill', animated && 'animated', striped && 'striped')}\n style={{width: `${barPercent}%`}}\n />\n </div>\n </div>\n )\n}\n","import {useState, useEffect, useRef} from 'react'\nimport type {MCountUpProps} from './MCountUp.types'\nimport {cn} from '../../../utils/cn'\n\n// Animate a number from a start value to a target, with an easing curve.\nexport function MCountUp({\n value,\n from = 0,\n duration = 1000,\n decimals = 0,\n prefix = '',\n suffix = '',\n separator = '',\n className,\n ...rest\n}: MCountUpProps) {\n const [display, setDisplay] = useState(from)\n const rafRef = useRef<number>(0)\n const startRef = useRef<number | null>(null)\n\n useEffect(() => {\n const startValue = display\n startRef.current = null\n\n const step = (timestamp: number) => {\n if (startRef.current === null) startRef.current = timestamp\n const elapsed = timestamp - startRef.current\n const progress = Math.min(elapsed / duration, 1)\n const eased = 1 - Math.pow(1 - progress, 3)\n const current = startValue + (value - startValue) * eased\n\n setDisplay(current)\n\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n rafRef.current = requestAnimationFrame(step)\n return () => cancelAnimationFrame(rafRef.current)\n }, [value, duration])\n\n const formatted = formatNumber(display, decimals, separator)\n\n return (\n <span className={cn('count-up', className)} {...rest}>\n {prefix}\n {formatted}\n {suffix}\n </span>\n )\n}\n\nfunction formatNumber(num: number, decimals: number, separator: string): string {\n const fixed = num.toFixed(decimals)\n if (!separator) return fixed\n\n const [int, dec] = fixed.split('.')\n const withSep = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator)\n return dec !== undefined ? `${withSep}.${dec}` : withSep\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {MCodeBlockProps} from './MCodeBlock.types'\nimport {MCard, MCardBody, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MInline} from '../../layout'\nimport {MText} from '../../typography'\nimport {MCopyIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MCodeBlock.css'\nimport type {HLJSApi, LanguageFn} from 'highlight.js'\n\nconst languageMap: Record<string, string> = {\n c: 'c',\n cpp: 'cpp',\n 'c++': 'cpp',\n arduino: 'arduino',\n ino: 'arduino',\n ts: 'typescript',\n typescript: 'typescript',\n tsx: 'tsx',\n js: 'javascript',\n javascript: 'javascript',\n jsx: 'jsx',\n json: 'json',\n css: 'css',\n html: 'html',\n markup: 'html',\n bash: 'bash',\n shell: 'bash',\n shellscript: 'bash',\n php: 'php',\n}\n\nconst languageLoaders: Record<string, () => Promise<{default: LanguageFn}>> = {\n xml: () => import('highlight.js/lib/languages/xml'),\n css: () => import('highlight.js/lib/languages/css'),\n javascript: () => import('highlight.js/lib/languages/javascript'),\n typescript: () => import('highlight.js/lib/languages/typescript'),\n json: () => import('highlight.js/lib/languages/json'),\n bash: () => import('highlight.js/lib/languages/bash'),\n c: () => import('highlight.js/lib/languages/c'),\n cpp: () => import('highlight.js/lib/languages/cpp'),\n arduino: () => import('highlight.js/lib/languages/arduino'),\n php: () => import('highlight.js/lib/languages/php'),\n}\n\nlet highlightJsPromise: Promise<HLJSApi> | null = null\nconst codeBlockTypingSpeed = 42\nconst codeBlockTypingStartDelay = 200\n\nfunction escapeHtml(value: string): string {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')\n}\n\nfunction resolveLanguage(language: string): string {\n return languageMap[language] ?? language\n}\n\nasync function getHighlightJs(): Promise<HLJSApi> {\n if (!highlightJsPromise) {\n highlightJsPromise = (async () => {\n const highlightJsCore = (await import('highlight.js/lib/core')).default\n const highlightJs = highlightJsCore.newInstance()\n\n for (const [language, loadLanguage] of Object.entries(languageLoaders)) {\n const definition = await loadLanguage()\n highlightJs.registerLanguage(language, definition.default)\n }\n\n highlightJs.registerAliases(['shell', 'shellscript'], {languageName: 'bash'})\n highlightJs.registerAliases('markup', {languageName: 'xml'})\n\n return highlightJs\n })()\n }\n\n return highlightJsPromise\n}\n\n// Render a syntax-highlighted code block with optional card header and copy action.\nexport function MCodeBlock({\n code,\n language = 'tsx',\n title,\n showHeader = true,\n showLanguage = true,\n showCopyButton = true,\n copyLabel = 'Copy',\n copiedLabel = 'Copied',\n maxHeight,\n stretch = false,\n animated = false,\n lineNumbers = false,\n className,\n ...rest\n}: MCodeBlockProps) {\n const normalizedLanguage = useMemo(() => resolveLanguage(language.trim().toLowerCase()), [language])\n const [visibleLength, setVisibleLength] = useState(() => (animated ? 0 : code.length))\n const renderedCode = animated ? code.slice(0, visibleLength) : code\n const [highlightedCode, setHighlightedCode] = useState(() => escapeHtml(renderedCode))\n const [copied, setCopied] = useState(false)\n const copyTimeoutRef = useRef<number | null>(null)\n const typingTimeoutRef = useRef<number | null>(null)\n const scrollRef = useRef<HTMLDivElement | null>(null)\n const canCopy = typeof navigator !== 'undefined' && typeof navigator.clipboard?.writeText === 'function'\n const hasHeader = showHeader && (Boolean(title) || showLanguage || showCopyButton)\n const lineCount = useMemo(() => Math.max(1, renderedCode.split('\\n').length), [renderedCode])\n\n useEffect(() => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n\n setVisibleLength(animated ? 0 : code.length)\n }, [animated, code])\n\n useEffect(() => {\n if (!animated || code.length === 0) {\n return\n }\n\n if (visibleLength < code.length) {\n typingTimeoutRef.current = window.setTimeout(\n () => {\n setVisibleLength((current) => Math.min(current + 1, code.length))\n typingTimeoutRef.current = null\n },\n visibleLength === 0 ? codeBlockTypingStartDelay : codeBlockTypingSpeed\n )\n }\n\n return () => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n }\n }, [animated, code.length, visibleLength])\n\n useEffect(() => {\n let active = true\n\n async function highlightCode() {\n try {\n const highlightJs = await getHighlightJs()\n const languageDefinition = highlightJs.getLanguage(normalizedLanguage)\n const html = languageDefinition\n ? highlightJs.highlight(renderedCode, {\n language: normalizedLanguage,\n ignoreIllegals: true,\n }).value\n : escapeHtml(renderedCode)\n\n if (active) {\n setHighlightedCode(html)\n }\n } catch {\n if (active) {\n setHighlightedCode(escapeHtml(renderedCode))\n }\n }\n }\n\n void highlightCode()\n\n return () => {\n active = false\n }\n }, [normalizedLanguage, renderedCode])\n\n useEffect(() => {\n return () => {\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!animated || !scrollRef.current) {\n return\n }\n\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight\n }, [animated, visibleLength])\n\n async function handleCopy() {\n if (!canCopy) {\n return\n }\n\n try {\n await navigator.clipboard.writeText(code)\n setCopied(true)\n\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n copyTimeoutRef.current = window.setTimeout(() => {\n setCopied(false)\n copyTimeoutRef.current = null\n }, 1200)\n } catch {\n setCopied(false)\n }\n }\n\n return (\n <MCard className={cn('code-block-card', className)} {...rest} padded={false} stretch={stretch}>\n {hasHeader && (\n <MCardHeader className=\"code-block-header\">\n <MInline\n className=\"code-block-header-layout\"\n align=\"center\"\n justify=\"between\"\n wrap=\"nowrap\"\n px=\"lg\"\n py=\"md\"\n >\n <MInline className=\"code-block-header-meta\" align=\"center\" wrap=\"wrap\">\n {title && (\n <MText as=\"span\" className=\"code-block-title\" size=\"sm\" weight=\"semibold\">\n {title}\n </MText>\n )}\n {showLanguage && language && (\n <MBadge color=\"info\" size=\"sm\">\n {language}\n </MBadge>\n )}\n </MInline>\n {showCopyButton && (\n <MButton\n variant=\"ghost\"\n size=\"sm\"\n color=\"neutral\"\n startIcon={<MCopyIcon size=\"sm\" aria-hidden=\"true\" />}\n onClick={handleCopy}\n disabled={!canCopy}\n >\n {copied ? copiedLabel : copyLabel}\n </MButton>\n )}\n </MInline>\n </MCardHeader>\n )}\n\n <MCardBody className=\"code-block-body\">\n <div\n ref={scrollRef}\n className=\"code-block-scroll\"\n style={maxHeight ? {maxHeight, overflowY: 'auto'} : undefined}\n >\n <pre\n className={cn(\n 'code-block-pre',\n lineNumbers && 'with-line-numbers',\n `language-${normalizedLanguage}`\n )}\n >\n {lineNumbers && (\n <span className=\"code-block-line-numbers\" aria-hidden=\"true\">\n {Array.from({length: lineCount}, (_, index) => (\n <span key={index + 1} className=\"code-block-line-number\">\n {index + 1}\n </span>\n ))}\n </span>\n )}\n <span className=\"code-block-code-shell\">\n <code\n className={cn('code-block-code', 'hljs', `language-${normalizedLanguage}`)}\n dangerouslySetInnerHTML={{__html: highlightedCode}}\n />\n </span>\n </pre>\n </div>\n </MCardBody>\n </MCard>\n )\n}\n","import {useEffect, useRef} from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MRevealProps} from './MReveal.types'\nimport {cn} from '../../../utils/cn'\n\nfunction getRevealOffset(direction: MRevealProps['direction'], distance: number) {\n switch (direction) {\n case 'down':\n return {x: 0, y: -distance}\n case 'left':\n return {x: distance, y: 0}\n case 'right':\n return {x: -distance, y: 0}\n case 'none':\n return {x: 0, y: 0}\n case 'up':\n default:\n return {x: 0, y: distance}\n }\n}\n\nexport function MReveal({\n children,\n direction = 'up',\n delay = 0,\n duration = 0.46,\n distance = 20,\n once = true,\n trigger = 'view',\n className,\n style,\n ...rest\n}: MRevealProps) {\n const revealRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const node = revealRef.current\n if (!node) {\n return\n }\n\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n node.classList.remove('revealed')\n\n if (prefersReducedMotion) {\n node.classList.add('revealed')\n return\n }\n\n if (trigger === 'mount') {\n const frame = window.requestAnimationFrame(() => {\n node.classList.add('revealed')\n })\n\n return () => window.cancelAnimationFrame(frame)\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n node.classList.add('revealed')\n if (once) {\n observer.disconnect()\n }\n } else if (!once) {\n node.classList.remove('revealed')\n }\n }\n },\n {threshold: 0.2}\n )\n\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [delay, direction, distance, duration, once, trigger])\n\n const offset = getRevealOffset(direction, distance)\n const revealStyle = {\n minWidth: 0,\n maxWidth: '100%',\n '--reveal-delay': `${delay}s`,\n '--reveal-duration': `${duration}s`,\n '--reveal-translate-x': `${offset.x}px`,\n '--reveal-translate-y': `${offset.y}px`,\n ...style,\n } as CSSProperties\n\n return (\n <div ref={revealRef} className={cn('reveal', className)} style={revealStyle} {...rest}>\n {children}\n </div>\n )\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MColorPickerProps} from './MColorPicker.types'\nimport {cn} from '../../../utils/cn'\nimport './MColorPicker.css'\n\nfunction hsvToHex(h: number, s: number, v: number): string {\n const f = (n: number) => {\n const k = (n + h / 60) % 6\n return v - v * s * Math.max(0, Math.min(k, 4 - k, 1))\n }\n const r = Math.round(f(5) * 255)\n const g = Math.round(f(3) * 255)\n const b = Math.round(f(1) * 255)\n return `#${[r, g, b].map((c) => c.toString(16).padStart(2, '0')).join('')}`\n}\n\nfunction hexToHsv(hex: string): [number, number, number] {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return [0, 0, 1]\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const d = max - min\n let h = 0\n if (d !== 0) {\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n const s = max === 0 ? 0 : d / max\n return [h, s, max]\n}\n\nfunction hexToRgb(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'rgb(0, 0, 0)'\n const [r, g, b] = m.map((c) => parseInt(c, 16))\n return `rgb(${r}, ${g}, ${b})`\n}\n\nfunction hexToHsl(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'hsl(0, 0%, 0%)'\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const l = (max + min) / 2\n let h = 0\n let s = 0\n if (max !== min) {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n return `hsl(${Math.round(h)}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`\n}\n\nfunction formatOutput(hex: string, format: string): string {\n if (format === 'rgb') return hexToRgb(hex)\n if (format === 'hsl') return hexToHsl(hex)\n return hex\n}\n\nfunction normalizeToHex(value: string): string {\n if (!value) return '#000000'\n if (value.startsWith('#')) return value.length === 7 ? value : '#000000'\n const rgbMatch = value.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/)\n if (rgbMatch) {\n return `#${[rgbMatch[1], rgbMatch[2], rgbMatch[3]]\n .map((c) => parseInt(c).toString(16).padStart(2, '0'))\n .join('')}`\n }\n return '#000000'\n}\n\nconst DEFAULT_SWATCHES = [\n '#ef4444',\n '#f97316',\n '#eab308',\n '#22c55e',\n '#06b6d4',\n '#3b82f6',\n '#8b5cf6',\n '#ec4899',\n '#000000',\n '#ffffff',\n]\n\nexport function MColorPicker({\n value,\n onChange,\n swatches = DEFAULT_SWATCHES,\n format = 'hex',\n size = 'md',\n label,\n disabled = false,\n className,\n ...rest\n}: MColorPickerProps) {\n const hex = normalizeToHex(value ?? '#3b82f6')\n const [hsv, setHsv] = useState<[number, number, number]>(() => hexToHsv(hex))\n const [inputValue, setInputValue] = useState(formatOutput(hex, format))\n const areaRef = useRef<HTMLDivElement>(null)\n const hueRef = useRef<HTMLDivElement>(null)\n const dragging = useRef<'area' | 'hue' | null>(null)\n\n useEffect(() => {\n const newHex = normalizeToHex(value ?? '#3b82f6')\n setHsv(hexToHsv(newHex))\n setInputValue(formatOutput(newHex, format))\n }, [value, format])\n\n const emit = useCallback(\n (h: number, s: number, v: number) => {\n const newHex = hsvToHex(h, s, v)\n setHsv([h, s, v])\n setInputValue(formatOutput(newHex, format))\n onChange?.(formatOutput(newHex, format))\n },\n [onChange, format]\n )\n\n function handleAreaPointer(e: React.PointerEvent | PointerEvent) {\n const rect = areaRef.current?.getBoundingClientRect()\n if (!rect) return\n const s = Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width))\n const v = Math.max(0, Math.min(1, 1 - (e.clientY - rect.top) / rect.height))\n emit(hsv[0], s, v)\n }\n\n function handleHuePointer(e: React.PointerEvent | PointerEvent) {\n const rect = hueRef.current?.getBoundingClientRect()\n if (!rect) return\n const h = Math.max(0, Math.min(360, ((e.clientX - rect.left) / rect.width) * 360))\n emit(h, hsv[1], hsv[2])\n }\n\n useEffect(() => {\n function onMove(e: PointerEvent) {\n if (dragging.current === 'area') handleAreaPointer(e)\n else if (dragging.current === 'hue') handleHuePointer(e)\n }\n function onUp() {\n dragging.current = null\n }\n window.addEventListener('pointermove', onMove)\n window.addEventListener('pointerup', onUp)\n return () => {\n window.removeEventListener('pointermove', onMove)\n window.removeEventListener('pointerup', onUp)\n }\n })\n\n function handleInputChange(val: string) {\n setInputValue(val)\n try {\n const h = normalizeToHex(val)\n if (h !== '#000000' || val === '#000000' || val.toLowerCase() === 'rgb(0, 0, 0)') {\n setHsv(hexToHsv(h))\n onChange?.(formatOutput(h, format))\n }\n } catch {\n // ignore invalid input while typing\n }\n }\n\n const currentHex = hsvToHex(hsv[0], hsv[1], hsv[2])\n\n return (\n <div className={cn('color-picker', size, disabled && 'disabled', className)} {...rest}>\n {label && <label className=\"label\">{label}</label>}\n\n <div\n ref={areaRef}\n className=\"area\"\n style={{background: `hsl(${hsv[0]}, 100%, 50%)`}}\n onPointerDown={(e) => {\n if (disabled) return\n dragging.current = 'area'\n handleAreaPointer(e)\n }}\n >\n <div className=\"white\" />\n <div className=\"black\" />\n <div\n className=\"cursor\"\n style={{\n left: `${hsv[1] * 100}%`,\n top: `${(1 - hsv[2]) * 100}%`,\n background: currentHex,\n }}\n />\n </div>\n\n <div\n ref={hueRef}\n className=\"hue\"\n onPointerDown={(e) => {\n if (disabled) return\n dragging.current = 'hue'\n handleHuePointer(e)\n }}\n >\n <div className=\"hue-thumb\" style={{left: `${(hsv[0] / 360) * 100}%`}} />\n </div>\n\n <div className=\"controls\">\n <div className=\"preview\" style={{background: currentHex}} />\n <input\n type=\"text\"\n className=\"input\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.target.value)}\n disabled={disabled}\n />\n </div>\n\n {swatches.length > 0 && (\n <div className=\"swatches\">\n {swatches.map((swatch) => (\n <button\n key={swatch}\n type=\"button\"\n className={cn('swatch', currentHex.toLowerCase() === swatch.toLowerCase() && 'active')}\n style={{background: swatch}}\n onClick={() => {\n if (disabled) return\n const [h, s, v] = hexToHsv(swatch)\n emit(h, s, v)\n }}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import {isValidElement, cloneElement} from 'react'\nimport type {MEmptyStateProps} from './MEmptyState.types'\nimport {MButton} from '../../controls/MButton'\nimport {cn} from '../../../utils/cn'\nimport './MEmptyState.css'\n\nconst BUTTON_SIZE_MAP = {xs: 'xs', sm: 'sm', md: 'sm', lg: 'md', xl: 'lg'} as const\n\nexport function MEmptyState({\n icon,\n illustration,\n title,\n description,\n buttonText,\n onAction,\n color = 'neutral',\n size = 'md',\n className,\n children,\n ...rest\n}: MEmptyStateProps) {\n return (\n <div className={cn('empty-state', `color-${color}`, size, className)} {...rest}>\n {illustration && (\n <div className=\"empty-state-illustration\">\n {isValidElement(illustration) ? cloneElement(illustration, {color} as any) : illustration}\n </div>\n )}\n {!illustration && icon && <div className=\"empty-state-icon\">{icon}</div>}\n <div className=\"empty-state-content\">\n <div className=\"empty-state-title\">{title}</div>\n {description && <div className=\"empty-state-description\">{description}</div>}\n </div>\n {buttonText && onAction && (\n <div className=\"empty-state-action\">\n <MButton size={BUTTON_SIZE_MAP[size]} variant=\"outlined\" color={color} onClick={onAction}>\n {buttonText}\n </MButton>\n </div>\n )}\n {children}\n </div>\n )\n}\n","import {useCallback, useState} from 'react'\nimport type {CSSProperties, KeyboardEvent, MouseEvent} from 'react'\nimport type {MBlurProps} from './MBlur.types'\nimport {cn} from '../../../utils/cn'\nimport './MBlur.css'\n\n// Obscure inline content with a CSS blur filter until the viewer opts in to reveal it.\nexport function MBlur({\n children,\n amount = 6,\n reveal = 'hover',\n revealed,\n defaultRevealed = false,\n onToggle,\n inline = true,\n className,\n style,\n onClick,\n onKeyDown,\n ...rest\n}: MBlurProps) {\n const controlled = revealed !== undefined\n const [internal, setInternal] = useState(defaultRevealed)\n const isRevealed = controlled ? revealed : internal\n const interactive = reveal !== 'none'\n\n const setRevealed = useCallback(\n (next: boolean) => {\n if (!controlled) {\n setInternal(next)\n }\n onToggle?.(next)\n },\n [controlled, onToggle]\n )\n\n const handleClick = (event: MouseEvent<HTMLSpanElement>) => {\n if (reveal === 'click') {\n setRevealed(!isRevealed)\n }\n onClick?.(event)\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (reveal === 'click' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n setRevealed(!isRevealed)\n }\n onKeyDown?.(event)\n }\n\n const mergedStyle: CSSProperties = {\n ...style,\n ['--mineral-blur-amount' as string]: `${amount}px`,\n }\n\n return (\n <span\n className={cn('blur', inline ? 'inline' : 'block', `reveal-${reveal}`, isRevealed && 'revealed', className)}\n style={mergedStyle}\n tabIndex={interactive && reveal === 'click' ? 0 : undefined}\n role={reveal === 'click' ? 'button' : undefined}\n aria-pressed={reveal === 'click' ? isRevealed : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <span className={'blur-inner'} aria-hidden={!isRevealed}>\n {children}\n </span>\n </span>\n )\n}\n","import {Children, isValidElement} from 'react'\nimport type {MStepperProps, MStepProps} from './MStepper.types'\nimport type {MSize} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MCheckIcon} from '../../../icons'\nimport './MStepper.css'\n\nconst CHECK_SIZE: Record<MSize, number> = {xs: 10, sm: 14, md: 18, lg: 22, xl: 28}\n\nexport function MStep(_props: MStepProps) {\n return null\n}\n\nexport function MStepper({\n activeStep,\n variant = 'horizontal',\n color = 'primary',\n size = 'md',\n clickable = false,\n onChange,\n className,\n children,\n ...rest\n}: MStepperProps) {\n const steps = Children.toArray(children).filter((child) => isValidElement(child) && (child.type as any) === MStep)\n\n return (\n <div className={cn('stepper', variant, `color-${color}`, size, className)} role=\"list\" {...rest}>\n {steps.map((child, index) => {\n if (!isValidElement<MStepProps>(child)) return null\n const {id, title, description, icon, disabled, optional, error} = child.props\n const isActive = index === activeStep\n const isCompleted = index < activeStep\n const isClickable = clickable && !disabled\n\n const handleClick = () => {\n if (isClickable && onChange) {\n onChange(index)\n }\n }\n\n return (\n <div\n key={id}\n className={cn(\n 'stepper-step',\n isActive && 'active',\n isCompleted && 'completed',\n disabled && 'disabled',\n error && 'error',\n isClickable && 'clickable'\n )}\n role=\"listitem\"\n aria-current={isActive ? 'step' : undefined}\n >\n <div\n className=\"stepper-indicator\"\n onClick={isClickable ? handleClick : undefined}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={\n isClickable\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleClick()\n }\n }\n : undefined\n }\n >\n {error\n ? '!'\n : isCompleted\n ? (icon ?? <MCheckIcon size={CHECK_SIZE[size]} />)\n : (icon ?? index + 1)}\n </div>\n <div className=\"stepper-content\">\n <span className=\"stepper-title\">{title}</span>\n {description && <span className=\"stepper-description\">{description}</span>}\n {optional && <span className=\"stepper-optional\">Optional</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n","import {Children, isValidElement} from 'react'\nimport type {MTimelineProps, MTimelineItemProps} from './MTimeline.types'\nimport {cn} from '../../../utils/cn'\nimport './MTimeline.css'\n\nexport function MTimelineItem(_props: MTimelineItemProps) {\n return null\n}\n\nexport function MTimeline({\n align = 'left',\n color = 'primary',\n size = 'md',\n className,\n children,\n ...rest\n}: MTimelineProps) {\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MTimelineItem\n )\n\n return (\n <div className={cn('timeline', `align-${align}`, `color-${color}`, size, className)} {...rest}>\n {items.map((child, index) => {\n if (!isValidElement<MTimelineItemProps>(child)) return null\n const {id, title, description, date, icon, color: itemColor} = child.props\n const side = align === 'alternate' ? (index % 2 === 0 ? 'left' : 'right') : undefined\n\n return (\n <div key={id} className={cn('timeline-item', side && `side-${side}`)}>\n <div className={cn('timeline-dot', itemColor && `color-${itemColor}`)}>{icon}</div>\n <div className=\"timeline-content\">\n <span className=\"timeline-title\">{title}</span>\n {description && <span className=\"timeline-description\">{description}</span>}\n {date && <span className=\"timeline-date\">{date}</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AASA,SAAgB,EAAa,EACzB,UACA,iBAAc,IACd,MAAM,GACN,aACA,WAAQ,WACR,cACA,aACA,GAAG,KACe;CAClB,IAAM,CAAC,GAAc,KAAmB,EAAS,EAAY,EACvD,IAAO,KAAkB,GAEzB,UAAqB;EACvB,IAAM,IAAW,CAAC;AAMlB,EAJI,MAAmB,KAAA,KACnB,EAAgB,EAAS,EAG7B,IAAW,EAAS;IAGlB,IACF,kBAAC,QAAD;EAAM,WAAW,EAAG,WAAW,KAAQ,OAAO;EAAE,eAAY;YACxD,kBAAC,GAAD,EAAoB,CAAA;EACjB,CAAA;AAGX,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,eAAe,EAAU;EAAE,GAAI;YAAlD,CACI,kBAAC,GAAD;GACI,SAAQ;GACD;GACP,WAAU;GACV,iBAAe;GACf,SAAS;GACT,SAAS;aAER;GACK,CAAA,EACV,kBAAC,OAAD;GAAK,WAAW,EAAG,gBAAgB,KAAQ,OAAO;GAAE,eAAa,CAAC;aAC9D,kBAAC,GAAD;IAAQ,WAAU;IAAW;IAAkB,CAAA;GAC7C,CAAA,CACJ;;;;;AC/Cd,SAAgB,EAAe,GAA6B;AACxD,QAAO;;AAGX,SAAgB,EAAW,EACvB,cAAW,IACX,gBACA,aACA,cAAW,IACX,UACA,cACA,aACA,GAAG,KACa;CAGhB,IAAM,CAAC,GAAS,KAAc,EAFV,MAAM,QAAQ,EAAY,GAAG,IAAc,IAAc,CAAC,EAAY,GAAG,EAAE,CAElC,EAEvD,IAAe,GAChB,GAAY,MAAoB;AAC7B,KAAY,MAAS;GACjB,IAAI;AAOJ,UANA,AAGI,IAHA,IACO,IAAW,CAAC,GAAG,GAAM,EAAG,GAAG,CAAC,EAAG,GAE/B,EAAK,QAAQ,MAAM,MAAM,EAAG,EAEvC,IAAW,EAAK,EACT;IACT;IAEN,CAAC,GAAU,EAAS,CACvB,EAEK,IAAQ,EAAS,QAAQ,EAAS,CAAC,QACpC,MAAU,EAAe,EAAM,IAAK,EAAM,SAAiB,EAC/D;AAED,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,aAAa,KAAY,YAAY,EAAU;EAAE,GAAI;YACnE,EAAM,KAAK,MAAU;AAClB,OAAI,CAAC,EAAoC,EAAM,CAAE,QAAO;GACxD,IAAM,EAAC,OAAI,UAAO,UAAU,GAAS,aAAU,OAAO,MAAa,EAAM,OACnE,IAAS,EAAQ,SAAS,EAAG;AAEnC,UACI,kBAAC,OAAD;IAAc,WAAW,EAAG,kBAAkB,KAAY,WAAW;cACjE,kBAAC,GAAD;KACW;KACP,MAAM;KACN,UAAU,IAAW,KAAA,KAAa,MAAS,EAAa,GAAI,EAAK;KACjE,OAAO,KAAa;eAEnB;KACU,CAAA;IACb,EATI,EASJ;IAEZ;EACA,CAAA;;;;AC3Dd,IAAM,IAAW;AAEjB,SAAS,EAAa,GAAW;AAC7B,QAAO,KAAa,IAAI,MAAG;;AAI/B,SAAgB,EAAa,EACzB,UACA,SAAM,KACN,WAAQ,WACR,UAAO,MACP,UACA,eAAY,IACZ,cAAW,IACX,aAAU,IACV,cACA,GAAG,KACe;CAClB,IAAM,IAAU,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,IAAQ,IAAO,IAAI,CAAC,EACzD,CAAC,GAAgB,KAAqB,EAAS,EAAE,EACjD,CAAC,GAAY,KAAiB,EAAS,EAAE,EACzC,IAAc,EAAO,EAAE,EACvB,IAAS,EAAO,EAAE,EAElB,IAAU,GAAa,GAAc,MAAe;AACtD,uBAAqB,EAAO,QAAQ;EACpC,IAAM,IAAQ,YAAY,KAAK,EAEzB,KAAQ,MAAgB;GAC1B,IAAM,IAAU,IAAM,GAChB,IAAW,KAAK,IAAI,IAAU,GAAU,EAAE,EAC1C,IAAQ,EAAa,EAAS;AAIpC,GADA,EAFgB,KAAQ,IAAK,KAAQ,EAEX,EACtB,IAAW,MACX,EAAO,UAAU,sBAAsB,EAAK;;AAMpD,EADA,EAAc,EAAG,EACjB,EAAO,UAAU,sBAAsB,EAAK;IAC7C,EAAE,CAAC;AAQN,QANA,SACI,EAAQ,EAAY,SAAS,EAAQ,EACrC,EAAY,UAAU,SACT,qBAAqB,EAAO,QAAQ,GAClD,CAAC,GAAS,EAAQ,CAAC,EAGlB,kBAAC,OAAD;EACI,WAAW,EAAG,gBAAgB,SAAS,KAAS,GAAM,EAAU;EAChE,MAAK;EACL,iBAAe;EACf,iBAAe;EACf,iBAAe;EACf,cAAY;EACZ,GAAI;YAPR,EASM,KAAS,MACP,kBAAC,OAAD;GAAK,WAAU;aAAf,CACK,KAAS,kBAAC,QAAD;IAAM,WAAU;cAAsB;IAAa,CAAA,EAC5D,KAAa,kBAAC,QAAD;IAAM,WAAU;cAAhB,CAAsC,KAAK,MAAM,EAAe,EAAC,IAAQ;MACrF;MAEV,kBAAC,OAAD;GAAK,WAAU;aACX,kBAAC,OAAD;IACI,WAAW,EAAG,qBAAqB,KAAY,YAAY,KAAW,UAAU;IAChF,OAAO,EAAC,OAAO,GAAG,EAAW,IAAG;IAClC,CAAA;GACA,CAAA,CACJ;;;;;AC1Ed,SAAgB,EAAS,EACrB,UACA,UAAO,GACP,cAAW,KACX,cAAW,GACX,YAAS,IACT,YAAS,IACT,eAAY,IACZ,cACA,GAAG,KACW;CACd,IAAM,CAAC,GAAS,KAAc,EAAS,EAAK,EACtC,IAAS,EAAe,EAAE,EAC1B,IAAW,EAAsB,KAAK;AAE5C,SAAgB;EACZ,IAAM,IAAa;AACnB,IAAS,UAAU;EAEnB,IAAM,KAAQ,MAAsB;AAChC,GAAI,EAAS,YAAY,SAAM,EAAS,UAAU;GAClD,IAAM,IAAU,IAAY,EAAS,SAC/B,IAAW,KAAK,IAAI,IAAU,GAAU,EAAE,EAC1C,IAAQ,KAAa,IAAI,MAAU;AAKzC,GAFA,EAFgB,KAAc,IAAQ,KAAc,EAEjC,EAEf,IAAW,MACX,EAAO,UAAU,sBAAsB,EAAK;;AAKpD,SADA,EAAO,UAAU,sBAAsB,EAAK,QAC/B,qBAAqB,EAAO,QAAQ;IAClD,CAAC,GAAO,EAAS,CAAC;CAErB,IAAM,IAAY,EAAa,GAAS,GAAU,EAAU;AAE5D,QACI,kBAAC,QAAD;EAAM,WAAW,EAAG,YAAY,EAAU;EAAE,GAAI;YAAhD;GACK;GACA;GACA;GACE;;;AAIf,SAAS,EAAa,GAAa,GAAkB,GAA2B;CAC5E,IAAM,IAAQ,EAAI,QAAQ,EAAS;AACnC,KAAI,CAAC,EAAW,QAAO;CAEvB,IAAM,CAAC,GAAK,KAAO,EAAM,MAAM,IAAI,EAC7B,IAAU,EAAI,QAAQ,yBAAyB,EAAU;AAC/D,QAAO,MAAQ,KAAA,IAAkC,IAAtB,GAAG,EAAQ,GAAG;;;;AC/C7C,IAAM,IAAsC;CACxC,GAAG;CACH,KAAK;CACL,OAAO;CACP,SAAS;CACT,KAAK;CACL,IAAI;CACJ,YAAY;CACZ,KAAK;CACL,IAAI;CACJ,YAAY;CACZ,KAAK;CACL,MAAM;CACN,KAAK;CACL,MAAM;CACN,QAAQ;CACR,MAAM;CACN,OAAO;CACP,aAAa;CACb,KAAK;CACR,EAEK,IAAwE;CAC1E,WAAW,OAAO;CAClB,WAAW,OAAO;CAClB,kBAAkB,OAAO;CACzB,kBAAkB,OAAO;CACzB,YAAY,OAAO;CACnB,YAAY,OAAO;CACnB,SAAS,OAAO;CAChB,WAAW,OAAO;CAClB,eAAe,OAAO;CACtB,WAAW,OAAO;CACrB,EAEG,IAA8C,MAC5C,IAAuB,IACvB,IAA4B;AAElC,SAAS,EAAW,GAAuB;AACvC,QAAO,EAAM,QAAQ,MAAM,QAAQ,CAAC,QAAQ,MAAM,OAAO,CAAC,QAAQ,MAAM,OAAO;;AAGnF,SAAS,EAAgB,GAA0B;AAC/C,QAAO,EAAY,MAAa;;AAGpC,eAAe,KAAmC;AAkB9C,QAjBA,AACI,OAAsB,YAAY;EAE9B,IAAM,KADmB,MAAM,OAAO,uBAA0B,QAC5B,aAAa;AAEjD,OAAK,IAAM,CAAC,GAAU,MAAiB,OAAO,QAAQ,EAAgB,EAAE;GACpE,IAAM,IAAa,MAAM,GAAc;AACvC,KAAY,iBAAiB,GAAU,EAAW,QAAQ;;AAM9D,SAHA,EAAY,gBAAgB,CAAC,SAAS,cAAc,EAAE,EAAC,cAAc,QAAO,CAAC,EAC7E,EAAY,gBAAgB,UAAU,EAAC,cAAc,OAAM,CAAC,EAErD;KACP,EAGD;;AAIX,SAAgB,EAAW,EACvB,SACA,cAAW,OACX,UACA,gBAAa,IACb,kBAAe,IACf,oBAAiB,IACjB,eAAY,QACZ,iBAAc,UACd,cACA,aAAU,IACV,cAAW,IACX,iBAAc,IACd,cACA,GAAG,KACa;CAChB,IAAM,IAAqB,QAAc,EAAgB,EAAS,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAS,CAAC,EAC9F,CAAC,GAAe,KAAoB,QAAgB,IAAW,IAAI,EAAK,OAAQ,EAChF,IAAe,IAAW,EAAK,MAAM,GAAG,EAAc,GAAG,GACzD,CAAC,GAAiB,KAAsB,QAAe,EAAW,EAAa,CAAC,EAChF,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,IAAiB,EAAsB,KAAK,EAC5C,IAAmB,EAAsB,KAAK,EAC9C,IAAY,EAA8B,KAAK,EAC/C,IAAU,OAAO,YAAc,OAAe,OAAO,UAAU,WAAW,aAAc,YACxF,IAAY,MAAe,EAAQ,KAAU,KAAgB,IAC7D,IAAY,QAAc,KAAK,IAAI,GAAG,EAAa,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,EAAa,CAAC;AA6E7F,CA3EA,QAAgB;AAMZ,EALI,EAAiB,YAAY,SAC7B,OAAO,aAAa,EAAiB,QAAQ,EAC7C,EAAiB,UAAU,OAG/B,EAAiB,IAAW,IAAI,EAAK,OAAO;IAC7C,CAAC,GAAU,EAAK,CAAC,EAEpB,QAAgB;AACR,SAAC,KAAY,EAAK,WAAW,GAcjC,QAVI,IAAgB,EAAK,WACrB,EAAiB,UAAU,OAAO,iBACxB;AAEF,GADA,GAAkB,MAAY,KAAK,IAAI,IAAU,GAAG,EAAK,OAAO,CAAC,EACjE,EAAiB,UAAU;KAE/B,MAAkB,IAAI,IAA4B,EACrD,SAGQ;AACT,GAAI,EAAiB,YAAY,SAC7B,OAAO,aAAa,EAAiB,QAAQ,EAC7C,EAAiB,UAAU;;IAGpC;EAAC;EAAU,EAAK;EAAQ;EAAc,CAAC,EAE1C,QAAgB;EACZ,IAAI,IAAS;EAEb,eAAe,IAAgB;AAC3B,OAAI;IACA,IAAM,IAAc,MAAM,IAAgB,EAEpC,IADqB,EAAY,YAAY,EAAmB,GAEhE,EAAY,UAAU,GAAc;KAChC,UAAU;KACV,gBAAgB;KACnB,CAAC,CAAC,QACH,EAAW,EAAa;AAE9B,IAAI,KACA,EAAmB,EAAK;WAExB;AACJ,IAAI,KACA,EAAmB,EAAW,EAAa,CAAC;;;AAOxD,SAFK,GAAe,QAEP;AACT,OAAS;;IAEd,CAAC,GAAoB,EAAa,CAAC,EAEtC,cACiB;AAKT,EAJI,EAAe,YAAY,QAC3B,OAAO,aAAa,EAAe,QAAQ,EAG3C,EAAiB,YAAY,QAC7B,OAAO,aAAa,EAAiB,QAAQ;IAGtD,EAAE,CAAC,EAEN,QAAgB;AACR,GAAC,KAAY,CAAC,EAAU,YAI5B,EAAU,QAAQ,YAAY,EAAU,QAAQ;IACjD,CAAC,GAAU,EAAc,CAAC;CAE7B,eAAe,IAAa;AACnB,QAIL,KAAI;AAQA,GAPA,MAAM,UAAU,UAAU,UAAU,EAAK,EACzC,EAAU,GAAK,EAEX,EAAe,YAAY,QAC3B,OAAO,aAAa,EAAe,QAAQ,EAG/C,EAAe,UAAU,OAAO,iBAAiB;AAE7C,IADA,EAAU,GAAM,EAChB,EAAe,UAAU;MAC1B,KAAK;UACJ;AACJ,KAAU,GAAM;;;AAIxB,QACI,kBAAC,GAAD;EAAO,WAAW,EAAG,mBAAmB,EAAU;EAAE,GAAI;EAAM,QAAQ;EAAgB;YAAtF,CACK,KACG,kBAAC,GAAD;GAAa,WAAU;aACnB,kBAAC,GAAD;IACI,WAAU;IACV,OAAM;IACN,SAAQ;IACR,MAAK;IACL,IAAG;IACH,IAAG;cANP,CAQI,kBAAC,GAAD;KAAS,WAAU;KAAyB,OAAM;KAAS,MAAK;eAAhE,CACK,KACG,kBAAC,GAAD;MAAO,IAAG;MAAO,WAAU;MAAmB,MAAK;MAAK,QAAO;gBAC1D;MACG,CAAA,EAEX,KAAgB,KACb,kBAAC,GAAD;MAAQ,OAAM;MAAO,MAAK;gBACrB;MACI,CAAA,CAEP;QACT,KACG,kBAAC,GAAD;KACI,SAAQ;KACR,MAAK;KACL,OAAM;KACN,WAAW,kBAAC,GAAD;MAAW,MAAK;MAAK,eAAY;MAAS,CAAA;KACrD,SAAS;KACT,UAAU,CAAC;eAEV,IAAS,IAAc;KAClB,CAAA,CAER;;GACA,CAAA,EAGlB,kBAAC,GAAD;GAAW,WAAU;aACjB,kBAAC,OAAD;IACI,KAAK;IACL,WAAU;IACV,OAAO,IAAY;KAAC;KAAW,WAAW;KAAO,GAAG,KAAA;cAEpD,kBAAC,OAAD;KACI,WAAW,EACP,kBACA,KAAe,qBACf,YAAY,IACf;eALL,CAOK,KACG,kBAAC,QAAD;MAAM,WAAU;MAA0B,eAAY;gBACjD,MAAM,KAAK,EAAC,QAAQ,GAAU,GAAG,GAAG,MACjC,kBAAC,QAAD;OAAsB,WAAU;iBAC3B,IAAQ;OACN,EAFI,IAAQ,EAEZ,CACT;MACC,CAAA,EAEX,kBAAC,QAAD;MAAM,WAAU;gBACZ,kBAAC,QAAD;OACI,WAAW,EAAG,mBAAmB,QAAQ,YAAY,IAAqB;OAC1E,yBAAyB,EAAC,QAAQ,GAAgB;OACpD,CAAA;MACC,CAAA,CACL;;IACJ,CAAA;GACE,CAAA,CACR;;;;;ACxRhB,SAAS,EAAgB,GAAsC,GAAkB;AAC7E,SAAQ,GAAR;EACI,KAAK,OACD,QAAO;GAAC,GAAG;GAAG,GAAG,CAAC;GAAS;EAC/B,KAAK,OACD,QAAO;GAAC,GAAG;GAAU,GAAG;GAAE;EAC9B,KAAK,QACD,QAAO;GAAC,GAAG,CAAC;GAAU,GAAG;GAAE;EAC/B,KAAK,OACD,QAAO;GAAC,GAAG;GAAG,GAAG;GAAE;EAEvB,QACI,QAAO;GAAC,GAAG;GAAG,GAAG;GAAS;;;AAItC,SAAgB,EAAQ,EACpB,aACA,eAAY,MACZ,WAAQ,GACR,cAAW,KACX,cAAW,IACX,UAAO,IACP,aAAU,QACV,cACA,UACA,GAAG,KACU;CACb,IAAM,IAAY,EAAuB,KAAK;AAE9C,SAAgB;EACZ,IAAM,IAAO,EAAU;AACvB,MAAI,CAAC,EACD;EAGJ,IAAM,IAAuB,OAAO,WAAW,mCAAmC,CAAC;AAInF,MAFA,EAAK,UAAU,OAAO,WAAW,EAE7B,GAAsB;AACtB,KAAK,UAAU,IAAI,WAAW;AAC9B;;AAGJ,MAAI,MAAY,SAAS;GACrB,IAAM,IAAQ,OAAO,4BAA4B;AAC7C,MAAK,UAAU,IAAI,WAAW;KAChC;AAEF,gBAAa,OAAO,qBAAqB,EAAM;;EAGnD,IAAM,IAAW,IAAI,sBAChB,MAAY;AACT,QAAK,IAAM,KAAS,EAChB,CAAI,EAAM,kBACN,EAAK,UAAU,IAAI,WAAW,EAC1B,KACA,EAAS,YAAY,IAEjB,KACR,EAAK,UAAU,OAAO,WAAW;KAI7C,EAAC,WAAW,IAAI,CACnB;AAID,SAFA,EAAS,QAAQ,EAAK,QAET,EAAS,YAAY;IACnC;EAAC;EAAO;EAAW;EAAU;EAAU;EAAM;EAAQ,CAAC;CAEzD,IAAM,IAAS,EAAgB,GAAW,EAAS,EAC7C,IAAc;EAChB,UAAU;EACV,UAAU;EACV,kBAAkB,GAAG,EAAM;EAC3B,qBAAqB,GAAG,EAAS;EACjC,wBAAwB,GAAG,EAAO,EAAE;EACpC,wBAAwB,GAAG,EAAO,EAAE;EACpC,GAAG;EACN;AAED,QACI,kBAAC,OAAD;EAAK,KAAK;EAAW,WAAW,EAAG,UAAU,EAAU;EAAE,OAAO;EAAa,GAAI;EAC5E;EACC,CAAA;;;;AChFd,SAAS,EAAkB,GAAwB,GAA+B,GAA4B;AAK1G,QAJI,MAAW,SAAe,OAC1B,MAAW,WAAiB,KAAK,MACjC,MAAW,SAAe,OAAU,MACpC,MAAW,QAAc,OAAU,KAAK,MACrC,EAAsB,GAAO,EAAI;;AAG5C,SAAgB,EAAS,EACrB,UACA,QAAQ,GACR,gBACA,oBAAiB,QACjB,mBAAgB,IAChB,YAAS,QACT,cACA,GAAG,KACW;CACd,IAAM,IAAS,EAAkB,EAAe,EAC1C,CAAC,GAAK,KAAU,QAAe,KAAK,KAAK,CAAC,EAC1C,IAAW,QAAc,EAAkB,GAAQ,GAAO,EAAI,EAAE;EAAC;EAAK;EAAQ;EAAM,CAAC;AAE3F,SAAgB;AACZ,MAAI,CAAC,EAAU;EAEf,IAAM,IAAK,OAAO,kBAAkB,EAAO,KAAK,KAAK,CAAC,EAAE,EAAS;AACjE,eAAa,OAAO,cAAc,EAAG;IACtC,CAAC,EAAS,CAAC;CAEd,IAAM,IAAO,QAAc,EAAO,EAAM,EAAE,CAAC,EAAM,CAAC,EAC5C,IAAgB,QAAc,EAAuB,EAAY,EAAE,CAAC,EAAY,CAAC,EAEjF,IAAW,QAAc,EAAmB,GAAO,GAAQ,EAAe,EAAE;EAAC;EAAO;EAAQ;EAAe,CAAC,EAE5G,IAAU,QAAc;AAC1B,MAAI,CAAC,EAAM,QAAO,OAAO,EAAM;EAE/B,IAAM,IAAO,KAAK,IAAI,EAAK,SAAS,GAAG,EAAI;AAK3C,SAJI,KAAiB,QAAQ,IAAO,IACzB,KAAY,OAAO,EAAM,GAG7B,EAAmB,GAAM;GAAC;GAAQ;GAAI,CAAC,IAAI,KAAY,OAAO,EAAM;IAC5E;EAAC;EAAU;EAAM;EAAQ;EAAe;EAAK;EAAM,CAAC;AAEvD,QACI,kBAAC,QAAD;EACI,WAAW,EAAG,YAAY,EAAU;EACpC,UAAU,GAAM,aAAa;EAC7B,OAAO,IAAiB,KAAY,KAAA,IAAa,KAAA;EACjD,GAAI;YAEH;EACE,CAAA;;;;AC5Df,SAAS,EAAS,GAAW,GAAW,GAAmB;CACvD,IAAM,KAAK,MAAc;EACrB,IAAM,KAAK,IAAI,IAAI,MAAM;AACzB,SAAO,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;;AAKzD,QAAO,IAAI;EAHD,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI;EACtB,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI;EACtB,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI;EACZ,CAAC,KAAK,MAAM,EAAE,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG;;AAG7E,SAAS,EAAS,GAAuC;CACrD,IAAM,IAAI,EAAI,QAAQ,KAAK,GAAG,CAAC,MAAM,QAAQ;AAC7C,KAAI,CAAC,EAAG,QAAO;EAAC;EAAG;EAAG;EAAE;CACxB,IAAM,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,EAC/C,IAAM,KAAK,IAAI,GAAG,GAAG,EAAE,EAEvB,IAAI,IADE,KAAK,IAAI,GAAG,GAAG,EAAE,EAEzB,IAAI;AACR,CAAI,MAAM,MACN,AAEK,IAFD,MAAQ,MAAS,IAAI,KAAK,IAAI,KAAK,IAC9B,MAAQ,KAAQ,IAAI,KAAK,IAAI,KAC5B,IAAI,KAAK,IAAI,GACvB,KAAK;CAET,IAAM,IAAI,MAAQ,IAAI,IAAI,IAAI;AAC9B,QAAO;EAAC;EAAG;EAAG;EAAI;;AAGtB,SAAS,GAAS,GAAqB;CACnC,IAAM,IAAI,EAAI,QAAQ,KAAK,GAAG,CAAC,MAAM,QAAQ;AAC7C,KAAI,CAAC,EAAG,QAAO;CACf,IAAM,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,MAAM,SAAS,GAAG,GAAG,CAAC;AAC/C,QAAO,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;;AAGhC,SAAS,GAAS,GAAqB;CACnC,IAAM,IAAI,EAAI,QAAQ,KAAK,GAAG,CAAC,MAAM,QAAQ;AAC7C,KAAI,CAAC,EAAG,QAAO;CACf,IAAM,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,EAC/C,IAAM,KAAK,IAAI,GAAG,GAAG,EAAE,EACvB,IAAM,KAAK,IAAI,GAAG,GAAG,EAAE,EACvB,KAAK,IAAM,KAAO,GACpB,IAAI,GACJ,IAAI;AACR,KAAI,MAAQ,GAAK;EACb,IAAM,IAAI,IAAM;AAKhB,EAJA,IAAI,IAAI,KAAM,KAAK,IAAI,IAAM,KAAO,KAAK,IAAM,IAC/C,AAEK,IAFD,MAAQ,MAAS,IAAI,KAAK,IAAI,KAAK,IAC9B,MAAQ,KAAQ,IAAI,KAAK,IAAI,KAC5B,IAAI,KAAK,IAAI,GACvB,KAAK;;AAET,QAAO,OAAO,KAAK,MAAM,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC;;AAGjF,SAAS,EAAa,GAAa,GAAwB;AAGvD,QAFI,MAAW,QAAc,GAAS,EAAI,GACtC,MAAW,QAAc,GAAS,EAAI,GACnC;;AAGX,SAAS,EAAe,GAAuB;AAC3C,KAAI,CAAC,EAAO,QAAO;AACnB,KAAI,EAAM,WAAW,IAAI,CAAE,QAAO,EAAM,WAAW,IAAI,IAAQ;CAC/D,IAAM,IAAW,EAAM,MAAM,iCAAiC;AAM9D,QALI,IACO,IAAI;EAAC,EAAS;EAAI,EAAS;EAAI,EAAS;EAAG,CAC7C,KAAK,MAAM,SAAS,EAAE,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CACrD,KAAK,GAAG,KAEV;;AAGX,IAAM,KAAmB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACH;AAED,SAAgB,GAAa,EACzB,UACA,aACA,cAAW,IACX,YAAS,OACT,UAAO,MACP,UACA,cAAW,IACX,cACA,GAAG,KACe;CAClB,IAAM,IAAM,EAAe,KAAS,UAAU,EACxC,CAAC,GAAK,KAAU,QAAyC,EAAS,EAAI,CAAC,EACvE,CAAC,GAAY,KAAiB,EAAS,EAAa,GAAK,EAAO,CAAC,EACjE,IAAU,EAAuB,KAAK,EACtC,IAAS,EAAuB,KAAK,EACrC,IAAW,EAA8B,KAAK;AAEpD,SAAgB;EACZ,IAAM,IAAS,EAAe,KAAS,UAAU;AAEjD,EADA,EAAO,EAAS,EAAO,CAAC,EACxB,EAAc,EAAa,GAAQ,EAAO,CAAC;IAC5C,CAAC,GAAO,EAAO,CAAC;CAEnB,IAAM,IAAO,GACR,GAAW,GAAW,MAAc;EACjC,IAAM,IAAS,EAAS,GAAG,GAAG,EAAE;AAGhC,EAFA,EAAO;GAAC;GAAG;GAAG;GAAE,CAAC,EACjB,EAAc,EAAa,GAAQ,EAAO,CAAC,EAC3C,IAAW,EAAa,GAAQ,EAAO,CAAC;IAE5C,CAAC,GAAU,EAAO,CACrB;CAED,SAAS,EAAkB,GAAsC;EAC7D,IAAM,IAAO,EAAQ,SAAS,uBAAuB;AACrD,MAAI,CAAC,EAAM;EACX,IAAM,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,EAAE,UAAU,EAAK,QAAQ,EAAK,MAAM,CAAC,EAClE,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,EAAE,UAAU,EAAK,OAAO,EAAK,OAAO,CAAC;AAC5E,IAAK,EAAI,IAAI,GAAG,EAAE;;CAGtB,SAAS,EAAiB,GAAsC;EAC5D,IAAM,IAAO,EAAO,SAAS,uBAAuB;AAC/C,OAEL,EADU,KAAK,IAAI,GAAG,KAAK,IAAI,MAAO,EAAE,UAAU,EAAK,QAAQ,EAAK,QAAS,IAAI,CAAC,EAC1E,EAAI,IAAI,EAAI,GAAG;;AAG3B,SAAgB;EACZ,SAAS,EAAO,GAAiB;AAC7B,GAAI,EAAS,YAAY,SAAQ,EAAkB,EAAE,GAC5C,EAAS,YAAY,SAAO,EAAiB,EAAE;;EAE5D,SAAS,IAAO;AACZ,KAAS,UAAU;;AAIvB,SAFA,OAAO,iBAAiB,eAAe,EAAO,EAC9C,OAAO,iBAAiB,aAAa,EAAK,QAC7B;AAET,GADA,OAAO,oBAAoB,eAAe,EAAO,EACjD,OAAO,oBAAoB,aAAa,EAAK;;GAEnD;CAEF,SAAS,EAAkB,GAAa;AACpC,IAAc,EAAI;AAClB,MAAI;GACA,IAAM,IAAI,EAAe,EAAI;AAC7B,IAAI,MAAM,aAAa,MAAQ,aAAa,EAAI,aAAa,KAAK,oBAC9D,EAAO,EAAS,EAAE,CAAC,EACnB,IAAW,EAAa,GAAG,EAAO,CAAC;UAEnC;;CAKZ,IAAM,IAAa,EAAS,EAAI,IAAI,EAAI,IAAI,EAAI,GAAG;AAEnD,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,gBAAgB,GAAM,KAAY,YAAY,EAAU;EAAE,GAAI;YAAjF;GACK,KAAS,kBAAC,SAAD;IAAO,WAAU;cAAS;IAAc,CAAA;GAElD,kBAAC,OAAD;IACI,KAAK;IACL,WAAU;IACV,OAAO,EAAC,YAAY,OAAO,EAAI,GAAG,eAAc;IAChD,gBAAgB,MAAM;AACd,WACJ,EAAS,UAAU,QACnB,EAAkB,EAAE;;cAP5B;KAUI,kBAAC,OAAD,EAAK,WAAU,SAAU,CAAA;KACzB,kBAAC,OAAD,EAAK,WAAU,SAAU,CAAA;KACzB,kBAAC,OAAD;MACI,WAAU;MACV,OAAO;OACH,MAAM,GAAG,EAAI,KAAK,IAAI;OACtB,KAAK,IAAI,IAAI,EAAI,MAAM,IAAI;OAC3B,YAAY;OACf;MACH,CAAA;KACA;;GAEN,kBAAC,OAAD;IACI,KAAK;IACL,WAAU;IACV,gBAAgB,MAAM;AACd,WACJ,EAAS,UAAU,OACnB,EAAiB,EAAE;;cAGvB,kBAAC,OAAD;KAAK,WAAU;KAAY,OAAO,EAAC,MAAM,GAAI,EAAI,KAAK,MAAO,IAAI,IAAG;KAAI,CAAA;IACtE,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,OAAD;KAAK,WAAU;KAAU,OAAO,EAAC,YAAY,GAAW;KAAI,CAAA,EAC5D,kBAAC,SAAD;KACI,MAAK;KACL,WAAU;KACV,OAAO;KACP,WAAW,MAAM,EAAkB,EAAE,OAAO,MAAM;KACxC;KACZ,CAAA,CACA;;GAEL,EAAS,SAAS,KACf,kBAAC,OAAD;IAAK,WAAU;cACV,EAAS,KAAK,MACX,kBAAC,UAAD;KAEI,MAAK;KACL,WAAW,EAAG,UAAU,EAAW,aAAa,KAAK,EAAO,aAAa,IAAI,SAAS;KACtF,OAAO,EAAC,YAAY,GAAO;KAC3B,eAAe;AACX,UAAI,EAAU;MACd,IAAM,CAAC,GAAG,GAAG,KAAK,EAAS,EAAO;AAClC,QAAK,GAAG,GAAG,EAAE;;KAEnB,EATO,EASP,CACJ;IACA,CAAA;GAER;;;;;ACzOd,IAAM,KAAkB;CAAC,IAAI;CAAM,IAAI;CAAM,IAAI;CAAM,IAAI;CAAM,IAAI;CAAK;AAE1E,SAAgB,GAAY,EACxB,SACA,iBACA,UACA,gBACA,eACA,aACA,WAAQ,WACR,UAAO,MACP,cACA,aACA,GAAG,KACc;AACjB,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,eAAe,SAAS,KAAS,GAAM,EAAU;EAAE,GAAI;YAA1E;GACK,KACG,kBAAC,OAAD;IAAK,WAAU;cACV,EAAe,EAAa,GAAG,EAAa,GAAc,EAAC,UAAM,CAAQ,GAAG;IAC3E,CAAA;GAET,CAAC,KAAgB,KAAQ,kBAAC,OAAD;IAAK,WAAU;cAAoB;IAAW,CAAA;GACxE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,OAAD;KAAK,WAAU;eAAqB;KAAY,CAAA,EAC/C,KAAe,kBAAC,OAAD;KAAK,WAAU;eAA2B;KAAkB,CAAA,CAC1E;;GACL,KAAc,KACX,kBAAC,OAAD;IAAK,WAAU;cACX,kBAAC,GAAD;KAAS,MAAM,GAAgB;KAAO,SAAQ;KAAkB;KAAO,SAAS;eAC3E;KACK,CAAA;IACR,CAAA;GAET;GACC;;;;;AClCd,SAAgB,GAAM,EAClB,aACA,YAAS,GACT,YAAS,SACT,aACA,qBAAkB,IAClB,aACA,YAAS,IACT,cACA,UACA,YACA,cACA,GAAG,KACQ;CACX,IAAM,IAAa,MAAa,KAAA,GAC1B,CAAC,GAAU,KAAe,EAAS,EAAgB,EACnD,IAAa,IAAa,IAAW,GACrC,IAAc,MAAW,QAEzB,IAAc,GACf,MAAkB;AAIf,EAHK,KACD,EAAY,EAAK,EAErB,IAAW,EAAK;IAEpB,CAAC,GAAY,EAAS,CACzB,EAEK,KAAe,MAAuC;AAIxD,EAHI,MAAW,WACX,EAAY,CAAC,EAAW,EAE5B,IAAU,EAAM;IAGd,KAAiB,MAA0C;AAK7D,EAJI,MAAW,YAAY,EAAM,QAAQ,WAAW,EAAM,QAAQ,SAC9D,EAAM,gBAAgB,EACtB,EAAY,CAAC,EAAW,GAE5B,IAAY,EAAM;IAGhB,IAA6B;EAC/B,GAAG;EACF,yBAAoC,GAAG,EAAO;EAClD;AAED,QACI,kBAAC,QAAD;EACI,WAAW,EAAG,QAAQ,IAAS,WAAW,SAAS,UAAU,KAAU,KAAc,YAAY,EAAU;EAC3G,OAAO;EACP,UAAU,KAAe,MAAW,UAAU,IAAI,KAAA;EAClD,MAAM,MAAW,UAAU,WAAW,KAAA;EACtC,gBAAc,MAAW,UAAU,IAAa,KAAA;EAChD,SAAS;EACT,WAAW;EACX,GAAI;YAEJ,kBAAC,QAAD;GAAM,WAAW;GAAc,eAAa,CAAC;GACxC;GACE,CAAA;EACJ,CAAA;;;;AC/Df,IAAM,KAAoC;CAAC,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;CAAI,IAAI;CAAG;AAElF,SAAgB,EAAM,GAAoB;AACtC,QAAO;;AAGX,SAAgB,GAAS,EACrB,eACA,aAAU,cACV,WAAQ,WACR,UAAO,MACP,eAAY,IACZ,aACA,cACA,aACA,GAAG,KACW;CACd,IAAM,IAAQ,EAAS,QAAQ,EAAS,CAAC,QAAQ,MAAU,EAAe,EAAM,IAAK,EAAM,SAAiB,EAAM;AAElH,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,WAAW,GAAS,SAAS,KAAS,GAAM,EAAU;EAAE,MAAK;EAAO,GAAI;YACtF,EAAM,KAAK,GAAO,MAAU;AACzB,OAAI,CAAC,EAA2B,EAAM,CAAE,QAAO;GAC/C,IAAM,EAAC,OAAI,UAAO,gBAAa,SAAM,aAAU,aAAU,aAAS,EAAM,OAClE,IAAW,MAAU,GACrB,IAAc,IAAQ,GACtB,IAAc,KAAa,CAAC,GAE5B,UAAoB;AACtB,IAAI,KAAe,KACf,EAAS,EAAM;;AAIvB,UACI,kBAAC,OAAD;IAEI,WAAW,EACP,gBACA,KAAY,UACZ,KAAe,aACf,KAAY,YACZ,KAAS,SACT,KAAe,YAClB;IACD,MAAK;IACL,gBAAc,IAAW,SAAS,KAAA;cAXtC,CAaI,kBAAC,OAAD;KACI,WAAU;KACV,SAAS,IAAc,IAAc,KAAA;KACrC,MAAM,IAAc,WAAW,KAAA;KAC/B,UAAU,IAAc,IAAI,KAAA;KAC5B,WACI,KACO,MAAM;AACH,OAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SAC/B,EAAE,gBAAgB,EAClB,GAAa;SAGrB,KAAA;eAGT,IACK,MACA,IACG,KAAQ,kBAAC,GAAD,EAAY,MAAM,GAAW,IAAS,CAAA,GAC9C,KAAQ,IAAQ;KACvB,CAAA,EACN,kBAAC,OAAD;KAAK,WAAU;eAAf;MACI,kBAAC,QAAD;OAAM,WAAU;iBAAiB;OAAa,CAAA;MAC7C,KAAe,kBAAC,QAAD;OAAM,WAAU;iBAAuB;OAAmB,CAAA;MACzE,KAAY,kBAAC,QAAD;OAAM,WAAU;iBAAmB;OAAe,CAAA;MAC7D;OACJ;MAvCG,EAuCH;IAEZ;EACA,CAAA;;;;AChFd,SAAgB,EAAc,GAA4B;AACtD,QAAO;;AAGX,SAAgB,GAAU,EACtB,WAAQ,QACR,WAAQ,WACR,UAAO,MACP,cACA,aACA,GAAG,KACY;CACf,IAAM,IAAQ,EAAS,QAAQ,EAAS,CAAC,QACpC,MAAU,EAAe,EAAM,IAAK,EAAM,SAAiB,EAC/D;AAED,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,YAAY,SAAS,KAAS,SAAS,KAAS,GAAM,EAAU;EAAE,GAAI;YACpF,EAAM,KAAK,GAAO,MAAU;AACzB,OAAI,CAAC,EAAmC,EAAM,CAAE,QAAO;GACvD,IAAM,EAAC,OAAI,UAAO,gBAAa,SAAM,SAAM,OAAO,MAAa,EAAM,OAC/D,IAAO,MAAU,cAAe,IAAQ,KAAM,IAAI,SAAS,UAAW,KAAA;AAE5E,UACI,kBAAC,OAAD;IAAc,WAAW,EAAG,iBAAiB,KAAQ,QAAQ,IAAO;cAApE,CACI,kBAAC,OAAD;KAAK,WAAW,EAAG,gBAAgB,KAAa,SAAS,IAAY;eAAG;KAAW,CAAA,EACnF,kBAAC,OAAD;KAAK,WAAU;eAAf;MACI,kBAAC,QAAD;OAAM,WAAU;iBAAkB;OAAa,CAAA;MAC9C,KAAe,kBAAC,QAAD;OAAM,WAAU;iBAAwB;OAAmB,CAAA;MAC1E,KAAQ,kBAAC,QAAD;OAAM,WAAU;iBAAiB;OAAY,CAAA;MACpD;OACJ;MAPI,EAOJ;IAEZ;EACA,CAAA"}
@@ -1,3 +0,0 @@
1
- const e=require(`./icons-D3n9-919.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./relativeTime-DgYBUaVm.cjs`),r=require(`./MSurface-BjE-mL1L.cjs`),i=require(`./MText-BDI4mdw8.cjs`),a=require(`./MButton-CnAr77Za.cjs`),o=require(`./MSkeleton-DPa_G_2X.cjs`),s=require(`./MStack-nc6Y_9K3.cjs`),c=require(`./MCard-P8OoswWM.cjs`),l=require(`./locale-C08q7FjE.cjs`);require(`./core-w629c4ND.cjs`);let u=require(`react`),d=require(`react/jsx-runtime`);function f({title:n,defaultOpen:r=!1,open:i,onToggle:o,color:c=`primary`,className:l,children:f,...p}){let[m,h]=(0,u.useState)(r),g=i??m,_=()=>{let e=!g;i===void 0&&h(e),o?.(e)},v=(0,d.jsx)(`span`,{className:t.t(`chevron`,g&&`open`),"aria-hidden":`true`,children:(0,d.jsx)(e.Ki,{})});return(0,d.jsxs)(`div`,{className:t.t(`collapsible`,l),...p,children:[(0,d.jsx)(a.t,{variant:`ghost`,color:c,className:`trigger`,"aria-expanded":g,onClick:_,endIcon:v,children:n}),(0,d.jsx)(`div`,{className:t.t(`content-wrap`,g&&`open`),"aria-hidden":!g,children:(0,d.jsx)(s.t,{className:`content`,children:f})})]})}function p(e){return null}function m({multiple:e=!1,defaultOpen:n,onChange:r,bordered:i=!1,color:a,className:o,children:s,...c}){let[l,m]=(0,u.useState)(Array.isArray(n)?n:n?[n]:[]),h=(0,u.useCallback)((t,n)=>{m(i=>{let a;return a=n?e?[...i,t]:[t]:i.filter(e=>e!==t),r?.(a),a})},[e,r]),g=u.Children.toArray(s).filter(e=>(0,u.isValidElement)(e)&&e.type===p);return(0,d.jsx)(`div`,{className:t.t(`accordion`,i&&`bordered`,o),...c,children:g.map(e=>{if(!(0,u.isValidElement)(e))return null;let{id:n,title:r,children:i,disabled:o,color:s}=e.props,c=l.includes(n);return(0,d.jsx)(`div`,{className:t.t(`accordion-item`,o&&`disabled`),children:(0,d.jsx)(f,{title:r,open:c,onToggle:o?void 0:e=>h(n,e),color:s??a,children:i})},n)})})}var h=800;function g(e){return 1-(1-e)**3}function _({value:e,max:n=100,color:r=`primary`,size:i=`md`,label:a,showValue:o=!1,animated:s=!1,striped:c=!1,className:l,...f}){let p=Math.min(100,Math.max(0,e/n*100)),[m,_]=(0,u.useState)(0),[v,y]=(0,u.useState)(0),b=(0,u.useRef)(0),x=(0,u.useRef)(0),S=(0,u.useCallback)((e,t)=>{cancelAnimationFrame(x.current);let n=performance.now(),r=i=>{let a=i-n,o=Math.min(a/h,1),s=g(o);_(e+(t-e)*s),o<1&&(x.current=requestAnimationFrame(r))};y(t),x.current=requestAnimationFrame(r)},[]);return(0,u.useEffect)(()=>(S(b.current,p),b.current=p,()=>cancelAnimationFrame(x.current)),[p,S]),(0,d.jsxs)(`div`,{className:t.t(`progress-bar`,`color-${r}`,i,l),role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":n,"aria-label":a,...f,children:[(a||o)&&(0,d.jsxs)(`div`,{className:`progress-bar-header`,children:[a&&(0,d.jsx)(`span`,{className:`progress-bar-label`,children:a}),o&&(0,d.jsxs)(`span`,{className:`progress-bar-value`,children:[Math.round(m),`%`]})]}),(0,d.jsx)(`div`,{className:`progress-bar-track`,children:(0,d.jsx)(`div`,{className:t.t(`progress-bar-fill`,s&&`animated`,c&&`striped`),style:{width:`${v}%`}})})]})}function v({value:e,from:n=0,duration:r=1e3,decimals:i=0,prefix:a=``,suffix:o=``,separator:s=``,className:c,...l}){let[f,p]=(0,u.useState)(n),m=(0,u.useRef)(0),h=(0,u.useRef)(null);(0,u.useEffect)(()=>{let t=f;h.current=null;let n=i=>{h.current===null&&(h.current=i);let a=i-h.current,o=Math.min(a/r,1),s=1-(1-o)**3;p(t+(e-t)*s),o<1&&(m.current=requestAnimationFrame(n))};return m.current=requestAnimationFrame(n),()=>cancelAnimationFrame(m.current)},[e,r]);let g=y(f,i,s);return(0,d.jsxs)(`span`,{className:t.t(`count-up`,c),...l,children:[a,g,o]})}function y(e,t,n){let r=e.toFixed(t);if(!n)return r;let[i,a]=r.split(`.`),o=i.replace(/\B(?=(\d{3})+(?!\d))/g,n);return a===void 0?o:`${o}.${a}`}var b={c:`c`,cpp:`cpp`,"c++":`cpp`,arduino:`arduino`,ino:`arduino`,ts:`typescript`,typescript:`typescript`,tsx:`tsx`,js:`javascript`,javascript:`javascript`,jsx:`jsx`,json:`json`,css:`css`,html:`html`,markup:`html`,bash:`bash`,shell:`bash`,shellscript:`bash`,php:`php`},x={xml:()=>Promise.resolve().then(()=>require(`./xml-DEtyywwU.cjs`)),css:()=>Promise.resolve().then(()=>require(`./css-D6fGBtGV.cjs`)),javascript:()=>Promise.resolve().then(()=>require(`./javascript-Oy5hkezl.cjs`)),typescript:()=>Promise.resolve().then(()=>require(`./typescript-QKlfKtex.cjs`)),json:()=>Promise.resolve().then(()=>require(`./json-BP8eqPWc.cjs`)),bash:()=>Promise.resolve().then(()=>require(`./bash-wzZkpJC-.cjs`)),c:()=>Promise.resolve().then(()=>require(`./c-BSPjDa0P.cjs`)),cpp:()=>Promise.resolve().then(()=>require(`./cpp-LIcuHkFj.cjs`)),arduino:()=>Promise.resolve().then(()=>require(`./arduino-C1gw-z1N.cjs`)),php:()=>Promise.resolve().then(()=>require(`./php-Cwjc-ZYq.cjs`))},S=null,C=42,w=200;function T(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function E(e){return b[e]??e}async function D(){return S||=(async()=>{let e=(await Promise.resolve().then(()=>require(`./core-w629c4ND.cjs`))).default.newInstance();for(let[t,n]of Object.entries(x)){let r=await n();e.registerLanguage(t,r.default)}return e.registerAliases([`shell`,`shellscript`],{languageName:`bash`}),e.registerAliases(`markup`,{languageName:`xml`}),e})(),S}function O({code:n,language:s=`tsx`,title:l,showHeader:f=!0,showLanguage:p=!0,showCopyButton:m=!0,copyLabel:h=`Copy`,copiedLabel:g=`Copied`,maxHeight:_,stretch:v=!1,animated:y=!1,lineNumbers:b=!1,className:x,...S}){let O=(0,u.useMemo)(()=>E(s.trim().toLowerCase()),[s]),[k,A]=(0,u.useState)(()=>y?0:n.length),j=y?n.slice(0,k):n,[M,N]=(0,u.useState)(()=>T(j)),[P,F]=(0,u.useState)(!1),I=(0,u.useRef)(null),L=(0,u.useRef)(null),R=(0,u.useRef)(null),z=typeof navigator<`u`&&typeof navigator.clipboard?.writeText==`function`,B=f&&(!!l||p||m),V=(0,u.useMemo)(()=>Math.max(1,j.split(`
2
- `).length),[j]);(0,u.useEffect)(()=>{L.current!==null&&(window.clearTimeout(L.current),L.current=null),A(y?0:n.length)},[y,n]),(0,u.useEffect)(()=>{if(!(!y||n.length===0))return k<n.length&&(L.current=window.setTimeout(()=>{A(e=>Math.min(e+1,n.length)),L.current=null},k===0?w:C)),()=>{L.current!==null&&(window.clearTimeout(L.current),L.current=null)}},[y,n.length,k]),(0,u.useEffect)(()=>{let e=!0;async function t(){try{let t=await D(),n=t.getLanguage(O)?t.highlight(j,{language:O,ignoreIllegals:!0}).value:T(j);e&&N(n)}catch{e&&N(T(j))}}return t(),()=>{e=!1}},[O,j]),(0,u.useEffect)(()=>()=>{I.current!==null&&window.clearTimeout(I.current),L.current!==null&&window.clearTimeout(L.current)},[]),(0,u.useEffect)(()=>{!y||!R.current||(R.current.scrollTop=R.current.scrollHeight)},[y,k]);async function H(){if(z)try{await navigator.clipboard.writeText(n),F(!0),I.current!==null&&window.clearTimeout(I.current),I.current=window.setTimeout(()=>{F(!1),I.current=null},1200)}catch{F(!1)}}return(0,d.jsxs)(c.t,{className:t.t(`code-block-card`,x),...S,padded:!1,stretch:v,children:[B&&(0,d.jsx)(c.i,{className:`code-block-header`,children:(0,d.jsxs)(r.n,{className:`code-block-header-layout`,align:`center`,justify:`between`,wrap:`nowrap`,px:`lg`,py:`md`,children:[(0,d.jsxs)(r.n,{className:`code-block-header-meta`,align:`center`,wrap:`wrap`,children:[l&&(0,d.jsx)(i.t,{as:`span`,className:`code-block-title`,size:`sm`,weight:`semibold`,children:l}),p&&s&&(0,d.jsx)(o.n,{color:`info`,size:`sm`,children:s})]}),m&&(0,d.jsx)(a.t,{variant:`ghost`,size:`sm`,color:`neutral`,startIcon:(0,d.jsx)(e.Kn,{size:`sm`,"aria-hidden":`true`}),onClick:H,disabled:!z,children:P?g:h})]})}),(0,d.jsx)(c.n,{className:`code-block-body`,children:(0,d.jsx)(`div`,{ref:R,className:`code-block-scroll`,style:_?{maxHeight:_,overflowY:`auto`}:void 0,children:(0,d.jsxs)(`pre`,{className:t.t(`code-block-pre`,b&&`with-line-numbers`,`language-${O}`),children:[b&&(0,d.jsx)(`span`,{className:`code-block-line-numbers`,"aria-hidden":`true`,children:Array.from({length:V},(e,t)=>(0,d.jsx)(`span`,{className:`code-block-line-number`,children:t+1},t+1))}),(0,d.jsx)(`span`,{className:`code-block-code-shell`,children:(0,d.jsx)(`code`,{className:t.t(`code-block-code`,`hljs`,`language-${O}`),dangerouslySetInnerHTML:{__html:M}})})]})})})]})}function k(e,t){switch(e){case`down`:return{x:0,y:-t};case`left`:return{x:t,y:0};case`right`:return{x:-t,y:0};case`none`:return{x:0,y:0};default:return{x:0,y:t}}}function A({children:e,direction:n=`up`,delay:r=0,duration:i=.46,distance:a=20,once:o=!0,trigger:s=`view`,className:c,style:l,...f}){let p=(0,u.useRef)(null);(0,u.useEffect)(()=>{let e=p.current;if(!e)return;let t=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(e.classList.remove(`revealed`),t){e.classList.add(`revealed`);return}if(s===`mount`){let t=window.requestAnimationFrame(()=>{e.classList.add(`revealed`)});return()=>window.cancelAnimationFrame(t)}let n=new IntersectionObserver(t=>{for(let r of t)r.isIntersecting?(e.classList.add(`revealed`),o&&n.disconnect()):o||e.classList.remove(`revealed`)},{threshold:.2});return n.observe(e),()=>n.disconnect()},[r,n,a,i,o,s]);let m=k(n,a),h={minWidth:0,maxWidth:`100%`,"--reveal-delay":`${r}s`,"--reveal-duration":`${i}s`,"--reveal-translate-x":`${m.x}px`,"--reveal-translate-y":`${m.y}px`,...l};return(0,d.jsx)(`div`,{ref:p,className:t.t(`reveal`,c),style:h,...f,children:e})}function j(e,t,r){return e===`none`?null:e===`minute`?60*1e3:e===`hour`?3600*1e3:e===`day`?1440*60*1e3:n.r(t,r)}function M({value:e,locale:r,maxRelative:i,fallbackFormat:a=`date`,titleAbsolute:o=!0,update:s=`auto`,className:c,...f}){let p=l.t(r),[m,h]=(0,u.useState)(()=>Date.now()),g=(0,u.useMemo)(()=>j(s,e,m),[m,s,e]);(0,u.useEffect)(()=>{if(!g)return;let e=window.setInterval(()=>h(Date.now()),g);return()=>window.clearInterval(e)},[g]);let _=(0,u.useMemo)(()=>n.o(e),[e]),v=(0,u.useMemo)(()=>n.a(i),[i]),y=(0,u.useMemo)(()=>n.t(e,p,a),[e,p,a]),b=(0,u.useMemo)(()=>{if(!_)return String(e);let t=Math.abs(_.getTime()-m);return v!=null&&t>v?y??String(e):n.n(_,{locale:p,now:m})??y??String(e)},[y,_,p,v,m,e]);return(0,d.jsx)(`time`,{className:t.t(`time ago`,c),dateTime:_?.toISOString(),title:o?y??void 0:void 0,...f,children:b})}function N(e,t,n){let r=r=>{let i=(r+e/60)%6;return n-n*t*Math.max(0,Math.min(i,4-i,1))};return`#${[Math.round(r(5)*255),Math.round(r(3)*255),Math.round(r(1)*255)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}`}function P(e){let t=e.replace(`#`,``).match(/.{2}/g);if(!t)return[0,0,1];let[n,r,i]=t.map(e=>parseInt(e,16)/255),a=Math.max(n,r,i),o=a-Math.min(n,r,i),s=0;o!==0&&(s=a===n?((r-i)/o+6)%6:a===r?(i-n)/o+2:(n-r)/o+4,s*=60);let c=a===0?0:o/a;return[s,c,a]}function F(e){let t=e.replace(`#`,``).match(/.{2}/g);if(!t)return`rgb(0, 0, 0)`;let[n,r,i]=t.map(e=>parseInt(e,16));return`rgb(${n}, ${r}, ${i})`}function I(e){let t=e.replace(`#`,``).match(/.{2}/g);if(!t)return`hsl(0, 0%, 0%)`;let[n,r,i]=t.map(e=>parseInt(e,16)/255),a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2,c=0,l=0;if(a!==o){let e=a-o;l=s>.5?e/(2-a-o):e/(a+o),c=a===n?((r-i)/e+6)%6:a===r?(i-n)/e+2:(n-r)/e+4,c*=60}return`hsl(${Math.round(c)}, ${Math.round(l*100)}%, ${Math.round(s*100)}%)`}function L(e,t){return t===`rgb`?F(e):t===`hsl`?I(e):e}function R(e){if(!e)return`#000000`;if(e.startsWith(`#`))return e.length===7?e:`#000000`;let t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);return t?`#${[t[1],t[2],t[3]].map(e=>parseInt(e).toString(16).padStart(2,`0`)).join(``)}`:`#000000`}var z=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#3b82f6`,`#8b5cf6`,`#ec4899`,`#000000`,`#ffffff`];function B({value:e,onChange:n,swatches:r=z,format:i=`hex`,size:a=`md`,label:o,disabled:s=!1,className:c,...l}){let f=R(e??`#3b82f6`),[p,m]=(0,u.useState)(()=>P(f)),[h,g]=(0,u.useState)(L(f,i)),_=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(null);(0,u.useEffect)(()=>{let t=R(e??`#3b82f6`);m(P(t)),g(L(t,i))},[e,i]);let b=(0,u.useCallback)((e,t,r)=>{let a=N(e,t,r);m([e,t,r]),g(L(a,i)),n?.(L(a,i))},[n,i]);function x(e){let t=_.current?.getBoundingClientRect();if(!t)return;let n=Math.max(0,Math.min(1,(e.clientX-t.left)/t.width)),r=Math.max(0,Math.min(1,1-(e.clientY-t.top)/t.height));b(p[0],n,r)}function S(e){let t=v.current?.getBoundingClientRect();t&&b(Math.max(0,Math.min(360,(e.clientX-t.left)/t.width*360)),p[1],p[2])}(0,u.useEffect)(()=>{function e(e){y.current===`area`?x(e):y.current===`hue`&&S(e)}function t(){y.current=null}return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}});function C(e){g(e);try{let t=R(e);(t!==`#000000`||e===`#000000`||e.toLowerCase()===`rgb(0, 0, 0)`)&&(m(P(t)),n?.(L(t,i)))}catch{}}let w=N(p[0],p[1],p[2]);return(0,d.jsxs)(`div`,{className:t.t(`color-picker`,a,s&&`disabled`,c),...l,children:[o&&(0,d.jsx)(`label`,{className:`label`,children:o}),(0,d.jsxs)(`div`,{ref:_,className:`area`,style:{background:`hsl(${p[0]}, 100%, 50%)`},onPointerDown:e=>{s||(y.current=`area`,x(e))},children:[(0,d.jsx)(`div`,{className:`white`}),(0,d.jsx)(`div`,{className:`black`}),(0,d.jsx)(`div`,{className:`cursor`,style:{left:`${p[1]*100}%`,top:`${(1-p[2])*100}%`,background:w}})]}),(0,d.jsx)(`div`,{ref:v,className:`hue`,onPointerDown:e=>{s||(y.current=`hue`,S(e))},children:(0,d.jsx)(`div`,{className:`hue-thumb`,style:{left:`${p[0]/360*100}%`}})}),(0,d.jsxs)(`div`,{className:`controls`,children:[(0,d.jsx)(`div`,{className:`preview`,style:{background:w}}),(0,d.jsx)(`input`,{type:`text`,className:`input`,value:h,onChange:e=>C(e.target.value),disabled:s})]}),r.length>0&&(0,d.jsx)(`div`,{className:`swatches`,children:r.map(e=>(0,d.jsx)(`button`,{type:`button`,className:t.t(`swatch`,w.toLowerCase()===e.toLowerCase()&&`active`),style:{background:e},onClick:()=>{if(s)return;let[t,n,r]=P(e);b(t,n,r)}},e))})]})}var V={xs:`xs`,sm:`sm`,md:`sm`,lg:`md`,xl:`lg`};function H({icon:e,illustration:n,title:r,description:i,buttonText:o,onAction:s,color:c=`neutral`,size:l=`md`,className:f,children:p,...m}){return(0,d.jsxs)(`div`,{className:t.t(`empty-state`,`color-${c}`,l,f),...m,children:[n&&(0,d.jsx)(`div`,{className:`empty-state-illustration`,children:(0,u.isValidElement)(n)?(0,u.cloneElement)(n,{color:c}):n}),!n&&e&&(0,d.jsx)(`div`,{className:`empty-state-icon`,children:e}),(0,d.jsxs)(`div`,{className:`empty-state-content`,children:[(0,d.jsx)(`div`,{className:`empty-state-title`,children:r}),i&&(0,d.jsx)(`div`,{className:`empty-state-description`,children:i})]}),o&&s&&(0,d.jsx)(`div`,{className:`empty-state-action`,children:(0,d.jsx)(a.t,{size:V[l],variant:`outlined`,color:c,onClick:s,children:o})}),p]})}function U({children:e,amount:n=6,reveal:r=`hover`,revealed:i,defaultRevealed:a=!1,onToggle:o,inline:s=!0,className:c,style:l,onClick:f,onKeyDown:p,...m}){let h=i!==void 0,[g,_]=(0,u.useState)(a),v=h?i:g,y=r!==`none`,b=(0,u.useCallback)(e=>{h||_(e),o?.(e)},[h,o]),x=e=>{r===`click`&&b(!v),f?.(e)},S=e=>{r===`click`&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b(!v)),p?.(e)},C={...l,"--mineral-blur-amount":`${n}px`};return(0,d.jsx)(`span`,{className:t.t(`blur`,s?`inline`:`block`,`reveal-${r}`,v&&`revealed`,c),style:C,tabIndex:y&&r===`click`?0:void 0,role:r===`click`?`button`:void 0,"aria-pressed":r===`click`?v:void 0,onClick:x,onKeyDown:S,...m,children:(0,d.jsx)(`span`,{className:`blur-inner`,"aria-hidden":!v,children:e})})}var W={xs:10,sm:14,md:18,lg:22,xl:28};function G(e){return null}function K({activeStep:n,variant:r=`horizontal`,color:i=`primary`,size:a=`md`,clickable:o=!1,onChange:s,className:c,children:l,...f}){let p=u.Children.toArray(l).filter(e=>(0,u.isValidElement)(e)&&e.type===G);return(0,d.jsx)(`div`,{className:t.t(`stepper`,r,`color-${i}`,a,c),role:`list`,...f,children:p.map((r,i)=>{if(!(0,u.isValidElement)(r))return null;let{id:c,title:l,description:f,icon:p,disabled:m,optional:h,error:g}=r.props,_=i===n,v=i<n,y=o&&!m,b=()=>{y&&s&&s(i)};return(0,d.jsxs)(`div`,{className:t.t(`stepper-step`,_&&`active`,v&&`completed`,m&&`disabled`,g&&`error`,y&&`clickable`),role:`listitem`,"aria-current":_?`step`:void 0,children:[(0,d.jsx)(`div`,{className:`stepper-indicator`,onClick:y?b:void 0,role:y?`button`:void 0,tabIndex:y?0:void 0,onKeyDown:y?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())}:void 0,children:g?`!`:v?p??(0,d.jsx)(e.Yi,{size:W[a]}):p??i+1}),(0,d.jsxs)(`div`,{className:`stepper-content`,children:[(0,d.jsx)(`span`,{className:`stepper-title`,children:l}),f&&(0,d.jsx)(`span`,{className:`stepper-description`,children:f}),h&&(0,d.jsx)(`span`,{className:`stepper-optional`,children:`Optional`})]})]},c)})})}function q(e){return null}function J({align:e=`left`,color:n=`primary`,size:r=`md`,className:i,children:a,...o}){let s=u.Children.toArray(a).filter(e=>(0,u.isValidElement)(e)&&e.type===q);return(0,d.jsx)(`div`,{className:t.t(`timeline`,`align-${e}`,`color-${n}`,r,i),...o,children:s.map((n,r)=>{if(!(0,u.isValidElement)(n))return null;let{id:i,title:a,description:o,date:s,icon:c,color:l}=n.props,f=e===`alternate`?r%2==0?`left`:`right`:void 0;return(0,d.jsxs)(`div`,{className:t.t(`timeline-item`,f&&`side-${f}`),children:[(0,d.jsx)(`div`,{className:t.t(`timeline-dot`,l&&`color-${l}`),children:c}),(0,d.jsxs)(`div`,{className:`timeline-content`,children:[(0,d.jsx)(`span`,{className:`timeline-title`,children:a}),o&&(0,d.jsx)(`span`,{className:`timeline-description`,children:o}),s&&(0,d.jsx)(`span`,{className:`timeline-date`,children:s})]})]},i)})})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return O}});
3
- //# sourceMappingURL=display-slIo1bQI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"display-slIo1bQI.cjs","names":[],"sources":["../src/components/display/MCollapsible/MCollapsible.tsx","../src/components/display/MAccordion/MAccordion.tsx","../src/components/display/MProgressBar/MProgressBar.tsx","../src/components/display/MCountUp/MCountUp.tsx","../src/components/display/MCodeBlock/MCodeBlock.tsx","../src/components/display/MReveal/MReveal.tsx","../src/components/display/MTimeAgo/MTimeAgo.tsx","../src/components/display/MColorPicker/MColorPicker.tsx","../src/components/display/MEmptyState/MEmptyState.tsx","../src/components/display/MBlur/MBlur.tsx","../src/components/display/MStepper/MStepper.tsx","../src/components/display/MTimeline/MTimeline.tsx"],"sourcesContent":["import {useState} from 'react'\nimport {MButton} from '../../controls'\nimport {MStack} from '../../layout'\nimport {cn} from '../../../utils/cn'\nimport type {MCollapsibleProps} from './MCollapsible.types'\nimport {MChevronDownIcon} from '../../../icons'\nimport './MCollapsible.css'\n\n// MToggle a section of content with a built-in trigger and disclosure state.\nexport function MCollapsible({\n title,\n defaultOpen = false,\n open: controlledOpen,\n onToggle,\n color = 'primary',\n className,\n children,\n ...rest\n}: MCollapsibleProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen)\n const open = controlledOpen ?? internalOpen\n\n const handleToggle = () => {\n const nextOpen = !open\n\n if (controlledOpen === undefined) {\n setInternalOpen(nextOpen)\n }\n\n onToggle?.(nextOpen)\n }\n\n const chevronIcon = (\n <span className={cn('chevron', open && 'open')} aria-hidden=\"true\">\n <MChevronDownIcon />\n </span>\n )\n\n return (\n <div className={cn('collapsible', className)} {...rest}>\n <MButton\n variant=\"ghost\"\n color={color}\n className=\"trigger\"\n aria-expanded={open}\n onClick={handleToggle}\n endIcon={chevronIcon}\n >\n {title}\n </MButton>\n <div className={cn('content-wrap', open && 'open')} aria-hidden={!open}>\n <MStack className=\"content\">{children}</MStack>\n </div>\n </div>\n )\n}\n","import {useState, useCallback, Children, isValidElement} from 'react'\nimport {MCollapsible} from '../MCollapsible'\nimport {cn} from '../../../utils/cn'\nimport type {MAccordionProps, MAccordionItemProps} from './MAccordion.types'\nimport './MAccordion.css'\n\nexport function MAccordionItem(_props: MAccordionItemProps) {\n return null\n}\n\nexport function MAccordion({\n multiple = false,\n defaultOpen,\n onChange,\n bordered = false,\n color,\n className,\n children,\n ...rest\n}: MAccordionProps) {\n const initialOpen = Array.isArray(defaultOpen) ? defaultOpen : defaultOpen ? [defaultOpen] : []\n\n const [openIds, setOpenIds] = useState<string[]>(initialOpen)\n\n const handleToggle = useCallback(\n (id: string, isOpen: boolean) => {\n setOpenIds((prev) => {\n let next: string[]\n if (isOpen) {\n next = multiple ? [...prev, id] : [id]\n } else {\n next = prev.filter((v) => v !== id)\n }\n onChange?.(next)\n return next\n })\n },\n [multiple, onChange]\n )\n\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MAccordionItem\n )\n\n return (\n <div className={cn('accordion', bordered && 'bordered', className)} {...rest}>\n {items.map((child) => {\n if (!isValidElement<MAccordionItemProps>(child)) return null\n const {id, title, children: content, disabled, color: itemColor} = child.props\n const isOpen = openIds.includes(id)\n\n return (\n <div key={id} className={cn('accordion-item', disabled && 'disabled')}>\n <MCollapsible\n title={title}\n open={isOpen}\n onToggle={disabled ? undefined : (open) => handleToggle(id, open)}\n color={itemColor ?? color}\n >\n {content}\n </MCollapsible>\n </div>\n )\n })}\n </div>\n )\n}\n","import {useState, useEffect, useRef, useCallback} from 'react'\nimport type {MProgressBarProps} from './MProgressBar.types'\nimport {cn} from '../../../utils/cn'\nimport './MProgressBar.css'\n\nconst DURATION = 800\n\nfunction easeOutCubic(t: number) {\n return 1 - Math.pow(1 - t, 3)\n}\n\n// Render a horizontal bar that fills to represent progress as a percentage.\nexport function MProgressBar({\n value,\n max = 100,\n color = 'primary',\n size = 'md',\n label,\n showValue = false,\n animated = false,\n striped = false,\n className,\n ...rest\n}: MProgressBarProps) {\n const percent = Math.min(100, Math.max(0, (value / max) * 100))\n const [displayPercent, setDisplayPercent] = useState(0)\n const [barPercent, setBarPercent] = useState(0)\n const prevPercent = useRef(0)\n const rafRef = useRef(0)\n\n const animate = useCallback((from: number, to: number) => {\n cancelAnimationFrame(rafRef.current)\n const start = performance.now()\n\n const step = (now: number) => {\n const elapsed = now - start\n const progress = Math.min(elapsed / DURATION, 1)\n const eased = easeOutCubic(progress)\n const current = from + (to - from) * eased\n\n setDisplayPercent(current)\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n // Set bar width immediately for CSS transition\n setBarPercent(to)\n rafRef.current = requestAnimationFrame(step)\n }, [])\n\n useEffect(() => {\n animate(prevPercent.current, percent)\n prevPercent.current = percent\n return () => cancelAnimationFrame(rafRef.current)\n }, [percent, animate])\n\n return (\n <div\n className={cn('progress-bar', `color-${color}`, size, className)}\n role=\"progressbar\"\n aria-valuenow={value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n {...rest}\n >\n {(label || showValue) && (\n <div className=\"progress-bar-header\">\n {label && <span className=\"progress-bar-label\">{label}</span>}\n {showValue && <span className=\"progress-bar-value\">{Math.round(displayPercent)}%</span>}\n </div>\n )}\n <div className=\"progress-bar-track\">\n <div\n className={cn('progress-bar-fill', animated && 'animated', striped && 'striped')}\n style={{width: `${barPercent}%`}}\n />\n </div>\n </div>\n )\n}\n","import {useState, useEffect, useRef} from 'react'\nimport type {MCountUpProps} from './MCountUp.types'\nimport {cn} from '../../../utils/cn'\n\n// Animate a number from a start value to a target, with an easing curve.\nexport function MCountUp({\n value,\n from = 0,\n duration = 1000,\n decimals = 0,\n prefix = '',\n suffix = '',\n separator = '',\n className,\n ...rest\n}: MCountUpProps) {\n const [display, setDisplay] = useState(from)\n const rafRef = useRef<number>(0)\n const startRef = useRef<number | null>(null)\n\n useEffect(() => {\n const startValue = display\n startRef.current = null\n\n const step = (timestamp: number) => {\n if (startRef.current === null) startRef.current = timestamp\n const elapsed = timestamp - startRef.current\n const progress = Math.min(elapsed / duration, 1)\n const eased = 1 - Math.pow(1 - progress, 3)\n const current = startValue + (value - startValue) * eased\n\n setDisplay(current)\n\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(step)\n }\n }\n\n rafRef.current = requestAnimationFrame(step)\n return () => cancelAnimationFrame(rafRef.current)\n }, [value, duration])\n\n const formatted = formatNumber(display, decimals, separator)\n\n return (\n <span className={cn('count-up', className)} {...rest}>\n {prefix}\n {formatted}\n {suffix}\n </span>\n )\n}\n\nfunction formatNumber(num: number, decimals: number, separator: string): string {\n const fixed = num.toFixed(decimals)\n if (!separator) return fixed\n\n const [int, dec] = fixed.split('.')\n const withSep = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator)\n return dec !== undefined ? `${withSep}.${dec}` : withSep\n}\n","import {useEffect, useMemo, useRef, useState} from 'react'\nimport type {MCodeBlockProps} from './MCodeBlock.types'\nimport {MCard, MCardBody, MCardHeader} from '../../cards'\nimport {MButton} from '../../controls'\nimport {MBadge} from '../../feedback'\nimport {MInline} from '../../layout'\nimport {MText} from '../../typography'\nimport {MCopyIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MCodeBlock.css'\nimport type {HLJSApi, LanguageFn} from 'highlight.js'\n\nconst languageMap: Record<string, string> = {\n c: 'c',\n cpp: 'cpp',\n 'c++': 'cpp',\n arduino: 'arduino',\n ino: 'arduino',\n ts: 'typescript',\n typescript: 'typescript',\n tsx: 'tsx',\n js: 'javascript',\n javascript: 'javascript',\n jsx: 'jsx',\n json: 'json',\n css: 'css',\n html: 'html',\n markup: 'html',\n bash: 'bash',\n shell: 'bash',\n shellscript: 'bash',\n php: 'php',\n}\n\nconst languageLoaders: Record<string, () => Promise<{default: LanguageFn}>> = {\n xml: () => import('highlight.js/lib/languages/xml'),\n css: () => import('highlight.js/lib/languages/css'),\n javascript: () => import('highlight.js/lib/languages/javascript'),\n typescript: () => import('highlight.js/lib/languages/typescript'),\n json: () => import('highlight.js/lib/languages/json'),\n bash: () => import('highlight.js/lib/languages/bash'),\n c: () => import('highlight.js/lib/languages/c'),\n cpp: () => import('highlight.js/lib/languages/cpp'),\n arduino: () => import('highlight.js/lib/languages/arduino'),\n php: () => import('highlight.js/lib/languages/php'),\n}\n\nlet highlightJsPromise: Promise<HLJSApi> | null = null\nconst codeBlockTypingSpeed = 42\nconst codeBlockTypingStartDelay = 200\n\nfunction escapeHtml(value: string): string {\n return value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')\n}\n\nfunction resolveLanguage(language: string): string {\n return languageMap[language] ?? language\n}\n\nasync function getHighlightJs(): Promise<HLJSApi> {\n if (!highlightJsPromise) {\n highlightJsPromise = (async () => {\n const highlightJsCore = (await import('highlight.js/lib/core')).default\n const highlightJs = highlightJsCore.newInstance()\n\n for (const [language, loadLanguage] of Object.entries(languageLoaders)) {\n const definition = await loadLanguage()\n highlightJs.registerLanguage(language, definition.default)\n }\n\n highlightJs.registerAliases(['shell', 'shellscript'], {languageName: 'bash'})\n highlightJs.registerAliases('markup', {languageName: 'xml'})\n\n return highlightJs\n })()\n }\n\n return highlightJsPromise\n}\n\n// Render a syntax-highlighted code block with optional card header and copy action.\nexport function MCodeBlock({\n code,\n language = 'tsx',\n title,\n showHeader = true,\n showLanguage = true,\n showCopyButton = true,\n copyLabel = 'Copy',\n copiedLabel = 'Copied',\n maxHeight,\n stretch = false,\n animated = false,\n lineNumbers = false,\n className,\n ...rest\n}: MCodeBlockProps) {\n const normalizedLanguage = useMemo(() => resolveLanguage(language.trim().toLowerCase()), [language])\n const [visibleLength, setVisibleLength] = useState(() => (animated ? 0 : code.length))\n const renderedCode = animated ? code.slice(0, visibleLength) : code\n const [highlightedCode, setHighlightedCode] = useState(() => escapeHtml(renderedCode))\n const [copied, setCopied] = useState(false)\n const copyTimeoutRef = useRef<number | null>(null)\n const typingTimeoutRef = useRef<number | null>(null)\n const scrollRef = useRef<HTMLDivElement | null>(null)\n const canCopy = typeof navigator !== 'undefined' && typeof navigator.clipboard?.writeText === 'function'\n const hasHeader = showHeader && (Boolean(title) || showLanguage || showCopyButton)\n const lineCount = useMemo(() => Math.max(1, renderedCode.split('\\n').length), [renderedCode])\n\n useEffect(() => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n\n setVisibleLength(animated ? 0 : code.length)\n }, [animated, code])\n\n useEffect(() => {\n if (!animated || code.length === 0) {\n return\n }\n\n if (visibleLength < code.length) {\n typingTimeoutRef.current = window.setTimeout(\n () => {\n setVisibleLength((current) => Math.min(current + 1, code.length))\n typingTimeoutRef.current = null\n },\n visibleLength === 0 ? codeBlockTypingStartDelay : codeBlockTypingSpeed\n )\n }\n\n return () => {\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n typingTimeoutRef.current = null\n }\n }\n }, [animated, code.length, visibleLength])\n\n useEffect(() => {\n let active = true\n\n async function highlightCode() {\n try {\n const highlightJs = await getHighlightJs()\n const languageDefinition = highlightJs.getLanguage(normalizedLanguage)\n const html = languageDefinition\n ? highlightJs.highlight(renderedCode, {\n language: normalizedLanguage,\n ignoreIllegals: true,\n }).value\n : escapeHtml(renderedCode)\n\n if (active) {\n setHighlightedCode(html)\n }\n } catch {\n if (active) {\n setHighlightedCode(escapeHtml(renderedCode))\n }\n }\n }\n\n void highlightCode()\n\n return () => {\n active = false\n }\n }, [normalizedLanguage, renderedCode])\n\n useEffect(() => {\n return () => {\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n if (typingTimeoutRef.current !== null) {\n window.clearTimeout(typingTimeoutRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n if (!animated || !scrollRef.current) {\n return\n }\n\n scrollRef.current.scrollTop = scrollRef.current.scrollHeight\n }, [animated, visibleLength])\n\n async function handleCopy() {\n if (!canCopy) {\n return\n }\n\n try {\n await navigator.clipboard.writeText(code)\n setCopied(true)\n\n if (copyTimeoutRef.current !== null) {\n window.clearTimeout(copyTimeoutRef.current)\n }\n\n copyTimeoutRef.current = window.setTimeout(() => {\n setCopied(false)\n copyTimeoutRef.current = null\n }, 1200)\n } catch {\n setCopied(false)\n }\n }\n\n return (\n <MCard className={cn('code-block-card', className)} {...rest} padded={false} stretch={stretch}>\n {hasHeader && (\n <MCardHeader className=\"code-block-header\">\n <MInline\n className=\"code-block-header-layout\"\n align=\"center\"\n justify=\"between\"\n wrap=\"nowrap\"\n px=\"lg\"\n py=\"md\"\n >\n <MInline className=\"code-block-header-meta\" align=\"center\" wrap=\"wrap\">\n {title && (\n <MText as=\"span\" className=\"code-block-title\" size=\"sm\" weight=\"semibold\">\n {title}\n </MText>\n )}\n {showLanguage && language && (\n <MBadge color=\"info\" size=\"sm\">\n {language}\n </MBadge>\n )}\n </MInline>\n {showCopyButton && (\n <MButton\n variant=\"ghost\"\n size=\"sm\"\n color=\"neutral\"\n startIcon={<MCopyIcon size=\"sm\" aria-hidden=\"true\" />}\n onClick={handleCopy}\n disabled={!canCopy}\n >\n {copied ? copiedLabel : copyLabel}\n </MButton>\n )}\n </MInline>\n </MCardHeader>\n )}\n\n <MCardBody className=\"code-block-body\">\n <div\n ref={scrollRef}\n className=\"code-block-scroll\"\n style={maxHeight ? {maxHeight, overflowY: 'auto'} : undefined}\n >\n <pre\n className={cn(\n 'code-block-pre',\n lineNumbers && 'with-line-numbers',\n `language-${normalizedLanguage}`\n )}\n >\n {lineNumbers && (\n <span className=\"code-block-line-numbers\" aria-hidden=\"true\">\n {Array.from({length: lineCount}, (_, index) => (\n <span key={index + 1} className=\"code-block-line-number\">\n {index + 1}\n </span>\n ))}\n </span>\n )}\n <span className=\"code-block-code-shell\">\n <code\n className={cn('code-block-code', 'hljs', `language-${normalizedLanguage}`)}\n dangerouslySetInnerHTML={{__html: highlightedCode}}\n />\n </span>\n </pre>\n </div>\n </MCardBody>\n </MCard>\n )\n}\n","import {useEffect, useRef} from 'react'\nimport type {CSSProperties} from 'react'\nimport type {MRevealProps} from './MReveal.types'\nimport {cn} from '../../../utils/cn'\n\nfunction getRevealOffset(direction: MRevealProps['direction'], distance: number) {\n switch (direction) {\n case 'down':\n return {x: 0, y: -distance}\n case 'left':\n return {x: distance, y: 0}\n case 'right':\n return {x: -distance, y: 0}\n case 'none':\n return {x: 0, y: 0}\n case 'up':\n default:\n return {x: 0, y: distance}\n }\n}\n\nexport function MReveal({\n children,\n direction = 'up',\n delay = 0,\n duration = 0.46,\n distance = 20,\n once = true,\n trigger = 'view',\n className,\n style,\n ...rest\n}: MRevealProps) {\n const revealRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const node = revealRef.current\n if (!node) {\n return\n }\n\n const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches\n\n node.classList.remove('revealed')\n\n if (prefersReducedMotion) {\n node.classList.add('revealed')\n return\n }\n\n if (trigger === 'mount') {\n const frame = window.requestAnimationFrame(() => {\n node.classList.add('revealed')\n })\n\n return () => window.cancelAnimationFrame(frame)\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n node.classList.add('revealed')\n if (once) {\n observer.disconnect()\n }\n } else if (!once) {\n node.classList.remove('revealed')\n }\n }\n },\n {threshold: 0.2}\n )\n\n observer.observe(node)\n\n return () => observer.disconnect()\n }, [delay, direction, distance, duration, once, trigger])\n\n const offset = getRevealOffset(direction, distance)\n const revealStyle = {\n minWidth: 0,\n maxWidth: '100%',\n '--reveal-delay': `${delay}s`,\n '--reveal-duration': `${duration}s`,\n '--reveal-translate-x': `${offset.x}px`,\n '--reveal-translate-y': `${offset.y}px`,\n ...style,\n } as CSSProperties\n\n return (\n <div ref={revealRef} className={cn('reveal', className)} style={revealStyle} {...rest}>\n {children}\n </div>\n )\n}\n","import {useEffect, useMemo, useState} from 'react'\nimport type {MTimeAgoProps, MTimeAgoUpdate} from './MTimeAgo.types'\nimport {cn} from '../../../utils/cn'\nimport {useDocumentLocale} from '../../../utils/locale'\nimport {\n formatAbsoluteTime,\n formatRelativeTime,\n getAutoUpdateInterval,\n parseRelativeThreshold,\n toDate,\n} from '../../../utils/relativeTime'\nimport './MTimeAgo.css'\n\nfunction getUpdateInterval(update: MTimeAgoUpdate, value: Date | string | number, now: number): number | null {\n if (update === 'none') return null\n if (update === 'minute') return 60 * 1000\n if (update === 'hour') return 60 * 60 * 1000\n if (update === 'day') return 24 * 60 * 60 * 1000\n return getAutoUpdateInterval(value, now)\n}\n\nexport function MTimeAgo({\n value,\n locale: localeOverride,\n maxRelative,\n fallbackFormat = 'date',\n titleAbsolute = true,\n update = 'auto',\n className,\n ...rest\n}: MTimeAgoProps) {\n const locale = useDocumentLocale(localeOverride)\n const [now, setNow] = useState(() => Date.now())\n const interval = useMemo(() => getUpdateInterval(update, value, now), [now, update, value])\n\n useEffect(() => {\n if (!interval) return\n\n const id = window.setInterval(() => setNow(Date.now()), interval)\n return () => window.clearInterval(id)\n }, [interval])\n\n const date = useMemo(() => toDate(value), [value])\n const maxRelativeMs = useMemo(() => parseRelativeThreshold(maxRelative), [maxRelative])\n\n const absolute = useMemo(() => formatAbsoluteTime(value, locale, fallbackFormat), [value, locale, fallbackFormat])\n\n const content = useMemo(() => {\n if (!date) return String(value)\n\n const diff = Math.abs(date.getTime() - now)\n if (maxRelativeMs != null && diff > maxRelativeMs) {\n return absolute ?? String(value)\n }\n\n return formatRelativeTime(date, {locale, now}) ?? absolute ?? String(value)\n }, [absolute, date, locale, maxRelativeMs, now, value])\n\n return (\n <time\n className={cn('time ago', className)}\n dateTime={date?.toISOString()}\n title={titleAbsolute ? (absolute ?? undefined) : undefined}\n {...rest}\n >\n {content}\n </time>\n )\n}\n","import {useCallback, useEffect, useRef, useState} from 'react'\nimport type * as React from 'react'\nimport type {MColorPickerProps} from './MColorPicker.types'\nimport {cn} from '../../../utils/cn'\nimport './MColorPicker.css'\n\nfunction hsvToHex(h: number, s: number, v: number): string {\n const f = (n: number) => {\n const k = (n + h / 60) % 6\n return v - v * s * Math.max(0, Math.min(k, 4 - k, 1))\n }\n const r = Math.round(f(5) * 255)\n const g = Math.round(f(3) * 255)\n const b = Math.round(f(1) * 255)\n return `#${[r, g, b].map((c) => c.toString(16).padStart(2, '0')).join('')}`\n}\n\nfunction hexToHsv(hex: string): [number, number, number] {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return [0, 0, 1]\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const d = max - min\n let h = 0\n if (d !== 0) {\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n const s = max === 0 ? 0 : d / max\n return [h, s, max]\n}\n\nfunction hexToRgb(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'rgb(0, 0, 0)'\n const [r, g, b] = m.map((c) => parseInt(c, 16))\n return `rgb(${r}, ${g}, ${b})`\n}\n\nfunction hexToHsl(hex: string): string {\n const m = hex.replace('#', '').match(/.{2}/g)\n if (!m) return 'hsl(0, 0%, 0%)'\n const [r, g, b] = m.map((c) => parseInt(c, 16) / 255)\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n const l = (max + min) / 2\n let h = 0\n let s = 0\n if (max !== min) {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n if (max === r) h = ((g - b) / d + 6) % 6\n else if (max === g) h = (b - r) / d + 2\n else h = (r - g) / d + 4\n h *= 60\n }\n return `hsl(${Math.round(h)}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`\n}\n\nfunction formatOutput(hex: string, format: string): string {\n if (format === 'rgb') return hexToRgb(hex)\n if (format === 'hsl') return hexToHsl(hex)\n return hex\n}\n\nfunction normalizeToHex(value: string): string {\n if (!value) return '#000000'\n if (value.startsWith('#')) return value.length === 7 ? value : '#000000'\n const rgbMatch = value.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/)\n if (rgbMatch) {\n return `#${[rgbMatch[1], rgbMatch[2], rgbMatch[3]]\n .map((c) => parseInt(c).toString(16).padStart(2, '0'))\n .join('')}`\n }\n return '#000000'\n}\n\nconst DEFAULT_SWATCHES = [\n '#ef4444',\n '#f97316',\n '#eab308',\n '#22c55e',\n '#06b6d4',\n '#3b82f6',\n '#8b5cf6',\n '#ec4899',\n '#000000',\n '#ffffff',\n]\n\nexport function MColorPicker({\n value,\n onChange,\n swatches = DEFAULT_SWATCHES,\n format = 'hex',\n size = 'md',\n label,\n disabled = false,\n className,\n ...rest\n}: MColorPickerProps) {\n const hex = normalizeToHex(value ?? '#3b82f6')\n const [hsv, setHsv] = useState<[number, number, number]>(() => hexToHsv(hex))\n const [inputValue, setInputValue] = useState(formatOutput(hex, format))\n const areaRef = useRef<HTMLDivElement>(null)\n const hueRef = useRef<HTMLDivElement>(null)\n const dragging = useRef<'area' | 'hue' | null>(null)\n\n useEffect(() => {\n const newHex = normalizeToHex(value ?? '#3b82f6')\n setHsv(hexToHsv(newHex))\n setInputValue(formatOutput(newHex, format))\n }, [value, format])\n\n const emit = useCallback(\n (h: number, s: number, v: number) => {\n const newHex = hsvToHex(h, s, v)\n setHsv([h, s, v])\n setInputValue(formatOutput(newHex, format))\n onChange?.(formatOutput(newHex, format))\n },\n [onChange, format]\n )\n\n function handleAreaPointer(e: React.PointerEvent | PointerEvent) {\n const rect = areaRef.current?.getBoundingClientRect()\n if (!rect) return\n const s = Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width))\n const v = Math.max(0, Math.min(1, 1 - (e.clientY - rect.top) / rect.height))\n emit(hsv[0], s, v)\n }\n\n function handleHuePointer(e: React.PointerEvent | PointerEvent) {\n const rect = hueRef.current?.getBoundingClientRect()\n if (!rect) return\n const h = Math.max(0, Math.min(360, ((e.clientX - rect.left) / rect.width) * 360))\n emit(h, hsv[1], hsv[2])\n }\n\n useEffect(() => {\n function onMove(e: PointerEvent) {\n if (dragging.current === 'area') handleAreaPointer(e)\n else if (dragging.current === 'hue') handleHuePointer(e)\n }\n function onUp() {\n dragging.current = null\n }\n window.addEventListener('pointermove', onMove)\n window.addEventListener('pointerup', onUp)\n return () => {\n window.removeEventListener('pointermove', onMove)\n window.removeEventListener('pointerup', onUp)\n }\n })\n\n function handleInputChange(val: string) {\n setInputValue(val)\n try {\n const h = normalizeToHex(val)\n if (h !== '#000000' || val === '#000000' || val.toLowerCase() === 'rgb(0, 0, 0)') {\n setHsv(hexToHsv(h))\n onChange?.(formatOutput(h, format))\n }\n } catch {\n // ignore invalid input while typing\n }\n }\n\n const currentHex = hsvToHex(hsv[0], hsv[1], hsv[2])\n\n return (\n <div className={cn('color-picker', size, disabled && 'disabled', className)} {...rest}>\n {label && <label className=\"label\">{label}</label>}\n\n <div\n ref={areaRef}\n className=\"area\"\n style={{background: `hsl(${hsv[0]}, 100%, 50%)`}}\n onPointerDown={(e) => {\n if (disabled) return\n dragging.current = 'area'\n handleAreaPointer(e)\n }}\n >\n <div className=\"white\" />\n <div className=\"black\" />\n <div\n className=\"cursor\"\n style={{\n left: `${hsv[1] * 100}%`,\n top: `${(1 - hsv[2]) * 100}%`,\n background: currentHex,\n }}\n />\n </div>\n\n <div\n ref={hueRef}\n className=\"hue\"\n onPointerDown={(e) => {\n if (disabled) return\n dragging.current = 'hue'\n handleHuePointer(e)\n }}\n >\n <div className=\"hue-thumb\" style={{left: `${(hsv[0] / 360) * 100}%`}} />\n </div>\n\n <div className=\"controls\">\n <div className=\"preview\" style={{background: currentHex}} />\n <input\n type=\"text\"\n className=\"input\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.target.value)}\n disabled={disabled}\n />\n </div>\n\n {swatches.length > 0 && (\n <div className=\"swatches\">\n {swatches.map((swatch) => (\n <button\n key={swatch}\n type=\"button\"\n className={cn('swatch', currentHex.toLowerCase() === swatch.toLowerCase() && 'active')}\n style={{background: swatch}}\n onClick={() => {\n if (disabled) return\n const [h, s, v] = hexToHsv(swatch)\n emit(h, s, v)\n }}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n","import {isValidElement, cloneElement} from 'react'\nimport type {MEmptyStateProps} from './MEmptyState.types'\nimport {MButton} from '../../controls/MButton'\nimport {cn} from '../../../utils/cn'\nimport './MEmptyState.css'\n\nconst BUTTON_SIZE_MAP = {xs: 'xs', sm: 'sm', md: 'sm', lg: 'md', xl: 'lg'} as const\n\nexport function MEmptyState({\n icon,\n illustration,\n title,\n description,\n buttonText,\n onAction,\n color = 'neutral',\n size = 'md',\n className,\n children,\n ...rest\n}: MEmptyStateProps) {\n return (\n <div className={cn('empty-state', `color-${color}`, size, className)} {...rest}>\n {illustration && (\n <div className=\"empty-state-illustration\">\n {isValidElement(illustration) ? cloneElement(illustration, {color} as any) : illustration}\n </div>\n )}\n {!illustration && icon && <div className=\"empty-state-icon\">{icon}</div>}\n <div className=\"empty-state-content\">\n <div className=\"empty-state-title\">{title}</div>\n {description && <div className=\"empty-state-description\">{description}</div>}\n </div>\n {buttonText && onAction && (\n <div className=\"empty-state-action\">\n <MButton size={BUTTON_SIZE_MAP[size]} variant=\"outlined\" color={color} onClick={onAction}>\n {buttonText}\n </MButton>\n </div>\n )}\n {children}\n </div>\n )\n}\n","import {useCallback, useState} from 'react'\nimport type {CSSProperties, KeyboardEvent, MouseEvent} from 'react'\nimport type {MBlurProps} from './MBlur.types'\nimport {cn} from '../../../utils/cn'\nimport './MBlur.css'\n\n// Obscure inline content with a CSS blur filter until the viewer opts in to reveal it.\nexport function MBlur({\n children,\n amount = 6,\n reveal = 'hover',\n revealed,\n defaultRevealed = false,\n onToggle,\n inline = true,\n className,\n style,\n onClick,\n onKeyDown,\n ...rest\n}: MBlurProps) {\n const controlled = revealed !== undefined\n const [internal, setInternal] = useState(defaultRevealed)\n const isRevealed = controlled ? revealed : internal\n const interactive = reveal !== 'none'\n\n const setRevealed = useCallback(\n (next: boolean) => {\n if (!controlled) {\n setInternal(next)\n }\n onToggle?.(next)\n },\n [controlled, onToggle]\n )\n\n const handleClick = (event: MouseEvent<HTMLSpanElement>) => {\n if (reveal === 'click') {\n setRevealed(!isRevealed)\n }\n onClick?.(event)\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (reveal === 'click' && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n setRevealed(!isRevealed)\n }\n onKeyDown?.(event)\n }\n\n const mergedStyle: CSSProperties = {\n ...style,\n ['--mineral-blur-amount' as string]: `${amount}px`,\n }\n\n return (\n <span\n className={cn('blur', inline ? 'inline' : 'block', `reveal-${reveal}`, isRevealed && 'revealed', className)}\n style={mergedStyle}\n tabIndex={interactive && reveal === 'click' ? 0 : undefined}\n role={reveal === 'click' ? 'button' : undefined}\n aria-pressed={reveal === 'click' ? isRevealed : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <span className={'blur-inner'} aria-hidden={!isRevealed}>\n {children}\n </span>\n </span>\n )\n}\n","import {Children, isValidElement} from 'react'\nimport type {MStepperProps, MStepProps} from './MStepper.types'\nimport type {MSize} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MCheckIcon} from '../../../icons'\nimport './MStepper.css'\n\nconst CHECK_SIZE: Record<MSize, number> = {xs: 10, sm: 14, md: 18, lg: 22, xl: 28}\n\nexport function MStep(_props: MStepProps) {\n return null\n}\n\nexport function MStepper({\n activeStep,\n variant = 'horizontal',\n color = 'primary',\n size = 'md',\n clickable = false,\n onChange,\n className,\n children,\n ...rest\n}: MStepperProps) {\n const steps = Children.toArray(children).filter((child) => isValidElement(child) && (child.type as any) === MStep)\n\n return (\n <div className={cn('stepper', variant, `color-${color}`, size, className)} role=\"list\" {...rest}>\n {steps.map((child, index) => {\n if (!isValidElement<MStepProps>(child)) return null\n const {id, title, description, icon, disabled, optional, error} = child.props\n const isActive = index === activeStep\n const isCompleted = index < activeStep\n const isClickable = clickable && !disabled\n\n const handleClick = () => {\n if (isClickable && onChange) {\n onChange(index)\n }\n }\n\n return (\n <div\n key={id}\n className={cn(\n 'stepper-step',\n isActive && 'active',\n isCompleted && 'completed',\n disabled && 'disabled',\n error && 'error',\n isClickable && 'clickable'\n )}\n role=\"listitem\"\n aria-current={isActive ? 'step' : undefined}\n >\n <div\n className=\"stepper-indicator\"\n onClick={isClickable ? handleClick : undefined}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={\n isClickable\n ? (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleClick()\n }\n }\n : undefined\n }\n >\n {error\n ? '!'\n : isCompleted\n ? (icon ?? <MCheckIcon size={CHECK_SIZE[size]} />)\n : (icon ?? index + 1)}\n </div>\n <div className=\"stepper-content\">\n <span className=\"stepper-title\">{title}</span>\n {description && <span className=\"stepper-description\">{description}</span>}\n {optional && <span className=\"stepper-optional\">Optional</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n","import {Children, isValidElement} from 'react'\nimport type {MTimelineProps, MTimelineItemProps} from './MTimeline.types'\nimport {cn} from '../../../utils/cn'\nimport './MTimeline.css'\n\nexport function MTimelineItem(_props: MTimelineItemProps) {\n return null\n}\n\nexport function MTimeline({\n align = 'left',\n color = 'primary',\n size = 'md',\n className,\n children,\n ...rest\n}: MTimelineProps) {\n const items = Children.toArray(children).filter(\n (child) => isValidElement(child) && (child.type as any) === MTimelineItem\n )\n\n return (\n <div className={cn('timeline', `align-${align}`, `color-${color}`, size, className)} {...rest}>\n {items.map((child, index) => {\n if (!isValidElement<MTimelineItemProps>(child)) return null\n const {id, title, description, date, icon, color: itemColor} = child.props\n const side = align === 'alternate' ? (index % 2 === 0 ? 'left' : 'right') : undefined\n\n return (\n <div key={id} className={cn('timeline-item', side && `side-${side}`)}>\n <div className={cn('timeline-dot', itemColor && `color-${itemColor}`)}>{icon}</div>\n <div className=\"timeline-content\">\n <span className=\"timeline-title\">{title}</span>\n {description && <span className=\"timeline-description\">{description}</span>}\n {date && <span className=\"timeline-date\">{date}</span>}\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const e=require(`./icons-D3n9-919.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./validators-B6yWdsu2.cjs`),r=require(`./formatters-CNjg_h7-.cjs`),i=require(`./dateUtils-Dq1vaA-D.cjs`),a=require(`./useGhostText-mibV4s1-.cjs`),o=require(`./useKeyboardNav-CCUoRMgm.cjs`),s=require(`./MPopover-B3npyAkL.cjs`),c=require(`./MButton-CnAr77Za.cjs`),l=require(`./MCheckbox-DozwF2ai.cjs`),u=require(`./frameworkTexts-BSXUtXOp.cjs`),ee=require(`./MTag-BgOxiahL.cjs`),d=require(`./MInput-BYj2BdUe.cjs`),f=require(`./locale-C08q7FjE.cjs`),p=require(`./calendarDates-qm047RW2.cjs`);require(`./core-w629c4ND.cjs`);let m=require(`react`),h=require(`react/jsx-runtime`);function g({options:n,value:r,defaultValue:i,onChange:a,multiple:d=!1,searchable:f=!1,placeholder:p=`Select...`,disabled:g=!1,name:_,id:te,variant:ne=`outlined`,size:v=`md`,color:y,fullWidth:re=!1,label:b,helperText:ie,errorText:x,error:ae=!1,required:oe=!1,loading:se=!1,clearable:S=!1,maxHeight:C=300,noOptionsText:w=`No options`,renderOption:T,searchPlaceholder:ce=`Search...`,renderValue:E,className:le,style:D}){let ue=u.n(),[O,k]=(0,m.useState)(!1),[de,fe]=(0,m.useState)(i??(d?[]:``)),[A,j]=(0,m.useState)(``),M=(0,m.useRef)(null),N=r===void 0?de:r,P=ae||!!x,F=(0,m.useMemo)(()=>Array.isArray(N)?N:N?[N]:[],[N]),I=(0,m.useMemo)(()=>n.filter(e=>F.includes(e.value)),[n,F]),L=(0,m.useMemo)(()=>{if(!f||!A)return n;let e=A.toLowerCase();return n.filter(t=>t.label.toLowerCase().includes(e))},[n,f,A]),pe=(0,m.useMemo)(()=>{let e=new Map;for(let t of L){let n=t.group??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return e},[L]),R=L,z=(0,m.useCallback)(e=>{let t=R[e];if(!(!t||t.disabled))if(d){let e=Array.isArray(N)?N:[],n=e.includes(t.value)?e.filter(e=>e!==t.value):[...e,t.value];r===void 0&&fe(n),a?.(n)}else r===void 0&&fe(t.value),a?.(t.value),k(!1),j(``)},[R,d,N,r,a]),{activeIndex:B,setActiveIndex:V,resetIndex:H,onKeyDown:me}=o.t({itemCount:R.length,onSelect:z,onClose:()=>{k(!1),j(``)},isOpen:O}),U=(0,m.useId)(),he=`${U}-label`,W=`${U}-listbox`,G=e=>`${U}-option-${e}`,K=O&&B>=0&&B<R.length?G(B):void 0,ge=(0,m.useCallback)(()=>{g||(k(e=>!e),H())},[g,H]),_e=(0,m.useCallback)(e=>{e.stopPropagation();let t=d?[]:``;r===void 0&&fe(t),a?.(t)},[d,r,a]),ve=(0,m.useMemo)(()=>E&&I.length>0?E(d?I:I[0]):d&&I.length>0?(0,h.jsx)(`span`,{className:`tags`,children:I.map(e=>(0,h.jsx)(ee.t,{label:e.label,color:y,size:v,variant:`solid`},e.value))}):!d&&I.length>0?I[0].label:(0,h.jsx)(`span`,{className:`placeholder`,children:p}),[I,d,E,p,y,v]);return(0,h.jsxs)(`div`,{className:t.t(`select`,y&&`color-${y}`,re&&`full-width`,le),style:D,children:[b&&(0,h.jsx)(`label`,{id:he,htmlFor:te,className:t.t(`field-label`,O&&`focused`,P&&`error`,oe&&`required`),children:b}),(0,h.jsxs)(`div`,{ref:M,className:t.t(`trigger`,`field-${ne}`,`field-${v}`,O&&`focused`,P&&`error`,g&&`disabled`),onClick:ge,onKeyDown:me,tabIndex:g?-1:0,role:`combobox`,"aria-expanded":O,"aria-haspopup":`listbox`,"aria-controls":O?W:void 0,"aria-activedescendant":K,"aria-labelledby":b?he:void 0,"aria-invalid":P||void 0,id:te,children:[(0,h.jsx)(`span`,{className:`value`,children:ve}),se&&(0,h.jsx)(c.r,{size:`sm`,color:y}),S&&F.length>0&&!se&&!g&&(0,h.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onClick:_e,tabIndex:-1,"aria-label":ue.clearSelection,children:(0,h.jsx)(e.Xi,{})}),(0,h.jsx)(`span`,{className:t.t(`arrow`,O&&`open`),"aria-hidden":`true`,children:(0,h.jsx)(e.Ki,{})})]}),_&&(0,h.jsx)(`input`,{type:`hidden`,name:_,value:Array.isArray(N)?N.join(`,`):N}),(0,h.jsx)(s.t,{className:`select-popover`,open:O,anchorRef:M,onClose:()=>{k(!1),j(``)},matchWidth:!0,placement:`bottom-start`,children:(0,h.jsxs)(`div`,{style:{maxHeight:C},className:`dropdown`,children:[f&&(0,h.jsx)(`div`,{className:`search-box`,children:(0,h.jsx)(`input`,{type:`text`,className:`search-input`,placeholder:ce,value:A,onChange:e=>{j(e.target.value),V(0)},onKeyDown:me,"aria-controls":W,"aria-activedescendant":K,"aria-autocomplete":`list`,autoFocus:!0})}),R.length===0?(0,h.jsx)(`div`,{className:`no-options`,children:w}):(0,h.jsx)(`div`,{id:W,className:`options-list`,role:`listbox`,"aria-multiselectable":d||void 0,children:[...pe.entries()].map(([e,n])=>(0,h.jsxs)(`div`,{children:[e&&(0,h.jsx)(`div`,{className:`group-header`,children:e}),n.map(e=>{let n=R.indexOf(e),r=n===B,i=F.includes(e.value);return(0,h.jsxs)(`div`,{id:G(n),className:t.t(`option`,r&&`active`,i&&`selected`,e.disabled&&`disabled`),onClick:()=>!e.disabled&&z(n),onMouseEnter:()=>V(n),role:`option`,"aria-selected":i,"aria-disabled":e.disabled,children:[d&&(0,h.jsx)(l.t,{checked:i,size:`sm`,color:y,clickEffect:`none`,className:`select-check`}),T?T(e,r,i):e.label]},e.value)})]},e))})]})}),(x||ie)&&(0,h.jsx)(`div`,{className:`bottom-row`,children:x?(0,h.jsx)(`span`,{className:`field-error`,role:`alert`,children:x}):(0,h.jsx)(`span`,{className:`helper-text`,children:ie})})]})}function _(e){return typeof e==`string`?e:String(e)}function te(e){return typeof e==`string`?e:String(e)}function ne(e,t,n){if(!t)return e;let r=t.toLowerCase();return e.filter(e=>n(e).toLowerCase().includes(r))}function v({options:n,value:r,onChange:i,getOptionLabel:l=_,getOptionValue:d=te,filterOptions:f,multiple:p=!1,debounceMs:g=0,onInputChange:v,loading:y=!1,loadingText:re=`Loading...`,noOptionsText:b=`No options`,placeholder:ie=`Type to search...`,disabled:x=!1,name:ae,id:oe,variant:se=`outlined`,size:S=`md`,color:C,fullWidth:w=!1,label:T,helperText:ce,errorText:E,error:le=!1,required:D=!1,clearable:ue=!1,maxHeight:O=300,renderOption:k,renderTags:de,className:fe,style:A}){let j=(0,m.useId)(),M=u.n(),[N,P]=(0,m.useState)(!1),[F,I]=(0,m.useState)(``),L=(0,m.useRef)(null),pe=(0,m.useRef)(null),R=le||!!E,z=(0,m.useMemo)(()=>r==null?[]:Array.isArray(r)?r.filter(e=>e!=null):[r],[r]),B=(0,m.useMemo)(()=>f?f(n,F):ne(n,F,l),[n,F,f,l]),V=a.r(e=>v?.(e),g),H=(0,m.useCallback)(e=>{I(e.target.value),V(e.target.value),N||P(!0)},[N,V]),me=(0,m.useCallback)(e=>{let t=B[e];if(t)if(p){let e=[...z],n=d(t),r=e.findIndex(e=>d(e)===n);r>=0?e.splice(r,1):e.push(t),i?.(e),I(``),pe.current?.focus()}else i?.(t),I(l(t)),P(!1)},[B,p,z,d,l,i]),U=(0,m.useCallback)(e=>{let t=[...z];t.splice(e,1),i?.(p?t:t[0]??``)},[z,i,p]),{activeIndex:he,setActiveIndex:W,resetIndex:G,onKeyDown:K}=o.t({itemCount:B.length,onSelect:me,onClose:()=>P(!1),isOpen:N}),ge=(0,m.useCallback)(e=>{if(e.key===`Backspace`&&p&&!F&&z.length>0){U(z.length-1);return}K(e)},[F,p,z,K,U]),_e=(0,m.useCallback)(e=>{e.stopPropagation(),I(``),i?.(p?[]:``),pe.current?.focus()},[p,i]),ve=`${j}-listbox`,ye=e=>`${j}-option-${e}`,be=N&&!y&&he>=0&&he<B.length?ye(he):void 0;return(0,h.jsxs)(`div`,{className:t.t(`autocomplete`,C&&`color-${C}`,w&&`full-width`,fe),style:A,children:[T&&(0,h.jsx)(`label`,{htmlFor:oe,className:t.t(`field-label`,N&&`focused`,R&&`error`,D&&`required`),children:T}),(0,h.jsxs)(`div`,{ref:L,className:t.t(`input-wrapper`,`field-${se}`,`field-${S}`,N&&`focused`,R&&`error`,x&&`disabled`),onClick:()=>pe.current?.focus(),children:[p&&z.length>0&&(de?de(z,U):(0,h.jsx)(`span`,{className:`tags`,children:z.map((e,t)=>(0,h.jsx)(ee.t,{label:l(e),color:C,size:S,variant:`solid`,closable:!0,onClose:()=>U(t)},d(e)))})),(0,h.jsx)(`input`,{ref:pe,type:`text`,className:`input`,value:F,onChange:H,onFocus:()=>{P(!0),G()},onKeyDown:ge,placeholder:z.length>0?``:ie,disabled:x,id:oe,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":N,"aria-haspopup":`listbox`,"aria-controls":N?ve:void 0,"aria-activedescendant":be,"aria-invalid":R||void 0,autoComplete:`off`}),y&&(0,h.jsx)(c.r,{size:`sm`,color:C}),ue&&(z.length>0||F)&&!y&&!x&&(0,h.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onClick:_e,tabIndex:-1,"aria-label":M.clearInput,children:(0,h.jsx)(e.Xi,{})})]}),ae&&(0,h.jsx)(`input`,{type:`hidden`,name:ae,value:z.map(d).join(`,`)}),(0,h.jsx)(s.t,{className:t.t(`autocomplete-popover`,C&&`color-${C}`),open:N&&(B.length>0||y||!!F),anchorRef:L,onClose:()=>P(!1),matchWidth:!0,placement:`bottom-start`,children:(0,h.jsx)(`div`,{style:{maxHeight:O},className:`dropdown`,children:y?(0,h.jsx)(`div`,{className:`loading-msg`,children:re}):B.length===0?(0,h.jsx)(`div`,{className:`no-options`,children:b}):(0,h.jsx)(`div`,{id:ve,className:`options-list`,role:`listbox`,children:B.map((e,n)=>{let r=n===he,i=z.some(t=>d(t)===d(e));return(0,h.jsx)(`div`,{id:ye(n),className:t.t(`option`,r&&`active`,i&&`selected`),onClick:()=>me(n),onMouseEnter:()=>W(n),role:`option`,"aria-selected":i,children:k?k(e,r):l(e)},d(e))})})})}),(E||ce)&&(0,h.jsx)(`div`,{className:`bottom-row`,children:E?(0,h.jsx)(`span`,{className:`field-error`,role:`alert`,children:E}):(0,h.jsx)(`span`,{className:`helper-text`,children:ce})})]})}var y={primary:`var(--mineral-primary-rgb)`,neutral:`var(--mineral-neutral-rgb)`,success:`var(--mineral-success-rgb)`,error:`var(--mineral-error-rgb)`,warning:`var(--mineral-warning-rgb)`,info:`var(--mineral-info-rgb)`,light:`var(--mineral-light-rgb)`,dark:`var(--mineral-dark-color-rgb)`,news:`var(--mineral-news-rgb)`};function re(e){return y[e??`primary`]??y.primary}var b=`Date is unavailable`,ie=`Invalid time`;function x(e){if(!e)return null;if(e instanceof Date)return isNaN(e.getTime())?null:new Date(e.getTime());let t=new Date(e);return isNaN(t.getTime())?null:t}function ae(e){let t=e.replace(/DD/g,`dd`).replace(/YYYY/g,`yyyy`),n=t.match(/dd|MM|yyyy/g),r=t.match(/[^dMy]/)?.[0],i=r===`/`||r===`.`||r===`-`?r:`.`;switch(n?.join(`/`)){case`MM/dd/yyyy`:return{inputFormat:`MM/DD/YYYY`,separator:i};case`yyyy/MM/dd`:return{inputFormat:`YYYY/MM/DD`,separator:i};default:return{inputFormat:`DD/MM/YYYY`,separator:i}}}function oe(e,t){return e===`12h`?t?`hh:mm:ss AM`:`hh:mm AM`:t?`HH:MM:SS`:`HH:MM`}function se(e,t,n,r,i,a){return e||(n?`${t} ${a??oe(r,i)}`:t)}function S(e,t){if(!e)return``;let n=i.o(i._(e),t.format);return t.withTime?`${n} ${i.l(e.getHours(),e.getMinutes(),e.getSeconds(),t.showSeconds,t.timeFormat)}`:n}function C(e,t){return e?e.length<=2?e:e.length<=4?`${e.slice(0,2)}:${e.slice(2)}`:t?`${e.slice(0,2)}:${e.slice(2,4)}:${e.slice(4,6)}`:`${e.slice(0,2)}:${e.slice(2,4)}`:``}function w(e){let t=e.toUpperCase().replace(/[^APM]/g,``);return t?t.startsWith(`AM`)?`AM`:t.startsWith(`PM`)?`PM`:t.startsWith(`A`)?`A`:t.startsWith(`P`)?`P`:``:``}function T(e,t){let n=e.trim();if(!n)return{datePart:``,timePart:``};if(!t)return{datePart:n,timePart:``};let r=n.indexOf(` `);return r===-1?{datePart:n,timePart:``}:{datePart:n.slice(0,r).trim(),timePart:n.slice(r+1).trim()}}function ce(e,t){let n=e.toUpperCase(),i=r.u(n),a=i.slice(0,8),o=t.withTime?i.slice(8,8+(t.showSeconds?6:4)):``,s=r.i(a,t.inputFormat,t.separator);if(!t.withTime)return{formatted:s,datePart:s,timePart:``};let c=C(o,t.showSeconds),l=t.timeFormat===`12h`?w(n):``,u=`${c}${l?`${c?` `:``}${l}`:``}`.trim();if(!s)return{formatted:u,datePart:``,timePart:u};let ee=a.length===8,d=/\s/.test(n.slice(s.length));return{formatted:u||ee&&d?`${s} ${u}`:s,datePart:s,timePart:u}}function E(e,t){return e?i.l(e.getHours(),e.getMinutes(),e.getSeconds(),t,`24h`):``}function le(e,t){let{datePart:r,timePart:a}=T(e,t.withTime);if(!r&&!a)return{status:`empty`};let o=n.a(r,{format:t.inputFormat,minDate:t.minDate??void 0,maxDate:t.maxDate??void 0});if(!o.valid)return o.error===`Incomplete date`?{status:`partial`,datePart:r,timePart:a}:{status:`invalid`,datePart:r,timePart:a,result:o};let s=n.i(r,t.inputFormat);return s?t.isDisabled(s)?{status:`invalid`,datePart:r,timePart:a,result:{valid:!1,error:b}}:t.withTime?a?i.g(a,t.timeFormat)?{status:`valid`,datePart:r,timePart:a,value:i.r(s,a,{format:t.timeFormat,showSeconds:t.showSeconds})}:{status:`invalid`,datePart:r,timePart:a,result:{valid:!1,error:ie}}:{status:`valid`,datePart:r,timePart:``,value:i.r(s,``,{format:t.timeFormat,showSeconds:t.showSeconds})}:{status:`valid`,datePart:r,timePart:``,value:i._(s)}:{status:`invalid`,datePart:r,timePart:a,result:{valid:!1,error:`Invalid date`}}}function D(e){let t=e.hours>=12?`PM`:`AM`;return{hours:e.hours%12||12,minutes:e.minutes,seconds:e.seconds,meridiem:t}}function ue(e,t){return t===`AM`?e===12?0:e:e===12?12:e+12}function O({value:n,defaultValue:a,onChange:o,format:c=`dd.MM.yyyy`,locale:l,min:ee,max:g,disabledDates:_,placeholder:te,disabled:ne=!1,readOnly:v=!1,name:y,id:b,variant:oe=`outlined`,size:C=`md`,color:w,label:T,helperText:O,errorText:de,error:fe=!1,required:A=!1,clearable:j=!1,withTime:M=!1,validateOnBlur:N=!0,validateOnChange:P=!1,onValidationChange:F,timeFormat:I=`24h`,showSeconds:L=!1,minuteStep:pe=1,timePlaceholder:R,inline:z=!1,showTodayButton:B=!0,firstDayOfWeek:V=1,fullWidth:H=!1,className:me,style:U}){let he=u.n(),W=f.t(l),G=u.r(),{inputFormat:K,separator:ge}=(0,m.useMemo)(()=>ae(c),[c]),[_e,ve]=(0,m.useState)(!1),[ye,be]=(0,m.useState)(()=>x(a)),[q,J]=(0,m.useState)({valid:!0}),[xe,Se]=(0,m.useState)(!1),Y=n===void 0?ye:x(n),[Ce,we]=(0,m.useState)(()=>S(Y,{format:c,withTime:M,timeFormat:I,showSeconds:L})),[Te,Ee]=(0,m.useState)(()=>E(Y,L)),[De,Oe]=(0,m.useState)(()=>{let e=Y?i._(Y):new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),[ke,Ae]=(0,m.useState)(`days`),je=(0,m.useRef)(null),Me=Y?.getTime()??null,Ne=x(ee),Pe=x(g),Fe=fe||xe&&!q.valid,Ie=de||(xe&&!q.valid?q.error:void 0),Le=i.u(W,V),Re=i.d(W);(0,m.useEffect)(()=>{if(we(S(Y,{format:c,withTime:M,timeFormat:I,showSeconds:L})),Ee(E(Y,L)),Y){let e=i._(Y);Oe(new Date(e.getFullYear(),e.getMonth(),1))}},[c,Me,L,I,M]);let X=(0,m.useCallback)(e=>i.f(e,Ne,Pe)?Array.isArray(_)?_.some(t=>i.p(t,e)):typeof _==`function`?_(e):!1:!0,[_,Pe,Ne]),Z=(0,m.useCallback)(e=>{J(e),F?.(e)},[F]),Q=(0,m.useCallback)(e=>{n===void 0&&be(e),o?.(e)},[o,n]),ze=(0,m.useMemo)(()=>le(Ce,{inputFormat:K,minDate:Ne,maxDate:Pe,withTime:M,timeFormat:I,showSeconds:L,isDisabled:X}),[K,Ce,X,Pe,Ne,L,I,M]),Be=(0,m.useMemo)(()=>ze.status===`valid`?i._(ze.value):Y?i._(Y):null,[ze,Y]),$=(0,m.useMemo)(()=>M?i.g(ze.status!==`empty`&&ze.timePart?ze.timePart:Te||E(Y,L),I)??{hours:0,minutes:0,seconds:0}:null,[Te,ze,Y,L,I,M]),Ve=(0,m.useCallback)(e=>{let t=ce(e.target.value,{inputFormat:K,separator:ge,withTime:M,timeFormat:I,showSeconds:L});we(t.formatted),Ee(t.timePart);let n=le(t.formatted,{inputFormat:K,minDate:Ne,maxDate:Pe,withTime:M,timeFormat:I,showSeconds:L,isDisabled:X});if(n.status===`empty`){Z({valid:!0}),Q(null);return}if(n.status===`invalid`&&P)Z(n.result);else if(n.status===`valid`){Z({valid:!0}),Oe(new Date(n.value.getFullYear(),n.value.getMonth(),1));let t=L?6:4,i=M?r.u(e.target.value).slice(8).length:0;(!M||i>=t)&&Q(n.value)}},[Q,Z,K,X,Pe,Ne,ge,L,I,P,M]),He=(0,m.useCallback)(()=>{Se(!0);let e=le(Ce,{inputFormat:K,minDate:Ne,maxDate:Pe,withTime:M,timeFormat:I,showSeconds:L,isDisabled:X});if(e.status===`empty`){Z({valid:!0});return}if(e.status===`partial`){N&&Z({valid:!1,error:`Incomplete date`});return}if(e.status===`invalid`){if(M&&e.result.error===ie&&e.datePart){let t=i.l(0,0,0,L,I),n=le(`${e.datePart} ${t}`,{inputFormat:K,minDate:Ne,maxDate:Pe,withTime:M,timeFormat:I,showSeconds:L,isDisabled:X});if(n.status===`valid`){Z({valid:!0}),we(S(n.value,{format:c,withTime:M,timeFormat:I,showSeconds:L})),Ee(E(n.value,L)),Q(n.value);return}}N&&Z(e.result);return}Z({valid:!0}),we(S(e.value,{format:c,withTime:M,timeFormat:I,showSeconds:L})),Ee(E(e.value,L)),Q(e.value)},[Q,Z,c,K,Ce,X,Pe,Ne,L,I,N,M]),Ue=(0,m.useCallback)(e=>{[`Backspace`,`Delete`,`Tab`,`ArrowLeft`,`ArrowRight`,`Home`,`End`,`Enter`].includes(e.key)||e.ctrlKey||e.metaKey||(M?/^[0-9\s:./-APMapm]$/:/^[0-9./-]$/).test(e.key)||e.preventDefault()},[M]),We=(0,m.useCallback)(()=>{we(``),Ee(``),Se(!1),Z({valid:!0}),Q(null)},[Q,Z]),Ge=(0,m.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),!(ne||v||z)&&ve(e=>!e)},[ne,z,v]),Ke=(0,m.useCallback)(e=>{if(X(e))return;let t=M?Te||i.l(0,0,0,L,I):``,n=M?i.r(e,t,{format:I,showSeconds:L}):i._(e);Se(!0),Z({valid:!0}),Ee(t),we(S(n,{format:c,withTime:M,timeFormat:I,showSeconds:L})),Oe(new Date(e.getFullYear(),e.getMonth(),1)),Q(n),!M&&!z&&ve(!1)},[Q,Te,Z,c,z,X,L,I,M]),qe=(0,m.useCallback)(()=>{let e=i._(new Date);X(e)||Ke(e)},[Ke,X]),Je=(0,m.useMemo)(()=>{if(!M)return[];let e=[],t=I===`12h`?12:23,n=+(I===`12h`);for(let r=n;r<=t;r+=1)e.push(r);return e},[I,M]),Ye=(0,m.useMemo)(()=>{if(!M)return[];let e=[];for(let t=0;t<60;t+=pe)e.push(t);return e},[pe,M]),Xe=(0,m.useMemo)(()=>{if(!M||!L)return[];let e=[];for(let t=0;t<60;t+=1)e.push(t);return e},[L,M]),Ze=(0,m.useCallback)((e,t,n=0)=>{let r=i.l(e,t,n,L,I),a=Be;if(Se(!0),Ee(r),!a){we(r);return}let o=i.r(a,r,{format:I,showSeconds:L});Z({valid:!0}),we(S(o,{format:c,withTime:M,timeFormat:I,showSeconds:L})),Q(o)},[Q,Be,Z,c,L,I,M]),Qe=(0,m.useCallback)(e=>{Ze(ue($?D($).hours:12,e),$?.minutes??0,$?.seconds??0)},[$,Ze]),$e=(0,m.useMemo)(()=>p.i(De,V).map(e=>({date:e,currentMonth:e.getMonth()===De.getMonth()})),[V,De]),et=i._(new Date),tt=Y?i._(Y):Be,nt=()=>(0,h.jsxs)(`div`,{className:`calendar`,children:[(0,h.jsxs)(`div`,{className:`calendar-header`,children:[(0,h.jsx)(`button`,{type:`button`,className:`nav-btn`,onClick:()=>Oe(i.t(De,-1)),"aria-label":G.previousMonth,children:(0,h.jsx)(e.Ji,{})}),(0,h.jsxs)(`button`,{type:`button`,className:`header-title`,onClick:()=>Ae(e=>e===`days`?`months`:`days`),children:[Re[De.getMonth()],` `,De.getFullYear()]}),(0,h.jsx)(`button`,{type:`button`,className:`nav-btn`,onClick:()=>Oe(i.t(De,1)),"aria-label":G.nextMonth,children:(0,h.jsx)(e.qi,{})})]}),ke===`days`?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`div`,{className:`day-names`,children:Le.map(e=>(0,h.jsx)(`span`,{className:`day-name`,children:e},e))}),(0,h.jsx)(`div`,{className:`day-grid`,children:$e.map(({date:e,currentMonth:n},r)=>{let a=tt?i.p(e,tt):!1,o=i.p(e,et),s=X(e);return(0,h.jsx)(`button`,{type:`button`,className:t.t(`day`,!n&&`other-month`,o&&`today`,a&&`selected`,s&&`disabled`),onClick:()=>Ke(e),disabled:s,tabIndex:-1,children:e.getDate()},`${e.toISOString()}-${r}`)})})]}):(0,h.jsx)(`div`,{className:`month-grid`,children:Re.map((e,n)=>(0,h.jsx)(`button`,{type:`button`,className:t.t(`month-cell`,De.getMonth()===n&&`selected`),onClick:()=>{Oe(new Date(De.getFullYear(),n,1)),Ae(`days`)},children:e.slice(0,3)},e))}),B&&(0,h.jsx)(`div`,{className:`footer`,children:(0,h.jsx)(`button`,{type:`button`,className:`today-btn`,onClick:qe,children:G.today})})]}),rt=()=>{if(!M)return null;let e=$?D($):null;return(0,h.jsxs)(`div`,{className:`date-picker-time-panel`,children:[(0,h.jsx)(`div`,{className:`date-picker-time-header`,children:`Time`}),(0,h.jsxs)(`div`,{className:`date-picker-time-columns`,children:[(0,h.jsx)(k,{items:Je,selected:I===`12h`?e?.hours:$?.hours,onSelect:t=>Ze(I===`12h`?ue(t,e?.meridiem??`AM`):t,$?.minutes??0,$?.seconds??0),label:`Hr`}),(0,h.jsx)(k,{items:Ye,selected:$?.minutes,onSelect:e=>Ze($?.hours??0,e,$?.seconds??0),label:`Min`}),L&&(0,h.jsx)(k,{items:Xe,selected:$?.seconds,onSelect:e=>Ze($?.hours??0,$?.minutes??0,e),label:`Sec`}),I===`12h`&&(0,h.jsx)(k,{items:[`AM`,`PM`],selected:e?.meridiem,onSelect:Qe,label:`AM/PM`})]})]})},it=()=>(0,h.jsxs)(`div`,{className:t.t(`date-picker-popover-content`,M&&`with-time`),children:[nt(),rt()]}),at=M?I===`12h`?L?22:19:L?19:16:10,ot=se(te,c,M,I,L,R);return z?(0,h.jsxs)(`div`,{className:t.t(`date-picker`,w&&`color-${w}`,H&&`full-width`,me),style:U,children:[(0,h.jsx)(d.t,{value:Ce,onChange:Ve,onBlur:He,onKeyDown:Ue,onClear:We,type:`text`,inputMode:M?`text`:`numeric`,autoComplete:`off`,maxLength:at,placeholder:ot,disabled:ne,readOnly:v,id:b,variant:oe,size:C,color:w,label:T,helperText:O,error:Fe,errorText:Ie,required:A,clearable:j,fullWidth:H}),it(),y&&Y&&(0,h.jsx)(`input`,{type:`hidden`,name:y,value:i.s(Y,M,L)})]}):(0,h.jsxs)(`div`,{className:t.t(`date-picker`,w&&`color-${w}`,H&&`full-width`,me),style:U,children:[(0,h.jsx)(`div`,{ref:je,className:`date-picker-input-anchor`,children:(0,h.jsx)(d.t,{value:Ce,onChange:Ve,onBlur:He,onKeyDown:Ue,onClear:We,type:`text`,inputMode:M?`text`:`numeric`,autoComplete:`off`,maxLength:at,placeholder:ot,disabled:ne,readOnly:v,id:b,variant:oe,size:C,color:w,label:T,helperText:O,error:Fe,errorText:Ie,required:A,clearable:j,fullWidth:H,endIcon:(0,h.jsx)(`button`,{type:`button`,className:`date-picker-toggle`,onMouseDown:e=>e.preventDefault(),onClick:Ge,"aria-label":he.openCalendar,disabled:ne||v,children:(0,h.jsx)(e.Ri,{})})})}),y&&Y&&(0,h.jsx)(`input`,{type:`hidden`,name:y,value:i.s(Y,M,L)}),(0,h.jsx)(s.t,{className:`date-picker-popover`,style:{"--color-rgb":re(w)},open:_e,anchorRef:je,onClose:()=>ve(!1),placement:`bottom-start`,children:it()})]})}function k({items:e,selected:n,onSelect:r,label:i}){let a=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(n===void 0||!a.current)return;let e=a.current.querySelector(`[data-value="${n}"]`);if(e){let t=a.current;t.scrollTop=e.offsetTop-t.clientHeight/2+e.offsetHeight/2}},[n]);let o=e=>typeof e==`number`?e.toString().padStart(2,`0`):e;return(0,h.jsxs)(`div`,{className:`date-picker-time-column`,children:[(0,h.jsx)(`div`,{className:`date-picker-time-column-label`,children:i}),(0,h.jsx)(`div`,{ref:a,className:`date-picker-time-column-list`,children:e.map(e=>(0,h.jsx)(`button`,{type:`button`,"data-value":e,className:t.t(`date-picker-time-column-item`,e===n&&`selected`),onClick:()=>r(e),children:o(e)},e))})]})}function de(e){let t=e.hours>=12?`PM`:`AM`;return{hours:e.hours%12||12,minutes:e.minutes,seconds:e.seconds,meridiem:t}}function fe(e,t){return t===`AM`?e===12?0:e:e===12?12:e+12}function A(e,t,n,r,a){if(a===`24h`)return i.c(e,t,n,r);let o=de({hours:e,minutes:t,seconds:n}),s=`${o.hours.toString().padStart(2,`0`)}:${o.minutes.toString().padStart(2,`0`)}`;return`${r?`${s}:${o.seconds.toString().padStart(2,`0`)}`:s} ${o.meridiem}`}function j(e,t){if(t===`24h`)return i.h(e);let n=e.trim().toUpperCase().match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM)$/);if(n){let e=parseInt(n[1],10),t=parseInt(n[2],10),r=n[3]?parseInt(n[3],10):0,i=n[4];return e<1||e>12||t>59||r>59?null:{hours:fe(e,i),minutes:t,seconds:r}}return i.h(e)}function M(e,t){return e.hours===t.hours?e.minutes===t.minutes?e.seconds-t.seconds:e.minutes-t.minutes:e.hours-t.hours}function N(e,t,n){return(!t||M(e,t)>=0)&&(!n||M(e,n)<=0)}function P({value:n,defaultValue:r,onChange:i,format:a=`24h`,showSeconds:o=!1,minuteStep:c=1,min:l,max:ee,placeholder:d,disabled:f=!1,readOnly:p=!1,name:g,id:_,variant:te=`outlined`,size:ne=`md`,color:v,label:y,helperText:re,errorText:b,error:ie=!1,required:x=!1,clearable:ae=!1,fullWidth:oe=!1,className:se,style:S}){let C=u.n(),[w,T]=(0,m.useState)(!1),[ce,E]=(0,m.useState)(r??``),le=(0,m.useRef)(null),D=n===void 0?ce:n,ue=ie||!!b,O=j(D,a),k=j(l??``,a),M=j(ee??``,a),P=O?de(O):null,I=O?A(O.hours,O.minutes,O.seconds,o,a):D,L=(0,m.useMemo)(()=>{let e=[],t=a===`12h`?12:23,n=+(a===`12h`);for(let r=n;r<=t;r++)e.push(r);return e},[a]),pe=(0,m.useMemo)(()=>{let e=[];for(let t=0;t<60;t+=c)e.push(t);return e},[c]),R=(0,m.useMemo)(()=>{if(!o)return[];let e=[];for(let t=0;t<60;t++)e.push(t);return e},[o]),z=(0,m.useCallback)((e,t,n=0)=>N({hours:e,minutes:t,seconds:n},k,M),[M,k]),B=(0,m.useCallback)((e,t,r=0)=>{if(!z(e,t,r))return;let s=A(e,t,r,o,a);n===void 0&&E(s),i?.(s)},[a,z,i,o,n]),V=(0,m.useCallback)(e=>{let t=e.target.value;n===void 0&&E(t)},[n]),H=(0,m.useCallback)(()=>{let e=j(D,a);if(e&&N(e,k,M)){let t=A(e.hours,e.minutes,e.seconds,o,a);n===void 0&&E(t),i?.(t)}},[D,a,M,k,i,o,n]),me=(0,m.useCallback)(e=>{let t=P?.hours??12,n=O?.minutes??0,r=O?.seconds??0;B(fe(t,e),n,r)},[P?.hours,B,O?.minutes,O?.seconds]),U=(0,m.useCallback)(e=>{e.stopPropagation(),n===void 0&&E(``),i?.(``)},[i,n]);return(0,h.jsxs)(`div`,{className:t.t(`time picker`,v&&`color-${v}`,oe&&`full-width`,se),style:S,children:[y&&(0,h.jsx)(`label`,{htmlFor:_,className:t.t(`field-label`,w&&`focused`,ue&&`error`,x&&`required`),children:y}),(0,h.jsxs)(`div`,{ref:le,className:t.t(`time trigger`,`field-${te}`,`field-${ne}`,w&&`focused`,ue&&`error`,f&&`disabled`),onClick:()=>!f&&!p&&T(!0),children:[(0,h.jsx)(`span`,{className:`time icon`,children:(0,h.jsx)(e.Li,{})}),(0,h.jsx)(`input`,{type:`text`,className:`time input`,value:I,onChange:V,onBlur:H,placeholder:d??(a===`12h`?o?`hh:mm:ss AM`:`hh:mm AM`:o?`HH:MM:SS`:`HH:MM`),disabled:f,readOnly:p,id:_,"aria-invalid":ue||void 0}),ae&&D&&!f&&(0,h.jsx)(`button`,{type:`button`,className:`time clear clear-btn-base`,onClick:U,tabIndex:-1,"aria-label":C.clearTime,children:(0,h.jsx)(e.Xi,{})})]}),g&&(0,h.jsx)(`input`,{type:`hidden`,name:g,value:I}),(0,h.jsx)(s.t,{className:`time picker popover`,open:w,anchorRef:le,onClose:()=>T(!1),placement:`bottom-start`,children:(0,h.jsxs)(`div`,{className:`time columns`,children:[(0,h.jsx)(F,{items:L,selected:a===`12h`?P?.hours:O?.hours,onSelect:e=>B(a===`12h`?fe(e,P?.meridiem??`AM`):e,O?.minutes??0,O?.seconds??0),isDisabled:e=>!z(a===`12h`?fe(e,P?.meridiem??`AM`):e,O?.minutes??0,O?.seconds??0),label:`Hr`}),(0,h.jsx)(F,{items:pe,selected:O?.minutes,onSelect:e=>B(O?.hours??0,e,O?.seconds??0),isDisabled:e=>!z(O?.hours??0,e,O?.seconds??0),label:`Min`}),o&&(0,h.jsx)(F,{items:R,selected:O?.seconds,onSelect:e=>B(O?.hours??0,O?.minutes??0,e),isDisabled:e=>!z(O?.hours??0,O?.minutes??0,e),label:`Sec`}),a===`12h`&&(0,h.jsx)(F,{items:[`AM`,`PM`],selected:P?.meridiem,onSelect:me,label:`AM/PM`})]})}),(b||re)&&(0,h.jsx)(`div`,{className:`time bottom`,children:b?(0,h.jsx)(`span`,{className:`field-error`,role:`alert`,children:b}):(0,h.jsx)(`span`,{className:`time helper`,children:re})})]})}function F({items:e,selected:n,onSelect:r,isDisabled:i,label:a}){let o=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(n===void 0||!o.current)return;let e=o.current.querySelector(`[data-value="${n}"]`);if(e){let t=o.current;t.scrollTop=e.offsetTop-t.clientHeight/2+e.offsetHeight/2}},[n]);let s=e=>typeof e==`number`?e.toString().padStart(2,`0`):e;return(0,h.jsxs)(`div`,{className:`time column`,children:[(0,h.jsx)(`div`,{className:`time column label`,children:a}),(0,h.jsx)(`div`,{ref:o,className:`time column list`,children:e.map(e=>{let a=i?.(e)??!1;return(0,h.jsx)(`button`,{type:`button`,"data-value":e,className:t.t(`time column item`,e===n&&`selected`,a&&`disabled`),onClick:()=>r(e),disabled:a,children:s(e)},e)})})]})}function I(e){if(!e)return null;if(e instanceof Date)return i._(e);let t=new Date(e);return isNaN(t.getTime())?null:i._(t)}function L(e,t){return e.getTime()<=t.getTime()?{start:e,end:t}:{start:t,end:e}}function pe(e,t,n){if(!t||!n)return!1;let r=e.getTime();return r>t.getTime()&&r<n.getTime()}function R(e,t,n){return e&&t?`${i.o(e,n)} - ${i.o(t,n)}`:e?`${i.o(e,n)} - ...`:``}function z(e){return new Date(e.getFullYear(),e.getMonth(),1)}function B(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function V(e){let t=i._(new Date);return t.setDate(t.getDate()-(e-1)),t}function H(e){let t=i._(new Date);return new Date(t.getFullYear(),t.getMonth()-e,t.getDate())}function me(e){let t=i._(new Date),n=new Date(t.getFullYear(),t.getMonth()-1,1);return[{label:e.presets.today,value:{start:t,end:t}},{label:e.presets.days2,value:{start:V(2),end:t}},{label:e.presets.days3,value:{start:V(3),end:t}},{label:e.presets.days7,value:{start:V(7),end:t}},{label:e.presets.days14,value:{start:V(14),end:t}},{label:e.presets.days31,value:{start:V(31),end:t}},{label:e.presets.thisMonth,value:{start:z(t),end:B(t)}},{label:e.presets.previousMonth,value:{start:z(n),end:B(n)}},{label:e.presets.months2,value:{start:H(2),end:t}},{label:e.presets.months3,value:{start:H(3),end:t}},{label:e.presets.months6,value:{start:H(6),end:t}},{label:e.presets.year1,value:{start:H(12),end:t}}]}function U(e,t){let n=e.getFullYear(),r=e.getMonth(),a=i.i(n,r),o=i.a(n,r);t===1&&(o=o===0?6:o-1);let s=[],c=r===0?11:r-1,l=r===0?n-1:n,u=i.i(l,c);for(let e=o-1;e>=0;--e)s.push({date:new Date(l,c,u-e),currentMonth:!1});for(let e=1;e<=a;e+=1)s.push({date:new Date(n,r,e),currentMonth:!0});let ee=42-s.length,d=r===11?0:r+1,f=r===11?n+1:n;for(let e=1;e<=ee;e+=1)s.push({date:new Date(f,d,e),currentMonth:!1});return s}function he({value:n,defaultValue:r,onChange:a,format:o=`dd.MM.yyyy`,locale:c,min:l,max:ee,disabledDates:d,placeholder:p,disabled:g=!1,readOnly:_=!1,name:te,id:ne,variant:v=`outlined`,size:y=`md`,color:b,label:ie,helperText:x,errorText:ae,error:oe=!1,required:se=!1,clearable:S=!1,inline:C=!1,showTodayButton:w=!0,presets:T=!1,presetsSidebar:ce=!1,firstDayOfWeek:E=1,fullWidth:le=!1,allowSameDay:D=!0,className:ue,style:O}){let k=f.t(c),de=n?{start:I(n.start),end:I(n.end)}:null,[fe,A]=(0,m.useState)(()=>({start:I(r?.start),end:I(r?.end)})),[j,M]=(0,m.useState)(null),[N,P]=(0,m.useState)(!1),F=(0,m.useRef)(null),z=de??fe,B=z.start,V=z.end,H=I(l),he=I(ee),W=oe||!!ae,G=u.i(),K=i.u(k,E),ge=i.d(k),_e=(0,m.useMemo)(()=>T===!0||ce&&!T?me(G):Array.isArray(T)?T:[],[T,ce,G]),[ve,ye]=(0,m.useState)(()=>{let e=B??new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),be=B?.getTime()??null;(0,m.useEffect)(()=>{if(!be)return;let e=new Date(be);ye(new Date(e.getFullYear(),e.getMonth(),1))},[be]);let q=(0,m.useCallback)(e=>i.f(e,H,he)?Array.isArray(d)?d.some(t=>i.p(t,e)):typeof d==`function`?d(e):!1:!0,[d,he,H]),J=(0,m.useCallback)(e=>{n===void 0&&A(e),a?.(e)},[a,n]),xe=(0,m.useCallback)(e=>{if(!q(e)){if(!B||B&&V){J({start:e,end:null}),M(null);return}!D&&i.p(e,B)||(J(L(B,e)),M(null),C||P(!1))}},[D,J,V,C,q,B]),Se=(0,m.useCallback)(e=>{e.stopPropagation(),J({start:null,end:null}),M(null)},[J]),Y=(0,m.useCallback)(()=>{let e=i._(new Date);q(e)||(J({start:e,end:e}),ye(new Date(e.getFullYear(),e.getMonth(),1)),M(null),C||P(!1))},[J,C,q]),Ce=(0,m.useCallback)(e=>{let t=I(e.value.start),n=I(e.value.end);if(!t||!n)return;let r=L(t,n);q(r.start)||q(r.end)||(J(r),ye(new Date(r.start.getFullYear(),r.start.getMonth(),1)),M(null),C||P(!1))},[J,C,q]),we=B&&!V?j:null,Te=ve,Ee=i.t(ve,1),De=i._(new Date),Oe=(0,m.useMemo)(()=>R(B,V,o),[V,o,B]),ke=(0,m.useMemo)(()=>[Te,Ee].map(e=>({monthDate:e,days:U(e,E)})),[E,Te,Ee]),Ae=B&&V?`${i.o(B,o)} - ${i.o(V,o)}`:B?`${i.o(B,o)} - ...`:p??G.defaultRangePlaceholder,je=ce&&_e.length>0,Me=!ce&&_e.length>0,Ne=()=>(0,h.jsx)(`div`,{className:`presets-sidebar`,children:_e.map(e=>(0,h.jsx)(`button`,{type:`button`,className:`preset-sidebar-btn`,onClick:()=>Ce(e),children:e.label},e.label))}),Pe=()=>(0,h.jsxs)(`div`,{className:`calendar-body`,children:[(0,h.jsxs)(`div`,{className:`calendar-top`,children:[(0,h.jsxs)(`div`,{className:`calendar-caption`,children:[(0,h.jsxs)(`span`,{className:`caption-title`,children:[ge[Te.getMonth()],` `,Te.getFullYear()]}),(0,h.jsx)(`span`,{className:`caption-subtitle`,children:G.rangeSubtitle})]}),(0,h.jsxs)(`div`,{className:`nav-actions`,children:[(0,h.jsx)(`button`,{type:`button`,className:`nav-btn`,onClick:()=>ye(i.t(ve,-1)),"aria-label":G.previousMonth,children:(0,h.jsx)(e.Ji,{})}),(0,h.jsx)(`button`,{type:`button`,className:`nav-btn`,onClick:()=>ye(i.t(ve,1)),"aria-label":G.nextMonth,children:(0,h.jsx)(e.qi,{})})]})]}),Me&&(0,h.jsx)(`div`,{className:`presets`,children:_e.map(e=>(0,h.jsx)(`button`,{type:`button`,className:`preset-btn`,onClick:()=>Ce(e),children:e.label},e.label))}),(0,h.jsx)(`div`,{className:`months`,children:ke.map(({monthDate:e,days:n})=>(0,h.jsxs)(`div`,{className:`month-panel`,children:[(0,h.jsxs)(`div`,{className:`month-title`,children:[ge[e.getMonth()],` `,e.getFullYear()]}),(0,h.jsx)(`div`,{className:`day-names`,children:K.map(t=>(0,h.jsx)(`span`,{className:`day-name`,children:t},`${e.toISOString()}-${t}`))}),(0,h.jsx)(`div`,{className:`day-grid`,children:n.map(({date:n,currentMonth:r},a)=>{let o=q(n),s=B?i.p(n,B):!1,c=V?i.p(n,V):!1,l=pe(n,B,V),u=!V&&B&&we?L(B,we):null,ee=u?pe(n,u.start,u.end):!1,d=u?i.p(n,u.start)||i.p(n,u.end):!1;return(0,h.jsx)(`button`,{type:`button`,className:t.t(`day`,!r&&`other-month`,i.p(n,De)&&`today`,s&&`range-start selected`,c&&`range-end selected`,l&&`in-range`,ee&&!d&&`preview-range`,o&&`disabled`),onClick:()=>xe(n),onMouseEnter:()=>B&&!V&&M(n),onFocus:()=>B&&!V&&M(n),disabled:o,tabIndex:-1,children:n.getDate()},`${e.toISOString()}-${a}`)})})]},e.toISOString()))}),(0,h.jsxs)(`div`,{className:`footer`,children:[(0,h.jsx)(`span`,{className:`summary`,children:Ae}),(0,h.jsxs)(`div`,{className:`footer-actions`,children:[S&&(B||V)&&(0,h.jsx)(`button`,{type:`button`,className:`footer-btn`,onClick:e=>{e.preventDefault(),J({start:null,end:null}),M(null)},children:G.clear}),w&&(0,h.jsx)(`button`,{type:`button`,className:`footer-btn`,onClick:Y,children:G.today})]})]})]}),Fe=()=>(0,h.jsxs)(`div`,{className:t.t(`date-range-calendar`,je&&`with-sidebar`),children:[je&&Ne(),Pe()]});return C?(0,h.jsxs)(`div`,{className:t.t(`date-range-picker`,b&&`color-${b}`,le&&`full-width`,ue),style:O,children:[ie&&(0,h.jsx)(`label`,{className:t.t(`field-label`,W&&`error`,se&&`required`),children:ie}),Fe()]}):(0,h.jsxs)(`div`,{className:t.t(`date-range-picker`,b&&`color-${b}`,le&&`full-width`,ue),style:O,children:[ie&&(0,h.jsx)(`label`,{htmlFor:ne,className:t.t(`field-label`,N&&`focused`,W&&`error`,se&&`required`),children:ie}),(0,h.jsxs)(`div`,{ref:F,className:t.t(`trigger`,`field-${v}`,`field-${y}`,N&&`focused`,W&&`error`,g&&`disabled`),onClick:()=>!g&&!_&&P(!0),children:[(0,h.jsx)(`span`,{className:`icon`,children:(0,h.jsx)(e.Ri,{})}),(0,h.jsx)(`input`,{type:`text`,className:`input`,value:Oe,placeholder:p??G.defaultRangePlaceholder,disabled:g,readOnly:!0,id:ne,"aria-invalid":W||void 0}),S&&(B||V)&&!g&&(0,h.jsx)(`button`,{type:`button`,className:`clear-btn clear-btn-base`,onClick:Se,tabIndex:-1,"aria-label":G.clear,children:(0,h.jsx)(e.Xi,{})})]}),te&&B&&V&&(0,h.jsx)(`input`,{type:`hidden`,name:te,value:`${B.toISOString().split(`T`)[0]}:${V.toISOString().split(`T`)[0]}`}),(0,h.jsx)(s.t,{className:`date-range-picker-popover`,style:{"--color-rgb":re(b)},open:N,anchorRef:F,onClose:()=>{P(!1),M(null)},placement:`bottom-start`,children:Fe()}),(ae||x)&&(0,h.jsx)(`div`,{className:`bottom-row`,children:ae?(0,h.jsx)(`span`,{className:`field-error`,role:`alert`,children:ae}):(0,h.jsx)(`span`,{className:`helper-text`,children:x})})]})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return he}});
2
- //# sourceMappingURL=dropdowns-DFbUoZ8Q.cjs.map