@banzamel/mineralui 1.8.1 → 1.9.1

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 (218) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-BcayQCnp.js → MAvatar-D_dVAPaR.js} +3 -3
  3. package/dist/{MAvatar-BcayQCnp.js.map → MAvatar-D_dVAPaR.js.map} +1 -1
  4. package/dist/{MAvatar-BgevCYi3.cjs → MAvatar-DzZPRbot.cjs} +2 -2
  5. package/dist/{MAvatar-BgevCYi3.cjs.map → MAvatar-DzZPRbot.cjs.map} +1 -1
  6. package/dist/MAvatarStack-CrhkO_SO.js +330 -0
  7. package/dist/MAvatarStack-CrhkO_SO.js.map +1 -0
  8. package/dist/MAvatarStack-DN79aJo1.cjs +2 -0
  9. package/dist/MAvatarStack-DN79aJo1.cjs.map +1 -0
  10. package/dist/{MButton-DZLLrtQb.js → MButton-C1pnL4_j.js} +2 -2
  11. package/dist/{MButton-DZLLrtQb.js.map → MButton-C1pnL4_j.js.map} +1 -1
  12. package/dist/{MButton-8UCydOik.cjs → MButton-DFRHWHzh.cjs} +2 -2
  13. package/dist/{MButton-8UCydOik.cjs.map → MButton-DFRHWHzh.cjs.map} +1 -1
  14. package/dist/{MDataTable-95_Mb6jE.cjs → MDataTable-7nJuwzJR.cjs} +2 -2
  15. package/dist/{MDataTable-95_Mb6jE.cjs.map → MDataTable-7nJuwzJR.cjs.map} +1 -1
  16. package/dist/{MDataTable-DxDS5auV.js → MDataTable-CQt_pINO.js} +4 -4
  17. package/dist/{MDataTable-DxDS5auV.js.map → MDataTable-CQt_pINO.js.map} +1 -1
  18. package/dist/{MDrawer-CXNHYwPO.js → MDrawer-B83--EVv.js} +2 -2
  19. package/dist/{MDrawer-CXNHYwPO.js.map → MDrawer-B83--EVv.js.map} +1 -1
  20. package/dist/{MDrawer-DzqtHVeA.cjs → MDrawer-D6cy9K7J.cjs} +2 -2
  21. package/dist/{MDrawer-DzqtHVeA.cjs.map → MDrawer-D6cy9K7J.cjs.map} +1 -1
  22. package/dist/MGrid-B-fP4GME.cjs +2 -0
  23. package/dist/MGrid-B-fP4GME.cjs.map +1 -0
  24. package/dist/{MGrid-DR0fHItF.js → MGrid-DVluuula.js} +56 -56
  25. package/dist/MGrid-DVluuula.js.map +1 -0
  26. package/dist/{MHeading-MPh8Qm9q.js → MHeading-B7KgSP4T.js} +3 -3
  27. package/dist/{MHeading-MPh8Qm9q.js.map → MHeading-B7KgSP4T.js.map} +1 -1
  28. package/dist/{MHeading-CKe5lcM_.cjs → MHeading-f3hwkW3r.cjs} +2 -2
  29. package/dist/{MHeading-CKe5lcM_.cjs.map → MHeading-f3hwkW3r.cjs.map} +1 -1
  30. package/dist/{MInput-D_zaoWwX.cjs → MInput-BLGduKL_.cjs} +2 -2
  31. package/dist/{MInput-D_zaoWwX.cjs.map → MInput-BLGduKL_.cjs.map} +1 -1
  32. package/dist/{MInput-7i0Dy1t4.js → MInput-IsUELgN2.js} +2 -2
  33. package/dist/{MInput-7i0Dy1t4.js.map → MInput-IsUELgN2.js.map} +1 -1
  34. package/dist/{MInputExpDate-DhO5zN7L.js → MInputExpDate-CeCmw6fj.js} +2 -2
  35. package/dist/{MInputExpDate-DhO5zN7L.js.map → MInputExpDate-CeCmw6fj.js.map} +1 -1
  36. package/dist/{MInputExpDate-DWWwjMYK.cjs → MInputExpDate-DZ8JtSjs.cjs} +2 -2
  37. package/dist/{MInputExpDate-DWWwjMYK.cjs.map → MInputExpDate-DZ8JtSjs.cjs.map} +1 -1
  38. package/dist/{MInputSearch-CmzHPnmC.js → MInputSearch-BBxUF5pw.js} +2 -2
  39. package/dist/{MInputSearch-CmzHPnmC.js.map → MInputSearch-BBxUF5pw.js.map} +1 -1
  40. package/dist/{MInputSearch-DpHSVpmL.cjs → MInputSearch-_7jfFGr1.cjs} +2 -2
  41. package/dist/{MInputSearch-DpHSVpmL.cjs.map → MInputSearch-_7jfFGr1.cjs.map} +1 -1
  42. package/dist/{MLink-rFKN1mcM.js → MLink-Bd8fLH1N.js} +2 -2
  43. package/dist/{MLink-rFKN1mcM.js.map → MLink-Bd8fLH1N.js.map} +1 -1
  44. package/dist/{MLink-B3ImjkJV.cjs → MLink-CRK8YvR4.cjs} +2 -2
  45. package/dist/{MLink-B3ImjkJV.cjs.map → MLink-CRK8YvR4.cjs.map} +1 -1
  46. package/dist/{MModal-DGmeQlWo.js → MModal-DiTjBO8B.js} +2 -2
  47. package/dist/{MModal-DGmeQlWo.js.map → MModal-DiTjBO8B.js.map} +1 -1
  48. package/dist/{MModal-CP0e31pv.cjs → MModal-eJDG6riB.cjs} +2 -2
  49. package/dist/{MModal-CP0e31pv.cjs.map → MModal-eJDG6riB.cjs.map} +1 -1
  50. package/dist/{MPagination-CS62B9kZ.cjs → MPagination-D1hYqLDb.cjs} +2 -2
  51. package/dist/{MPagination-CS62B9kZ.cjs.map → MPagination-D1hYqLDb.cjs.map} +1 -1
  52. package/dist/{MPagination-Dr110are.js → MPagination-DvToi2cs.js} +2 -2
  53. package/dist/{MPagination-Dr110are.js.map → MPagination-DvToi2cs.js.map} +1 -1
  54. package/dist/{MQrCode-B0-Np-N3.cjs → MQrCode-HO2YIC7e.cjs} +2 -2
  55. package/dist/{MQrCode-B0-Np-N3.cjs.map → MQrCode-HO2YIC7e.cjs.map} +1 -1
  56. package/dist/{MQrCode-6ANDcExA.js → MQrCode-Kb997gaE.js} +5 -5
  57. package/dist/{MQrCode-6ANDcExA.js.map → MQrCode-Kb997gaE.js.map} +1 -1
  58. package/dist/{MSkeleton-BvXgnYs_.js → MSkeleton-CVofhuDp.js} +3 -3
  59. package/dist/{MSkeleton-BvXgnYs_.js.map → MSkeleton-CVofhuDp.js.map} +1 -1
  60. package/dist/{MSkeleton-BdwhPx-k.cjs → MSkeleton-CuYA8eN3.cjs} +2 -2
  61. package/dist/{MSkeleton-BdwhPx-k.cjs.map → MSkeleton-CuYA8eN3.cjs.map} +1 -1
  62. package/dist/{MStack-DFIc3S4_.js → MStack-C4Eocfb5.js} +2 -2
  63. package/dist/{MStack-DFIc3S4_.js.map → MStack-C4Eocfb5.js.map} +1 -1
  64. package/dist/{MStack-ByFYGSsy.cjs → MStack-w8XcuIJK.cjs} +2 -2
  65. package/dist/{MStack-ByFYGSsy.cjs.map → MStack-w8XcuIJK.cjs.map} +1 -1
  66. package/dist/{MSubText-BFdfBlpS.js → MSubText-C-N15d4Z.js} +3 -3
  67. package/dist/{MSubText-BFdfBlpS.js.map → MSubText-C-N15d4Z.js.map} +1 -1
  68. package/dist/{MSubText-1ilKSz8e.cjs → MSubText-CIMKPb8o.cjs} +2 -2
  69. package/dist/{MSubText-1ilKSz8e.cjs.map → MSubText-CIMKPb8o.cjs.map} +1 -1
  70. package/dist/{MSurface-CpAuwpHv.cjs → MSurface-KvAS2hkl.cjs} +2 -2
  71. package/dist/{MSurface-CpAuwpHv.cjs.map → MSurface-KvAS2hkl.cjs.map} +1 -1
  72. package/dist/{MSurface-CmVIQC1A.js → MSurface-odrvQXkb.js} +2 -2
  73. package/dist/{MSurface-CmVIQC1A.js.map → MSurface-odrvQXkb.js.map} +1 -1
  74. package/dist/{MTag-DwQ-j1sV.cjs → MTag-DZqV4S13.cjs} +2 -2
  75. package/dist/{MTag-DwQ-j1sV.cjs.map → MTag-DZqV4S13.cjs.map} +1 -1
  76. package/dist/{MTag-C4SUJly2.js → MTag-DgB6ukFJ.js} +3 -3
  77. package/dist/{MTag-C4SUJly2.js.map → MTag-DgB6ukFJ.js.map} +1 -1
  78. package/dist/{MText-D0fI_D_Q.cjs → MText-BHbI7KJO.cjs} +2 -2
  79. package/dist/{MText-D0fI_D_Q.cjs.map → MText-BHbI7KJO.cjs.map} +1 -1
  80. package/dist/{MText-DcB1GAt-.js → MText-CL-LPcXi.js} +2 -2
  81. package/dist/{MText-DcB1GAt-.js.map → MText-CL-LPcXi.js.map} +1 -1
  82. package/dist/{cards-DLMNYdN7.js → cards-C50fpYud.js} +27 -28
  83. package/dist/cards-C50fpYud.js.map +1 -0
  84. package/dist/cards-Ci1FoV9C.cjs +2 -0
  85. package/dist/cards-Ci1FoV9C.cjs.map +1 -0
  86. package/dist/cards.cjs +1 -1
  87. package/dist/cards.js +3 -3
  88. package/dist/components/cards/MStatCard/MStatCard.d.ts +0 -1
  89. package/dist/components/cards/MStatCard/MStatCard.types.d.ts +0 -2
  90. package/dist/components/cards/MStatCard/index.d.ts +2 -2
  91. package/dist/components/cards/index.d.ts +2 -2
  92. package/dist/components/data/MTimelineCalendar/DayStrip.d.ts +11 -0
  93. package/dist/components/data/MTimelineCalendar/EventPopover.d.ts +18 -0
  94. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.d.ts +2 -0
  95. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.helpers.d.ts +55 -0
  96. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.types.d.ts +89 -0
  97. package/dist/components/data/MTimelineCalendar/index.d.ts +2 -0
  98. package/dist/components/data/index.d.ts +4 -0
  99. package/dist/components/layout/MGrid/MGrid.d.ts +1 -1
  100. package/dist/components/layout/MNavbar/MNavbar.d.ts +1 -1
  101. package/dist/components/layout/MNavbar/MNavbar.types.d.ts +19 -0
  102. package/dist/components/layout/index.d.ts +0 -4
  103. package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +1 -1
  104. package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +14 -1
  105. package/dist/components/typography/MHeading/MHeading.d.ts +1 -562
  106. package/dist/{controls-BfV0vxeJ.cjs → controls-CYQxPd4U.cjs} +2 -2
  107. package/dist/{controls-BfV0vxeJ.cjs.map → controls-CYQxPd4U.cjs.map} +1 -1
  108. package/dist/{controls-BczTk73I.js → controls-CcbEqqWo.js} +3 -3
  109. package/dist/{controls-BczTk73I.js.map → controls-CcbEqqWo.js.map} +1 -1
  110. package/dist/controls.cjs +1 -1
  111. package/dist/controls.js +2 -2
  112. package/dist/data-DtShJEic.cjs +2 -0
  113. package/dist/data-DtShJEic.cjs.map +1 -0
  114. package/dist/data-RXuvb9VI.js +3454 -0
  115. package/dist/data-RXuvb9VI.js.map +1 -0
  116. package/dist/data.cjs +1 -1
  117. package/dist/data.js +3 -3
  118. package/dist/{display-Cw3-bTsm.cjs → display-96-TEGmZ.cjs} +2 -2
  119. package/dist/{display-Cw3-bTsm.cjs.map → display-96-TEGmZ.cjs.map} +1 -1
  120. package/dist/{display-DyC7084n.js → display-C7YRf4Ze.js} +5 -5
  121. package/dist/{display-DyC7084n.js.map → display-C7YRf4Ze.js.map} +1 -1
  122. package/dist/display.cjs +1 -1
  123. package/dist/display.js +2 -2
  124. package/dist/{dropdowns-6eO0b6eI.cjs → dropdowns-Ce3Pb2JM.cjs} +2 -2
  125. package/dist/{dropdowns-6eO0b6eI.cjs.map → dropdowns-Ce3Pb2JM.cjs.map} +1 -1
  126. package/dist/{dropdowns-zXgrjNXZ.js → dropdowns-DfXhVlWQ.js} +4 -4
  127. package/dist/{dropdowns-zXgrjNXZ.js.map → dropdowns-DfXhVlWQ.js.map} +1 -1
  128. package/dist/dropdowns.cjs +1 -1
  129. package/dist/dropdowns.js +1 -1
  130. package/dist/{feedback-DfBjzJAw.js → feedback-DGT28-Zx.js} +11 -11
  131. package/dist/{feedback-DfBjzJAw.js.map → feedback-DGT28-Zx.js.map} +1 -1
  132. package/dist/{feedback-BvRmoSzV.cjs → feedback-Dr7G3K_R.cjs} +2 -2
  133. package/dist/{feedback-BvRmoSzV.cjs.map → feedback-Dr7G3K_R.cjs.map} +1 -1
  134. package/dist/feedback.cjs +1 -1
  135. package/dist/feedback.js +4 -4
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.cjs.map +1 -1
  138. package/dist/index.d.ts +2 -4
  139. package/dist/index.js +52 -52
  140. package/dist/index.js.map +1 -1
  141. package/dist/{inputs-C1I1SLZ8.cjs → inputs-BJMmyEdL.cjs} +2 -2
  142. package/dist/{inputs-C1I1SLZ8.cjs.map → inputs-BJMmyEdL.cjs.map} +1 -1
  143. package/dist/{inputs-Dy1WurNK.js → inputs-CNPeF6gb.js} +3 -3
  144. package/dist/{inputs-Dy1WurNK.js.map → inputs-CNPeF6gb.js.map} +1 -1
  145. package/dist/inputs.cjs +1 -1
  146. package/dist/inputs.js +4 -4
  147. package/dist/layout-dUrQeGc2.cjs +2 -0
  148. package/dist/layout-dUrQeGc2.cjs.map +1 -0
  149. package/dist/{layout-D1-mF4xn.js → layout-tIq6BGQK.js} +240 -301
  150. package/dist/layout-tIq6BGQK.js.map +1 -0
  151. package/dist/layout.cjs +1 -1
  152. package/dist/layout.js +8 -8
  153. package/dist/licensing-9sZ43Cif.cjs +2 -0
  154. package/dist/licensing-9sZ43Cif.cjs.map +1 -0
  155. package/dist/{licensing-ZFCUU4Z8.js → licensing-Bq78CLC_.js} +5 -5
  156. package/dist/licensing-Bq78CLC_.js.map +1 -0
  157. package/dist/media-BySr5LGc.cjs +2 -0
  158. package/dist/media-BySr5LGc.cjs.map +1 -0
  159. package/dist/media-IQ4iYTs-.js +391 -0
  160. package/dist/media-IQ4iYTs-.js.map +1 -0
  161. package/dist/media.cjs +1 -1
  162. package/dist/media.js +4 -4
  163. package/dist/{overlays-B0khU6Wb.js → overlays-BabXGLEM.js} +7 -7
  164. package/dist/{overlays-B0khU6Wb.js.map → overlays-BabXGLEM.js.map} +1 -1
  165. package/dist/{overlays-VAh5PqAe.cjs → overlays-CTR3n21O.cjs} +2 -2
  166. package/dist/{overlays-VAh5PqAe.cjs.map → overlays-CTR3n21O.cjs.map} +1 -1
  167. package/dist/overlays.cjs +1 -1
  168. package/dist/overlays.js +3 -3
  169. package/dist/style-runtime.cjs +1 -1
  170. package/dist/style-runtime.js +1 -1
  171. package/dist/styles.css +1 -1
  172. package/dist/theme/MTheme.types.d.ts +5 -0
  173. package/dist/theme/responsive.d.ts +1 -10
  174. package/dist/{theme-D_f-cmSA.js → theme-DAOU1aPs.js} +4 -3
  175. package/dist/{theme-D_f-cmSA.js.map → theme-DAOU1aPs.js.map} +1 -1
  176. package/dist/{theme-BaroO-OB.cjs → theme-DsTDooyX.cjs} +2 -2
  177. package/dist/{theme-BaroO-OB.cjs.map → theme-DsTDooyX.cjs.map} +1 -1
  178. package/dist/theme.cjs +1 -1
  179. package/dist/theme.js +1 -1
  180. package/dist/{typography-CldwDFse.js → typography-CAW17MDj.js} +2 -2
  181. package/dist/{typography-CldwDFse.js.map → typography-CAW17MDj.js.map} +1 -1
  182. package/dist/{typography-D7COsP1O.cjs → typography-sbLuXqFn.cjs} +2 -2
  183. package/dist/{typography-D7COsP1O.cjs.map → typography-sbLuXqFn.cjs.map} +1 -1
  184. package/dist/typography.cjs +1 -1
  185. package/dist/typography.js +5 -5
  186. package/dist/utils/commandPaletteFromNavGroups.d.ts +74 -0
  187. package/dist/utils/licensing.d.ts +4 -4
  188. package/dist/utils.cjs +1 -1
  189. package/dist/utils.js +1 -1
  190. package/package.json +1 -1
  191. package/dist/MGrid-C4kPZDSa.cjs +0 -2
  192. package/dist/MGrid-C4kPZDSa.cjs.map +0 -1
  193. package/dist/MGrid-DR0fHItF.js.map +0 -1
  194. package/dist/MImage-BZ6SrSao.cjs +0 -2
  195. package/dist/MImage-BZ6SrSao.cjs.map +0 -1
  196. package/dist/MImage-Btx_7g2Z.js +0 -257
  197. package/dist/MImage-Btx_7g2Z.js.map +0 -1
  198. package/dist/cards-BB6SSzdR.cjs +0 -2
  199. package/dist/cards-BB6SSzdR.cjs.map +0 -1
  200. package/dist/cards-DLMNYdN7.js.map +0 -1
  201. package/dist/components/layout/MAppMenu/MAppMenu.d.ts +0 -2
  202. package/dist/components/layout/MAppMenu/MAppMenu.types.d.ts +0 -63
  203. package/dist/components/layout/MAppMenu/index.d.ts +0 -2
  204. package/dist/data-7kG1MC1Z.cjs +0 -2
  205. package/dist/data-7kG1MC1Z.cjs.map +0 -1
  206. package/dist/data-z3e8XTSt.js +0 -2692
  207. package/dist/data-z3e8XTSt.js.map +0 -1
  208. package/dist/layout-D1-mF4xn.js.map +0 -1
  209. package/dist/layout-Op6GWQ8w.cjs +0 -2
  210. package/dist/layout-Op6GWQ8w.cjs.map +0 -1
  211. package/dist/licensing-DmF0ObpG.cjs +0 -2
  212. package/dist/licensing-DmF0ObpG.cjs.map +0 -1
  213. package/dist/licensing-ZFCUU4Z8.js.map +0 -1
  214. package/dist/media-DbToUupt.cjs +0 -2
  215. package/dist/media-DbToUupt.cjs.map +0 -1
  216. package/dist/media-DdChr0Cw.js +0 -431
  217. package/dist/media-DdChr0Cw.js.map +0 -1
  218. package/dist/utils/commandPaletteFromAppMenu.d.ts +0 -42
