@mgdis/mg-components 6.7.0 → 6.9.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 (345) hide show
  1. package/README.md +17 -78
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/{index-1a5a1081.js → index-CATFkm3O.js} +244 -196
  5. package/dist/cjs/index-CATFkm3O.js.map +1 -0
  6. package/dist/cjs/{index-b7923724.js → index-CTU2m-sy.js} +87 -42
  7. package/dist/cjs/index-CTU2m-sy.js.map +1 -0
  8. package/dist/cjs/index.cjs.js +1 -0
  9. package/dist/cjs/index.cjs.js.map +1 -1
  10. package/dist/cjs/index.es-jXqiN1uw.js +152 -0
  11. package/dist/cjs/index.es-jXqiN1uw.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +4 -5
  13. package/dist/cjs/loader.cjs.js.map +1 -1
  14. package/dist/cjs/{mg-action-more_36.cjs.entry.js → mg-action-more_37.cjs.entry.js} +842 -826
  15. package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -0
  16. package/dist/cjs/mg-alert.cjs.entry.js +21 -15
  17. package/dist/cjs/mg-alert.cjs.entry.js.map +1 -1
  18. package/dist/cjs/mg-alert.entry.cjs.js.map +1 -0
  19. package/dist/cjs/mg-components.cjs.js +8 -7
  20. package/dist/cjs/mg-components.cjs.js.map +1 -1
  21. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +21524 -6868
  22. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -1
  23. package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +1 -0
  24. package/dist/cjs/{mg-input.conf-5bbcea79.js → mg-input.conf-WTsvDfpC.js} +2 -1
  25. package/dist/cjs/mg-input.conf-WTsvDfpC.js.map +1 -0
  26. package/dist/cjs/mg-loader.cjs.entry.js +12 -10
  27. package/dist/cjs/mg-loader.cjs.entry.js.map +1 -1
  28. package/dist/cjs/mg-loader.entry.cjs.js.map +1 -0
  29. package/dist/cjs/mg-progress.cjs.entry.js +13 -15
  30. package/dist/cjs/mg-progress.cjs.entry.js.map +1 -1
  31. package/dist/cjs/mg-progress.entry.cjs.js.map +1 -0
  32. package/dist/collection/collection-manifest.json +4 -3
  33. package/dist/collection/components/atoms/mg-badge/mg-badge.js +9 -4
  34. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  35. package/dist/collection/components/atoms/mg-button/mg-button.js +14 -14
  36. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  37. package/dist/collection/components/atoms/mg-icon/mg-icon.js +21 -6
  38. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
  39. package/dist/collection/components/atoms/mg-tag/mg-tag.js +17 -7
  40. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  41. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +1 -2
  42. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  43. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +12 -8
  44. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +1 -1
  45. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +19 -6
  46. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  47. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +16 -5
  48. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  49. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +1 -1
  50. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
  51. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +53 -21
  52. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  53. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +64 -30
  54. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  55. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +12 -7
  56. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  57. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +44 -39
  58. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -1
  59. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +8 -3
  60. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  61. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +7 -1
  62. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +1 -1
  63. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +89 -53
  64. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  65. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +28 -23
  66. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  67. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +8 -3
  68. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  69. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js.map +1 -1
  70. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +2 -2
  71. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js.map +1 -1
  72. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js.map +1 -0
  73. package/dist/collection/components/molecules/{menu → menus}/mg-menu/mg-menu.js +9 -9
  74. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +1 -0
  75. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js.map +1 -0
  76. package/dist/collection/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.js +7 -7
  77. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +1 -0
  78. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
  79. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +9 -4
  80. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  81. package/dist/collection/components/molecules/mg-alert/mg-alert.js +13 -3
  82. package/dist/collection/components/molecules/mg-alert/mg-alert.js.map +1 -1
  83. package/dist/collection/components/molecules/mg-details/mg-details.js +3 -2
  84. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  85. package/dist/collection/components/molecules/mg-form/mg-form.js +8 -3
  86. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  87. package/dist/collection/components/molecules/mg-loader/mg-loader.js +10 -3
  88. package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +1 -1
  89. package/dist/collection/components/molecules/mg-modal/mg-modal.js +4 -4
  90. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  91. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +17 -7
  92. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  93. package/dist/collection/components/molecules/mg-panel/mg-panel.js +12 -7
  94. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  95. package/dist/collection/components/molecules/mg-popover/mg-popover.js +2 -1
  96. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  97. package/dist/collection/components/molecules/mg-table/mg-table.conf.js +13 -0
  98. package/dist/collection/components/molecules/mg-table/mg-table.conf.js.map +1 -0
  99. package/dist/collection/components/molecules/mg-table/mg-table.js +364 -0
  100. package/dist/collection/components/molecules/mg-table/mg-table.js.map +1 -0
  101. package/dist/collection/locales/en/messages.json +37 -16
  102. package/dist/collection/locales/fr/messages.json +40 -19
  103. package/dist/collection/utils/playwright.fixture.js +2 -3
  104. package/dist/collection/utils/playwright.fixture.js.map +1 -1
  105. package/dist/components/floating-ui.utils.js +2 -421
  106. package/dist/components/floating-ui.utils.js.map +1 -1
  107. package/dist/components/index.es.js +68 -67
  108. package/dist/components/index.es.js.map +1 -1
  109. package/dist/components/index.js +1 -0
  110. package/dist/components/index2.js +86 -41
  111. package/dist/components/index2.js.map +1 -1
  112. package/dist/components/mg-action-more.js +13 -9
  113. package/dist/components/mg-action-more.js.map +1 -1
  114. package/dist/components/mg-alert.js +16 -8
  115. package/dist/components/mg-alert.js.map +1 -1
  116. package/dist/components/mg-badge.js +1 -0
  117. package/dist/components/mg-badge2.js +14 -10
  118. package/dist/components/mg-badge2.js.map +1 -1
  119. package/dist/components/mg-button.js +1 -0
  120. package/dist/components/mg-button2.js +19 -19
  121. package/dist/components/mg-button2.js.map +1 -1
  122. package/dist/components/mg-card.js +1 -0
  123. package/dist/components/mg-card2.js +2 -2
  124. package/dist/components/mg-card2.js.map +1 -1
  125. package/dist/components/mg-character-left.js +1 -0
  126. package/dist/components/mg-character-left2.js +6 -6
  127. package/dist/components/mg-character-left2.js.map +1 -1
  128. package/dist/components/mg-details.js +7 -6
  129. package/dist/components/mg-details.js.map +1 -1
  130. package/dist/components/mg-divider.js +1 -0
  131. package/dist/components/mg-divider2.js +2 -2
  132. package/dist/components/mg-divider2.js.map +1 -1
  133. package/dist/components/mg-form.js +14 -10
  134. package/dist/components/mg-form.js.map +1 -1
  135. package/dist/components/mg-icon.js +1 -0
  136. package/dist/components/mg-icon2.js +29 -14
  137. package/dist/components/mg-icon2.js.map +1 -1
  138. package/dist/components/mg-illustrated-message.js +7 -7
  139. package/dist/components/mg-illustrated-message.js.map +1 -1
  140. package/dist/components/mg-input-checkbox-paginated.js +2 -1
  141. package/dist/components/mg-input-checkbox-paginated2.js +15 -3
  142. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  143. package/dist/components/mg-input-checkbox.js +23 -14
  144. package/dist/components/mg-input-checkbox.js.map +1 -1
  145. package/dist/components/mg-input-date.js +64 -32
  146. package/dist/components/mg-input-date.js.map +1 -1
  147. package/dist/components/mg-input-numeric.js +76 -43
  148. package/dist/components/mg-input-numeric.js.map +1 -1
  149. package/dist/components/mg-input-password.js +12 -8
  150. package/dist/components/mg-input-password.js.map +1 -1
  151. package/dist/components/mg-input-radio.js +10 -10
  152. package/dist/components/mg-input-radio.js.map +1 -1
  153. package/dist/components/mg-input-rich-text-editor.js +21525 -6867
  154. package/dist/components/mg-input-rich-text-editor.js.map +1 -1
  155. package/dist/components/mg-input-select.js +1 -0
  156. package/dist/components/mg-input-select2.js +15 -11
  157. package/dist/components/mg-input-select2.js.map +1 -1
  158. package/dist/components/mg-input-text.js +1 -0
  159. package/dist/components/mg-input-text2.js +67 -27
  160. package/dist/components/mg-input-text2.js.map +1 -1
  161. package/dist/components/mg-input-textarea.js +16 -12
  162. package/dist/components/mg-input-textarea.js.map +1 -1
  163. package/dist/components/mg-input-title.js +1 -0
  164. package/dist/components/mg-input-title2.js +6 -6
  165. package/dist/components/mg-input-title2.js.map +1 -1
  166. package/dist/components/mg-input-toggle.js +14 -10
  167. package/dist/components/mg-input-toggle.js.map +1 -1
  168. package/dist/components/mg-input.js +1 -0
  169. package/dist/components/mg-input2.js +20 -14
  170. package/dist/components/mg-input2.js.map +1 -1
  171. package/dist/components/mg-item-more.js +2 -1
  172. package/dist/components/mg-item-more2.js +18 -19
  173. package/dist/components/mg-item-more2.js.map +1 -1
  174. package/dist/components/mg-loader.js +10 -6
  175. package/dist/components/mg-loader.js.map +1 -1
  176. package/dist/components/mg-menu-item.js +1 -0
  177. package/dist/components/mg-menu-item2.js +16 -16
  178. package/dist/components/mg-menu-item2.js.map +1 -1
  179. package/dist/components/mg-menu.js +2 -1
  180. package/dist/components/mg-message.js +1 -0
  181. package/dist/components/mg-message2.js +6 -6
  182. package/dist/components/mg-message2.js.map +1 -1
  183. package/dist/components/mg-modal.js +13 -13
  184. package/dist/components/mg-modal.js.map +1 -1
  185. package/dist/components/mg-pagination.js +1 -0
  186. package/dist/components/mg-pagination2.js +19 -11
  187. package/dist/components/mg-pagination2.js.map +1 -1
  188. package/dist/components/mg-panel.js +18 -14
  189. package/dist/components/mg-panel.js.map +1 -1
  190. package/dist/components/mg-popover-content.js +1 -0
  191. package/dist/components/mg-popover-content2.js +5 -5
  192. package/dist/components/mg-popover-content2.js.map +1 -1
  193. package/dist/components/mg-popover.js +1 -0
  194. package/dist/components/mg-popover2.js +9 -9
  195. package/dist/components/mg-popover2.js.map +1 -1
  196. package/dist/components/mg-progress.js +12 -12
  197. package/dist/components/mg-progress.js.map +1 -1
  198. package/dist/components/mg-skip-links.js +4 -4
  199. package/dist/components/mg-skip-links.js.map +1 -1
  200. package/dist/components/mg-table.d.ts +11 -0
  201. package/dist/components/mg-table.js +320 -0
  202. package/dist/components/mg-table.js.map +1 -0
  203. package/dist/components/mg-tabs.js +14 -14
  204. package/dist/components/mg-tabs.js.map +1 -1
  205. package/dist/components/mg-tag.js +16 -8
  206. package/dist/components/mg-tag.js.map +1 -1
  207. package/dist/components/mg-tooltip-content.js +1 -0
  208. package/dist/components/mg-tooltip-content2.js +2 -2
  209. package/dist/components/mg-tooltip-content2.js.map +1 -1
  210. package/dist/components/mg-tooltip.js +1 -0
  211. package/dist/components/mg-tooltip2.js +13 -13
  212. package/dist/components/mg-tooltip2.js.map +1 -1
  213. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  214. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  215. package/dist/esm/{index-5059254f.js → index-CAuxALt5.js} +242 -174
  216. package/dist/esm/index-CAuxALt5.js.map +1 -0
  217. package/dist/esm/{index-a58f8b91.js → index-SQlkEaXW.js} +87 -42
  218. package/dist/esm/index-SQlkEaXW.js.map +1 -0
  219. package/dist/esm/index.es-DDBtzymI.js +130 -0
  220. package/dist/esm/index.es-DDBtzymI.js.map +1 -0
  221. package/dist/esm/index.js +1 -0
  222. package/dist/esm/index.js.map +1 -1
  223. package/dist/esm/loader.js +5 -4
  224. package/dist/esm/loader.js.map +1 -1
  225. package/dist/esm/{mg-action-more_36.entry.js → mg-action-more_37.entry.js} +842 -825
  226. package/dist/esm/mg-action-more_37.entry.js.map +1 -0
  227. package/dist/esm/mg-alert.entry.js +21 -13
  228. package/dist/esm/mg-alert.entry.js.map +1 -1
  229. package/dist/esm/mg-components.js +7 -5
  230. package/dist/esm/mg-components.js.map +1 -1
  231. package/dist/esm/mg-input-rich-text-editor.entry.js +21527 -6869
  232. package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -1
  233. package/dist/esm/{mg-input.conf-712c7bb6.js → mg-input.conf-BtkqaBXm.js} +2 -1
  234. package/dist/esm/mg-input.conf-BtkqaBXm.js.map +1 -0
  235. package/dist/esm/mg-loader.entry.js +12 -8
  236. package/dist/esm/mg-loader.entry.js.map +1 -1
  237. package/dist/esm/mg-progress.entry.js +13 -13
  238. package/dist/esm/mg-progress.entry.js.map +1 -1
  239. package/dist/mg-components/index.esm.js.map +1 -1
  240. package/dist/mg-components/loader.esm.js.map +1 -0
  241. package/dist/mg-components/locales/en/messages.json +37 -16
  242. package/dist/mg-components/locales/fr/messages.json +40 -19
  243. package/dist/mg-components/mg-alert.entry.esm.js.map +1 -0
  244. package/dist/mg-components/mg-components.esm.js +1 -1
  245. package/dist/mg-components/mg-components.esm.js.map +1 -1
  246. package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +1 -0
  247. package/dist/mg-components/mg-loader.entry.esm.js.map +1 -0
  248. package/dist/mg-components/mg-progress.entry.esm.js.map +1 -0
  249. package/dist/mg-components/p-583b3769.entry.js +2 -0
  250. package/dist/mg-components/p-583b3769.entry.js.map +1 -0
  251. package/dist/mg-components/p-650d6986.entry.js +11 -0
  252. package/dist/mg-components/p-650d6986.entry.js.map +1 -0
  253. package/dist/mg-components/p-680948e3.entry.js +2 -0
  254. package/dist/mg-components/p-680948e3.entry.js.map +1 -0
  255. package/dist/mg-components/p-9acc6504.entry.js +2 -0
  256. package/dist/mg-components/p-9acc6504.entry.js.map +1 -0
  257. package/dist/mg-components/{p-2884f369.js → p-BtkqaBXm.js} +1 -1
  258. package/dist/mg-components/p-BtkqaBXm.js.map +1 -0
  259. package/dist/mg-components/p-CAuxALt5.js +3 -0
  260. package/dist/mg-components/p-CAuxALt5.js.map +1 -0
  261. package/dist/mg-components/p-CqGbLOnN.js +2 -0
  262. package/dist/mg-components/p-CqGbLOnN.js.map +1 -0
  263. package/dist/mg-components/p-DDBtzymI.js +2 -0
  264. package/dist/mg-components/p-DDBtzymI.js.map +1 -0
  265. package/dist/mg-components/p-DQuL1Twl.js +2 -0
  266. package/dist/mg-components/p-DQuL1Twl.js.map +1 -0
  267. package/dist/mg-components/p-c0fb6f62.entry.js +2 -0
  268. package/dist/mg-components/p-c0fb6f62.entry.js.map +1 -0
  269. package/dist/types/components/atoms/mg-button/mg-button.d.ts +1 -1
  270. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +2 -2
  271. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +0 -1
  272. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +1 -4
  273. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +2 -2
  274. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +2 -2
  275. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +1 -0
  276. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +1 -1
  277. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +7 -6
  278. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +2 -2
  279. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +9 -9
  280. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +1 -1
  281. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.conf.d.ts +4 -2
  282. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +16 -10
  283. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +5 -5
  284. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +1 -1
  285. package/dist/types/components/molecules/internals/mg-item-more/mg-item-more.conf.d.ts +1 -1
  286. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +1 -1
  287. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +1 -1
  288. package/dist/types/components/molecules/mg-form/mg-form.d.ts +1 -1
  289. package/dist/types/components/molecules/mg-loader/mg-loader.d.ts +1 -1
  290. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +2 -2
  291. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +1 -1
  292. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -0
  293. package/dist/types/components/molecules/mg-table/mg-table.conf.d.ts +19 -0
  294. package/dist/types/components/molecules/mg-table/mg-table.d.ts +58 -0
  295. package/dist/types/components.d.ts +66 -27
  296. package/dist/types/stencil-public-runtime.d.ts +1 -0
  297. package/ide/intellij/web-types.json +157 -49
  298. package/ide/vscode/html-custom-data.json +111 -27
  299. package/package.json +25 -25
  300. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  301. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  302. package/dist/cjs/index-1a5a1081.js.map +0 -1
  303. package/dist/cjs/index-b7923724.js.map +0 -1
  304. package/dist/cjs/index.es-903492c5.js +0 -151
  305. package/dist/cjs/index.es-903492c5.js.map +0 -1
  306. package/dist/cjs/mg-action-more_36.cjs.entry.js.map +0 -1
  307. package/dist/cjs/mg-input.conf-5bbcea79.js.map +0 -1
  308. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +0 -1
  309. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +0 -1
  310. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +0 -1
  311. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +0 -1
  312. package/dist/esm/app-globals-0f993ce5.js +0 -5
  313. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  314. package/dist/esm/index-5059254f.js.map +0 -1
  315. package/dist/esm/index-a58f8b91.js.map +0 -1
  316. package/dist/esm/index.es-b80b758c.js +0 -129
  317. package/dist/esm/index.es-b80b758c.js.map +0 -1
  318. package/dist/esm/mg-action-more_36.entry.js.map +0 -1
  319. package/dist/esm/mg-input.conf-712c7bb6.js.map +0 -1
  320. package/dist/mg-components/p-2884f369.js.map +0 -1
  321. package/dist/mg-components/p-2a633b29.entry.js +0 -2
  322. package/dist/mg-components/p-2a633b29.entry.js.map +0 -1
  323. package/dist/mg-components/p-361cc090.entry.js +0 -2
  324. package/dist/mg-components/p-361cc090.entry.js.map +0 -1
  325. package/dist/mg-components/p-3afebdab.entry.js +0 -2
  326. package/dist/mg-components/p-3afebdab.entry.js.map +0 -1
  327. package/dist/mg-components/p-3c6710be.js +0 -2
  328. package/dist/mg-components/p-3c6710be.js.map +0 -1
  329. package/dist/mg-components/p-ac8a5083.js +0 -2
  330. package/dist/mg-components/p-ac8a5083.js.map +0 -1
  331. package/dist/mg-components/p-bc6ec847.entry.js +0 -2
  332. package/dist/mg-components/p-bc6ec847.entry.js.map +0 -1
  333. package/dist/mg-components/p-e1255160.js +0 -2
  334. package/dist/mg-components/p-e1255160.js.map +0 -1
  335. package/dist/mg-components/p-e39791fa.js +0 -3
  336. package/dist/mg-components/p-e39791fa.js.map +0 -1
  337. package/dist/mg-components/p-f2e6e7ae.entry.js +0 -2
  338. package/dist/mg-components/p-f2e6e7ae.entry.js.map +0 -1
  339. package/loader/package.json +0 -11
  340. /package/dist/collection/components/molecules/{menu → menus}/mg-menu/mg-menu.conf.js +0 -0
  341. /package/dist/collection/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.conf.js +0 -0
  342. /package/dist/types/components/molecules/{menu → menus}/mg-menu/mg-menu.conf.d.ts +0 -0
  343. /package/dist/types/components/molecules/{menu → menus}/mg-menu/mg-menu.d.ts +0 -0
  344. /package/dist/types/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.conf.d.ts +0 -0
  345. /package/dist/types/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.d.ts +0 -0
