@banzamel/mineralui 1.12.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-CIvYzQV4.js → MAvatar-BcO8hMnU.js} +2 -2
  3. package/dist/{MAvatar-CIvYzQV4.js.map → MAvatar-BcO8hMnU.js.map} +1 -1
  4. package/dist/{MAvatar-BElYyQXH.cjs → MAvatar-C4N2ztLf.cjs} +2 -2
  5. package/dist/{MAvatar-BElYyQXH.cjs.map → MAvatar-C4N2ztLf.cjs.map} +1 -1
  6. package/dist/{MButton-ouB6903s.cjs → MButton-B8kFTOPJ.cjs} +2 -2
  7. package/dist/{MButton-ouB6903s.cjs.map → MButton-B8kFTOPJ.cjs.map} +1 -1
  8. package/dist/{MButton-C94fZ3l9.js → MButton-C1pnL4_j.js} +1 -1
  9. package/dist/{MButton-C94fZ3l9.js.map → MButton-C1pnL4_j.js.map} +1 -1
  10. package/dist/{MButtonGroup-BhGt-Yy1.js → MButtonGroup-BkNf7fzo.js} +2 -2
  11. package/dist/{MButtonGroup-BhGt-Yy1.js.map → MButtonGroup-BkNf7fzo.js.map} +1 -1
  12. package/dist/{MButtonGroup-yumQneDa.cjs → MButtonGroup-C3Ar0gfk.cjs} +2 -2
  13. package/dist/{MButtonGroup-yumQneDa.cjs.map → MButtonGroup-C3Ar0gfk.cjs.map} +1 -1
  14. package/dist/{MCard-9ucghJJs.js → MCard-dLMQQ97e.js} +2 -2
  15. package/dist/{MCard-9ucghJJs.js.map → MCard-dLMQQ97e.js.map} +1 -1
  16. package/dist/{MCard-Bg_R86Gr.cjs → MCard-szs5kIek.cjs} +2 -2
  17. package/dist/{MCard-Bg_R86Gr.cjs.map → MCard-szs5kIek.cjs.map} +1 -1
  18. package/dist/{MCheckbox-B-nT2OBE.js → MCheckbox-B7SpcD4H.js} +1 -1
  19. package/dist/{MCheckbox-B-nT2OBE.js.map → MCheckbox-B7SpcD4H.js.map} +1 -1
  20. package/dist/{MCheckbox-Cbk5hwzJ.cjs → MCheckbox-CATWU11D.cjs} +2 -2
  21. package/dist/{MCheckbox-Cbk5hwzJ.cjs.map → MCheckbox-CATWU11D.cjs.map} +1 -1
  22. package/dist/{MConflictIllustration-Ctggjn7z.js → MConflictIllustration-Drsm8_8C.js} +41 -99
  23. package/dist/MConflictIllustration-Drsm8_8C.js.map +1 -0
  24. package/dist/MConflictIllustration-Mnz1q7Ey.cjs +2 -0
  25. package/dist/MConflictIllustration-Mnz1q7Ey.cjs.map +1 -0
  26. package/dist/{MDetailList-t0ixZflO.cjs → MDetailList-BBgUaSDJ.cjs} +2 -2
  27. package/dist/{MDetailList-t0ixZflO.cjs.map → MDetailList-BBgUaSDJ.cjs.map} +1 -1
  28. package/dist/{MDetailList-CELXTmJw.js → MDetailList-zlwdeA-r.js} +2 -2
  29. package/dist/{MDetailList-CELXTmJw.js.map → MDetailList-zlwdeA-r.js.map} +1 -1
  30. package/dist/{MDropdownMenu-Coy-0Wee.cjs → MDropdownMenu-1RqWjxHp.cjs} +2 -2
  31. package/dist/{MDropdownMenu-Coy-0Wee.cjs.map → MDropdownMenu-1RqWjxHp.cjs.map} +1 -1
  32. package/dist/{MDropdownMenu-BgEtrL-T.js → MDropdownMenu-omTEUh4V.js} +1 -1
  33. package/dist/{MDropdownMenu-BgEtrL-T.js.map → MDropdownMenu-omTEUh4V.js.map} +1 -1
  34. package/dist/{MGrid-Di7laCq4.cjs → MGrid-B2qzYD6S.cjs} +2 -2
  35. package/dist/{MGrid-Di7laCq4.cjs.map → MGrid-B2qzYD6S.cjs.map} +1 -1
  36. package/dist/{MGrid-yLmEteNw.js → MGrid-Cy44dWyC.js} +1 -1
  37. package/dist/{MGrid-yLmEteNw.js.map → MGrid-Cy44dWyC.js.map} +1 -1
  38. package/dist/{MHeading-TJ5yvklz.cjs → MHeading-CyuxSnhl.cjs} +2 -2
  39. package/dist/{MHeading-TJ5yvklz.cjs.map → MHeading-CyuxSnhl.cjs.map} +1 -1
  40. package/dist/{MI18nProvider-bf1G7lTP.cjs → MI18nProvider-C90EVyFz.cjs} +2 -2
  41. package/dist/{MI18nProvider-bf1G7lTP.cjs.map → MI18nProvider-C90EVyFz.cjs.map} +1 -1
  42. package/dist/{MInput-CkbgK8eU.js → MInput-Baokf17V.js} +2 -2
  43. package/dist/{MInput-CkbgK8eU.js.map → MInput-Baokf17V.js.map} +1 -1
  44. package/dist/{MInput-ClHpIrDG.cjs → MInput-Cw9ZVcNO.cjs} +2 -2
  45. package/dist/{MInput-ClHpIrDG.cjs.map → MInput-Cw9ZVcNO.cjs.map} +1 -1
  46. package/dist/{MInputCVC-D1rSjwXj.cjs → MInputCVC-Bqcp5Uu3.cjs} +2 -2
  47. package/dist/{MInputCVC-D1rSjwXj.cjs.map → MInputCVC-Bqcp5Uu3.cjs.map} +1 -1
  48. package/dist/{MInputCVC-DFtAStrY.js → MInputCVC-DNzDAbfU.js} +3 -3
  49. package/dist/{MInputCVC-DFtAStrY.js.map → MInputCVC-DNzDAbfU.js.map} +1 -1
  50. package/dist/{MInputSearch-Dj55a3oO.js → MInputSearch-Bswi-Kj0.js} +2 -2
  51. package/dist/{MInputSearch-Dj55a3oO.js.map → MInputSearch-Bswi-Kj0.js.map} +1 -1
  52. package/dist/{MInputSearch-D2Fr_34s.cjs → MInputSearch-D9bp1QAz.cjs} +2 -2
  53. package/dist/{MInputSearch-D2Fr_34s.cjs.map → MInputSearch-D9bp1QAz.cjs.map} +1 -1
  54. package/dist/{MKbd-CGkzxJhi.cjs → MKbd-CiwDwFwA.cjs} +2 -2
  55. package/dist/{MKbd-CGkzxJhi.cjs.map → MKbd-CiwDwFwA.cjs.map} +1 -1
  56. package/dist/{MKbd-I4xDtsqc.js → MKbd-v6-tJ9sP.js} +1 -1
  57. package/dist/{MKbd-I4xDtsqc.js.map → MKbd-v6-tJ9sP.js.map} +1 -1
  58. package/dist/{MLink-CZ2FfQ0N.cjs → MLink-B7gXA8qY.cjs} +2 -2
  59. package/dist/{MLink-CZ2FfQ0N.cjs.map → MLink-B7gXA8qY.cjs.map} +1 -1
  60. package/dist/{MPagination-CAzIIP2o.cjs → MPagination-C2GmGkVA.cjs} +2 -2
  61. package/dist/{MPagination-CAzIIP2o.cjs.map → MPagination-C2GmGkVA.cjs.map} +1 -1
  62. package/dist/{MPagination-CnFI794t.js → MPagination-DpUtB6t6.js} +2 -2
  63. package/dist/{MPagination-CnFI794t.js.map → MPagination-DpUtB6t6.js.map} +1 -1
  64. package/dist/{MPopover-BbgAAM5Z.cjs → MPopover-BVBN5SJi.cjs} +2 -2
  65. package/dist/{MPopover-BbgAAM5Z.cjs.map → MPopover-BVBN5SJi.cjs.map} +1 -1
  66. package/dist/{MPortal-DokH9TfY.cjs → MPortal-Djrw2WhD.cjs} +2 -2
  67. package/dist/{MPortal-DokH9TfY.cjs.map → MPortal-Djrw2WhD.cjs.map} +1 -1
  68. package/dist/{MSimpleGrid-B6Uh1XJY.cjs → MSimpleGrid-BR352NiK.cjs} +2 -2
  69. package/dist/{MSimpleGrid-B6Uh1XJY.cjs.map → MSimpleGrid-BR352NiK.cjs.map} +1 -1
  70. package/dist/{MSimpleGrid-Ds14eBrD.js → MSimpleGrid-BVeCK9Ci.js} +1 -1
  71. package/dist/{MSimpleGrid-Ds14eBrD.js.map → MSimpleGrid-BVeCK9Ci.js.map} +1 -1
  72. package/dist/{MSkeleton-BpylRABV.js → MSkeleton-C5uD4Axo.js} +1 -1
  73. package/dist/{MSkeleton-BpylRABV.js.map → MSkeleton-C5uD4Axo.js.map} +1 -1
  74. package/dist/{MSkeleton-JMkJFzu9.cjs → MSkeleton-DyQBeuVT.cjs} +2 -2
  75. package/dist/{MSkeleton-JMkJFzu9.cjs.map → MSkeleton-DyQBeuVT.cjs.map} +1 -1
  76. package/dist/{MSlider-5141rKeH.js → MSlider-CqrusKJQ.js} +1 -1
  77. package/dist/{MSlider-5141rKeH.js.map → MSlider-CqrusKJQ.js.map} +1 -1
  78. package/dist/{MSlider-PyXLKckL.cjs → MSlider-Ds2Fls86.cjs} +2 -2
  79. package/dist/{MSlider-PyXLKckL.cjs.map → MSlider-Ds2Fls86.cjs.map} +1 -1
  80. package/dist/{MStack-DDn2bYBQ.cjs → MStack-BdVvJN5S.cjs} +2 -2
  81. package/dist/{MStack-DDn2bYBQ.cjs.map → MStack-BdVvJN5S.cjs.map} +1 -1
  82. package/dist/{MStack-B8JtyM10.js → MStack-h11pHEmc.js} +1 -1
  83. package/dist/{MStack-B8JtyM10.js.map → MStack-h11pHEmc.js.map} +1 -1
  84. package/dist/MSubText-C-N15d4Z.js +17 -0
  85. package/dist/MSubText-C-N15d4Z.js.map +1 -0
  86. package/dist/MSubText-DWNMJupD.cjs +2 -0
  87. package/dist/MSubText-DWNMJupD.cjs.map +1 -0
  88. package/dist/{MSurface-WsYGNGX5.cjs → MSurface-BS9l7GDH.cjs} +2 -2
  89. package/dist/{MSurface-WsYGNGX5.cjs.map → MSurface-BS9l7GDH.cjs.map} +1 -1
  90. package/dist/{MTag-CKM8lXD6.js → MTag-BF6htPr-.js} +2 -2
  91. package/dist/{MTag-CKM8lXD6.js.map → MTag-BF6htPr-.js.map} +1 -1
  92. package/dist/{MTag-Dez1GOX0.cjs → MTag-BwQbycZO.cjs} +2 -2
  93. package/dist/{MTag-Dez1GOX0.cjs.map → MTag-BwQbycZO.cjs.map} +1 -1
  94. package/dist/{MText-CAbqC2qZ.cjs → MText-Cjt1oTPr.cjs} +2 -2
  95. package/dist/{MText-CAbqC2qZ.cjs.map → MText-Cjt1oTPr.cjs.map} +1 -1
  96. package/dist/{MTooltip-Cbj80F3o.js → MTooltip-Ctyjwxv-.js} +1 -1
  97. package/dist/{MTooltip-Cbj80F3o.js.map → MTooltip-Ctyjwxv-.js.map} +1 -1
  98. package/dist/{MTooltip-C-x_SqMx.cjs → MTooltip-gpvKWQzD.cjs} +2 -2
  99. package/dist/{MTooltip-C-x_SqMx.cjs.map → MTooltip-gpvKWQzD.cjs.map} +1 -1
  100. package/dist/{MTreeView-B7IWHmGc.cjs → MTreeView-BS60bIj7.cjs} +2 -2
  101. package/dist/{MTreeView-B7IWHmGc.cjs.map → MTreeView-BS60bIj7.cjs.map} +1 -1
  102. package/dist/{MTreeView-DMTzRk6c.js → MTreeView-DTsi4bye.js} +2 -2
  103. package/dist/{MTreeView-DMTzRk6c.js.map → MTreeView-DTsi4bye.js.map} +1 -1
  104. package/dist/{arduino-CFZS94LP.cjs → arduino-CA8n1Qq3.cjs} +1 -1
  105. package/dist/{arduino-CFZS94LP.cjs.map → arduino-CA8n1Qq3.cjs.map} +1 -1
  106. package/dist/{arduino-DWEBiENP.js → arduino-WKgN2ikT.js} +1 -1
  107. package/dist/{arduino-DWEBiENP.js.map → arduino-WKgN2ikT.js.map} +1 -1
  108. package/dist/{bash-Dl1TvWHd.cjs → bash-DObE5DDq.cjs} +1 -1
  109. package/dist/{bash-Dl1TvWHd.cjs.map → bash-DObE5DDq.cjs.map} +1 -1
  110. package/dist/{bash-DQsQM8so.js → bash-vBtVVub9.js} +1 -1
  111. package/dist/{bash-DQsQM8so.js.map → bash-vBtVVub9.js.map} +1 -1
  112. package/dist/{c-BgkSGJWN.js → c-7RiNX--m.js} +1 -1
  113. package/dist/{c-BgkSGJWN.js.map → c-7RiNX--m.js.map} +1 -1
  114. package/dist/{c-PUMyVGnz.cjs → c-Bb-MtVny.cjs} +1 -1
  115. package/dist/{c-PUMyVGnz.cjs.map → c-Bb-MtVny.cjs.map} +1 -1
  116. package/dist/{cards-C2t-pM0r.js → cards-BkRqUJ2V.js} +14 -14
  117. package/dist/{cards-C2t-pM0r.js.map → cards-BkRqUJ2V.js.map} +1 -1
  118. package/dist/{cards-D7_hH3Q8.cjs → cards-DK7j03NN.cjs} +2 -2
  119. package/dist/{cards-D7_hH3Q8.cjs.map → cards-DK7j03NN.cjs.map} +1 -1
  120. package/dist/cards.cjs +1 -1
  121. package/dist/cards.js +2 -2
  122. package/dist/components/data/MWeekGrid/MWeekGrid.d.ts +8 -0
  123. package/dist/components/data/MWeekGrid/MWeekGrid.types.d.ts +74 -0
  124. package/dist/components/data/MWeekGrid/index.d.ts +2 -0
  125. package/dist/components/data/index.d.ts +2 -0
  126. package/dist/{controls-DwWfqfDX.cjs → controls-BopaNWb_.cjs} +2 -2
  127. package/dist/{controls-DwWfqfDX.cjs.map → controls-BopaNWb_.cjs.map} +1 -1
  128. package/dist/{controls-B3P4zKoA.js → controls-CSTIosnc.js} +4 -4
  129. package/dist/{controls-B3P4zKoA.js.map → controls-CSTIosnc.js.map} +1 -1
  130. package/dist/controls.cjs +1 -1
  131. package/dist/controls.js +5 -5
  132. package/dist/{core-BdOw9NlN.js → core-DC6zSfZo.js} +1 -1
  133. package/dist/{core-BdOw9NlN.js.map → core-DC6zSfZo.js.map} +1 -1
  134. package/dist/{core-B2klLGki.cjs → core-o3cw16Db.cjs} +1 -1
  135. package/dist/{core-B2klLGki.cjs.map → core-o3cw16Db.cjs.map} +1 -1
  136. package/dist/{cpp-C_DS-imi.cjs → cpp-BVKrJvso.cjs} +1 -1
  137. package/dist/{cpp-C_DS-imi.cjs.map → cpp-BVKrJvso.cjs.map} +1 -1
  138. package/dist/{cpp-ChrqJwqu.js → cpp-CaNnFjgy.js} +1 -1
  139. package/dist/{cpp-ChrqJwqu.js.map → cpp-CaNnFjgy.js.map} +1 -1
  140. package/dist/{css-Brdthutg.cjs → css-C2sjPfLl.cjs} +1 -1
  141. package/dist/{css-Brdthutg.cjs.map → css-C2sjPfLl.cjs.map} +1 -1
  142. package/dist/{css-DL_ID0lZ.js → css-NqBDP7ZC.js} +1 -1
  143. package/dist/{css-DL_ID0lZ.js.map → css-NqBDP7ZC.js.map} +1 -1
  144. package/dist/data-CjVcevdT.js +654 -0
  145. package/dist/data-CjVcevdT.js.map +1 -0
  146. package/dist/data-D8qUIvWv.cjs +2 -0
  147. package/dist/data-D8qUIvWv.cjs.map +1 -0
  148. package/dist/data.cjs +1 -1
  149. package/dist/data.js +3 -3
  150. package/dist/{display-ChhvaSPc.js → display-B7Wh5nnM.js} +17 -17
  151. package/dist/{display-ChhvaSPc.js.map → display-B7Wh5nnM.js.map} +1 -1
  152. package/dist/{display-2Vak-RyH.cjs → display-BgZbdTDd.cjs} +2 -2
  153. package/dist/{display-2Vak-RyH.cjs.map → display-BgZbdTDd.cjs.map} +1 -1
  154. package/dist/display.cjs +1 -1
  155. package/dist/display.js +2 -2
  156. package/dist/{dropdowns-BLd4lyr6.cjs → dropdowns-Befc3lmC.cjs} +2 -2
  157. package/dist/dropdowns-Befc3lmC.cjs.map +1 -0
  158. package/dist/{dropdowns-BJ8s18h2.js → dropdowns-DGvRs-VE.js} +6 -6
  159. package/dist/dropdowns-DGvRs-VE.js.map +1 -0
  160. package/dist/dropdowns.cjs +1 -1
  161. package/dist/dropdowns.js +1 -1
  162. package/dist/{feedback-urwS5wps.js → feedback-C445FEHb.js} +3 -3
  163. package/dist/{feedback-urwS5wps.js.map → feedback-C445FEHb.js.map} +1 -1
  164. package/dist/{feedback-DnuJtYUI.cjs → feedback-C8RfsfYJ.cjs} +2 -2
  165. package/dist/{feedback-DnuJtYUI.cjs.map → feedback-C8RfsfYJ.cjs.map} +1 -1
  166. package/dist/feedback.cjs +1 -1
  167. package/dist/feedback.js +4 -4
  168. package/dist/{form-CFhDAU18.js → form-BWWLNji0.js} +1 -1
  169. package/dist/{form-CFhDAU18.js.map → form-BWWLNji0.js.map} +1 -1
  170. package/dist/{form-Bni0Gf_s.cjs → form-DSlAmTT1.cjs} +2 -2
  171. package/dist/{form-Bni0Gf_s.cjs.map → form-DSlAmTT1.cjs.map} +1 -1
  172. package/dist/form.cjs +1 -1
  173. package/dist/form.js +1 -1
  174. package/dist/i18n/frameworkTexts.d.ts +0 -29
  175. package/dist/i18n.cjs +1 -1
  176. package/dist/{icons-BHFwX7ri.cjs → icons-DX_cScBq.cjs} +2 -2
  177. package/dist/{icons-BHFwX7ri.cjs.map → icons-DX_cScBq.cjs.map} +1 -1
  178. package/dist/icons.cjs +1 -1
  179. package/dist/illustrations/index.d.ts +0 -1
  180. package/dist/illustrations.cjs +1 -1
  181. package/dist/illustrations.js +2 -2
  182. package/dist/index.cjs +1 -1
  183. package/dist/index.js +50 -49
  184. package/dist/{inputs-CyDoEfL3.js → inputs-BZxorlLv.js} +5 -5
  185. package/dist/{inputs-CyDoEfL3.js.map → inputs-BZxorlLv.js.map} +1 -1
  186. package/dist/{inputs-BpdfT9Hp.cjs → inputs-BiZXyZSE.cjs} +2 -2
  187. package/dist/{inputs-BpdfT9Hp.cjs.map → inputs-BiZXyZSE.cjs.map} +1 -1
  188. package/dist/inputs.cjs +1 -1
  189. package/dist/inputs.js +4 -4
  190. package/dist/{javascript-DFYAIwfO.cjs → javascript-BgwyrBZi.cjs} +1 -1
  191. package/dist/{javascript-DFYAIwfO.cjs.map → javascript-BgwyrBZi.cjs.map} +1 -1
  192. package/dist/{javascript-B5hepBcv.js → javascript-BltQGQAn.js} +1 -1
  193. package/dist/{javascript-B5hepBcv.js.map → javascript-BltQGQAn.js.map} +1 -1
  194. package/dist/{json-BTHMevf2.cjs → json-DWmLrT_r.cjs} +1 -1
  195. package/dist/{json-BTHMevf2.cjs.map → json-DWmLrT_r.cjs.map} +1 -1
  196. package/dist/{json-DTBnkegk.js → json-DbCISZXi.js} +1 -1
  197. package/dist/{json-DTBnkegk.js.map → json-DbCISZXi.js.map} +1 -1
  198. package/dist/{layout-BT7KtJVE.js → layout-CnEOTJnJ.js} +6 -6
  199. package/dist/{layout-BT7KtJVE.js.map → layout-CnEOTJnJ.js.map} +1 -1
  200. package/dist/{layout-C0WsXFln.cjs → layout-Ct6ViwDQ.cjs} +2 -2
  201. package/dist/{layout-C0WsXFln.cjs.map → layout-Ct6ViwDQ.cjs.map} +1 -1
  202. package/dist/layout.cjs +1 -1
  203. package/dist/layout.js +5 -5
  204. package/dist/{licensing-sRHTvX0B.cjs → licensing-hMT26Vnv.cjs} +2 -2
  205. package/dist/{licensing-sRHTvX0B.cjs.map → licensing-hMT26Vnv.cjs.map} +1 -1
  206. package/dist/{locale-JX_gX03k.js → locale-BNyzqXAU.js} +1 -1
  207. package/dist/{locale-JX_gX03k.js.map → locale-BNyzqXAU.js.map} +1 -1
  208. package/dist/{locale-CJWWjFm-.cjs → locale-C5ik0c3d.cjs} +2 -2
  209. package/dist/{locale-CJWWjFm-.cjs.map → locale-C5ik0c3d.cjs.map} +1 -1
  210. package/dist/{media-CnjA4Ruo.cjs → media-DZaGKh5V.cjs} +2 -2
  211. package/dist/{media-CnjA4Ruo.cjs.map → media-DZaGKh5V.cjs.map} +1 -1
  212. package/dist/{media-CM-uEUrV.js → media-DxnELIZO.js} +3 -3
  213. package/dist/{media-CM-uEUrV.js.map → media-DxnELIZO.js.map} +1 -1
  214. package/dist/media.cjs +1 -1
  215. package/dist/media.js +2 -2
  216. package/dist/{overlays-NwVsvmlb.js → overlays-BfIrSHDo.js} +9 -9
  217. package/dist/{overlays-NwVsvmlb.js.map → overlays-BfIrSHDo.js.map} +1 -1
  218. package/dist/{overlays-BpDz9ddf.cjs → overlays-WsQqxqk1.cjs} +2 -2
  219. package/dist/{overlays-BpDz9ddf.cjs.map → overlays-WsQqxqk1.cjs.map} +1 -1
  220. package/dist/overlays.cjs +1 -1
  221. package/dist/overlays.js +3 -3
  222. package/dist/{php-ClxZCTCr.cjs → php-CssmZWrI.cjs} +1 -1
  223. package/dist/{php-ClxZCTCr.cjs.map → php-CssmZWrI.cjs.map} +1 -1
  224. package/dist/{php-DwgDg57J.js → php-dSXzrC_Z.js} +1 -1
  225. package/dist/{php-DwgDg57J.js.map → php-dSXzrC_Z.js.map} +1 -1
  226. package/dist/primitives.cjs +1 -1
  227. package/dist/style-runtime.cjs +1 -1
  228. package/dist/style-runtime.js +1 -1
  229. package/dist/styles.css +1 -1
  230. package/dist/{theme-yQQAPTkp.cjs → theme-DltOEniv.cjs} +2 -2
  231. package/dist/{theme-yQQAPTkp.cjs.map → theme-DltOEniv.cjs.map} +1 -1
  232. package/dist/theme.cjs +1 -1
  233. package/dist/{typescript-MSi2XC0t.js → typescript-CxKdKTKz.js} +1 -1
  234. package/dist/{typescript-MSi2XC0t.js.map → typescript-CxKdKTKz.js.map} +1 -1
  235. package/dist/{typescript-C8NJZXwD.cjs → typescript-DeaMWtYF.cjs} +1 -1
  236. package/dist/{typescript-C8NJZXwD.cjs.map → typescript-DeaMWtYF.cjs.map} +1 -1
  237. package/dist/typography-CAW17MDj.js +31 -0
  238. package/dist/typography-CAW17MDj.js.map +1 -0
  239. package/dist/typography-vZwd5E5h.cjs +2 -0
  240. package/dist/typography-vZwd5E5h.cjs.map +1 -0
  241. package/dist/typography.cjs +1 -1
  242. package/dist/typography.js +4 -3
  243. package/dist/{useGhostText-BFaUUKid.cjs → useGhostText-Nw9XCpWS.cjs} +2 -2
  244. package/dist/{useGhostText-BFaUUKid.cjs.map → useGhostText-Nw9XCpWS.cjs.map} +1 -1
  245. package/dist/{useInteractionEffect-BH2dgQla.cjs → useInteractionEffect-Gs9HBi2T.cjs} +2 -2
  246. package/dist/{useInteractionEffect-BH2dgQla.cjs.map → useInteractionEffect-Gs9HBi2T.cjs.map} +1 -1
  247. package/dist/{useKeyboardNav-CtGPfQX7.cjs → useKeyboardNav-DDN-oeqd.cjs} +2 -2
  248. package/dist/{useKeyboardNav-CtGPfQX7.cjs.map → useKeyboardNav-DDN-oeqd.cjs.map} +1 -1
  249. package/dist/utils.cjs +1 -1
  250. package/dist/{xml-CnKYdLjT.js → xml-BPoVPJlJ.js} +1 -1
  251. package/dist/{xml-CnKYdLjT.js.map → xml-BPoVPJlJ.js.map} +1 -1
  252. package/dist/{xml-jypnnWFn.cjs → xml-BUuYcpx2.cjs} +1 -1
  253. package/dist/{xml-jypnnWFn.cjs.map → xml-BUuYcpx2.cjs.map} +1 -1
  254. package/package.json +1 -1
  255. package/dist/MConflictIllustration-CfYeZVmf.cjs +0 -2
  256. package/dist/MConflictIllustration-CfYeZVmf.cjs.map +0 -1
  257. package/dist/MConflictIllustration-Ctggjn7z.js.map +0 -1
  258. package/dist/data-0_KXny56.cjs +0 -2
  259. package/dist/data-0_KXny56.cjs.map +0 -1
  260. package/dist/data-9Ej9tlwW.js +0 -463
  261. package/dist/data-9Ej9tlwW.js.map +0 -1
  262. package/dist/dropdowns-BJ8s18h2.js.map +0 -1
  263. package/dist/dropdowns-BLd4lyr6.cjs.map +0 -1
  264. package/dist/illustrations/scenes/MCookieConsentIllustration.d.ts +0 -2
  265. package/dist/typography-BHhyTO1V.js +0 -42
  266. package/dist/typography-BHhyTO1V.js.map +0 -1
  267. package/dist/typography-Qb1U4eiY.cjs +0 -2
  268. package/dist/typography-Qb1U4eiY.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MInputSearch-D2Fr_34s.cjs","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder = 'Search...',\n ...rest\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":"yMAQA,IAAa,GAAA,EAAA,EAAA,YAA+D,SACxE,CACI,aAAa,IACb,WACA,QACA,eACA,WACA,YACA,UACA,YAAY,GACZ,cAAc,YACd,GAAG,GAEP,EACF,CACE,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAc,UAAU,EAAI,GAAG,CAC5E,EAAe,IAAU,IAAA,GAA+B,EAAnB,EAAM,UAAU,CAErD,EAAkB,EAAA,EAAsB,GAAgB,IAAW,EAAI,CAAE,EAAW,CAGpF,GAAA,EAAA,EAAA,aACD,GAA2C,CACpC,IAAU,IAAA,IACV,EAAiB,EAAE,OAAO,MAAM,CAEpC,EAAgB,EAAE,OAAO,MAAM,CAC/B,IAAW,EAAE,EAEjB,CAAC,EAAU,EAAO,EAAgB,CACrC,CAGK,GAAA,EAAA,EAAA,aACD,GAA6C,CACtC,EAAE,MAAQ,SACV,IAAW,EAAa,CAE5B,IAAY,EAAE,EAElB,CAAC,EAAc,EAAU,EAAU,CACtC,CAGK,GAAA,EAAA,EAAA,iBAAgC,CAC9B,IAAU,IAAA,IACV,EAAiB,GAAG,CAExB,IAAW,GAAG,CACd,KAAW,EACZ,CAAC,EAAO,EAAU,EAAQ,CAAC,CAE9B,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,GAAI,EACC,MACL,KAAK,OACL,MAAO,EACP,SAAU,EACV,UAAW,EACX,QAAS,EACE,YACE,cACb,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,EAAe,CAAA,CAC5B,CAAA,EAER"}