package/dist/data.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  const {ensureStyles}=require('./style-runtime.cjs')
2
2
  ensureStyles()
3
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MTreeView-Dp9qbqQh.cjs`),t=require(`./data-7kG1MC1Z.cjs`),n=require(`./MDataTable-95_Mb6jE.cjs`);exports.MAreaChart=t.n,exports.MBarChart=t.r,exports.MCalendarBoard=t.a,exports.MCalendarDayCell=t.o,exports.MCalendarEventItem=t.s,exports.MCalendarEventList=t.c,exports.MCalendarEventPopover=t.l,exports.MCalendarHourBar=t.u,exports.MCalendarTimeline=t.d,exports.MChat=t.x,exports.MChatBody=t.v,exports.MChatConversationItem=t.m,exports.MChatConversationList=t.h,exports.MChatHeader=t.b,exports.MChatInput=t._,exports.MChatMessage=t.y,exports.MChatTypingIndicator=t.g,exports.MDataTable=n.t,exports.MFileManager=t.f,exports.MLineChart=t.i,exports.MPieChart=t.t,exports.MSparkline=e.n,exports.MTaskList=t.p,exports.MTreeView=e.t;
3
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./MTreeView-Dp9qbqQh.cjs`),t=require(`./data-DtShJEic.cjs`),n=require(`./MDataTable-7nJuwzJR.cjs`);exports.MAreaChart=t.n,exports.MBarChart=t.r,exports.MCalendarBoard=t.a,exports.MCalendarDayCell=t.o,exports.MCalendarEventItem=t.s,exports.MCalendarEventList=t.c,exports.MCalendarEventPopover=t.l,exports.MCalendarHourBar=t.u,exports.MCalendarTimeline=t.d,exports.MChat=t.S,exports.MChatBody=t.y,exports.MChatConversationItem=t.h,exports.MChatConversationList=t.g,exports.MChatHeader=t.x,exports.MChatInput=t.v,exports.MChatMessage=t.b,exports.MChatTypingIndicator=t._,exports.MDataTable=n.t,exports.MFileManager=t.f,exports.MLineChart=t.i,exports.MPieChart=t.t,exports.MSparkline=e.n,exports.MTaskList=t.m,exports.MTimelineCalendar=t.p,exports.MTreeView=e.t;
package/dist/data.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {ensureStyles} from './style-runtime.js'
2
2
  ensureStyles()