@@ -1,7 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
 
3
3
  const mgDividerCss = "/*!\n * @prop --mg-c-divider-color-background: Defines the background color of the divider. The default value is `color-mix(in srgb, var(--mg-b-color-dark), transparent 85%)`.\n * @prop --mg-c-divider-thickness: Defines the thickness of the divider. The default value is `--mg-b-size-border`.\n * @prop --mg-c-divider-spacing-vertical: Defines the vertical spacing of the divider. The default value is `--mg-b-size-40`.\n */.mg-c-divider{width:var(--mg-b-size-120);height:var(--mg-c-divider-thickness);margin:var(--mg-c-divider-spacing-vertical) auto;background-color:var(--mg-c-divider-color-background)}.mg-c-divider.mg-c-divider--full-width{width:100%}";
4
- const MgDividerStyle0 = mgDividerCss;
5
4
 
6
5
  const MgDivider = /*@__PURE__*/ proxyCustomElement(class MgDivider extends HTMLElement {
7
6
  constructor() {
@@ -26,7 +25,7 @@ const MgDivider = /*@__PURE__*/ proxyCustomElement(class MgDivider extends HTMLE
26
25
  'mg-c-divider--full-width': this.fullWidth,
27
26
  } }));
28
27
  }
29
- static get style() { return MgDividerStyle0; }
28
+ static get style() { return mgDividerCss; }
30
29
  }, [1, "mg-divider", {
31
30
  "fullWidth": [4, "full-width"]
32
31
  }]);