1
+ {"version":3,"file":"MInputSearch-D9bp1QAz.cjs","names":[],"sources":["../src/components/inputs/MInputSearch/MInputSearch.tsx"],"sourcesContent":["import {useState, useCallback, forwardRef} from 'react'\nimport type * as React from 'react'\nimport type {MInputSearchProps} from './MInputSearch.types'\nimport {MInput} from '../MInput'\nimport {useDebouncedCallback} from '../../../utils/useDebounce'\nimport {MSearchIcon} from '../../../icons'\n\n// Extend the base input with debounced search callbacks and an inline clear action.\nexport const MInputSearch = forwardRef<HTMLInputElement, MInputSearchProps>(function MInputSearch(\n {\n debounceMs = 300,\n onSearch,\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onClear,\n clearable = true,\n placeholder = 'Search...',\n ...rest\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue?.toString() ?? '')\n const currentValue = value !== undefined ? value.toString() : internalValue\n\n const debouncedSearch = useDebouncedCallback((val: string) => onSearch?.(val), debounceMs)\n\n // Update local state and debounce search notifications while typing.\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) {\n setInternalValue(e.target.value)\n }\n debouncedSearch(e.target.value)\n onChange?.(e)\n },\n [onChange, value, debouncedSearch]\n )\n\n // Run search immediately when the user confirms with Enter.\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch?.(currentValue)\n }\n onKeyDown?.(e)\n },\n [currentValue, onSearch, onKeyDown]\n )\n\n // Clear both the visible field and the emitted search query.\n const handleClear = useCallback(() => {\n if (value === undefined) {\n setInternalValue('')\n }\n onSearch?.('')\n onClear?.()\n }, [value, onSearch, onClear])\n\n return (\n <MInput\n {...rest}\n ref={ref}\n type=\"text\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onClear={handleClear}\n clearable={clearable}\n placeholder={placeholder}\n startIcon={<MSearchIcon />}\n />\n )\n})\n"],"mappings":"yMAQA,IAAa,GAAA,EAAA,EAAA,YAA+D,SACxE,CACI,aAAa,IACb,WACA,QACA,eACA,WACA,YACA,UACA,YAAY,GACZ,cAAc,YACd,GAAG,GAEP,EACF,CACE,GAAM,CAAC,EAAe,IAAA,EAAA,EAAA,UAA6B,GAAc,UAAU,EAAI,GAAG,CAC5E,EAAe,IAAU,IAAA,GAA+B,EAAnB,EAAM,UAAU,CAErD,EAAkB,EAAA,EAAsB,GAAgB,IAAW,EAAI,CAAE,EAAW,CAGpF,GAAA,EAAA,EAAA,aACD,GAA2C,CACpC,IAAU,IAAA,IACV,EAAiB,EAAE,OAAO,MAAM,CAEpC,EAAgB,EAAE,OAAO,MAAM,CAC/B,IAAW,EAAE,EAEjB,CAAC,EAAU,EAAO,EAAgB,CACrC,CAGK,GAAA,EAAA,EAAA,aACD,GAA6C,CACtC,EAAE,MAAQ,SACV,IAAW,EAAa,CAE5B,IAAY,EAAE,EAElB,CAAC,EAAc,EAAU,EAAU,CACtC,CAGK,GAAA,EAAA,EAAA,iBAAgC,CAC9B,IAAU,IAAA,IACV,EAAiB,GAAG,CAExB,IAAW,GAAG,CACd,KAAW,EACZ,CAAC,EAAO,EAAU,EAAQ,CAAC,CAE9B,OACI,EAAA,EAAA,KAAC,EAAA,EAAD,CACI,GAAI,EACC,MACL,KAAK,OACL,MAAO,EACP,SAAU,EACV,UAAW,EACX,QAAS,EACE,YACE,cACb,WAAW,EAAA,EAAA,KAAC,EAAA,GAAD,EAAe,CAAA,CAC5B,CAAA,EAER"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`);require(`./core-B2klLGki.cjs`);let t=require(`react/jsx-runtime`);function n({size:n=`md`,className:r,children:i,...a}){return(0,t.jsx)(`kbd`,{className:e.t(`kbd`,n,r),...a,children:i})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
2
- //# sourceMappingURL=MKbd-CGkzxJhi.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`);require(`./core-o3cw16Db.cjs`);let t=require(`react/jsx-runtime`);function n({size:n=`md`,className:r,children:i,...a}){return(0,t.jsx)(`kbd`,{className:e.t(`kbd`,n,r),...a,children:i})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
2
+ //# sourceMappingURL=MKbd-CiwDwFwA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MKbd-CGkzxJhi.cjs","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":"uGAIA,SAAgB,EAAK,CAAC,OAAO,KAAM,YAAW,WAAU,GAAG,GAAkB,CACzE,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,MAAO,EAAM,EAAU,CAAE,GAAI,EAC3C,WACC,CAAA"}
1
+ {"version":3,"file":"MKbd-CiwDwFwA.cjs","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":"uGAIA,SAAgB,EAAK,CAAC,OAAO,KAAM,YAAW,WAAU,GAAG,GAAkB,CACzE,OACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAW,EAAA,EAAG,MAAO,EAAM,EAAU,CAAE,GAAI,EAC3C,WACC,CAAA"}
@@ -11,4 +11,4 @@ function n({ size: n = "md", className: r, children: i, ...a }) {
11
11
  //#endregion
12
12
  export { n as t };
13
13
 
14
- //# sourceMappingURL=MKbd-I4xDtsqc.js.map
14
+ //# sourceMappingURL=MKbd-v6-tJ9sP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MKbd-I4xDtsqc.js","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":";;;AAIA,SAAgB,EAAK,EAAC,UAAO,MAAM,cAAW,aAAU,GAAG,KAAkB;AACzE,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,OAAO,GAAM,EAAU;EAAE,GAAI;EAC3C;EACC,CAAA"}
1
+ {"version":3,"file":"MKbd-v6-tJ9sP.js","names":[],"sources":["../src/components/typography/MKbd/MKbd.tsx"],"sourcesContent":["import type {MKbdProps} from './MKbd.types'\nimport {cn} from '../../../utils/cn'\nimport './MKbd.css'\n\nexport function MKbd({size = 'md', className, children, ...rest}: MKbdProps) {\n return (\n <kbd className={cn('kbd', size, className)} {...rest}>\n {children}\n </kbd>\n )\n}\n"],"mappings":";;;AAIA,SAAgB,EAAK,EAAC,UAAO,MAAM,cAAW,aAAU,GAAG,KAAkB;AACzE,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,OAAO,GAAM,EAAU;EAAE,GAAI;EAC3C;EACC,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./theme-yQQAPTkp.cjs`),t=require(`./cn-CU5TNITO.cjs`);require(`./core-B2klLGki.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=(0,n.forwardRef)(function({component:n,to:i,tone:a=`default`,underline:o=`hover`,hidden:s,current:c=!1,block:l=!1,disabled:u=!1,className:d,children:f,href:p,onClick:m,...h},g){let _=n??`a`;function v(e){if(u){e.preventDefault();return}m?.(e)}return(0,r.jsx)(_,{ref:g,href:n||u?void 0:p,to:n?i:void 0,className:t.t(`link`,a,o,c&&`current`,l&&`block`,u&&`disabled`,d),"aria-current":c?`page`:void 0,"aria-disabled":u||void 0,onClick:v,...e.r(s),...h,children:f})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=MLink-CZ2FfQ0N.cjs.map
1
+ const e=require(`./theme-DltOEniv.cjs`),t=require(`./cn-CU5TNITO.cjs`);require(`./core-o3cw16Db.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);var i=(0,n.forwardRef)(function({component:n,to:i,tone:a=`default`,underline:o=`hover`,hidden:s,current:c=!1,block:l=!1,disabled:u=!1,className:d,children:f,href:p,onClick:m,...h},g){let _=n??`a`;function v(e){if(u){e.preventDefault();return}m?.(e)}return(0,r.jsx)(_,{ref:g,href:n||u?void 0:p,to:n?i:void 0,className:t.t(`link`,a,o,c&&`current`,l&&`block`,u&&`disabled`,d),"aria-current":c?`page`:void 0,"aria-disabled":u||void 0,onClick:v,...e.r(s),...h,children:f})});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=MLink-B7gXA8qY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MLink-CZ2FfQ0N.cjs","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n hidden,\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":"4JAQA,IAAa,GAAA,EAAA,EAAA,YAA4C,SACrD,CACI,YACA,KACA,OAAO,UACP,YAAY,QACZ,SACA,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YACA,WACA,OACA,UACA,GAAG,GAEP,EACF,CACE,IAAM,EAAY,GAAa,IAG/B,SAAS,EAAY,EAAsC,CACvD,GAAI,EAAU,CACV,EAAM,gBAAgB,CACtB,OAGJ,IAAU,EAAM,CAGpB,OACI,EAAA,EAAA,KAAC,EAAD,CACS,MACL,KAAM,GAAwB,EAAZ,IAAA,GAAmC,EACrD,GAAI,EAAY,EAAK,IAAA,GACrB,UAAW,EAAA,EACP,OACA,EACA,EACA,GAAW,UACX,GAAS,QACT,GAAY,WACZ,EACH,CACD,eAAc,EAAU,OAAS,IAAA,GACjC,gBAAe,GAAY,IAAA,GAC3B,QAAS,EACT,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA,EAElB"}
1
+ {"version":3,"file":"MLink-B7gXA8qY.cjs","names":[],"sources":["../src/components/typography/MLink/MLink.tsx"],"sourcesContent":["import {forwardRef} from 'react'\nimport type {MouseEvent} from 'react'\nimport type {MLinkProps} from './MLink.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MLink.css'\n\n// Render a semantic link that can target anchors or router link components.\nexport const MLink = forwardRef<HTMLElement, MLinkProps>(function MLink(\n {\n component,\n to,\n tone = 'default',\n underline = 'hover',\n hidden,\n current = false,\n block = false,\n disabled = false,\n className,\n children,\n href,\n onClick,\n ...rest\n },\n ref\n) {\n const Component = component ?? 'a'\n\n // Prevent disabled links from navigating while still exposing their content.\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n if (disabled) {\n event.preventDefault()\n return\n }\n\n onClick?.(event)\n }\n\n return (\n <Component\n ref={ref}\n href={component ? undefined : disabled ? undefined : href}\n to={component ? to : undefined}\n className={cn(\n 'link',\n tone,\n underline,\n current && 'current',\n block && 'block',\n disabled && 'disabled',\n className\n )}\n aria-current={current ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n})\n"],"mappings":"4JAQA,IAAa,GAAA,EAAA,EAAA,YAA4C,SACrD,CACI,YACA,KACA,OAAO,UACP,YAAY,QACZ,SACA,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YACA,WACA,OACA,UACA,GAAG,GAEP,EACF,CACE,IAAM,EAAY,GAAa,IAG/B,SAAS,EAAY,EAAsC,CACvD,GAAI,EAAU,CACV,EAAM,gBAAgB,CACtB,OAGJ,IAAU,EAAM,CAGpB,OACI,EAAA,EAAA,KAAC,EAAD,CACS,MACL,KAAM,GAAwB,EAAZ,IAAA,GAAmC,EACrD,GAAI,EAAY,EAAK,IAAA,GACrB,UAAW,EAAA,EACP,OACA,EACA,EACA,GAAW,UACX,GAAS,QACT,GAAY,WACZ,EACH,CACD,eAAc,EAAU,OAAS,IAAA,GACjC,gBAAe,GAAY,IAAA,GAC3B,QAAS,EACT,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA,EAElB"}
@@ -1,2 +1,2 @@
1
- const e=require(`./icons-BHFwX7ri.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MButton-ouB6903s.cjs`);require(`./core-B2klLGki.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function o(e,t,n,r){if(e<=r*2+n*2+3)return a(1,e);let i=Math.max(t-n,r+2),o=Math.min(t+n,e-r-1),s=i>r+2,c=o<e-r-1,l=a(1,r),u=a(e-r+1,e);if(!s&&c)return[...a(1,n*2+r+2),`dots`,...u];if(s&&!c){let t=n*2+r+2;return[...l,`dots`,...a(e-t+1,e)]}return[...l,`dots`,...a(i,o),`dots`,...u]}function s({total:a,page:s,pageSize:c=10,onChange:l,siblings:u=1,boundaries:d=1,variant:f=`numbered`,className:p,...m}){let h=Math.max(1,Math.ceil(a/c)),g=Math.min(Math.max(1,s),h),_=(0,r.useMemo)(()=>o(h,g,u,d),[h,g,u,d]);return f===`simple`?(0,i.jsxs)(`nav`,{"aria-label":`pagination`,className:t.t(`pagination`,p),...m,children:[(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g<=1,onClick:()=>l(g-1),className:`nav`,children:(0,i.jsx)(e.Wi,{})}),(0,i.jsxs)(`span`,{className:`info`,children:[g,` / `,h]}),(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g>=h,onClick:()=>l(g+1),className:`nav`,children:(0,i.jsx)(e.Ui,{})})]}):(0,i.jsxs)(`nav`,{"aria-label":`pagination`,className:t.t(`pagination`,p),...m,children:[(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g<=1,onClick:()=>l(g-1),className:`nav`,children:(0,i.jsx)(e.Wi,{})}),_.map((e,n)=>e===`dots`?(0,i.jsx)(`span`,{className:`dots`,children:`…`},`dots-${n}`):(0,i.jsx)(`button`,{type:`button`,className:t.t(`btn`,e===g&&`active`),onClick:()=>l(e),children:e},e)),(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g>=h,onClick:()=>l(g+1),className:`nav`,children:(0,i.jsx)(e.Ui,{})})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
2
- //# sourceMappingURL=MPagination-CAzIIP2o.cjs.map
1
+ const e=require(`./icons-DX_cScBq.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MButton-B8kFTOPJ.cjs`);require(`./core-o3cw16Db.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);function a(e,t){let n=[];for(let r=e;r<=t;r++)n.push(r);return n}function o(e,t,n,r){if(e<=r*2+n*2+3)return a(1,e);let i=Math.max(t-n,r+2),o=Math.min(t+n,e-r-1),s=i>r+2,c=o<e-r-1,l=a(1,r),u=a(e-r+1,e);if(!s&&c)return[...a(1,n*2+r+2),`dots`,...u];if(s&&!c){let t=n*2+r+2;return[...l,`dots`,...a(e-t+1,e)]}return[...l,`dots`,...a(i,o),`dots`,...u]}function s({total:a,page:s,pageSize:c=10,onChange:l,siblings:u=1,boundaries:d=1,variant:f=`numbered`,className:p,...m}){let h=Math.max(1,Math.ceil(a/c)),g=Math.min(Math.max(1,s),h),_=(0,r.useMemo)(()=>o(h,g,u,d),[h,g,u,d]);return f===`simple`?(0,i.jsxs)(`nav`,{"aria-label":`pagination`,className:t.t(`pagination`,p),...m,children:[(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g<=1,onClick:()=>l(g-1),className:`nav`,children:(0,i.jsx)(e.Wi,{})}),(0,i.jsxs)(`span`,{className:`info`,children:[g,` / `,h]}),(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g>=h,onClick:()=>l(g+1),className:`nav`,children:(0,i.jsx)(e.Ui,{})})]}):(0,i.jsxs)(`nav`,{"aria-label":`pagination`,className:t.t(`pagination`,p),...m,children:[(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g<=1,onClick:()=>l(g-1),className:`nav`,children:(0,i.jsx)(e.Wi,{})}),_.map((e,n)=>e===`dots`?(0,i.jsx)(`span`,{className:`dots`,children:`…`},`dots-${n}`):(0,i.jsx)(`button`,{type:`button`,className:t.t(`btn`,e===g&&`active`),onClick:()=>l(e),children:e},e)),(0,i.jsx)(n.t,{variant:`outlined`,size:`sm`,iconOnly:!0,disabled:g>=h,onClick:()=>l(g+1),className:`nav`,children:(0,i.jsx)(e.Ui,{})})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=MPagination-C2GmGkVA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MPagination-CAzIIP2o.cjs","names":[],"sources":["../src/components/layout/MPagination/MPagination.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MPaginationProps} from './MPagination.types'\nimport './MPagination.css'\n\nfunction range(start: number, end: number): number[] {\n const result: number[] = []\n for (let i = start; i <= end; i++) result.push(i)\n return result\n}\n\nfunction buildPages(totalPages: number, page: number, siblings: number, boundaries: number): (number | 'dots')[] {\n if (totalPages <= boundaries * 2 + siblings * 2 + 3) {\n return range(1, totalPages)\n }\n\n const leftBound = Math.max(page - siblings, boundaries + 2)\n const rightBound = Math.min(page + siblings, totalPages - boundaries - 1)\n\n const showLeftDots = leftBound > boundaries + 2\n const showRightDots = rightBound < totalPages - boundaries - 1\n\n const leftEdge = range(1, boundaries)\n const rightEdge = range(totalPages - boundaries + 1, totalPages)\n\n if (!showLeftDots && showRightDots) {\n const leftCount = siblings * 2 + boundaries + 2\n return [...range(1, leftCount), 'dots', ...rightEdge]\n }\n\n if (showLeftDots && !showRightDots) {\n const rightCount = siblings * 2 + boundaries + 2\n return [...leftEdge, 'dots', ...range(totalPages - rightCount + 1, totalPages)]\n }\n\n return [...leftEdge, 'dots', ...range(leftBound, rightBound), 'dots', ...rightEdge]\n}\n\nexport function MPagination({\n total,\n page,\n pageSize = 10,\n onChange,\n siblings = 1,\n boundaries = 1,\n variant = 'numbered',\n className,\n ...rest\n}: MPaginationProps) {\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\n const currentPage = Math.min(Math.max(1, page), totalPages)\n\n const pages = useMemo(\n () => buildPages(totalPages, currentPage, siblings, boundaries),\n [totalPages, currentPage, siblings, boundaries]\n )\n\n if (variant === 'simple') {\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n <span className=\"info\">\n {currentPage} / {totalPages}\n </span>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n }\n\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n {pages.map((p, i) =>\n p === 'dots' ? (\n <span key={`dots-${i}`} className=\"dots\">\n &#8230;\n </span>\n ) : (\n <button\n key={p}\n type=\"button\"\n className={cn('btn', p === currentPage && 'active')}\n onClick={() => onChange(p)}\n >\n {p}\n </button>\n )\n )}\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MPagination-C2GmGkVA.cjs","names":[],"sources":["../src/components/layout/MPagination/MPagination.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MPaginationProps} from './MPagination.types'\nimport './MPagination.css'\n\nfunction range(start: number, end: number): number[] {\n const result: number[] = []\n for (let i = start; i <= end; i++) result.push(i)\n return result\n}\n\nfunction buildPages(totalPages: number, page: number, siblings: number, boundaries: number): (number | 'dots')[] {\n if (totalPages <= boundaries * 2 + siblings * 2 + 3) {\n return range(1, totalPages)\n }\n\n const leftBound = Math.max(page - siblings, boundaries + 2)\n const rightBound = Math.min(page + siblings, totalPages - boundaries - 1)\n\n const showLeftDots = leftBound > boundaries + 2\n const showRightDots = rightBound < totalPages - boundaries - 1\n\n const leftEdge = range(1, boundaries)\n const rightEdge = range(totalPages - boundaries + 1, totalPages)\n\n if (!showLeftDots && showRightDots) {\n const leftCount = siblings * 2 + boundaries + 2\n return [...range(1, leftCount), 'dots', ...rightEdge]\n }\n\n if (showLeftDots && !showRightDots) {\n const rightCount = siblings * 2 + boundaries + 2\n return [...leftEdge, 'dots', ...range(totalPages - rightCount + 1, totalPages)]\n }\n\n return [...leftEdge, 'dots', ...range(leftBound, rightBound), 'dots', ...rightEdge]\n}\n\nexport function MPagination({\n total,\n page,\n pageSize = 10,\n onChange,\n siblings = 1,\n boundaries = 1,\n variant = 'numbered',\n className,\n ...rest\n}: MPaginationProps) {\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\n const currentPage = Math.min(Math.max(1, page), totalPages)\n\n const pages = useMemo(\n () => buildPages(totalPages, currentPage, siblings, boundaries),\n [totalPages, currentPage, siblings, boundaries]\n )\n\n if (variant === 'simple') {\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n <span className=\"info\">\n {currentPage} / {totalPages}\n </span>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n }\n\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n {pages.map((p, i) =>\n p === 'dots' ? (\n <span key={`dots-${i}`} className=\"dots\">\n &#8230;\n </span>\n ) : (\n <button\n key={p}\n type=\"button\"\n className={cn('btn', p === currentPage && 'active')}\n onClick={() => onChange(p)}\n >\n {p}\n </button>\n )\n )}\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Ui as e, Wi as t } from "./icons-DLP-Rs6z.js";
2
2
  import { t as n } from "./cn-YER3QsV1.js";
3
- import { t as r } from "./MButton-C94fZ3l9.js";
3
+ import { t as r } from "./MButton-C1pnL4_j.js";
4
4
  import { useMemo as i } from "react";
5
5
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
6
  //#region src/components/layout/MPagination/MPagination.tsx
@@ -110,4 +110,4 @@ function l({ total: s, page: l, pageSize: u = 10, onChange: d, siblings: f = 1,
110
110
  //#endregion
111
111
  export { l as t };
112
112
 
113
- //# sourceMappingURL=MPagination-CnFI794t.js.map
113
+ //# sourceMappingURL=MPagination-DpUtB6t6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MPagination-CnFI794t.js","names":[],"sources":["../src/components/layout/MPagination/MPagination.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MPaginationProps} from './MPagination.types'\nimport './MPagination.css'\n\nfunction range(start: number, end: number): number[] {\n const result: number[] = []\n for (let i = start; i <= end; i++) result.push(i)\n return result\n}\n\nfunction buildPages(totalPages: number, page: number, siblings: number, boundaries: number): (number | 'dots')[] {\n if (totalPages <= boundaries * 2 + siblings * 2 + 3) {\n return range(1, totalPages)\n }\n\n const leftBound = Math.max(page - siblings, boundaries + 2)\n const rightBound = Math.min(page + siblings, totalPages - boundaries - 1)\n\n const showLeftDots = leftBound > boundaries + 2\n const showRightDots = rightBound < totalPages - boundaries - 1\n\n const leftEdge = range(1, boundaries)\n const rightEdge = range(totalPages - boundaries + 1, totalPages)\n\n if (!showLeftDots && showRightDots) {\n const leftCount = siblings * 2 + boundaries + 2\n return [...range(1, leftCount), 'dots', ...rightEdge]\n }\n\n if (showLeftDots && !showRightDots) {\n const rightCount = siblings * 2 + boundaries + 2\n return [...leftEdge, 'dots', ...range(totalPages - rightCount + 1, totalPages)]\n }\n\n return [...leftEdge, 'dots', ...range(leftBound, rightBound), 'dots', ...rightEdge]\n}\n\nexport function MPagination({\n total,\n page,\n pageSize = 10,\n onChange,\n siblings = 1,\n boundaries = 1,\n variant = 'numbered',\n className,\n ...rest\n}: MPaginationProps) {\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\n const currentPage = Math.min(Math.max(1, page), totalPages)\n\n const pages = useMemo(\n () => buildPages(totalPages, currentPage, siblings, boundaries),\n [totalPages, currentPage, siblings, boundaries]\n )\n\n if (variant === 'simple') {\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n <span className=\"info\">\n {currentPage} / {totalPages}\n </span>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n }\n\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n {pages.map((p, i) =>\n p === 'dots' ? (\n <span key={`dots-${i}`} className=\"dots\">\n &#8230;\n </span>\n ) : (\n <button\n key={p}\n type=\"button\"\n className={cn('btn', p === currentPage && 'active')}\n onClick={() => onChange(p)}\n >\n {p}\n </button>\n )\n )}\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n}\n"],"mappings":";;;;;;AAOA,SAAS,EAAM,GAAe,GAAuB;CACjD,IAAM,IAAmB,EAAE;AAC3B,MAAK,IAAI,IAAI,GAAO,KAAK,GAAK,IAAK,GAAO,KAAK,EAAE;AACjD,QAAO;;AAGX,SAAS,EAAW,GAAoB,GAAc,GAAkB,GAAyC;AAC7G,KAAI,KAAc,IAAa,IAAI,IAAW,IAAI,EAC9C,QAAO,EAAM,GAAG,EAAW;CAG/B,IAAM,IAAY,KAAK,IAAI,IAAO,GAAU,IAAa,EAAE,EACrD,IAAa,KAAK,IAAI,IAAO,GAAU,IAAa,IAAa,EAAE,EAEnE,IAAe,IAAY,IAAa,GACxC,IAAgB,IAAa,IAAa,IAAa,GAEvD,IAAW,EAAM,GAAG,EAAW,EAC/B,IAAY,EAAM,IAAa,IAAa,GAAG,EAAW;AAEhE,KAAI,CAAC,KAAgB,EAEjB,QAAO;EAAC,GAAG,EAAM,GADC,IAAW,IAAI,IAAa,EAChB;EAAE;EAAQ,GAAG;EAAU;AAGzD,KAAI,KAAgB,CAAC,GAAe;EAChC,IAAM,IAAa,IAAW,IAAI,IAAa;AAC/C,SAAO;GAAC,GAAG;GAAU;GAAQ,GAAG,EAAM,IAAa,IAAa,GAAG,EAAW;GAAC;;AAGnF,QAAO;EAAC,GAAG;EAAU;EAAQ,GAAG,EAAM,GAAW,EAAW;EAAE;EAAQ,GAAG;EAAU;;AAGvF,SAAgB,EAAY,EACxB,UACA,SACA,cAAW,IACX,aACA,cAAW,GACX,gBAAa,GACb,aAAU,YACV,cACA,GAAG,KACc;CACjB,IAAM,IAAa,KAAK,IAAI,GAAG,KAAK,KAAK,IAAQ,EAAS,CAAC,EACrD,IAAc,KAAK,IAAI,KAAK,IAAI,GAAG,EAAK,EAAE,EAAW,EAErD,IAAQ,QACJ,EAAW,GAAY,GAAa,GAAU,EAAW,EAC/D;EAAC;EAAY;EAAa;EAAU;EAAW,CAClD;AAgCD,QA9BI,MAAY,WAER,kBAAC,OAAD;EAAK,cAAW;EAAa,WAAW,EAAG,cAAc,EAAU;EAAE,GAAI;YAAzE;GACI,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAoB,CAAA;IACd,CAAA;GACV,kBAAC,QAAD;IAAM,WAAU;cAAhB;KACK;KAAY;KAAI;KACd;;GACP,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAqB,CAAA;IACf,CAAA;GACR;MAKV,kBAAC,OAAD;EAAK,cAAW;EAAa,WAAW,EAAG,cAAc,EAAU;EAAE,GAAI;YAAzE;GACI,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAoB,CAAA;IACd,CAAA;GACT,EAAM,KAAK,GAAG,MACX,MAAM,SACF,kBAAC,QAAD;IAAwB,WAAU;cAAO;IAElC,EAFI,QAAQ,IAEZ,GAEP,kBAAC,UAAD;IAEI,MAAK;IACL,WAAW,EAAG,OAAO,MAAM,KAAe,SAAS;IACnD,eAAe,EAAS,EAAE;cAEzB;IACI,EANA,EAMA,CAEhB;GACD,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAqB,CAAA;IACf,CAAA;GACR"}
1
+ {"version":3,"file":"MPagination-DpUtB6t6.js","names":[],"sources":["../src/components/layout/MPagination/MPagination.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MChevronLeftIcon, MChevronRightIcon} from '../../../icons'\nimport type {MPaginationProps} from './MPagination.types'\nimport './MPagination.css'\n\nfunction range(start: number, end: number): number[] {\n const result: number[] = []\n for (let i = start; i <= end; i++) result.push(i)\n return result\n}\n\nfunction buildPages(totalPages: number, page: number, siblings: number, boundaries: number): (number | 'dots')[] {\n if (totalPages <= boundaries * 2 + siblings * 2 + 3) {\n return range(1, totalPages)\n }\n\n const leftBound = Math.max(page - siblings, boundaries + 2)\n const rightBound = Math.min(page + siblings, totalPages - boundaries - 1)\n\n const showLeftDots = leftBound > boundaries + 2\n const showRightDots = rightBound < totalPages - boundaries - 1\n\n const leftEdge = range(1, boundaries)\n const rightEdge = range(totalPages - boundaries + 1, totalPages)\n\n if (!showLeftDots && showRightDots) {\n const leftCount = siblings * 2 + boundaries + 2\n return [...range(1, leftCount), 'dots', ...rightEdge]\n }\n\n if (showLeftDots && !showRightDots) {\n const rightCount = siblings * 2 + boundaries + 2\n return [...leftEdge, 'dots', ...range(totalPages - rightCount + 1, totalPages)]\n }\n\n return [...leftEdge, 'dots', ...range(leftBound, rightBound), 'dots', ...rightEdge]\n}\n\nexport function MPagination({\n total,\n page,\n pageSize = 10,\n onChange,\n siblings = 1,\n boundaries = 1,\n variant = 'numbered',\n className,\n ...rest\n}: MPaginationProps) {\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\n const currentPage = Math.min(Math.max(1, page), totalPages)\n\n const pages = useMemo(\n () => buildPages(totalPages, currentPage, siblings, boundaries),\n [totalPages, currentPage, siblings, boundaries]\n )\n\n if (variant === 'simple') {\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n <span className=\"info\">\n {currentPage} / {totalPages}\n </span>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n }\n\n return (\n <nav aria-label=\"pagination\" className={cn('pagination', className)} {...rest}>\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage <= 1}\n onClick={() => onChange(currentPage - 1)}\n className=\"nav\"\n >\n <MChevronLeftIcon />\n </MButton>\n {pages.map((p, i) =>\n p === 'dots' ? (\n <span key={`dots-${i}`} className=\"dots\">\n &#8230;\n </span>\n ) : (\n <button\n key={p}\n type=\"button\"\n className={cn('btn', p === currentPage && 'active')}\n onClick={() => onChange(p)}\n >\n {p}\n </button>\n )\n )}\n <MButton\n variant=\"outlined\"\n size=\"sm\"\n iconOnly\n disabled={currentPage >= totalPages}\n onClick={() => onChange(currentPage + 1)}\n className=\"nav\"\n >\n <MChevronRightIcon />\n </MButton>\n </nav>\n )\n}\n"],"mappings":";;;;;;AAOA,SAAS,EAAM,GAAe,GAAuB;CACjD,IAAM,IAAmB,EAAE;AAC3B,MAAK,IAAI,IAAI,GAAO,KAAK,GAAK,IAAK,GAAO,KAAK,EAAE;AACjD,QAAO;;AAGX,SAAS,EAAW,GAAoB,GAAc,GAAkB,GAAyC;AAC7G,KAAI,KAAc,IAAa,IAAI,IAAW,IAAI,EAC9C,QAAO,EAAM,GAAG,EAAW;CAG/B,IAAM,IAAY,KAAK,IAAI,IAAO,GAAU,IAAa,EAAE,EACrD,IAAa,KAAK,IAAI,IAAO,GAAU,IAAa,IAAa,EAAE,EAEnE,IAAe,IAAY,IAAa,GACxC,IAAgB,IAAa,IAAa,IAAa,GAEvD,IAAW,EAAM,GAAG,EAAW,EAC/B,IAAY,EAAM,IAAa,IAAa,GAAG,EAAW;AAEhE,KAAI,CAAC,KAAgB,EAEjB,QAAO;EAAC,GAAG,EAAM,GADC,IAAW,IAAI,IAAa,EAChB;EAAE;EAAQ,GAAG;EAAU;AAGzD,KAAI,KAAgB,CAAC,GAAe;EAChC,IAAM,IAAa,IAAW,IAAI,IAAa;AAC/C,SAAO;GAAC,GAAG;GAAU;GAAQ,GAAG,EAAM,IAAa,IAAa,GAAG,EAAW;GAAC;;AAGnF,QAAO;EAAC,GAAG;EAAU;EAAQ,GAAG,EAAM,GAAW,EAAW;EAAE;EAAQ,GAAG;EAAU;;AAGvF,SAAgB,EAAY,EACxB,UACA,SACA,cAAW,IACX,aACA,cAAW,GACX,gBAAa,GACb,aAAU,YACV,cACA,GAAG,KACc;CACjB,IAAM,IAAa,KAAK,IAAI,GAAG,KAAK,KAAK,IAAQ,EAAS,CAAC,EACrD,IAAc,KAAK,IAAI,KAAK,IAAI,GAAG,EAAK,EAAE,EAAW,EAErD,IAAQ,QACJ,EAAW,GAAY,GAAa,GAAU,EAAW,EAC/D;EAAC;EAAY;EAAa;EAAU;EAAW,CAClD;AAgCD,QA9BI,MAAY,WAER,kBAAC,OAAD;EAAK,cAAW;EAAa,WAAW,EAAG,cAAc,EAAU;EAAE,GAAI;YAAzE;GACI,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAoB,CAAA;IACd,CAAA;GACV,kBAAC,QAAD;IAAM,WAAU;cAAhB;KACK;KAAY;KAAI;KACd;;GACP,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAqB,CAAA;IACf,CAAA;GACR;MAKV,kBAAC,OAAD;EAAK,cAAW;EAAa,WAAW,EAAG,cAAc,EAAU;EAAE,GAAI;YAAzE;GACI,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAoB,CAAA;IACd,CAAA;GACT,EAAM,KAAK,GAAG,MACX,MAAM,SACF,kBAAC,QAAD;IAAwB,WAAU;cAAO;IAElC,EAFI,QAAQ,IAEZ,GAEP,kBAAC,UAAD;IAEI,MAAK;IACL,WAAW,EAAG,OAAO,MAAM,KAAe,SAAS;IACnD,eAAe,EAAS,EAAE;cAEzB;IACI,EANA,EAMA,CAEhB;GACD,kBAAC,GAAD;IACI,SAAQ;IACR,MAAK;IACL,UAAA;IACA,UAAU,KAAe;IACzB,eAAe,EAAS,IAAc,EAAE;IACxC,WAAU;cAEV,kBAAC,GAAD,EAAqB,CAAA;IACf,CAAA;GACR"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MPortal-DokH9TfY.cjs`);require(`./core-B2klLGki.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i({open:i,anchorRef:a,onClose:o,placement:s=`bottom-start`,matchWidth:c=!1,offset:l=4,zIndex:u,children:d,className:f,style:p}){let m=(0,n.useRef)(null),[h,g]=(0,n.useState)(null),[_,v]=(0,n.useState)(!1),[y,b]=(0,n.useState)(null),x=(0,n.useCallback)(()=>{if(u!==void 0){b(u);return}let e=a.current;if(!e||typeof window>`u`){b(null);return}let t=e.closest(`.drawer-backdrop, .modal-backdrop, .sheet-backdrop, .sidebar.mobile-open, .popover`);if(!t){b(null);return}let n=window.getComputedStyle(t).zIndex,r=Number.parseInt(n,10);b(Number.isFinite(r)?r+1:null)},[a,u]),S=(0,n.useCallback)(()=>{if(!a.current||!m.current)return;let e=a.current.getBoundingClientRect(),t=m.current.getBoundingClientRect(),n={width:window.innerWidth,height:window.innerHeight},r=s.startsWith(`top`),i=s.startsWith(`right`),o=s.startsWith(`left`),u=i||o,d=s.endsWith(`end`),f,p;if(u){let r=n.width-e.right-l,a=e.left-l,o=i?r<t.width&&a>r:a<t.width&&r>a;v(o),p=(i?!o:o)?e.right+l+window.scrollX:e.left-t.width-l+window.scrollX,f=d?e.bottom-t.height+window.scrollY:e.top+window.scrollY}else{let i=n.height-e.bottom-l,a=e.top-l,o=r?a<t.height&&i>a:i<t.height&&a>i;v(o),f=(r?!o:o)?e.top-t.height-l+window.scrollY:e.bottom+l+window.scrollY,p=d?e.right-t.width+window.scrollX:e.left+window.scrollX}p=Math.max(8,Math.min(p,n.width-t.width-8)),f=Math.max(8+window.scrollY,f),g({top:f,left:p,width:c?e.width:void 0})},[a,s,l,c]);return(0,n.useEffect)(()=>{if(!i){g(null),b(null);return}return x(),requestAnimationFrame(S),window.addEventListener(`scroll`,S,{passive:!0}),window.addEventListener(`resize`,S,{passive:!0}),()=>{window.removeEventListener(`scroll`,S),window.removeEventListener(`resize`,S)}},[i,x,S]),(0,n.useEffect)(()=>{if(!i)return;let e=e=>{e.key===`Escape`&&o()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i,o]),(0,n.useEffect)(()=>{if(!i)return;let e=e=>{m.current&&!m.current.contains(e.target)&&a.current&&!a.current.contains(e.target)&&o()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i,o,a]),i?(0,r.jsx)(t.t,{children:(0,r.jsx)(`div`,{ref:m,className:e.t(`popover`,_?`flipped`:`normal`,f),style:{position:`absolute`,top:h?.top??0,left:h?.left??0,width:h?.width,zIndex:y??void 0,visibility:h?`visible`:`hidden`,...p},role:`listbox`,children:d})}):null}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=MPopover-BbgAAM5Z.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`),t=require(`./MPortal-Djrw2WhD.cjs`);require(`./core-o3cw16Db.cjs`);let n=require(`react`),r=require(`react/jsx-runtime`);function i({open:i,anchorRef:a,onClose:o,placement:s=`bottom-start`,matchWidth:c=!1,offset:l=4,zIndex:u,children:d,className:f,style:p}){let m=(0,n.useRef)(null),[h,g]=(0,n.useState)(null),[_,v]=(0,n.useState)(!1),[y,b]=(0,n.useState)(null),x=(0,n.useCallback)(()=>{if(u!==void 0){b(u);return}let e=a.current;if(!e||typeof window>`u`){b(null);return}let t=e.closest(`.drawer-backdrop, .modal-backdrop, .sheet-backdrop, .sidebar.mobile-open, .popover`);if(!t){b(null);return}let n=window.getComputedStyle(t).zIndex,r=Number.parseInt(n,10);b(Number.isFinite(r)?r+1:null)},[a,u]),S=(0,n.useCallback)(()=>{if(!a.current||!m.current)return;let e=a.current.getBoundingClientRect(),t=m.current.getBoundingClientRect(),n={width:window.innerWidth,height:window.innerHeight},r=s.startsWith(`top`),i=s.startsWith(`right`),o=s.startsWith(`left`),u=i||o,d=s.endsWith(`end`),f,p;if(u){let r=n.width-e.right-l,a=e.left-l,o=i?r<t.width&&a>r:a<t.width&&r>a;v(o),p=(i?!o:o)?e.right+l+window.scrollX:e.left-t.width-l+window.scrollX,f=d?e.bottom-t.height+window.scrollY:e.top+window.scrollY}else{let i=n.height-e.bottom-l,a=e.top-l,o=r?a<t.height&&i>a:i<t.height&&a>i;v(o),f=(r?!o:o)?e.top-t.height-l+window.scrollY:e.bottom+l+window.scrollY,p=d?e.right-t.width+window.scrollX:e.left+window.scrollX}p=Math.max(8,Math.min(p,n.width-t.width-8)),f=Math.max(8+window.scrollY,f),g({top:f,left:p,width:c?e.width:void 0})},[a,s,l,c]);return(0,n.useEffect)(()=>{if(!i){g(null),b(null);return}return x(),requestAnimationFrame(S),window.addEventListener(`scroll`,S,{passive:!0}),window.addEventListener(`resize`,S,{passive:!0}),()=>{window.removeEventListener(`scroll`,S),window.removeEventListener(`resize`,S)}},[i,x,S]),(0,n.useEffect)(()=>{if(!i)return;let e=e=>{e.key===`Escape`&&o()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i,o]),(0,n.useEffect)(()=>{if(!i)return;let e=e=>{m.current&&!m.current.contains(e.target)&&a.current&&!a.current.contains(e.target)&&o()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i,o,a]),i?(0,r.jsx)(t.t,{children:(0,r.jsx)(`div`,{ref:m,className:e.t(`popover`,_?`flipped`:`normal`,f),style:{position:`absolute`,top:h?.top??0,left:h?.left??0,width:h?.width,zIndex:y??void 0,visibility:h?`visible`:`hidden`,...p},role:`listbox`,children:d})}):null}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=MPopover-BVBN5SJi.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MPopover-BbgAAM5Z.cjs","names":[],"sources":["../src/components/primitives/MPopover/MPopover.tsx"],"sourcesContent":["import {useState, useEffect, useRef, useCallback} from 'react'\nimport {MPortal} from '../MPortal'\nimport {cn} from '../../../utils/cn'\nimport type {MPopoverProps} from './MPopover.types'\nimport './MPopover.css'\n\n// Position floating content relative to an anchor with viewport-aware flipping.\nexport function MPopover({\n open,\n anchorRef,\n onClose,\n placement = 'bottom-start',\n matchWidth = false,\n offset = 4,\n zIndex,\n children,\n className,\n style,\n}: MPopoverProps) {\n const popoverRef = useRef<HTMLDivElement>(null)\n const [position, setPosition] = useState<{top: number; left: number; width?: number} | null>(null)\n const [flipped, setFlipped] = useState(false)\n const [layerZ, setLayerZ] = useState<number | string | null>(null)\n\n // Lift popovers above drawers, modals and mobile sidebars when the anchor sits inside them.\n const updateLayer = useCallback(() => {\n if (zIndex !== undefined) {\n setLayerZ(zIndex)\n return\n }\n\n const anchor = anchorRef.current\n if (!anchor || typeof window === 'undefined') {\n setLayerZ(null)\n return\n }\n\n const layerHost = anchor.closest(\n '.drawer-backdrop, .modal-backdrop, .sheet-backdrop, .sidebar.mobile-open, .popover'\n )\n if (!layerHost) {\n setLayerZ(null)\n return\n }\n\n const computedZ = window.getComputedStyle(layerHost).zIndex\n const parsedZ = Number.parseInt(computedZ, 10)\n setLayerZ(Number.isFinite(parsedZ) ? parsedZ + 1 : null)\n }, [anchorRef, zIndex])\n\n // Recalculate popover position whenever layout or viewport constraints change.\n const updatePosition = useCallback(() => {\n if (!anchorRef.current || !popoverRef.current) return\n\n const anchor = anchorRef.current.getBoundingClientRect()\n const popover = popoverRef.current.getBoundingClientRect()\n const viewport = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n const isTop = placement.startsWith('top')\n const isRight = placement.startsWith('right')\n const isLeft = placement.startsWith('left')\n const isHorizontal = isRight || isLeft\n const isEnd = placement.endsWith('end')\n\n let top: number\n let left: number\n\n if (isHorizontal) {\n // Horizontal placement: position to the right or left of the anchor\n const spaceRight = viewport.width - anchor.right - offset\n const spaceLeft = anchor.left - offset\n const shouldFlip = isRight\n ? spaceRight < popover.width && spaceLeft > spaceRight\n : spaceLeft < popover.width && spaceRight > spaceLeft\n\n setFlipped(shouldFlip)\n\n const showOnRight = isRight ? !shouldFlip : shouldFlip\n\n if (showOnRight) {\n left = anchor.right + offset + window.scrollX\n } else {\n left = anchor.left - popover.width - offset + window.scrollX\n }\n\n if (isEnd) {\n top = anchor.bottom - popover.height + window.scrollY\n } else {\n top = anchor.top + window.scrollY\n }\n } else {\n // Vertical placement: position above or below the anchor\n const spaceBelow = viewport.height - anchor.bottom - offset\n const spaceAbove = anchor.top - offset\n const shouldFlip = isTop\n ? spaceAbove < popover.height && spaceBelow > spaceAbove\n : spaceBelow < popover.height && spaceAbove > spaceBelow\n\n setFlipped(shouldFlip)\n\n const showOnTop = isTop ? !shouldFlip : shouldFlip\n\n if (showOnTop) {\n top = anchor.top - popover.height - offset + window.scrollY\n } else {\n top = anchor.bottom + offset + window.scrollY\n }\n\n if (isEnd) {\n left = anchor.right - popover.width + window.scrollX\n } else {\n left = anchor.left + window.scrollX\n }\n }\n\n // Clamp to viewport\n left = Math.max(8, Math.min(left, viewport.width - popover.width - 8))\n top = Math.max(8 + window.scrollY, top)\n\n setPosition({\n top,\n left,\n width: matchWidth ? anchor.width : undefined,\n })\n }, [anchorRef, placement, offset, matchWidth])\n\n useEffect(() => {\n if (!open) {\n setPosition(null)\n setLayerZ(null)\n return\n }\n\n updateLayer()\n // Wait one frame so the rendered popover can be measured accurately.\n requestAnimationFrame(updatePosition)\n\n window.addEventListener('scroll', updatePosition, {passive: true})\n window.addEventListener('resize', updatePosition, {passive: true})\n return () => {\n window.removeEventListener('scroll', updatePosition)\n window.removeEventListener('resize', updatePosition)\n }\n }, [open, updateLayer, updatePosition])\n\n // Close the popover with the standard Escape key interaction.\n useEffect(() => {\n if (!open) return\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n document.addEventListener('keydown', handleKey)\n return () => document.removeEventListener('keydown', handleKey)\n }, [open, onClose])\n\n // Close when the user interacts outside both the popover and its anchor.\n useEffect(() => {\n if (!open) return\n const handleClick = (e: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(e.target as Node) &&\n anchorRef.current &&\n !anchorRef.current.contains(e.target as Node)\n ) {\n onClose()\n }\n }\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [open, onClose, anchorRef])\n\n if (!open) return null\n\n return (\n <MPortal>\n <div\n ref={popoverRef}\n className={cn('popover', flipped ? 'flipped' : 'normal', className)}\n style={{\n position: 'absolute',\n top: position?.top ?? 0,\n left: position?.left ?? 0,\n width: position?.width,\n zIndex: layerZ ?? undefined,\n visibility: position ? 'visible' : 'hidden',\n ...style,\n }}\n role=\"listbox\"\n >\n {children}\n </div>\n </MPortal>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MPopover-BVBN5SJi.cjs","names":[],"sources":["../src/components/primitives/MPopover/MPopover.tsx"],"sourcesContent":["import {useState, useEffect, useRef, useCallback} from 'react'\nimport {MPortal} from '../MPortal'\nimport {cn} from '../../../utils/cn'\nimport type {MPopoverProps} from './MPopover.types'\nimport './MPopover.css'\n\n// Position floating content relative to an anchor with viewport-aware flipping.\nexport function MPopover({\n open,\n anchorRef,\n onClose,\n placement = 'bottom-start',\n matchWidth = false,\n offset = 4,\n zIndex,\n children,\n className,\n style,\n}: MPopoverProps) {\n const popoverRef = useRef<HTMLDivElement>(null)\n const [position, setPosition] = useState<{top: number; left: number; width?: number} | null>(null)\n const [flipped, setFlipped] = useState(false)\n const [layerZ, setLayerZ] = useState<number | string | null>(null)\n\n // Lift popovers above drawers, modals and mobile sidebars when the anchor sits inside them.\n const updateLayer = useCallback(() => {\n if (zIndex !== undefined) {\n setLayerZ(zIndex)\n return\n }\n\n const anchor = anchorRef.current\n if (!anchor || typeof window === 'undefined') {\n setLayerZ(null)\n return\n }\n\n const layerHost = anchor.closest(\n '.drawer-backdrop, .modal-backdrop, .sheet-backdrop, .sidebar.mobile-open, .popover'\n )\n if (!layerHost) {\n setLayerZ(null)\n return\n }\n\n const computedZ = window.getComputedStyle(layerHost).zIndex\n const parsedZ = Number.parseInt(computedZ, 10)\n setLayerZ(Number.isFinite(parsedZ) ? parsedZ + 1 : null)\n }, [anchorRef, zIndex])\n\n // Recalculate popover position whenever layout or viewport constraints change.\n const updatePosition = useCallback(() => {\n if (!anchorRef.current || !popoverRef.current) return\n\n const anchor = anchorRef.current.getBoundingClientRect()\n const popover = popoverRef.current.getBoundingClientRect()\n const viewport = {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n\n const isTop = placement.startsWith('top')\n const isRight = placement.startsWith('right')\n const isLeft = placement.startsWith('left')\n const isHorizontal = isRight || isLeft\n const isEnd = placement.endsWith('end')\n\n let top: number\n let left: number\n\n if (isHorizontal) {\n // Horizontal placement: position to the right or left of the anchor\n const spaceRight = viewport.width - anchor.right - offset\n const spaceLeft = anchor.left - offset\n const shouldFlip = isRight\n ? spaceRight < popover.width && spaceLeft > spaceRight\n : spaceLeft < popover.width && spaceRight > spaceLeft\n\n setFlipped(shouldFlip)\n\n const showOnRight = isRight ? !shouldFlip : shouldFlip\n\n if (showOnRight) {\n left = anchor.right + offset + window.scrollX\n } else {\n left = anchor.left - popover.width - offset + window.scrollX\n }\n\n if (isEnd) {\n top = anchor.bottom - popover.height + window.scrollY\n } else {\n top = anchor.top + window.scrollY\n }\n } else {\n // Vertical placement: position above or below the anchor\n const spaceBelow = viewport.height - anchor.bottom - offset\n const spaceAbove = anchor.top - offset\n const shouldFlip = isTop\n ? spaceAbove < popover.height && spaceBelow > spaceAbove\n : spaceBelow < popover.height && spaceAbove > spaceBelow\n\n setFlipped(shouldFlip)\n\n const showOnTop = isTop ? !shouldFlip : shouldFlip\n\n if (showOnTop) {\n top = anchor.top - popover.height - offset + window.scrollY\n } else {\n top = anchor.bottom + offset + window.scrollY\n }\n\n if (isEnd) {\n left = anchor.right - popover.width + window.scrollX\n } else {\n left = anchor.left + window.scrollX\n }\n }\n\n // Clamp to viewport\n left = Math.max(8, Math.min(left, viewport.width - popover.width - 8))\n top = Math.max(8 + window.scrollY, top)\n\n setPosition({\n top,\n left,\n width: matchWidth ? anchor.width : undefined,\n })\n }, [anchorRef, placement, offset, matchWidth])\n\n useEffect(() => {\n if (!open) {\n setPosition(null)\n setLayerZ(null)\n return\n }\n\n updateLayer()\n // Wait one frame so the rendered popover can be measured accurately.\n requestAnimationFrame(updatePosition)\n\n window.addEventListener('scroll', updatePosition, {passive: true})\n window.addEventListener('resize', updatePosition, {passive: true})\n return () => {\n window.removeEventListener('scroll', updatePosition)\n window.removeEventListener('resize', updatePosition)\n }\n }, [open, updateLayer, updatePosition])\n\n // Close the popover with the standard Escape key interaction.\n useEffect(() => {\n if (!open) return\n const handleKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose()\n }\n document.addEventListener('keydown', handleKey)\n return () => document.removeEventListener('keydown', handleKey)\n }, [open, onClose])\n\n // Close when the user interacts outside both the popover and its anchor.\n useEffect(() => {\n if (!open) return\n const handleClick = (e: MouseEvent) => {\n if (\n popoverRef.current &&\n !popoverRef.current.contains(e.target as Node) &&\n anchorRef.current &&\n !anchorRef.current.contains(e.target as Node)\n ) {\n onClose()\n }\n }\n document.addEventListener('mousedown', handleClick)\n return () => document.removeEventListener('mousedown', handleClick)\n }, [open, onClose, anchorRef])\n\n if (!open) return null\n\n return (\n <MPortal>\n <div\n ref={popoverRef}\n className={cn('popover', flipped ? 'flipped' : 'normal', className)}\n style={{\n position: 'absolute',\n top: position?.top ?? 0,\n left: position?.left ?? 0,\n width: position?.width,\n zIndex: layerZ ?? undefined,\n visibility: position ? 'visible' : 'hidden',\n ...style,\n }}\n role=\"listbox\"\n >\n {children}\n </div>\n </MPortal>\n )\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- require(`./core-B2klLGki.cjs`);let e=require(`react-dom`);function t({children:t,container:n}){let r=n??(typeof document<`u`?document.body:null);return r?(0,e.createPortal)(t,r):null}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
2
- //# sourceMappingURL=MPortal-DokH9TfY.cjs.map
1
+ require(`./core-o3cw16Db.cjs`);let e=require(`react-dom`);function t({children:t,container:n}){let r=n??(typeof document<`u`?document.body:null);return r?(0,e.createPortal)(t,r):null}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
2
+ //# sourceMappingURL=MPortal-Djrw2WhD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MPortal-DokH9TfY.cjs","names":[],"sources":["../src/components/primitives/MPortal/MPortal.tsx"],"sourcesContent":["import {createPortal} from 'react-dom'\nimport type {MPortalProps} from './MPortal.types'\n\n// Mount children into a detached DOM target while defaulting to document.body.\nexport function MPortal({children, container}: MPortalProps) {\n const target = container ?? (typeof document !== 'undefined' ? document.body : null)\n if (!target) return null\n return createPortal(children, target)\n}\n"],"mappings":"0DAIA,SAAgB,EAAQ,CAAC,WAAU,aAA0B,CACzD,IAAM,EAAS,IAAc,OAAO,SAAa,IAAc,SAAS,KAAO,MAE/E,OADK,GACL,EAAA,EAAA,cAAoB,EAAU,EAAO,CADjB"}
1
+ {"version":3,"file":"MPortal-Djrw2WhD.cjs","names":[],"sources":["../src/components/primitives/MPortal/MPortal.tsx"],"sourcesContent":["import {createPortal} from 'react-dom'\nimport type {MPortalProps} from './MPortal.types'\n\n// Mount children into a detached DOM target while defaulting to document.body.\nexport function MPortal({children, container}: MPortalProps) {\n const target = container ?? (typeof document !== 'undefined' ? document.body : null)\n if (!target) return null\n return createPortal(children, target)\n}\n"],"mappings":"0DAIA,SAAgB,EAAQ,CAAC,WAAU,aAA0B,CACzD,IAAM,EAAS,IAAc,OAAO,SAAa,IAAc,SAAS,KAAO,MAE/E,OADK,GACL,EAAA,EAAA,cAAoB,EAAU,EAAO,CADjB"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`);require(`./core-B2klLGki.cjs`);let t=require(`react/jsx-runtime`);function n({columns:n=2,minItemWidth:r,className:i,style:a,children:o,...s}){return(0,t.jsx)(`div`,{className:e.t(`grid`,`columns-${n}`,i),style:{...r?{"--grid-min-item-width":r}:{},...a},...s,children:o})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
2
- //# sourceMappingURL=MSimpleGrid-B6Uh1XJY.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`);require(`./core-o3cw16Db.cjs`);let t=require(`react/jsx-runtime`);function n({columns:n=2,minItemWidth:r,className:i,style:a,children:o,...s}){return(0,t.jsx)(`div`,{className:e.t(`grid`,`columns-${n}`,i),style:{...r?{"--grid-min-item-width":r}:{},...a},...s,children:o})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
2
+ //# sourceMappingURL=MSimpleGrid-BR352NiK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSimpleGrid-B6Uh1XJY.cjs","names":[],"sources":["../src/components/layout/MSimpleGrid/MSimpleGrid.tsx"],"sourcesContent":["import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"uGAKA,SAAgB,EAAY,CAAC,UAAU,EAAG,eAAc,YAAW,QAAO,WAAU,GAAG,GAAyB,CAC5G,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,OAAQ,WAAW,IAAW,EAAU,CACtD,MAAO,CACH,GAAI,EAAe,CAAC,wBAAyB,EAAa,CAAG,EAAE,CAC/D,GAAG,EACN,CACD,GAAI,EAEH,WACC,CAAA"}
1
+ {"version":3,"file":"MSimpleGrid-BR352NiK.cjs","names":[],"sources":["../src/components/layout/MSimpleGrid/MSimpleGrid.tsx"],"sourcesContent":["import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"uGAKA,SAAgB,EAAY,CAAC,UAAU,EAAG,eAAc,YAAW,QAAO,WAAU,GAAG,GAAyB,CAC5G,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,OAAQ,WAAW,IAAW,EAAU,CACtD,MAAO,CACH,GAAI,EAAe,CAAC,wBAAyB,EAAa,CAAG,EAAE,CAC/D,GAAG,EACN,CACD,GAAI,EAEH,WACC,CAAA"}
@@ -15,4 +15,4 @@ function n({ columns: n = 2, minItemWidth: r, className: i, style: a, children:
15
15
  //#endregion
16
16
  export { n as t };
17
17
 
18
- //# sourceMappingURL=MSimpleGrid-Ds14eBrD.js.map
18
+ //# sourceMappingURL=MSimpleGrid-BVeCK9Ci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSimpleGrid-Ds14eBrD.js","names":[],"sources":["../src/components/layout/MSimpleGrid/MSimpleGrid.tsx"],"sourcesContent":["import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":";;;AAKA,SAAgB,EAAY,EAAC,aAAU,GAAG,iBAAc,cAAW,UAAO,aAAU,GAAG,KAAyB;AAC5G,QACI,kBAAC,OAAD;EACI,WAAW,EAAG,QAAQ,WAAW,KAAW,EAAU;EACtD,OAAO;GACH,GAAI,IAAe,EAAC,yBAAyB,GAAa,GAAG,EAAE;GAC/D,GAAG;GACN;EACD,GAAI;EAEH;EACC,CAAA"}
1
+ {"version":3,"file":"MSimpleGrid-BVeCK9Ci.js","names":[],"sources":["../src/components/layout/MSimpleGrid/MSimpleGrid.tsx"],"sourcesContent":["import type {MSimpleGridProps} from './MSimpleGrid.types'\nimport {cn} from '../../../utils/cn'\nimport './MSimpleGrid.css'\n\n// Render a simple equal-column grid with a shared default spacing.\nexport function MSimpleGrid({columns = 2, minItemWidth, className, style, children, ...rest}: MSimpleGridProps) {\n return (\n <div\n className={cn('grid', `columns-${columns}`, className)}\n style={{\n ...(minItemWidth ? {'--grid-min-item-width': minItemWidth} : {}),\n ...style,\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":";;;AAKA,SAAgB,EAAY,EAAC,aAAU,GAAG,iBAAc,cAAW,UAAO,aAAU,GAAG,KAAyB;AAC5G,QACI,kBAAC,OAAD;EACI,WAAW,EAAG,QAAQ,WAAW,KAAW,EAAU;EACtD,OAAO;GACH,GAAI,IAAe,EAAC,yBAAyB,GAAa,GAAG,EAAE;GAC/D,GAAG;GACN;EACD,GAAI;EAEH;EACC,CAAA"}
@@ -50,4 +50,4 @@ function o({ variant: e = "text", width: r, height: i, radius: o, lines: s = 3,
50
50
  //#endregion
51
51
  export { i as n, o as t };
52
52
 
53
- //# sourceMappingURL=MSkeleton-BpylRABV.js.map
53
+ //# sourceMappingURL=MSkeleton-C5uD4Axo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSkeleton-BpylRABV.js","names":[],"sources":["../src/components/feedback/MBadge/MBadge.tsx","../src/components/feedback/MSkeleton/MSkeleton.tsx"],"sourcesContent":["import type {MBadgeProps} from './MBadge.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MBadge.css'\n\n// Render a compact semantic label for status and metadata.\nexport function MBadge({\n color = 'primary',\n size = 'md',\n hidden,\n pulsing = false,\n rounded = false,\n fullWidth = false,\n icon,\n className,\n children,\n ...rest\n}: MBadgeProps) {\n return (\n <span\n className={cn(\n 'badge',\n `color-${color}`,\n size,\n pulsing && 'pulsing',\n rounded && 'rounded',\n fullWidth && 'full-width',\n className\n )}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"badge-icon\">{icon}</span>}\n {children}\n </span>\n )\n}\n","import type {MSkeletonProps} from './MSkeleton.types'\nimport {cn} from '../../../utils/cn'\nimport './MSkeleton.css'\n\nfunction getTextLineWidth(index: number, lines: number) {\n if (lines <= 1) {\n return '100%'\n }\n\n if (index === lines - 1) {\n return '68%'\n }\n\n if (index === lines - 2 && lines > 3) {\n return '88%'\n }\n\n return '100%'\n}\n\n// Animated placeholder shown while content is loading.\nexport function MSkeleton({\n variant = 'text',\n width,\n height,\n radius,\n lines = 3,\n gap,\n animate = true,\n className,\n style,\n ...rest\n}: MSkeletonProps) {\n const animation = animate === false ? 'none' : animate === true ? 'shimmer' : animate\n\n if (variant === 'text') {\n return (\n <div\n className={cn('skeleton-group', className)}\n style={{width: width ?? undefined, gap: gap ?? undefined, ...style}}\n {...rest}\n >\n {Array.from({length: lines}, (_, i) => (\n <div\n key={i}\n className={cn('skeleton', 'text', animation)}\n style={{\n width: getTextLineWidth(i, lines),\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n }}\n />\n ))}\n </div>\n )\n }\n\n return (\n <div\n className={cn('skeleton', variant, animation, className)}\n style={{\n width: width ?? undefined,\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n ...style,\n }}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAO,EACnB,WAAQ,WACR,UAAO,MACP,WACA,aAAU,IACV,aAAU,IACV,eAAY,IACZ,SACA,cACA,aACA,GAAG,KACS;AACZ,QACI,kBAAC,QAAD;EACI,WAAW,EACP,SACA,SAAS,KACT,GACA,KAAW,WACX,KAAW,WACX,KAAa,cACb,EACH;EACD,GAAI,EAAe,EAAO;EAC1B,GAAI;YAXR,CAaK,KAAQ,kBAAC,QAAD;GAAM,WAAU;aAAc;GAAY,CAAA,EAClD,EACE;;;;;AC9Bf,SAAS,EAAiB,GAAe,GAAe;AAapD,QAZI,KAAS,IACF,SAGP,MAAU,IAAQ,IACX,QAGP,MAAU,IAAQ,KAAK,IAAQ,IACxB,QAGJ;;AAIX,SAAgB,EAAU,EACtB,aAAU,QACV,UACA,WACA,WACA,WAAQ,GACR,QACA,aAAU,IACV,cACA,UACA,GAAG,KACY;CACf,IAAM,IAAY,MAAY,KAAQ,SAAS,MAAY,KAAO,YAAY;AAwB9E,QAtBI,MAAY,SAER,kBAAC,OAAD;EACI,WAAW,EAAG,kBAAkB,EAAU;EAC1C,OAAO;GAAC,OAAO,KAAS,KAAA;GAAW,KAAK,KAAO,KAAA;GAAW,GAAG;GAAM;EACnE,GAAI;YAEH,MAAM,KAAK,EAAC,QAAQ,GAAM,GAAG,GAAG,MAC7B,kBAAC,OAAD;GAEI,WAAW,EAAG,YAAY,QAAQ,EAAU;GAC5C,OAAO;IACH,OAAO,EAAiB,GAAG,EAAM;IACjC,QAAQ,KAAU,KAAA;IAClB,cAAc,KAAU,KAAA;IAC3B;GACH,EAPO,EAOP,CACJ;EACA,CAAA,GAKV,kBAAC,OAAD;EACI,WAAW,EAAG,YAAY,GAAS,GAAW,EAAU;EACxD,OAAO;GACH,OAAO,KAAS,KAAA;GAChB,QAAQ,KAAU,KAAA;GAClB,cAAc,KAAU,KAAA;GACxB,GAAG;GACN;EACD,GAAI;EACN,CAAA"}
1
+ {"version":3,"file":"MSkeleton-C5uD4Axo.js","names":[],"sources":["../src/components/feedback/MBadge/MBadge.tsx","../src/components/feedback/MSkeleton/MSkeleton.tsx"],"sourcesContent":["import type {MBadgeProps} from './MBadge.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MBadge.css'\n\n// Render a compact semantic label for status and metadata.\nexport function MBadge({\n color = 'primary',\n size = 'md',\n hidden,\n pulsing = false,\n rounded = false,\n fullWidth = false,\n icon,\n className,\n children,\n ...rest\n}: MBadgeProps) {\n return (\n <span\n className={cn(\n 'badge',\n `color-${color}`,\n size,\n pulsing && 'pulsing',\n rounded && 'rounded',\n fullWidth && 'full-width',\n className\n )}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"badge-icon\">{icon}</span>}\n {children}\n </span>\n )\n}\n","import type {MSkeletonProps} from './MSkeleton.types'\nimport {cn} from '../../../utils/cn'\nimport './MSkeleton.css'\n\nfunction getTextLineWidth(index: number, lines: number) {\n if (lines <= 1) {\n return '100%'\n }\n\n if (index === lines - 1) {\n return '68%'\n }\n\n if (index === lines - 2 && lines > 3) {\n return '88%'\n }\n\n return '100%'\n}\n\n// Animated placeholder shown while content is loading.\nexport function MSkeleton({\n variant = 'text',\n width,\n height,\n radius,\n lines = 3,\n gap,\n animate = true,\n className,\n style,\n ...rest\n}: MSkeletonProps) {\n const animation = animate === false ? 'none' : animate === true ? 'shimmer' : animate\n\n if (variant === 'text') {\n return (\n <div\n className={cn('skeleton-group', className)}\n style={{width: width ?? undefined, gap: gap ?? undefined, ...style}}\n {...rest}\n >\n {Array.from({length: lines}, (_, i) => (\n <div\n key={i}\n className={cn('skeleton', 'text', animation)}\n style={{\n width: getTextLineWidth(i, lines),\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n }}\n />\n ))}\n </div>\n )\n }\n\n return (\n <div\n className={cn('skeleton', variant, animation, className)}\n style={{\n width: width ?? undefined,\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n ...style,\n }}\n {...rest}\n />\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAO,EACnB,WAAQ,WACR,UAAO,MACP,WACA,aAAU,IACV,aAAU,IACV,eAAY,IACZ,SACA,cACA,aACA,GAAG,KACS;AACZ,QACI,kBAAC,QAAD;EACI,WAAW,EACP,SACA,SAAS,KACT,GACA,KAAW,WACX,KAAW,WACX,KAAa,cACb,EACH;EACD,GAAI,EAAe,EAAO;EAC1B,GAAI;YAXR,CAaK,KAAQ,kBAAC,QAAD;GAAM,WAAU;aAAc;GAAY,CAAA,EAClD,EACE;;;;;AC9Bf,SAAS,EAAiB,GAAe,GAAe;AAapD,QAZI,KAAS,IACF,SAGP,MAAU,IAAQ,IACX,QAGP,MAAU,IAAQ,KAAK,IAAQ,IACxB,QAGJ;;AAIX,SAAgB,EAAU,EACtB,aAAU,QACV,UACA,WACA,WACA,WAAQ,GACR,QACA,aAAU,IACV,cACA,UACA,GAAG,KACY;CACf,IAAM,IAAY,MAAY,KAAQ,SAAS,MAAY,KAAO,YAAY;AAwB9E,QAtBI,MAAY,SAER,kBAAC,OAAD;EACI,WAAW,EAAG,kBAAkB,EAAU;EAC1C,OAAO;GAAC,OAAO,KAAS,KAAA;GAAW,KAAK,KAAO,KAAA;GAAW,GAAG;GAAM;EACnE,GAAI;YAEH,MAAM,KAAK,EAAC,QAAQ,GAAM,GAAG,GAAG,MAC7B,kBAAC,OAAD;GAEI,WAAW,EAAG,YAAY,QAAQ,EAAU;GAC5C,OAAO;IACH,OAAO,EAAiB,GAAG,EAAM;IACjC,QAAQ,KAAU,KAAA;IAClB,cAAc,KAAU,KAAA;IAC3B;GACH,EAPO,EAOP,CACJ;EACA,CAAA,GAKV,kBAAC,OAAD;EACI,WAAW,EAAG,YAAY,GAAS,GAAW,EAAU;EACxD,OAAO;GACH,OAAO,KAAS,KAAA;GAChB,QAAQ,KAAU,KAAA;GAClB,cAAc,KAAU,KAAA;GACxB,GAAG;GACN;EACD,GAAI;EACN,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./theme-yQQAPTkp.cjs`),t=require(`./cn-CU5TNITO.cjs`);require(`./core-B2klLGki.cjs`);let n=require(`react/jsx-runtime`);function r({color:r=`primary`,size:i=`md`,hidden:a,pulsing:o=!1,rounded:s=!1,fullWidth:c=!1,icon:l,className:u,children:d,...f}){return(0,n.jsxs)(`span`,{className:t.t(`badge`,`color-${r}`,i,o&&`pulsing`,s&&`rounded`,c&&`full-width`,u),...e.r(a),...f,children:[l&&(0,n.jsx)(`span`,{className:`badge-icon`,children:l}),d]})}function i(e,t){return t<=1?`100%`:e===t-1?`68%`:e===t-2&&t>3?`88%`:`100%`}function a({variant:e=`text`,width:r,height:a,radius:o,lines:s=3,gap:c,animate:l=!0,className:u,style:d,...f}){let p=l===!1?`none`:l===!0?`shimmer`:l;return e===`text`?(0,n.jsx)(`div`,{className:t.t(`skeleton-group`,u),style:{width:r??void 0,gap:c??void 0,...d},...f,children:Array.from({length:s},(e,r)=>(0,n.jsx)(`div`,{className:t.t(`skeleton`,`text`,p),style:{width:i(r,s),height:a??void 0,borderRadius:o??void 0}},r))}):(0,n.jsx)(`div`,{className:t.t(`skeleton`,e,p,u),style:{width:r??void 0,height:a??void 0,borderRadius:o??void 0,...d},...f})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=MSkeleton-JMkJFzu9.cjs.map
1
+ const e=require(`./theme-DltOEniv.cjs`),t=require(`./cn-CU5TNITO.cjs`);require(`./core-o3cw16Db.cjs`);let n=require(`react/jsx-runtime`);function r({color:r=`primary`,size:i=`md`,hidden:a,pulsing:o=!1,rounded:s=!1,fullWidth:c=!1,icon:l,className:u,children:d,...f}){return(0,n.jsxs)(`span`,{className:t.t(`badge`,`color-${r}`,i,o&&`pulsing`,s&&`rounded`,c&&`full-width`,u),...e.r(a),...f,children:[l&&(0,n.jsx)(`span`,{className:`badge-icon`,children:l}),d]})}function i(e,t){return t<=1?`100%`:e===t-1?`68%`:e===t-2&&t>3?`88%`:`100%`}function a({variant:e=`text`,width:r,height:a,radius:o,lines:s=3,gap:c,animate:l=!0,className:u,style:d,...f}){let p=l===!1?`none`:l===!0?`shimmer`:l;return e===`text`?(0,n.jsx)(`div`,{className:t.t(`skeleton-group`,u),style:{width:r??void 0,gap:c??void 0,...d},...f,children:Array.from({length:s},(e,r)=>(0,n.jsx)(`div`,{className:t.t(`skeleton`,`text`,p),style:{width:i(r,s),height:a??void 0,borderRadius:o??void 0}},r))}):(0,n.jsx)(`div`,{className:t.t(`skeleton`,e,p,u),style:{width:r??void 0,height:a??void 0,borderRadius:o??void 0,...d},...f})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=MSkeleton-DyQBeuVT.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSkeleton-JMkJFzu9.cjs","names":[],"sources":["../src/components/feedback/MBadge/MBadge.tsx","../src/components/feedback/MSkeleton/MSkeleton.tsx"],"sourcesContent":["import type {MBadgeProps} from './MBadge.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MBadge.css'\n\n// Render a compact semantic label for status and metadata.\nexport function MBadge({\n color = 'primary',\n size = 'md',\n hidden,\n pulsing = false,\n rounded = false,\n fullWidth = false,\n icon,\n className,\n children,\n ...rest\n}: MBadgeProps) {\n return (\n <span\n className={cn(\n 'badge',\n `color-${color}`,\n size,\n pulsing && 'pulsing',\n rounded && 'rounded',\n fullWidth && 'full-width',\n className\n )}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"badge-icon\">{icon}</span>}\n {children}\n </span>\n )\n}\n","import type {MSkeletonProps} from './MSkeleton.types'\nimport {cn} from '../../../utils/cn'\nimport './MSkeleton.css'\n\nfunction getTextLineWidth(index: number, lines: number) {\n if (lines <= 1) {\n return '100%'\n }\n\n if (index === lines - 1) {\n return '68%'\n }\n\n if (index === lines - 2 && lines > 3) {\n return '88%'\n }\n\n return '100%'\n}\n\n// Animated placeholder shown while content is loading.\nexport function MSkeleton({\n variant = 'text',\n width,\n height,\n radius,\n lines = 3,\n gap,\n animate = true,\n className,\n style,\n ...rest\n}: MSkeletonProps) {\n const animation = animate === false ? 'none' : animate === true ? 'shimmer' : animate\n\n if (variant === 'text') {\n return (\n <div\n className={cn('skeleton-group', className)}\n style={{width: width ?? undefined, gap: gap ?? undefined, ...style}}\n {...rest}\n >\n {Array.from({length: lines}, (_, i) => (\n <div\n key={i}\n className={cn('skeleton', 'text', animation)}\n style={{\n width: getTextLineWidth(i, lines),\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n }}\n />\n ))}\n </div>\n )\n }\n\n return (\n <div\n className={cn('skeleton', variant, animation, className)}\n style={{\n width: width ?? undefined,\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n ...style,\n }}\n {...rest}\n />\n )\n}\n"],"mappings":"yIAMA,SAAgB,EAAO,CACnB,QAAQ,UACR,OAAO,KACP,SACA,UAAU,GACV,UAAU,GACV,YAAY,GACZ,OACA,YACA,WACA,GAAG,GACS,CACZ,OACI,EAAA,EAAA,MAAC,OAAD,CACI,UAAW,EAAA,EACP,QACA,SAAS,IACT,EACA,GAAW,UACX,GAAW,UACX,GAAa,aACb,EACH,CACD,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,WAXR,CAaK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAY,CAAA,CAClD,EACE,GC9Bf,SAAS,EAAiB,EAAe,EAAe,CAapD,OAZI,GAAS,EACF,OAGP,IAAU,EAAQ,EACX,MAGP,IAAU,EAAQ,GAAK,EAAQ,EACxB,MAGJ,OAIX,SAAgB,EAAU,CACtB,UAAU,OACV,QACA,SACA,SACA,QAAQ,EACR,MACA,UAAU,GACV,YACA,QACA,GAAG,GACY,CACf,IAAM,EAAY,IAAY,GAAQ,OAAS,IAAY,GAAO,UAAY,EAwB9E,OAtBI,IAAY,QAER,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,iBAAkB,EAAU,CAC1C,MAAO,CAAC,MAAO,GAAS,IAAA,GAAW,IAAK,GAAO,IAAA,GAAW,GAAG,EAAM,CACnE,GAAI,WAEH,MAAM,KAAK,CAAC,OAAQ,EAAM,EAAG,EAAG,KAC7B,EAAA,EAAA,KAAC,MAAD,CAEI,UAAW,EAAA,EAAG,WAAY,OAAQ,EAAU,CAC5C,MAAO,CACH,MAAO,EAAiB,EAAG,EAAM,CACjC,OAAQ,GAAU,IAAA,GAClB,aAAc,GAAU,IAAA,GAC3B,CACH,CAPO,EAOP,CACJ,CACA,CAAA,EAKV,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,WAAY,EAAS,EAAW,EAAU,CACxD,MAAO,CACH,MAAO,GAAS,IAAA,GAChB,OAAQ,GAAU,IAAA,GAClB,aAAc,GAAU,IAAA,GACxB,GAAG,EACN,CACD,GAAI,EACN,CAAA"}
1
+ {"version":3,"file":"MSkeleton-DyQBeuVT.cjs","names":[],"sources":["../src/components/feedback/MBadge/MBadge.tsx","../src/components/feedback/MSkeleton/MSkeleton.tsx"],"sourcesContent":["import type {MBadgeProps} from './MBadge.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport './MBadge.css'\n\n// Render a compact semantic label for status and metadata.\nexport function MBadge({\n color = 'primary',\n size = 'md',\n hidden,\n pulsing = false,\n rounded = false,\n fullWidth = false,\n icon,\n className,\n children,\n ...rest\n}: MBadgeProps) {\n return (\n <span\n className={cn(\n 'badge',\n `color-${color}`,\n size,\n pulsing && 'pulsing',\n rounded && 'rounded',\n fullWidth && 'full-width',\n className\n )}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {icon && <span className=\"badge-icon\">{icon}</span>}\n {children}\n </span>\n )\n}\n","import type {MSkeletonProps} from './MSkeleton.types'\nimport {cn} from '../../../utils/cn'\nimport './MSkeleton.css'\n\nfunction getTextLineWidth(index: number, lines: number) {\n if (lines <= 1) {\n return '100%'\n }\n\n if (index === lines - 1) {\n return '68%'\n }\n\n if (index === lines - 2 && lines > 3) {\n return '88%'\n }\n\n return '100%'\n}\n\n// Animated placeholder shown while content is loading.\nexport function MSkeleton({\n variant = 'text',\n width,\n height,\n radius,\n lines = 3,\n gap,\n animate = true,\n className,\n style,\n ...rest\n}: MSkeletonProps) {\n const animation = animate === false ? 'none' : animate === true ? 'shimmer' : animate\n\n if (variant === 'text') {\n return (\n <div\n className={cn('skeleton-group', className)}\n style={{width: width ?? undefined, gap: gap ?? undefined, ...style}}\n {...rest}\n >\n {Array.from({length: lines}, (_, i) => (\n <div\n key={i}\n className={cn('skeleton', 'text', animation)}\n style={{\n width: getTextLineWidth(i, lines),\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n }}\n />\n ))}\n </div>\n )\n }\n\n return (\n <div\n className={cn('skeleton', variant, animation, className)}\n style={{\n width: width ?? undefined,\n height: height ?? undefined,\n borderRadius: radius ?? undefined,\n ...style,\n }}\n {...rest}\n />\n )\n}\n"],"mappings":"yIAMA,SAAgB,EAAO,CACnB,QAAQ,UACR,OAAO,KACP,SACA,UAAU,GACV,UAAU,GACV,YAAY,GACZ,OACA,YACA,WACA,GAAG,GACS,CACZ,OACI,EAAA,EAAA,MAAC,OAAD,CACI,UAAW,EAAA,EACP,QACA,SAAS,IACT,EACA,GAAW,UACX,GAAW,UACX,GAAa,aACb,EACH,CACD,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,WAXR,CAaK,IAAQ,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,sBAAc,EAAY,CAAA,CAClD,EACE,GC9Bf,SAAS,EAAiB,EAAe,EAAe,CAapD,OAZI,GAAS,EACF,OAGP,IAAU,EAAQ,EACX,MAGP,IAAU,EAAQ,GAAK,EAAQ,EACxB,MAGJ,OAIX,SAAgB,EAAU,CACtB,UAAU,OACV,QACA,SACA,SACA,QAAQ,EACR,MACA,UAAU,GACV,YACA,QACA,GAAG,GACY,CACf,IAAM,EAAY,IAAY,GAAQ,OAAS,IAAY,GAAO,UAAY,EAwB9E,OAtBI,IAAY,QAER,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,iBAAkB,EAAU,CAC1C,MAAO,CAAC,MAAO,GAAS,IAAA,GAAW,IAAK,GAAO,IAAA,GAAW,GAAG,EAAM,CACnE,GAAI,WAEH,MAAM,KAAK,CAAC,OAAQ,EAAM,EAAG,EAAG,KAC7B,EAAA,EAAA,KAAC,MAAD,CAEI,UAAW,EAAA,EAAG,WAAY,OAAQ,EAAU,CAC5C,MAAO,CACH,MAAO,EAAiB,EAAG,EAAM,CACjC,OAAQ,GAAU,IAAA,GAClB,aAAc,GAAU,IAAA,GAC3B,CACH,CAPO,EAOP,CACJ,CACA,CAAA,EAKV,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EAAG,WAAY,EAAS,EAAW,EAAU,CACxD,MAAO,CACH,MAAO,GAAS,IAAA,GAChB,OAAQ,GAAU,IAAA,GAClB,aAAc,GAAU,IAAA,GACxB,GAAG,EACN,CACD,GAAI,EACN,CAAA"}
@@ -72,4 +72,4 @@ function a({ min: a = 0, max: o = 100, step: s = 1, value: c, onChange: l, marks
72
72
  //#endregion
73
73
  export { a as t };
74
74
 
75
- //# sourceMappingURL=MSlider-5141rKeH.js.map
75
+ //# sourceMappingURL=MSlider-CqrusKJQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSlider-5141rKeH.js","names":[],"sources":["../src/components/controls/MSlider/MSlider.tsx"],"sourcesContent":["import {useCallback, useRef} from 'react'\nimport type * as React from 'react'\nimport type {MSliderProps} from './MSlider.types'\nimport {cn} from '../../../utils/cn'\nimport './MSlider.css'\n\nexport function MSlider({\n min = 0,\n max = 100,\n step = 1,\n value,\n onChange,\n marks,\n label,\n color = 'primary',\n disabled = false,\n className,\n ...rest\n}: MSliderProps) {\n const trackRef = useRef<HTMLDivElement>(null)\n\n const percent = ((value - min) / (max - min)) * 100\n\n const clampAndSnap = useCallback(\n (raw: number) => {\n const snapped = Math.round(raw / step) * step\n return Math.min(max, Math.max(min, snapped))\n },\n [min, max, step]\n )\n\n const valueFromPointer = useCallback(\n (clientX: number) => {\n const track = trackRef.current\n if (!track) return value\n const rect = track.getBoundingClientRect()\n const ratio = (clientX - rect.left) / rect.width\n return clampAndSnap(min + ratio * (max - min))\n },\n [min, max, value, clampAndSnap]\n )\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n if (disabled) return\n e.preventDefault()\n const target = e.currentTarget as HTMLElement\n target.setPointerCapture(e.pointerId)\n onChange(valueFromPointer(e.clientX))\n\n const onMove = (ev: PointerEvent) => {\n onChange(valueFromPointer(ev.clientX))\n }\n const onUp = () => {\n target.removeEventListener('pointermove', onMove)\n target.removeEventListener('pointerup', onUp)\n }\n target.addEventListener('pointermove', onMove)\n target.addEventListener('pointerup', onUp)\n },\n [disabled, onChange, valueFromPointer]\n )\n\n return (\n <div className={cn('slider', `color-${color}`, disabled && 'disabled', className)} {...rest}>\n {label && <div className=\"label\">{label}</div>}\n <div className=\"track-wrapper\" ref={trackRef} onPointerDown={handlePointerDown}>\n <div className=\"track\">\n <div className=\"fill\" style={{width: `${percent}%`}} />\n <div className=\"thumb\" style={{left: `${percent}%`}} />\n </div>\n {marks && marks.length > 0 && (\n <div className=\"marks\">\n {marks.map((mark) => {\n const markPercent = ((mark.value - min) / (max - min)) * 100\n return (\n <div key={mark.value} className=\"mark\" style={{left: `${markPercent}%`}}>\n <div className=\"tick\" />\n {mark.label && <div className=\"label\">{mark.label}</div>}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAQ,EACpB,SAAM,GACN,SAAM,KACN,UAAO,GACP,UACA,aACA,UACA,UACA,WAAQ,WACR,cAAW,IACX,cACA,GAAG,KACU;CACb,IAAM,IAAW,EAAuB,KAAK,EAEvC,KAAY,IAAQ,MAAQ,IAAM,KAAQ,KAE1C,IAAe,GAChB,MAAgB;EACb,IAAM,IAAU,KAAK,MAAM,IAAM,EAAK,GAAG;AACzC,SAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAQ,CAAC;IAEhD;EAAC;EAAK;EAAK;EAAK,CACnB,EAEK,IAAmB,GACpB,MAAoB;EACjB,IAAM,IAAQ,EAAS;AACvB,MAAI,CAAC,EAAO,QAAO;EACnB,IAAM,IAAO,EAAM,uBAAuB;AAE1C,SAAO,EAAa,KADL,IAAU,EAAK,QAAQ,EAAK,SACR,IAAM,GAAK;IAElD;EAAC;EAAK;EAAK;EAAO;EAAa,CAClC,EAEK,IAAoB,GACrB,MAA0B;AACvB,MAAI,EAAU;AACd,IAAE,gBAAgB;EAClB,IAAM,IAAS,EAAE;AAEjB,EADA,EAAO,kBAAkB,EAAE,UAAU,EACrC,EAAS,EAAiB,EAAE,QAAQ,CAAC;EAErC,IAAM,KAAU,MAAqB;AACjC,KAAS,EAAiB,EAAG,QAAQ,CAAC;KAEpC,UAAa;AAEf,GADA,EAAO,oBAAoB,eAAe,EAAO,EACjD,EAAO,oBAAoB,aAAa,EAAK;;AAGjD,EADA,EAAO,iBAAiB,eAAe,EAAO,EAC9C,EAAO,iBAAiB,aAAa,EAAK;IAE9C;EAAC;EAAU;EAAU;EAAiB,CACzC;AAED,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,UAAU,SAAS,KAAS,KAAY,YAAY,EAAU;EAAE,GAAI;YAAvF,CACK,KAAS,kBAAC,OAAD;GAAK,WAAU;aAAS;GAAY,CAAA,EAC9C,kBAAC,OAAD;GAAK,WAAU;GAAgB,KAAK;GAAU,eAAe;aAA7D,CACI,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,OAAD;KAAK,WAAU;KAAO,OAAO,EAAC,OAAO,GAAG,EAAQ,IAAG;KAAI,CAAA,EACvD,kBAAC,OAAD;KAAK,WAAU;KAAQ,OAAO,EAAC,MAAM,GAAG,EAAQ,IAAG;KAAI,CAAA,CACrD;OACL,KAAS,EAAM,SAAS,KACrB,kBAAC,OAAD;IAAK,WAAU;cACV,EAAM,KAAK,MAGJ,kBAAC,OAAD;KAAsB,WAAU;KAAO,OAAO,EAAC,MAAM,IAFnC,EAAK,QAAQ,MAAQ,IAAM,KAAQ,IAEe,IAAG;eAAvE,CACI,kBAAC,OAAD,EAAK,WAAU,QAAS,CAAA,EACvB,EAAK,SAAS,kBAAC,OAAD;MAAK,WAAU;gBAAS,EAAK;MAAY,CAAA,CACtD;OAHI,EAAK,MAGT,CAEZ;IACA,CAAA,CAER;KACJ"}
1
+ {"version":3,"file":"MSlider-CqrusKJQ.js","names":[],"sources":["../src/components/controls/MSlider/MSlider.tsx"],"sourcesContent":["import {useCallback, useRef} from 'react'\nimport type * as React from 'react'\nimport type {MSliderProps} from './MSlider.types'\nimport {cn} from '../../../utils/cn'\nimport './MSlider.css'\n\nexport function MSlider({\n min = 0,\n max = 100,\n step = 1,\n value,\n onChange,\n marks,\n label,\n color = 'primary',\n disabled = false,\n className,\n ...rest\n}: MSliderProps) {\n const trackRef = useRef<HTMLDivElement>(null)\n\n const percent = ((value - min) / (max - min)) * 100\n\n const clampAndSnap = useCallback(\n (raw: number) => {\n const snapped = Math.round(raw / step) * step\n return Math.min(max, Math.max(min, snapped))\n },\n [min, max, step]\n )\n\n const valueFromPointer = useCallback(\n (clientX: number) => {\n const track = trackRef.current\n if (!track) return value\n const rect = track.getBoundingClientRect()\n const ratio = (clientX - rect.left) / rect.width\n return clampAndSnap(min + ratio * (max - min))\n },\n [min, max, value, clampAndSnap]\n )\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n if (disabled) return\n e.preventDefault()\n const target = e.currentTarget as HTMLElement\n target.setPointerCapture(e.pointerId)\n onChange(valueFromPointer(e.clientX))\n\n const onMove = (ev: PointerEvent) => {\n onChange(valueFromPointer(ev.clientX))\n }\n const onUp = () => {\n target.removeEventListener('pointermove', onMove)\n target.removeEventListener('pointerup', onUp)\n }\n target.addEventListener('pointermove', onMove)\n target.addEventListener('pointerup', onUp)\n },\n [disabled, onChange, valueFromPointer]\n )\n\n return (\n <div className={cn('slider', `color-${color}`, disabled && 'disabled', className)} {...rest}>\n {label && <div className=\"label\">{label}</div>}\n <div className=\"track-wrapper\" ref={trackRef} onPointerDown={handlePointerDown}>\n <div className=\"track\">\n <div className=\"fill\" style={{width: `${percent}%`}} />\n <div className=\"thumb\" style={{left: `${percent}%`}} />\n </div>\n {marks && marks.length > 0 && (\n <div className=\"marks\">\n {marks.map((mark) => {\n const markPercent = ((mark.value - min) / (max - min)) * 100\n return (\n <div key={mark.value} className=\"mark\" style={{left: `${markPercent}%`}}>\n <div className=\"tick\" />\n {mark.label && <div className=\"label\">{mark.label}</div>}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":";;;;AAMA,SAAgB,EAAQ,EACpB,SAAM,GACN,SAAM,KACN,UAAO,GACP,UACA,aACA,UACA,UACA,WAAQ,WACR,cAAW,IACX,cACA,GAAG,KACU;CACb,IAAM,IAAW,EAAuB,KAAK,EAEvC,KAAY,IAAQ,MAAQ,IAAM,KAAQ,KAE1C,IAAe,GAChB,MAAgB;EACb,IAAM,IAAU,KAAK,MAAM,IAAM,EAAK,GAAG;AACzC,SAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAQ,CAAC;IAEhD;EAAC;EAAK;EAAK;EAAK,CACnB,EAEK,IAAmB,GACpB,MAAoB;EACjB,IAAM,IAAQ,EAAS;AACvB,MAAI,CAAC,EAAO,QAAO;EACnB,IAAM,IAAO,EAAM,uBAAuB;AAE1C,SAAO,EAAa,KADL,IAAU,EAAK,QAAQ,EAAK,SACR,IAAM,GAAK;IAElD;EAAC;EAAK;EAAK;EAAO;EAAa,CAClC,EAEK,IAAoB,GACrB,MAA0B;AACvB,MAAI,EAAU;AACd,IAAE,gBAAgB;EAClB,IAAM,IAAS,EAAE;AAEjB,EADA,EAAO,kBAAkB,EAAE,UAAU,EACrC,EAAS,EAAiB,EAAE,QAAQ,CAAC;EAErC,IAAM,KAAU,MAAqB;AACjC,KAAS,EAAiB,EAAG,QAAQ,CAAC;KAEpC,UAAa;AAEf,GADA,EAAO,oBAAoB,eAAe,EAAO,EACjD,EAAO,oBAAoB,aAAa,EAAK;;AAGjD,EADA,EAAO,iBAAiB,eAAe,EAAO,EAC9C,EAAO,iBAAiB,aAAa,EAAK;IAE9C;EAAC;EAAU;EAAU;EAAiB,CACzC;AAED,QACI,kBAAC,OAAD;EAAK,WAAW,EAAG,UAAU,SAAS,KAAS,KAAY,YAAY,EAAU;EAAE,GAAI;YAAvF,CACK,KAAS,kBAAC,OAAD;GAAK,WAAU;aAAS;GAAY,CAAA,EAC9C,kBAAC,OAAD;GAAK,WAAU;GAAgB,KAAK;GAAU,eAAe;aAA7D,CACI,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,OAAD;KAAK,WAAU;KAAO,OAAO,EAAC,OAAO,GAAG,EAAQ,IAAG;KAAI,CAAA,EACvD,kBAAC,OAAD;KAAK,WAAU;KAAQ,OAAO,EAAC,MAAM,GAAG,EAAQ,IAAG;KAAI,CAAA,CACrD;OACL,KAAS,EAAM,SAAS,KACrB,kBAAC,OAAD;IAAK,WAAU;cACV,EAAM,KAAK,MAGJ,kBAAC,OAAD;KAAsB,WAAU;KAAO,OAAO,EAAC,MAAM,IAFnC,EAAK,QAAQ,MAAQ,IAAM,KAAQ,IAEe,IAAG;eAAvE,CACI,kBAAC,OAAD,EAAK,WAAU,QAAS,CAAA,EACvB,EAAK,SAAS,kBAAC,OAAD;MAAK,WAAU;gBAAS,EAAK;MAAY,CAAA,CACtD;OAHI,EAAK,MAGT,CAEZ;IACA,CAAA,CAER;KACJ"}
@@ -1,2 +1,2 @@
1
- const e=require(`./cn-CU5TNITO.cjs`);require(`./core-B2klLGki.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({min:r=0,max:i=100,step:a=1,value:o,onChange:s,marks:c,label:l,color:u=`primary`,disabled:d=!1,className:f,...p}){let m=(0,t.useRef)(null),h=(o-r)/(i-r)*100,g=(0,t.useCallback)(e=>{let t=Math.round(e/a)*a;return Math.min(i,Math.max(r,t))},[r,i,a]),_=(0,t.useCallback)(e=>{let t=m.current;if(!t)return o;let n=t.getBoundingClientRect();return g(r+(e-n.left)/n.width*(i-r))},[r,i,o,g]),v=(0,t.useCallback)(e=>{if(d)return;e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId),s(_(e.clientX));let n=e=>{s(_(e.clientX))},r=()=>{t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerup`,r)};t.addEventListener(`pointermove`,n),t.addEventListener(`pointerup`,r)},[d,s,_]);return(0,n.jsxs)(`div`,{className:e.t(`slider`,`color-${u}`,d&&`disabled`,f),...p,children:[l&&(0,n.jsx)(`div`,{className:`label`,children:l}),(0,n.jsxs)(`div`,{className:`track-wrapper`,ref:m,onPointerDown:v,children:[(0,n.jsxs)(`div`,{className:`track`,children:[(0,n.jsx)(`div`,{className:`fill`,style:{width:`${h}%`}}),(0,n.jsx)(`div`,{className:`thumb`,style:{left:`${h}%`}})]}),c&&c.length>0&&(0,n.jsx)(`div`,{className:`marks`,children:c.map(e=>(0,n.jsxs)(`div`,{className:`mark`,style:{left:`${(e.value-r)/(i-r)*100}%`},children:[(0,n.jsx)(`div`,{className:`tick`}),e.label&&(0,n.jsx)(`div`,{className:`label`,children:e.label})]},e.value))})]})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=MSlider-PyXLKckL.cjs.map
1
+ const e=require(`./cn-CU5TNITO.cjs`);require(`./core-o3cw16Db.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);function r({min:r=0,max:i=100,step:a=1,value:o,onChange:s,marks:c,label:l,color:u=`primary`,disabled:d=!1,className:f,...p}){let m=(0,t.useRef)(null),h=(o-r)/(i-r)*100,g=(0,t.useCallback)(e=>{let t=Math.round(e/a)*a;return Math.min(i,Math.max(r,t))},[r,i,a]),_=(0,t.useCallback)(e=>{let t=m.current;if(!t)return o;let n=t.getBoundingClientRect();return g(r+(e-n.left)/n.width*(i-r))},[r,i,o,g]),v=(0,t.useCallback)(e=>{if(d)return;e.preventDefault();let t=e.currentTarget;t.setPointerCapture(e.pointerId),s(_(e.clientX));let n=e=>{s(_(e.clientX))},r=()=>{t.removeEventListener(`pointermove`,n),t.removeEventListener(`pointerup`,r)};t.addEventListener(`pointermove`,n),t.addEventListener(`pointerup`,r)},[d,s,_]);return(0,n.jsxs)(`div`,{className:e.t(`slider`,`color-${u}`,d&&`disabled`,f),...p,children:[l&&(0,n.jsx)(`div`,{className:`label`,children:l}),(0,n.jsxs)(`div`,{className:`track-wrapper`,ref:m,onPointerDown:v,children:[(0,n.jsxs)(`div`,{className:`track`,children:[(0,n.jsx)(`div`,{className:`fill`,style:{width:`${h}%`}}),(0,n.jsx)(`div`,{className:`thumb`,style:{left:`${h}%`}})]}),c&&c.length>0&&(0,n.jsx)(`div`,{className:`marks`,children:c.map(e=>(0,n.jsxs)(`div`,{className:`mark`,style:{left:`${(e.value-r)/(i-r)*100}%`},children:[(0,n.jsx)(`div`,{className:`tick`}),e.label&&(0,n.jsx)(`div`,{className:`label`,children:e.label})]},e.value))})]})]})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
+ //# sourceMappingURL=MSlider-Ds2Fls86.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSlider-PyXLKckL.cjs","names":[],"sources":["../src/components/controls/MSlider/MSlider.tsx"],"sourcesContent":["import {useCallback, useRef} from 'react'\nimport type * as React from 'react'\nimport type {MSliderProps} from './MSlider.types'\nimport {cn} from '../../../utils/cn'\nimport './MSlider.css'\n\nexport function MSlider({\n min = 0,\n max = 100,\n step = 1,\n value,\n onChange,\n marks,\n label,\n color = 'primary',\n disabled = false,\n className,\n ...rest\n}: MSliderProps) {\n const trackRef = useRef<HTMLDivElement>(null)\n\n const percent = ((value - min) / (max - min)) * 100\n\n const clampAndSnap = useCallback(\n (raw: number) => {\n const snapped = Math.round(raw / step) * step\n return Math.min(max, Math.max(min, snapped))\n },\n [min, max, step]\n )\n\n const valueFromPointer = useCallback(\n (clientX: number) => {\n const track = trackRef.current\n if (!track) return value\n const rect = track.getBoundingClientRect()\n const ratio = (clientX - rect.left) / rect.width\n return clampAndSnap(min + ratio * (max - min))\n },\n [min, max, value, clampAndSnap]\n )\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n if (disabled) return\n e.preventDefault()\n const target = e.currentTarget as HTMLElement\n target.setPointerCapture(e.pointerId)\n onChange(valueFromPointer(e.clientX))\n\n const onMove = (ev: PointerEvent) => {\n onChange(valueFromPointer(ev.clientX))\n }\n const onUp = () => {\n target.removeEventListener('pointermove', onMove)\n target.removeEventListener('pointerup', onUp)\n }\n target.addEventListener('pointermove', onMove)\n target.addEventListener('pointerup', onUp)\n },\n [disabled, onChange, valueFromPointer]\n )\n\n return (\n <div className={cn('slider', `color-${color}`, disabled && 'disabled', className)} {...rest}>\n {label && <div className=\"label\">{label}</div>}\n <div className=\"track-wrapper\" ref={trackRef} onPointerDown={handlePointerDown}>\n <div className=\"track\">\n <div className=\"fill\" style={{width: `${percent}%`}} />\n <div className=\"thumb\" style={{left: `${percent}%`}} />\n </div>\n {marks && marks.length > 0 && (\n <div className=\"marks\">\n {marks.map((mark) => {\n const markPercent = ((mark.value - min) / (max - min)) * 100\n return (\n <div key={mark.value} className=\"mark\" style={{left: `${markPercent}%`}}>\n <div className=\"tick\" />\n {mark.label && <div className=\"label\">{mark.label}</div>}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"0HAMA,SAAgB,EAAQ,CACpB,MAAM,EACN,MAAM,IACN,OAAO,EACP,QACA,WACA,QACA,QACA,QAAQ,UACR,WAAW,GACX,YACA,GAAG,GACU,CACb,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAEvC,GAAY,EAAQ,IAAQ,EAAM,GAAQ,IAE1C,GAAA,EAAA,EAAA,aACD,GAAgB,CACb,IAAM,EAAU,KAAK,MAAM,EAAM,EAAK,CAAG,EACzC,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,EAAQ,CAAC,EAEhD,CAAC,EAAK,EAAK,EAAK,CACnB,CAEK,GAAA,EAAA,EAAA,aACD,GAAoB,CACjB,IAAM,EAAQ,EAAS,QACvB,GAAI,CAAC,EAAO,OAAO,EACnB,IAAM,EAAO,EAAM,uBAAuB,CAE1C,OAAO,EAAa,GADL,EAAU,EAAK,MAAQ,EAAK,OACR,EAAM,GAAK,EAElD,CAAC,EAAK,EAAK,EAAO,EAAa,CAClC,CAEK,GAAA,EAAA,EAAA,aACD,GAA0B,CACvB,GAAI,EAAU,OACd,EAAE,gBAAgB,CAClB,IAAM,EAAS,EAAE,cACjB,EAAO,kBAAkB,EAAE,UAAU,CACrC,EAAS,EAAiB,EAAE,QAAQ,CAAC,CAErC,IAAM,EAAU,GAAqB,CACjC,EAAS,EAAiB,EAAG,QAAQ,CAAC,EAEpC,MAAa,CACf,EAAO,oBAAoB,cAAe,EAAO,CACjD,EAAO,oBAAoB,YAAa,EAAK,EAEjD,EAAO,iBAAiB,cAAe,EAAO,CAC9C,EAAO,iBAAiB,YAAa,EAAK,EAE9C,CAAC,EAAU,EAAU,EAAiB,CACzC,CAED,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,SAAU,SAAS,IAAS,GAAY,WAAY,EAAU,CAAE,GAAI,WAAvF,CACK,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBAAS,EAAY,CAAA,EAC9C,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gBAAgB,IAAK,EAAU,cAAe,WAA7D,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iBAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,OAAO,MAAO,CAAC,MAAO,GAAG,EAAQ,GAAG,CAAI,CAAA,EACvD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,QAAQ,MAAO,CAAC,KAAM,GAAG,EAAQ,GAAG,CAAI,CAAA,CACrD,GACL,GAAS,EAAM,OAAS,IACrB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACV,EAAM,IAAK,IAGJ,EAAA,EAAA,MAAC,MAAD,CAAsB,UAAU,OAAO,MAAO,CAAC,KAAM,IAFnC,EAAK,MAAQ,IAAQ,EAAM,GAAQ,IAEe,GAAG,UAAvE,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,OAAS,CAAA,CACvB,EAAK,QAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBAAS,EAAK,MAAY,CAAA,CACtD,EAHI,EAAK,MAGT,CAEZ,CACA,CAAA,CAER,GACJ"}
1
+ {"version":3,"file":"MSlider-Ds2Fls86.cjs","names":[],"sources":["../src/components/controls/MSlider/MSlider.tsx"],"sourcesContent":["import {useCallback, useRef} from 'react'\nimport type * as React from 'react'\nimport type {MSliderProps} from './MSlider.types'\nimport {cn} from '../../../utils/cn'\nimport './MSlider.css'\n\nexport function MSlider({\n min = 0,\n max = 100,\n step = 1,\n value,\n onChange,\n marks,\n label,\n color = 'primary',\n disabled = false,\n className,\n ...rest\n}: MSliderProps) {\n const trackRef = useRef<HTMLDivElement>(null)\n\n const percent = ((value - min) / (max - min)) * 100\n\n const clampAndSnap = useCallback(\n (raw: number) => {\n const snapped = Math.round(raw / step) * step\n return Math.min(max, Math.max(min, snapped))\n },\n [min, max, step]\n )\n\n const valueFromPointer = useCallback(\n (clientX: number) => {\n const track = trackRef.current\n if (!track) return value\n const rect = track.getBoundingClientRect()\n const ratio = (clientX - rect.left) / rect.width\n return clampAndSnap(min + ratio * (max - min))\n },\n [min, max, value, clampAndSnap]\n )\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n if (disabled) return\n e.preventDefault()\n const target = e.currentTarget as HTMLElement\n target.setPointerCapture(e.pointerId)\n onChange(valueFromPointer(e.clientX))\n\n const onMove = (ev: PointerEvent) => {\n onChange(valueFromPointer(ev.clientX))\n }\n const onUp = () => {\n target.removeEventListener('pointermove', onMove)\n target.removeEventListener('pointerup', onUp)\n }\n target.addEventListener('pointermove', onMove)\n target.addEventListener('pointerup', onUp)\n },\n [disabled, onChange, valueFromPointer]\n )\n\n return (\n <div className={cn('slider', `color-${color}`, disabled && 'disabled', className)} {...rest}>\n {label && <div className=\"label\">{label}</div>}\n <div className=\"track-wrapper\" ref={trackRef} onPointerDown={handlePointerDown}>\n <div className=\"track\">\n <div className=\"fill\" style={{width: `${percent}%`}} />\n <div className=\"thumb\" style={{left: `${percent}%`}} />\n </div>\n {marks && marks.length > 0 && (\n <div className=\"marks\">\n {marks.map((mark) => {\n const markPercent = ((mark.value - min) / (max - min)) * 100\n return (\n <div key={mark.value} className=\"mark\" style={{left: `${markPercent}%`}}>\n <div className=\"tick\" />\n {mark.label && <div className=\"label\">{mark.label}</div>}\n </div>\n )\n })}\n </div>\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"0HAMA,SAAgB,EAAQ,CACpB,MAAM,EACN,MAAM,IACN,OAAO,EACP,QACA,WACA,QACA,QACA,QAAQ,UACR,WAAW,GACX,YACA,GAAG,GACU,CACb,IAAM,GAAA,EAAA,EAAA,QAAkC,KAAK,CAEvC,GAAY,EAAQ,IAAQ,EAAM,GAAQ,IAE1C,GAAA,EAAA,EAAA,aACD,GAAgB,CACb,IAAM,EAAU,KAAK,MAAM,EAAM,EAAK,CAAG,EACzC,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,EAAQ,CAAC,EAEhD,CAAC,EAAK,EAAK,EAAK,CACnB,CAEK,GAAA,EAAA,EAAA,aACD,GAAoB,CACjB,IAAM,EAAQ,EAAS,QACvB,GAAI,CAAC,EAAO,OAAO,EACnB,IAAM,EAAO,EAAM,uBAAuB,CAE1C,OAAO,EAAa,GADL,EAAU,EAAK,MAAQ,EAAK,OACR,EAAM,GAAK,EAElD,CAAC,EAAK,EAAK,EAAO,EAAa,CAClC,CAEK,GAAA,EAAA,EAAA,aACD,GAA0B,CACvB,GAAI,EAAU,OACd,EAAE,gBAAgB,CAClB,IAAM,EAAS,EAAE,cACjB,EAAO,kBAAkB,EAAE,UAAU,CACrC,EAAS,EAAiB,EAAE,QAAQ,CAAC,CAErC,IAAM,EAAU,GAAqB,CACjC,EAAS,EAAiB,EAAG,QAAQ,CAAC,EAEpC,MAAa,CACf,EAAO,oBAAoB,cAAe,EAAO,CACjD,EAAO,oBAAoB,YAAa,EAAK,EAEjD,EAAO,iBAAiB,cAAe,EAAO,CAC9C,EAAO,iBAAiB,YAAa,EAAK,EAE9C,CAAC,EAAU,EAAU,EAAiB,CACzC,CAED,OACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAW,EAAA,EAAG,SAAU,SAAS,IAAS,GAAY,WAAY,EAAU,CAAE,GAAI,WAAvF,CACK,IAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBAAS,EAAY,CAAA,EAC9C,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,gBAAgB,IAAK,EAAU,cAAe,WAA7D,EACI,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,iBAAf,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,OAAO,MAAO,CAAC,MAAO,GAAG,EAAQ,GAAG,CAAI,CAAA,EACvD,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,QAAQ,MAAO,CAAC,KAAM,GAAG,EAAQ,GAAG,CAAI,CAAA,CACrD,GACL,GAAS,EAAM,OAAS,IACrB,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBACV,EAAM,IAAK,IAGJ,EAAA,EAAA,MAAC,MAAD,CAAsB,UAAU,OAAO,MAAO,CAAC,KAAM,IAFnC,EAAK,MAAQ,IAAQ,EAAM,GAAQ,IAEe,GAAG,UAAvE,EACI,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,OAAS,CAAA,CACvB,EAAK,QAAS,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,iBAAS,EAAK,MAAY,CAAA,CACtD,EAHI,EAAK,MAGT,CAEZ,CACA,CAAA,CAER,GACJ"}
@@ -1,2 +1,2 @@
1
- const e=require(`./theme-yQQAPTkp.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./layoutProps-B8y2XwHy.cjs`);require(`./core-B2klLGki.cjs`);let r=require(`react/jsx-runtime`);function i({align:i=`stretch`,hidden:a,spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:f,mx:p,my:m,pt:h,pb:g,pl:_,pr:v,px:y,py:b,fullWidth:x,className:S,style:C,children:w,...T}){let E=n.n({fsize:c});return(0,r.jsx)(`div`,{className:t.t(`stack`,i!==`stretch`&&i,...n.t({spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:f,mx:p,my:m,pt:h,pb:g,pl:_,pr:v,px:y,py:b,fullWidth:x}),S),style:{...E,...C},...e.r(a),...T,children:w})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
- //# sourceMappingURL=MStack-DDn2bYBQ.cjs.map
1
+ const e=require(`./theme-DltOEniv.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./layoutProps-B8y2XwHy.cjs`);require(`./core-o3cw16Db.cjs`);let r=require(`react/jsx-runtime`);function i({align:i=`stretch`,hidden:a,spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:f,mx:p,my:m,pt:h,pb:g,pl:_,pr:v,px:y,py:b,fullWidth:x,className:S,style:C,children:w,...T}){let E=n.n({fsize:c});return(0,r.jsx)(`div`,{className:t.t(`stack`,i!==`stretch`&&i,...n.t({spacing:o,padding:s,fsize:c,mt:l,mb:u,ml:d,mr:f,mx:p,my:m,pt:h,pb:g,pl:_,pr:v,px:y,py:b,fullWidth:x}),S),style:{...E,...C},...e.r(a),...T,children:w})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=MStack-BdVvJN5S.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MStack-DDn2bYBQ.cjs","names":[],"sources":["../src/components/layout/MStack/MStack.tsx"],"sourcesContent":["import type {MStackProps} from './MStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MStack.css'\n\n// MStack children vertically with shared layout utility props.\nexport function MStack({\n align = 'stretch',\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MStackProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'stack',\n align !== 'stretch' && align,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"iLAOA,SAAgB,EAAO,CACnB,QAAQ,UACR,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACS,CACZ,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,QACA,IAAU,WAAa,EACvB,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACC,CAAA"}
1
+ {"version":3,"file":"MStack-BdVvJN5S.cjs","names":[],"sources":["../src/components/layout/MStack/MStack.tsx"],"sourcesContent":["import type {MStackProps} from './MStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MStack.css'\n\n// MStack children vertically with shared layout utility props.\nexport function MStack({\n align = 'stretch',\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MStackProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'stack',\n align !== 'stretch' && align,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":"iLAOA,SAAgB,EAAO,CACnB,QAAQ,UACR,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACS,CACZ,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,QACA,IAAU,WAAa,EACvB,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACC,CAAA"}
@@ -36,4 +36,4 @@ function a({ align: a = "stretch", hidden: o, spacing: s, padding: c, fsize: l,
36
36
  //#endregion
37
37
  export { a as t };
38
38
 
39
- //# sourceMappingURL=MStack-B8JtyM10.js.map
39
+ //# sourceMappingURL=MStack-h11pHEmc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MStack-B8JtyM10.js","names":[],"sources":["../src/components/layout/MStack/MStack.tsx"],"sourcesContent":["import type {MStackProps} from './MStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MStack.css'\n\n// MStack children vertically with shared layout utility props.\nexport function MStack({\n align = 'stretch',\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MStackProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'stack',\n align !== 'stretch' && align,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":";;;;;AAOA,SAAgB,EAAO,EACnB,WAAQ,WACR,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACS;CACZ,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC;AAEpD,QACI,kBAAC,OAAD;EACI,WAAW,EACP,SACA,MAAU,aAAa,GACvB,GAAG,EAA2B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH,CAAC,EACF,EACH;EACD,OAAO;GAAC,GAAG;GAAc,GAAG;GAAM;EAClC,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACC,CAAA"}
1
+ {"version":3,"file":"MStack-h11pHEmc.js","names":[],"sources":["../src/components/layout/MStack/MStack.tsx"],"sourcesContent":["import type {MStackProps} from './MStack.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MStack.css'\n\n// MStack children vertically with shared layout utility props.\nexport function MStack({\n align = 'stretch',\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MStackProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'stack',\n align !== 'stretch' && align,\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n"],"mappings":";;;;;AAOA,SAAgB,EAAO,EACnB,WAAQ,WACR,WACA,YACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,cACA,cACA,UACA,aACA,GAAG,KACS;CACZ,IAAM,IAAe,EAAuB,EAAC,UAAM,CAAC;AAEpD,QACI,kBAAC,OAAD;EACI,WAAW,EACP,SACA,MAAU,aAAa,GACvB,GAAG,EAA2B;GAC1B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH,CAAC,EACF,EACH;EACD,OAAO;GAAC,GAAG;GAAc,GAAG;GAAM;EAClC,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { r as e } from "./theme-DAOU1aPs.js";
2
+ import { t } from "./cn-YER3QsV1.js";
3
+ import { n } from "./MText-CL-LPcXi.js";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/components/typography/MSubText/MSubText.tsx
6
+ function i({ as: i = "span", size: a = "sm", tone: o = "muted", hidden: s, color: c, className: l, children: u, ...d }) {
7
+ return /* @__PURE__ */ r(i, {
8
+ className: t("subtext", !c && o, a, ...n({ color: c }), l),
9
+ ...e(s),
10
+ ...d,
11
+ children: u
12
+ });
13
+ }
14
+ //#endregion
15
+ export { i as t };
16
+
17
+ //# sourceMappingURL=MSubText-C-N15d4Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSubText-C-N15d4Z.js","names":[],"sources":["../src/components/typography/MSubText/MSubText.tsx"],"sourcesContent":["import type {MSubTextProps} from './MSubText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MSubText.css'\n\n// Render small, muted secondary text for captions, hints and metadata.\nexport function MSubText({\n as = 'span',\n size = 'sm',\n tone = 'muted',\n hidden,\n color,\n className,\n children,\n ...rest\n}: MSubTextProps) {\n const Component = as\n return (\n <Component\n className={cn('subtext', !color && tone, size, ...getAppearanceClassNames({color}), className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":";;;;;AAOA,SAAgB,EAAS,EACrB,QAAK,QACL,UAAO,MACP,UAAO,SACP,WACA,UACA,cACA,aACA,GAAG,KACW;AAEd,QACI,kBAFc,GAEd;EACI,WAAW,EAAG,WAAW,CAAC,KAAS,GAAM,GAAM,GAAG,EAAwB,EAAC,UAAM,CAAC,EAAE,EAAU;EAC9F,GAAI,EAAe,EAAO;EAC1B,GAAI;EAEH;EACO,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require(`./theme-DltOEniv.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./MText-Cjt1oTPr.cjs`);require(`./core-o3cw16Db.cjs`);let r=require(`react/jsx-runtime`);function i({as:i=`span`,size:a=`sm`,tone:o=`muted`,hidden:s,color:c,className:l,children:u,...d}){return(0,r.jsx)(i,{className:t.t(`subtext`,!c&&o,a,...n.n({color:c}),l),...e.r(s),...d,children:u})}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
2
+ //# sourceMappingURL=MSubText-DWNMJupD.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSubText-DWNMJupD.cjs","names":[],"sources":["../src/components/typography/MSubText/MSubText.tsx"],"sourcesContent":["import type {MSubTextProps} from './MSubText.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getAppearanceClassNames} from '../../../utils/appearanceProps'\nimport './MSubText.css'\n\n// Render small, muted secondary text for captions, hints and metadata.\nexport function MSubText({\n as = 'span',\n size = 'sm',\n tone = 'muted',\n hidden,\n color,\n className,\n children,\n ...rest\n}: MSubTextProps) {\n const Component = as\n return (\n <Component\n className={cn('subtext', !color && tone, size, ...getAppearanceClassNames({color}), className)}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":"2KAOA,SAAgB,EAAS,CACrB,KAAK,OACL,OAAO,KACP,OAAO,QACP,SACA,QACA,YACA,WACA,GAAG,GACW,CAEd,OACI,EAAA,EAAA,KAFc,EAEd,CACI,UAAW,EAAA,EAAG,UAAW,CAAC,GAAS,EAAM,EAAM,GAAG,EAAA,EAAwB,CAAC,QAAM,CAAC,CAAE,EAAU,CAC9F,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`./theme-yQQAPTkp.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./layoutProps-B8y2XwHy.cjs`);require(`./core-B2klLGki.cjs`);let r=require(`react/jsx-runtime`);function i({align:i=`center`,justify:a=`start`,wrap:o=`wrap`,hidden:s,padding:c,fsize:l,mt:u,mb:d,ml:f,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S,className:C,style:w,children:T,...E}){let D=n.n({fsize:l});return(0,r.jsx)(`div`,{className:t.t(`inline`,i,`justify-${a}`,o,...n.t({padding:c,fsize:l,mt:u,mb:d,ml:f,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S}),C),style:{...D,...w},...e.r(s),...E,children:T})}function a({component:i,to:a,href:o,target:s,rel:c,tone:l=`default`,outlined:u=!0,padded:d=!0,hidden:f,spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O,className:k,style:A,children:j,...M}){let N=n.n({fsize:h}),P=i??`div`;return(0,r.jsx)(P,{href:P===`a`||i?o:void 0,to:i?a:void 0,target:P===`a`||i?s:void 0,rel:P===`a`||i?c:void 0,className:t.t(`surface`,l,u&&`outlined`,d&&`padded`,...n.t({spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O}),k),style:{...N,...A},...e.r(f),...M,children:j})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=MSurface-WsYGNGX5.cjs.map
1
+ const e=require(`./theme-DltOEniv.cjs`),t=require(`./cn-CU5TNITO.cjs`),n=require(`./layoutProps-B8y2XwHy.cjs`);require(`./core-o3cw16Db.cjs`);let r=require(`react/jsx-runtime`);function i({align:i=`center`,justify:a=`start`,wrap:o=`wrap`,hidden:s,padding:c,fsize:l,mt:u,mb:d,ml:f,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S,className:C,style:w,children:T,...E}){let D=n.n({fsize:l});return(0,r.jsx)(`div`,{className:t.t(`inline`,i,`justify-${a}`,o,...n.t({padding:c,fsize:l,mt:u,mb:d,ml:f,mr:p,mx:m,my:h,pt:g,pb:_,pl:v,pr:y,px:b,py:x,fullWidth:S}),C),style:{...D,...w},...e.r(s),...E,children:T})}function a({component:i,to:a,href:o,target:s,rel:c,tone:l=`default`,outlined:u=!0,padded:d=!0,hidden:f,spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O,className:k,style:A,children:j,...M}){let N=n.n({fsize:h}),P=i??`div`;return(0,r.jsx)(P,{href:P===`a`||i?o:void 0,to:i?a:void 0,target:P===`a`||i?s:void 0,rel:P===`a`||i?c:void 0,className:t.t(`surface`,l,u&&`outlined`,d&&`padded`,...n.t({spacing:p,padding:m,fsize:h,mt:g,mb:_,ml:v,mr:y,mx:b,my:x,pt:S,pb:C,pl:w,pr:T,px:E,py:D,fullWidth:O}),k),style:{...N,...A},...e.r(f),...M,children:j})}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
+ //# sourceMappingURL=MSurface-BS9l7GDH.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MSurface-WsYGNGX5.cjs","names":[],"sources":["../src/components/layout/MInline/MInline.tsx","../src/components/layout/MSurface/MSurface.tsx"],"sourcesContent":["import type {MInlineProps} from './MInline.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MInline.css'\n\n// Arrange children horizontally with shared alignment and wrapping helpers.\n// `spacing` is not accepted — the flex gap built into `.inline` already spaces children;\n// outer margin should go through `mx/my` or `padding` to avoid overflowing the parent when paired with `fullWidth`.\nexport function MInline({\n align = 'center',\n justify = 'start',\n wrap = 'wrap',\n hidden,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MInlineProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'inline',\n align,\n `justify-${justify}`,\n wrap,\n ...getLayoutUtilityClassNames({\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import type {MSurfaceProps} from './MSurface.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MSurface.css'\n\n// Render a reusable surface primitive for cards, panels and preview blocks.\nexport function MSurface({\n component,\n to,\n href,\n target,\n rel,\n tone = 'default',\n outlined = true,\n padded = true,\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MSurfaceProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const Component = component ?? 'div'\n\n return (\n <Component\n href={Component === 'a' || component ? href : undefined}\n to={component ? to : undefined}\n target={Component === 'a' || component ? target : undefined}\n rel={Component === 'a' || component ? rel : undefined}\n className={cn(\n 'surface',\n tone,\n outlined && 'outlined',\n padded && 'padded',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":"iLASA,SAAgB,EAAQ,CACpB,QAAQ,SACR,UAAU,QACV,OAAO,OACP,SACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACU,CACb,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,SACA,EACA,WAAW,IACX,EACA,GAAG,EAAA,EAA2B,CAC1B,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACC,CAAA,CC5Dd,SAAgB,EAAS,CACrB,YACA,KACA,OACA,SACA,MACA,OAAO,UACP,WAAW,GACX,SAAS,GACT,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACW,CACd,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAC9C,EAAY,GAAa,MAE/B,OACI,EAAA,EAAA,KAAC,EAAD,CACI,KAAM,IAAc,KAAO,EAAY,EAAO,IAAA,GAC9C,GAAI,EAAY,EAAK,IAAA,GACrB,OAAQ,IAAc,KAAO,EAAY,EAAS,IAAA,GAClD,IAAK,IAAc,KAAO,EAAY,EAAM,IAAA,GAC5C,UAAW,EAAA,EACP,UACA,EACA,GAAY,WACZ,GAAU,SACV,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA"}
1
+ {"version":3,"file":"MSurface-BS9l7GDH.cjs","names":[],"sources":["../src/components/layout/MInline/MInline.tsx","../src/components/layout/MSurface/MSurface.tsx"],"sourcesContent":["import type {MInlineProps} from './MInline.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MInline.css'\n\n// Arrange children horizontally with shared alignment and wrapping helpers.\n// `spacing` is not accepted — the flex gap built into `.inline` already spaces children;\n// outer margin should go through `mx/my` or `padding` to avoid overflowing the parent when paired with `fullWidth`.\nexport function MInline({\n align = 'center',\n justify = 'start',\n wrap = 'wrap',\n hidden,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MInlineProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n\n return (\n <div\n className={cn(\n 'inline',\n align,\n `justify-${justify}`,\n wrap,\n ...getLayoutUtilityClassNames({\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n","import type {MSurfaceProps} from './MSurface.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getLayoutUtilityClassNames, getLayoutUtilityStyles} from '../../../utils/layoutProps'\nimport './MSurface.css'\n\n// Render a reusable surface primitive for cards, panels and preview blocks.\nexport function MSurface({\n component,\n to,\n href,\n target,\n rel,\n tone = 'default',\n outlined = true,\n padded = true,\n hidden,\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n className,\n style,\n children,\n ...rest\n}: MSurfaceProps) {\n const utilityStyle = getLayoutUtilityStyles({fsize})\n const Component = component ?? 'div'\n\n return (\n <Component\n href={Component === 'a' || component ? href : undefined}\n to={component ? to : undefined}\n target={Component === 'a' || component ? target : undefined}\n rel={Component === 'a' || component ? rel : undefined}\n className={cn(\n 'surface',\n tone,\n outlined && 'outlined',\n padded && 'padded',\n ...getLayoutUtilityClassNames({\n spacing,\n padding,\n fsize,\n mt,\n mb,\n ml,\n mr,\n mx,\n my,\n pt,\n pb,\n pl,\n pr,\n px,\n py,\n fullWidth,\n }),\n className\n )}\n style={{...utilityStyle, ...style}}\n {...getHiddenProps(hidden)}\n {...rest}\n >\n {children}\n </Component>\n )\n}\n"],"mappings":"iLASA,SAAgB,EAAQ,CACpB,QAAQ,SACR,UAAU,QACV,OAAO,OACP,SACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACU,CACb,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAEpD,OACI,EAAA,EAAA,KAAC,MAAD,CACI,UAAW,EAAA,EACP,SACA,EACA,WAAW,IACX,EACA,GAAG,EAAA,EAA2B,CAC1B,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACC,CAAA,CC5Dd,SAAgB,EAAS,CACrB,YACA,KACA,OACA,SACA,MACA,OAAO,UACP,WAAW,GACX,SAAS,GACT,SACA,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,WACA,GAAG,GACW,CACd,IAAM,EAAe,EAAA,EAAuB,CAAC,QAAM,CAAC,CAC9C,EAAY,GAAa,MAE/B,OACI,EAAA,EAAA,KAAC,EAAD,CACI,KAAM,IAAc,KAAO,EAAY,EAAO,IAAA,GAC9C,GAAI,EAAY,EAAK,IAAA,GACrB,OAAQ,IAAc,KAAO,EAAY,EAAS,IAAA,GAClD,IAAK,IAAc,KAAO,EAAY,EAAM,IAAA,GAC5C,UAAW,EAAA,EACP,UACA,EACA,GAAY,WACZ,GAAU,SACV,GAAG,EAAA,EAA2B,CAC1B,UACA,UACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACH,CAAC,CACF,EACH,CACD,MAAO,CAAC,GAAG,EAAc,GAAG,EAAM,CAClC,GAAI,EAAA,EAAe,EAAO,CAC1B,GAAI,EAEH,WACO,CAAA"}