3
3
  import { n as e, t } from "./MTreeView-AqH8XMPz.js";
4
- import { _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, x, y as S } from "./data-z3e8XTSt.js";
5
- import { t as C } from "./MDataTable-DxDS5auV.js";
6
- export { p as MAreaChart, g as MBarChart, r as MCalendarBoard, m as MCalendarDayCell, _ as MCalendarEventItem, a as MCalendarEventList, d as MCalendarEventPopover, y as MCalendarHourBar, o as MCalendarTimeline, x as MChat, b as MChatBody, f as MChatConversationItem, l as MChatConversationList, i as MChatHeader, n as MChatInput, S as MChatMessage, c as MChatTypingIndicator, C as MDataTable, s as MFileManager, u as MLineChart, v as MPieChart, e as MSparkline, h as MTaskList, t as MTreeView };
4
+ import { S as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, x as S, y as C } from "./data-RXuvb9VI.js";
5
+ import { t as w } from "./MDataTable-CQt_pINO.js";
6
+ export { m as MAreaChart, _ as MBarChart, i as MCalendarBoard, h as MCalendarDayCell, v as MCalendarEventItem, o as MCalendarEventList, f as MCalendarEventPopover, b as MCalendarHourBar, s as MCalendarTimeline, n as MChat, C as MChatBody, u as MChatConversationItem, l as MChatConversationList, S as MChatHeader, x as MChatInput, a as MChatMessage, r as MChatTypingIndicator, w as MDataTable, c as MFileManager, d as MLineChart, y as MPieChart, e as MSparkline, p as MTaskList, g as MTimelineCalendar, t as MTreeView };
@@ -1,3 +1,3 @@
1
- const e=require(`./icons-qCoE70hn.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MStack-ByFYGSsy.cjs`),r=require(`./MText-D0fI_D_Q.cjs`),i=require(`./MButton-8UCydOik.cjs`),a=require(`./MSkeleton-BdwhPx-k.cjs`);require(`./core-DAox0BHy.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);function c({title:r,defaultOpen:a=!1,open:c,onToggle:l,color:u=`primary`,className:d,children:f,...p}){let[m,h]=(0,o.useState)(a),g=c??m,_=()=>{let e=!g;c===void 0&&h(e),l?.(e)},v=(0,s.jsx)(`span`,{className:t.t(`chevron`,g&&`open`),"aria-hidden":`true`,children:(0,s.jsx)(e.Ni,{})});return(0,s.jsxs)(`div`,{className:t.t(`collapsible`,d),...p,children:[(0,s.jsx)(i.t,{variant:`ghost`,color:u,className:`trigger`,"aria-expanded":g,onClick:_,endIcon:v,children:r}),(0,s.jsx)(`div`,{className:t.t(`content-wrap`,g&&`open`),"aria-hidden":!g,children:(0,s.jsx)(n.t,{className:`content`,children:f})})]})}function l(e){return null}function u({multiple:e=!1,defaultOpen:n,onChange:r,bordered:i=!1,color:a,className:u,children:d,...f}){let[p,m]=(0,o.useState)(Array.isArray(n)?n:n?[n]:[]),h=(0,o.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=o.Children.toArray(d).filter(e=>(0,o.isValidElement)(e)&&e.type===l);return(0,s.jsx)(`div`,{className:t.t(`accordion`,i&&`bordered`,u),...f,children:g.map(e=>{if(!(0,o.isValidElement)(e))return null;let{id:n,title:r,children:i,disabled:l,color:u}=e.props,d=p.includes(n);return(0,s.jsx)(`div`,{className:t.t(`accordion-item`,l&&`disabled`),children:(0,s.jsx)(c,{title:r,open:d,onToggle:l?void 0:e=>h(n,e),color:u??a,children:i})},n)})})}var d=800;function f(e){return 1-(1-e)**3}function p({value:e,max:n=100,color:r=`primary`,size:i=`md`,label:a,showValue:c=!1,animated:l=!1,striped:u=!1,className:p,...m}){let h=Math.min(100,Math.max(0,e/n*100)),[g,_]=(0,o.useState)(0),[v,y]=(0,o.useState)(0),b=(0,o.useRef)(0),x=(0,o.useRef)(0),S=(0,o.useCallback)((e,t)=>{cancelAnimationFrame(x.current);let n=performance.now(),r=i=>{let a=i-n,o=Math.min(a/d,1),s=f(o);_(e+(t-e)*s),o<1&&(x.current=requestAnimationFrame(r))};y(t),x.current=requestAnimationFrame(r)},[]);return(0,o.useEffect)(()=>(S(b.current,h),b.current=h,()=>cancelAnimationFrame(x.current)),[h,S]),(0,s.jsxs)(`div`,{className:t.t(`progress-bar`,`color-${r}`,i,p),role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":n,"aria-label":a,...m,children:[(a||c)&&(0,s.jsxs)(`div`,{className:`progress-bar-header`,children:[a&&(0,s.jsx)(`span`,{className:`progress-bar-label`,children:a}),c&&(0,s.jsxs)(`span`,{className:`progress-bar-value`,children:[Math.round(g),`%`]})]}),(0,s.jsx)(`div`,{className:`progress-bar-track`,children:(0,s.jsx)(`div`,{className:t.t(`progress-bar-fill`,l&&`animated`,u&&`striped`),style:{width:`${v}%`}})})]})}function m({value:e,from:n=0,duration:r=1e3,decimals:i=0,prefix:a=``,suffix:c=``,separator:l=``,className:u,...d}){let[f,p]=(0,o.useState)(n),m=(0,o.useRef)(0),g=(0,o.useRef)(null);(0,o.useEffect)(()=>{let t=f;g.current=null;let n=i=>{g.current===null&&(g.current=i);let a=i-g.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 _=h(f,i,l);return(0,s.jsxs)(`span`,{className:t.t(`count-up`,u),...d,children:[a,_,c]})}function h(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 g={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`},_={xml:()=>Promise.resolve().then(()=>require(`./xml-B2okahIr.cjs`)),css:()=>Promise.resolve().then(()=>require(`./css-DCYZ-Rs6.cjs`)),javascript:()=>Promise.resolve().then(()=>require(`./javascript-_Sr9cnsG.cjs`)),typescript:()=>Promise.resolve().then(()=>require(`./typescript-C65sNL5w.cjs`)),json:()=>Promise.resolve().then(()=>require(`./json-BFetU4Pi.cjs`)),bash:()=>Promise.resolve().then(()=>require(`./bash-CyBbinAU.cjs`)),c:()=>Promise.resolve().then(()=>require(`./c-DGOxo0dj.cjs`)),cpp:()=>Promise.resolve().then(()=>require(`./cpp-D-FtdQo9.cjs`)),arduino:()=>Promise.resolve().then(()=>require(`./arduino-Bm509TuR.cjs`)),php:()=>Promise.resolve().then(()=>require(`./php-jOdR0XS8.cjs`))},v=null,y=42,b=200;function x(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function S(e){return g[e]??e}async function C(){return v||=(async()=>{let e=(await Promise.resolve().then(()=>require(`./core-DAox0BHy.cjs`))).default.newInstance();for(let[t,n]of Object.entries(_)){let r=await n();e.registerLanguage(t,r.default)}return e.registerAliases([`shell`,`shellscript`],{languageName:`bash`}),e.registerAliases(`markup`,{languageName:`xml`}),e})(),v}function w({code:c,language:l=`tsx`,title:u,showHeader:d=!0,showLanguage:f=!0,showCopyButton:p=!0,copyLabel:m=`Copy`,copiedLabel:h=`Copied`,maxHeight:g,stretch:_=!1,animated:v=!1,lineNumbers:w=!1,className:T,...E}){let D=(0,o.useMemo)(()=>S(l.trim().toLowerCase()),[l]),[O,k]=(0,o.useState)(()=>v?0:c.length),A=v?c.slice(0,O):c,[j,M]=(0,o.useState)(()=>x(A)),[N,P]=(0,o.useState)(!1),F=(0,o.useRef)(null),I=(0,o.useRef)(null),L=(0,o.useRef)(null),R=typeof navigator<`u`&&typeof navigator.clipboard?.writeText==`function`,z=d&&(!!u||f||p),B=(0,o.useMemo)(()=>Math.max(1,A.split(`
1
+ const e=require(`./icons-qCoE70hn.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MStack-w8XcuIJK.cjs`),r=require(`./MText-BHbI7KJO.cjs`),i=require(`./MButton-DFRHWHzh.cjs`),a=require(`./MSkeleton-CuYA8eN3.cjs`);require(`./core-DAox0BHy.cjs`);let o=require(`react`),s=require(`react/jsx-runtime`);function c({title:r,defaultOpen:a=!1,open:c,onToggle:l,color:u=`primary`,className:d,children:f,...p}){let[m,h]=(0,o.useState)(a),g=c??m,_=()=>{let e=!g;c===void 0&&h(e),l?.(e)},v=(0,s.jsx)(`span`,{className:t.t(`chevron`,g&&`open`),"aria-hidden":`true`,children:(0,s.jsx)(e.Ni,{})});return(0,s.jsxs)(`div`,{className:t.t(`collapsible`,d),...p,children:[(0,s.jsx)(i.t,{variant:`ghost`,color:u,className:`trigger`,"aria-expanded":g,onClick:_,endIcon:v,children:r}),(0,s.jsx)(`div`,{className:t.t(`content-wrap`,g&&`open`),"aria-hidden":!g,children:(0,s.jsx)(n.t,{className:`content`,children:f})})]})}function l(e){return null}function u({multiple:e=!1,defaultOpen:n,onChange:r,bordered:i=!1,color:a,className:u,children:d,...f}){let[p,m]=(0,o.useState)(Array.isArray(n)?n:n?[n]:[]),h=(0,o.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=o.Children.toArray(d).filter(e=>(0,o.isValidElement)(e)&&e.type===l);return(0,s.jsx)(`div`,{className:t.t(`accordion`,i&&`bordered`,u),...f,children:g.map(e=>{if(!(0,o.isValidElement)(e))return null;let{id:n,title:r,children:i,disabled:l,color:u}=e.props,d=p.includes(n);return(0,s.jsx)(`div`,{className:t.t(`accordion-item`,l&&`disabled`),children:(0,s.jsx)(c,{title:r,open:d,onToggle:l?void 0:e=>h(n,e),color:u??a,children:i})},n)})})}var d=800;function f(e){return 1-(1-e)**3}function p({value:e,max:n=100,color:r=`primary`,size:i=`md`,label:a,showValue:c=!1,animated:l=!1,striped:u=!1,className:p,...m}){let h=Math.min(100,Math.max(0,e/n*100)),[g,_]=(0,o.useState)(0),[v,y]=(0,o.useState)(0),b=(0,o.useRef)(0),x=(0,o.useRef)(0),S=(0,o.useCallback)((e,t)=>{cancelAnimationFrame(x.current);let n=performance.now(),r=i=>{let a=i-n,o=Math.min(a/d,1),s=f(o);_(e+(t-e)*s),o<1&&(x.current=requestAnimationFrame(r))};y(t),x.current=requestAnimationFrame(r)},[]);return(0,o.useEffect)(()=>(S(b.current,h),b.current=h,()=>cancelAnimationFrame(x.current)),[h,S]),(0,s.jsxs)(`div`,{className:t.t(`progress-bar`,`color-${r}`,i,p),role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":n,"aria-label":a,...m,children:[(a||c)&&(0,s.jsxs)(`div`,{className:`progress-bar-header`,children:[a&&(0,s.jsx)(`span`,{className:`progress-bar-label`,children:a}),c&&(0,s.jsxs)(`span`,{className:`progress-bar-value`,children:[Math.round(g),`%`]})]}),(0,s.jsx)(`div`,{className:`progress-bar-track`,children:(0,s.jsx)(`div`,{className:t.t(`progress-bar-fill`,l&&`animated`,u&&`striped`),style:{width:`${v}%`}})})]})}function m({value:e,from:n=0,duration:r=1e3,decimals:i=0,prefix:a=``,suffix:c=``,separator:l=``,className:u,...d}){let[f,p]=(0,o.useState)(n),m=(0,o.useRef)(0),g=(0,o.useRef)(null);(0,o.useEffect)(()=>{let t=f;g.current=null;let n=i=>{g.current===null&&(g.current=i);let a=i-g.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 _=h(f,i,l);return(0,s.jsxs)(`span`,{className:t.t(`count-up`,u),...d,children:[a,_,c]})}function h(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 g={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`},_={xml:()=>Promise.resolve().then(()=>require(`./xml-B2okahIr.cjs`)),css:()=>Promise.resolve().then(()=>require(`./css-DCYZ-Rs6.cjs`)),javascript:()=>Promise.resolve().then(()=>require(`./javascript-_Sr9cnsG.cjs`)),typescript:()=>Promise.resolve().then(()=>require(`./typescript-C65sNL5w.cjs`)),json:()=>Promise.resolve().then(()=>require(`./json-BFetU4Pi.cjs`)),bash:()=>Promise.resolve().then(()=>require(`./bash-CyBbinAU.cjs`)),c:()=>Promise.resolve().then(()=>require(`./c-DGOxo0dj.cjs`)),cpp:()=>Promise.resolve().then(()=>require(`./cpp-D-FtdQo9.cjs`)),arduino:()=>Promise.resolve().then(()=>require(`./arduino-Bm509TuR.cjs`)),php:()=>Promise.resolve().then(()=>require(`./php-jOdR0XS8.cjs`))},v=null,y=42,b=200;function x(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function S(e){return g[e]??e}async function C(){return v||=(async()=>{let e=(await Promise.resolve().then(()=>require(`./core-DAox0BHy.cjs`))).default.newInstance();for(let[t,n]of Object.entries(_)){let r=await n();e.registerLanguage(t,r.default)}return e.registerAliases([`shell`,`shellscript`],{languageName:`bash`}),e.registerAliases(`markup`,{languageName:`xml`}),e})(),v}function w({code:c,language:l=`tsx`,title:u,showHeader:d=!0,showLanguage:f=!0,showCopyButton:p=!0,copyLabel:m=`Copy`,copiedLabel:h=`Copied`,maxHeight:g,stretch:_=!1,animated:v=!1,lineNumbers:w=!1,className:T,...E}){let D=(0,o.useMemo)(()=>S(l.trim().toLowerCase()),[l]),[O,k]=(0,o.useState)(()=>v?0:c.length),A=v?c.slice(0,O):c,[j,M]=(0,o.useState)(()=>x(A)),[N,P]=(0,o.useState)(!1),F=(0,o.useRef)(null),I=(0,o.useRef)(null),L=(0,o.useRef)(null),R=typeof navigator<`u`&&typeof navigator.clipboard?.writeText==`function`,z=d&&(!!u||f||p),B=(0,o.useMemo)(()=>Math.max(1,A.split(`
2
2
  `).length),[A]);(0,o.useEffect)(()=>{I.current!==null&&(window.clearTimeout(I.current),I.current=null),k(v?0:c.length)},[v,c]),(0,o.useEffect)(()=>{if(!(!v||c.length===0))return O<c.length&&(I.current=window.setTimeout(()=>{k(e=>Math.min(e+1,c.length)),I.current=null},O===0?b:y)),()=>{I.current!==null&&(window.clearTimeout(I.current),I.current=null)}},[v,c.length,O]),(0,o.useEffect)(()=>{let e=!0;async function t(){try{let t=await C(),n=t.getLanguage(D)?t.highlight(A,{language:D,ignoreIllegals:!0}).value:x(A);e&&M(n)}catch{e&&M(x(A))}}return t(),()=>{e=!1}},[D,A]),(0,o.useEffect)(()=>()=>{F.current!==null&&window.clearTimeout(F.current),I.current!==null&&window.clearTimeout(I.current)},[]),(0,o.useEffect)(()=>{!v||!L.current||(L.current.scrollTop=L.current.scrollHeight)},[v,O]);async function V(){if(R)try{await navigator.clipboard.writeText(c),P(!0),F.current!==null&&window.clearTimeout(F.current),F.current=window.setTimeout(()=>{P(!1),F.current=null},1200)}catch{P(!1)}}return(0,s.jsxs)(a.n,{className:t.t(`code-block-card`,T),...E,padded:!1,stretch:_,children:[z&&(0,s.jsx)(a.a,{className:`code-block-header`,children:(0,s.jsxs)(n.n,{className:`code-block-header-layout`,align:`center`,justify:`between`,wrap:`nowrap`,px:`lg`,py:`md`,children:[(0,s.jsxs)(n.n,{className:`code-block-header-meta`,align:`center`,wrap:`wrap`,children:[u&&(0,s.jsx)(r.t,{as:`span`,className:`code-block-title`,size:`sm`,weight:`semibold`,children:u}),f&&l&&(0,s.jsx)(a.s,{color:`info`,size:`sm`,children:l})]}),p&&(0,s.jsx)(i.t,{variant:`ghost`,size:`sm`,color:`neutral`,startIcon:(0,s.jsx)(e.rn,{size:`sm`,"aria-hidden":`true`}),onClick:V,disabled:!R,children:N?h:m})]})}),(0,s.jsx)(a.r,{className:`code-block-body`,children:(0,s.jsx)(`div`,{ref:L,className:`code-block-scroll`,style:g?{maxHeight:g,overflowY:`auto`}:void 0,children:(0,s.jsxs)(`pre`,{className:t.t(`code-block-pre`,w&&`with-line-numbers`,`language-${D}`),children:[w&&(0,s.jsx)(`span`,{className:`code-block-line-numbers`,"aria-hidden":`true`,children:Array.from({length:B},(e,t)=>(0,s.jsx)(`span`,{className:`code-block-line-number`,children:t+1},t+1))}),(0,s.jsx)(`span`,{className:`code-block-code-shell`,children:(0,s.jsx)(`code`,{className:t.t(`code-block-code`,`hljs`,`language-${D}`),dangerouslySetInnerHTML:{__html:j}})})]})})})]})}function T(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 E({children:e,direction:n=`up`,delay:r=0,duration:i=.46,distance:a=20,once:c=!0,trigger:l=`view`,className:u,style:d,...f}){let p=(0,o.useRef)(null);(0,o.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(l===`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`),c&&n.disconnect()):c||e.classList.remove(`revealed`)},{threshold:.2});return n.observe(e),()=>n.disconnect()},[r,n,a,i,c,l]);let m=T(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`,...d};return(0,s.jsx)(`div`,{ref:p,className:t.t(`reveal`,u),style:h,...f,children:e})}function D(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 O(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 k(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 A(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 j(e,t){return t===`rgb`?k(e):t===`hsl`?A(e):e}function M(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 N=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#3b82f6`,`#8b5cf6`,`#ec4899`,`#000000`,`#ffffff`];function P({value:e,onChange:n,swatches:r=N,format:i=`hex`,size:a=`md`,label:c,disabled:l=!1,className:u,...d}){let f=M(e??`#3b82f6`),[p,m]=(0,o.useState)(()=>O(f)),[h,g]=(0,o.useState)(j(f,i)),_=(0,o.useRef)(null),v=(0,o.useRef)(null),y=(0,o.useRef)(null);(0,o.useEffect)(()=>{let t=M(e??`#3b82f6`);m(O(t)),g(j(t,i))},[e,i]);let b=(0,o.useCallback)((e,t,r)=>{let a=D(e,t,r);m([e,t,r]),g(j(a,i)),n?.(j(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,o.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=M(e);(t!==`#000000`||e===`#000000`||e.toLowerCase()===`rgb(0, 0, 0)`)&&(m(O(t)),n?.(j(t,i)))}catch{}}let w=D(p[0],p[1],p[2]);return(0,s.jsxs)(`div`,{className:t.t(`color-picker`,a,l&&`disabled`,u),...d,children:[c&&(0,s.jsx)(`label`,{className:`label`,children:c}),(0,s.jsxs)(`div`,{ref:_,className:`area`,style:{background:`hsl(${p[0]}, 100%, 50%)`},onPointerDown:e=>{l||(y.current=`area`,x(e))},children:[(0,s.jsx)(`div`,{className:`white`}),(0,s.jsx)(`div`,{className:`black`}),(0,s.jsx)(`div`,{className:`cursor`,style:{left:`${p[1]*100}%`,top:`${(1-p[2])*100}%`,background:w}})]}),(0,s.jsx)(`div`,{ref:v,className:`hue`,onPointerDown:e=>{l||(y.current=`hue`,S(e))},children:(0,s.jsx)(`div`,{className:`hue-thumb`,style:{left:`${p[0]/360*100}%`}})}),(0,s.jsxs)(`div`,{className:`controls`,children:[(0,s.jsx)(`div`,{className:`preview`,style:{background:w}}),(0,s.jsx)(`input`,{type:`text`,className:`input`,value:h,onChange:e=>C(e.target.value),disabled:l})]}),r.length>0&&(0,s.jsx)(`div`,{className:`swatches`,children:r.map(e=>(0,s.jsx)(`button`,{type:`button`,className:t.t(`swatch`,w.toLowerCase()===e.toLowerCase()&&`active`),style:{background:e},onClick:()=>{if(l)return;let[t,n,r]=O(e);b(t,n,r)}},e))})]})}var F={xs:`xs`,sm:`sm`,md:`sm`,lg:`md`,xl:`lg`};function I({icon:e,illustration:n,title:r,description:a,buttonText:c,onAction:l,color:u=`neutral`,size:d=`md`,className:f,children:p,...m}){return(0,s.jsxs)(`div`,{className:t.t(`empty-state`,`color-${u}`,d,f),...m,children:[n&&(0,s.jsx)(`div`,{className:`empty-state-illustration`,children:(0,o.isValidElement)(n)?(0,o.cloneElement)(n,{color:u}):n}),!n&&e&&(0,s.jsx)(`div`,{className:`empty-state-icon`,children:e}),(0,s.jsxs)(`div`,{className:`empty-state-content`,children:[(0,s.jsx)(`div`,{className:`empty-state-title`,children:r}),a&&(0,s.jsx)(`div`,{className:`empty-state-description`,children:a})]}),c&&l&&(0,s.jsx)(`div`,{className:`empty-state-action`,children:(0,s.jsx)(i.t,{size:F[d],variant:`outlined`,color:u,onClick:l,children:c})}),p]})}function L({children:e,amount:n=6,reveal:r=`hover`,revealed:i,defaultRevealed:a=!1,onToggle:c,inline:l=!0,className:u,style:d,onClick:f,onKeyDown:p,...m}){let h=i!==void 0,[g,_]=(0,o.useState)(a),v=h?i:g,y=r!==`none`,b=(0,o.useCallback)(e=>{h||_(e),c?.(e)},[h,c]),x=e=>{r===`click`&&b(!v),f?.(e)},S=e=>{r===`click`&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b(!v)),p?.(e)},C={...d,"--mineral-blur-amount":`${n}px`};return(0,s.jsx)(`span`,{className:t.t(`blur`,l?`inline`:`block`,`reveal-${r}`,v&&`revealed`,u),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,s.jsx)(`span`,{className:`blur-inner`,"aria-hidden":!v,children:e})})}var R={xs:10,sm:14,md:18,lg:22,xl:28};function z(e){return null}function B({activeStep:n,variant:r=`horizontal`,color:i=`primary`,size:a=`md`,clickable:c=!1,onChange:l,className:u,children:d,...f}){let p=o.Children.toArray(d).filter(e=>(0,o.isValidElement)(e)&&e.type===z);return(0,s.jsx)(`div`,{className:t.t(`stepper`,r,`color-${i}`,a,u),role:`list`,...f,children:p.map((r,i)=>{if(!(0,o.isValidElement)(r))return null;let{id:u,title:d,description:f,icon:p,disabled:m,optional:h,error:g}=r.props,_=i===n,v=i<n,y=c&&!m,b=()=>{y&&l&&l(i)};return(0,s.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,s.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,s.jsx)(e.Ii,{size:R[a]}):p??i+1}),(0,s.jsxs)(`div`,{className:`stepper-content`,children:[(0,s.jsx)(`span`,{className:`stepper-title`,children:d}),f&&(0,s.jsx)(`span`,{className:`stepper-description`,children:f}),h&&(0,s.jsx)(`span`,{className:`stepper-optional`,children:`Optional`})]})]},u)})})}function V(e){return null}function H({align:e=`left`,color:n=`primary`,size:r=`md`,className:i,children:a,...c}){let l=o.Children.toArray(a).filter(e=>(0,o.isValidElement)(e)&&e.type===V);return(0,s.jsx)(`div`,{className:t.t(`timeline`,`align-${e}`,`color-${n}`,r,i),...c,children:l.map((n,r)=>{if(!(0,o.isValidElement)(n))return null;let{id:i,title:a,description:c,date:l,icon:u,color:d}=n.props,f=e===`alternate`?r%2==0?`left`:`right`:void 0;return(0,s.jsxs)(`div`,{className:t.t(`timeline-item`,f&&`side-${f}`),children:[(0,s.jsx)(`div`,{className:t.t(`timeline-dot`,d&&`color-${d}`),children:u}),(0,s.jsxs)(`div`,{className:`timeline-content`,children:[(0,s.jsx)(`span`,{className:`timeline-title`,children:a}),c&&(0,s.jsx)(`span`,{className:`timeline-description`,children:c}),l&&(0,s.jsx)(`span`,{className:`timeline-date`,children:l})]})]},i)})})}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return m}});