@@ -46,5 +45,6 @@ function defineCustomElement() {
46
45
  defineCustomElement();
47
46
 
48
47
  export { MgDivider as M, defineCustomElement as d };
48
+ //# sourceMappingURL=mg-divider2.js.map
49
49
 
50
50
  //# sourceMappingURL=mg-divider2.js.map
@@ -1 +1 @@
1
- {"file":"mg-divider2.js","mappings":";;AAAA,MAAM,YAAY,GAAG,ipBAAipB,CAAC;AACvqB,wBAAe,YAAY;;MCMd,SAAS;IALtB;;;;;;;;;;QAaU,cAAS,GAAG,KAAK,CAAC;KAgB3B;;;;;IAVC,MAAM;QACJ,QACE,4DACE,KAAK,EAAE;gBACL,cAAc,EAAE,IAAI;gBACpB,0BAA0B,EAAE,IAAI,CAAC,SAAS;aAC3C,GACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["../styles/dist/components/mg-divider.css?tag=mg-divider&encapsulation=shadow","src/components/atoms/mg-divider/mg-divider.tsx"],"sourcesContent":["/*!\n * @prop --mg-c-divider-color-background: Defines the background color of the divider. The default value is `color-mix(in srgb, var(--mg-b-color-dark), transparent 85%)`.\n * @prop --mg-c-divider-thickness: Defines the thickness of the divider. The default value is `--mg-b-size-border`.\n * @prop --mg-c-divider-spacing-vertical: Defines the vertical spacing of the divider. The default value is `--mg-b-size-40`.\n */.mg-c-divider{width:var(--mg-b-size-120);height:var(--mg-c-divider-thickness);margin:var(--mg-c-divider-spacing-vertical) auto;background-color:var(--mg-c-divider-color-background)}.mg-c-divider.mg-c-divider--full-width{width:100%}/*# sourceMappingURL=mg-divider.css.map */\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'mg-divider',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-divider.css',\n shadow: true,\n})\nexport class MgDivider {\n /**************\n * Decorators *\n **************/\n\n /**\n * Define component size\n */\n @Prop() fullWidth = false;\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <div\n class={{\n 'mg-c-divider': true,\n 'mg-c-divider--full-width': this.fullWidth,\n }}\n ></div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"mg-divider2.js","mappings":";;AAAA,MAAM,YAAY,GAAG,ipBAAipB;;MCOzpB,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAA,WAAA,CAAA;AALtB,IAAA,WAAA,GAAA;;;;AAME;;AAEgB;AAEhB;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;AAgB1B;AAdC;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,IAAI;gBACpB,0BAA0B,EAAE,IAAI,CAAC,SAAS;aAC3C,EAAA,CACI;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["../styles/dist/components/mg-divider.css?tag=mg-divider&encapsulation=shadow","src/components/atoms/mg-divider/mg-divider.tsx"],"sourcesContent":["/*!\n * @prop --mg-c-divider-color-background: Defines the background color of the divider. The default value is `color-mix(in srgb, var(--mg-b-color-dark), transparent 85%)`.\n * @prop --mg-c-divider-thickness: Defines the thickness of the divider. The default value is `--mg-b-size-border`.\n * @prop --mg-c-divider-spacing-vertical: Defines the vertical spacing of the divider. The default value is `--mg-b-size-40`.\n */.mg-c-divider{width:var(--mg-b-size-120);height:var(--mg-c-divider-thickness);margin:var(--mg-c-divider-spacing-vertical) auto;background-color:var(--mg-c-divider-color-background)}.mg-c-divider.mg-c-divider--full-width{width:100%}/*# sourceMappingURL=mg-divider.css.map */\n","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'mg-divider',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-divider.css',\n shadow: true,\n})\nexport class MgDivider {\n /**************\n * Decorators *\n **************/\n\n /**\n * Define component size\n */\n @Prop() fullWidth = false;\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <div\n class={{\n 'mg-c-divider': true,\n 'mg-c-divider--full-width': this.fullWidth,\n }}\n ></div>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { G as Ge, Z as Ze, X as Xe, V as Ve } from './index.es.js';
2
+ import { x as xt, k as kt, O as Ot, z as zt } from './index.es.js';
3
3
  import { i as initLocales } from './index2.js';
4
4
 
5
5
  /**
@@ -12,7 +12,6 @@ const roles = ['form', 'search', 'none', 'presentation'];
12
12
  const requiredMessageStatus = ['default', 'hide'];
13
13
 
14
14
  const mgFormCss = ".mg-u-form-legacy{--mg-c-form-inputs-title-width:calc(100% / 3 - 20px)}.mg-u-is-asterisk{color:var(--mg-b-color-danger)}/*!\n * @prop --mg-c-form-inputs-title-width: Defines the width of the input title. Fallback on `calc(28 * var(--mg-b-size-8))`.\n */.mg-c-form{--mg-c-input-title-width:var(--mg-c-form-inputs-title-width, calc(28 * var(--mg-b-size-8)));--mg-c-input-margin-bottom:var(--mg-b-size-16);--mg-c-input-title-horizontal-space:var(--mg-b-size-32)}.mg-c-form.mg-c-form--all-required{--mg-c-input-title-display:none}.mg-c-form.mg-c-form--label-on-top{--mg-c-input-margin-bottom:var(--mg-b-size-24)}.mg-c-form>p{font-size:var(--mg-b-font-size-small)}";
15
- const MgFormStyle0 = mgFormCss;
16
15
 
17
16
  const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLElement {
18
17
  constructor() {
@@ -28,7 +27,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
28
27
  * Identifier is used for the element ID (id is a reserved prop in Stencil.js)
29
28
  * If not set, it will be created.
30
29
  */
31
- this.identifier = Ge('mg-form');
30
+ this.identifier = xt('mg-form');
32
31
  /**
33
32
  * Input name
34
33
  * If not set the value equals the identifier
@@ -38,6 +37,10 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
38
37
  * Define if form is readonly
39
38
  */
40
39
  this.readonly = false;
40
+ /**
41
+ * Define if slotted mg-component's label are displayed on top
42
+ */
43
+ this.labelOnTop = false;
41
44
  /**
42
45
  * Define if form is disabled
43
46
  */
@@ -45,7 +48,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
45
48
  /**
46
49
  * Component classes
47
50
  */
48
- this.classCollection = new Ze(['mg-c-form']);
51
+ this.classCollection = new kt(['mg-c-form']);
49
52
  /**
50
53
  * Define required message based on mg-inputs required elements
51
54
  */
@@ -133,18 +136,18 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
133
136
  };
134
137
  }
135
138
  watchIdentifier(newValue) {
136
- if (!Xe(newValue)) {
137
- console.error(`<mg-form> prop "identifier" value is invalid. Passed value: ${Ve(newValue)}.`);
139
+ if (!Ot(newValue)) {
140
+ console.error(`<mg-form> prop "identifier" value is invalid. Passed value: ${zt(newValue)}.`);
138
141
  }
139
142
  }
140
143
  validateRequiredMessage(newValue) {
141
144
  if (newValue && !requiredMessageStatus.includes(newValue)) {
142
- throw new Error(`<mg-form> prop "requiredMessage" must be one of: ${requiredMessageStatus.join(', ')}. Passed value: ${Ve(newValue)}.`);
145
+ throw new Error(`<mg-form> prop "requiredMessage" must be one of: ${requiredMessageStatus.join(', ')}. Passed value: ${zt(newValue)}.`);
143
146
  }
144
147
  }
145
148
  validateAriaRole(newValue) {
146
149
  if (newValue && !roles.includes(newValue)) {
147
- throw new Error(`<mg-form> prop "ariaRole" must be one of: ${roles.join(', ')}. Passed value: ${Ve(newValue)}.`);
150
+ throw new Error(`<mg-form> prop "ariaRole" must be one of: ${roles.join(', ')}. Passed value: ${zt(newValue)}.`);
148
151
  }
149
152
  }
150
153
  handlelabelOnTop(newValue) {
@@ -233,7 +236,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
233
236
  * @returns HTML Element
234
237
  */
235
238
  render() {
236
- return (h("form", { key: 'a592ab555ddc0a5132fdf99b3de102d95ef8cc30', class: this.classCollection.join(), id: this.identifier, name: this.name, onSubmit: this.handleFormSubmit, role: this.ariaRole }, this.requiredMessageText && h("p", { key: 'c7a0b19f51394d16bb80de4e0995e22213a6dc17', innerHTML: this.requiredMessageText }), h("slot", { key: 'd6b6c2f15b3a0f1ca93c46506b892bf4bab8f095' }), !this.readonly && !this.disabled && h("slot", { key: 'b758ae4e77d9534b44673494b536134526596651', name: "actions" })));
239
+ return (h("form", { key: '43c060c027330a9db84c469228536db8d2329c86', class: this.classCollection.join(), id: this.identifier, name: this.name, onSubmit: this.handleFormSubmit, role: this.ariaRole }, this.requiredMessageText && h("p", { key: '42cba44f2075371ae73b097b84012fdbd1b473d8', innerHTML: this.requiredMessageText }), h("slot", { key: '0797165b78e980ab2680f7a3a1c68b13c5140820' }), !this.readonly && !this.disabled && h("slot", { key: 'a13f2ac1e784b0e03408ed811b1c3bec4b730479', name: "actions" })));
237
240
  }
238
241
  get element() { return this; }
239
242
  static get watchers() { return {
@@ -244,7 +247,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
244
247
  "readonly": ["handleAttributeChange"],
245
248
  "disabled": ["handleAttributeChange"]
246
249
  }; }
247
- static get style() { return MgFormStyle0; }
250
+ static get style() { return mgFormCss; }
248
251
  }, [1, "mg-form", {
249
252
  "identifier": [1],
250
253
  "name": [1],
@@ -286,5 +289,6 @@ const MgForm = MgForm$1;
286
289
  const defineCustomElement = defineCustomElement$1;
287
290
 
288
291
  export { MgForm, defineCustomElement };
292
+ //# sourceMappingURL=mg-form.js.map
289
293
 
290
294
  //# sourceMappingURL=mg-form.js.map
@@ -1 +1 @@
1
- {"file":"mg-form.js","mappings":"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","names":["MgForm","createID","ClassList","isValideID","toString"],"sources":["src/components/molecules/mg-form/mg-form.conf.ts","../styles/dist/components/mg-form.css?tag=mg-form&encapsulation=shadow","src/components/molecules/mg-form/mg-form.tsx"],"sourcesContent":["import { AriaRole } from '../../../types';\n\n/**\n * List of all possibles roles\n */\nexport const roles = ['form', 'search', 'none', 'presentation'] as const;\n\n/**\n * Aria Role type from roles\n */\nexport type AriaRoleType = AriaRole & (typeof roles)[number];\n\n/**\n * List of all possibles required message status\n */\nexport const requiredMessageStatus = ['default', 'hide'] as const;\n\n/**\n * RequiredMessageStatus type from requiredMessageStatus\n */\nexport type RequiredMessageStatusType = (typeof requiredMessageStatus)[number];\n",".mg-u-form-legacy{--mg-c-form-inputs-title-width: calc(100% / 3 - 20px)}.mg-u-is-asterisk{color:var(--mg-b-color-danger)}/*!\n * @prop --mg-c-form-inputs-title-width: Defines the width of the input title. Fallback on `calc(28 * var(--mg-b-size-8))`.\n */.mg-c-form{--mg-c-input-title-width: var(--mg-c-form-inputs-title-width, calc(28 * var(--mg-b-size-8)));--mg-c-input-margin-bottom: var(--mg-b-size-16);--mg-c-input-title-horizontal-space: var(--mg-b-size-32)}.mg-c-form.mg-c-form--all-required{--mg-c-input-title-display: none}.mg-c-form.mg-c-form--label-on-top{--mg-c-input-margin-bottom: var(--mg-b-size-24)}.mg-c-form>p{font-size:var(--mg-b-font-size-small)}/*# sourceMappingURL=mg-form.css.map */\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { createID, ClassList, toString, isValideID } from '@mgdis/stencil-helpers';\nimport { initLocales } from '../../../locales';\nimport { HTMLMgInputsElement } from '../inputs/mg-input/mg-input.conf';\nimport { AriaRoleType, requiredMessageStatus, RequiredMessageStatusType, roles } from './mg-form.conf';\n\n/**\n * @slot - Form content\n * @slot actions - Actions content\n */\n@Component({\n tag: 'mg-form',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-form.css',\n shadow: true,\n})\nexport class MgForm {\n /************\n * Internal *\n ************/\n\n private mgInputs: (HTMLMgInputsElement & { disabled: boolean })[];\n private mgButtons: HTMLMgButtonElement[];\n\n // Classes\n private readonly classAllRequired = 'mg-c-form--all-required';\n private readonly classLabelOnTop = 'mg-c-form--label-on-top';\n\n // Locales\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgFormElement;\n\n /**\n * Identifier is used for the element ID (id is a reserved prop in Stencil.js)\n * If not set, it will be created.\n */\n @Prop() identifier: string = createID('mg-form');\n @Watch('identifier')\n watchIdentifier(newValue: MgForm['identifier']): void {\n if (!isValideID(newValue)) {\n console.error(`<mg-form> prop \"identifier\" value is invalid. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Input name\n * If not set the value equals the identifier\n */\n @Prop() name: string = this.identifier;\n\n /**\n * Define if form is readonly\n */\n @Prop() readonly = false;\n\n /**\n * Define when required message is display.\n * When it is unset, component use it internal logic to manage \"required message\" help text display.\n * When you set the prop to `default`, you override the component internal logique to torce it display \"required message\" help text.\n * When you set the prop to `hide`, it will prevent the rendering of the message in the component's DOM.\n * As **this element is an accessibility requirement in the view**,\n * you **MUST*** re-implement this message on your own and display it when your form contains required inputs.\n */\n @Prop() requiredMessage?: RequiredMessageStatusType;\n @Watch('requiredMessage')\n validateRequiredMessage(newValue): void {\n if (newValue && !requiredMessageStatus.includes(newValue)) {\n throw new Error(`<mg-form> prop \"requiredMessage\" must be one of: ${requiredMessageStatus.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define `<form/>` element aria role\n * see more about aria roles use case: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles\n */\n @Prop() ariaRole?: AriaRoleType;\n @Watch('ariaRole')\n validateAriaRole(newValue: MgForm['ariaRole']) {\n if (newValue && !roles.includes(newValue)) {\n throw new Error(`<mg-form> prop \"ariaRole\" must be one of: ${roles.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define if slotted mg-component's label are displayed on top\n */\n @Prop() labelOnTop?: boolean;\n @Watch('labelOnTop')\n handlelabelOnTop(newValue: MgForm['labelOnTop']) {\n if (newValue) {\n this.classCollection.add(this.classLabelOnTop);\n } else {\n this.classCollection.delete(this.classLabelOnTop);\n }\n }\n /**\n * Define if form is disabled\n */\n @Prop() disabled = false;\n @Watch('readonly')\n @Watch('disabled')\n @Watch('requiredMessage')\n handleAttributeChange(): void {\n this.setMgInputs();\n this.setRequiredMessage();\n }\n\n /**\n * Define form valid state\n */\n @Prop({ mutable: true }) valid: boolean;\n\n /**\n * Define form invalid state\n */\n @Prop({ mutable: true }) invalid: boolean;\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-form']);\n\n /**\n * Required message\n */\n @State() requiredMessageText: string;\n\n /**\n * Emitted event on form validity check\n * Tells if form is valid or not\n */\n @Event({ eventName: 'form-valid' }) formValid: EventEmitter<HTMLMgFormElement['valid']>;\n\n /**\n * Emitted event on form submit\n */\n @Event({ eventName: 'form-submit' }) formSubmit: EventEmitter<boolean>;\n\n /**\n * Display input error if it exists.\n */\n @Method()\n async displayError(): Promise<void> {\n if (!this.readonly) {\n this.mgInputs.forEach(input => {\n input.displayError?.();\n });\n this.checkValidity();\n }\n }\n\n /**\n * Reset form inputs values, validity and error state\n */\n @Method()\n async reset(): Promise<void> {\n if (!this.readonly) {\n await Promise.all(\n this.mgInputs.map(async input => {\n if (input.reset !== undefined) {\n await input.reset();\n }\n }),\n );\n }\n }\n\n /**\n * Define required message based on mg-inputs required elements\n */\n private setRequiredMessage = (): void => {\n // init required message\n this.requiredMessageText = null;\n this.classCollection.delete(this.classAllRequired);\n\n if (this.requiredMessage === 'hide') return;\n else if (this.requiredMessage === 'default') {\n this.requiredMessageText = this.messages.form.required;\n return;\n }\n\n // If the form is disabled or readonly none of them are required\n // Check if all fields are not editable (readonly or disabled)\n const isEditable = input => !(input.disabled || input.readonly);\n const isMgInputToggle = input => input.nodeName === 'MG-INPUT-TOGGLE';\n if (!this.disabled && !this.readonly && this.mgInputs.some(input => isEditable(input) && !isMgInputToggle(input))) {\n // Get editable inputs\n const editableInputs: HTMLMgInputsElement[] = this.mgInputs.filter(isEditable);\n // Get required inputs\n // mg-input-toggle can not be required\n const requiredInputs: HTMLMgInputsElement[] = editableInputs.filter(input => !isMgInputToggle(input) && input.required);\n // All inputs are required\n if (\n [requiredInputs.length, editableInputs.length].every(length => length === 1) ||\n (requiredInputs.length > 1 && requiredInputs.length === editableInputs.filter(input => !isMgInputToggle(input)).length)\n ) {\n this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'allRequiredSingle', 'allRequired');\n this.classCollection.add(this.classAllRequired);\n }\n // Some fields are required\n else if (requiredInputs.length > 0) {\n this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'requiredSingle', 'required');\n }\n }\n };\n\n /**\n * Returns a required message based on the count of required inputs.\n * @param requiredInputs - An array of required input elements.\n * @param keySingle - The key for the singular message format.\n * @param keyPlural - The key for the plural message format.\n * @returns The appropriate required message based on the count of required inputs.\n */\n private getRequiredMessageBasedOnCount = (requiredInputs: HTMLMgInputsElement[], keySingle: string, keyPlural: string) =>\n this.messages.form[requiredInputs.length === 1 ? keySingle : keyPlural];\n\n /**\n * Check if form is valid\n */\n private checkValidity = (): void => {\n // Update required on input event\n this.setRequiredMessage();\n\n this.valid = !this.mgInputs.some(input => input.invalid);\n this.invalid = !this.valid;\n // We need to send valid event if it is the same value\n this.formValid.emit(this.valid);\n };\n\n /**\n * Handle Form Submit\n * @param event - submit event\n */\n private handleFormSubmit = (event: SubmitEvent): void => {\n event.preventDefault();\n this.formSubmit.emit();\n };\n\n /**\n * Set mgInputs\n */\n private setMgInputs = (): void => {\n // Get slotted mgInputs\n this.mgInputs = Array.from(this.element.querySelectorAll('*')).filter((node: Node) => node.nodeName.startsWith('MG-INPUT')) as (HTMLMgInputsElement & { disabled: boolean })[];\n // Set inputs readonly or disabled based on form configuration\n // Othewise listen to events\n this.mgInputs.forEach(input => {\n if (this.labelOnTop) {\n input.labelOnTop = true;\n }\n if (this.readonly) {\n input.readonly = true;\n } else if (this.disabled) {\n input.disabled = true;\n } else {\n input.addEventListener('input-valid', this.checkValidity);\n }\n });\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n // Get locales\n this.messages = initLocales(this.element).messages;\n\n this.watchIdentifier(this.identifier);\n this.validateAriaRole(this.ariaRole);\n this.validateRequiredMessage(this.requiredMessage);\n this.handlelabelOnTop(this.labelOnTop);\n\n // Get slotted mgButtons\n this.mgButtons = Array.from(this.element.querySelectorAll('mg-button'));\n\n // Set button form identifier\n this.mgButtons.forEach(mgButton => {\n mgButton.setAttribute('form', this.identifier);\n });\n\n // Set mgInputs\n this.setMgInputs();\n\n // Check validity when slotted mgInputs are ready\n Promise.all(\n this.mgInputs.map(async input => {\n try {\n await input.componentOnReady();\n } catch {} // prevent error with VueJS first render\n }),\n ).then(() => {\n // Define required message and check validity\n this.checkValidity();\n });\n }\n\n /**\n * Add slot listeners\n */\n componentDidLoad(): void {\n // Update mgInputs when mgForm content change\n const observerOptions = { childList: true, subtree: true };\n new MutationObserver(mutations => {\n if (mutations.some(mutation => Object.keys(observerOptions).includes(mutation.type))) {\n this.setMgInputs();\n this.checkValidity();\n }\n }).observe(this.element, observerOptions);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <form class={this.classCollection.join()} id={this.identifier} name={this.name} onSubmit={this.handleFormSubmit} role={this.ariaRole}>\n {this.requiredMessageText && <p innerHTML={this.requiredMessageText}></p>}\n <slot></slot>\n {!this.readonly && !this.disabled && <slot name=\"actions\"></slot>}\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"mg-form.js","mappings":"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","names":["MgForm","__stencil_proxyCustomElement","createID","ClassList","isValideID","toString"],"sources":["src/components/molecules/mg-form/mg-form.conf.ts","../styles/dist/components/mg-form.css?tag=mg-form&encapsulation=shadow","src/components/molecules/mg-form/mg-form.tsx"],"sourcesContent":["import { AriaRole } from '../../../types';\n\n/**\n * List of all possibles roles\n */\nexport const roles = ['form', 'search', 'none', 'presentation'] as const;\n\n/**\n * Aria Role type from roles\n */\nexport type AriaRoleType = AriaRole & (typeof roles)[number];\n\n/**\n * List of all possibles required message status\n */\nexport const requiredMessageStatus = ['default', 'hide'] as const;\n\n/**\n * RequiredMessageStatus type from requiredMessageStatus\n */\nexport type RequiredMessageStatusType = (typeof requiredMessageStatus)[number];\n",".mg-u-form-legacy{--mg-c-form-inputs-title-width: calc(100% / 3 - 20px)}.mg-u-is-asterisk{color:var(--mg-b-color-danger)}/*!\n * @prop --mg-c-form-inputs-title-width: Defines the width of the input title. Fallback on `calc(28 * var(--mg-b-size-8))`.\n */.mg-c-form{--mg-c-input-title-width: var(--mg-c-form-inputs-title-width, calc(28 * var(--mg-b-size-8)));--mg-c-input-margin-bottom: var(--mg-b-size-16);--mg-c-input-title-horizontal-space: var(--mg-b-size-32)}.mg-c-form.mg-c-form--all-required{--mg-c-input-title-display: none}.mg-c-form.mg-c-form--label-on-top{--mg-c-input-margin-bottom: var(--mg-b-size-24)}.mg-c-form>p{font-size:var(--mg-b-font-size-small)}/*# sourceMappingURL=mg-form.css.map */\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { createID, ClassList, toString, isValideID } from '@mgdis/stencil-helpers';\nimport { initLocales } from '../../../locales';\nimport { HTMLMgInputsElement } from '../inputs/mg-input/mg-input.conf';\nimport { AriaRoleType, requiredMessageStatus, RequiredMessageStatusType, roles } from './mg-form.conf';\n\n/**\n * @slot - Form content\n * @slot actions - Actions content\n */\n@Component({\n tag: 'mg-form',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-form.css',\n shadow: true,\n})\nexport class MgForm {\n /************\n * Internal *\n ************/\n\n private mgInputs: (HTMLMgInputsElement & { disabled: boolean })[];\n private mgButtons: HTMLMgButtonElement[];\n\n // Classes\n private readonly classAllRequired = 'mg-c-form--all-required';\n private readonly classLabelOnTop = 'mg-c-form--label-on-top';\n\n // Locales\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgFormElement;\n\n /**\n * Identifier is used for the element ID (id is a reserved prop in Stencil.js)\n * If not set, it will be created.\n */\n @Prop() identifier: string = createID('mg-form');\n @Watch('identifier')\n watchIdentifier(newValue: MgForm['identifier']): void {\n if (!isValideID(newValue)) {\n console.error(`<mg-form> prop \"identifier\" value is invalid. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Input name\n * If not set the value equals the identifier\n */\n @Prop() name: string = this.identifier;\n\n /**\n * Define if form is readonly\n */\n @Prop() readonly = false;\n\n /**\n * Define when required message is display.\n * When it is unset, component use it internal logic to manage \"required message\" help text display.\n * When you set the prop to `default`, you override the component internal logique to torce it display \"required message\" help text.\n * When you set the prop to `hide`, it will prevent the rendering of the message in the component's DOM.\n * As **this element is an accessibility requirement in the view**,\n * you **MUST*** re-implement this message on your own and display it when your form contains required inputs.\n */\n @Prop() requiredMessage?: RequiredMessageStatusType;\n @Watch('requiredMessage')\n validateRequiredMessage(newValue): void {\n if (newValue && !requiredMessageStatus.includes(newValue)) {\n throw new Error(`<mg-form> prop \"requiredMessage\" must be one of: ${requiredMessageStatus.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define `<form/>` element aria role\n * see more about aria roles use case: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles\n */\n @Prop() ariaRole?: AriaRoleType;\n @Watch('ariaRole')\n validateAriaRole(newValue: MgForm['ariaRole']) {\n if (newValue && !roles.includes(newValue)) {\n throw new Error(`<mg-form> prop \"ariaRole\" must be one of: ${roles.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define if slotted mg-component's label are displayed on top\n */\n @Prop() labelOnTop = false;\n @Watch('labelOnTop')\n handlelabelOnTop(newValue: MgForm['labelOnTop']) {\n if (newValue) {\n this.classCollection.add(this.classLabelOnTop);\n } else {\n this.classCollection.delete(this.classLabelOnTop);\n }\n }\n /**\n * Define if form is disabled\n */\n @Prop() disabled = false;\n @Watch('readonly')\n @Watch('disabled')\n @Watch('requiredMessage')\n handleAttributeChange(): void {\n this.setMgInputs();\n this.setRequiredMessage();\n }\n\n /**\n * Define form valid state\n */\n @Prop({ mutable: true }) valid: boolean;\n\n /**\n * Define form invalid state\n */\n @Prop({ mutable: true }) invalid: boolean;\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-form']);\n\n /**\n * Required message\n */\n @State() requiredMessageText: string;\n\n /**\n * Emitted event on form validity check\n * Tells if form is valid or not\n */\n @Event({ eventName: 'form-valid' }) formValid: EventEmitter<HTMLMgFormElement['valid']>;\n\n /**\n * Emitted event on form submit\n */\n @Event({ eventName: 'form-submit' }) formSubmit: EventEmitter<boolean>;\n\n /**\n * Display input error if it exists.\n */\n @Method()\n async displayError(): Promise<void> {\n if (!this.readonly) {\n this.mgInputs.forEach(input => {\n input.displayError?.();\n });\n this.checkValidity();\n }\n }\n\n /**\n * Reset form inputs values, validity and error state\n */\n @Method()\n async reset(): Promise<void> {\n if (!this.readonly) {\n await Promise.all(\n this.mgInputs.map(async input => {\n if (input.reset !== undefined) {\n await input.reset();\n }\n }),\n );\n }\n }\n\n /**\n * Define required message based on mg-inputs required elements\n */\n private setRequiredMessage = (): void => {\n // init required message\n this.requiredMessageText = null;\n this.classCollection.delete(this.classAllRequired);\n\n if (this.requiredMessage === 'hide') return;\n else if (this.requiredMessage === 'default') {\n this.requiredMessageText = this.messages.form.required;\n return;\n }\n\n // If the form is disabled or readonly none of them are required\n // Check if all fields are not editable (readonly or disabled)\n const isEditable = input => !(input.disabled || input.readonly);\n const isMgInputToggle = input => input.nodeName === 'MG-INPUT-TOGGLE';\n if (!this.disabled && !this.readonly && this.mgInputs.some(input => isEditable(input) && !isMgInputToggle(input))) {\n // Get editable inputs\n const editableInputs: HTMLMgInputsElement[] = this.mgInputs.filter(isEditable);\n // Get required inputs\n // mg-input-toggle can not be required\n const requiredInputs: HTMLMgInputsElement[] = editableInputs.filter(input => !isMgInputToggle(input) && input.required);\n // All inputs are required\n if (\n [requiredInputs.length, editableInputs.length].every(length => length === 1) ||\n (requiredInputs.length > 1 && requiredInputs.length === editableInputs.filter(input => !isMgInputToggle(input)).length)\n ) {\n this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'allRequiredSingle', 'allRequired');\n this.classCollection.add(this.classAllRequired);\n }\n // Some fields are required\n else if (requiredInputs.length > 0) {\n this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'requiredSingle', 'required');\n }\n }\n };\n\n /**\n * Returns a required message based on the count of required inputs.\n * @param requiredInputs - An array of required input elements.\n * @param keySingle - The key for the singular message format.\n * @param keyPlural - The key for the plural message format.\n * @returns The appropriate required message based on the count of required inputs.\n */\n private getRequiredMessageBasedOnCount = (requiredInputs: HTMLMgInputsElement[], keySingle: string, keyPlural: string) =>\n this.messages.form[requiredInputs.length === 1 ? keySingle : keyPlural];\n\n /**\n * Check if form is valid\n */\n private checkValidity = (): void => {\n // Update required on input event\n this.setRequiredMessage();\n\n this.valid = !this.mgInputs.some(input => input.invalid);\n this.invalid = !this.valid;\n // We need to send valid event if it is the same value\n this.formValid.emit(this.valid);\n };\n\n /**\n * Handle Form Submit\n * @param event - submit event\n */\n private handleFormSubmit = (event: SubmitEvent): void => {\n event.preventDefault();\n this.formSubmit.emit();\n };\n\n /**\n * Set mgInputs\n */\n private setMgInputs = (): void => {\n // Get slotted mgInputs\n this.mgInputs = Array.from(this.element.querySelectorAll('*')).filter((node: Node) => node.nodeName.startsWith('MG-INPUT')) as (HTMLMgInputsElement & { disabled: boolean })[];\n // Set inputs readonly or disabled based on form configuration\n // Othewise listen to events\n this.mgInputs.forEach(input => {\n if (this.labelOnTop) {\n input.labelOnTop = true;\n }\n if (this.readonly) {\n input.readonly = true;\n } else if (this.disabled) {\n input.disabled = true;\n } else {\n input.addEventListener('input-valid', this.checkValidity);\n }\n });\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n // Get locales\n this.messages = initLocales(this.element).messages;\n\n this.watchIdentifier(this.identifier);\n this.validateAriaRole(this.ariaRole);\n this.validateRequiredMessage(this.requiredMessage);\n this.handlelabelOnTop(this.labelOnTop);\n\n // Get slotted mgButtons\n this.mgButtons = Array.from(this.element.querySelectorAll('mg-button'));\n\n // Set button form identifier\n this.mgButtons.forEach(mgButton => {\n mgButton.setAttribute('form', this.identifier);\n });\n\n // Set mgInputs\n this.setMgInputs();\n\n // Check validity when slotted mgInputs are ready\n Promise.all(\n this.mgInputs.map(async input => {\n try {\n await input.componentOnReady();\n } catch {} // prevent error with VueJS first render\n }),\n ).then(() => {\n // Define required message and check validity\n this.checkValidity();\n });\n }\n\n /**\n * Add slot listeners\n */\n componentDidLoad(): void {\n // Update mgInputs when mgForm content change\n const observerOptions = { childList: true, subtree: true };\n new MutationObserver(mutations => {\n if (mutations.some(mutation => Object.keys(observerOptions).includes(mutation.type))) {\n this.setMgInputs();\n this.checkValidity();\n }\n }).observe(this.element, observerOptions);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <form class={this.classCollection.join()} id={this.identifier} name={this.name} onSubmit={this.handleFormSubmit} role={this.ariaRole}>\n {this.requiredMessageText && <p innerHTML={this.requiredMessageText}></p>}\n <slot></slot>\n {!this.readonly && !this.disabled && <slot name=\"actions\"></slot>}\n </form>\n );\n }\n}\n"],"version":3}
@@ -4,5 +4,6 @@ const MgIcon = MgIcon$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgIcon, defineCustomElement };
7
+ //# sourceMappingURL=mg-icon.js.map
7
8
 
8
9
  //# sourceMappingURL=mg-icon.js.map