@banzamel/mineralui 1.9.1 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. package/README.md +22 -55
  2. package/dist/MAvatar-BElYyQXH.cjs +2 -0
  3. package/dist/MAvatar-BElYyQXH.cjs.map +1 -0
  4. package/dist/MAvatar-CIvYzQV4.js +63 -0
  5. package/dist/MAvatar-CIvYzQV4.js.map +1 -0
  6. package/dist/{MButton-C1pnL4_j.js → MButton-C94fZ3l9.js} +1 -1
  7. package/dist/{MButton-C1pnL4_j.js.map → MButton-C94fZ3l9.js.map} +1 -1
  8. package/dist/{MButton-DFRHWHzh.cjs → MButton-ouB6903s.cjs} +2 -2
  9. package/dist/{MButton-DFRHWHzh.cjs.map → MButton-ouB6903s.cjs.map} +1 -1
  10. package/dist/MButtonGroup-BhGt-Yy1.js +30 -0
  11. package/dist/MButtonGroup-BhGt-Yy1.js.map +1 -0
  12. package/dist/MButtonGroup-yumQneDa.cjs +2 -0
  13. package/dist/MButtonGroup-yumQneDa.cjs.map +1 -0
  14. package/dist/MCard-9ucghJJs.js +89 -0
  15. package/dist/MCard-9ucghJJs.js.map +1 -0
  16. package/dist/MCard-Bg_R86Gr.cjs +2 -0
  17. package/dist/MCard-Bg_R86Gr.cjs.map +1 -0
  18. package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-B-nT2OBE.js} +1 -1
  19. package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-B-nT2OBE.js.map} +1 -1
  20. package/dist/{MCheckbox-Dn3p_9-1.cjs → MCheckbox-Cbk5hwzJ.cjs} +2 -2
  21. package/dist/{MCheckbox-Dn3p_9-1.cjs.map → MCheckbox-Cbk5hwzJ.cjs.map} +1 -1
  22. package/dist/MDetailList-CpwrF22b.cjs +2 -0
  23. package/dist/MDetailList-CpwrF22b.cjs.map +1 -0
  24. package/dist/MDetailList-Gh5Y0UOx.js +89 -0
  25. package/dist/MDetailList-Gh5Y0UOx.js.map +1 -0
  26. package/dist/{MDropdownMenu-c9U3sEcl.cjs → MDropdownMenu-BT3u-ZJj.cjs} +2 -2
  27. package/dist/{MDropdownMenu-c9U3sEcl.cjs.map → MDropdownMenu-BT3u-ZJj.cjs.map} +1 -1
  28. package/dist/{MDropdownMenu-CeiC1tz3.js → MDropdownMenu-CAwSTZ1h.js} +2 -2
  29. package/dist/{MDropdownMenu-CeiC1tz3.js.map → MDropdownMenu-CAwSTZ1h.js.map} +1 -1
  30. package/dist/{MGalleryIllustration-Dglx_Ckc.cjs → MGalleryIllustration-D1givjFR.cjs} +2 -2
  31. package/dist/{MGalleryIllustration-Dglx_Ckc.cjs.map → MGalleryIllustration-D1givjFR.cjs.map} +1 -1
  32. package/dist/MGrid-Di7laCq4.cjs +2 -0
  33. package/dist/MGrid-Di7laCq4.cjs.map +1 -0
  34. package/dist/MGrid-yLmEteNw.js +265 -0
  35. package/dist/MGrid-yLmEteNw.js.map +1 -0
  36. package/dist/{MHeading-f3hwkW3r.cjs → MHeading-TJ5yvklz.cjs} +2 -2
  37. package/dist/{MHeading-f3hwkW3r.cjs.map → MHeading-TJ5yvklz.cjs.map} +1 -1
  38. package/dist/{MI18nProvider-DOh5xexz.cjs → MI18nProvider-bf1G7lTP.cjs} +2 -2
  39. package/dist/{MI18nProvider-DOh5xexz.cjs.map → MI18nProvider-bf1G7lTP.cjs.map} +1 -1
  40. package/dist/{MInput-IsUELgN2.js → MInput-CkbgK8eU.js} +3 -3
  41. package/dist/{MInput-IsUELgN2.js.map → MInput-CkbgK8eU.js.map} +1 -1
  42. package/dist/{MInput-BLGduKL_.cjs → MInput-ClHpIrDG.cjs} +2 -2
  43. package/dist/{MInput-BLGduKL_.cjs.map → MInput-ClHpIrDG.cjs.map} +1 -1
  44. package/dist/MInputCVC-B353PyVi.cjs +2 -0
  45. package/dist/MInputCVC-B353PyVi.cjs.map +1 -0
  46. package/dist/{MInputExpDate-CeCmw6fj.js → MInputCVC-BSHrWcEh.js} +101 -101
  47. package/dist/MInputCVC-BSHrWcEh.js.map +1 -0
  48. package/dist/{MInputSearch-_7jfFGr1.cjs → MInputSearch-D2Fr_34s.cjs} +2 -2
  49. package/dist/{MInputSearch-_7jfFGr1.cjs.map → MInputSearch-D2Fr_34s.cjs.map} +1 -1
  50. package/dist/{MInputSearch-BBxUF5pw.js → MInputSearch-Dj55a3oO.js} +3 -3
  51. package/dist/{MInputSearch-BBxUF5pw.js.map → MInputSearch-Dj55a3oO.js.map} +1 -1
  52. package/dist/{MKbd-DWTS3iS5.cjs → MKbd-CGkzxJhi.cjs} +2 -2
  53. package/dist/{MKbd-DWTS3iS5.cjs.map → MKbd-CGkzxJhi.cjs.map} +1 -1
  54. package/dist/{MKbd-v6-tJ9sP.js → MKbd-I4xDtsqc.js} +1 -1
  55. package/dist/{MKbd-v6-tJ9sP.js.map → MKbd-I4xDtsqc.js.map} +1 -1
  56. package/dist/{MLink-CRK8YvR4.cjs → MLink-CZ2FfQ0N.cjs} +2 -2
  57. package/dist/{MLink-CRK8YvR4.cjs.map → MLink-CZ2FfQ0N.cjs.map} +1 -1
  58. package/dist/{MPagination-D1hYqLDb.cjs → MPagination-CAzIIP2o.cjs} +2 -2
  59. package/dist/{MPagination-D1hYqLDb.cjs.map → MPagination-CAzIIP2o.cjs.map} +1 -1
  60. package/dist/{MPagination-DvToi2cs.js → MPagination-CnFI794t.js} +7 -7
  61. package/dist/{MPagination-DvToi2cs.js.map → MPagination-CnFI794t.js.map} +1 -1
  62. package/dist/{MPopover-Cqz5TsHg.js → MPopover-BRuwva-c.js} +2 -2
  63. package/dist/MPopover-BRuwva-c.js.map +1 -0
  64. package/dist/MPopover-BbgAAM5Z.cjs +2 -0
  65. package/dist/MPopover-BbgAAM5Z.cjs.map +1 -0
  66. package/dist/{MPortal-BIxPtFYd.cjs → MPortal-DokH9TfY.cjs} +2 -2
  67. package/dist/{MPortal-BIxPtFYd.cjs.map → MPortal-DokH9TfY.cjs.map} +1 -1
  68. package/dist/{MSimpleGrid-CyLf-9R2.cjs → MSimpleGrid-B6Uh1XJY.cjs} +2 -2
  69. package/dist/{MSimpleGrid-CyLf-9R2.cjs.map → MSimpleGrid-B6Uh1XJY.cjs.map} +1 -1
  70. package/dist/{MSimpleGrid-Bojj4xKH.js → MSimpleGrid-Ds14eBrD.js} +1 -1
  71. package/dist/{MSimpleGrid-Bojj4xKH.js.map → MSimpleGrid-Ds14eBrD.js.map} +1 -1
  72. package/dist/MSkeleton-BpylRABV.js +53 -0
  73. package/dist/MSkeleton-BpylRABV.js.map +1 -0
  74. package/dist/MSkeleton-JMkJFzu9.cjs +2 -0
  75. package/dist/MSkeleton-JMkJFzu9.cjs.map +1 -0
  76. package/dist/{MSlider-CqrusKJQ.js → MSlider-5141rKeH.js} +1 -1
  77. package/dist/{MSlider-CqrusKJQ.js.map → MSlider-5141rKeH.js.map} +1 -1
  78. package/dist/{MSlider-qCGmD4UA.cjs → MSlider-PyXLKckL.cjs} +2 -2
  79. package/dist/{MSlider-qCGmD4UA.cjs.map → MSlider-PyXLKckL.cjs.map} +1 -1
  80. package/dist/MStack-B8JtyM10.js +39 -0
  81. package/dist/MStack-B8JtyM10.js.map +1 -0
  82. package/dist/MStack-DDn2bYBQ.cjs +2 -0
  83. package/dist/MStack-DDn2bYBQ.cjs.map +1 -0
  84. package/dist/{MSurface-odrvQXkb.js → MSurface-B-sjyczH.js} +34 -3
  85. package/dist/MSurface-B-sjyczH.js.map +1 -0
  86. package/dist/MSurface-WsYGNGX5.cjs +2 -0
  87. package/dist/MSurface-WsYGNGX5.cjs.map +1 -0
  88. package/dist/{MTag-DgB6ukFJ.js → MTag-CKM8lXD6.js} +3 -3
  89. package/dist/{MTag-DgB6ukFJ.js.map → MTag-CKM8lXD6.js.map} +1 -1
  90. package/dist/{MTag-DZqV4S13.cjs → MTag-Dez1GOX0.cjs} +2 -2
  91. package/dist/{MTag-DZqV4S13.cjs.map → MTag-Dez1GOX0.cjs.map} +1 -1
  92. package/dist/{MText-BHbI7KJO.cjs → MText-CAbqC2qZ.cjs} +2 -2
  93. package/dist/{MText-BHbI7KJO.cjs.map → MText-CAbqC2qZ.cjs.map} +1 -1
  94. package/dist/{MTooltip-Dq2vYf3G.cjs → MTooltip-C-x_SqMx.cjs} +2 -2
  95. package/dist/{MTooltip-Dq2vYf3G.cjs.map → MTooltip-C-x_SqMx.cjs.map} +1 -1
  96. package/dist/{MTooltip-jSf4VBtB.js → MTooltip-Cbj80F3o.js} +1 -1
  97. package/dist/{MTooltip-jSf4VBtB.js.map → MTooltip-Cbj80F3o.js.map} +1 -1
  98. package/dist/MTreeView-B7IWHmGc.cjs +2 -0
  99. package/dist/MTreeView-B7IWHmGc.cjs.map +1 -0
  100. package/dist/MTreeView-DMTzRk6c.js +315 -0
  101. package/dist/MTreeView-DMTzRk6c.js.map +1 -0
  102. package/dist/{arduino-Bm509TuR.cjs → arduino-CFZS94LP.cjs} +1 -1
  103. package/dist/arduino-CFZS94LP.cjs.map +1 -0
  104. package/dist/{arduino-C5s1z3P1.js → arduino-DWEBiENP.js} +2 -2
  105. package/dist/arduino-DWEBiENP.js.map +1 -0
  106. package/dist/{bash-RIFbRcCe.js → bash-DQsQM8so.js} +2 -2
  107. package/dist/bash-DQsQM8so.js.map +1 -0
  108. package/dist/{bash-CyBbinAU.cjs → bash-Dl1TvWHd.cjs} +1 -1
  109. package/dist/bash-Dl1TvWHd.cjs.map +1 -0
  110. package/dist/{c-DAywn1DE.js → c-BgkSGJWN.js} +2 -2
  111. package/dist/c-BgkSGJWN.js.map +1 -0
  112. package/dist/{c-DGOxo0dj.cjs → c-PUMyVGnz.cjs} +1 -1
  113. package/dist/c-PUMyVGnz.cjs.map +1 -0
  114. package/dist/cards-23tpYjxc.js +1207 -0
  115. package/dist/cards-23tpYjxc.js.map +1 -0
  116. package/dist/cards-CK6RnNZi.cjs +2 -0
  117. package/dist/cards-CK6RnNZi.cjs.map +1 -0
  118. package/dist/cards.cjs +1 -1
  119. package/dist/cards.js +3 -3
  120. package/dist/components/cards/MCardGrid/index.d.ts +1 -1
  121. package/dist/components/cards/index.d.ts +1 -9
  122. package/dist/components/data/index.d.ts +4 -24
  123. package/dist/components/data/useMCardGrid.d.ts +36 -0
  124. package/dist/components/data/useMTable.d.ts +69 -0
  125. package/dist/components/display/index.d.ts +0 -8
  126. package/dist/components/feedback/MProgressRing/MProgressRing.d.ts +8 -0
  127. package/dist/components/feedback/MProgressRing/MProgressRing.types.d.ts +21 -0
  128. package/dist/components/feedback/MProgressRing/index.d.ts +2 -0
  129. package/dist/components/feedback/index.d.ts +2 -1
  130. package/dist/components/layout/MCanvasGrid/MCanvasGrid.d.ts +5 -0
  131. package/dist/components/layout/MCanvasGrid/MCanvasGrid.types.d.ts +43 -0
  132. package/dist/components/layout/MCanvasGrid/ScaleToFit.d.ts +19 -0
  133. package/dist/components/layout/MCanvasGrid/index.d.ts +2 -0
  134. package/dist/components/layout/index.d.ts +2 -4
  135. package/dist/components/media/MAvatar/MAvatar.d.ts +1 -1
  136. package/dist/components/media/MAvatar/MAvatar.types.d.ts +9 -0
  137. package/dist/components/media/MAvatar/index.d.ts +1 -1
  138. package/dist/components/media/index.d.ts +1 -17
  139. package/dist/components/typography/MHeading/MHeading.d.ts +1 -1
  140. package/dist/{controls-CcbEqqWo.js → controls-B3P4zKoA.js} +85 -63
  141. package/dist/controls-B3P4zKoA.js.map +1 -0
  142. package/dist/controls-DwWfqfDX.cjs +2 -0
  143. package/dist/controls-DwWfqfDX.cjs.map +1 -0
  144. package/dist/controls.cjs +1 -1
  145. package/dist/controls.js +6 -6
  146. package/dist/{core-DAox0BHy.cjs → core-B2klLGki.cjs} +1 -1
  147. package/dist/core-B2klLGki.cjs.map +1 -0
  148. package/dist/{core-BUYr52VU.js → core-BdOw9NlN.js} +1 -1
  149. package/dist/core-BdOw9NlN.js.map +1 -0
  150. package/dist/{cpp-D-FtdQo9.cjs → cpp-C_DS-imi.cjs} +1 -1
  151. package/dist/cpp-C_DS-imi.cjs.map +1 -0
  152. package/dist/{cpp-Y9cHXDal.js → cpp-ChrqJwqu.js} +2 -2
  153. package/dist/cpp-ChrqJwqu.js.map +1 -0
  154. package/dist/{css-DCYZ-Rs6.cjs → css-Brdthutg.cjs} +1 -1
  155. package/dist/css-Brdthutg.cjs.map +1 -0
  156. package/dist/{css-C__ffGj6.js → css-DL_ID0lZ.js} +2 -2
  157. package/dist/css-DL_ID0lZ.js.map +1 -0
  158. package/dist/data-B5KYb0SW.js +463 -0
  159. package/dist/data-B5KYb0SW.js.map +1 -0
  160. package/dist/data-CDZvakQ8.cjs +2 -0
  161. package/dist/data-CDZvakQ8.cjs.map +1 -0
  162. package/dist/data.cjs +1 -1
  163. package/dist/data.js +3 -4
  164. package/dist/display-2Vak-RyH.cjs +3 -0
  165. package/dist/display-2Vak-RyH.cjs.map +1 -0
  166. package/dist/{display-C7YRf4Ze.js → display-ChhvaSPc.js} +288 -241
  167. package/dist/display-ChhvaSPc.js.map +1 -0
  168. package/dist/display.cjs +1 -1
  169. package/dist/display.js +3 -4
  170. package/dist/dropdowns-BP2HBR-x.cjs +2 -0
  171. package/dist/dropdowns-BP2HBR-x.cjs.map +1 -0
  172. package/dist/dropdowns-C9jREjLg.js +1752 -0
  173. package/dist/dropdowns-C9jREjLg.js.map +1 -0
  174. package/dist/dropdowns.cjs +1 -1
  175. package/dist/dropdowns.js +1 -1
  176. package/dist/feedback-DnuJtYUI.cjs +2 -0
  177. package/dist/feedback-DnuJtYUI.cjs.map +1 -0
  178. package/dist/feedback-urwS5wps.js +290 -0
  179. package/dist/feedback-urwS5wps.js.map +1 -0
  180. package/dist/feedback.cjs +1 -1
  181. package/dist/feedback.js +5 -6
  182. package/dist/{form-BiPQ8SRK.js → form-CWoOQ_qo.js} +1 -1
  183. package/dist/{form-BiPQ8SRK.js.map → form-CWoOQ_qo.js.map} +1 -1
  184. package/dist/{form-DlXWN2ul.cjs → form-D5F1kTIA.cjs} +2 -2
  185. package/dist/{form-DlXWN2ul.cjs.map → form-D5F1kTIA.cjs.map} +1 -1
  186. package/dist/form.cjs +1 -1
  187. package/dist/form.js +1 -1
  188. package/dist/i18n.cjs +1 -1
  189. package/dist/icons/MIcon.types.d.ts +6 -0
  190. package/dist/icons/glyphs/MAirplaneFillIcon.d.ts +2 -0
  191. package/dist/icons/glyphs/{MBrandIconsV2.d.ts → MAirplaneIcon.d.ts} +1 -1
  192. package/dist/icons/glyphs/MApartmentIcon.d.ts +2 -0
  193. package/dist/icons/glyphs/{MChartIconV2.d.ts → MArchiveIcon.d.ts} +1 -1
  194. package/dist/icons/glyphs/MBookIcon.d.ts +2 -0
  195. package/dist/icons/glyphs/MBookOpenFillIcon.d.ts +2 -0
  196. package/dist/icons/glyphs/{MSearchIconV2.d.ts → MBookOpenIcon.d.ts} +1 -1
  197. package/dist/icons/glyphs/MBookmarkFillIcon.d.ts +2 -0
  198. package/dist/icons/glyphs/MBookmarkIcon.d.ts +2 -0
  199. package/dist/icons/glyphs/MBooksIcon.d.ts +2 -0
  200. package/dist/icons/glyphs/MCarFillIcon.d.ts +2 -0
  201. package/dist/icons/glyphs/MCarIcon.d.ts +2 -0
  202. package/dist/icons/glyphs/MClassroomIcon.d.ts +2 -0
  203. package/dist/icons/glyphs/MColumnsIcon.d.ts +2 -0
  204. package/dist/icons/glyphs/{MUserIconV2.d.ts → MFlagAtIcon.d.ts} +1 -1
  205. package/dist/icons/glyphs/{MHomeIconV2.d.ts → MFlagAuIcon.d.ts} +1 -1
  206. package/dist/icons/glyphs/MFlagChIcon.d.ts +2 -0
  207. package/dist/icons/glyphs/MFlagIeIcon.d.ts +2 -0
  208. package/dist/icons/glyphs/MFlagKrIcon.d.ts +2 -0
  209. package/dist/icons/glyphs/MFlagNlIcon.d.ts +2 -0
  210. package/dist/icons/glyphs/MFlagNoIcon.d.ts +2 -0
  211. package/dist/icons/glyphs/MFlagPtIcon.d.ts +2 -0
  212. package/dist/icons/glyphs/MFlagSeIcon.d.ts +2 -0
  213. package/dist/icons/glyphs/MFlagTrIcon.d.ts +2 -0
  214. package/dist/icons/glyphs/MFlatIcon.d.ts +2 -0
  215. package/dist/icons/glyphs/MHistoryIcon.d.ts +2 -0
  216. package/dist/icons/glyphs/MHouseIcon.d.ts +2 -0
  217. package/dist/icons/glyphs/MKeyIcon.d.ts +2 -0
  218. package/dist/icons/glyphs/MLessonIcon.d.ts +2 -0
  219. package/dist/icons/glyphs/MListIcon.d.ts +2 -0
  220. package/dist/icons/glyphs/MMakeupIcon.d.ts +2 -0
  221. package/dist/icons/glyphs/MMoveIcon.d.ts +2 -0
  222. package/dist/icons/glyphs/MPlayIcon.d.ts +2 -0
  223. package/dist/icons/glyphs/MPrinterIcon.d.ts +2 -0
  224. package/dist/icons/glyphs/MRedoIcon.d.ts +2 -0
  225. package/dist/icons/glyphs/MResizeIcon.d.ts +2 -0
  226. package/dist/icons/glyphs/MRoomIcon.d.ts +2 -0
  227. package/dist/icons/glyphs/MShareIcon.d.ts +2 -0
  228. package/dist/icons/glyphs/MShipIcon.d.ts +2 -0
  229. package/dist/icons/glyphs/MShopIcon.d.ts +2 -0
  230. package/dist/icons/glyphs/MStopIcon.d.ts +2 -0
  231. package/dist/icons/glyphs/MTaskIcon.d.ts +2 -0
  232. package/dist/icons/glyphs/MUndoIcon.d.ts +2 -0
  233. package/dist/icons/glyphs/MUrgentIcon.d.ts +2 -0
  234. package/dist/icons/glyphs/MUserCheckIcon.d.ts +2 -0
  235. package/dist/icons/glyphs/MUserMinusIcon.d.ts +2 -0
  236. package/dist/icons/glyphs/MUserPlusIcon.d.ts +2 -0
  237. package/dist/icons/index.d.ts +48 -13
  238. package/dist/icons-BHFwX7ri.cjs +2 -0
  239. package/dist/icons-BHFwX7ri.cjs.map +1 -0
  240. package/dist/{icons-CfpYxnfg.js → icons-DLP-Rs6z.js} +1325 -1925
  241. package/dist/icons-DLP-Rs6z.js.map +1 -0
  242. package/dist/icons.cjs +1 -1
  243. package/dist/icons.js +2 -2
  244. package/dist/illustrations.cjs +1 -1
  245. package/dist/index.cjs +1 -2
  246. package/dist/index.d.ts +0 -2
  247. package/dist/index.js +53 -93
  248. package/dist/{inputs-BJMmyEdL.cjs → inputs-D38ib0gM.cjs} +2 -2
  249. package/dist/{inputs-BJMmyEdL.cjs.map → inputs-D38ib0gM.cjs.map} +1 -1
  250. package/dist/{inputs-CNPeF6gb.js → inputs-bbwdb6m3.js} +181 -181
  251. package/dist/{inputs-CNPeF6gb.js.map → inputs-bbwdb6m3.js.map} +1 -1
  252. package/dist/inputs.cjs +1 -1
  253. package/dist/inputs.js +5 -5
  254. package/dist/{javascript-ClV78Svx.js → javascript-B5hepBcv.js} +2 -2
  255. package/dist/javascript-B5hepBcv.js.map +1 -0
  256. package/dist/{javascript-_Sr9cnsG.cjs → javascript-DFYAIwfO.cjs} +1 -1
  257. package/dist/javascript-DFYAIwfO.cjs.map +1 -0
  258. package/dist/{json-BFetU4Pi.cjs → json-BTHMevf2.cjs} +1 -1
  259. package/dist/json-BTHMevf2.cjs.map +1 -0
  260. package/dist/{json-Dz6EkGZR.js → json-DTBnkegk.js} +2 -2
  261. package/dist/json-DTBnkegk.js.map +1 -0
  262. package/dist/layout-BgfQpVOU.js +823 -0
  263. package/dist/layout-BgfQpVOU.js.map +1 -0
  264. package/dist/layout-D9LAqtZp.cjs +2 -0
  265. package/dist/layout-D9LAqtZp.cjs.map +1 -0
  266. package/dist/layout.cjs +1 -1
  267. package/dist/layout.js +7 -8
  268. package/dist/licensing-f5KYVz7D.js +28 -0
  269. package/dist/licensing-f5KYVz7D.js.map +1 -0
  270. package/dist/licensing-sRHTvX0B.cjs +2 -0
  271. package/dist/licensing-sRHTvX0B.cjs.map +1 -0
  272. package/dist/{locale-Bz2JXxDZ.cjs → locale-CJWWjFm-.cjs} +2 -2
  273. package/dist/{locale-Bz2JXxDZ.cjs.map → locale-CJWWjFm-.cjs.map} +1 -1
  274. package/dist/{locale-CS1-IY_I.js → locale-JX_gX03k.js} +1 -1
  275. package/dist/{locale-CS1-IY_I.js.map → locale-JX_gX03k.js.map} +1 -1
  276. package/dist/media-CM-uEUrV.js +402 -0
  277. package/dist/media-CM-uEUrV.js.map +1 -0
  278. package/dist/media-CnjA4Ruo.cjs +2 -0
  279. package/dist/media-CnjA4Ruo.cjs.map +1 -0
  280. package/dist/media.cjs +1 -1
  281. package/dist/media.js +3 -4
  282. package/dist/overlays-BpDz9ddf.cjs +2 -0
  283. package/dist/overlays-BpDz9ddf.cjs.map +1 -0
  284. package/dist/overlays-NwVsvmlb.js +568 -0
  285. package/dist/overlays-NwVsvmlb.js.map +1 -0
  286. package/dist/overlays.cjs +1 -1
  287. package/dist/overlays.js +4 -6
  288. package/dist/{php-jOdR0XS8.cjs → php-ClxZCTCr.cjs} +1 -1
  289. package/dist/php-ClxZCTCr.cjs.map +1 -0
  290. package/dist/{php-5Erp5xxI.js → php-DwgDg57J.js} +2 -2
  291. package/dist/php-DwgDg57J.js.map +1 -0
  292. package/dist/primitives.cjs +1 -1
  293. package/dist/primitives.js +1 -1
  294. package/dist/style-runtime.cjs +1 -1
  295. package/dist/style-runtime.js +1 -1
  296. package/dist/styles.css +1 -1
  297. package/dist/{theme-DsTDooyX.cjs → theme-yQQAPTkp.cjs} +2 -2
  298. package/dist/{theme-DsTDooyX.cjs.map → theme-yQQAPTkp.cjs.map} +1 -1
  299. package/dist/theme.cjs +1 -1
  300. package/dist/{typescript-C65sNL5w.cjs → typescript-C8NJZXwD.cjs} +1 -1
  301. package/dist/typescript-C8NJZXwD.cjs.map +1 -0
  302. package/dist/{typescript-wdQKWfxO.js → typescript-MSi2XC0t.js} +2 -2
  303. package/dist/typescript-MSi2XC0t.js.map +1 -0
  304. package/dist/typography-BHhyTO1V.js +42 -0
  305. package/dist/typography-BHhyTO1V.js.map +1 -0
  306. package/dist/typography-Qb1U4eiY.cjs +2 -0
  307. package/dist/typography-Qb1U4eiY.cjs.map +1 -0
  308. package/dist/typography.cjs +1 -1
  309. package/dist/typography.js +3 -4
  310. package/dist/{useGhostText-Dg4P606B.cjs → useGhostText-BFaUUKid.cjs} +2 -2
  311. package/dist/{useGhostText-Dg4P606B.cjs.map → useGhostText-BFaUUKid.cjs.map} +1 -1
  312. package/dist/{useInteractionEffect-Bo8285cg.cjs → useInteractionEffect-BH2dgQla.cjs} +2 -2
  313. package/dist/{useInteractionEffect-Bo8285cg.cjs.map → useInteractionEffect-BH2dgQla.cjs.map} +1 -1
  314. package/dist/{useKeyboardNav-CyeQtqF8.cjs → useKeyboardNav-CtGPfQX7.cjs} +2 -2
  315. package/dist/{useKeyboardNav-CyeQtqF8.cjs.map → useKeyboardNav-CtGPfQX7.cjs.map} +1 -1
  316. package/dist/utils/licensing.d.ts +1 -82
  317. package/dist/utils.cjs +1 -1
  318. package/dist/utils.js +1 -1
  319. package/dist/{xml-a3b-XevT.js → xml-CnKYdLjT.js} +2 -2
  320. package/dist/xml-CnKYdLjT.js.map +1 -0
  321. package/dist/{xml-B2okahIr.cjs → xml-jypnnWFn.cjs} +1 -1
  322. package/dist/xml-jypnnWFn.cjs.map +1 -0
  323. package/package.json +6 -29
  324. package/dist/MAvatar-D_dVAPaR.js +0 -57
  325. package/dist/MAvatar-D_dVAPaR.js.map +0 -1
  326. package/dist/MAvatar-DzZPRbot.cjs +0 -2
  327. package/dist/MAvatar-DzZPRbot.cjs.map +0 -1
  328. package/dist/MAvatarStack-CrhkO_SO.js +0 -330
  329. package/dist/MAvatarStack-CrhkO_SO.js.map +0 -1
  330. package/dist/MAvatarStack-DN79aJo1.cjs +0 -2
  331. package/dist/MAvatarStack-DN79aJo1.cjs.map +0 -1
  332. package/dist/MCookieBootstrap-BUqtJO3m.cjs +0 -2
  333. package/dist/MCookieBootstrap-BUqtJO3m.cjs.map +0 -1
  334. package/dist/MCookieBootstrap-Btt49Iuq.js +0 -436
  335. package/dist/MCookieBootstrap-Btt49Iuq.js.map +0 -1
  336. package/dist/MDataTable-7nJuwzJR.cjs +0 -2
  337. package/dist/MDataTable-7nJuwzJR.cjs.map +0 -1
  338. package/dist/MDataTable-CQt_pINO.js +0 -297
  339. package/dist/MDataTable-CQt_pINO.js.map +0 -1
  340. package/dist/MDrawer-B83--EVv.js +0 -122
  341. package/dist/MDrawer-B83--EVv.js.map +0 -1
  342. package/dist/MDrawer-D6cy9K7J.cjs +0 -2
  343. package/dist/MDrawer-D6cy9K7J.cjs.map +0 -1
  344. package/dist/MGrid-B-fP4GME.cjs +0 -2
  345. package/dist/MGrid-B-fP4GME.cjs.map +0 -1
  346. package/dist/MGrid-DVluuula.js +0 -182
  347. package/dist/MGrid-DVluuula.js.map +0 -1
  348. package/dist/MInputExpDate-CeCmw6fj.js.map +0 -1
  349. package/dist/MInputExpDate-DZ8JtSjs.cjs +0 -2
  350. package/dist/MInputExpDate-DZ8JtSjs.cjs.map +0 -1
  351. package/dist/MModal-DiTjBO8B.js +0 -69
  352. package/dist/MModal-DiTjBO8B.js.map +0 -1
  353. package/dist/MModal-eJDG6riB.cjs +0 -2
  354. package/dist/MModal-eJDG6riB.cjs.map +0 -1
  355. package/dist/MPopover-Cqz5TsHg.js.map +0 -1
  356. package/dist/MPopover-CxxaY9kr.cjs +0 -2
  357. package/dist/MPopover-CxxaY9kr.cjs.map +0 -1
  358. package/dist/MQrCode-HO2YIC7e.cjs +0 -2
  359. package/dist/MQrCode-HO2YIC7e.cjs.map +0 -1
  360. package/dist/MQrCode-Kb997gaE.js +0 -465
  361. package/dist/MQrCode-Kb997gaE.js.map +0 -1
  362. package/dist/MSkeleton-CVofhuDp.js +0 -136
  363. package/dist/MSkeleton-CVofhuDp.js.map +0 -1
  364. package/dist/MSkeleton-CuYA8eN3.cjs +0 -2
  365. package/dist/MSkeleton-CuYA8eN3.cjs.map +0 -1
  366. package/dist/MStack-C4Eocfb5.js +0 -70
  367. package/dist/MStack-C4Eocfb5.js.map +0 -1
  368. package/dist/MStack-w8XcuIJK.cjs +0 -2
  369. package/dist/MStack-w8XcuIJK.cjs.map +0 -1
  370. package/dist/MSubText-C-N15d4Z.js +0 -17
  371. package/dist/MSubText-C-N15d4Z.js.map +0 -1
  372. package/dist/MSubText-CIMKPb8o.cjs +0 -2
  373. package/dist/MSubText-CIMKPb8o.cjs.map +0 -1
  374. package/dist/MSurface-KvAS2hkl.cjs +0 -2
  375. package/dist/MSurface-KvAS2hkl.cjs.map +0 -1
  376. package/dist/MSurface-odrvQXkb.js.map +0 -1
  377. package/dist/MTabs-BQZ--mMq.js +0 -89
  378. package/dist/MTabs-BQZ--mMq.js.map +0 -1
  379. package/dist/MTabs-DeUn6bIp.cjs +0 -2
  380. package/dist/MTabs-DeUn6bIp.cjs.map +0 -1
  381. package/dist/MTimeAgo-DI3DF7bD.cjs +0 -2
  382. package/dist/MTimeAgo-DI3DF7bD.cjs.map +0 -1
  383. package/dist/MTimeAgo-Db8gOade.js +0 -51
  384. package/dist/MTimeAgo-Db8gOade.js.map +0 -1
  385. package/dist/MToggle-B6emKoKq.js +0 -48
  386. package/dist/MToggle-B6emKoKq.js.map +0 -1
  387. package/dist/MToggle-BVJm5Bdk.cjs +0 -2
  388. package/dist/MToggle-BVJm5Bdk.cjs.map +0 -1
  389. package/dist/MTreeView-AqH8XMPz.js +0 -516
  390. package/dist/MTreeView-AqH8XMPz.js.map +0 -1
  391. package/dist/MTreeView-Dp9qbqQh.cjs +0 -2
  392. package/dist/MTreeView-Dp9qbqQh.cjs.map +0 -1
  393. package/dist/arduino-Bm509TuR.cjs.map +0 -1
  394. package/dist/arduino-C5s1z3P1.js.map +0 -1
  395. package/dist/bash-CyBbinAU.cjs.map +0 -1
  396. package/dist/bash-RIFbRcCe.js.map +0 -1
  397. package/dist/c-DAywn1DE.js.map +0 -1
  398. package/dist/c-DGOxo0dj.cjs.map +0 -1
  399. package/dist/cards-C50fpYud.js +0 -1539
  400. package/dist/cards-C50fpYud.js.map +0 -1
  401. package/dist/cards-Ci1FoV9C.cjs +0 -2
  402. package/dist/cards-Ci1FoV9C.cjs.map +0 -1
  403. package/dist/components/cards/MCardBusiness/MCardBusiness.d.ts +0 -2
  404. package/dist/components/cards/MCardBusiness/MCardBusiness.types.d.ts +0 -37
  405. package/dist/components/cards/MCardBusiness/index.d.ts +0 -4
  406. package/dist/components/cards/MCardFinance/MCardFinance.d.ts +0 -2
  407. package/dist/components/cards/MCardFinance/MCardFinance.types.d.ts +0 -17
  408. package/dist/components/cards/MCardFinance/index.d.ts +0 -4
  409. package/dist/components/data/MCalendarBoard/MCalendarBoard.d.ts +0 -8
  410. package/dist/components/data/MCalendarBoard/MCalendarBoard.types.d.ts +0 -186
  411. package/dist/components/data/MCalendarBoard/index.d.ts +0 -4
  412. package/dist/components/data/MChart/MAreaChart.d.ts +0 -2
  413. package/dist/components/data/MChart/MBarChart.d.ts +0 -2
  414. package/dist/components/data/MChart/MChart.d.ts +0 -2
  415. package/dist/components/data/MChart/MChart.types.d.ts +0 -95
  416. package/dist/components/data/MChart/MLineChart.d.ts +0 -2
  417. package/dist/components/data/MChart/MPieChart.d.ts +0 -2
  418. package/dist/components/data/MChart/charts/MAreaChart.d.ts +0 -27
  419. package/dist/components/data/MChart/charts/MBarChart.d.ts +0 -26
  420. package/dist/components/data/MChart/charts/MLineChart.d.ts +0 -26
  421. package/dist/components/data/MChart/charts/MPieChart.d.ts +0 -19
  422. package/dist/components/data/MChart/index.d.ts +0 -5
  423. package/dist/components/data/MChart/parts/ChartAxis.d.ts +0 -13
  424. package/dist/components/data/MChart/parts/ChartDefs.d.ts +0 -1
  425. package/dist/components/data/MChart/parts/ChartGrid.d.ts +0 -10
  426. package/dist/components/data/MChart/parts/ChartLegend.d.ts +0 -9
  427. package/dist/components/data/MChart/parts/ChartTooltip.d.ts +0 -7
  428. package/dist/components/data/MChart/utils/formats.d.ts +0 -3
  429. package/dist/components/data/MChart/utils/paths.d.ts +0 -10
  430. package/dist/components/data/MChart/utils/scales.d.ts +0 -7
  431. package/dist/components/data/MChat/MChat.d.ts +0 -2
  432. package/dist/components/data/MChat/MChat.types.d.ts +0 -77
  433. package/dist/components/data/MChat/MChatBody.d.ts +0 -2
  434. package/dist/components/data/MChat/MChatContext.d.ts +0 -6
  435. package/dist/components/data/MChat/MChatConversationItem.d.ts +0 -2
  436. package/dist/components/data/MChat/MChatConversationList.d.ts +0 -2
  437. package/dist/components/data/MChat/MChatHeader.d.ts +0 -2
  438. package/dist/components/data/MChat/MChatInput.d.ts +0 -2
  439. package/dist/components/data/MChat/MChatMessage.d.ts +0 -2
  440. package/dist/components/data/MChat/MChatTypingIndicator.d.ts +0 -2
  441. package/dist/components/data/MChat/emojis.d.ts +0 -2
  442. package/dist/components/data/MChat/index.d.ts +0 -9
  443. package/dist/components/data/MFileManager/MFileManager.d.ts +0 -2
  444. package/dist/components/data/MFileManager/MFileManager.types.d.ts +0 -70
  445. package/dist/components/data/MFileManager/index.d.ts +0 -4
  446. package/dist/components/data/MSparkline/MSparkline.d.ts +0 -2
  447. package/dist/components/data/MSparkline/MSparkline.types.d.ts +0 -15
  448. package/dist/components/data/MSparkline/index.d.ts +0 -2
  449. package/dist/components/data/MTimelineCalendar/DayStrip.d.ts +0 -11
  450. package/dist/components/data/MTimelineCalendar/EventPopover.d.ts +0 -18
  451. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.d.ts +0 -2
  452. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.helpers.d.ts +0 -55
  453. package/dist/components/data/MTimelineCalendar/MTimelineCalendar.types.d.ts +0 -89
  454. package/dist/components/data/MTimelineCalendar/index.d.ts +0 -2
  455. package/dist/components/display/MQrCode/MQrCode.d.ts +0 -2
  456. package/dist/components/display/MQrCode/MQrCode.types.d.ts +0 -11
  457. package/dist/components/display/MQrCode/index.d.ts +0 -4
  458. package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.d.ts +0 -3
  459. package/dist/components/feedback/MCookie/MCookieBanner/MCookieBanner.types.d.ts +0 -27
  460. package/dist/components/feedback/MCookie/MCookieBanner/index.d.ts +0 -2
  461. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.d.ts +0 -6
  462. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.script.d.ts +0 -4
  463. package/dist/components/feedback/MCookie/MCookieBootstrap/MCookieBootstrap.types.d.ts +0 -90
  464. package/dist/components/feedback/MCookie/MCookieBootstrap/index.d.ts +0 -3
  465. package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.d.ts +0 -2
  466. package/dist/components/feedback/MCookie/MCookieConsent/MCookieConsent.types.d.ts +0 -11
  467. package/dist/components/feedback/MCookie/MCookieConsent/index.d.ts +0 -2
  468. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.defaults.d.ts +0 -9
  469. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.inventory.d.ts +0 -6
  470. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.storage.d.ts +0 -11
  471. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsent.types.d.ts +0 -95
  472. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentContext.d.ts +0 -4
  473. package/dist/components/feedback/MCookie/MCookieConsentProvider/MCookieConsentProvider.d.ts +0 -2
  474. package/dist/components/feedback/MCookie/MCookieConsentProvider/index.d.ts +0 -3
  475. package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.d.ts +0 -2
  476. package/dist/components/feedback/MCookie/MCookieDeclaration/MCookieDeclaration.types.d.ts +0 -18
  477. package/dist/components/feedback/MCookie/MCookieDeclaration/index.d.ts +0 -2
  478. package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.d.ts +0 -2
  479. package/dist/components/feedback/MCookie/MCookiePreferences/MCookiePreferences.types.d.ts +0 -25
  480. package/dist/components/feedback/MCookie/MCookiePreferences/index.d.ts +0 -2
  481. package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.d.ts +0 -2
  482. package/dist/components/feedback/MCookie/MCookieTrigger/MCookieTrigger.types.d.ts +0 -7
  483. package/dist/components/feedback/MCookie/MCookieTrigger/index.d.ts +0 -2
  484. package/dist/components/feedback/MCookie/index.d.ts +0 -16
  485. package/dist/components/layout/MTopbar/MTopbar.d.ts +0 -2
  486. package/dist/components/layout/MTopbar/MTopbar.types.d.ts +0 -37
  487. package/dist/components/layout/MTopbar/index.d.ts +0 -2
  488. package/dist/components/media/MAvatarStack/MAvatarStack.d.ts +0 -2
  489. package/dist/components/media/MAvatarStack/MAvatarStack.types.d.ts +0 -27
  490. package/dist/components/media/MAvatarStack/index.d.ts +0 -2
  491. package/dist/components/media/MMasonry/MMasonry.d.ts +0 -2
  492. package/dist/components/media/MMasonry/MMasonry.types.d.ts +0 -7
  493. package/dist/components/media/MMasonry/index.d.ts +0 -2
  494. package/dist/components/media/MMasonryItem/MMasonryItem.d.ts +0 -2
  495. package/dist/components/media/MMasonryItem/MMasonryItem.types.d.ts +0 -14
  496. package/dist/components/media/MMasonryItem/index.d.ts +0 -2
  497. package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.d.ts +0 -2
  498. package/dist/components/media/MShowcaseCarousel/MShowcaseCarousel.types.d.ts +0 -19
  499. package/dist/components/media/MShowcaseCarousel/index.d.ts +0 -2
  500. package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.d.ts +0 -2
  501. package/dist/components/media/MShowcaseCarouselItem/MShowcaseCarouselItem.types.d.ts +0 -18
  502. package/dist/components/media/MShowcaseCarouselItem/index.d.ts +0 -2
  503. package/dist/controls-CYQxPd4U.cjs +0 -2
  504. package/dist/controls-CYQxPd4U.cjs.map +0 -1
  505. package/dist/controls-CcbEqqWo.js.map +0 -1
  506. package/dist/cookie-consent-bootstrap.cjs +0 -2
  507. package/dist/cookie-consent-bootstrap.cjs.map +0 -1
  508. package/dist/cookie-consent-bootstrap.d.ts +0 -1
  509. package/dist/cookie-consent-bootstrap.js +0 -106
  510. package/dist/cookie-consent-bootstrap.js.map +0 -1
  511. package/dist/core-BUYr52VU.js.map +0 -1
  512. package/dist/core-DAox0BHy.cjs.map +0 -1
  513. package/dist/cpp-D-FtdQo9.cjs.map +0 -1
  514. package/dist/cpp-Y9cHXDal.js.map +0 -1
  515. package/dist/css-C__ffGj6.js.map +0 -1
  516. package/dist/css-DCYZ-Rs6.cjs.map +0 -1
  517. package/dist/data-DtShJEic.cjs +0 -2
  518. package/dist/data-DtShJEic.cjs.map +0 -1
  519. package/dist/data-RXuvb9VI.js +0 -3454
  520. package/dist/data-RXuvb9VI.js.map +0 -1
  521. package/dist/display-96-TEGmZ.cjs +0 -3
  522. package/dist/display-96-TEGmZ.cjs.map +0 -1
  523. package/dist/display-C7YRf4Ze.js.map +0 -1
  524. package/dist/dropdowns-Ce3Pb2JM.cjs +0 -2
  525. package/dist/dropdowns-Ce3Pb2JM.cjs.map +0 -1
  526. package/dist/dropdowns-DfXhVlWQ.js +0 -1712
  527. package/dist/dropdowns-DfXhVlWQ.js.map +0 -1
  528. package/dist/feedback-DGT28-Zx.js +0 -1058
  529. package/dist/feedback-DGT28-Zx.js.map +0 -1
  530. package/dist/feedback-Dr7G3K_R.cjs +0 -2
  531. package/dist/feedback-Dr7G3K_R.cjs.map +0 -1
  532. package/dist/frameworkTexts-BLJcGUXz.cjs +0 -2
  533. package/dist/frameworkTexts-BLJcGUXz.cjs.map +0 -1
  534. package/dist/frameworkTexts-BTFyhWFD.js +0 -117
  535. package/dist/frameworkTexts-BTFyhWFD.js.map +0 -1
  536. package/dist/icons/MIconV2.d.ts +0 -7
  537. package/dist/icons/MIconV2Glyph.d.ts +0 -11
  538. package/dist/icons/MIconV2Scenes.d.ts +0 -41
  539. package/dist/icons/glyphs/MCalendarIconV2.d.ts +0 -2
  540. package/dist/icons/glyphs/MFlagIconsV2.d.ts +0 -19
  541. package/dist/icons/glyphs/MNavigationIconsV2.d.ts +0 -14
  542. package/dist/icons/glyphs/MSettingsIconV2.d.ts +0 -2
  543. package/dist/icons-CfpYxnfg.js.map +0 -1
  544. package/dist/icons-qCoE70hn.cjs +0 -2
  545. package/dist/icons-qCoE70hn.cjs.map +0 -1
  546. package/dist/index.cjs.map +0 -1
  547. package/dist/index.js.map +0 -1
  548. package/dist/javascript-ClV78Svx.js.map +0 -1
  549. package/dist/javascript-_Sr9cnsG.cjs.map +0 -1
  550. package/dist/json-BFetU4Pi.cjs.map +0 -1
  551. package/dist/json-Dz6EkGZR.js.map +0 -1
  552. package/dist/layout-dUrQeGc2.cjs +0 -2
  553. package/dist/layout-dUrQeGc2.cjs.map +0 -1
  554. package/dist/layout-tIq6BGQK.js +0 -711
  555. package/dist/layout-tIq6BGQK.js.map +0 -1
  556. package/dist/licensing-9sZ43Cif.cjs +0 -2
  557. package/dist/licensing-9sZ43Cif.cjs.map +0 -1
  558. package/dist/licensing-Bq78CLC_.js +0 -109
  559. package/dist/licensing-Bq78CLC_.js.map +0 -1
  560. package/dist/media-BySr5LGc.cjs +0 -2
  561. package/dist/media-BySr5LGc.cjs.map +0 -1
  562. package/dist/media-IQ4iYTs-.js +0 -391
  563. package/dist/media-IQ4iYTs-.js.map +0 -1
  564. package/dist/overlays-BabXGLEM.js +0 -392
  565. package/dist/overlays-BabXGLEM.js.map +0 -1
  566. package/dist/overlays-CTR3n21O.cjs +0 -2
  567. package/dist/overlays-CTR3n21O.cjs.map +0 -1
  568. package/dist/php-5Erp5xxI.js.map +0 -1
  569. package/dist/php-jOdR0XS8.cjs.map +0 -1
  570. package/dist/typescript-C65sNL5w.cjs.map +0 -1
  571. package/dist/typescript-wdQKWfxO.js.map +0 -1
  572. package/dist/typography-CAW17MDj.js +0 -31
  573. package/dist/typography-CAW17MDj.js.map +0 -1
  574. package/dist/typography-sbLuXqFn.cjs +0 -2
  575. package/dist/typography-sbLuXqFn.cjs.map +0 -1
  576. package/dist/utils/commandPaletteFromNavGroups.d.ts +0 -74
  577. package/dist/xml-B2okahIr.cjs.map +0 -1
  578. package/dist/xml-a3b-XevT.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MDetailList-CpwrF22b.cjs","names":[],"sources":["../src/components/display/MRating/MRating.tsx","../src/components/display/MDetailList/MDetailList.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type {MRatingProps} from './MRating.types'\nimport {MStarFillIcon, MStarIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MRating.css'\n\n// Render an interactive star-based rating control.\nexport function MRating({\n value = 0,\n max = 5,\n color = 'warning',\n size = 'md',\n readOnly = false,\n onChange,\n className,\n ...rest\n}: MRatingProps) {\n const [hovered, setHovered] = useState<number | null>(null)\n const displayValue = hovered ?? value\n\n const handleClick = (index: number) => {\n if (readOnly) return\n onChange?.(index)\n }\n\n return (\n <div\n className={cn('rating', `color-${color}`, size, readOnly && 'read-only', className)}\n role=\"radiogroup\"\n aria-label=\"MRating\"\n onMouseLeave={() => setHovered(null)}\n {...rest}\n >\n {Array.from({length: max}, (_, i) => {\n const starIndex = i + 1\n const filled = displayValue >= starIndex\n return (\n <button\n key={i}\n type=\"button\"\n className=\"rating-star\"\n onClick={() => handleClick(starIndex)}\n onMouseEnter={() => !readOnly && setHovered(starIndex)}\n aria-label={`${starIndex} star${starIndex > 1 ? 's' : ''}`}\n tabIndex={readOnly ? -1 : 0}\n disabled={readOnly}\n >\n <span className=\"star-icon\" aria-hidden=\"true\">\n {filled ? <MStarFillIcon /> : <MStarIcon />}\n </span>\n </button>\n )\n })}\n </div>\n )\n}\n","import type {MDetailListProps} from './MDetailList.types'\nimport {cn} from '../../../utils/cn'\nimport {MInline, MStack} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport './MDetailList.css'\n\nexport function MDetailList({\n items,\n size = 'md',\n bordered = true,\n emptyState = null,\n className,\n ...rest\n}: MDetailListProps) {\n if (!items.length) {\n return emptyState ? <div className={cn('detail-list', className)}>{emptyState}</div> : null\n }\n\n return (\n <div className={cn('detail-list', `size-${size}`, bordered && 'bordered', className)} {...rest}>\n {items.map((item) => {\n const key = item.key ?? item.label?.toString()\n const value =\n item.component || item.to || item.href ? (\n <MLink\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n >\n {item.value}\n </MLink>\n ) : (\n item.value\n )\n\n return (\n <div key={key} className=\"detail-list-item\">\n <MInline justify={'between'} align={'start'}>\n <MStack>\n <MText size={'sm'} tone={'muted'}>\n {item.label}\n </MText>\n {value && <div className=\"detail-list-value\">{value}</div>}\n {item.helperText && (\n <MText size={'sm'} tone={'muted'}>\n {item.helperText}\n </MText>\n )}\n </MStack>\n {item.status && <div className=\"detail-list-status\">{item.status}</div>}\n </MInline>\n </div>\n )\n })}\n </div>\n )\n}\n"],"mappings":"wSAOA,SAAgB,EAAQ,CACpB,QAAQ,EACR,MAAM,EACN,QAAQ,UACR,OAAO,KACP,WAAW,GACX,WACA,YACA,GAAG,GACU,CACb,GAAM,CAAC,EAAS,IAAA,EAAA,EAAA,UAAsC,KAAK,CACrD,EAAe,GAAW,EAE1B,EAAe,GAAkB,CAC/B,GACJ,IAAW,EAAM,EAGrB,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,SAAU,SAAS,IAAS,EAAM,GAAY,YAAa,EAAU,CACnF,KAAK,aACL,aAAW,UACX,iBAAoB,EAAW,KAAK,CACpC,GAAI,WAEH,MAAM,KAAK,CAAC,OAAQ,EAAI,EAAG,EAAG,IAAM,CACjC,IAAM,EAAY,EAAI,EAChB,EAAS,GAAgB,EAC/B,OACI,EAAA,EAAA,KAAC,SAAD,CAEI,KAAK,SACL,UAAU,cACV,YAAe,EAAY,EAAU,CACrC,iBAAoB,CAAC,GAAY,EAAW,EAAU,CACtD,aAAY,GAAG,EAAU,OAAO,EAAY,EAAI,IAAM,KACtD,SAAU,EAAW,GAAK,EAC1B,SAAU,YAEV,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,YAAY,cAAY,gBACnC,GAAS,EAAA,EAAA,KAAC,EAAA,GAAD,EAAiB,CAAA,EAAG,EAAA,EAAA,KAAC,EAAA,GAAD,EAAa,CAAA,CACxC,CAAA,CACF,CAZA,EAYA,EAEf,CACA,CAAA,CC/Cd,SAAgB,EAAY,CACxB,QACA,OAAO,KACP,WAAW,GACX,aAAa,KACb,YACA,GAAG,GACc,CAKjB,OAJK,EAAM,QAKP,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,QAAQ,IAAQ,GAAY,WAAY,EAAU,CAAE,GAAI,WACrF,EAAM,IAAK,GAAS,CACjB,IAAM,EAAM,EAAK,KAAO,EAAK,OAAO,UAAU,CACxC,EACF,EAAK,WAAa,EAAK,IAAM,EAAK,MAC9B,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,UAAW,EAAK,UAChB,GAAI,EAAK,GACT,KAAM,EAAK,KACX,OAAQ,EAAK,OACb,IAAK,EAAK,aAET,EAAK,MACF,CAAA,CAER,EAAK,MAGb,OACI,EAAA,EAAA,KAAC,MAAD,CAAe,UAAU,6BACrB,EAAA,EAAA,MAAC,EAAA,EAAD,CAAS,QAAS,UAAW,MAAO,iBAApC,EACI,EAAA,EAAA,MAAC,EAAA,EAAD,CAAA,SAAA,EACI,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,KAAM,KAAM,KAAM,iBACpB,EAAK,MACF,CAAA,CACP,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,6BAAqB,EAAY,CAAA,CACzD,EAAK,aACF,EAAA,EAAA,KAAC,EAAA,EAAD,CAAO,KAAM,KAAM,KAAM,iBACpB,EAAK,WACF,CAAA,CAEP,CAAA,CAAA,CACR,EAAK,SAAU,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,8BAAsB,EAAK,OAAa,CAAA,CACjE,GACR,CAfI,EAeJ,EAEZ,CACA,CAAA,CAzCC,GAAa,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,cAAe,EAAU,UAAG,EAAiB,CAAA,CAAG"}
@@ -0,0 +1,89 @@
1
+ import { hi as e, mi as t } from "./icons-DLP-Rs6z.js";
2
+ import { t as n } from "./cn-YER3QsV1.js";
3
+ import { n as r } from "./MSurface-B-sjyczH.js";
4
+ import { t as i } from "./MText-CL-LPcXi.js";
5
+ import { t as a } from "./MLink-Bd8fLH1N.js";
6
+ import { t as o } from "./MStack-B8JtyM10.js";
7
+ import { useState as s } from "react";
8
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
+ //#region src/components/display/MRating/MRating.tsx
10
+ function u({ value: r = 0, max: i = 5, color: a = "warning", size: o = "md", readOnly: l = !1, onChange: u, className: d, ...f }) {
11
+ let [p, m] = s(null), h = p ?? r, g = (e) => {
12
+ l || u?.(e);
13
+ };
14
+ return /* @__PURE__ */ c("div", {
15
+ className: n("rating", `color-${a}`, o, l && "read-only", d),
16
+ role: "radiogroup",
17
+ "aria-label": "MRating",
18
+ onMouseLeave: () => m(null),
19
+ ...f,
20
+ children: Array.from({ length: i }, (n, r) => {
21
+ let i = r + 1, a = h >= i;
22
+ return /* @__PURE__ */ c("button", {
23
+ type: "button",
24
+ className: "rating-star",
25
+ onClick: () => g(i),
26
+ onMouseEnter: () => !l && m(i),
27
+ "aria-label": `${i} star${i > 1 ? "s" : ""}`,
28
+ tabIndex: l ? -1 : 0,
29
+ disabled: l,
30
+ children: /* @__PURE__ */ c("span", {
31
+ className: "star-icon",
32
+ "aria-hidden": "true",
33
+ children: c(a ? t : e, {})
34
+ })
35
+ }, r);
36
+ })
37
+ });
38
+ }
39
+ //#endregion
40
+ //#region src/components/display/MDetailList/MDetailList.tsx
41
+ function d({ items: e, size: t = "md", bordered: s = !0, emptyState: u = null, className: d, ...f }) {
42
+ return e.length ? /* @__PURE__ */ c("div", {
43
+ className: n("detail-list", `size-${t}`, s && "bordered", d),
44
+ ...f,
45
+ children: e.map((e) => {
46
+ let t = e.key ?? e.label?.toString(), n = e.component || e.to || e.href ? /* @__PURE__ */ c(a, {
47
+ component: e.component,
48
+ to: e.to,
49
+ href: e.href,
50
+ target: e.target,
51
+ rel: e.rel,
52
+ children: e.value
53
+ }) : e.value;
54
+ return /* @__PURE__ */ c("div", {
55
+ className: "detail-list-item",
56
+ children: /* @__PURE__ */ l(r, {
57
+ justify: "between",
58
+ align: "start",
59
+ children: [/* @__PURE__ */ l(o, { children: [
60
+ /* @__PURE__ */ c(i, {
61
+ size: "sm",
62
+ tone: "muted",
63
+ children: e.label
64
+ }),
65
+ n && /* @__PURE__ */ c("div", {
66
+ className: "detail-list-value",
67
+ children: n
68
+ }),
69
+ e.helperText && /* @__PURE__ */ c(i, {
70
+ size: "sm",
71
+ tone: "muted",
72
+ children: e.helperText
73
+ })
74
+ ] }), e.status && /* @__PURE__ */ c("div", {
75
+ className: "detail-list-status",
76
+ children: e.status
77
+ })]
78
+ })
79
+ }, t);
80
+ })
81
+ }) : u ? /* @__PURE__ */ c("div", {
82
+ className: n("detail-list", d),
83
+ children: u
84
+ }) : null;
85
+ }
86
+ //#endregion
87
+ export { u as n, d as t };
88
+
89
+ //# sourceMappingURL=MDetailList-Gh5Y0UOx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MDetailList-Gh5Y0UOx.js","names":[],"sources":["../src/components/display/MRating/MRating.tsx","../src/components/display/MDetailList/MDetailList.tsx"],"sourcesContent":["import {useState} from 'react'\nimport type {MRatingProps} from './MRating.types'\nimport {MStarFillIcon, MStarIcon} from '../../../icons'\nimport {cn} from '../../../utils/cn'\nimport './MRating.css'\n\n// Render an interactive star-based rating control.\nexport function MRating({\n value = 0,\n max = 5,\n color = 'warning',\n size = 'md',\n readOnly = false,\n onChange,\n className,\n ...rest\n}: MRatingProps) {\n const [hovered, setHovered] = useState<number | null>(null)\n const displayValue = hovered ?? value\n\n const handleClick = (index: number) => {\n if (readOnly) return\n onChange?.(index)\n }\n\n return (\n <div\n className={cn('rating', `color-${color}`, size, readOnly && 'read-only', className)}\n role=\"radiogroup\"\n aria-label=\"MRating\"\n onMouseLeave={() => setHovered(null)}\n {...rest}\n >\n {Array.from({length: max}, (_, i) => {\n const starIndex = i + 1\n const filled = displayValue >= starIndex\n return (\n <button\n key={i}\n type=\"button\"\n className=\"rating-star\"\n onClick={() => handleClick(starIndex)}\n onMouseEnter={() => !readOnly && setHovered(starIndex)}\n aria-label={`${starIndex} star${starIndex > 1 ? 's' : ''}`}\n tabIndex={readOnly ? -1 : 0}\n disabled={readOnly}\n >\n <span className=\"star-icon\" aria-hidden=\"true\">\n {filled ? <MStarFillIcon /> : <MStarIcon />}\n </span>\n </button>\n )\n })}\n </div>\n )\n}\n","import type {MDetailListProps} from './MDetailList.types'\nimport {cn} from '../../../utils/cn'\nimport {MInline, MStack} from '../../layout'\nimport {MLink, MText} from '../../typography'\nimport './MDetailList.css'\n\nexport function MDetailList({\n items,\n size = 'md',\n bordered = true,\n emptyState = null,\n className,\n ...rest\n}: MDetailListProps) {\n if (!items.length) {\n return emptyState ? <div className={cn('detail-list', className)}>{emptyState}</div> : null\n }\n\n return (\n <div className={cn('detail-list', `size-${size}`, bordered && 'bordered', className)} {...rest}>\n {items.map((item) => {\n const key = item.key ?? item.label?.toString()\n const value =\n item.component || item.to || item.href ? (\n <MLink\n component={item.component}\n to={item.to}\n href={item.href}\n target={item.target}\n rel={item.rel}\n >\n {item.value}\n </MLink>\n ) : (\n item.value\n )\n\n return (\n <div key={key} className=\"detail-list-item\">\n <MInline justify={'between'} align={'start'}>\n <MStack>\n <MText size={'sm'} tone={'muted'}>\n {item.label}\n </MText>\n {value && <div className=\"detail-list-value\">{value}</div>}\n {item.helperText && (\n <MText size={'sm'} tone={'muted'}>\n {item.helperText}\n </MText>\n )}\n </MStack>\n {item.status && <div className=\"detail-list-status\">{item.status}</div>}\n </MInline>\n </div>\n )\n })}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;AAOA,SAAgB,EAAQ,EACpB,WAAQ,GACR,SAAM,GACN,WAAQ,WACR,UAAO,MACP,cAAW,IACX,aACA,cACA,GAAG,KACU;CACb,IAAM,CAAC,GAAS,KAAc,EAAwB,KAAK,EACrD,IAAe,KAAW,GAE1B,KAAe,MAAkB;AAC/B,OACJ,IAAW,EAAM;;AAGrB,QACI,kBAAC,OAAD;EACI,WAAW,EAAG,UAAU,SAAS,KAAS,GAAM,KAAY,aAAa,EAAU;EACnF,MAAK;EACL,cAAW;EACX,oBAAoB,EAAW,KAAK;EACpC,GAAI;YAEH,MAAM,KAAK,EAAC,QAAQ,GAAI,GAAG,GAAG,MAAM;GACjC,IAAM,IAAY,IAAI,GAChB,IAAS,KAAgB;AAC/B,UACI,kBAAC,UAAD;IAEI,MAAK;IACL,WAAU;IACV,eAAe,EAAY,EAAU;IACrC,oBAAoB,CAAC,KAAY,EAAW,EAAU;IACtD,cAAY,GAAG,EAAU,OAAO,IAAY,IAAI,MAAM;IACtD,UAAU,IAAW,KAAK;IAC1B,UAAU;cAEV,kBAAC,QAAD;KAAM,WAAU;KAAY,eAAY;eAC1B,EAAT,IAAU,IAAoB,GAArB,EAAiB,CAAgB;KACxC,CAAA;IACF,EAZA,EAYA;IAEf;EACA,CAAA;;;;AC/Cd,SAAgB,EAAY,EACxB,UACA,UAAO,MACP,cAAW,IACX,gBAAa,MACb,cACA,GAAG,KACc;AAKjB,QAJK,EAAM,SAKP,kBAAC,OAAD;EAAK,WAAW,EAAG,eAAe,QAAQ,KAAQ,KAAY,YAAY,EAAU;EAAE,GAAI;YACrF,EAAM,KAAK,MAAS;GACjB,IAAM,IAAM,EAAK,OAAO,EAAK,OAAO,UAAU,EACxC,IACF,EAAK,aAAa,EAAK,MAAM,EAAK,OAC9B,kBAAC,GAAD;IACI,WAAW,EAAK;IAChB,IAAI,EAAK;IACT,MAAM,EAAK;IACX,QAAQ,EAAK;IACb,KAAK,EAAK;cAET,EAAK;IACF,CAAA,GAER,EAAK;AAGb,UACI,kBAAC,OAAD;IAAe,WAAU;cACrB,kBAAC,GAAD;KAAS,SAAS;KAAW,OAAO;eAApC,CACI,kBAAC,GAAD,EAAA,UAAA;MACI,kBAAC,GAAD;OAAO,MAAM;OAAM,MAAM;iBACpB,EAAK;OACF,CAAA;MACP,KAAS,kBAAC,OAAD;OAAK,WAAU;iBAAqB;OAAY,CAAA;MACzD,EAAK,cACF,kBAAC,GAAD;OAAO,MAAM;OAAM,MAAM;iBACpB,EAAK;OACF,CAAA;MAEP,EAAA,CAAA,EACR,EAAK,UAAU,kBAAC,OAAD;MAAK,WAAU;gBAAsB,EAAK;MAAa,CAAA,CACjE;;IACR,EAfI,EAeJ;IAEZ;EACA,CAAA,GAzCC,IAAa,kBAAC,OAAD;EAAK,WAAW,EAAG,eAAe,EAAU;YAAG;EAAiB,CAAA,GAAG"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`),t=require(`./useKeyboardNav-CyeQtqF8.cjs`),n=require(`./MPopover-CxxaY9kr.cjs`);require(`./core-DAox0BHy.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e){return e.props}function o(e){return!!e.type.__dropdownItem}function s(e){return!!e.type.__dropdownGroup}function c(e){let t=[];return r.Children.forEach(e,e=>{(0,r.isValidElement)(e)&&(o(e)?t.push(e):s(e)&&r.Children.forEach(a(e).children,e=>{(0,r.isValidElement)(e)&&o(e)&&t.push(e)}))}),t}function l({trigger:l,placement:u=`bottom-start`,closeOnSelect:d=!0,openOn:f=`click`,onOpenChange:p,className:m,style:h,popoverClassName:g,popoverStyle:_,children:v}){let[y,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),S=(0,r.useRef)(null),C=c(v),w=C.filter(e=>!a(e).disabled).length,T=(0,r.useCallback)(e=>{b(t=>{let n=typeof e==`function`?e(t):e;return p?.(n),n})},[p]),{activeIndex:E,setActiveIndex:D,onKeyDown:O}=t.t({itemCount:w,onSelect:(0,r.useCallback)(e=>{let t=0;for(let n of C){let r=a(n);if(!r.disabled){if(t===e){r.onClick?.();break}t++}}d&&T(!1)},[C,d,T]),onClose:()=>b(!1),isOpen:y}),k=()=>T(e=>!e),A=e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T(!0)),y&&O(e)},j=0,M=e=>{if(!(0,r.isValidElement)(e))return e;if(o(e)){let t=a(e).disabled,n=t?-1:j++;return(0,r.cloneElement)(e,{_active:n===E,_onHover:t?void 0:()=>D(n),_onClick:()=>{t||d&&T(!1)}})}return s(e)?(0,r.cloneElement)(e,{children:r.Children.map(a(e).children,M)}):e},N=f===`hover`?{onMouseEnter:()=>{S.current&&clearTimeout(S.current),T(!0)},onMouseLeave:()=>{S.current=setTimeout(()=>T(!1),150)}}:{};return(0,i.jsxs)(`div`,{className:e.t(`dropdown menu anchor`,m),style:h,...N,children:[(0,i.jsx)(`div`,{ref:x,onClick:f===`click`?k:void 0,onKeyDown:A,role:`button`,tabIndex:0,className:`dropdown menu trigger`,children:l}),(0,i.jsx)(n.t,{open:y,anchorRef:x,onClose:()=>T(!1),placement:u,className:e.t(`dropdown menu popover`,g),style:_,children:(0,i.jsx)(`div`,{className:`dropdown menu list`,role:`menu`,...N,children:r.Children.map(v,M)})})]})}function u({icon:t,label:n,href:r,to:a,onClick:o,color:s,disabled:c=!1,active:l=!1,component:u,className:d,_active:f,_onHover:p,_onClick:m}){let h=f??l,g=(0,i.jsxs)(i.Fragment,{children:[t&&(0,i.jsx)(`span`,{className:`dropdown menu icon`,children:t}),(0,i.jsx)(`span`,{className:`dropdown menu label`,children:n})]}),_=e.t(`dropdown menu item`,h&&`active`,c&&`disabled`,s,d),v=e=>{if(c){e.preventDefault();return}o?.(),m?.()},y=u??(r||a?`a`:`button`),b=u?{...r?{href:r}:{},...a?{to:a}:{}}:r?{href:r}:a?{href:a}:{};return(0,i.jsx)(y,{className:_,role:`menuitem`,tabIndex:-1,onClick:v,onMouseEnter:p,"aria-disabled":c||void 0,...b,children:g})}u.__dropdownItem=!0;function d({label:e,children:t}){return(0,i.jsxs)(`div`,{className:`dropdown menu group`,role:`group`,children:[(0,i.jsx)(`div`,{className:`dropdown menu group-label`,children:e}),t]})}d.__dropdownGroup=!0;function f({className:t}){return(0,i.jsx)(`div`,{className:e.t(`dropdown menu divider`,t),role:`separator`})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
- //# sourceMappingURL=MDropdownMenu-c9U3sEcl.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`),t=require(`./useKeyboardNav-CtGPfQX7.cjs`),n=require(`./MPopover-BbgAAM5Z.cjs`);require(`./core-B2klLGki.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e){return e.props}function o(e){return!!e.type.__dropdownItem}function s(e){return!!e.type.__dropdownGroup}function c(e){let t=[];return r.Children.forEach(e,e=>{(0,r.isValidElement)(e)&&(o(e)?t.push(e):s(e)&&r.Children.forEach(a(e).children,e=>{(0,r.isValidElement)(e)&&o(e)&&t.push(e)}))}),t}function l({trigger:l,placement:u=`bottom-start`,closeOnSelect:d=!0,openOn:f=`click`,onOpenChange:p,className:m,style:h,popoverClassName:g,popoverStyle:_,children:v}){let[y,b]=(0,r.useState)(!1),x=(0,r.useRef)(null),S=(0,r.useRef)(null),C=c(v),w=C.filter(e=>!a(e).disabled).length,T=(0,r.useCallback)(e=>{b(t=>{let n=typeof e==`function`?e(t):e;return p?.(n),n})},[p]),{activeIndex:E,setActiveIndex:D,onKeyDown:O}=t.t({itemCount:w,onSelect:(0,r.useCallback)(e=>{let t=0;for(let n of C){let r=a(n);if(!r.disabled){if(t===e){r.onClick?.();break}t++}}d&&T(!1)},[C,d,T]),onClose:()=>b(!1),isOpen:y}),k=()=>T(e=>!e),A=e=>{(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),T(!0)),y&&O(e)},j=0,M=e=>{if(!(0,r.isValidElement)(e))return e;if(o(e)){let t=a(e).disabled,n=t?-1:j++;return(0,r.cloneElement)(e,{_active:n===E,_onHover:t?void 0:()=>D(n),_onClick:()=>{t||d&&T(!1)}})}return s(e)?(0,r.cloneElement)(e,{children:r.Children.map(a(e).children,M)}):e},N=f===`hover`?{onMouseEnter:()=>{S.current&&clearTimeout(S.current),T(!0)},onMouseLeave:()=>{S.current=setTimeout(()=>T(!1),150)}}:{};return(0,i.jsxs)(`div`,{className:e.t(`dropdown menu anchor`,m),style:h,...N,children:[(0,i.jsx)(`div`,{ref:x,onClick:f===`click`?k:void 0,onKeyDown:A,role:`button`,tabIndex:0,className:`dropdown menu trigger`,children:l}),(0,i.jsx)(n.t,{open:y,anchorRef:x,onClose:()=>T(!1),placement:u,className:e.t(`dropdown menu popover`,g),style:_,children:(0,i.jsx)(`div`,{className:`dropdown menu list`,role:`menu`,...N,children:r.Children.map(v,M)})})]})}function u({icon:t,label:n,href:r,to:a,onClick:o,color:s,disabled:c=!1,active:l=!1,component:u,className:d,_active:f,_onHover:p,_onClick:m}){let h=f??l,g=(0,i.jsxs)(i.Fragment,{children:[t&&(0,i.jsx)(`span`,{className:`dropdown menu icon`,children:t}),(0,i.jsx)(`span`,{className:`dropdown menu label`,children:n})]}),_=e.t(`dropdown menu item`,h&&`active`,c&&`disabled`,s,d),v=e=>{if(c){e.preventDefault();return}o?.(),m?.()},y=u??(r||a?`a`:`button`),b=u?{...r?{href:r}:{},...a?{to:a}:{}}:r?{href:r}:a?{href:a}:{};return(0,i.jsx)(y,{className:_,role:`menuitem`,tabIndex:-1,onClick:v,onMouseEnter:p,"aria-disabled":c||void 0,...b,children:g})}u.__dropdownItem=!0;function d({label:e,children:t}){return(0,i.jsxs)(`div`,{className:`dropdown menu group`,role:`group`,children:[(0,i.jsx)(`div`,{className:`dropdown menu group-label`,children:e}),t]})}d.__dropdownGroup=!0;function f({className:t}){return(0,i.jsx)(`div`,{className:e.t(`dropdown menu divider`,t),role:`separator`})}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
2
+ //# sourceMappingURL=MDropdownMenu-BT3u-ZJj.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MDropdownMenu-c9U3sEcl.cjs","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MDropdownMenu-BT3u-ZJj.cjs","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":"0MAeA,SAAS,EAAS,EAAkC,CAChD,OAAO,EAAG,MAGd,SAAS,EAAO,EAAoC,CAChD,MAAO,CAAC,CAAE,EAAM,KAAa,eAGjC,SAAS,EAAQ,EAAoC,CACjD,MAAO,CAAC,CAAE,EAAM,KAAa,gBAIjC,SAAS,EAAa,EAAiD,CACnE,IAAM,EAA8B,EAAE,CAatC,OAZA,EAAA,SAAS,QAAQ,EAAW,GAAU,EAC9B,EAAA,EAAA,gBAAgB,EAAM,GACtB,EAAO,EAAM,CACb,EAAM,KAAK,EAAM,CACV,EAAQ,EAAM,EACrB,EAAA,SAAS,QAAQ,EAAS,EAAM,CAAC,SAAW,GAAwB,EAChE,EAAA,EAAA,gBAAmB,EAAG,EAAI,EAAO,EAAG,EAChC,EAAM,KAAK,EAAG,EAEpB,GAER,CACK,EAGX,SAAgB,EAAc,CAC1B,UACA,YAAY,eACZ,gBAAgB,GAChB,SAAS,QACT,eACA,YACA,QACA,mBACA,eACA,YACmB,CACnB,GAAM,CAAC,EAAM,IAAA,EAAA,EAAA,UAAoB,GAAM,CACjC,GAAA,EAAA,EAAA,QAAmC,KAAK,CACxC,GAAA,EAAA,EAAA,QAAqD,KAAK,CAE1D,EAAQ,EAAa,EAAS,CAC9B,EAAe,EAAM,OAAQ,GAAM,CAAC,EAAS,EAAE,CAAC,SAAS,CAAC,OAE1D,GAAA,EAAA,EAAA,aACD,GAAiD,CAC9C,EAAS,GAAS,CACd,IAAM,EAAW,OAAO,GAAS,WAAa,EAAK,EAAK,CAAG,EAE3D,OADA,IAAe,EAAS,CACjB,GACT,EAEN,CAAC,EAAa,CACjB,CAmBK,CAAC,cAAa,iBAAgB,aAAa,EAAA,EAAe,CAC5D,UAAW,EACX,UAAA,EAAA,EAAA,aAlBC,GAAkB,CACf,IAAI,EAAa,EACjB,IAAK,IAAM,KAAQ,EAAO,CACtB,IAAM,EAAI,EAAS,EAAK,CACpB,MAAE,SACN,IAAI,IAAe,EAAO,CACtB,EAAE,WAAW,CACb,MAEJ,KAEA,GAAe,EAAY,GAAM,EAEzC,CAAC,EAAO,EAAe,EAAY,CACtC,CAKG,YAAe,EAAQ,GAAM,CAC7B,OAAQ,EACX,CAAC,CAEI,MAA2B,EAAa,GAAM,CAAC,EAAE,CAEjD,EAAwB,GAA2B,EACjD,EAAE,MAAQ,aAAe,EAAE,MAAQ,SAAW,EAAE,MAAQ,OACxD,EAAE,gBAAgB,CAClB,EAAY,GAAK,EAEjB,GAAM,EAAU,EAAS,EAI7B,EAAa,EACX,EAAe,GAA4C,CAC7D,GAAI,EAAA,EAAA,EAAA,gBAAgB,EAAM,CAAE,OAAO,EAEnC,GAAI,EAAO,EAAM,CAAE,CAEf,IAAM,EADI,EAAS,EAAM,CACJ,SACf,EAAM,EAAa,GAAK,IAC9B,OAAA,EAAA,EAAA,cAAoB,EAAO,CACvB,QAAS,IAAQ,EACjB,SAAU,EAAa,IAAA,OAAkB,EAAe,EAAI,CAC5D,aAAgB,CACR,GACA,GAAe,EAAY,GAAM,EAE5C,CAAa,CASlB,OANI,EAAQ,EAAM,EACd,EAAA,EAAA,cAAoB,EAAO,CACvB,SAAU,EAAA,SAAS,IAAI,EAAS,EAAM,CAAC,SAAU,EAAY,CAChE,CAAa,CAGX,GAGL,EACF,IAAW,QACL,CACI,iBAAoB,CACZ,EAAa,SAAS,aAAa,EAAa,QAAQ,CAC5D,EAAY,GAAK,EAErB,iBAAoB,CAChB,EAAa,QAAU,eAAiB,EAAY,GAAM,CAAE,IAAI,EAEvE,CACD,EAAE,CAEZ,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,uBAAwB,EAAU,CAAS,QAAO,GAAI,WAAzE,EACI,EAAA,EAAA,KAAC,MAAD,CACI,IAAK,EACL,QAAS,IAAW,QAAU,EAAqB,IAAA,GACnD,UAAW,EACX,KAAK,SACL,SAAU,EACV,UAAU,iCAET,EACC,CAAA,EACN,EAAA,EAAA,KAAC,EAAA,EAAD,CACU,OACK,YACX,YAAe,EAAY,GAAM,CACtB,YACX,UAAW,EAAA,EAAG,wBAAyB,EAAiB,CACxD,MAAO,YAEP,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qBAAqB,KAAK,OAAO,GAAI,WAC/C,EAAA,SAAS,IAAI,EAAU,EAAY,CAClC,CAAA,CACC,CAAA,CACT,GAId,SAAgB,EAAc,CAC1B,OACA,QACA,OACA,KACA,UACA,QACA,WAAW,GACX,SAAS,GACT,YACA,YACA,UACA,WACA,YACuF,CACvF,IAAM,EAAgB,GAAW,EAE3B,GACF,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,8BAAsB,EAAY,CAAA,EAC3D,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,+BAAuB,EAAa,CAAA,CACrD,CAAA,CAAA,CAGD,EAAM,EAAA,EAAG,qBAAsB,GAAiB,SAAU,GAAY,WAAY,EAAO,EAAU,CAEnG,EAAe,GAAwB,CACzC,GAAI,EAAU,CACV,EAAE,gBAAgB,CAClB,OAEJ,KAAW,CACX,KAAY,EAGV,EAAM,IAAc,GAAQ,EAAK,IAAM,UACvC,EAAY,EAAY,CAAC,GAAI,EAAO,CAAC,OAAK,CAAG,EAAE,CAAG,GAAI,EAAK,CAAC,KAAG,CAAG,EAAE,CAAE,CAAG,EAAO,CAAC,OAAK,CAAG,EAAK,CAAC,KAAM,EAAG,CAAG,EAAE,CAEnH,OACI,EAAA,EAAA,KAAC,EAAD,CACI,UAAW,EACX,KAAK,WACL,SAAU,GACV,QAAS,EACT,aAAc,EACd,gBAAe,GAAY,IAAA,GAC3B,GAAI,WAEH,EACC,CAAA,CAGb,EAAuB,eAAiB,GAEzC,SAAgB,EAAe,CAAC,QAAO,YAAgC,CACnE,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,sBAAsB,KAAK,iBAA1C,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,qCAA6B,EAAY,CAAA,CACvD,EACC,GAGb,EAAwB,gBAAkB,GAE3C,SAAgB,EAAiB,CAAC,aAAmC,CACjE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,wBAAyB,EAAU,CAAE,KAAK,YAAc,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cn-YER3QsV1.js";
2
2
  import { t } from "./useKeyboardNav-iEXOdEMB.js";
3
- import { t as n } from "./MPopover-Cqz5TsHg.js";
3
+ import { t as n } from "./MPopover-BRuwva-c.js";
4
4
  import { Children as r, cloneElement as i, isValidElement as a, useCallback as o, useRef as s, useState as c } from "react";
5
5
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
6
  //#region src/components/overlays/MDropdownMenu/MDropdownMenu.tsx
@@ -149,4 +149,4 @@ function y({ className: t }) {
149
149
  //#endregion
150
150
  export { g as i, v as n, _ as r, y as t };
151
151
 
152
- //# sourceMappingURL=MDropdownMenu-CeiC1tz3.js.map
152
+ //# sourceMappingURL=MDropdownMenu-CAwSTZ1h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MDropdownMenu-CeiC1tz3.js","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MDropdownMenu-CAwSTZ1h.js","names":[],"sources":["../src/components/overlays/MDropdownMenu/MDropdownMenu.tsx"],"sourcesContent":["import {useState, useRef, useCallback, Children, isValidElement, cloneElement} from 'react'\nimport type * as React from 'react'\nimport {MPopover} from '../../primitives'\nimport {useKeyboardNav} from '../../../utils/useKeyboardNav'\nimport {cn} from '../../../utils/cn'\nimport type {\n MDropdownMenuProps,\n MDropdownItemProps,\n MDropdownGroupProps,\n MDropdownDividerProps,\n} from './MDropdownMenu.types'\nimport './MDropdownMenu.css'\n\ntype AnyProps = Record<string, any>\n\nfunction getProps(el: React.ReactElement): AnyProps {\n return el.props as AnyProps\n}\n\nfunction isItem(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownItem\n}\n\nfunction isGroup(child: React.ReactElement): boolean {\n return !!(child.type as any).__dropdownGroup\n}\n\n// Collect all MDropdownItem elements from children (including inside groups).\nfunction collectItems(children: React.ReactNode): React.ReactElement[] {\n const items: React.ReactElement[] = []\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return\n if (isItem(child)) {\n items.push(child)\n } else if (isGroup(child)) {\n Children.forEach(getProps(child).children, (gc: React.ReactNode) => {\n if (isValidElement(gc) && isItem(gc)) {\n items.push(gc)\n }\n })\n }\n })\n return items\n}\n\nexport function MDropdownMenu({\n trigger,\n placement = 'bottom-start',\n closeOnSelect = true,\n openOn = 'click',\n onOpenChange,\n className,\n style,\n popoverClassName,\n popoverStyle,\n children,\n}: MDropdownMenuProps) {\n const [open, setOpen] = useState(false)\n const anchorRef = useRef<HTMLDivElement>(null)\n const hoverTimeout = useRef<ReturnType<typeof setTimeout>>(null)\n\n const items = collectItems(children)\n const enabledCount = items.filter((i) => !getProps(i).disabled).length\n\n const setMenuOpen = useCallback(\n (next: boolean | ((prev: boolean) => boolean)) => {\n setOpen((prev) => {\n const resolved = typeof next === 'function' ? next(prev) : next\n onOpenChange?.(resolved)\n return resolved\n })\n },\n [onOpenChange]\n )\n\n const handleSelect = useCallback(\n (index: number) => {\n let enabledIdx = 0\n for (const item of items) {\n const p = getProps(item)\n if (p.disabled) continue\n if (enabledIdx === index) {\n p.onClick?.()\n break\n }\n enabledIdx++\n }\n if (closeOnSelect) setMenuOpen(false)\n },\n [items, closeOnSelect, setMenuOpen]\n )\n\n const {activeIndex, setActiveIndex, onKeyDown} = useKeyboardNav({\n itemCount: enabledCount,\n onSelect: handleSelect,\n onClose: () => setOpen(false),\n isOpen: open,\n })\n\n const handleTriggerClick = () => setMenuOpen((o) => !o)\n\n const handleTriggerKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setMenuOpen(true)\n }\n if (open) onKeyDown(e as any)\n }\n\n // Map active index back to flat child rendering with enabled-only tracking.\n let enabledIdx = 0\n const renderChild = (child: React.ReactNode): React.ReactNode => {\n if (!isValidElement(child)) return child\n\n if (isItem(child)) {\n const p = getProps(child)\n const isDisabled = p.disabled\n const idx = isDisabled ? -1 : enabledIdx++\n return cloneElement(child, {\n _active: idx === activeIndex,\n _onHover: isDisabled ? undefined : () => setActiveIndex(idx),\n _onClick: () => {\n if (isDisabled) return\n if (closeOnSelect) setMenuOpen(false)\n },\n } as AnyProps)\n }\n\n if (isGroup(child)) {\n return cloneElement(child, {\n children: Children.map(getProps(child).children, renderChild),\n } as AnyProps)\n }\n\n return child\n }\n\n const hoverHandlers =\n openOn === 'hover'\n ? {\n onMouseEnter: () => {\n if (hoverTimeout.current) clearTimeout(hoverTimeout.current)\n setMenuOpen(true)\n },\n onMouseLeave: () => {\n hoverTimeout.current = setTimeout(() => setMenuOpen(false), 150)\n },\n }\n : {}\n\n return (\n <div className={cn('dropdown menu anchor', className)} style={style} {...hoverHandlers}>\n <div\n ref={anchorRef}\n onClick={openOn === 'click' ? handleTriggerClick : undefined}\n onKeyDown={handleTriggerKeyDown}\n role=\"button\"\n tabIndex={0}\n className=\"dropdown menu trigger\"\n >\n {trigger}\n </div>\n <MPopover\n open={open}\n anchorRef={anchorRef}\n onClose={() => setMenuOpen(false)}\n placement={placement}\n className={cn('dropdown menu popover', popoverClassName)}\n style={popoverStyle}\n >\n <div className=\"dropdown menu list\" role=\"menu\" {...hoverHandlers}>\n {Children.map(children, renderChild)}\n </div>\n </MPopover>\n </div>\n )\n}\n\nexport function MDropdownItem({\n icon,\n label,\n href,\n to,\n onClick,\n color,\n disabled = false,\n active = false,\n component,\n className,\n _active,\n _onHover,\n _onClick,\n}: MDropdownItemProps & {_active?: boolean; _onHover?: () => void; _onClick?: () => void}) {\n const isHighlighted = _active ?? active\n\n const content = (\n <>\n {icon && <span className=\"dropdown menu icon\">{icon}</span>}\n <span className=\"dropdown menu label\">{label}</span>\n </>\n )\n\n const cls = cn('dropdown menu item', isHighlighted && 'active', disabled && 'disabled', color, className)\n\n const handleClick = (e: React.MouseEvent) => {\n if (disabled) {\n e.preventDefault()\n return\n }\n onClick?.()\n _onClick?.()\n }\n\n const Tag = component ?? (href || to ? 'a' : 'button')\n const linkProps = component ? {...(href ? {href} : {}), ...(to ? {to} : {})} : href ? {href} : to ? {href: to} : {}\n\n return (\n <Tag\n className={cls}\n role=\"menuitem\"\n tabIndex={-1}\n onClick={handleClick}\n onMouseEnter={_onHover}\n aria-disabled={disabled || undefined}\n {...linkProps}\n >\n {content}\n </Tag>\n )\n}\n;(MDropdownItem as any).__dropdownItem = true\n\nexport function MDropdownGroup({label, children}: MDropdownGroupProps) {\n return (\n <div className=\"dropdown menu group\" role=\"group\">\n <div className=\"dropdown menu group-label\">{label}</div>\n {children}\n </div>\n )\n}\n;(MDropdownGroup as any).__dropdownGroup = true\n\nexport function MDropdownDivider({className}: MDropdownDividerProps) {\n return <div className={cn('dropdown menu divider', className)} role=\"separator\" />\n}\n"],"mappings":"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"}