3
- //# sourceMappingURL=display-Cw3-bTsm.cjs.map
3
+ //# sourceMappingURL=display-96-TEGmZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"display-Cw3-bTsm.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/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 {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":"2SASA,SAAgB,EAAa,CACzB,QACA,cAAc,GACd,KAAM,EACN,WACA,QAAQ,UACR,YACA,WACA,GAAG,GACe,CAClB,GAAM,CAAC,EAAc,IAAA,EAAA,EAAA,UAA4B,EAAY,CACvD,EAAO,GAAkB,EAEzB,MAAqB,CACvB,IAAM,EAAW,CAAC,EAEd,IAAmB,IAAA,IACnB,EAAgB,EAAS,CAG7B,IAAW,EAAS,EAGlB,GACF,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,EAAA,EAAG,UAAW,GAAQ,OAAO,CAAE,cAAY,iBACxD,EAAA,EAAA,KAAC,EAAA,GAAD,EAAoB,CAAA,CACjB,CAAA,CAGX,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,EAAU,CAAE,GAAI,WAAlD,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,QACD,QACP,UAAU,UACV,gBAAe,EACf,QAAS,EACT,QAAS,WAER,EACK,CAAA,EACV,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,eAAgB,GAAQ,OAAO,CAAE,cAAa,CAAC,YAC9D,EAAA,EAAA,KAAC,EAAA,EAAD,CAAQ,UAAU,UAAW,WAAkB,CAAA,CAC7C,CAAA,CACJ,GC/Cd,SAAgB,EAAe,EAA6B,CACxD,OAAO,KAGX,SAAgB,EAAW,CACvB,WAAW,GACX,cACA,WACA,WAAW,GACX,QACA,YACA,WACA,GAAG,GACa,CAGhB,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAFI,MAAM,QAAQ,EAAY,CAAG,EAAc,EAAc,CAAC,EAAY,CAAG,EAAE,CAElC,CAEvD,GAAA,EAAA,EAAA,cACD,EAAY,IAAoB,CAC7B,EAAY,GAAS,CACjB,IAAI,EAOJ,MANA,CAGI,EAHA,EACO,EAAW,CAAC,GAAG,EAAM,EAAG,CAAG,CAAC,EAAG,CAE/B,EAAK,OAAQ,GAAM,IAAM,EAAG,CAEvC,IAAW,EAAK,CACT,GACT,EAEN,CAAC,EAAU,EAAS,CACvB,CAEK,EAAQ,EAAA,SAAS,QAAQ,EAAS,CAAC,OACpC,IAAA,EAAA,EAAA,gBAAyB,EAAM,EAAK,EAAM,OAAiB,EAC/D,CAED,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,YAAa,GAAY,WAAY,EAAU,CAAE,GAAI,WACnE,EAAM,IAAK,GAAU,CAClB,GAAI,EAAA,EAAA,EAAA,gBAAqC,EAAM,CAAE,OAAO,KACxD,GAAM,CAAC,KAAI,QAAO,SAAU,EAAS,WAAU,MAAO,GAAa,EAAM,MACnE,EAAS,EAAQ,SAAS,EAAG,CAEnC,OACI,EAAA,EAAA,KAAC,MAAD,CAAc,UAAW,EAAA,EAAG,iBAAkB,GAAY,WAAW,WACjE,EAAA,EAAA,KAAC,EAAD,CACW,QACP,KAAM,EACN,SAAU,EAAW,IAAA,GAAa,GAAS,EAAa,EAAI,EAAK,CACjE,MAAO,GAAa,WAEnB,EACU,CAAA,CACb,CATI,EASJ,EAEZ,CACA,CAAA,CC3Dd,IAAM,EAAW,IAEjB,SAAS,EAAa,EAAW,CAC7B,MAAO,IAAa,EAAI,IAAG,EAI/B,SAAgB,EAAa,CACzB,QACA,MAAM,IACN,QAAQ,UACR,OAAO,KACP,QACA,YAAY,GACZ,WAAW,GACX,UAAU,GACV,YACA,GAAG,GACe,CAClB,IAAM,EAAU,KAAK,IAAI,IAAK,KAAK,IAAI,EAAI,EAAQ,EAAO,IAAI,CAAC,CACzD,CAAC,EAAgB,IAAA,EAAA,EAAA,UAA8B,EAAE,CACjD,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAE,CACzC,GAAA,EAAA,EAAA,QAAqB,EAAE,CACvB,GAAA,EAAA,EAAA,QAAgB,EAAE,CAElB,GAAA,EAAA,EAAA,cAAuB,EAAc,IAAe,CACtD,qBAAqB,EAAO,QAAQ,CACpC,IAAM,EAAQ,YAAY,KAAK,CAEzB,EAAQ,GAAgB,CAC1B,IAAM,EAAU,EAAM,EAChB,EAAW,KAAK,IAAI,EAAU,EAAU,EAAE,CAC1C,EAAQ,EAAa,EAAS,CAGpC,EAFgB,GAAQ,EAAK,GAAQ,EAEX,CACtB,EAAW,IACX,EAAO,QAAU,sBAAsB,EAAK,GAKpD,EAAc,EAAG,CACjB,EAAO,QAAU,sBAAsB,EAAK,EAC7C,EAAE,CAAC,CAQN,OANA,EAAA,EAAA,gBACI,EAAQ,EAAY,QAAS,EAAQ,CACrC,EAAY,QAAU,MACT,qBAAqB,EAAO,QAAQ,EAClD,CAAC,EAAS,EAAQ,CAAC,EAGlB,EAAA,EAAA,MAAC,MAAD,CACI,UAAW,EAAA,EAAG,eAAgB,SAAS,IAAS,EAAM,EAAU,CAChE,KAAK,cACL,gBAAe,EACf,gBAAe,EACf,gBAAe,EACf,aAAY,EACZ,GAAI,WAPR,EASM,GAAS,KACP,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+BAAf,CACK,IAAS,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAsB,EAAa,CAAA,CAC5D,IAAa,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,8BAAhB,CAAsC,KAAK,MAAM,EAAe,CAAC,IAAQ,GACrF,IAEV,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+BACX,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,oBAAqB,GAAY,WAAY,GAAW,UAAU,CAChF,MAAO,CAAC,MAAO,GAAG,EAAW,GAAG,CAClC,CAAA,CACA,CAAA,CACJ,GC1Ed,SAAgB,EAAS,CACrB,QACA,OAAO,EACP,WAAW,IACX,WAAW,EACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YACA,GAAG,GACW,CACd,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAuB,EAAK,CACtC,GAAA,EAAA,EAAA,QAAwB,EAAE,CAC1B,GAAA,EAAA,EAAA,QAAiC,KAAK,EAE5C,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAa,EACnB,EAAS,QAAU,KAEnB,IAAM,EAAQ,GAAsB,CAC5B,EAAS,UAAY,OAAM,EAAS,QAAU,GAClD,IAAM,EAAU,EAAY,EAAS,QAC/B,EAAW,KAAK,IAAI,EAAU,EAAU,EAAE,CAC1C,EAAQ,GAAa,EAAI,IAAU,EAGzC,EAFgB,GAAc,EAAQ,GAAc,EAEjC,CAEf,EAAW,IACX,EAAO,QAAU,sBAAsB,EAAK,GAKpD,MADA,GAAO,QAAU,sBAAsB,EAAK,KAC/B,qBAAqB,EAAO,QAAQ,EAClD,CAAC,EAAO,EAAS,CAAC,CAErB,IAAM,EAAY,EAAa,EAAS,EAAU,EAAU,CAE5D,OACI,EAAA,EAAA,MAAC,OAAD,CAAM,UAAW,EAAA,EAAG,WAAY,EAAU,CAAE,GAAI,WAAhD,CACK,EACA,EACA,EACE,GAIf,SAAS,EAAa,EAAa,EAAkB,EAA2B,CAC5E,IAAM,EAAQ,EAAI,QAAQ,EAAS,CACnC,GAAI,CAAC,EAAW,OAAO,EAEvB,GAAM,CAAC,EAAK,GAAO,EAAM,MAAM,IAAI,CAC7B,EAAU,EAAI,QAAQ,wBAAyB,EAAU,CAC/D,OAAO,IAAQ,IAAA,GAAkC,EAAtB,GAAG,EAAQ,GAAG,IC/C7C,IAAM,EAAsC,CACxC,EAAG,IACH,IAAK,MACL,MAAO,MACP,QAAS,UACT,IAAK,UACL,GAAI,aACJ,WAAY,aACZ,IAAK,MACL,GAAI,aACJ,WAAY,aACZ,IAAK,MACL,KAAM,OACN,IAAK,MACL,KAAM,OACN,OAAQ,OACR,KAAM,OACN,MAAO,OACP,YAAa,OACb,IAAK,MACR,CAEK,EAAwE,CAC1E,QAAA,QAAA,SAAA,CAAA,SAAA,QAAW,qBAAA,CAAA,CACX,QAAA,QAAA,SAAA,CAAA,SAAA,QAAW,qBAAA,CAAA,CACX,eAAA,QAAA,SAAA,CAAA,SAAA,QAAkB,4BAAA,CAAA,CAClB,eAAA,QAAA,SAAA,CAAA,SAAA,QAAkB,4BAAA,CAAA,CAClB,SAAA,QAAA,SAAA,CAAA,SAAA,QAAY,sBAAA,CAAA,CACZ,SAAA,QAAA,SAAA,CAAA,SAAA,QAAY,sBAAA,CAAA,CACZ,MAAA,QAAA,SAAA,CAAA,SAAA,QAAS,mBAAA,CAAA,CACT,QAAA,QAAA,SAAA,CAAA,SAAA,QAAW,qBAAA,CAAA,CACX,YAAA,QAAA,SAAA,CAAA,SAAA,QAAe,yBAAA,CAAA,CACf,QAAA,QAAA,SAAA,CAAA,SAAA,QAAW,qBAAA,CAAA,CACd,CAEG,EAA8C,KAC5C,EAAuB,GACvB,EAA4B,IAElC,SAAS,EAAW,EAAuB,CACvC,OAAO,EAAM,QAAQ,KAAM,QAAQ,CAAC,QAAQ,KAAM,OAAO,CAAC,QAAQ,KAAM,OAAO,CAGnF,SAAS,EAAgB,EAA0B,CAC/C,OAAO,EAAY,IAAa,EAGpC,eAAe,GAAmC,CAkB9C,MAjBA,CACI,KAAsB,SAAY,CAE9B,IAAM,GADmB,MAAA,QAAA,SAAA,CAAA,SAAA,QAAM,sBAAA,CAAA,EAAiC,QAC5B,aAAa,CAEjD,IAAK,GAAM,CAAC,EAAU,KAAiB,OAAO,QAAQ,EAAgB,CAAE,CACpE,IAAM,EAAa,MAAM,GAAc,CACvC,EAAY,iBAAiB,EAAU,EAAW,QAAQ,CAM9D,OAHA,EAAY,gBAAgB,CAAC,QAAS,cAAc,CAAE,CAAC,aAAc,OAAO,CAAC,CAC7E,EAAY,gBAAgB,SAAU,CAAC,aAAc,MAAM,CAAC,CAErD,KACP,CAGD,EAIX,SAAgB,EAAW,CACvB,OACA,WAAW,MACX,QACA,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,YAAY,OACZ,cAAc,SACd,YACA,UAAU,GACV,WAAW,GACX,cAAc,GACd,YACA,GAAG,GACa,CAChB,IAAM,GAAA,EAAA,EAAA,aAAmC,EAAgB,EAAS,MAAM,CAAC,aAAa,CAAC,CAAE,CAAC,EAAS,CAAC,CAC9F,CAAC,EAAe,IAAA,EAAA,EAAA,cAAoC,EAAW,EAAI,EAAK,OAAQ,CAChF,EAAe,EAAW,EAAK,MAAM,EAAG,EAAc,CAAG,EACzD,CAAC,EAAiB,IAAA,EAAA,EAAA,cAAqC,EAAW,EAAa,CAAC,CAChF,CAAC,EAAQ,IAAA,EAAA,EAAA,UAAsB,GAAM,CACrC,GAAA,EAAA,EAAA,QAAuC,KAAK,CAC5C,GAAA,EAAA,EAAA,QAAyC,KAAK,CAC9C,GAAA,EAAA,EAAA,QAA0C,KAAK,CAC/C,EAAU,OAAO,UAAc,KAAe,OAAO,UAAU,WAAW,WAAc,WACxF,EAAY,IAAe,EAAQ,GAAU,GAAgB,GAC7D,GAAA,EAAA,EAAA,aAA0B,KAAK,IAAI,EAAG,EAAa,MAAM;EAAK,CAAC,OAAO,CAAE,CAAC,EAAa,CAAC,EAE7F,EAAA,EAAA,eAAgB,CACR,EAAiB,UAAY,OAC7B,OAAO,aAAa,EAAiB,QAAQ,CAC7C,EAAiB,QAAU,MAG/B,EAAiB,EAAW,EAAI,EAAK,OAAO,EAC7C,CAAC,EAAU,EAAK,CAAC,EAEpB,EAAA,EAAA,eAAgB,CACR,MAAC,GAAY,EAAK,SAAW,GAcjC,OAVI,EAAgB,EAAK,SACrB,EAAiB,QAAU,OAAO,eACxB,CACF,EAAkB,GAAY,KAAK,IAAI,EAAU,EAAG,EAAK,OAAO,CAAC,CACjE,EAAiB,QAAU,MAE/B,IAAkB,EAAI,EAA4B,EACrD,MAGQ,CACL,EAAiB,UAAY,OAC7B,OAAO,aAAa,EAAiB,QAAQ,CAC7C,EAAiB,QAAU,QAGpC,CAAC,EAAU,EAAK,OAAQ,EAAc,CAAC,EAE1C,EAAA,EAAA,eAAgB,CACZ,IAAI,EAAS,GAEb,eAAe,GAAgB,CAC3B,GAAI,CACA,IAAM,EAAc,MAAM,GAAgB,CAEpC,EADqB,EAAY,YAAY,EAAmB,CAEhE,EAAY,UAAU,EAAc,CAChC,SAAU,EACV,eAAgB,GACnB,CAAC,CAAC,MACH,EAAW,EAAa,CAE1B,GACA,EAAmB,EAAK,MAExB,CACA,GACA,EAAmB,EAAW,EAAa,CAAC,EAOxD,OAFK,GAAe,KAEP,CACT,EAAS,KAEd,CAAC,EAAoB,EAAa,CAAC,EAEtC,EAAA,EAAA,mBACiB,CACL,EAAe,UAAY,MAC3B,OAAO,aAAa,EAAe,QAAQ,CAG3C,EAAiB,UAAY,MAC7B,OAAO,aAAa,EAAiB,QAAQ,EAGtD,EAAE,CAAC,EAEN,EAAA,EAAA,eAAgB,CACR,CAAC,GAAY,CAAC,EAAU,UAI5B,EAAU,QAAQ,UAAY,EAAU,QAAQ,eACjD,CAAC,EAAU,EAAc,CAAC,CAE7B,eAAe,GAAa,CACnB,KAIL,GAAI,CACA,MAAM,UAAU,UAAU,UAAU,EAAK,CACzC,EAAU,GAAK,CAEX,EAAe,UAAY,MAC3B,OAAO,aAAa,EAAe,QAAQ,CAG/C,EAAe,QAAU,OAAO,eAAiB,CAC7C,EAAU,GAAM,CAChB,EAAe,QAAU,MAC1B,KAAK,MACJ,CACJ,EAAU,GAAM,EAIxB,OACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAO,UAAW,EAAA,EAAG,kBAAmB,EAAU,CAAE,GAAI,EAAM,OAAQ,GAAgB,mBAAtF,CACK,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CAAa,UAAU,8BACnB,EAAA,EAAA,MAAC,EAAA,EAAD,CACI,UAAU,2BACV,MAAM,SACN,QAAQ,UACR,KAAK,SACL,GAAG,KACH,GAAG,cANP,EAQI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAS,UAAU,yBAAyB,MAAM,SAAS,KAAK,gBAAhE,CACK,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,GAAG,OAAO,UAAU,mBAAmB,KAAK,KAAK,OAAO,oBAC1D,EACG,CAAA,CAEX,GAAgB,IACb,EAAA,EAAA,KAAC,EAAA,EAAD,CAAQ,MAAM,OAAO,KAAK,cACrB,EACI,CAAA,CAEP,GACT,IACG,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,QAAQ,QACR,KAAK,KACL,MAAM,UACN,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,CAAW,KAAK,KAAK,cAAY,OAAS,CAAA,CACrD,QAAS,EACT,SAAU,CAAC,WAEV,EAAS,EAAc,EAClB,CAAA,CAER,GACA,CAAA,EAGlB,EAAA,EAAA,KAAC,EAAA,EAAD,CAAW,UAAU,4BACjB,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,UAAU,oBACV,MAAO,EAAY,CAAC,YAAW,UAAW,OAAO,CAAG,IAAA,aAEpD,EAAA,EAAA,MAAC,MAAD,CACI,UAAW,EAAA,EACP,iBACA,GAAe,oBACf,YAAY,IACf,UALL,CAOK,IACG,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,0BAA0B,cAAY,gBACjD,MAAM,KAAK,CAAC,OAAQ,EAAU,EAAG,EAAG,KACjC,EAAA,EAAA,KAAC,OAAD,CAAsB,UAAU,kCAC3B,EAAQ,EACN,CAFI,EAAQ,EAEZ,CACT,CACC,CAAA,EAEX,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,kCACZ,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,EAAA,EAAG,kBAAmB,OAAQ,YAAY,IAAqB,CAC1E,wBAAyB,CAAC,OAAQ,EAAgB,CACpD,CAAA,CACC,CAAA,CACL,GACJ,CAAA,CACE,CAAA,CACR,GCxRhB,SAAS,EAAgB,EAAsC,EAAkB,CAC7E,OAAQ,EAAR,CACI,IAAK,OACD,MAAO,CAAC,EAAG,EAAG,EAAG,CAAC,EAAS,CAC/B,IAAK,OACD,MAAO,CAAC,EAAG,EAAU,EAAG,EAAE,CAC9B,IAAK,QACD,MAAO,CAAC,EAAG,CAAC,EAAU,EAAG,EAAE,CAC/B,IAAK,OACD,MAAO,CAAC,EAAG,EAAG,EAAG,EAAE,CAEvB,QACI,MAAO,CAAC,EAAG,EAAG,EAAG,EAAS,EAItC,SAAgB,EAAQ,CACpB,WACA,YAAY,KACZ,QAAQ,EACR,WAAW,IACX,WAAW,GACX,OAAO,GACP,UAAU,OACV,YACA,QACA,GAAG,GACU,CACb,IAAM,GAAA,EAAA,EAAA,QAAmC,KAAK,EAE9C,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAO,EAAU,QACvB,GAAI,CAAC,EACD,OAGJ,IAAM,EAAuB,OAAO,WAAW,mCAAmC,CAAC,QAInF,GAFA,EAAK,UAAU,OAAO,WAAW,CAE7B,EAAsB,CACtB,EAAK,UAAU,IAAI,WAAW,CAC9B,OAGJ,GAAI,IAAY,QAAS,CACrB,IAAM,EAAQ,OAAO,0BAA4B,CAC7C,EAAK,UAAU,IAAI,WAAW,EAChC,CAEF,UAAa,OAAO,qBAAqB,EAAM,CAGnD,IAAM,EAAW,IAAI,qBAChB,GAAY,CACT,IAAK,IAAM,KAAS,EACZ,EAAM,gBACN,EAAK,UAAU,IAAI,WAAW,CAC1B,GACA,EAAS,YAAY,EAEjB,GACR,EAAK,UAAU,OAAO,WAAW,EAI7C,CAAC,UAAW,GAAI,CACnB,CAID,OAFA,EAAS,QAAQ,EAAK,KAET,EAAS,YAAY,EACnC,CAAC,EAAO,EAAW,EAAU,EAAU,EAAM,EAAQ,CAAC,CAEzD,IAAM,EAAS,EAAgB,EAAW,EAAS,CAC7C,EAAc,CAChB,SAAU,EACV,SAAU,OACV,iBAAkB,GAAG,EAAM,GAC3B,oBAAqB,GAAG,EAAS,GACjC,uBAAwB,GAAG,EAAO,EAAE,IACpC,uBAAwB,GAAG,EAAO,EAAE,IACpC,GAAG,EACN,CAED,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,IAAK,EAAW,UAAW,EAAA,EAAG,SAAU,EAAU,CAAE,MAAO,EAAa,GAAI,EAC5E,WACC,CAAA,CCvFd,SAAS,EAAS,EAAW,EAAW,EAAmB,CACvD,IAAM,EAAK,GAAc,CACrB,IAAM,GAAK,EAAI,EAAI,IAAM,EACzB,OAAO,EAAI,EAAI,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,EAAI,EAAG,EAAE,CAAC,EAKzD,MAAO,IAAI,CAHD,KAAK,MAAM,EAAE,EAAE,CAAG,IAAI,CACtB,KAAK,MAAM,EAAE,EAAE,CAAG,IAAI,CACtB,KAAK,MAAM,EAAE,EAAE,CAAG,IAAI,CACZ,CAAC,IAAK,GAAM,EAAE,SAAS,GAAG,CAAC,SAAS,EAAG,IAAI,CAAC,CAAC,KAAK,GAAG,GAG7E,SAAS,EAAS,EAAuC,CACrD,IAAM,EAAI,EAAI,QAAQ,IAAK,GAAG,CAAC,MAAM,QAAQ,CAC7C,GAAI,CAAC,EAAG,MAAO,CAAC,EAAG,EAAG,EAAE,CACxB,GAAM,CAAC,EAAG,EAAG,GAAK,EAAE,IAAK,GAAM,SAAS,EAAG,GAAG,CAAG,IAAI,CAC/C,EAAM,KAAK,IAAI,EAAG,EAAG,EAAE,CAEvB,EAAI,EADE,KAAK,IAAI,EAAG,EAAG,EAAE,CAEzB,EAAI,EACJ,IAAM,IACN,AAEK,EAFD,IAAQ,IAAS,EAAI,GAAK,EAAI,GAAK,EAC9B,IAAQ,GAAQ,EAAI,GAAK,EAAI,GAC5B,EAAI,GAAK,EAAI,EACvB,GAAK,IAET,IAAM,EAAI,IAAQ,EAAI,EAAI,EAAI,EAC9B,MAAO,CAAC,EAAG,EAAG,EAAI,CAGtB,SAAS,EAAS,EAAqB,CACnC,IAAM,EAAI,EAAI,QAAQ,IAAK,GAAG,CAAC,MAAM,QAAQ,CAC7C,GAAI,CAAC,EAAG,MAAO,eACf,GAAM,CAAC,EAAG,EAAG,GAAK,EAAE,IAAK,GAAM,SAAS,EAAG,GAAG,CAAC,CAC/C,MAAO,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAGhC,SAAS,EAAS,EAAqB,CACnC,IAAM,EAAI,EAAI,QAAQ,IAAK,GAAG,CAAC,MAAM,QAAQ,CAC7C,GAAI,CAAC,EAAG,MAAO,iBACf,GAAM,CAAC,EAAG,EAAG,GAAK,EAAE,IAAK,GAAM,SAAS,EAAG,GAAG,CAAG,IAAI,CAC/C,EAAM,KAAK,IAAI,EAAG,EAAG,EAAE,CACvB,EAAM,KAAK,IAAI,EAAG,EAAG,EAAE,CACvB,GAAK,EAAM,GAAO,EACpB,EAAI,EACJ,EAAI,EACR,GAAI,IAAQ,EAAK,CACb,IAAM,EAAI,EAAM,EAChB,EAAI,EAAI,GAAM,GAAK,EAAI,EAAM,GAAO,GAAK,EAAM,GAC/C,AAEK,EAFD,IAAQ,IAAS,EAAI,GAAK,EAAI,GAAK,EAC9B,IAAQ,GAAQ,EAAI,GAAK,EAAI,GAC5B,EAAI,GAAK,EAAI,EACvB,GAAK,GAET,MAAO,OAAO,KAAK,MAAM,EAAE,CAAC,IAAI,KAAK,MAAM,EAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAI,IAAI,CAAC,IAGjF,SAAS,EAAa,EAAa,EAAwB,CAGvD,OAFI,IAAW,MAAc,EAAS,EAAI,CACtC,IAAW,MAAc,EAAS,EAAI,CACnC,EAGX,SAAS,EAAe,EAAuB,CAC3C,GAAI,CAAC,EAAO,MAAO,UACnB,GAAI,EAAM,WAAW,IAAI,CAAE,OAAO,EAAM,SAAW,EAAI,EAAQ,UAC/D,IAAM,EAAW,EAAM,MAAM,iCAAiC,CAM9D,OALI,EACO,IAAI,CAAC,EAAS,GAAI,EAAS,GAAI,EAAS,GAAG,CAC7C,IAAK,GAAM,SAAS,EAAE,CAAC,SAAS,GAAG,CAAC,SAAS,EAAG,IAAI,CAAC,CACrD,KAAK,GAAG,GAEV,UAGX,IAAM,EAAmB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACH,CAED,SAAgB,EAAa,CACzB,QACA,WACA,WAAW,EACX,SAAS,MACT,OAAO,KACP,QACA,WAAW,GACX,YACA,GAAG,GACe,CAClB,IAAM,EAAM,EAAe,GAAS,UAAU,CACxC,CAAC,EAAK,IAAA,EAAA,EAAA,cAAmD,EAAS,EAAI,CAAC,CACvE,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAa,EAAK,EAAO,CAAC,CACjE,GAAA,EAAA,EAAA,QAAiC,KAAK,CACtC,GAAA,EAAA,EAAA,QAAgC,KAAK,CACrC,GAAA,EAAA,EAAA,QAAyC,KAAK,EAEpD,EAAA,EAAA,eAAgB,CACZ,IAAM,EAAS,EAAe,GAAS,UAAU,CACjD,EAAO,EAAS,EAAO,CAAC,CACxB,EAAc,EAAa,EAAQ,EAAO,CAAC,EAC5C,CAAC,EAAO,EAAO,CAAC,CAEnB,IAAM,GAAA,EAAA,EAAA,cACD,EAAW,EAAW,IAAc,CACjC,IAAM,EAAS,EAAS,EAAG,EAAG,EAAE,CAChC,EAAO,CAAC,EAAG,EAAG,EAAE,CAAC,CACjB,EAAc,EAAa,EAAQ,EAAO,CAAC,CAC3C,IAAW,EAAa,EAAQ,EAAO,CAAC,EAE5C,CAAC,EAAU,EAAO,CACrB,CAED,SAAS,EAAkB,EAAsC,CAC7D,IAAM,EAAO,EAAQ,SAAS,uBAAuB,CACrD,GAAI,CAAC,EAAM,OACX,IAAM,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,GAAI,EAAE,QAAU,EAAK,MAAQ,EAAK,MAAM,CAAC,CAClE,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAG,GAAK,EAAE,QAAU,EAAK,KAAO,EAAK,OAAO,CAAC,CAC5E,EAAK,EAAI,GAAI,EAAG,EAAE,CAGtB,SAAS,EAAiB,EAAsC,CAC5D,IAAM,EAAO,EAAO,SAAS,uBAAuB,CAC/C,GAEL,EADU,KAAK,IAAI,EAAG,KAAK,IAAI,KAAO,EAAE,QAAU,EAAK,MAAQ,EAAK,MAAS,IAAI,CAAC,CAC1E,EAAI,GAAI,EAAI,GAAG,EAG3B,EAAA,EAAA,eAAgB,CACZ,SAAS,EAAO,EAAiB,CACzB,EAAS,UAAY,OAAQ,EAAkB,EAAE,CAC5C,EAAS,UAAY,OAAO,EAAiB,EAAE,CAE5D,SAAS,GAAO,CACZ,EAAS,QAAU,KAIvB,OAFA,OAAO,iBAAiB,cAAe,EAAO,CAC9C,OAAO,iBAAiB,YAAa,EAAK,KAC7B,CACT,OAAO,oBAAoB,cAAe,EAAO,CACjD,OAAO,oBAAoB,YAAa,EAAK,GAEnD,CAEF,SAAS,EAAkB,EAAa,CACpC,EAAc,EAAI,CAClB,GAAI,CACA,IAAM,EAAI,EAAe,EAAI,EACzB,IAAM,WAAa,IAAQ,WAAa,EAAI,aAAa,GAAK,kBAC9D,EAAO,EAAS,EAAE,CAAC,CACnB,IAAW,EAAa,EAAG,EAAO,CAAC,OAEnC,GAKZ,IAAM,EAAa,EAAS,EAAI,GAAI,EAAI,GAAI,EAAI,GAAG,CAEnD,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,eAAgB,EAAM,GAAY,WAAY,EAAU,CAAE,GAAI,WAAjF,CACK,IAAS,EAAA,EAAA,KAAC,QAAD,CAAO,UAAU,iBAAS,EAAc,CAAA,EAElD,EAAA,EAAA,MAAC,MAAD,CACI,IAAK,EACL,UAAU,OACV,MAAO,CAAC,WAAY,OAAO,EAAI,GAAG,cAAc,CAChD,cAAgB,GAAM,CACd,IACJ,EAAS,QAAU,OACnB,EAAkB,EAAE,YAP5B,EAUI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,QAAU,CAAA,EACzB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,QAAU,CAAA,EACzB,EAAA,EAAA,KAAC,MAAD,CACI,UAAU,SACV,MAAO,CACH,KAAM,GAAG,EAAI,GAAK,IAAI,GACtB,IAAK,IAAI,EAAI,EAAI,IAAM,IAAI,GAC3B,WAAY,EACf,CACH,CAAA,CACA,IAEN,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,UAAU,MACV,cAAgB,GAAM,CACd,IACJ,EAAS,QAAU,MACnB,EAAiB,EAAE,aAGvB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,YAAY,MAAO,CAAC,KAAM,GAAI,EAAI,GAAK,IAAO,IAAI,GAAG,CAAI,CAAA,CACtE,CAAA,EAEN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,oBAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,UAAU,MAAO,CAAC,WAAY,EAAW,CAAI,CAAA,EAC5D,EAAA,EAAA,KAAC,QAAD,CACI,KAAK,OACL,UAAU,QACV,MAAO,EACP,SAAW,GAAM,EAAkB,EAAE,OAAO,MAAM,CACxC,WACZ,CAAA,CACA,GAEL,EAAS,OAAS,IACf,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,oBACV,EAAS,IAAK,IACX,EAAA,EAAA,KAAC,SAAD,CAEI,KAAK,SACL,UAAW,EAAA,EAAG,SAAU,EAAW,aAAa,GAAK,EAAO,aAAa,EAAI,SAAS,CACtF,MAAO,CAAC,WAAY,EAAO,CAC3B,YAAe,CACX,GAAI,EAAU,OACd,GAAM,CAAC,EAAG,EAAG,GAAK,EAAS,EAAO,CAClC,EAAK,EAAG,EAAG,EAAE,EAEnB,CATO,EASP,CACJ,CACA,CAAA,CAER,GCzOd,IAAM,EAAkB,CAAC,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAK,CAE1E,SAAgB,EAAY,CACxB,OACA,eACA,QACA,cACA,aACA,WACA,QAAQ,UACR,OAAO,KACP,YACA,WACA,GAAG,GACc,CACjB,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,SAAS,IAAS,EAAM,EAAU,CAAE,GAAI,WAA1E,CACK,IACG,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,yDACK,EAAa,EAAA,EAAA,EAAA,cAAgB,EAAc,CAAC,QAAM,CAAQ,CAAG,EAC3E,CAAA,CAET,CAAC,GAAgB,IAAQ,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,4BAAoB,EAAW,CAAA,EACxE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,+BAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,6BAAqB,EAAY,CAAA,CAC/C,IAAe,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,mCAA2B,EAAkB,CAAA,CAC1E,GACL,GAAc,IACX,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,+BACX,EAAA,EAAA,KAAC,EAAA,EAAD,CAAS,KAAM,EAAgB,GAAO,QAAQ,WAAkB,QAAO,QAAS,WAC3E,EACK,CAAA,CACR,CAAA,CAET,EACC,GClCd,SAAgB,EAAM,CAClB,WACA,SAAS,EACT,SAAS,QACT,WACA,kBAAkB,GAClB,WACA,SAAS,GACT,YACA,QACA,UACA,YACA,GAAG,GACQ,CACX,IAAM,EAAa,IAAa,IAAA,GAC1B,CAAC,EAAU,IAAA,EAAA,EAAA,UAAwB,EAAgB,CACnD,EAAa,EAAa,EAAW,EACrC,EAAc,IAAW,OAEzB,GAAA,EAAA,EAAA,aACD,GAAkB,CACV,GACD,EAAY,EAAK,CAErB,IAAW,EAAK,EAEpB,CAAC,EAAY,EAAS,CACzB,CAEK,EAAe,GAAuC,CACpD,IAAW,SACX,EAAY,CAAC,EAAW,CAE5B,IAAU,EAAM,EAGd,EAAiB,GAA0C,CACzD,IAAW,UAAY,EAAM,MAAQ,SAAW,EAAM,MAAQ,OAC9D,EAAM,gBAAgB,CACtB,EAAY,CAAC,EAAW,EAE5B,IAAY,EAAM,EAGhB,EAA6B,CAC/B,GAAG,EACF,wBAAoC,GAAG,EAAO,IAClD,CAED,OACI,EAAA,EAAA,KAAC,OAAD,CACI,UAAW,EAAA,EAAG,OAAQ,EAAS,SAAW,QAAS,UAAU,IAAU,GAAc,WAAY,EAAU,CAC3G,MAAO,EACP,SAAU,GAAe,IAAW,QAAU,EAAI,IAAA,GAClD,KAAM,IAAW,QAAU,SAAW,IAAA,GACtC,eAAc,IAAW,QAAU,EAAa,IAAA,GAChD,QAAS,EACT,UAAW,EACX,GAAI,YAEJ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,aAAc,cAAa,CAAC,EACxC,WACE,CAAA,CACJ,CAAA,CC/Df,IAAM,EAAoC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAG,CAElF,SAAgB,EAAM,EAAoB,CACtC,OAAO,KAGX,SAAgB,EAAS,CACrB,aACA,UAAU,aACV,QAAQ,UACR,OAAO,KACP,YAAY,GACZ,WACA,YACA,WACA,GAAG,GACW,CACd,IAAM,EAAQ,EAAA,SAAS,QAAQ,EAAS,CAAC,OAAQ,IAAA,EAAA,EAAA,gBAAyB,EAAM,EAAK,EAAM,OAAiB,EAAM,CAElH,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,UAAW,EAAS,SAAS,IAAS,EAAM,EAAU,CAAE,KAAK,OAAO,GAAI,WACtF,EAAM,KAAK,EAAO,IAAU,CACzB,GAAI,EAAA,EAAA,EAAA,gBAA4B,EAAM,CAAE,OAAO,KAC/C,GAAM,CAAC,KAAI,QAAO,cAAa,OAAM,WAAU,WAAU,SAAS,EAAM,MAClE,EAAW,IAAU,EACrB,EAAc,EAAQ,EACtB,EAAc,GAAa,CAAC,EAE5B,MAAoB,CAClB,GAAe,GACf,EAAS,EAAM,EAIvB,OACI,EAAA,EAAA,MAAC,MAAD,CAEI,UAAW,EAAA,EACP,eACA,GAAY,SACZ,GAAe,YACf,GAAY,WACZ,GAAS,QACT,GAAe,YAClB,CACD,KAAK,WACL,eAAc,EAAW,OAAS,IAAA,YAXtC,EAaI,EAAA,EAAA,KAAC,MAAD,CACI,UAAU,oBACV,QAAS,EAAc,EAAc,IAAA,GACrC,KAAM,EAAc,SAAW,IAAA,GAC/B,SAAU,EAAc,EAAI,IAAA,GAC5B,UACI,EACO,GAAM,EACC,EAAE,MAAQ,SAAW,EAAE,MAAQ,OAC/B,EAAE,gBAAgB,CAClB,GAAa,GAGrB,IAAA,YAGT,EACK,IACA,EACG,IAAQ,EAAA,EAAA,KAAC,EAAA,GAAD,CAAY,KAAM,EAAW,GAAS,CAAA,CAC9C,GAAQ,EAAQ,EACvB,CAAA,EACN,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2BAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAiB,EAAa,CAAA,CAC7C,IAAe,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,+BAAuB,EAAmB,CAAA,CACzE,IAAY,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,4BAAmB,WAAe,CAAA,CAC7D,GACJ,EAvCG,EAuCH,EAEZ,CACA,CAAA,CChFd,SAAgB,EAAc,EAA4B,CACtD,OAAO,KAGX,SAAgB,EAAU,CACtB,QAAQ,OACR,QAAQ,UACR,OAAO,KACP,YACA,WACA,GAAG,GACY,CACf,IAAM,EAAQ,EAAA,SAAS,QAAQ,EAAS,CAAC,OACpC,IAAA,EAAA,EAAA,gBAAyB,EAAM,EAAK,EAAM,OAAiB,EAC/D,CAED,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,WAAY,SAAS,IAAS,SAAS,IAAS,EAAM,EAAU,CAAE,GAAI,WACpF,EAAM,KAAK,EAAO,IAAU,CACzB,GAAI,EAAA,EAAA,EAAA,gBAAoC,EAAM,CAAE,OAAO,KACvD,GAAM,CAAC,KAAI,QAAO,cAAa,OAAM,OAAM,MAAO,GAAa,EAAM,MAC/D,EAAO,IAAU,YAAe,EAAQ,GAAM,EAAI,OAAS,QAAW,IAAA,GAE5E,OACI,EAAA,EAAA,MAAC,MAAD,CAAc,UAAW,EAAA,EAAG,gBAAiB,GAAQ,QAAQ,IAAO,UAApE,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,eAAgB,GAAa,SAAS,IAAY,UAAG,EAAW,CAAA,EACnF,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4BAAf,EACI,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,0BAAkB,EAAa,CAAA,CAC9C,IAAe,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,gCAAwB,EAAmB,CAAA,CAC1E,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,yBAAiB,EAAY,CAAA,CACpD,GACJ,EAPI,EAOJ,EAEZ,CACA,CAAA"}
1
+ {"version":3,"file":"display-96-TEGmZ.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/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 {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,9 +1,9 @@
1
1
  import { Ii as e, Ni as t, rn as n } from "./icons-CfpYxnfg.js";
2
2
  import { t as r } from "./cn-YER3QsV1.js";
3
- import { n as i, t as a } from "./MStack-DFIc3S4_.js";
4
- import { t as o } from "./MText-DcB1GAt-.js";
5
- import { t as s } from "./MButton-DZLLrtQb.js";
6
- import { a as c, n as l, r as u, s as d } from "./MSkeleton-BvXgnYs_.js";
3
+ import { n as i, t as a } from "./MStack-C4Eocfb5.js";
4
+ import { t as o } from "./MText-CL-LPcXi.js";
5
+ import { t as s } from "./MButton-C1pnL4_j.js";
6
+ import { a as c, n as l, r as u, s as d } from "./MSkeleton-CVofhuDp.js";
7
7
  import { Children as f, cloneElement as p, isValidElement as m, useCallback as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react";
8
8
  import { jsx as b, jsxs as x } from "react/jsx-runtime";
9
9
  //#region src/components/display/MCollapsible/MCollapsible.tsx
@@ -732,4 +732,4 @@ function ne({ align: e = "left", color: t = "primary", size: n = "md", className
732
732
  //#endregion
733
733
  export { Z as a, B as c, D as d, w as f, te as i, R as l, S as m, $ as n, X as o, C as p, Q as r, J as s, ne as t, O as u };
734
734
 
735
- //# sourceMappingURL=display-DyC7084n.js.map
735
+ //# sourceMappingURL=display-C7YRf4Ze.js.map