@banzamel/mineralui 2.4.1 → 2.4.3

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 (346) hide show
  1. package/README.md +1 -1
  2. package/dist/{MAvatar-Capz5Gbc.cjs → MAvatar-DHNB3829.cjs} +2 -2
  3. package/dist/{MAvatar-Capz5Gbc.cjs.map → MAvatar-DHNB3829.cjs.map} +1 -1
  4. package/dist/{MAvatar-DtJCj3dD.js → MAvatar-GeRL-CNO.js} +2 -2
  5. package/dist/{MAvatar-DtJCj3dD.js.map → MAvatar-GeRL-CNO.js.map} +1 -1
  6. package/dist/{MButton-C1pnL4_j.js → MButton-CEwo8lUB.js} +1 -1
  7. package/dist/{MButton-C1pnL4_j.js.map → MButton-CEwo8lUB.js.map} +1 -1
  8. package/dist/{MButton-sTKnano6.cjs → MButton-CnAr77Za.cjs} +2 -2
  9. package/dist/{MButton-sTKnano6.cjs.map → MButton-CnAr77Za.cjs.map} +1 -1
  10. package/dist/{MButtonGroup-BkNf7fzo.js → MButtonGroup-BEJxXZ8u.js} +2 -2
  11. package/dist/{MButtonGroup-BkNf7fzo.js.map → MButtonGroup-BEJxXZ8u.js.map} +1 -1
  12. package/dist/{MButtonGroup-iPv14c0V.cjs → MButtonGroup-DO1Tq3Za.cjs} +2 -2
  13. package/dist/{MButtonGroup-iPv14c0V.cjs.map → MButtonGroup-DO1Tq3Za.cjs.map} +1 -1
  14. package/dist/{MCard-azpp4YVD.js → MCard-BqSkGAgf.js} +3 -3
  15. package/dist/{MCard-azpp4YVD.js.map → MCard-BqSkGAgf.js.map} +1 -1
  16. package/dist/{MCard-DK-_FkpE.cjs → MCard-P8OoswWM.cjs} +2 -2
  17. package/dist/{MCard-DK-_FkpE.cjs.map → MCard-P8OoswWM.cjs.map} +1 -1
  18. package/dist/{MCheckbox-B7SpcD4H.js → MCheckbox-BxFBADcE.js} +1 -1
  19. package/dist/{MCheckbox-B7SpcD4H.js.map → MCheckbox-BxFBADcE.js.map} +1 -1
  20. package/dist/{MCheckbox-CIX7wp41.cjs → MCheckbox-DozwF2ai.cjs} +2 -2
  21. package/dist/{MCheckbox-CIX7wp41.cjs.map → MCheckbox-DozwF2ai.cjs.map} +1 -1
  22. package/dist/MConflictIllustration-2QL-BHYv.cjs +2 -0
  23. package/dist/MConflictIllustration-2QL-BHYv.cjs.map +1 -0
  24. package/dist/{MConflictIllustration-3K0lCAsD.js → MConflictIllustration-znC7ijmP.js} +68 -68
  25. package/dist/MConflictIllustration-znC7ijmP.js.map +1 -0
  26. package/dist/{MDetailList-Ce7KzUKC.cjs → MDetailList-CThQvoyf.cjs} +2 -2
  27. package/dist/{MDetailList-Ce7KzUKC.cjs.map → MDetailList-CThQvoyf.cjs.map} +1 -1
  28. package/dist/{MDetailList-fDhVyhm7.js → MDetailList-Cx9H81xT.js} +5 -5
  29. package/dist/{MDetailList-fDhVyhm7.js.map → MDetailList-Cx9H81xT.js.map} +1 -1
  30. package/dist/{MDropdownMenu-B_QWQhxy.cjs → MDropdownMenu-DnKcCyW6.cjs} +2 -2
  31. package/dist/{MDropdownMenu-B_QWQhxy.cjs.map → MDropdownMenu-DnKcCyW6.cjs.map} +1 -1
  32. package/dist/{MDropdownMenu-C4CuKMRZ.js → MDropdownMenu-DxbKN7Ui.js} +2 -2
  33. package/dist/{MDropdownMenu-C4CuKMRZ.js.map → MDropdownMenu-DxbKN7Ui.js.map} +1 -1
  34. package/dist/{MGrid-fTx6wFq_.cjs → MGrid-BkRSGN2t.cjs} +2 -2
  35. package/dist/{MGrid-fTx6wFq_.cjs.map → MGrid-BkRSGN2t.cjs.map} +1 -1
  36. package/dist/{MGrid-CYL3cbUI.js → MGrid-CIz-2i6X.js} +2 -2
  37. package/dist/{MGrid-CYL3cbUI.js.map → MGrid-CIz-2i6X.js.map} +1 -1
  38. package/dist/{MHeading-KDSpnCof.cjs → MHeading-AYQ8_GFP.cjs} +2 -2
  39. package/dist/{MHeading-KDSpnCof.cjs.map → MHeading-AYQ8_GFP.cjs.map} +1 -1
  40. package/dist/{MHeading-B7KgSP4T.js → MHeading-DcGxUMwC.js} +2 -2
  41. package/dist/{MHeading-B7KgSP4T.js.map → MHeading-DcGxUMwC.js.map} +1 -1
  42. package/dist/{MI18nProvider-DXRbB0VY.cjs → MI18nProvider-CqAwaswx.cjs} +2 -2
  43. package/dist/{MI18nProvider-DXRbB0VY.cjs.map → MI18nProvider-CqAwaswx.cjs.map} +1 -1
  44. package/dist/MInput-BYj2BdUe.cjs +2 -0
  45. package/dist/MInput-BYj2BdUe.cjs.map +1 -0
  46. package/dist/{MInput-C8ObGzQk.js → MInput-nodE-CZF.js} +37 -36
  47. package/dist/MInput-nodE-CZF.js.map +1 -0
  48. package/dist/MInputCVC-9XWryaTz.cjs +2 -0
  49. package/dist/MInputCVC-9XWryaTz.cjs.map +1 -0
  50. package/dist/MInputCVC-CrDTaUXm.js +321 -0
  51. package/dist/MInputCVC-CrDTaUXm.js.map +1 -0
  52. package/dist/{MInputSearch-BM8gLlJ1.js → MInputSearch-BMgCHjFk.js} +2 -2
  53. package/dist/{MInputSearch-BM8gLlJ1.js.map → MInputSearch-BMgCHjFk.js.map} +1 -1
  54. package/dist/{MInputSearch-BZDnbFB4.cjs → MInputSearch-BiVI1jNc.cjs} +2 -2
  55. package/dist/{MInputSearch-BZDnbFB4.cjs.map → MInputSearch-BiVI1jNc.cjs.map} +1 -1
  56. package/dist/{MKbd-DqMnZ7Iv.cjs → MKbd-BR1GX5oK.cjs} +2 -2
  57. package/dist/{MKbd-DqMnZ7Iv.cjs.map → MKbd-BR1GX5oK.cjs.map} +1 -1
  58. package/dist/{MKbd-v6-tJ9sP.js → MKbd-COb7oh_k.js} +1 -1
  59. package/dist/{MKbd-v6-tJ9sP.js.map → MKbd-COb7oh_k.js.map} +1 -1
  60. package/dist/{MLink-Bd8fLH1N.js → MLink-CAl6N6_z.js} +1 -1
  61. package/dist/{MLink-Bd8fLH1N.js.map → MLink-CAl6N6_z.js.map} +1 -1
  62. package/dist/{MLink-U24G6KJj.cjs → MLink-Dk_ReE6i.cjs} +2 -2
  63. package/dist/{MLink-U24G6KJj.cjs.map → MLink-Dk_ReE6i.cjs.map} +1 -1
  64. package/dist/{MLoader-CnvWqFtA.js → MLoader-CYp0OJU_.js} +4 -4
  65. package/dist/{MLoader-CnvWqFtA.js.map → MLoader-CYp0OJU_.js.map} +1 -1
  66. package/dist/{MLoader-CvFIvytw.cjs → MLoader-DvmFle31.cjs} +2 -2
  67. package/dist/{MLoader-CvFIvytw.cjs.map → MLoader-DvmFle31.cjs.map} +1 -1
  68. package/dist/{MPagination-BkvOEZpp.js → MPagination-E7IixIeo.js} +2 -2
  69. package/dist/{MPagination-BkvOEZpp.js.map → MPagination-E7IixIeo.js.map} +1 -1
  70. package/dist/{MPagination-DgQta29Q.cjs → MPagination-reDU9xTW.cjs} +2 -2
  71. package/dist/{MPagination-DgQta29Q.cjs.map → MPagination-reDU9xTW.cjs.map} +1 -1
  72. package/dist/{MPopover-Dd-GIBU6.js → MPopover-8gYD3Ogq.js} +37 -74
  73. package/dist/MPopover-8gYD3Ogq.js.map +1 -0
  74. package/dist/MPopover-B3npyAkL.cjs +2 -0
  75. package/dist/MPopover-B3npyAkL.cjs.map +1 -0
  76. package/dist/{MPortal-DUSIuINN.cjs → MPortal-CuBXhhl_.cjs} +2 -2
  77. package/dist/{MPortal-DUSIuINN.cjs.map → MPortal-CuBXhhl_.cjs.map} +1 -1
  78. package/dist/{MSimpleGrid-BzlIitcJ.cjs → MSimpleGrid-BchGYPMi.cjs} +2 -2
  79. package/dist/{MSimpleGrid-BzlIitcJ.cjs.map → MSimpleGrid-BchGYPMi.cjs.map} +1 -1
  80. package/dist/{MSimpleGrid-BWKurW6H.js → MSimpleGrid-Ui8cI0ho.js} +1 -1
  81. package/dist/{MSimpleGrid-BWKurW6H.js.map → MSimpleGrid-Ui8cI0ho.js.map} +1 -1
  82. package/dist/{MSkeleton-BoFpowFU.cjs → MSkeleton-DPa_G_2X.cjs} +2 -2
  83. package/dist/{MSkeleton-BoFpowFU.cjs.map → MSkeleton-DPa_G_2X.cjs.map} +1 -1
  84. package/dist/{MSkeleton-C5uD4Axo.js → MSkeleton-Dhu-loDO.js} +1 -1
  85. package/dist/{MSkeleton-C5uD4Axo.js.map → MSkeleton-Dhu-loDO.js.map} +1 -1
  86. package/dist/{MSlider-CqrusKJQ.js → MSlider-BRjhyBSc.js} +1 -1
  87. package/dist/{MSlider-CqrusKJQ.js.map → MSlider-BRjhyBSc.js.map} +1 -1
  88. package/dist/{MSlider-BTDBqF8t.cjs → MSlider-w5214a-W.cjs} +2 -2
  89. package/dist/{MSlider-BTDBqF8t.cjs.map → MSlider-w5214a-W.cjs.map} +1 -1
  90. package/dist/{MStack-CSCw6to2.js → MStack-Dt-rWvg3.js} +2 -2
  91. package/dist/{MStack-CSCw6to2.js.map → MStack-Dt-rWvg3.js.map} +1 -1
  92. package/dist/{MStack-B3Ldqsc-.cjs → MStack-nc6Y_9K3.cjs} +2 -2
  93. package/dist/{MStack-B3Ldqsc-.cjs.map → MStack-nc6Y_9K3.cjs.map} +1 -1
  94. package/dist/{MSubText-C-N15d4Z.js → MSubText-B0tXiuAp.js} +2 -2
  95. package/dist/{MSubText-C-N15d4Z.js.map → MSubText-B0tXiuAp.js.map} +1 -1
  96. package/dist/{MSubText-47PsgE8T.cjs → MSubText-C6v6Exa2.cjs} +2 -2
  97. package/dist/{MSubText-47PsgE8T.cjs.map → MSubText-C6v6Exa2.cjs.map} +1 -1
  98. package/dist/{MSurface-QYEygc_0.cjs → MSurface-BjE-mL1L.cjs} +2 -2
  99. package/dist/{MSurface-QYEygc_0.cjs.map → MSurface-BjE-mL1L.cjs.map} +1 -1
  100. package/dist/{MSurface-B-sjyczH.js → MSurface-CpDJCdb5.js} +2 -2
  101. package/dist/{MSurface-B-sjyczH.js.map → MSurface-CpDJCdb5.js.map} +1 -1
  102. package/dist/MTag-BgOxiahL.cjs +2 -0
  103. package/dist/MTag-BgOxiahL.cjs.map +1 -0
  104. package/dist/MTag-cw3cIGHX.js +41 -0
  105. package/dist/MTag-cw3cIGHX.js.map +1 -0
  106. package/dist/{MText-Dni707tS.cjs → MText-BDI4mdw8.cjs} +2 -2
  107. package/dist/{MText-Dni707tS.cjs.map → MText-BDI4mdw8.cjs.map} +1 -1
  108. package/dist/{MText-CL-LPcXi.js → MText-DhbAjtUE.js} +2 -2
  109. package/dist/{MText-CL-LPcXi.js.map → MText-DhbAjtUE.js.map} +1 -1
  110. package/dist/MTooltip-BAgHlv5I.cjs +2 -0
  111. package/dist/MTooltip-BAgHlv5I.cjs.map +1 -0
  112. package/dist/MTooltip-CJxvlkOX.js +92 -0
  113. package/dist/MTooltip-CJxvlkOX.js.map +1 -0
  114. package/dist/{MTreeView-B1J7uqd1.js → MTreeView-DsBnYQMT.js} +2 -2
  115. package/dist/{MTreeView-B1J7uqd1.js.map → MTreeView-DsBnYQMT.js.map} +1 -1
  116. package/dist/{MTreeView-VYp0eErQ.cjs → MTreeView-LiJ5o-zy.cjs} +2 -2
  117. package/dist/{MTreeView-VYp0eErQ.cjs.map → MTreeView-LiJ5o-zy.cjs.map} +1 -1
  118. package/dist/{arduino-BdpdaLwK.cjs → arduino-C1gw-z1N.cjs} +1 -1
  119. package/dist/{arduino-BdpdaLwK.cjs.map → arduino-C1gw-z1N.cjs.map} +1 -1
  120. package/dist/{arduino-DDDlP9Yt.js → arduino-CcVvzDWF.js} +1 -1
  121. package/dist/{arduino-DDDlP9Yt.js.map → arduino-CcVvzDWF.js.map} +1 -1
  122. package/dist/{bash-D8WbAmuA.js → bash-DkMiO80l.js} +1 -1
  123. package/dist/{bash-D8WbAmuA.js.map → bash-DkMiO80l.js.map} +1 -1
  124. package/dist/{bash-eOUFh3S1.cjs → bash-wzZkpJC-.cjs} +1 -1
  125. package/dist/{bash-eOUFh3S1.cjs.map → bash-wzZkpJC-.cjs.map} +1 -1
  126. package/dist/{c-Bur7Mn-u.cjs → c-BSPjDa0P.cjs} +1 -1
  127. package/dist/{c-Bur7Mn-u.cjs.map → c-BSPjDa0P.cjs.map} +1 -1
  128. package/dist/{c-CTKNfUJI.js → c-DtlFV5Pa.js} +1 -1
  129. package/dist/{c-CTKNfUJI.js.map → c-DtlFV5Pa.js.map} +1 -1
  130. package/dist/{calendar-bzeZRst9.js → calendar-Bq6NMNnS.js} +6 -6
  131. package/dist/{calendar-bzeZRst9.js.map → calendar-Bq6NMNnS.js.map} +1 -1
  132. package/dist/{calendar-P7MwKfWS.cjs → calendar-C57BH8Nd.cjs} +2 -2
  133. package/dist/{calendar-P7MwKfWS.cjs.map → calendar-C57BH8Nd.cjs.map} +1 -1
  134. package/dist/calendar.cjs +1 -1
  135. package/dist/calendar.js +1 -1
  136. package/dist/{calendarDates-CYkJqcnp.js → calendarDates-M_Dawj0j.js} +1 -1
  137. package/dist/{calendarDates-CYkJqcnp.js.map → calendarDates-M_Dawj0j.js.map} +1 -1
  138. package/dist/{calendarDates-AnlGcvZM.cjs → calendarDates-qm047RW2.cjs} +1 -1
  139. package/dist/{calendarDates-AnlGcvZM.cjs.map → calendarDates-qm047RW2.cjs.map} +1 -1
  140. package/dist/{cards-CFDJsdxR.js → cards-D4xJVd4q.js} +278 -277
  141. package/dist/cards-D4xJVd4q.js.map +1 -0
  142. package/dist/cards-Du6dbZSQ.cjs +2 -0
  143. package/dist/cards-Du6dbZSQ.cjs.map +1 -0
  144. package/dist/cards.cjs +1 -1
  145. package/dist/cards.js +2 -2
  146. package/dist/components/primitives/MPopover/popoverStack.d.ts +2 -0
  147. package/dist/{controls-BKAhqjNM.js → controls-BKoc_yel.js} +113 -112
  148. package/dist/controls-BKoc_yel.js.map +1 -0
  149. package/dist/controls-Ck-PMt__.cjs +2 -0
  150. package/dist/controls-Ck-PMt__.cjs.map +1 -0
  151. package/dist/controls.cjs +1 -1
  152. package/dist/controls.js +5 -5
  153. package/dist/{core-D5-SQcs8.js → core-B8VC-Umz.js} +1 -1
  154. package/dist/{core-D5-SQcs8.js.map → core-B8VC-Umz.js.map} +1 -1
  155. package/dist/{core-D66c1_Wo.cjs → core-w629c4ND.cjs} +1 -1
  156. package/dist/{core-D66c1_Wo.cjs.map → core-w629c4ND.cjs.map} +1 -1
  157. package/dist/{cpp-DAzz2TpY.js → cpp-BraS2arf.js} +1 -1
  158. package/dist/{cpp-DAzz2TpY.js.map → cpp-BraS2arf.js.map} +1 -1
  159. package/dist/{cpp-BMULAf-B.cjs → cpp-LIcuHkFj.cjs} +1 -1
  160. package/dist/{cpp-BMULAf-B.cjs.map → cpp-LIcuHkFj.cjs.map} +1 -1
  161. package/dist/{css-9M03GzKO.cjs → css-D6fGBtGV.cjs} +1 -1
  162. package/dist/{css-9M03GzKO.cjs.map → css-D6fGBtGV.cjs.map} +1 -1
  163. package/dist/{css-EGOXTWIl.js → css-Dy8pFAWa.js} +1 -1
  164. package/dist/{css-EGOXTWIl.js.map → css-Dy8pFAWa.js.map} +1 -1
  165. package/dist/{data-CgLutFxU.js → data-CdQximqm.js} +38 -38
  166. package/dist/{data-CgLutFxU.js.map → data-CdQximqm.js.map} +1 -1
  167. package/dist/{data-DFrkJTlF.cjs → data-PS4ygCyj.cjs} +2 -2
  168. package/dist/{data-DFrkJTlF.cjs.map → data-PS4ygCyj.cjs.map} +1 -1
  169. package/dist/data.cjs +1 -1
  170. package/dist/data.js +2 -2
  171. package/dist/{display-BnkHKW1n.js → display-YC1fVpXA.js} +19 -19
  172. package/dist/{display-BnkHKW1n.js.map → display-YC1fVpXA.js.map} +1 -1
  173. package/dist/{display--E7rI0tk.cjs → display-slIo1bQI.cjs} +2 -2
  174. package/dist/{display--E7rI0tk.cjs.map → display-slIo1bQI.cjs.map} +1 -1
  175. package/dist/display.cjs +1 -1
  176. package/dist/display.js +2 -2
  177. package/dist/dropdowns-DFbUoZ8Q.cjs +2 -0
  178. package/dist/dropdowns-DFbUoZ8Q.cjs.map +1 -0
  179. package/dist/dropdowns-nW3MY5XG.js +1715 -0
  180. package/dist/dropdowns-nW3MY5XG.js.map +1 -0
  181. package/dist/dropdowns.cjs +1 -1
  182. package/dist/dropdowns.js +1 -1
  183. package/dist/feedback-6MNb2Xyk.cjs +2 -0
  184. package/dist/feedback-6MNb2Xyk.cjs.map +1 -0
  185. package/dist/feedback-CPwJaQHY.js +259 -0
  186. package/dist/feedback-CPwJaQHY.js.map +1 -0
  187. package/dist/feedback.cjs +1 -1
  188. package/dist/feedback.js +5 -5
  189. package/dist/form-CMsZo6Dm.cjs +2 -0
  190. package/dist/form-CMsZo6Dm.cjs.map +1 -0
  191. package/dist/{form-CAFcvmUS.js → form-WU6DcQGD.js} +52 -55
  192. package/dist/form-WU6DcQGD.js.map +1 -0
  193. package/dist/form.cjs +1 -1
  194. package/dist/form.js +1 -1
  195. package/dist/frameworkTexts-BSXUtXOp.cjs +2 -0
  196. package/dist/{frameworkTexts-iDXhcW6k.cjs.map → frameworkTexts-BSXUtXOp.cjs.map} +1 -1
  197. package/dist/frameworkTexts-DP5RUl19.js +131 -0
  198. package/dist/{frameworkTexts-DH0Xp-Vx.js.map → frameworkTexts-DP5RUl19.js.map} +1 -1
  199. package/dist/i18n/frameworkTexts.d.ts +61 -0
  200. package/dist/i18n.cjs +1 -1
  201. package/dist/{icons-D_NB67he.cjs → icons-D3n9-919.cjs} +2 -2
  202. package/dist/{icons-D_NB67he.cjs.map → icons-D3n9-919.cjs.map} +1 -1
  203. package/dist/icons.cjs +1 -1
  204. package/dist/illustrations.cjs +1 -1
  205. package/dist/illustrations.js +1 -1
  206. package/dist/index.cjs +1 -1
  207. package/dist/index.js +41 -41
  208. package/dist/{inputs-B1LCddA4.js → inputs-B7rGMLMr.js} +399 -398
  209. package/dist/inputs-B7rGMLMr.js.map +1 -0
  210. package/dist/inputs-BiN62hgH.cjs +2 -0
  211. package/dist/inputs-BiN62hgH.cjs.map +1 -0
  212. package/dist/inputs.cjs +1 -1
  213. package/dist/inputs.js +4 -4
  214. package/dist/{javascript-CHSg4NGc.js → javascript-CqKLBRqa.js} +1 -1
  215. package/dist/{javascript-CHSg4NGc.js.map → javascript-CqKLBRqa.js.map} +1 -1
  216. package/dist/{javascript-CastOQF5.cjs → javascript-Oy5hkezl.cjs} +1 -1
  217. package/dist/{javascript-CastOQF5.cjs.map → javascript-Oy5hkezl.cjs.map} +1 -1
  218. package/dist/{json-DCkJ-m-p.cjs → json-BP8eqPWc.cjs} +1 -1
  219. package/dist/{json-DCkJ-m-p.cjs.map → json-BP8eqPWc.cjs.map} +1 -1
  220. package/dist/{json-Bejy9Rlg.js → json-DJkyYaPe.js} +1 -1
  221. package/dist/{json-Bejy9Rlg.js.map → json-DJkyYaPe.js.map} +1 -1
  222. package/dist/layout-BMggJ_qO.cjs +2 -0
  223. package/dist/layout-BMggJ_qO.cjs.map +1 -0
  224. package/dist/{layout-DsE4zfpg.js → layout-DBYHyCTr.js} +269 -268
  225. package/dist/layout-DBYHyCTr.js.map +1 -0
  226. package/dist/layout.cjs +1 -1
  227. package/dist/layout.js +6 -6
  228. package/dist/{layoutProps-B8y2XwHy.cjs → layoutProps-Ck4VtGm9.cjs} +1 -1
  229. package/dist/{layoutProps-B8y2XwHy.cjs.map → layoutProps-Ck4VtGm9.cjs.map} +1 -1
  230. package/dist/{layoutProps-CE5-ghKw.js → layoutProps-Cl6d1KmH.js} +1 -1
  231. package/dist/{layoutProps-CE5-ghKw.js.map → layoutProps-Cl6d1KmH.js.map} +1 -1
  232. package/dist/{licensing-DGIdtfNg.cjs → licensing-Be3g-PJt.cjs} +2 -2
  233. package/dist/{licensing-DGIdtfNg.cjs.map → licensing-Be3g-PJt.cjs.map} +1 -1
  234. package/dist/{locale-DRRl_s5-.cjs → locale-C08q7FjE.cjs} +2 -2
  235. package/dist/{locale-DRRl_s5-.cjs.map → locale-C08q7FjE.cjs.map} +1 -1
  236. package/dist/{locale-CS1-IY_I.js → locale-CjJpk9GN.js} +1 -1
  237. package/dist/{locale-CS1-IY_I.js.map → locale-CjJpk9GN.js.map} +1 -1
  238. package/dist/media-BPzMgzqE.js +405 -0
  239. package/dist/media-BPzMgzqE.js.map +1 -0
  240. package/dist/media-D63hxCAJ.cjs +2 -0
  241. package/dist/media-D63hxCAJ.cjs.map +1 -0
  242. package/dist/media.cjs +1 -1
  243. package/dist/media.js +2 -2
  244. package/dist/overlays-CCeYD6hT.js +555 -0
  245. package/dist/overlays-CCeYD6hT.js.map +1 -0
  246. package/dist/overlays-CsRN5OG8.cjs +2 -0
  247. package/dist/overlays-CsRN5OG8.cjs.map +1 -0
  248. package/dist/overlays.cjs +1 -1
  249. package/dist/overlays.js +3 -3
  250. package/dist/{php-BdVXegqn.cjs → php-Cwjc-ZYq.cjs} +1 -1
  251. package/dist/{php-BdVXegqn.cjs.map → php-Cwjc-ZYq.cjs.map} +1 -1
  252. package/dist/{php-Cb_S1hXT.js → php-Db8PWzaX.js} +1 -1
  253. package/dist/{php-Cb_S1hXT.js.map → php-Db8PWzaX.js.map} +1 -1
  254. package/dist/popoverStack--0r2oJCD.js +44 -0
  255. package/dist/popoverStack--0r2oJCD.js.map +1 -0
  256. package/dist/popoverStack-BmMk-VZJ.cjs +2 -0
  257. package/dist/popoverStack-BmMk-VZJ.cjs.map +1 -0
  258. package/dist/primitives.cjs +1 -1
  259. package/dist/primitives.js +1 -1
  260. package/dist/style-runtime.cjs +1 -1
  261. package/dist/style-runtime.js +1 -1
  262. package/dist/styles.css +1 -1
  263. package/dist/{theme-DgaM4CjM.cjs → theme-CJuqObWL.cjs} +2 -2
  264. package/dist/{theme-DgaM4CjM.cjs.map → theme-CJuqObWL.cjs.map} +1 -1
  265. package/dist/theme.cjs +1 -1
  266. package/dist/{typescript-CcGBfzlS.cjs → typescript-QKlfKtex.cjs} +1 -1
  267. package/dist/{typescript-CcGBfzlS.cjs.map → typescript-QKlfKtex.cjs.map} +1 -1
  268. package/dist/{typescript-0VHxrxf2.js → typescript-chdf_txx.js} +1 -1
  269. package/dist/{typescript-0VHxrxf2.js.map → typescript-chdf_txx.js.map} +1 -1
  270. package/dist/{typography-C4_O8len.cjs → typography-4v01oNWx.cjs} +2 -2
  271. package/dist/{typography-C4_O8len.cjs.map → typography-4v01oNWx.cjs.map} +1 -1
  272. package/dist/{typography-CAW17MDj.js → typography-C806GYT4.js} +2 -2
  273. package/dist/{typography-CAW17MDj.js.map → typography-C806GYT4.js.map} +1 -1
  274. package/dist/typography.cjs +1 -1
  275. package/dist/typography.js +6 -6
  276. package/dist/{useGhostText-Dlemg1vw.cjs → useGhostText-mibV4s1-.cjs} +2 -2
  277. package/dist/{useGhostText-Dlemg1vw.cjs.map → useGhostText-mibV4s1-.cjs.map} +1 -1
  278. package/dist/{useInteractionEffect-CFwDX5UF.cjs → useInteractionEffect-CtXlbjhC.cjs} +2 -2
  279. package/dist/{useInteractionEffect-CFwDX5UF.cjs.map → useInteractionEffect-CtXlbjhC.cjs.map} +1 -1
  280. package/dist/{useKeyboardNav-Bm-dxVq-.cjs → useKeyboardNav-CCUoRMgm.cjs} +2 -2
  281. package/dist/{useKeyboardNav-Bm-dxVq-.cjs.map → useKeyboardNav-CCUoRMgm.cjs.map} +1 -1
  282. package/dist/useModalLayer-Bf4TcEz-.js +58 -0
  283. package/dist/useModalLayer-Bf4TcEz-.js.map +1 -0
  284. package/dist/useModalLayer-DxYhhgRO.cjs +2 -0
  285. package/dist/useModalLayer-DxYhhgRO.cjs.map +1 -0
  286. package/dist/utils/useModalLayer.d.ts +10 -0
  287. package/dist/utils.cjs +1 -1
  288. package/dist/{xml-Dbm3mobK.cjs → xml-DEtyywwU.cjs} +1 -1
  289. package/dist/{xml-Dbm3mobK.cjs.map → xml-DEtyywwU.cjs.map} +1 -1
  290. package/dist/{xml-8GjNy8SM.js → xml-DnydRpfh.js} +1 -1
  291. package/dist/{xml-8GjNy8SM.js.map → xml-DnydRpfh.js.map} +1 -1
  292. package/package.json +1 -1
  293. package/dist/MConflictIllustration-3K0lCAsD.js.map +0 -1
  294. package/dist/MConflictIllustration-BuK6cSsc.cjs +0 -2
  295. package/dist/MConflictIllustration-BuK6cSsc.cjs.map +0 -1
  296. package/dist/MInput-C8ObGzQk.js.map +0 -1
  297. package/dist/MInput-CGl2Q-rM.cjs +0 -2
  298. package/dist/MInput-CGl2Q-rM.cjs.map +0 -1
  299. package/dist/MInputCVC-Blv5PeyS.js +0 -320
  300. package/dist/MInputCVC-Blv5PeyS.js.map +0 -1
  301. package/dist/MInputCVC-lAFKTV6y.cjs +0 -2
  302. package/dist/MInputCVC-lAFKTV6y.cjs.map +0 -1
  303. package/dist/MPopover-C-e1CoV0.cjs +0 -2
  304. package/dist/MPopover-C-e1CoV0.cjs.map +0 -1
  305. package/dist/MPopover-Dd-GIBU6.js.map +0 -1
  306. package/dist/MTag-BjV-dXkk.cjs +0 -2
  307. package/dist/MTag-BjV-dXkk.cjs.map +0 -1
  308. package/dist/MTag-D9q6faIk.js +0 -39
  309. package/dist/MTag-D9q6faIk.js.map +0 -1
  310. package/dist/MTooltip-ChvuN4Ow.cjs +0 -2
  311. package/dist/MTooltip-ChvuN4Ow.cjs.map +0 -1
  312. package/dist/MTooltip-H3we0a7w.js +0 -57
  313. package/dist/MTooltip-H3we0a7w.js.map +0 -1
  314. package/dist/cards-CFDJsdxR.js.map +0 -1
  315. package/dist/cards-DeA7I2KC.cjs +0 -2
  316. package/dist/cards-DeA7I2KC.cjs.map +0 -1
  317. package/dist/controls-BKAhqjNM.js.map +0 -1
  318. package/dist/controls-KK-TyUTT.cjs +0 -2
  319. package/dist/controls-KK-TyUTT.cjs.map +0 -1
  320. package/dist/dropdowns-DGYg9zIh.cjs +0 -2
  321. package/dist/dropdowns-DGYg9zIh.cjs.map +0 -1
  322. package/dist/dropdowns-Dq-xAplH.js +0 -1698
  323. package/dist/dropdowns-Dq-xAplH.js.map +0 -1
  324. package/dist/feedback-CA77ShtB.cjs +0 -2
  325. package/dist/feedback-CA77ShtB.cjs.map +0 -1
  326. package/dist/feedback-CCwbdNZu.js +0 -255
  327. package/dist/feedback-CCwbdNZu.js.map +0 -1
  328. package/dist/form-CAFcvmUS.js.map +0 -1
  329. package/dist/form-DpfzLUOn.cjs +0 -2
  330. package/dist/form-DpfzLUOn.cjs.map +0 -1
  331. package/dist/frameworkTexts-DH0Xp-Vx.js +0 -78
  332. package/dist/frameworkTexts-iDXhcW6k.cjs +0 -2
  333. package/dist/inputs-B1LCddA4.js.map +0 -1
  334. package/dist/inputs-Clenc4Rm.cjs +0 -2
  335. package/dist/inputs-Clenc4Rm.cjs.map +0 -1
  336. package/dist/layout-CNoZdeXw.cjs +0 -2
  337. package/dist/layout-CNoZdeXw.cjs.map +0 -1
  338. package/dist/layout-DsE4zfpg.js.map +0 -1
  339. package/dist/media-DRTBXDnn.cjs +0 -2
  340. package/dist/media-DRTBXDnn.cjs.map +0 -1
  341. package/dist/media-vOQOIYFD.js +0 -402
  342. package/dist/media-vOQOIYFD.js.map +0 -1
  343. package/dist/overlays-BKk_ZXue.js +0 -568
  344. package/dist/overlays-BKk_ZXue.js.map +0 -1
  345. package/dist/overlays-Qbp4d596.cjs +0 -2
  346. package/dist/overlays-Qbp4d596.cjs.map +0 -1
@@ -1,255 +0,0 @@
1
- import { r as e } from "./theme-DAOU1aPs.js";
2
- import { Ci as t, Ei as n, In as r, Ln as i, Pn as a, Si as o, Ti as s, Xi as c, wi as l } from "./icons-CBMl-kOM.js";
3
- import { t as u } from "./cn-YER3QsV1.js";
4
- import { t as d } from "./MPortal-Ba2Sxset.js";
5
- import { t as f } from "./MButton-C1pnL4_j.js";
6
- import { createContext as p, useCallback as m, useContext as h, useEffect as g, useMemo as _, useRef as v, useState as y } from "react";
7
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
8
- //#region src/components/feedback/statusIcons.tsx
9
- var S = {
10
- success: /* @__PURE__ */ b(t, {}),
11
- warning: /* @__PURE__ */ b(n, {}),
12
- error: /* @__PURE__ */ b(l, {}),
13
- info: /* @__PURE__ */ b(s, {}),
14
- primary: /* @__PURE__ */ b(s, {}),
15
- neutral: /* @__PURE__ */ b(o, {}),
16
- light: /* @__PURE__ */ b(i, {}),
17
- dark: /* @__PURE__ */ b(r, {}),
18
- news: /* @__PURE__ */ b(a, {})
19
- };
20
- function C(e) {
21
- return e ? S[e] ?? S.info : S.info;
22
- }
23
- //#endregion
24
- //#region src/components/feedback/MAlert/MAlert.tsx
25
- function w({ color: t = "info", icon: n = !0, title: r, hidden: i, className: a, children: o, ...s }) {
26
- let c = n === !1 ? null : n === !0 ? C(t) : n;
27
- return /* @__PURE__ */ x("div", {
28
- className: u("alert", `color-${t}`, a),
29
- role: "status",
30
- ...e(i),
31
- ...s,
32
- children: [c && /* @__PURE__ */ b("span", {
33
- className: "icon",
34
- children: c
35
- }), /* @__PURE__ */ x("div", {
36
- className: "main",
37
- children: [r && /* @__PURE__ */ b("div", {
38
- className: "title",
39
- children: r
40
- }), o && /* @__PURE__ */ b("div", {
41
- className: "content",
42
- children: o
43
- })]
44
- })]
45
- });
46
- }
47
- //#endregion
48
- //#region src/components/feedback/MBanner/MBanner.tsx
49
- function T({ color: t = "primary", variant: n = "filled", icon: r, action: i, hidden: a, dismissible: o = !1, onDismiss: s, className: l, children: d, ...p }) {
50
- let [m, h] = y(!0), [g, _] = y(!1), S = v(null);
51
- if (!m) return null;
52
- let C = () => {
53
- _(!0);
54
- let e = S.current;
55
- if (!e) {
56
- h(!1), s?.();
57
- return;
58
- }
59
- let t = () => {
60
- h(!1), _(!1), s?.();
61
- };
62
- e.addEventListener("transitionend", t, { once: !0 }), setTimeout(t, 1e3);
63
- };
64
- return /* @__PURE__ */ b("div", {
65
- ref: S,
66
- className: u("banner-wrap", g && "dismissing"),
67
- ...e(a),
68
- children: /* @__PURE__ */ x("div", {
69
- className: u("banner", `color-${t}`, n, l),
70
- role: "banner",
71
- ...p,
72
- children: [
73
- r && /* @__PURE__ */ b("span", {
74
- className: "banner-icon",
75
- children: r
76
- }),
77
- /* @__PURE__ */ b("div", {
78
- className: "banner-content",
79
- children: d
80
- }),
81
- i && /* @__PURE__ */ b("div", {
82
- className: "banner-action",
83
- children: i
84
- }),
85
- o && /* @__PURE__ */ b(f, {
86
- variant: "link",
87
- color: "neutral",
88
- iconOnly: !0,
89
- size: "sm",
90
- className: "banner-dismiss",
91
- onClick: C,
92
- "aria-label": "Dismiss",
93
- children: /* @__PURE__ */ b(c, {})
94
- })
95
- ]
96
- })
97
- });
98
- }
99
- //#endregion
100
- //#region src/components/feedback/MProgressRing/MProgressRing.tsx
101
- var E = {
102
- xs: 24,
103
- sm: 36,
104
- md: 56,
105
- lg: 88,
106
- xl: 128
107
- }, D = {
108
- xs: 2,
109
- sm: 3,
110
- md: 4,
111
- lg: 6,
112
- xl: 8
113
- };
114
- function O(e, t, n) {
115
- return Math.max(t, Math.min(n, e));
116
- }
117
- function k(e) {
118
- return typeof e == "number" ? e : E[e ?? "md"] ?? E.md;
119
- }
120
- function A(e, t) {
121
- return typeof e == "number" ? e : typeof t == "number" ? Math.max(2, Math.round(t / 14)) : D[t ?? "md"] ?? D.md;
122
- }
123
- function j({ value: e, size: t = "md", color: n = "primary", thickness: r, showPercent: i = !0, label: a, ariaLabel: o, className: s, style: c, ...l }) {
124
- let d = O(Math.round(e), 0, 100), f = k(t), p = A(r, t), m = (f - p) / 2, h = 2 * Math.PI * m, g = h * (1 - d / 100), _ = {
125
- width: `${f}px`,
126
- height: `${f}px`,
127
- ...c
128
- }, v = typeof t == "string" ? t : "custom", y = o ?? `Loading ${d}%`, S = a === void 0 ? i : a !== null;
129
- return /* @__PURE__ */ x("div", {
130
- className: u("progress-ring", v, n && `color-${n}`, s),
131
- style: _,
132
- role: "progressbar",
133
- "aria-valuenow": d,
134
- "aria-valuemin": 0,
135
- "aria-valuemax": 100,
136
- "aria-label": y,
137
- ...l,
138
- children: [/* @__PURE__ */ x("svg", {
139
- className: "progress-ring-svg",
140
- width: f,
141
- height: f,
142
- viewBox: `0 0 ${f} ${f}`,
143
- "aria-hidden": "true",
144
- children: [/* @__PURE__ */ b("circle", {
145
- className: "progress-ring-track",
146
- cx: f / 2,
147
- cy: f / 2,
148
- r: m,
149
- fill: "none",
150
- strokeWidth: p
151
- }), /* @__PURE__ */ b("circle", {
152
- className: "progress-ring-indicator",
153
- cx: f / 2,
154
- cy: f / 2,
155
- r: m,
156
- fill: "none",
157
- strokeWidth: p,
158
- strokeDasharray: h,
159
- strokeDashoffset: g,
160
- strokeLinecap: "round",
161
- transform: `rotate(-90 ${f / 2} ${f / 2})`
162
- })]
163
- }), S ? /* @__PURE__ */ b("span", {
164
- className: "progress-ring-label",
165
- "aria-hidden": "true",
166
- children: a === void 0 ? `${d}%` : a
167
- }) : null]
168
- });
169
- }
170
- //#endregion
171
- //#region src/components/feedback/MToast/MToastContext.ts
172
- var M = p(null), N = M.Provider;
173
- function P() {
174
- let e = h(M);
175
- if (!e) throw Error("useMToast must be used inside MToastProvider");
176
- return e;
177
- }
178
- //#endregion
179
- //#region src/components/feedback/MToast/MToastItem.tsx
180
- function F({ entry: e, onDismiss: t }) {
181
- let [n, r] = y(!1), i = e.duration ?? 4e3;
182
- g(() => {
183
- if (i <= 0) return;
184
- let e = setTimeout(() => r(!0), i);
185
- return () => clearTimeout(e);
186
- }, [i]);
187
- function a() {
188
- n && t(e.id);
189
- }
190
- let o = e.color || "info", s = e.icon === !1 ? null : e.icon === void 0 || e.icon === !0 ? C(o) : e.icon;
191
- return /* @__PURE__ */ x("div", {
192
- className: u("toast item", `color-${o}`, n && "exit"),
193
- role: "status",
194
- onAnimationEnd: a,
195
- children: [/* @__PURE__ */ x("div", {
196
- className: "toast body",
197
- children: [s && /* @__PURE__ */ b("span", {
198
- className: "toast icon",
199
- children: s
200
- }), /* @__PURE__ */ x("div", {
201
- className: "toast content",
202
- children: [e.title && /* @__PURE__ */ b("div", {
203
- className: "toast title",
204
- children: e.title
205
- }), e.message !== void 0 && e.message !== null && e.message !== "" && /* @__PURE__ */ b("div", {
206
- className: "toast message",
207
- children: e.message
208
- })]
209
- })]
210
- }), /* @__PURE__ */ b(f, {
211
- variant: "ghost",
212
- color: "neutral",
213
- iconOnly: !0,
214
- size: "xs",
215
- className: "toast close",
216
- onClick: () => r(!0),
217
- "aria-label": "Close",
218
- children: /* @__PURE__ */ b(c, {})
219
- })]
220
- });
221
- }
222
- //#endregion
223
- //#region src/components/feedback/MToast/MToastProvider.tsx
224
- var I = 0;
225
- function L({ position: e = "top-right", duration: t = 4e3, children: n }) {
226
- let [r, i] = y([]), a = v(t);
227
- a.current = t;
228
- let o = m((e) => {
229
- i((t) => t.filter((t) => t.id !== e));
230
- }, []), s = m((e) => {
231
- let t = `toast-${++I}`, n = {
232
- id: t,
233
- ...e,
234
- duration: e.duration ?? a.current
235
- };
236
- return i((e) => [...e, n]), t;
237
- }, []);
238
- return /* @__PURE__ */ x(N, {
239
- value: _(() => ({
240
- toast: s,
241
- dismiss: o
242
- }), [s, o]),
243
- children: [n, /* @__PURE__ */ b(d, { children: /* @__PURE__ */ b("div", {
244
- className: u("toast container", e),
245
- children: r.map((e) => /* @__PURE__ */ b(F, {
246
- entry: e,
247
- onDismiss: o
248
- }, e.id))
249
- }) })]
250
- });
251
- }
252
- //#endregion
253
- export { w as a, T as i, P as n, j as r, L as t };
254
-
255
- //# sourceMappingURL=feedback-CCwbdNZu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"feedback-CCwbdNZu.js","names":[],"sources":["../src/components/feedback/statusIcons.tsx","../src/components/feedback/MAlert/MAlert.tsx","../src/components/feedback/MBanner/MBanner.tsx","../src/components/feedback/MProgressRing/MProgressRing.tsx","../src/components/feedback/MToast/MToastContext.ts","../src/components/feedback/MToast/MToastItem.tsx","../src/components/feedback/MToast/MToastProvider.tsx"],"sourcesContent":["import type {ReactNode} from 'react'\nimport {\n MBoltIcon,\n MErrorIcon,\n MInfoIcon,\n MMoonIcon,\n MNeutralIcon,\n MSunIcon,\n MSuccessIcon,\n MWarningIcon,\n} from '../../icons'\n\nconst statusIcons: Record<string, ReactNode> = {\n success: <MSuccessIcon />,\n warning: <MWarningIcon />,\n error: <MErrorIcon />,\n info: <MInfoIcon />,\n primary: <MInfoIcon />,\n neutral: <MNeutralIcon />,\n light: <MSunIcon />,\n dark: <MMoonIcon />,\n news: <MBoltIcon />,\n}\n\nexport function getStatusIcon(color?: string) {\n if (!color) {\n return statusIcons.info\n }\n\n return statusIcons[color] ?? statusIcons.info\n}\n","import type {MAlertProps} from './MAlert.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {getStatusIcon} from '../statusIcons'\nimport './MAlert.css'\n\n// Render inline status messaging with optional heading content.\nexport function MAlert({color = 'info', icon = true, title, hidden, className, children, ...rest}: MAlertProps) {\n const iconView = icon === false ? null : icon === true ? getStatusIcon(color) : icon\n\n return (\n <div className={cn('alert', `color-${color}`, className)} role=\"status\" {...getHiddenProps(hidden)} {...rest}>\n {iconView && <span className=\"icon\">{iconView}</span>}\n <div className=\"main\">\n {title && <div className=\"title\">{title}</div>}\n {children && <div className=\"content\">{children}</div>}\n </div>\n </div>\n )\n}\n","import {useState, useRef} from 'react'\nimport type {MBannerProps} from './MBanner.types'\nimport {getHiddenProps} from '../../../theme'\nimport {cn} from '../../../utils/cn'\nimport {MButton} from '../../controls'\nimport {MCloseIcon} from '../../../icons'\nimport './MBanner.css'\n\n// Render a prominent banner for announcements, CTAs or dismissible messages.\nexport function MBanner({\n color = 'primary',\n variant = 'filled',\n icon,\n action,\n hidden,\n dismissible = false,\n onDismiss,\n className,\n children,\n ...rest\n}: MBannerProps) {\n const [visible, setVisible] = useState(true)\n const [dismissing, setDismissing] = useState(false)\n const wrapRef = useRef<HTMLDivElement>(null)\n\n if (!visible) return null\n\n const handleDismiss = () => {\n setDismissing(true)\n const el = wrapRef.current\n if (!el) {\n setVisible(false)\n onDismiss?.()\n return\n }\n const onEnd = () => {\n setVisible(false)\n setDismissing(false)\n onDismiss?.()\n }\n el.addEventListener('transitionend', onEnd, {once: true})\n setTimeout(onEnd, 1000)\n }\n\n return (\n <div ref={wrapRef} className={cn('banner-wrap', dismissing && 'dismissing')} {...getHiddenProps(hidden)}>\n <div className={cn('banner', `color-${color}`, variant, className)} role=\"banner\" {...rest}>\n {icon && <span className=\"banner-icon\">{icon}</span>}\n <div className=\"banner-content\">{children}</div>\n {action && <div className=\"banner-action\">{action}</div>}\n {dismissible && (\n <MButton\n variant=\"link\"\n color=\"neutral\"\n iconOnly\n size=\"sm\"\n className=\"banner-dismiss\"\n onClick={handleDismiss}\n aria-label=\"Dismiss\"\n >\n <MCloseIcon />\n </MButton>\n )}\n </div>\n </div>\n )\n}\n","import type {CSSProperties} from 'react'\nimport type {MProgressRingProps} from './MProgressRing.types'\nimport {cn} from '../../../utils/cn'\nimport './MProgressRing.css'\n\nconst SIZE_PX: Record<string, number> = {xs: 24, sm: 36, md: 56, lg: 88, xl: 128}\nconst DEFAULT_THICKNESS: Record<string, number> = {xs: 2, sm: 3, md: 4, lg: 6, xl: 8}\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value))\n}\n\nfunction resolveDiameter(size: MProgressRingProps['size']): number {\n if (typeof size === 'number') return size\n return SIZE_PX[size ?? 'md'] ?? SIZE_PX.md\n}\n\nfunction resolveThickness(thickness: number | undefined, size: MProgressRingProps['size']): number {\n if (typeof thickness === 'number') return thickness\n if (typeof size === 'number') return Math.max(2, Math.round(size / 14))\n return DEFAULT_THICKNESS[size ?? 'md'] ?? DEFAULT_THICKNESS.md\n}\n\n/**\n * Determinate ring progress — 0–100 with optional centered percent label.\n * Visually consistent with `MLoader`/`MSpinner`: same MColor palette, same\n * size tokens (xs/sm/md/lg/xl). Use a number for a custom diameter when the\n * design needs an off-token size.\n */\nexport function MProgressRing({\n value,\n size = 'md',\n color = 'primary',\n thickness,\n showPercent = true,\n label,\n ariaLabel,\n className,\n style,\n ...rest\n}: MProgressRingProps) {\n const clampedValue = clamp(Math.round(value), 0, 100)\n const diameter = resolveDiameter(size)\n const stroke = resolveThickness(thickness, size)\n const radius = (diameter - stroke) / 2\n const circumference = 2 * Math.PI * radius\n const dashOffset = circumference * (1 - clampedValue / 100)\n\n const inlineStyle: CSSProperties = {\n width: `${diameter}px`,\n height: `${diameter}px`,\n ...style,\n }\n\n const sizeClass = typeof size === 'string' ? size : 'custom'\n const accessibleLabel = ariaLabel ?? `Loading ${clampedValue}%`\n const showLabel = label !== undefined ? label !== null : showPercent\n\n return (\n <div\n className={cn('progress-ring', sizeClass, color && `color-${color}`, className)}\n style={inlineStyle}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={accessibleLabel}\n {...rest}\n >\n <svg className=\"progress-ring-svg\" width={diameter} height={diameter} viewBox={`0 0 ${diameter} ${diameter}`} aria-hidden=\"true\">\n <circle\n className=\"progress-ring-track\"\n cx={diameter / 2}\n cy={diameter / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n />\n <circle\n className=\"progress-ring-indicator\"\n cx={diameter / 2}\n cy={diameter / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={stroke}\n strokeDasharray={circumference}\n strokeDashoffset={dashOffset}\n strokeLinecap=\"round\"\n transform={`rotate(-90 ${diameter / 2} ${diameter / 2})`}\n />\n </svg>\n {showLabel ? (\n <span className=\"progress-ring-label\" aria-hidden=\"true\">\n {label !== undefined ? label : `${clampedValue}%`}\n </span>\n ) : null}\n </div>\n )\n}\n","import {createContext, useContext} from 'react'\nimport type {MToastContext as MToastContextType} from './MToast.types'\n\nconst ToastCtx = createContext<MToastContextType | null>(null)\n\nexport const MToastContextProvider = ToastCtx.Provider\n\nexport function useMToast(): MToastContextType {\n const ctx = useContext(ToastCtx)\n if (!ctx) throw new Error('useMToast must be used inside MToastProvider')\n return ctx\n}\n","import {useEffect, useState} from 'react'\nimport type {MToastEntry} from './MToast.types'\nimport {cn} from '../../../utils/cn'\nimport {MCloseIcon} from '../../../icons'\nimport {MButton} from '../../controls'\nimport {getStatusIcon} from '../statusIcons'\n\n// Single toast notification with enter/exit animation.\nexport function MToastItem({entry, onDismiss}: {entry: MToastEntry; onDismiss: (id: string) => void}) {\n const [exiting, setExiting] = useState(false)\n const duration = entry.duration ?? 4000\n\n useEffect(() => {\n if (duration <= 0) return\n const timer = setTimeout(() => setExiting(true), duration)\n return () => clearTimeout(timer)\n }, [duration])\n\n function handleEnd() {\n if (exiting) onDismiss(entry.id)\n }\n\n const color = entry.color || 'info'\n const icon =\n entry.icon === false\n ? null\n : entry.icon === undefined || entry.icon === true\n ? getStatusIcon(color)\n : entry.icon\n\n return (\n <div className={cn('toast item', `color-${color}`, exiting && 'exit')} role=\"status\" onAnimationEnd={handleEnd}>\n <div className=\"toast body\">\n {icon && <span className=\"toast icon\">{icon}</span>}\n <div className=\"toast content\">\n {entry.title && <div className=\"toast title\">{entry.title}</div>}\n {entry.message !== undefined && entry.message !== null && entry.message !== '' && (\n <div className=\"toast message\">{entry.message}</div>\n )}\n </div>\n </div>\n <MButton\n variant=\"ghost\"\n color=\"neutral\"\n iconOnly\n size=\"xs\"\n className=\"toast close\"\n onClick={() => setExiting(true)}\n aria-label=\"Close\"\n >\n <MCloseIcon />\n </MButton>\n </div>\n )\n}\n","import {useCallback, useMemo, useRef, useState} from 'react'\nimport {MPortal} from '../../primitives'\nimport {MToastContextProvider, useMToast} from './MToastContext'\nimport {MToastItem} from './MToastItem'\nimport type {MToastEntry, MToastOptions, MToastProviderProps} from './MToast.types'\nimport {cn} from '../../../utils/cn'\nimport './MToast.css'\n\nlet counter = 0\n\n// Global toast container with auto-dismiss and stacking.\nexport function MToastProvider({position = 'top-right', duration = 4000, children}: MToastProviderProps) {\n const [toasts, setToasts] = useState<MToastEntry[]>([])\n const defaultDuration = useRef(duration)\n defaultDuration.current = duration\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id))\n }, [])\n\n const toast = useCallback((options: MToastOptions) => {\n const id = `toast-${++counter}`\n const entry: MToastEntry = {\n id,\n ...options,\n duration: options.duration ?? defaultDuration.current,\n }\n setToasts((prev) => [...prev, entry])\n return id\n }, [])\n\n const ctx = useMemo(() => ({toast, dismiss}), [toast, dismiss])\n\n return (\n <MToastContextProvider value={ctx}>\n {children}\n <MPortal>\n <div className={cn('toast container', position)}>\n {toasts.map((entry) => (\n <MToastItem key={entry.id} entry={entry} onDismiss={dismiss} />\n ))}\n </div>\n </MPortal>\n </MToastContextProvider>\n )\n}\n\nexport {useMToast}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-CAFcvmUS.js","names":[],"sources":["../src/components/form/MForm/FormContext.ts","../src/components/form/MForm/MForm.tsx","../src/components/form/MForm/useFormField.ts"],"sourcesContent":["import {createContext, useContext} from 'react'\nimport type {MFormContextValue} from './MForm.types'\n\nexport const FormContext = createContext<MFormContextValue | null>(null)\n\n// Read the nearest form context to integrate custom fields with shared state.\nexport function useFormContext(): MFormContextValue | null {\n return useContext(FormContext)\n}\n","import {useState, useRef, useCallback, useMemo} from 'react'\nimport type * as React from 'react'\nimport type {MFormProps, MFieldRegistration, MFormContextValue, MFormHelpers} from './MForm.types'\nimport {FormContext} from './FormContext'\nimport {validateRequired} from '../../../utils/validators'\nimport type {ValidationResult} from '../../../utils/validators'\nimport './MForm.css'\n\n// Coordinate form values, validation state and submit helpers through context.\nexport function MForm({\n initialValues = {},\n onSubmit,\n onChange,\n validationMode = 'onBlur',\n children,\n className,\n style,\n noValidate = true,\n ...rest\n}: MFormProps) {\n const [values, setValues] = useState<Record<string, unknown>>({...initialValues})\n const [errors, setErrors] = useState<Record<string, string>>({})\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [isSubmitting, setIsSubmitting] = useState(false)\n const fieldsRef = useRef<Map<string, MFieldRegistration>>(new Map())\n\n // Track mounted fields so validation stays aligned with active inputs.\n const registerField = useCallback((reg: MFieldRegistration) => {\n fieldsRef.current.set(reg.name, reg)\n }, [])\n\n const unregisterField = useCallback((name: string) => {\n fieldsRef.current.delete(name)\n }, [])\n\n // Run required and custom validators without mutating visible error state yet.\n const validateFieldInternal = useCallback(\n (name: string, val?: unknown): ValidationResult => {\n const reg = fieldsRef.current.get(name)\n if (!reg) return {valid: true}\n\n const fieldValue = val !== undefined ? val : values[name]\n const strValue = fieldValue != null ? String(fieldValue) : ''\n\n // Required check\n if (reg.required) {\n const reqResult = validateRequired(strValue)\n if (!reqResult.valid) return reqResult\n }\n\n // Custom validators\n if (reg.validate) {\n for (const validator of reg.validate) {\n const result = validator(strValue)\n if (!result.valid) return result\n }\n }\n\n return {valid: true}\n },\n [values]\n )\n\n // Persist the latest validation result for a single field.\n const validateField = useCallback(\n (name: string): ValidationResult => {\n const result = validateFieldInternal(name)\n setErrors((prev) => {\n if (result.valid) {\n const next = {...prev}\n delete next[name]\n return next\n }\n return {...prev, [name]: result.error!}\n })\n return result\n },\n [validateFieldInternal]\n )\n\n // Validate every registered field before submit.\n const validateAll = useCallback((): boolean => {\n let allValid = true\n const newErrors: Record<string, string> = {}\n\n for (const [name] of fieldsRef.current) {\n const result = validateFieldInternal(name)\n if (!result.valid) {\n allValid = false\n newErrors[name] = result.error!\n }\n }\n\n setErrors(newErrors)\n // Mark all as touched\n const allTouched: Record<string, boolean> = {}\n for (const [name] of fieldsRef.current) {\n allTouched[name] = true\n }\n setTouched(allTouched)\n\n return allValid\n }, [validateFieldInternal])\n\n // Update field values and trigger onChange or validation according to mode.\n const setFieldValue = useCallback(\n (name: string, val: unknown) => {\n setValues((prev) => {\n const next = {...prev, [name]: val}\n onChange?.(next)\n return next\n })\n\n if (validationMode === 'onChange' && touched[name]) {\n // Defer validation to next tick so values are updated\n setTimeout(() => validateField(name), 0)\n }\n },\n [onChange, validationMode, touched, validateField]\n )\n\n const setFieldError = useCallback((name: string, error: string) => {\n setErrors((prev) => ({...prev, [name]: error}))\n }, [])\n\n // Mark fields as touched so blur validation can start surfacing errors.\n const setFieldTouched = useCallback(\n (name: string, isTouched: boolean) => {\n setTouched((prev) => ({...prev, [name]: isTouched}))\n if (validationMode === 'onBlur' && isTouched) {\n validateField(name)\n }\n },\n [validationMode, validateField]\n )\n\n const resetForm = useCallback(() => {\n setValues({...initialValues})\n setErrors({})\n setTouched({})\n setIsSubmitting(false)\n }, [initialValues])\n\n // Guard submit flow with validation and a single in-flight submission state.\n const handleSubmit = useCallback(\n async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (isSubmitting) return\n\n const valid = validateAll()\n if (!valid) return\n\n setIsSubmitting(true)\n const helpers: MFormHelpers = {\n setSubmitting: setIsSubmitting,\n resetForm,\n setFieldError,\n }\n\n try {\n await onSubmit?.(values, helpers)\n } finally {\n setIsSubmitting(false)\n }\n },\n [isSubmitting, validateAll, values, onSubmit, resetForm, setFieldError]\n )\n\n // Memoize the public form context to limit downstream re-renders.\n const ctx = useMemo<MFormContextValue>(\n () => ({\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n }),\n [\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n ]\n )\n\n return (\n <FormContext.Provider value={ctx}>\n <form\n onSubmit={handleSubmit}\n noValidate={noValidate}\n className={`form${className ? ` ${className}` : ''}`}\n style={style}\n {...rest}\n >\n {typeof children === 'function' ? children(ctx) : children}\n </form>\n </FormContext.Provider>\n )\n}\n","import {useEffect, useCallback} from 'react'\nimport {useFormContext} from './FormContext'\nimport type {ValidatorFn} from '../../../utils/validators'\n\nexport interface MUseFormFieldOptions {\n validate?: ValidatorFn[]\n required?: boolean\n}\n\nexport interface MUseFormFieldReturn {\n value: unknown\n error: string | undefined\n touched: boolean\n onChange: (value: unknown) => void\n onBlur: () => void\n}\n\n// Connect a field name to the nearest form context and expose field-level helpers.\nexport function useFormField(name: string, options?: MUseFormFieldOptions): MUseFormFieldReturn {\n const ctx = useFormContext()\n\n // Register the field definition so the form can validate and reset it centrally.\n useEffect(() => {\n if (!ctx) return\n ctx.registerField({\n name,\n validate: options?.validate,\n required: options?.required,\n })\n return () => ctx.unregisterField(name)\n }, [ctx, name, options?.validate, options?.required])\n\n // Forward value updates into the form state.\n const onChange = useCallback(\n (val: unknown) => {\n ctx?.setFieldValue(name, val)\n },\n [ctx, name]\n )\n\n // Mark the field as touched when the control loses focus.\n const onBlur = useCallback(() => {\n ctx?.setFieldTouched(name, true)\n }, [ctx, name])\n\n return {\n value: ctx?.values[name] ?? '',\n error: ctx?.errors[name],\n touched: ctx?.touched[name] ?? false,\n onChange,\n onBlur,\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const e=require(`./validators-B6yWdsu2.cjs`);require(`./core-D66c1_Wo.cjs`);let t=require(`react`),n=require(`react/jsx-runtime`);var r=(0,t.createContext)(null);function i(){return(0,t.useContext)(r)}function a({initialValues:i={},onSubmit:a,onChange:o,validationMode:s=`onBlur`,children:c,className:l,style:u,noValidate:d=!0,...f}){let[p,m]=(0,t.useState)({...i}),[h,g]=(0,t.useState)({}),[_,v]=(0,t.useState)({}),[y,b]=(0,t.useState)(!1),x=(0,t.useRef)(new Map),S=(0,t.useCallback)(e=>{x.current.set(e.name,e)},[]),C=(0,t.useCallback)(e=>{x.current.delete(e)},[]),w=(0,t.useCallback)((t,n)=>{let r=x.current.get(t);if(!r)return{valid:!0};let i=n===void 0?p[t]:n,a=i==null?``:String(i);if(r.required){let t=e.g(a);if(!t.valid)return t}if(r.validate)for(let e of r.validate){let t=e(a);if(!t.valid)return t}return{valid:!0}},[p]),T=(0,t.useCallback)(e=>{let t=w(e);return g(n=>{if(t.valid){let t={...n};return delete t[e],t}return{...n,[e]:t.error}}),t},[w]),E=(0,t.useCallback)(()=>{let e=!0,t={};for(let[n]of x.current){let r=w(n);r.valid||(e=!1,t[n]=r.error)}g(t);let n={};for(let[e]of x.current)n[e]=!0;return v(n),e},[w]),D=(0,t.useCallback)((e,t)=>{m(n=>{let r={...n,[e]:t};return o?.(r),r}),s===`onChange`&&_[e]&&setTimeout(()=>T(e),0)},[o,s,_,T]),O=(0,t.useCallback)((e,t)=>{g(n=>({...n,[e]:t}))},[]),k=(0,t.useCallback)((e,t)=>{v(n=>({...n,[e]:t})),s===`onBlur`&&t&&T(e)},[s,T]),A=(0,t.useCallback)(()=>{m({...i}),g({}),v({}),b(!1)},[i]),j=(0,t.useCallback)(async e=>{if(e.preventDefault(),y||!E())return;b(!0);let t={setSubmitting:b,resetForm:A,setFieldError:O};try{await a?.(p,t)}finally{b(!1)}},[y,E,p,a,A,O]),M=(0,t.useMemo)(()=>({values:p,errors:h,touched:_,registerField:S,unregisterField:C,setFieldValue:D,setFieldError:O,setFieldTouched:k,validateField:T,validateAll:E,resetForm:A,isSubmitting:y}),[p,h,_,S,C,D,O,k,T,E,A,y]);return(0,n.jsx)(r.Provider,{value:M,children:(0,n.jsx)(`form`,{onSubmit:j,noValidate:d,className:`form${l?` ${l}`:``}`,style:u,...f,children:typeof c==`function`?c(M):c})})}function o(e,n){let r=i();(0,t.useEffect)(()=>{if(r)return r.registerField({name:e,validate:n?.validate,required:n?.required}),()=>r.unregisterField(e)},[r,e,n?.validate,n?.required]);let a=(0,t.useCallback)(t=>{r?.setFieldValue(e,t)},[r,e]),o=(0,t.useCallback)(()=>{r?.setFieldTouched(e,!0)},[r,e]);return{value:r?.values[e]??``,error:r?.errors[e],touched:r?.touched[e]??!1,onChange:a,onBlur:o}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return o}});
2
- //# sourceMappingURL=form-DpfzLUOn.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-DpfzLUOn.cjs","names":[],"sources":["../src/components/form/MForm/FormContext.ts","../src/components/form/MForm/MForm.tsx","../src/components/form/MForm/useFormField.ts"],"sourcesContent":["import {createContext, useContext} from 'react'\nimport type {MFormContextValue} from './MForm.types'\n\nexport const FormContext = createContext<MFormContextValue | null>(null)\n\n// Read the nearest form context to integrate custom fields with shared state.\nexport function useFormContext(): MFormContextValue | null {\n return useContext(FormContext)\n}\n","import {useState, useRef, useCallback, useMemo} from 'react'\nimport type * as React from 'react'\nimport type {MFormProps, MFieldRegistration, MFormContextValue, MFormHelpers} from './MForm.types'\nimport {FormContext} from './FormContext'\nimport {validateRequired} from '../../../utils/validators'\nimport type {ValidationResult} from '../../../utils/validators'\nimport './MForm.css'\n\n// Coordinate form values, validation state and submit helpers through context.\nexport function MForm({\n initialValues = {},\n onSubmit,\n onChange,\n validationMode = 'onBlur',\n children,\n className,\n style,\n noValidate = true,\n ...rest\n}: MFormProps) {\n const [values, setValues] = useState<Record<string, unknown>>({...initialValues})\n const [errors, setErrors] = useState<Record<string, string>>({})\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [isSubmitting, setIsSubmitting] = useState(false)\n const fieldsRef = useRef<Map<string, MFieldRegistration>>(new Map())\n\n // Track mounted fields so validation stays aligned with active inputs.\n const registerField = useCallback((reg: MFieldRegistration) => {\n fieldsRef.current.set(reg.name, reg)\n }, [])\n\n const unregisterField = useCallback((name: string) => {\n fieldsRef.current.delete(name)\n }, [])\n\n // Run required and custom validators without mutating visible error state yet.\n const validateFieldInternal = useCallback(\n (name: string, val?: unknown): ValidationResult => {\n const reg = fieldsRef.current.get(name)\n if (!reg) return {valid: true}\n\n const fieldValue = val !== undefined ? val : values[name]\n const strValue = fieldValue != null ? String(fieldValue) : ''\n\n // Required check\n if (reg.required) {\n const reqResult = validateRequired(strValue)\n if (!reqResult.valid) return reqResult\n }\n\n // Custom validators\n if (reg.validate) {\n for (const validator of reg.validate) {\n const result = validator(strValue)\n if (!result.valid) return result\n }\n }\n\n return {valid: true}\n },\n [values]\n )\n\n // Persist the latest validation result for a single field.\n const validateField = useCallback(\n (name: string): ValidationResult => {\n const result = validateFieldInternal(name)\n setErrors((prev) => {\n if (result.valid) {\n const next = {...prev}\n delete next[name]\n return next\n }\n return {...prev, [name]: result.error!}\n })\n return result\n },\n [validateFieldInternal]\n )\n\n // Validate every registered field before submit.\n const validateAll = useCallback((): boolean => {\n let allValid = true\n const newErrors: Record<string, string> = {}\n\n for (const [name] of fieldsRef.current) {\n const result = validateFieldInternal(name)\n if (!result.valid) {\n allValid = false\n newErrors[name] = result.error!\n }\n }\n\n setErrors(newErrors)\n // Mark all as touched\n const allTouched: Record<string, boolean> = {}\n for (const [name] of fieldsRef.current) {\n allTouched[name] = true\n }\n setTouched(allTouched)\n\n return allValid\n }, [validateFieldInternal])\n\n // Update field values and trigger onChange or validation according to mode.\n const setFieldValue = useCallback(\n (name: string, val: unknown) => {\n setValues((prev) => {\n const next = {...prev, [name]: val}\n onChange?.(next)\n return next\n })\n\n if (validationMode === 'onChange' && touched[name]) {\n // Defer validation to next tick so values are updated\n setTimeout(() => validateField(name), 0)\n }\n },\n [onChange, validationMode, touched, validateField]\n )\n\n const setFieldError = useCallback((name: string, error: string) => {\n setErrors((prev) => ({...prev, [name]: error}))\n }, [])\n\n // Mark fields as touched so blur validation can start surfacing errors.\n const setFieldTouched = useCallback(\n (name: string, isTouched: boolean) => {\n setTouched((prev) => ({...prev, [name]: isTouched}))\n if (validationMode === 'onBlur' && isTouched) {\n validateField(name)\n }\n },\n [validationMode, validateField]\n )\n\n const resetForm = useCallback(() => {\n setValues({...initialValues})\n setErrors({})\n setTouched({})\n setIsSubmitting(false)\n }, [initialValues])\n\n // Guard submit flow with validation and a single in-flight submission state.\n const handleSubmit = useCallback(\n async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (isSubmitting) return\n\n const valid = validateAll()\n if (!valid) return\n\n setIsSubmitting(true)\n const helpers: MFormHelpers = {\n setSubmitting: setIsSubmitting,\n resetForm,\n setFieldError,\n }\n\n try {\n await onSubmit?.(values, helpers)\n } finally {\n setIsSubmitting(false)\n }\n },\n [isSubmitting, validateAll, values, onSubmit, resetForm, setFieldError]\n )\n\n // Memoize the public form context to limit downstream re-renders.\n const ctx = useMemo<MFormContextValue>(\n () => ({\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n }),\n [\n values,\n errors,\n touched,\n registerField,\n unregisterField,\n setFieldValue,\n setFieldError,\n setFieldTouched,\n validateField,\n validateAll,\n resetForm,\n isSubmitting,\n ]\n )\n\n return (\n <FormContext.Provider value={ctx}>\n <form\n onSubmit={handleSubmit}\n noValidate={noValidate}\n className={`form${className ? ` ${className}` : ''}`}\n style={style}\n {...rest}\n >\n {typeof children === 'function' ? children(ctx) : children}\n </form>\n </FormContext.Provider>\n )\n}\n","import {useEffect, useCallback} from 'react'\nimport {useFormContext} from './FormContext'\nimport type {ValidatorFn} from '../../../utils/validators'\n\nexport interface MUseFormFieldOptions {\n validate?: ValidatorFn[]\n required?: boolean\n}\n\nexport interface MUseFormFieldReturn {\n value: unknown\n error: string | undefined\n touched: boolean\n onChange: (value: unknown) => void\n onBlur: () => void\n}\n\n// Connect a field name to the nearest form context and expose field-level helpers.\nexport function useFormField(name: string, options?: MUseFormFieldOptions): MUseFormFieldReturn {\n const ctx = useFormContext()\n\n // Register the field definition so the form can validate and reset it centrally.\n useEffect(() => {\n if (!ctx) return\n ctx.registerField({\n name,\n validate: options?.validate,\n required: options?.required,\n })\n return () => ctx.unregisterField(name)\n }, [ctx, name, options?.validate, options?.required])\n\n // Forward value updates into the form state.\n const onChange = useCallback(\n (val: unknown) => {\n ctx?.setFieldValue(name, val)\n },\n [ctx, name]\n )\n\n // Mark the field as touched when the control loses focus.\n const onBlur = useCallback(() => {\n ctx?.setFieldTouched(name, true)\n }, [ctx, name])\n\n return {\n value: ctx?.values[name] ?? '',\n error: ctx?.errors[name],\n touched: ctx?.touched[name] ?? false,\n onChange,\n onBlur,\n }\n}\n"],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- import { r as e } from "./MI18nProvider-VH14CI8u.js";
2
- import { useCallback as t, useMemo as n } from "react";
3
- //#region src/i18n/frameworkTexts.ts
4
- function r() {
5
- let n = e();
6
- return t((e, t) => n?.t(e, t) ?? t, [n]);
7
- }
8
- function i() {
9
- let e = r();
10
- return n(() => ({
11
- today: e("mineralui.datePicker.today", "Today"),
12
- clear: e("mineralui.datePicker.clear", "Clear"),
13
- previousMonth: e("mineralui.datePicker.previousMonth", "Previous month"),
14
- nextMonth: e("mineralui.datePicker.nextMonth", "Next month")
15
- }), [e]);
16
- }
17
- function a() {
18
- let e = r();
19
- return n(() => ({
20
- today: e("mineralui.dateRangePicker.today", "Today"),
21
- clear: e("mineralui.dateRangePicker.clear", "Clear"),
22
- previousMonth: e("mineralui.dateRangePicker.previousMonth", "Previous month"),
23
- nextMonth: e("mineralui.dateRangePicker.nextMonth", "Next month"),
24
- rangeSubtitle: e("mineralui.dateRangePicker.rangeSubtitle", "Select start and end dates in one panel."),
25
- defaultRangePlaceholder: e("mineralui.dateRangePicker.defaultRangePlaceholder", "Select date range..."),
26
- presets: {
27
- today: e("mineralui.dateRangePicker.presets.today", "Today"),
28
- days2: e("mineralui.dateRangePicker.presets.days2", "2 days"),
29
- days3: e("mineralui.dateRangePicker.presets.days3", "3 days"),
30
- days7: e("mineralui.dateRangePicker.presets.days7", "7 days"),
31
- days14: e("mineralui.dateRangePicker.presets.days14", "14 days"),
32
- days31: e("mineralui.dateRangePicker.presets.days31", "31 days"),
33
- thisMonth: e("mineralui.dateRangePicker.presets.thisMonth", "This month"),
34
- previousMonth: e("mineralui.dateRangePicker.presets.previousMonth", "Previous month"),
35
- months2: e("mineralui.dateRangePicker.presets.months2", "2 months"),
36
- months3: e("mineralui.dateRangePicker.presets.months3", "3 months"),
37
- months6: e("mineralui.dateRangePicker.presets.months6", "6 months"),
38
- year1: e("mineralui.dateRangePicker.presets.year1", "1 year")
39
- }
40
- }), [e]);
41
- }
42
- function o(e, t) {
43
- return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : e);
44
- }
45
- function s(e) {
46
- return !!(e && e.toLowerCase().startsWith("pl"));
47
- }
48
- function c(e, t) {
49
- let i = r();
50
- return n(() => {
51
- let n = s(e);
52
- return {
53
- previousMonth: t?.previousMonth ?? i("mineralui.miniCalendar.previousMonth", n ? "Poprzedni miesiąc" : "Previous month"),
54
- nextMonth: t?.nextMonth ?? i("mineralui.miniCalendar.nextMonth", n ? "Następny miesiąc" : "Next month")
55
- };
56
- }, [
57
- i,
58
- e,
59
- t
60
- ]);
61
- }
62
- function l() {
63
- let e = r();
64
- return n(() => ({
65
- scale: e("mineralui.weekGrid.scale", "Scale: {min} — {max}{unit}"),
66
- bands: [
67
- e("mineralui.weekGrid.bands.none", "None"),
68
- e("mineralui.weekGrid.bands.few", "Few"),
69
- e("mineralui.weekGrid.bands.some", "Some"),
70
- e("mineralui.weekGrid.bands.many", "Many")
71
- ],
72
- cellLabel: e("mineralui.weekGrid.cellLabel", "{day} {slot}: {value}")
73
- }), [e]);
74
- }
75
- //#endregion
76
- export { l as a, c as i, i as n, a as r, o as t };
77
-
78
- //# sourceMappingURL=frameworkTexts-DH0Xp-Vx.js.map
@@ -1,2 +0,0 @@
1
- const e=require(`./MI18nProvider-DXRbB0VY.cjs`);require(`./core-D66c1_Wo.cjs`);let t=require(`react`);function n(){let n=e.r();return(0,t.useCallback)((e,t)=>n?.t(e,t)??t,[n])}function r(){let e=n();return(0,t.useMemo)(()=>({today:e(`mineralui.datePicker.today`,`Today`),clear:e(`mineralui.datePicker.clear`,`Clear`),previousMonth:e(`mineralui.datePicker.previousMonth`,`Previous month`),nextMonth:e(`mineralui.datePicker.nextMonth`,`Next month`)}),[e])}function i(){let e=n();return(0,t.useMemo)(()=>({today:e(`mineralui.dateRangePicker.today`,`Today`),clear:e(`mineralui.dateRangePicker.clear`,`Clear`),previousMonth:e(`mineralui.dateRangePicker.previousMonth`,`Previous month`),nextMonth:e(`mineralui.dateRangePicker.nextMonth`,`Next month`),rangeSubtitle:e(`mineralui.dateRangePicker.rangeSubtitle`,`Select start and end dates in one panel.`),defaultRangePlaceholder:e(`mineralui.dateRangePicker.defaultRangePlaceholder`,`Select date range...`),presets:{today:e(`mineralui.dateRangePicker.presets.today`,`Today`),days2:e(`mineralui.dateRangePicker.presets.days2`,`2 days`),days3:e(`mineralui.dateRangePicker.presets.days3`,`3 days`),days7:e(`mineralui.dateRangePicker.presets.days7`,`7 days`),days14:e(`mineralui.dateRangePicker.presets.days14`,`14 days`),days31:e(`mineralui.dateRangePicker.presets.days31`,`31 days`),thisMonth:e(`mineralui.dateRangePicker.presets.thisMonth`,`This month`),previousMonth:e(`mineralui.dateRangePicker.presets.previousMonth`,`Previous month`),months2:e(`mineralui.dateRangePicker.presets.months2`,`2 months`),months3:e(`mineralui.dateRangePicker.presets.months3`,`3 months`),months6:e(`mineralui.dateRangePicker.presets.months6`,`6 months`),year1:e(`mineralui.dateRangePicker.presets.year1`,`1 year`)}}),[e])}function a(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function o(e){return!!(e&&e.toLowerCase().startsWith(`pl`))}function s(e,r){let i=n();return(0,t.useMemo)(()=>{let t=o(e);return{previousMonth:r?.previousMonth??i(`mineralui.miniCalendar.previousMonth`,t?`Poprzedni miesiąc`:`Previous month`),nextMonth:r?.nextMonth??i(`mineralui.miniCalendar.nextMonth`,t?`Następny miesiąc`:`Next month`)}},[i,e,r])}function c(){let e=n();return(0,t.useMemo)(()=>({scale:e(`mineralui.weekGrid.scale`,`Scale: {min} — {max}{unit}`),bands:[e(`mineralui.weekGrid.bands.none`,`None`),e(`mineralui.weekGrid.bands.few`,`Few`),e(`mineralui.weekGrid.bands.some`,`Some`),e(`mineralui.weekGrid.bands.many`,`Many`)],cellLabel:e(`mineralui.weekGrid.cellLabel`,`{day} {slot}: {value}`)}),[e])}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
2
- //# sourceMappingURL=frameworkTexts-iDXhcW6k.cjs.map