@mgdis/mg-components 6.13.0 → 6.14.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 (419) hide show
  1. package/dist/cjs/events.utils-D5SAtkpQ.js +0 -3
  2. package/dist/cjs/{index-DyUB3KmT.js → index-CwjAofQ1.js} +1 -4
  3. package/dist/cjs/index-DUJwxnoi.js +0 -3
  4. package/dist/cjs/{index-CATFkm3O.js → index-DzBkSgSK.js} +224 -122
  5. package/dist/cjs/index.cjs.js +0 -3
  6. package/dist/cjs/loader.cjs.js +3 -7
  7. package/dist/cjs/mg-action-more_37.cjs.entry.js +160 -88
  8. package/dist/cjs/mg-alert.cjs.entry.js +6 -9
  9. package/dist/cjs/mg-components.cjs.js +4 -8
  10. package/dist/cjs/mg-input-combobox.cjs.entry.js +9 -12
  11. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +5 -8
  12. package/dist/cjs/mg-input.conf-WTsvDfpC.js +0 -3
  13. package/dist/cjs/mg-loader.cjs.entry.js +2 -5
  14. package/dist/cjs/mg-progress.cjs.entry.js +1 -4
  15. package/dist/collection/assets/icons/index.js +0 -1
  16. package/dist/collection/collection-manifest.json +1 -1
  17. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js +3 -4
  18. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js +4 -5
  19. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js +0 -1
  20. package/dist/collection/components/atoms/mg-badge/mg-badge.js +4 -5
  21. package/dist/collection/components/atoms/mg-button/mg-button.conf.js +0 -1
  22. package/dist/collection/components/atoms/mg-button/mg-button.js +9 -10
  23. package/dist/collection/components/atoms/mg-card/mg-card.conf.js +4 -0
  24. package/dist/collection/components/atoms/mg-card/mg-card.js +104 -2
  25. package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -2
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +0 -1
  27. package/dist/collection/components/atoms/mg-icon/mg-icon.js +6 -7
  28. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js +0 -1
  29. package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -4
  30. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +1 -2
  31. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +0 -1
  32. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +5 -6
  33. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +0 -1
  34. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +33 -18
  35. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +0 -1
  36. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +7 -6
  37. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +0 -1
  38. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +28 -22
  39. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +0 -1
  40. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +22 -20
  41. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +0 -1
  42. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +17 -18
  43. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +0 -1
  44. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +26 -27
  45. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +18 -19
  46. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js +0 -1
  47. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +17 -17
  48. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js +0 -1
  49. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +18 -18
  50. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js +0 -1
  51. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +38 -32
  52. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +0 -1
  53. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +25 -25
  54. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +23 -24
  55. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js +0 -1
  56. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +15 -15
  57. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js +0 -1
  58. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +4 -3
  59. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js +0 -1
  60. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +4 -4
  61. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js +0 -1
  62. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +5 -6
  63. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +0 -1
  64. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +5 -3
  65. package/dist/collection/components/molecules/mg-alert/mg-alert.conf.js +0 -1
  66. package/dist/collection/components/molecules/mg-alert/mg-alert.js +7 -8
  67. package/dist/collection/components/molecules/mg-details/mg-details.js +4 -5
  68. package/dist/collection/components/molecules/mg-form/mg-form.conf.js +0 -1
  69. package/dist/collection/components/molecules/mg-form/mg-form.js +9 -10
  70. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js +0 -1
  71. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +2 -3
  72. package/dist/collection/components/molecules/mg-loader/mg-loader.js +2 -3
  73. package/dist/collection/components/molecules/mg-message/mg-message.conf.js +0 -1
  74. package/dist/collection/components/molecules/mg-message/mg-message.js +4 -5
  75. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js +0 -1
  76. package/dist/collection/components/molecules/mg-modal/mg-modal.js +6 -7
  77. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +0 -1
  78. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +7 -7
  79. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js +0 -1
  80. package/dist/collection/components/molecules/mg-panel/mg-panel.js +34 -11
  81. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +2 -3
  82. package/dist/collection/components/molecules/mg-popover/mg-popover.js +6 -7
  83. package/dist/collection/components/molecules/mg-progress/mg-progress.conf.js +0 -1
  84. package/dist/collection/components/molecules/mg-progress/mg-progress.js +5 -6
  85. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js +0 -1
  86. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +5 -4
  87. package/dist/collection/components/molecules/mg-table/mg-table.conf.js +0 -1
  88. package/dist/collection/components/molecules/mg-table/mg-table.js +4 -4
  89. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +0 -1
  90. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +6 -6
  91. package/dist/collection/index.js +0 -1
  92. package/dist/collection/locales/index.conf.js +0 -1
  93. package/dist/collection/locales/index.js +0 -1
  94. package/dist/collection/types/index.js +0 -1
  95. package/dist/collection/utils/behaviors.utils.js +0 -1
  96. package/dist/collection/utils/events.utils.js +0 -1
  97. package/dist/collection/utils/playwright.fixture.js +0 -1
  98. package/dist/collection/utils/unit.test.utils.js +0 -1
  99. package/dist/components/events.utils.js +0 -3
  100. package/dist/components/index.js +1 -4
  101. package/dist/components/index2.js +0 -3
  102. package/dist/components/index3.js +1 -4
  103. package/dist/components/mg-action-more.js +0 -3
  104. package/dist/components/mg-alert.js +4 -7
  105. package/dist/components/mg-badge.js +0 -3
  106. package/dist/components/mg-badge2.js +0 -3
  107. package/dist/components/mg-button.js +0 -3
  108. package/dist/components/mg-button2.js +0 -3
  109. package/dist/components/mg-card.js +0 -3
  110. package/dist/components/mg-card2.js +55 -6
  111. package/dist/components/mg-character-left.js +0 -3
  112. package/dist/components/mg-character-left2.js +0 -3
  113. package/dist/components/mg-details.js +0 -3
  114. package/dist/components/mg-divider.js +0 -3
  115. package/dist/components/mg-divider2.js +0 -3
  116. package/dist/components/mg-form.js +0 -3
  117. package/dist/components/mg-icon.js +0 -3
  118. package/dist/components/mg-icon2.js +0 -3
  119. package/dist/components/mg-illustrated-message.js +0 -3
  120. package/dist/components/mg-input-checkbox-paginated.js +0 -3
  121. package/dist/components/mg-input-checkbox-paginated2.js +0 -3
  122. package/dist/components/mg-input-checkbox.js +9 -6
  123. package/dist/components/mg-input-combobox.js +2 -5
  124. package/dist/components/mg-input-date.js +2 -5
  125. package/dist/components/mg-input-numeric.js +2 -5
  126. package/dist/components/mg-input-password.js +2 -5
  127. package/dist/components/mg-input-radio.js +2 -5
  128. package/dist/components/mg-input-rich-text-editor.js +1 -4
  129. package/dist/components/mg-input-select.js +0 -3
  130. package/dist/components/mg-input-select2.js +19 -16
  131. package/dist/components/mg-input-text.js +0 -3
  132. package/dist/components/mg-input-text2.js +2 -5
  133. package/dist/components/mg-input-textarea.js +2 -5
  134. package/dist/components/mg-input-title.js +0 -3
  135. package/dist/components/mg-input-title2.js +0 -3
  136. package/dist/components/mg-input-toggle.js +2 -5
  137. package/dist/components/mg-input.js +0 -3
  138. package/dist/components/mg-input2.js +16 -6
  139. package/dist/components/mg-item-more.js +0 -3
  140. package/dist/components/mg-item-more2.js +0 -3
  141. package/dist/components/mg-loader.js +0 -3
  142. package/dist/components/mg-loader2.js +0 -3
  143. package/dist/components/mg-menu-item.js +0 -3
  144. package/dist/components/mg-menu-item2.js +0 -3
  145. package/dist/components/mg-menu.js +0 -3
  146. package/dist/components/mg-message.js +0 -3
  147. package/dist/components/mg-message2.js +2 -5
  148. package/dist/components/mg-modal.js +1 -4
  149. package/dist/components/mg-pagination.js +0 -3
  150. package/dist/components/mg-pagination2.js +0 -3
  151. package/dist/components/mg-panel.js +7 -5
  152. package/dist/components/mg-popover-content.js +0 -3
  153. package/dist/components/mg-popover-content2.js +2 -5
  154. package/dist/components/mg-popover.js +0 -3
  155. package/dist/components/mg-popover2.js +0 -3
  156. package/dist/components/mg-progress.js +0 -3
  157. package/dist/components/mg-skip-links.js +4 -6
  158. package/dist/components/mg-table.js +2 -5
  159. package/dist/components/mg-tabs.js +1 -4
  160. package/dist/components/mg-tag.js +0 -3
  161. package/dist/components/mg-tooltip-content.js +0 -3
  162. package/dist/components/mg-tooltip-content2.js +0 -3
  163. package/dist/components/mg-tooltip.js +0 -3
  164. package/dist/components/mg-tooltip2.js +0 -3
  165. package/dist/components/popper.js +0 -3
  166. package/dist/esm/events.utils-yMGqY8YG.js +0 -3
  167. package/dist/esm/{index-CwZ2wzxw.js → index-Bv7NHR-W.js} +1 -4
  168. package/dist/esm/{index-CAuxALt5.js → index-Degtjvph.js} +205 -122
  169. package/dist/esm/index-Dr7GYvIz.js +0 -3
  170. package/dist/esm/index.js +0 -3
  171. package/dist/esm/loader.js +3 -7
  172. package/dist/esm/mg-action-more_37.entry.js +160 -88
  173. package/dist/esm/mg-alert.entry.js +6 -9
  174. package/dist/esm/mg-components.js +4 -8
  175. package/dist/esm/mg-input-combobox.entry.js +9 -12
  176. package/dist/esm/mg-input-rich-text-editor.entry.js +5 -8
  177. package/dist/esm/mg-input.conf-CNgv8hc5.js +0 -3
  178. package/dist/esm/mg-loader.entry.js +2 -5
  179. package/dist/esm/mg-progress.entry.js +1 -4
  180. package/dist/mg-components/index.esm.js +0 -2
  181. package/dist/mg-components/mg-components.css +1 -1
  182. package/dist/mg-components/mg-components.esm.js +1 -2
  183. package/dist/mg-components/p-056ba467.entry.js +1 -0
  184. package/dist/mg-components/p-625c463c.entry.js +1 -0
  185. package/dist/mg-components/p-Bv7NHR-W.js +1 -0
  186. package/dist/mg-components/p-CNgv8hc5.js +1 -2
  187. package/dist/mg-components/p-Degtjvph.js +2 -0
  188. package/dist/mg-components/p-Dr7GYvIz.js +1 -2
  189. package/dist/mg-components/p-c522f3c1.entry.js +1 -0
  190. package/dist/mg-components/p-cac23bd7.entry.js +1 -0
  191. package/dist/mg-components/p-d13a6fdc.entry.js +1 -0
  192. package/dist/mg-components/p-e75f5383.entry.js +10 -0
  193. package/dist/mg-components/p-yMGqY8YG.js +1 -2
  194. package/dist/types/components/atoms/mg-card/mg-card.conf.d.ts +9 -0
  195. package/dist/types/components/atoms/mg-card/mg-card.d.ts +20 -0
  196. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +1 -1
  197. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +5 -4
  198. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +4 -0
  199. package/dist/types/components.d.ts +406 -3
  200. package/dist/types/stencil-public-runtime.d.ts +34 -6
  201. package/ide/intellij/web-types.json +263 -35
  202. package/ide/vscode/css-custom-data.json +3 -3
  203. package/ide/vscode/html-custom-data.json +88 -34
  204. package/package.json +17 -22
  205. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  206. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  207. package/dist/cjs/events.utils-D5SAtkpQ.js.map +0 -1
  208. package/dist/cjs/index-CATFkm3O.js.map +0 -1
  209. package/dist/cjs/index-DUJwxnoi.js.map +0 -1
  210. package/dist/cjs/index-DyUB3KmT.js.map +0 -1
  211. package/dist/cjs/index.cjs.js.map +0 -1
  212. package/dist/cjs/loader.cjs.js.map +0 -1
  213. package/dist/cjs/mg-action-more_37.cjs.entry.js.map +0 -1
  214. package/dist/cjs/mg-alert.cjs.entry.js.map +0 -1
  215. package/dist/cjs/mg-alert.entry.cjs.js.map +0 -1
  216. package/dist/cjs/mg-components.cjs.js.map +0 -1
  217. package/dist/cjs/mg-input-combobox.cjs.entry.js.map +0 -1
  218. package/dist/cjs/mg-input-combobox.entry.cjs.js.map +0 -1
  219. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +0 -1
  220. package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +0 -1
  221. package/dist/cjs/mg-input.conf-WTsvDfpC.js.map +0 -1
  222. package/dist/cjs/mg-loader.cjs.entry.js.map +0 -1
  223. package/dist/cjs/mg-loader.entry.cjs.js.map +0 -1
  224. package/dist/cjs/mg-progress.cjs.entry.js.map +0 -1
  225. package/dist/cjs/mg-progress.entry.cjs.js.map +0 -1
  226. package/dist/collection/assets/icons/index.js.map +0 -1
  227. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js.map +0 -1
  228. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js.map +0 -1
  229. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js.map +0 -1
  230. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +0 -1
  231. package/dist/collection/components/atoms/mg-button/mg-button.conf.js.map +0 -1
  232. package/dist/collection/components/atoms/mg-button/mg-button.js.map +0 -1
  233. package/dist/collection/components/atoms/mg-card/mg-card.js.map +0 -1
  234. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +0 -1
  235. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js.map +0 -1
  236. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +0 -1
  237. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js.map +0 -1
  238. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +0 -1
  239. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +0 -1
  240. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +0 -1
  241. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +0 -1
  242. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js.map +0 -1
  243. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +0 -1
  244. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +0 -1
  245. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +0 -1
  246. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +0 -1
  247. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +0 -1
  248. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +0 -1
  249. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +0 -1
  250. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +0 -1
  251. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +0 -1
  252. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +0 -1
  253. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +0 -1
  254. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +0 -1
  255. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js.map +0 -1
  256. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +0 -1
  257. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js.map +0 -1
  258. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +0 -1
  259. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js.map +0 -1
  260. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +0 -1
  261. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +0 -1
  262. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +0 -1
  263. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +0 -1
  264. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js.map +0 -1
  265. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +0 -1
  266. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js.map +0 -1
  267. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js.map +0 -1
  268. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js.map +0 -1
  269. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +0 -1
  270. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js.map +0 -1
  271. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +0 -1
  272. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +0 -1
  273. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +0 -1
  274. package/dist/collection/components/molecules/mg-alert/mg-alert.conf.js.map +0 -1
  275. package/dist/collection/components/molecules/mg-alert/mg-alert.js.map +0 -1
  276. package/dist/collection/components/molecules/mg-details/mg-details.js.map +0 -1
  277. package/dist/collection/components/molecules/mg-form/mg-form.conf.js.map +0 -1
  278. package/dist/collection/components/molecules/mg-form/mg-form.js.map +0 -1
  279. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js.map +0 -1
  280. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +0 -1
  281. package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +0 -1
  282. package/dist/collection/components/molecules/mg-message/mg-message.conf.js.map +0 -1
  283. package/dist/collection/components/molecules/mg-message/mg-message.js.map +0 -1
  284. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js.map +0 -1
  285. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +0 -1
  286. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +0 -1
  287. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +0 -1
  288. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js.map +0 -1
  289. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +0 -1
  290. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +0 -1
  291. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +0 -1
  292. package/dist/collection/components/molecules/mg-progress/mg-progress.conf.js.map +0 -1
  293. package/dist/collection/components/molecules/mg-progress/mg-progress.js.map +0 -1
  294. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js.map +0 -1
  295. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +0 -1
  296. package/dist/collection/components/molecules/mg-table/mg-table.conf.js.map +0 -1
  297. package/dist/collection/components/molecules/mg-table/mg-table.js.map +0 -1
  298. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +0 -1
  299. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +0 -1
  300. package/dist/collection/index.js.map +0 -1
  301. package/dist/collection/locales/index.conf.js.map +0 -1
  302. package/dist/collection/locales/index.js.map +0 -1
  303. package/dist/collection/types/index.js.map +0 -1
  304. package/dist/collection/utils/behaviors.utils.js.map +0 -1
  305. package/dist/collection/utils/events.utils.js.map +0 -1
  306. package/dist/collection/utils/playwright.fixture.js.map +0 -1
  307. package/dist/collection/utils/unit.test.utils.js.map +0 -1
  308. package/dist/components/events.utils.js.map +0 -1
  309. package/dist/components/index.js.map +0 -1
  310. package/dist/components/index2.js.map +0 -1
  311. package/dist/components/index3.js.map +0 -1
  312. package/dist/components/mg-action-more.js.map +0 -1
  313. package/dist/components/mg-alert.js.map +0 -1
  314. package/dist/components/mg-badge.js.map +0 -1
  315. package/dist/components/mg-badge2.js.map +0 -1
  316. package/dist/components/mg-button.js.map +0 -1
  317. package/dist/components/mg-button2.js.map +0 -1
  318. package/dist/components/mg-card.js.map +0 -1
  319. package/dist/components/mg-card2.js.map +0 -1
  320. package/dist/components/mg-character-left.js.map +0 -1
  321. package/dist/components/mg-character-left2.js.map +0 -1
  322. package/dist/components/mg-details.js.map +0 -1
  323. package/dist/components/mg-divider.js.map +0 -1
  324. package/dist/components/mg-divider2.js.map +0 -1
  325. package/dist/components/mg-form.js.map +0 -1
  326. package/dist/components/mg-icon.js.map +0 -1
  327. package/dist/components/mg-icon2.js.map +0 -1
  328. package/dist/components/mg-illustrated-message.js.map +0 -1
  329. package/dist/components/mg-input-checkbox-paginated.js.map +0 -1
  330. package/dist/components/mg-input-checkbox-paginated2.js.map +0 -1
  331. package/dist/components/mg-input-checkbox.js.map +0 -1
  332. package/dist/components/mg-input-combobox.js.map +0 -1
  333. package/dist/components/mg-input-date.js.map +0 -1
  334. package/dist/components/mg-input-numeric.js.map +0 -1
  335. package/dist/components/mg-input-password.js.map +0 -1
  336. package/dist/components/mg-input-radio.js.map +0 -1
  337. package/dist/components/mg-input-rich-text-editor.js.map +0 -1
  338. package/dist/components/mg-input-select.js.map +0 -1
  339. package/dist/components/mg-input-select2.js.map +0 -1
  340. package/dist/components/mg-input-text.js.map +0 -1
  341. package/dist/components/mg-input-text2.js.map +0 -1
  342. package/dist/components/mg-input-textarea.js.map +0 -1
  343. package/dist/components/mg-input-title.js.map +0 -1
  344. package/dist/components/mg-input-title2.js.map +0 -1
  345. package/dist/components/mg-input-toggle.js.map +0 -1
  346. package/dist/components/mg-input.js.map +0 -1
  347. package/dist/components/mg-input2.js.map +0 -1
  348. package/dist/components/mg-item-more.js.map +0 -1
  349. package/dist/components/mg-item-more2.js.map +0 -1
  350. package/dist/components/mg-loader.js.map +0 -1
  351. package/dist/components/mg-loader2.js.map +0 -1
  352. package/dist/components/mg-menu-item.js.map +0 -1
  353. package/dist/components/mg-menu-item2.js.map +0 -1
  354. package/dist/components/mg-menu.js.map +0 -1
  355. package/dist/components/mg-message.js.map +0 -1
  356. package/dist/components/mg-message2.js.map +0 -1
  357. package/dist/components/mg-modal.js.map +0 -1
  358. package/dist/components/mg-pagination.js.map +0 -1
  359. package/dist/components/mg-pagination2.js.map +0 -1
  360. package/dist/components/mg-panel.js.map +0 -1
  361. package/dist/components/mg-popover-content.js.map +0 -1
  362. package/dist/components/mg-popover-content2.js.map +0 -1
  363. package/dist/components/mg-popover.js.map +0 -1
  364. package/dist/components/mg-popover2.js.map +0 -1
  365. package/dist/components/mg-progress.js.map +0 -1
  366. package/dist/components/mg-skip-links.js.map +0 -1
  367. package/dist/components/mg-table.js.map +0 -1
  368. package/dist/components/mg-tabs.js.map +0 -1
  369. package/dist/components/mg-tag.js.map +0 -1
  370. package/dist/components/mg-tooltip-content.js.map +0 -1
  371. package/dist/components/mg-tooltip-content2.js.map +0 -1
  372. package/dist/components/mg-tooltip.js.map +0 -1
  373. package/dist/components/mg-tooltip2.js.map +0 -1
  374. package/dist/components/popper.js.map +0 -1
  375. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  376. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  377. package/dist/esm/events.utils-yMGqY8YG.js.map +0 -1
  378. package/dist/esm/index-CAuxALt5.js.map +0 -1
  379. package/dist/esm/index-CwZ2wzxw.js.map +0 -1
  380. package/dist/esm/index-Dr7GYvIz.js.map +0 -1
  381. package/dist/esm/index.js.map +0 -1
  382. package/dist/esm/loader.js.map +0 -1
  383. package/dist/esm/mg-action-more_37.entry.js.map +0 -1
  384. package/dist/esm/mg-alert.entry.js.map +0 -1
  385. package/dist/esm/mg-components.js.map +0 -1
  386. package/dist/esm/mg-input-combobox.entry.js.map +0 -1
  387. package/dist/esm/mg-input-rich-text-editor.entry.js.map +0 -1
  388. package/dist/esm/mg-input.conf-CNgv8hc5.js.map +0 -1
  389. package/dist/esm/mg-loader.entry.js.map +0 -1
  390. package/dist/esm/mg-progress.entry.js.map +0 -1
  391. package/dist/mg-components/index.esm.js.map +0 -1
  392. package/dist/mg-components/loader.esm.js.map +0 -1
  393. package/dist/mg-components/mg-alert.entry.esm.js.map +0 -1
  394. package/dist/mg-components/mg-components.esm.js.map +0 -1
  395. package/dist/mg-components/mg-input-combobox.entry.esm.js.map +0 -1
  396. package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +0 -1
  397. package/dist/mg-components/mg-loader.entry.esm.js.map +0 -1
  398. package/dist/mg-components/mg-progress.entry.esm.js.map +0 -1
  399. package/dist/mg-components/p-3e92299a.entry.js +0 -2
  400. package/dist/mg-components/p-3e92299a.entry.js.map +0 -1
  401. package/dist/mg-components/p-CAuxALt5.js +0 -3
  402. package/dist/mg-components/p-CAuxALt5.js.map +0 -1
  403. package/dist/mg-components/p-CNgv8hc5.js.map +0 -1
  404. package/dist/mg-components/p-CwZ2wzxw.js +0 -2
  405. package/dist/mg-components/p-CwZ2wzxw.js.map +0 -1
  406. package/dist/mg-components/p-DQuL1Twl.js +0 -2
  407. package/dist/mg-components/p-DQuL1Twl.js.map +0 -1
  408. package/dist/mg-components/p-Dr7GYvIz.js.map +0 -1
  409. package/dist/mg-components/p-c907ddac.entry.js +0 -2
  410. package/dist/mg-components/p-c907ddac.entry.js.map +0 -1
  411. package/dist/mg-components/p-d711941b.entry.js +0 -2
  412. package/dist/mg-components/p-d711941b.entry.js.map +0 -1
  413. package/dist/mg-components/p-da1e7950.entry.js +0 -2
  414. package/dist/mg-components/p-da1e7950.entry.js.map +0 -1
  415. package/dist/mg-components/p-e7a7c651.entry.js +0 -11
  416. package/dist/mg-components/p-e7a7c651.entry.js.map +0 -1
  417. package/dist/mg-components/p-fea46548.entry.js +0 -2
  418. package/dist/mg-components/p-fea46548.entry.js.map +0 -1
  419. package/dist/mg-components/p-yMGqY8YG.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mg-skip-links.js","sourceRoot":"","sources":["../../../../src/components/molecules/mg-skip-links/mg-skip-links.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAOlE,MAAM,OAAO,WAAW;IALxB;QAqCE;;oBAEY;QAEZ;;;WAGG;QACK,oBAAe,GAAG,CAAC,KAAkD,EAAQ,EAAE;YACrF,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;KAiCH;IAvDC,aAAa,CAAC,KAAiB;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3J,MAAM,IAAI,KAAK,CAAC,yIAAyI,CAAC,CAAC;QAC7J,CAAC;IACH,CAAC;IAoBD;;mBAEe;IAEf;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,YAAY,gBAAa,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;YACzF,2DAAI,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,MAAM,IAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtB,UAAI,GAAG,EAAE,IAAI,CAAC,IAAI;gBAChB,SAAG,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,IAC5E,IAAI,CAAC,KAAK,CACT,CACD,CACN,CAAC,CACC,CACD,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { SkipLink } from './mg-skip-links.conf';\nimport { initLocales } from '../../../locales';\nimport { isValidString } from '@mgdis/core-ui-helpers/dist/utils';\n\n@Component({\n tag: 'mg-skip-links',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-skip-links.css',\n shadow: true,\n})\nexport class MgSkipLinks {\n /************\n * Internal *\n ************/\n\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgSkipLinksElement;\n\n /**\n * Skip links\n */\n @Prop() links: SkipLink[];\n @Watch('links')\n validateLinks(links: SkipLink[]): void {\n if (links === undefined || links.length === 0 || links.some(link => !isValidString(link.href) || !link.href.startsWith('#') || !isValidString(link.label))) {\n throw new Error(`<mg-skip-links> prop \"links\": Cannot be empty and each link must contains an href starting with a \"#\" and a non empty label attributes.`);\n }\n }\n\n /**\n * Emited event when link is clicked\n */\n @Event({ eventName: 'go-to-anchor' }) goToAnchor: EventEmitter<string>;\n\n /***********\n * Methods *\n **********/\n\n /**\n * Handle link click and emit go-to-anchor event\n * @param event - mouse event\n */\n private handleLinkCLick = (event: MouseEvent & { currentTarget: HTMLElement }): void => {\n event.currentTarget.blur();\n this.goToAnchor.emit(event.currentTarget.getAttribute('href'));\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateLinks(this.links);\n this.messages = initLocales(this.element).messages;\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <nav class=\"mg-c-skip-links\" role=\"navigation\" aria-label={this.messages.skipLinks.navLabel}>\n <ul class=\"mg-c-skip-links__list\" role=\"list\">\n {this.links.map(link => (\n <li key={link.href}>\n <a class=\"mg-c-skip-links__link\" href={link.href} onClick={this.handleLinkCLick}>\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </nav>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mg-table.conf.js","sourceRoot":"","sources":["../../../../src/components/molecules/mg-table/mg-table.conf.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,wBAAwB;AACxB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGrE;;GAEG;AACH,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AACnE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC","sourcesContent":["import type { Size } from '../../../types';\n/**\n * Sizes\n */\n// Define possible sizes\nexport const sizes = ['small', 'medium', 'large', 'xlarge'] as const;\n// Define Table size type and ensure it is a valid size\nexport type TableSizeType = Size & (typeof sizes)[number];\n/**\n * Columns\n */\n// Define possible text alignments\nexport const textAlignments = ['left', 'center', 'right'] as const;\n// Define possible data types\nexport const dataTypes = ['string', 'numeric', 'date'] as const;\n// Define possible data types\nexport type datatypesType = (typeof dataTypes)[number];\n// Define columns type\nexport type ColumnsType = {\n [key: number]: { align?: (typeof textAlignments)[number]; sortable?: boolean; datatype?: datatypesType };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mg-table.js","sourceRoot":"","sources":["../../../../src/components/molecules/mg-table/mg-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, State, Prop, Watch } from '@stencil/core';\nimport { ClassList, toString, createID, isValidString } from '@mgdis/core-ui-helpers/dist/utils';\nimport { type TableSizeType, type ColumnsType, type datatypesType, textAlignments, dataTypes, sizes } from './mg-table.conf';\nimport { initLocales } from '../../../locales';\n\n/**\n * Check if value is a valid align object\n * @param newValue - New value\n * @returns True if value is a valid align object\n */\nconst isValidColumnsObject = (newValue: ColumnsType): boolean =>\n // ensure newValue is an object\n typeof newValue === 'object' &&\n !Array.isArray(newValue) &&\n // Ensure every property is well formatted\n Object.entries(newValue).every(\n ([key, value]) =>\n // ensure key is a number\n !isNaN(parseInt(key)) &&\n // ensure value is an object\n typeof value === 'object' &&\n !Array.isArray(value) &&\n // ensure value has at least one of the following properties\n ((value.align !== undefined && textAlignments.includes(value.align)) ||\n (value.sortable !== undefined && typeof value.sortable === 'boolean') ||\n (value.datatype !== undefined && dataTypes.includes(value.datatype))) &&\n // ensure no extra properties are present\n Object.keys(value).every(key => ['align', 'sortable', 'datatype'].includes(key)),\n );\n\n/**\n * Compare values\n * @param firstValue - First value\n * @param secondValue - Second value\n * @param descending - Define descending order\n * @param datatype - Data type\n * @returns Comparison result\n * @example\n * compareValues('a', 'b', false, 'string'); // -1\n */\nconst compareValues = (firstValue: string, secondValue: string, descending: boolean, datatype: datatypesType): number => {\n if (descending) {\n const temp = firstValue;\n firstValue = secondValue;\n secondValue = temp;\n }\n if (datatype === 'date') {\n return new Date(firstValue).getTime() - new Date(secondValue).getTime();\n }\n return firstValue.localeCompare(secondValue, undefined, { numeric: datatype === 'numeric' });\n};\n\n/**\n * @slot - Table content\n */\n@Component({\n tag: 'mg-table',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-table.css',\n shadow: true,\n})\nexport class MgTable {\n /************\n * Internal *\n ************/\n\n private messages;\n\n // Classes\n private readonly componentClass = 'mg-c-table';\n private readonly componentWrapperClass = 'mg-c-table-wrapper';\n private readonly classFullWidth = 'mg-c-table--full-width';\n\n // Alignment stylesheet\n private alignmentStylesheet = new CSSStyleSheet();\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgTableElement;\n\n /**\n * Define table size\n */\n @Prop() size: TableSizeType = 'medium';\n @Watch('size')\n watchSize(newValue: MgTable['size'], oldValue?: MgTable['size']): void {\n if (!sizes.includes(newValue)) {\n throw new Error(`<mg-table> prop \"size\" must be one of: ${sizes.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-table--size-${oldValue}`);\n }\n this.classCollection.add(`mg-c-table--size-${newValue}`);\n }\n }\n\n /**\n * Define if table fits its parent element\n */\n @Prop() fullWidth = false;\n @Watch('fullWidth')\n watchFullWidth(newValue: MgTable['fullWidth']): void {\n if (newValue) {\n this.classCollection.add(this.classFullWidth);\n } else {\n this.classCollection.delete(this.classFullWidth);\n }\n }\n\n /**\n * Define column properties\n */\n @Prop() columns: ColumnsType;\n @Watch('columns')\n watchColumns(newValue: ColumnsType): void {\n if (newValue !== undefined && !isValidColumnsObject(newValue)) {\n throw new Error(`<mg-table> prop \"columns\" must be a ColumnsType object. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Class collection\n */\n @State() classCollection: ClassList = new ClassList([this.componentClass]);\n\n /**\n * Render Table\n * @param table - Table element\n */\n private renderTable(table: HTMLTableElement): void {\n let isSortable = false;\n // Remove table classes\n table.className = '';\n // Add table classes\n table.classList.add(...this.classCollection.classes);\n\n // Set columns based on columns prop\n if (this.columns !== undefined) {\n // Store original rows\n const rowsDefault = Array.from(table.querySelectorAll('tbody tr'));\n\n // Apply columns settings\n Object.entries(this.columns).forEach(([key, value]) => {\n // Add alignment to stylesheet\n if (value.align !== undefined) {\n this.alignmentStylesheet.insertRule(`.${this.componentClass}{th:nth-child(${key}),td:nth-child(${key}){text-align:${value.align}}}`);\n }\n // if align is not defined and datatype is number, align right\n else if (value.datatype === 'numeric') {\n this.alignmentStylesheet.insertRule(`.${this.componentClass}{th:nth-child(${key}),td:nth-child(${key}){text-align:right}}`);\n }\n\n // Define if column is sortable\n if (value.sortable) {\n isSortable = true;\n // Add sortable class to table header\n const sortableHeader = table.querySelector(`thead td:nth-child(${key}),thead th:nth-child(${key})`);\n\n // Create button\n const button = document.createElement('button');\n button.classList.add('mg-c-table__sort-button');\n\n // Append button to header\n const sortableHeaderContent = sortableHeader.innerHTML;\n sortableHeader.innerHTML = '';\n button.innerHTML = sortableHeaderContent;\n\n // Set icon\n const icon = document.createElement('mg-icon');\n icon.setAttribute('icon', 'arrows-up-down');\n\n // Append icon to button\n button.append(icon);\n sortableHeader.append(button);\n\n // Add event listener\n button.addEventListener('click', (): void => {\n // Reset aria pressed\n table.querySelectorAll(`thead td:not(:nth-child(${key})) [aria-pressed],thead th:not(:nth-child(${key})) [aria-pressed]`).forEach(ariaPressed => {\n ariaPressed.removeAttribute('aria-pressed');\n ariaPressed.querySelector('mg-icon').setAttribute('icon', 'arrows-up-down');\n });\n // Reset aria sort\n table.querySelectorAll(`thead td:not(:nth-child(${key}))[aria-sort],thead th:not(:nth-child(${key}))[aria-sort]`).forEach(ariaSort => {\n ariaSort.removeAttribute('aria-sort');\n });\n\n // Set aria pressed\n button.setAttribute('aria-pressed', 'true');\n\n // Manage sort order\n // Get sort order\n let sortOrder = sortableHeader.getAttribute('aria-sort');\n\n // First click sort asc\n if ([null, 'none'].includes(sortOrder)) {\n sortableHeader.setAttribute('aria-sort', 'ascending');\n }\n // Second click sort desc\n else if (sortOrder === 'ascending') {\n sortableHeader.setAttribute('aria-sort', 'descending');\n }\n // Third click remove sort\n else {\n sortableHeader.setAttribute('aria-sort', 'none');\n }\n\n // Update sort order\n sortOrder = sortableHeader.getAttribute('aria-sort');\n\n // Update button icon\n const icon = button.querySelector('mg-icon');\n let iconType = 'arrows-up-down';\n if (sortOrder === 'ascending') {\n iconType = 'arrow-up';\n } else if (sortOrder === 'descending') {\n iconType = 'arrow-down';\n }\n icon.setAttribute('icon', iconType);\n\n // If sort order is none, return to original order\n if (sortOrder === 'none') {\n // Append rows to table\n rowsDefault.forEach(row => table.querySelector('tbody').append(row));\n return;\n }\n\n // Set a copy of rows\n const rows = Array.from(table.querySelectorAll('tbody tr'));\n\n // Sort rows\n rows.sort((a, b) => {\n // Get cells\n const cellA: HTMLTableCellElement = a.querySelector(`td:nth-child(${key}),th:nth-child(${key})`);\n const cellB: HTMLTableCellElement = b.querySelector(`td:nth-child(${key}),th:nth-child(${key})`);\n\n // Get cell values\n const cellValueA = cellA.dataset.sort ?? cellA.textContent;\n const cellValueB = cellB.dataset.sort ?? cellB.textContent;\n\n // Sort cells based on sort order\n return compareValues(cellValueA, cellValueB, sortOrder === 'descending', value.datatype);\n });\n\n // Append rows to table\n rows.forEach(row => table.querySelector('tbody').append(row));\n });\n }\n });\n }\n\n // Add alignment to columns\n this.element.shadowRoot.adoptedStyleSheets = [...this.element.shadowRoot.adoptedStyleSheets, this.alignmentStylesheet];\n\n // Create div wrapper for responsive behavior\n const divWrapper = document.createElement('div');\n divWrapper.setAttribute('class', this.componentWrapperClass);\n divWrapper.setAttribute('tabindex', '0');\n divWrapper.setAttribute('role', 'region');\n\n // Get table title\n let captionTable = table.querySelector('caption');\n\n // If table is sortable we must add a caption\n if (captionTable === null && isSortable) {\n captionTable = document.createElement('caption');\n table.prepend(captionTable);\n }\n\n if (captionTable !== null) {\n // Ensure caption is not visible (otherwhise the table does not have rounded corners)\n captionTable.className = 'mg-u-visually-hidden';\n\n // Link caption to div\n if (!isValidString(captionTable.id)) {\n captionTable.setAttribute('id', createID(`${this.componentClass}-caption`));\n }\n divWrapper.setAttribute('aria-labelledby', captionTable.id);\n\n // Add sortable caption if neeeded\n if (isSortable) {\n captionTable.innerHTML = `${captionTable.innerHTML} ${this.messages.table.sortableCaption}`.trim();\n }\n }\n divWrapper.append(table);\n\n // Remove existing table from shadow root\n const existingTable = this.element.shadowRoot.querySelector(`.${this.componentWrapperClass}`);\n if (existingTable !== null) {\n existingTable.remove();\n }\n // Append table\n this.element.shadowRoot.append(divWrapper);\n }\n\n /*************\n * Lifecycle *\n *************/\n\n componentWillLoad(): void {\n this.messages = initLocales(this.element).messages;\n }\n\n /**\n * Set variables and validate props\n */\n componentDidLoad(): void {\n this.watchSize(this.size);\n this.watchFullWidth(this.fullWidth);\n this.watchColumns(this.columns);\n this.renderTable(this.element.querySelector('table'));\n }\n\n /**\n * Update table\n */\n componentWillUpdate(): void {\n this.renderTable(this.element.shadowRoot.querySelector('table'));\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mg-tabs.conf.js","sourceRoot":"","sources":["../../../../src/components/molecules/mg-tabs/mg-tabs.conf.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAA+B;IAChD,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAaF;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC","sourcesContent":["import type { Size, Status as StatusType } from '../../../types';\nimport type { MgBadge } from '../../atoms/mg-badge/mg-badge';\nimport type { MgIcon } from '../../atoms/mg-icon/mg-icon';\n\n/**\n * Available tabs items status\n */\nexport const Status: Record<string, StatusType> = {\n VISIBLE: 'visible',\n HIDDEN: 'hidden',\n DISABLED: 'disabled',\n ACTIVE: 'active',\n};\n\n/**\n * type TabItem\n * use to match tabs items\n */\nexport type TabItem = {\n label: string;\n icon?: MgIcon['icon'];\n badge?: Pick<MgBadge, 'value' | 'variant' | 'label'> & { role: 'notification' | 'information' };\n status: StatusType;\n};\n\n/**\n * List of all possibles sizes\n */\nexport const sizes = ['medium', 'large'] as const;\n\n/**\n * Variant type from variants\n */\nexport type SizeType = Size & (typeof sizes)[number];\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mg-tabs.js","sourceRoot":"","sources":["../../../../src/components/molecules/mg-tabs/mg-tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State, Element, Watch } from '@stencil/core';\nimport { createID, ClassList, allItemsAreString, isValidString, nextTick, toString, isValideID } from '@mgdis/core-ui-helpers/dist/utils';\nimport { TabItem, sizes, Status, SizeType } from './mg-tabs.conf';\nimport { Keys } from '../../../utils/events.utils';\n\n/**\n * type TabItem validation function\n * @param tab - tab item\n * @returns tab item type is valid\n */\nconst isTabItem = (tab: unknown): tab is TabItem => typeof tab === 'object' && typeof (tab as TabItem).label === 'string';\n\n/**\n * @slot tab_content-n - Tab content, where `n` represents the position of the tab content. It starts at 1.\n */\n@Component({\n tag: 'mg-tabs',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-tabs.css',\n shadow: true,\n})\nexport class MgTabs {\n /************\n * Internal *\n ************/\n\n // classes\n private readonly tabPanel = 'panel';\n private readonly buttonTabBaseClass = 'mg-c-tabs__navigation-button';\n\n // variables\n private tabFocus: number;\n private startIndex = 1;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgTabsElement;\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-tabs');\n @Watch('identifier')\n watchIdentifier(newValue: MgTabs['identifier']): void {\n if (!isValideID(newValue)) {\n console.error(`<mg-tabs> prop \"identifier\" value is invalid. Passed value: ${toString(newValue)}.`);\n }\n }\n /**\n * Tabs label. Include short tabs description.\n * Required for accessibility\n */\n @Prop() label!: string;\n @Watch('label')\n validateLabel(newValue: MgTabs['label']): void {\n if (!isValidString(newValue)) {\n throw new Error(`<mg-tabs> prop \"label\" is required and must be a string. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define tabs size\n */\n @Prop() size: SizeType = 'medium';\n @Watch('size')\n validateSize(newValue: MgTabs['size']): void {\n if (!sizes.includes(newValue)) {\n throw new Error(`<mg-tabs> prop \"size\" must be one of: ${sizes.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n this.classCollection.add(`mg-c-tabs--size-${this.size}`);\n }\n\n /**\n * Tabs items\n */\n @Prop() items!: string[] | TabItem[];\n @Watch('items')\n validateItems(newValue: MgTabs['items']): void {\n // String array\n if (allItemsAreString(newValue)) this.tabs = newValue.map(item => ({ label: item, status: Status.VISIBLE }));\n // Object array\n else if (Array.isArray(newValue) && newValue.length > 0 && newValue.every(isTabItem)) this.tabs = newValue;\n else throw new Error(`<mg-tabs> prop \"items\" is required and all items must be the same type: TabItem. Passed value: ${toString(newValue)}.`);\n }\n\n /**\n * Active tab number\n */\n @Prop({ reflect: true, mutable: true }) activeTab: number;\n @Watch('activeTab')\n validateActiveTab(newValue: MgTabs['activeTab']): void {\n // when `active-tab` is undefined we set default value by searching an item with `Status.ACTIVE` or we use the `startIndex` has fallback value\n // after setting new value to `active-tab` the validate will be triggered again with the updated value and process the tab update\n if (newValue === undefined) {\n this.activeTab = this.tabs.some(tab => this.tabHasStatus(tab, Status.ACTIVE))\n ? this.getTabItemIndex(this.tabs.findIndex(tab => this.tabHasStatus(tab, Status.ACTIVE)))\n : this.startIndex;\n } else if (typeof newValue === 'number' && newValue >= this.startIndex && newValue <= this.tabs.length && this.isActivableTab(this.tabs[newValue - this.startIndex])) {\n // if new 'active-tab' is activable we update tab status to ACTIVE and toggle past ACTIVE to VISIBLE\n this.tabs.forEach((tab, index) => {\n const isNewActiveTab = index === newValue - this.startIndex;\n // reset active tabs\n if (this.tabHasStatus(tab, Status.ACTIVE) && !isNewActiveTab) tab.status = Status.VISIBLE;\n // set active tab from given tab key\n else if (this.isActivableTab(tab) && isNewActiveTab) tab.status = Status.ACTIVE;\n });\n // emit change active tab key event\n this.activeTabChange.emit(newValue);\n } else {\n throw new Error(\n `<mg-tabs> prop \"activeTab\" must be a number between ${this.startIndex} and ${this.tabs.length} and new value must be \"activable\". Passed value: ${toString(newValue)}.`,\n );\n }\n }\n\n /**\n * Component tabs\n */\n @State() tabs: TabItem[] = [];\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-tabs']);\n\n /**\n * Emited event when active tab change\n */\n @Event({ eventName: 'active-tab-change' }) activeTabChange: EventEmitter<HTMLMgTabsElement['activeTab']>;\n\n /**\n * Validate that new tab status can be `Status.ACTIVE`\n * @param tab - tab item\n * @returns true when tab match condition to get a `Status.ACTIVE`\n */\n private isActivableTab = (tab: TabItem): boolean => [undefined, Status.ACTIVE, Status.VISIBLE].includes(tab.status);\n\n /**\n * Method to know if given tab has the given status\n * @param tab - item tab key to set to ACTIVE status\n * @param status - status to valide\n * @returns status comparaison\n */\n private tabHasStatus = (tab: TabItem, status: TabItem['status']): boolean => tab.status === status;\n\n /**\n * Method to get element id from index\n * @param element - to get id\n * @param index - to generate id\n * @returns generated element id\n */\n private getElementId = (element: string, index: number): string => `${element}-${this.getTabItemIndex(index)}`;\n\n /**\n * Method to get tab item index\n * @param index - to get\n * @returns index\n */\n private getTabItemIndex = (index: number): number => index + this.startIndex;\n\n /**\n * Handle click events on tabs\n * @param event - mouse event\n */\n private handleClick = (event: MouseEvent & { currentTarget: HTMLElement }): void => {\n const tabId = event.currentTarget.dataset.index;\n if (!this.isActivableTab(this.tabs[Number(tabId) - this.startIndex])) {\n event.preventDefault();\n } else {\n this.activeTab = Number(tabId);\n this.tabFocus = undefined;\n }\n };\n\n /**\n * get navigation button class from given status\n * @param status - button tab status\n * @returns button class/selector variant\n */\n private getNavigationButtonClass = (status: TabItem['status']): string => `${this.buttonTabBaseClass}--${status}`;\n\n /**\n * Handle keyboard event on tabs\n * @param event - mouse event\n */\n private handleKeydown = (event: KeyboardEvent & { target: HTMLElement }): void => {\n const parent = event.target.parentElement;\n if ([Keys.ARROWLEFT, Keys.ARROWRIGHT].includes(event.key)) {\n this.tabFocus = Number(event.target.dataset.index);\n parent.querySelector(`[data-index=\"${this.tabFocus}\"]`).setAttribute('tabindex', '-1');\n\n // Move right\n if (event.key === Keys.ARROWRIGHT) {\n this.tabFocus++;\n // If we're at the end, go to the start\n if (this.tabFocus > this.tabs.length) this.tabFocus = this.startIndex;\n // Move left\n } else if (event.key === Keys.ARROWLEFT) {\n this.tabFocus--;\n // If we're at the start, move to the end\n if (this.tabFocus < this.startIndex) this.tabFocus = this.tabs.length;\n }\n\n const parentButtonElement: HTMLButtonElement = parent.querySelector(`[data-index=\"${this.tabFocus}\"]`);\n // if focus item is ['hidden'] we recursively repeat action\n if (this.tabHasStatus(this.tabs[this.tabFocus - 1], Status.HIDDEN)) {\n parentButtonElement.dispatchEvent(new KeyboardEvent('keydown', { key: event.key, bubbles: true }));\n // else run focus methods on tabFocus element\n } else {\n parentButtonElement.setAttribute('tabindex', '0');\n parentButtonElement.focus();\n }\n } else if (event.key === Keys.TAB) {\n this.resetFocus();\n }\n };\n\n /**\n * Reset focus on document click\n * @param event - mouse event\n */\n private handleDocumentClick = (event: MouseEvent & { target: HTMLElement }): void => {\n if (event.target.closest('mg-tabs') !== this.element) this.resetFocus();\n };\n\n /**\n * Method to reset focus behavior\n */\n private resetFocus = (): void => {\n // update asynchronously tabindex to prevent get focus on new tabindex at then end of event process\n nextTick(() => {\n this.tabFocus = undefined;\n Array.from(this.element.shadowRoot.querySelectorAll('[data-index]')).forEach((tab, index) => {\n tab.setAttribute('tabindex', this.activeTab - this.startIndex !== index ? '-1' : '0');\n });\n });\n };\n\n /**\n * Validate slots setting\n */\n private validateSlots = (): void => {\n const slots = Array.from(this.element.children).filter(slot => slot.getAttribute('slot')?.includes('tab_content-'));\n if (slots.length !== this.tabs.length) throw new Error('<mg-tabs> Must have slots counts equal to tabs count.');\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n // Check tabs format\n this.watchIdentifier(this.identifier);\n this.validateLabel(this.label);\n this.validateItems(this.items);\n this.validateActiveTab(this.activeTab);\n this.validateSize(this.size);\n this.validateSlots();\n }\n\n /**\n * add listners\n */\n componentDidLoad(): void {\n document.addEventListener('click', this.handleDocumentClick, false);\n }\n\n /**\n * remove listeners\n */\n disconnectedCallback(): void {\n document.removeEventListener('keydown', this.handleDocumentClick);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <div class={this.classCollection.join()}>\n <header role=\"tablist\" aria-label={this.label} class=\"mg-c-tabs__header\">\n {this.tabs.map((tab, index) => (\n <button\n key={tab.label}\n role=\"tab\"\n id={this.getElementId(this.identifier, index)}\n class={{\n [`${this.buttonTabBaseClass}`]: true,\n [`${this.buttonTabBaseClass}--horizontal`]: true,\n [`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.tabHasStatus(tab, Status.ACTIVE),\n [`${this.getNavigationButtonClass(Status.DISABLED)}`]: this.tabHasStatus(tab, Status.DISABLED),\n [`${this.getNavigationButtonClass(Status.HIDDEN)}`]: this.tabHasStatus(tab, Status.HIDDEN),\n }}\n tabindex={this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1}\n aria-selected={this.tabHasStatus(tab, Status.ACTIVE).toString()}\n aria-controls={this.getElementId(this.tabPanel, index)}\n aria-disabled={this.tabHasStatus(tab, Status.DISABLED)}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n data-index={this.getTabItemIndex(index)}\n >\n {tab.icon !== undefined && <mg-icon icon={tab.icon}></mg-icon>}\n {tab.label}\n {tab.badge !== undefined && <mg-badge variant=\"text-color\" value={tab.badge.value} label={tab.badge.label} outline={tab.badge.role === 'information'}></mg-badge>}\n </button>\n ))}\n </header>\n {this.tabs.map((tab, index) => (\n <article\n key={tab.label}\n role=\"tabpanel\"\n id={this.getElementId(this.tabPanel, index)}\n hidden={!this.tabHasStatus(tab, Status.ACTIVE)}\n aria-labelledby={this.getElementId(this.identifier, index)}\n tabindex={this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1}\n class=\"mg-c-tabs__content-container\"\n >\n <slot name={this.getElementId('tab_content', index)}></slot>\n </article>\n ))}\n </div>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"","sourcesContent":["export { Components, JSX } from './components';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.conf.js","sourceRoot":"","sources":["../../src/locales/index.conf.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Message type\n */\nexport type MessageType<T = string> = Record<string, T>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC","sourcesContent":["import en from './en/messages.json';\nimport fr from './fr/messages.json';\nimport { defineLocales } from '@mgdis/core-ui-helpers/dist/locale';\n\nconst defaultLocale = 'en';\nconst messages = { en, fr };\n\n/**\n * Get Intl object\n * @param element - element we need to get the language\n * @returns messages object\n */\nexport const initLocales = defineLocales(messages, defaultLocale);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Defines the possible values for size\n */\nexport type Size = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';\n\n/**\n * Defines the possible values for variant\n */\nexport type Variant = 'info' | 'success' | 'warning' | 'danger' | 'danger-alt' | 'primary' | 'secondary' | 'app' | 'light' | 'dark' | 'flat' | 'text-color' | 'link';\n\n/**\n * Defines the possible values for directions\n */\nexport type Direction = 'vertical' | 'horizontal';\n\n/**\n * Defines the possible values for variantStyle\n */\nexport type VariantStyle = 'icon' | 'background' | 'bar-left' | 'full';\n\n/**\n * Defines the possible values for ariaRole\n */\nexport type AriaRole = 'progressbar' | 'meter' | 'form' | 'search' | 'none' | 'presentation';\n\n/**\n * Defines the possible values for input error\n */\nexport type InputError = 'min' | 'max' | 'minMax' | 'required' | 'badInput';\n\n/**\n * Defines the possible values for status\n */\nexport type Status = 'visible' | 'hidden' | 'disabled' | 'active';\n\n/**\n * Define option type\n */\nexport type Option = {\n title: string;\n value: unknown;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"behaviors.utils.js","sourceRoot":"","sources":["../../src/utils/behaviors.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n */\nexport class OverflowBehavior {\n // variables\n private _resizeObserver: ResizeObserver;\n private _availableWidth: number;\n\n constructor(\n private parentElement: HTMLElement,\n private itemMoreElement: HTMLElement,\n private itemMoreContainerElement: HTMLElement,\n ) {\n if (this.parentElement === null || this.itemMoreElement === null || this.itemMoreContainerElement === null) {\n throw new Error('OverflowBehavior - all constructor params are required');\n }\n\n const items = Array.from(this.parentElement.children) as HTMLElement[];\n\n this._resizeObserver = new ResizeObserver(entries => {\n this._availableWidth = entries\n .map(entry => entry.contentRect.width)\n .sort((a, b) => a - b)\n .shift();\n // reset items\n items.forEach(item => this.toggleItem(item, false));\n\n let accWidth = 0;\n\n items.forEach((item, index) => {\n accWidth += item.offsetWidth;\n if (index > 0) this.toggleItem(item, this.isOverflowElement(accWidth, item));\n });\n });\n this._resizeObserver.observe(this.parentElement);\n }\n\n /**********\n * Public *\n **********/\n\n /**\n * Disconnect ResizeObserver\n */\n public disconnect = (): void => {\n this._resizeObserver.disconnect();\n };\n\n /************\n * Internal *\n ************/\n\n /**\n * Utility method to know if element is HTMLMgItemMoreElement\n * @param element - element to match with 'MORE' element\n * @returns truthy if element is the 'MORE' element\n */\n private isMoreElement = (element: HTMLElement): element is HTMLMgItemMoreElement => element === this.itemMoreElement;\n\n /**\n * Utility method to know if item overflow partialy or totaly in the container\n * @param cumulateWidth - previous sibling elements cumulate width + item width\n * @param item - item HTML element\n * @returns truthy if element is overflow\n */\n private isOverflowElement = (cumulateWidth: number, item: HTMLElement): boolean => {\n const displayMgItemMore = this.itemMoreContainerElement.children.length > 0;\n if (!this.isMoreElement(item)) {\n if (item.nextElementSibling.nodeName !== 'MG-ITEM-MORE' && !displayMgItemMore) return cumulateWidth + this.itemMoreElement.offsetWidth > this._availableWidth;\n else return cumulateWidth > this._availableWidth;\n } else return !displayMgItemMore;\n };\n\n /**\n * Toogle item from isHidden condition\n * @param item - item to update\n * @param isHidden - item is hidden\n */\n private toggleItem = (item: HTMLElement, isHidden: boolean): void => {\n if (this.isMoreElement(item) && isHidden) item.setAttribute('hidden', '');\n else if (this.isMoreElement(item) && !isHidden) item.removeAttribute('hidden');\n else if (!this.isMoreElement(item) && isHidden) this.itemMoreContainerElement.appendChild(item);\n else if (!this.isMoreElement(item) && item.parentElement !== this.parentElement) this.parentElement.insertBefore(item, this.itemMoreElement);\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.utils.js","sourceRoot":"","sources":["../../src/utils/events.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAyC;IACxD,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACf,CAAC","sourcesContent":["/**\n * Keyboard keys\n */\nexport const Keys: Record<string, KeyboardEvent['key']> = {\n TAB: 'Tab',\n ENTER: 'Enter',\n DOWN: 'Down',\n UP: 'Up',\n LEFT: 'Left',\n RIGHT: 'Right',\n ARROWDOWN: 'ArrowDown',\n ARROWUP: 'ArrowUp',\n ARROWRIGHT: 'ArrowRight',\n ARROWLEFT: 'ArrowLeft',\n HOME: 'Home',\n END: 'End',\n ESC: 'Esc',\n ESCAPE: 'Escape',\n NUMPADENTER: 'NumpadEnter',\n SPACE: 'Space',\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright.fixture.js","sourceRoot":"","sources":["../../src/utils/playwright.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAiB;IAC9C,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;QAC5B,2DAA2D;QAC3D,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAY,EAAE,EAAE;gBACnC,0BAA0B;gBAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,gCAAgC,IAAI,SAAS,CAAC;YAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC;QACF,aAAa;QACb,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,6EAA6E,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChI,cAAc;QACd,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,0EAA0E,EAAE,CAAC,CAAC;QAC5G,qBAAqB;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,4FAA4F,EAAE,CAAC,CAAC;QAClI,iCAAiC;QACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC3C,oBAAoB;QACpB,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF,CAAC,CAAC","sourcesContent":["import { test as base } from '@playwright/test';\n\nexport const test = base.extend<{ page: void }>({\n page: async ({ page }, use) => {\n // Override setContent method to keep style and script tags\n page.setContent = async (html: string) => {\n await page.evaluate((html: string) => {\n // Add content to the body\n document.body.innerHTML = `<span class=\"e2e-screenshot\">${html}</span>`;\n }, html);\n };\n // Add lib JS\n await page.addScriptTag({ url: 'http://localhost:8080/mg-components/dist/mg-components/mg-components.esm.js', type: 'module' });\n // Add lib CSS\n await page.addStyleTag({ url: 'http://localhost:8080/mg-components/dist/mg-components/mg-components.css' });\n // Add screenshot CSS\n await page.addStyleTag({ content: 'body{margin:0;--mg-b-font-family:\"Ubuntu\",sans-serif}.e2e-screenshot{display:inline-block}' });\n // Make sure everything is loaded\n await page.waitForLoadState('networkidle');\n // Use extended page\n await use(page);\n },\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"unit.test.utils.js","sourceRoot":"","sources":["../../src/utils/unit.test.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAkB,EAAE,EAAU,EAAE,kBAAkB,GAAG,QAAQ,EAAQ,EAAE;IACpG,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnE,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE;IACzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;QACtC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;KACrB,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["/**\n * force popover id when component use randomed identifier\n * @param component - element wich include mg-popover\n * @param id - new fixed id\n * @param interactiveElement - element where attribute 'aria-controls' is set\n */\nexport const forcePopoverId = (component: Element, id: string, interactiveElement = 'button'): void => {\n const popover = component.shadowRoot.querySelector('mg-popover');\n if (popover !== null) {\n popover.querySelector('mg-popover-content').setAttribute('id', id);\n component.shadowRoot.querySelector(interactiveElement).setAttribute('aria-controls', id);\n }\n};\n\n/**\n * Add missing window.frames property to test context\n * usefull for component with iframe listeners, ex: mg-popover\n */\nexport const mockWindowFrames = (): void => {\n Object.defineProperty(window, 'frames', {\n value: { length: 0 },\n });\n};\n"]}
@@ -1 +0,0 @@
1
- {"file":"events.utils.js","mappings":"AAAA;;AAEG;AACU,MAAA,IAAI,GAAyC;AACxD,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,KAAK,EAAE,OAAO;;;;;","names":[],"sources":["src/utils/events.utils.ts"],"sourcesContent":["/**\n * Keyboard keys\n */\nexport const Keys: Record<string, KeyboardEvent['key']> = {\n TAB: 'Tab',\n ENTER: 'Enter',\n DOWN: 'Down',\n UP: 'Up',\n LEFT: 'Left',\n RIGHT: 'Right',\n ARROWDOWN: 'ArrowDown',\n ARROWUP: 'ArrowUp',\n ARROWRIGHT: 'ArrowRight',\n ARROWLEFT: 'ArrowLeft',\n HOME: 'Home',\n END: 'End',\n ESC: 'Esc',\n ESCAPE: 'Escape',\n NUMPADENTER: 'NumpadEnter',\n SPACE: 'Space',\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index.js","mappings":"","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index2.js","mappings":"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","names":[],"sources":["../helpers/dist/utils/index.js"],"sourcesContent":["/**\n * Class to manage component classlist\n */\nclass ClassList {\n /**\n * Available classes\n */\n classes;\n constructor(classlist = []) {\n this.classes = classlist;\n }\n /**\n * Add class\n * @param className - class name to add\n */\n add = (className) => {\n if (!this.has(className)) {\n this.classes.push(className);\n }\n };\n /**\n * Delete class\n * @param className - class name to delete\n */\n delete = (className) => {\n const index = this.classes.indexOf(className);\n if (index > -1) {\n this.classes.splice(index, 1);\n }\n };\n /**\n * Check if class exist in list\n * @param className - class name to check\n * @returns class name is in the list\n */\n has = (className) => {\n return this.classes.includes(className);\n };\n /**\n * Join classes seperated by spaces\n * @returns joined values\n */\n join = () => {\n return this.classes.join(' ');\n };\n}\n\n/**\n * Check if a value is of object type.\n * @param object - The value to validate.\n * @returns `true` if the value is a valid object (non-null and not an array), otherwise `false`.\n */\nconst isObject = (object) => typeof object === 'object' && !Array.isArray(object) && object !== null;\n/**\n * Get object value from key\n * @param object - object to query\n * @param path - path of the property to get. Nested keys are allowed with `.` separators (eg: 'key0.key1.key2' = object[key0][key1][key2])\n * @param defaultValue - The value returned for `undefined` resolved values\n * @returns object value\n */\nconst getObjectValueFromKey = (object, path, defaultValue) => {\n const separator = '.';\n if (!isObject(object) || typeof path !== 'string') {\n return defaultValue;\n }\n const [current, ...next] = path.split(separator);\n if (next.length) {\n return getObjectValueFromKey(object[current], next.join(separator));\n }\n else {\n return object[current];\n }\n};\n\n/**\n * Typeguard function to check if all array items are strings.\n * @param items - items to check\n * @returns `true` if all items are strings\n */\nconst allItemsAreString = (items) => Array.isArray(items) && items.every(item => typeof item === 'string');\n/**\n * Validate string\n * @param value - value to check\n * @returns `true` if string is valid\n */\nconst isValidString = (value) => typeof value === 'string' && value.trim() !== '';\n/**\n * Stringify value\n * @param value - value to stringify\n * @returns stringified value\n */\nconst toString = (value) => (typeof value === 'object' ? JSON.stringify(value) : String(value));\n/**\n * Cleans string characters by removing special characters and converting to lowercase.\n * @param text - text to clean\n * @returns cleaned string\n * @example\n * ```ts\n * cleanString('âäàçéèêñù') // 'aaaceeenu'\n * cleanString('BATMAN') // 'batman'\n * ```\n */\nconst cleanString = (text) => typeof text === 'string'\n ? text\n .toLocaleLowerCase()\n .normalize('NFD')\n .replaceAll(/[\\u0300-\\u036f]/g, '')\n : text;\n\n/**\n * Convert a string to kebab-case.\n *\n * This function ensures:\n * - All characters are converted to lowercase. Based on : https://stackoverflow.com/questions/63116039/camelcase-to-kebab-case\n * - Non-alphabetic characters (except numbers and hyphens) are replaced with hyphens.\n * - Consecutive hyphens are replaced with a single hyphen.\n * - Leading and trailing hyphens are removed.\n *\n * @param str - The input string to convert.\n * @returns The kebab-case formatted string.\n *\n * @example\n * ```typescript\n * toKebabCase('XMLHttpRequest'); // 'xml-http-request'\n * ```\n */\nconst toKebabCase = (str) => str\n .replace(/[A-Z]+(?![a-z])|[A-Z]/g, (match, offset) => (offset > 0 ? '-' : '') + match.toLowerCase())\n .replace(/[^a-z0-9-]+/g, '-') // Replace non a-z, 0-9, or hyphen characters with a hyphen\n .replace(/--+/g, '-') // Replace multiple consecutive hyphens with a single hyphen\n .replace(/(?:^-)|(?:-$)/g, ''); // Remove leading hyphens or number or trailing hyphens\n\n/**\n * Create random ID\n * @param prefix - add prefix to created ID\n * @param length - ID length\n * @returns ID\n */\nconst createID = (prefix = '', length = 10) => {\n const randomBytes = new Uint8Array(length);\n crypto.getRandomValues(randomBytes);\n const hexString = Array.from(randomBytes)\n .map(byte => byte.toString(16).padStart(2, '0'))\n .join('')\n .slice(0, length);\n return prefix !== '' ? `${prefix}-${hexString}` : hexString;\n};\n/**\n * Validate html `id` format\n * @param newValue - id value to validate\n * @returns true if `id` is valid\n */\nconst isValideID = (newValue) => isValidString(newValue) && /^([a-z][a-z0-9]*)(-[a-z0-9]+)*$/.exec(newValue) !== null;\n/**\n * Format id from value\n * @param value - id to transforme\n * @returns valid id\n */\nconst formatID = (value) => {\n let id;\n if (typeof value === 'string') {\n id = value;\n }\n else if (Boolean(value) && typeof value === 'object' && (isObject(value) || Array.isArray(value))) {\n id = JSON.stringify(value);\n }\n else if (value !== null && value !== undefined && typeof value !== 'boolean' && typeof value !== 'object') {\n id = String(value);\n }\n return id ? toKebabCase(id) : id;\n};\n\n/**\n * Use to process code next tick in the event loop\n * @param callback - code to excute on next tick\n * @returns differed code excution\n */\nconst nextTick = async (callback) => {\n if (callback)\n return callback();\n};\n/**\n * Cursor possible values\n */\nconst Cursor = {\n FIRST: 'first',\n NEXT: 'next',\n PREVIOUS: 'previous',\n LAST: 'last',\n};\nconst DEFAULT_TOP = 10;\n/**\n * Define a valid Page object and navigate throw page items with cursor.\n * Page object entries follow the REST API page practices.\n */\nclass Page {\n /**\n * Define items\n */\n items = [];\n /**\n * Define total\n */\n total;\n /**\n * Define top\n */\n top = DEFAULT_TOP;\n /**\n * Define next\n */\n next;\n /**\n * Define base index\n */\n baseIndex = 1;\n constructor(init) {\n if (!isObject(init)) {\n throw new Error('Page - init must match IPage type.');\n }\n else {\n if (Array.isArray(init.items))\n this.items = init.items;\n if (typeof init.top === 'number')\n this.top = init.top;\n this.total = typeof init.total === 'number' ? init.total : this.items.length;\n this.next = init.next;\n }\n }\n /**\n * Get index of items from cursor\n * @param cursor - cursor to find\n * @param oldItem - previous item\n * @returns item index\n */\n getIndexFromCursor = (cursor = 'first', oldItem) => {\n const startIndex = 0;\n if (!Array.isArray(this.items) || !this.items.length)\n return null;\n const lastIndex = this.items.length - this.baseIndex;\n let newIndex;\n let oldIndex = startIndex;\n if (['previous', 'next'].includes(cursor) && oldItem) {\n const findedIndex = this.items.findIndex(item => JSON.stringify(item) === JSON.stringify(oldItem));\n if (findedIndex === -1)\n return startIndex;\n oldIndex = findedIndex;\n }\n // Update index from cursor\n if (cursor === 'first') {\n newIndex = startIndex;\n }\n else if (cursor === 'last') {\n newIndex = lastIndex;\n }\n else if (cursor === 'previous') {\n newIndex = JSON.stringify(this.items[oldIndex]) === JSON.stringify(this.items[startIndex]) ? lastIndex : oldIndex - this.baseIndex;\n }\n else if (cursor === 'next') {\n newIndex = JSON.stringify(this.items[oldIndex]) === JSON.stringify(this.items[lastIndex]) ? startIndex : oldIndex + this.baseIndex;\n }\n else {\n newIndex = startIndex;\n }\n return newIndex;\n };\n}\n/**\n * Paginate an items array to navigate into with pages.\n * It follow REST standard and allow to navigate in items array with a similar format.\n */\nclass Paginate {\n /**\n * Define paginated items\n */\n items = [];\n /* Privates */\n #top = DEFAULT_TOP;\n #next;\n #total;\n constructor(items, options) {\n if (Array.isArray(items))\n this.items = items;\n if (options && (['string', 'function'].includes(typeof options.next) || (isObject(options.next) && URL.canParse(options.next))))\n this.#next = options.next;\n if (typeof options?.top === 'number')\n this.#top = options.top;\n if (typeof options?.total === 'number')\n this.#total = options.total;\n }\n /**\n * Get page\n * @param offset - pagiantion offset\n * @param filter - filter methode\n * @returns formated page\n */\n getPage = (offset = 0, filter) => {\n const items = typeof filter === 'function' ? this.items.filter(filter) : this.items;\n let next;\n if (this.#next)\n next = this.#next;\n else if (items.length > offset + this.#top)\n next = () => this.getPage(offset + this.#top, filter);\n return new Page({\n items: items.slice(offset, offset + this.#top),\n total: this.#total,\n top: this.#top,\n next,\n });\n };\n}\n\n/**\n * Date RegExp, usefull to test if string is a follow the date pattern\n * @example\n * ```ts\n * dateRegExp.test('mystring') // false\n * dateRegExp.test('2020-12-31') // true\n * ```\n */\nconst dateRegExp = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/;\n/**\n * Formats a date object to a string with the pattern 'YYYY-MM-DD'.\n * @param date - date to parse\n * @returns string date with pattern 'YYYY-MM-DD'\n * @example\n * ```ts\n * dateToString(new Date('2023-12-24')) // '2023-12-24'\n * ```\n */\nconst dateToString = (date) => date.toISOString().split('T')[0];\n\n/**\n * Check if element belongs to the given tagNames list\n * @param element - element to check\n * @param tagNames - allowed tag names list\n * @returns `true` if element tagName is in the tagNames list\n */\nconst isTagName = (element, tagNames) => tagNames.includes(element?.tagName.toLowerCase());\n/**\n * CSS selector to select focusable elements.\n * @example\n * ```ts\n * const allFocusableElements: HTMLElement[] = Array.from(this.element.querySelectorAll(focusableElements));\n * ```\n */\nconst focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), [identifier], mg-button';\n\n/**\n * Validate number\n * @param value - value to check\n * @returns `true` if number is valid\n */\nconst isValidNumber = (value) => typeof value === 'number' && !Number.isNaN(value);\n\n/**\n * Get windows\n * @param localWindow - the window we are lookink for other windows\n * @returns The list of windows found\n */\nconst getWindows = (localWindow) => {\n const parentWindows = getParentWindows(localWindow);\n const childWindows = getChildWindows(localWindow);\n return [localWindow, ...parentWindows, ...childWindows];\n};\n/**\n * Get parent windows\n * @param localWindow - the window we are lookink for parents\n * @param windows - The list of allready found windows\n * @returns The list of windows found\n */\nconst getParentWindows = (localWindow, windows = []) => {\n // Check if is in iframe\n if (localWindow.self !== localWindow.top) {\n // Check if we have permission to access parent\n try {\n const parentWindow = localWindow.parent;\n if (parentWindow) {\n windows.push(parentWindow);\n return getParentWindows(parentWindow, windows);\n }\n else\n return windows;\n }\n catch (err) {\n console.error('Different hosts between iframes:', err);\n return windows;\n }\n }\n return windows;\n};\n/**\n * Get child windows\n * @param localWindow - the window we are lookink for children\n * @param windows - The list of allready found windows\n * @returns The list of windows found\n */\nconst getChildWindows = (localWindow, windows = []) => {\n if (localWindow.frames.length > 0) {\n for (const childWindow of Array.from(localWindow.frames)) {\n windows.push(childWindow);\n getChildWindows(childWindow, windows);\n }\n }\n return windows;\n};\n\nexport { ClassList, Cursor, Page, Paginate, allItemsAreString, cleanString, createID, dateRegExp, dateToString, focusableElements, formatID, getChildWindows, getObjectValueFromKey, getParentWindows, getWindows, isObject, isTagName, isValidNumber, isValidString, isValideID, nextTick, toKebabCase, toString };\n//# sourceMappingURL=index.js.map\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index3.js","mappings":"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","names":[],"sources":["../helpers/dist/locale/index.js","src/locales/index.ts"],"sourcesContent":["/**\n * Date RegExp, usefull to test if string is a follow the date pattern\n * @example\n * ```ts\n * dateRegExp.test('mystring') // false\n * dateRegExp.test('2020-12-31') // true\n * ```\n */\nconst dateRegExp = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/;\n\n/**\n * Gets the date pattern based on the specified locale.\n * @param locale - the locale to refer to\n * @returns date pattern\n * @example\n * ```ts\n * localeDatePattern('fr') // 'dd/mm/yyyy'\n * ```\n */\nconst localeDatePattern = (locale) => {\n const year = { value: '2023', pattern: 'yyyy' };\n const month = { value: '12', pattern: 'mm' };\n const day = { value: '24', pattern: 'dd' };\n return localeDate([year.value, month.value, day.value].join('-'), locale, { timeZone: 'UTC' })\n .replace(year.value, year.pattern)\n .replace(month.value, month.pattern)\n .replace(day.value, day.pattern);\n};\n/**\n * Get locale and messages\n * We load the defined locale but for now we only support the first subtag for messages\n * @param element - element we need to get the language\n * @param messages - messages to use\n * @param defaultLocale - default messages locale\n * @returns messages object\n */\nconst localeMessages = (element, messages, defaultLocale) => {\n // Get local\n const closestLangAttribute = element.closest('[lang]');\n const closestLang = Intl.NumberFormat.supportedLocalesOf(closestLangAttribute?.lang);\n const locale = closestLang.length > 0 && typeof closestLang[0] === 'string' ? closestLang[0] : navigator.language || defaultLocale;\n // Only keep first subtag\n const localeSubtag = locale.split('-').shift();\n // If messages is empty, return a default object\n if (Object.keys(messages).length === 0) {\n return {\n locale,\n messages: { lang: defaultLocale },\n };\n }\n // Return\n return {\n locale,\n messages: (messages[localeSubtag] || messages[defaultLocale] || { lang: defaultLocale }),\n };\n};\n/**\n * Format number to the locale currency\n * @param number - number to format\n * @param locale - locale to apply\n * @param currency - currency to apply\n * @returns formatted currency\n * @example\n * ```ts\n * localeCurrency(1234567890.12, 'fr', 'EUR') // '1 234 567 890,12\\xa0€'\n * ```\n */\nconst localeCurrency = (number, locale, currency) => new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);\n/**\n * Format number to locale\n * @param number - number to format\n * @param locale - locale to apply\n * @param decimalLength - decimal length to apply\n * @returns formatted number\n * @example\n * ```ts\n * localeNumber(1234567890.12, 'fr') // 1 234 567 890,12\n * ```\n */\nconst localeNumber = (number, locale, decimalLength = 0) => new Intl.NumberFormat(locale, { minimumFractionDigits: decimalLength }).format(Number(number));\n/**\n * Format number as percentage based on locale\n * @param number - number to format\n * @param locale - locale to apply\n * @param decimalLength - decimal length to apply\n * @returns formatted percentage\n * @example\n * ```ts\n * localePercent(0.42, 'fr', 2) // '42,00 %'\n * localePercent(0.42, 'en', 2) // '42.00%'\n * ```\n */\nconst localePercent = (number, locale, decimalLength = 0) => {\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: decimalLength,\n maximumFractionDigits: decimalLength,\n }).format(number);\n};\n/**\n * Format number with standardized unit based on locale using Intl unit formatting\n * @param number - number to format\n * @param locale - locale to apply\n * @param unit - standardized unit (e.g., 'kilometer', 'kilogram', 'celsius')\n * @param unitDisplay - how to display the unit ('short', 'long', 'narrow')\n * @param decimalLength - decimal length to apply\n * @returns formatted number with localized unit\n * @example\n * ```ts\n * localeUnit(1234567890.12, 'fr', 'kilometer') // '1 234 567 890,12 km'\n * localeUnit(23, 'fr', 'celsius') // '23 °C'\n * localeUnit(10, 'fr', 'kilometer', 0, 'long') // '10 kilomètres'\n * ```\n */\nconst localeUnit = (number, locale, unit, unitDisplay = 'short', decimalLength = 0) => {\n return new Intl.NumberFormat(locale, {\n style: 'unit',\n unit,\n unitDisplay,\n minimumFractionDigits: decimalLength,\n maximumFractionDigits: decimalLength,\n }).format(number);\n};\n/**\n * Locale date format\n * @param date - date to format\n * @param locale - locale to apply\n * @param config - DateTimeFormatOptions object to apply\n * @returns formatted date\n * @example\n * ```ts\n * localeDate('2022-06-02', 'fr') // '02/06/2022'\n * ```\n */\nconst localeDate = (date, locale, config) => typeof date !== 'string' || date === '' || !dateRegExp.test(date) ? '' : new Intl.DateTimeFormat(locale, config).format(new Date(date));\n/**\n * Get Intl object\n * @param messages - locales to render in object format. `ex: { en: { porp: \"test\" }, fr: { porp: \"test\" }}`.\n * @param defaultLocale - fallback locale to render. `ex: 'en'`.\n * @returns from the element passed in return function you will get the matching messages object\n * @example\n * ```ts\n * import en from './en/messages.json';\n * import fr from './fr/messages.json';\n * import { defineLocales } from '@mgdis/core-ui-helpers/dist/utils';\n *\n * const defaultLocale = 'en';\n * const messages = { en, fr };\n *\n * export const initLocales = defineLocales(messages, defaultLocale);\n * ```\n */\nconst defineLocales = (messages, defaultLocale) => (element) => localeMessages(element, messages, defaultLocale);\n\nexport { defineLocales, localeCurrency, localeDate, localeDatePattern, localeNumber, localePercent, localeUnit };\n//# sourceMappingURL=index.js.map\n","import en from './en/messages.json';\nimport fr from './fr/messages.json';\nimport { defineLocales } from '@mgdis/core-ui-helpers/dist/locale';\n\nconst defaultLocale = 'en';\nconst messages = { en, fr };\n\n/**\n * Get Intl object\n * @param element - element we need to get the language\n * @returns messages object\n */\nexport const initLocales = defineLocales(messages, defaultLocale);\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-action-more.js","mappings":"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","names":["MgActionMore","__stencil_proxyCustomElement"],"sources":["../styles/dist/components/mg-action-more.css?tag=mg-action-more&encapsulation=shadow","src/components/molecules/mg-action-more/mg-action-more.tsx"],"sourcesContent":[".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}:host{--mg-c-popover-padding-vertical: var(--mg-b-size-8);--mg-c-popover-padding-horizontal: 0;--mg-c-popover-max-width: unset}.mg-c-action-more__divider{--mg-c-divider-spacing-vertical: var(--mg-b-size-4)}.mg-c-action-more__chevron{transition:200ms}.mg-c-action-more__chevron--rotate.mg-c-action-more__chevron{transform:rotate(180deg)}/*# sourceMappingURL=mg-action-more.css.map */\n","import { Component, h, Element, Prop, Watch, State, Host } from '@stencil/core';\nimport { createID, toString } from '@mgdis/core-ui-helpers/dist/utils';\nimport { Status } from '../menus/mg-menu-item/mg-menu-item.conf';\nimport { directions } from '../menus/mg-menu/mg-menu.conf';\nimport { initLocales } from '../../../locales';\nimport type { MessageType } from '../../../locales/index.conf';\nimport type { MgActionMoreItemType, MgActionMoreButtonType, MgActionMoreIconType, MgActionMoreDividerType } from './mg-action-more.conf';\n\n/**\n * MgActionMore['items'] type guard\n * @param prop - commponent items prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreItems = (prop: unknown): prop is MgActionMoreItemType[] => {\n const items = prop as MgActionMoreItemType[];\n return (\n typeof items === 'object' &&\n items.every(item => (typeof item === 'object' && typeof item.label === 'string' && typeof item.mouseEventHandler === 'function') || isMgActionMoreDivider(item))\n );\n};\n\n/**\n * MgActionMoreDividerType type guard\n * @param item - component item\n * @returns return true if type is valid\n */\nconst isMgActionMoreDivider = (item: unknown): item is MgActionMoreDividerType => typeof item === 'object' && (item as MgActionMoreDividerType).isDivider;\n\n/**\n * MgActionMore['button'] type guard\n * @param prop - commponent button prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreButton = (prop: unknown): prop is MgActionMoreButtonType => {\n const button = prop as MgActionMoreButtonType;\n return typeof button === 'object' && typeof button.variant === 'string' && typeof button.isIcon === 'boolean';\n};\n\n/**\n * MgActionMore['icon'] type guard\n * @param prop - commponent icon prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreIcon = (prop: unknown): prop is MgActionMoreIconType => {\n const icon = prop as MgActionMoreIconType;\n return typeof icon === 'object' && typeof icon.icon === 'string';\n};\n\n@Component({\n tag: 'mg-action-more',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-action-more.css',\n shadow: true,\n})\nexport class MgActionMore {\n /************\n * Internal *\n ************/\n\n private readonly name = 'mg-action-more';\n private readonly classBase = 'mg-c-action-more';\n private readonly mgPopoverIdentifier = createID(this.name);\n private messages: MessageType;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgActionMoreElement;\n\n /**\n * Define the menu-items elements\n */\n @Prop() items!: (MgActionMoreItemType | MgActionMoreDividerType)[];\n @Watch('items')\n validateItems(newValue: MgActionMore['items']): void {\n if (!isMgActionMoreItems(newValue)) {\n throw new Error(\n `<${this.name}> prop \"items\" is required and all values must be the same type, MgActionMoreItemType or MgActionMoreDividerType. Passed value: ${toString(newValue)}.`,\n );\n } else if (isMgActionMoreItems(newValue) && newValue.length > 0 && (isMgActionMoreDivider(newValue[0]) || isMgActionMoreDivider(newValue[newValue.length - 1]))) {\n throw new Error(`<${this.name}> prop \"items\" can’t have a divider at the beginning or the end of the array. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define displayed icon\n */\n @Prop({ mutable: true }) icon?: MgActionMoreIconType;\n @Watch('icon')\n validateIcon(newValue: MgActionMore['icon']): void {\n if (newValue && !isMgActionMoreIcon(newValue)) {\n throw new Error(`<${this.name}> prop \"icon\" must match MgActionMoreIconType. Passed value: ${toString(newValue)}.`);\n } else if (newValue?.icon === undefined && Boolean(this.button.isIcon)) {\n this.icon = { icon: 'ellipsis' };\n }\n }\n\n /**\n * Define button properties\n */\n @Prop() button?: MgActionMoreButtonType = { variant: 'flat', isIcon: true };\n @Watch('button')\n validateButton(newValue: MgActionMore['button']): void {\n if (newValue && !isMgActionMoreButton(newValue)) {\n throw new Error(`<${this.name}> prop \"button\" must match MgActionMoreButtonType. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define if chevron is display\n */\n @Prop() displayChevron = false;\n @Watch('displayChevron')\n validateDisplayChevron(newValue: MgActionMore['displayChevron']): void {\n if (newValue && this.button.isIcon === true) {\n throw new Error(`<${this.name}> prop \"displayChevron\" can't be used with a 'button\" prop \"isIcon\" attribute.`);\n }\n }\n /**\n * Menu expanded state\n */\n @State() expanded = false;\n\n /************\n * Methods *\n ***********/\n\n /**\n * Toggle expanded props\n */\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n /**\n * Handle popover display change value\n * @param event - display change updated value\n */\n private handleDisplayChange = (event: CustomEvent): void => {\n this.expanded = event.detail;\n };\n\n /**\n * Button click handler\n */\n private handleButton = (): void => {\n this.toggleExpanded();\n };\n\n /**\n * Item click handler\n * @param event - click event\n * @param customHandler - item['mouseEventHandler']\n */\n private handleItemClick = (event: MouseEvent, customHandler: MgActionMoreItemType['mouseEventHandler']) => {\n this.expanded = false;\n customHandler(event);\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Validate props\n */\n componentWillLoad(): void {\n this.messages = initLocales(this.element).messages.actionMore as MessageType;\n this.validateItems(this.items);\n this.validateButton(this.button);\n this.validateIcon(this.icon);\n this.validateDisplayChevron(this.displayChevron);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n const buttonLabel = this.button.label || this.messages.label;\n const buttonContent = [buttonLabel];\n\n if (!this.button.isIcon && this.displayChevron) {\n buttonContent.push(\n <span\n class={{\n [`${this.classBase}__chevron`]: true,\n [`${this.classBase}__chevron--rotate`]: this.expanded === true,\n }}\n >\n <mg-icon icon=\"chevron-down\"></mg-icon>\n </span>,\n );\n }\n\n return (\n <Host data-mg-popover-guard={this.mgPopoverIdentifier}>\n <span class={this.classBase}>\n <mg-popover identifier={this.mgPopoverIdentifier} display={this.expanded} onDisplay-change={this.handleDisplayChange}>\n <mg-button variant={this.button.variant} isIcon={this.button.isIcon} disabled={this.button.disabled} type=\"button\" label={buttonLabel} onClick={this.handleButton}>\n {this.icon && <mg-icon {...this.icon}></mg-icon>}\n {!this.button.isIcon && buttonContent}\n </mg-button>\n <div slot=\"content\">\n <mg-menu direction={directions.VERTICAL} label={this.messages.label}>\n {this.items.map(item =>\n isMgActionMoreDivider(item) ? (\n <mg-divider class=\"mg-c-action-more__divider\" key=\"divider\" full-width></mg-divider>\n ) : (\n <mg-menu-item\n key={item.label}\n status={item.status || Status.VISIBLE}\n target={item.target}\n href={item.href}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={e => this.handleItemClick(e, item.mouseEventHandler)}\n >\n {item.icon?.icon && <mg-icon icon={item.icon.icon} variant={item.icon.variant} variantStyle={item.icon.variantStyle} slot=\"image\"></mg-icon>}\n <span slot=\"label\">{item.label}</span>\n {item.badge?.label && <mg-badge label={item.badge.label} value={item.badge.value} slot=\"information\" variant=\"text-color\"></mg-badge>}\n </mg-menu-item>\n ),\n )}\n </mg-menu>\n </div>\n </mg-popover>\n </span>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-alert.js","mappings":"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","names":["MgAlert","__stencil_proxyCustomElement"],"sources":["src/components/molecules/mg-alert/mg-alert.conf.ts","../styles/dist/components/mg-alert.css?tag=mg-alert&encapsulation=shadow","src/components/molecules/mg-alert/mg-alert.tsx"],"sourcesContent":["import type { Variant, VariantStyle } from '../../../types';\n\n/**\n * List available variants\n */\nexport const variants = ['info', 'warning', 'success', 'danger'] as const;\n\n/**\n * Variant type\n */\nexport type VariantType = Variant & (typeof variants)[number];\n\n/**\n * List available variant styles\n */\nexport const variantStyles = ['bar-left', 'background'] as const;\n\n/**\n * VariantStyle type\n */\nexport type VariantStyleType = VariantStyle & (typeof variantStyles)[number];\n",".mg-c-alert__close-button{position:absolute;top:0;right:0}.mg-c-alert.mg-c-alert--close-button{--mg-c-card-spacing: 0 var(--mg-b-size-min-height) 0 0}/*# sourceMappingURL=mg-alert.css.map */\n","import { Component, Element, Event, EventEmitter, h, Prop, State, Watch, forceUpdate } from '@stencil/core';\nimport { ClassList, toString } from '@mgdis/core-ui-helpers/dist/utils';\nimport { variants, variantStyles, VariantStyleType, VariantType } from './mg-alert.conf';\nimport { initLocales } from '../../../locales';\n\n/**\n * @slot - Alert content\n * @slot actions - Actions content\n */\n@Component({\n tag: 'mg-alert',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-alert.css',\n shadow: true,\n})\nexport class MgAlert {\n /************\n * Internal *\n ************/\n\n // Classes\n private readonly classCloseButton = 'mg-c-alert--close-button';\n\n // Stored timer setted when hide action is run from setTimeOut\n private storedTimer: ReturnType<typeof setTimeout> = null;\n\n // Manage hover\n private isFocused = false;\n private isHovered = false;\n\n // Locales\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgAlertElement;\n\n /**\n * Add a delay to hide/close message when it passed\n * Value is defined in seconds and must greater than 2 seconds\n */\n @Prop() delay?: number;\n @Watch('delay')\n watchDelay(newValue: MgAlert['delay']): void {\n if (newValue !== undefined && newValue < 2) {\n throw new Error(`<mg-alert> prop \"delay\" must be greater than 2 seconds. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define variant\n */\n @Prop() variant?: VariantType = 'info';\n @Watch('variant')\n watchVariant(newValue: MgAlert['variant']): void {\n if (newValue && !variants.includes(newValue)) {\n throw new Error(`<mg-alert> prop \"variant\" must be one of: ${variants.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define variant style\n */\n @Prop() variantStyle?: VariantStyleType = 'bar-left';\n @Watch('variantStyle')\n watchVariantStyle(newValue: MgAlert['variantStyle']): void {\n if (newValue && !variantStyles.includes(newValue)) {\n throw new Error(`<mg-alert> prop \"variantStyle\" must be one of: ${variantStyles.join(', ')}. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Watch hidden prop\n */\n // eslint-disable-next-line @stencil-community/no-unused-watch\n @Watch('hidden')\n watchHidden(newValue: boolean): void {\n if (typeof newValue === 'string' && newValue === '') {\n newValue = true;\n }\n if (newValue) {\n this.componentHide.emit();\n // Remove event Listener\n ['focusin', 'mouseenter'].forEach(event => {\n this.element.removeEventListener(event, this.timerEvents);\n });\n // Clear Timer\n this.clearTimer();\n } else {\n this.componentShow.emit();\n // If delay is set\n if (this.delay > 1) {\n // Start timer\n this.setTimer();\n // Stop timer when get focus or mouse enter\n ['focusin', 'mouseenter'].forEach(event => {\n this.element.addEventListener(event, this.timerEvents);\n });\n }\n }\n forceUpdate(this);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-alert']);\n\n /**\n * Define if component is using actions slot\n */\n @State() hasActions = false;\n\n /**\n * Emited event when alert is diplayed\n */\n @Event({ eventName: 'component-show' }) componentShow: EventEmitter<void>;\n\n /**\n * Emited event when alert is hidden\n */\n @Event({ eventName: 'component-hide' }) componentHide: EventEmitter<void>;\n\n /**\n * Emmited event when alert is closed\n */\n @Event({ eventName: 'component-close' }) componentClose: EventEmitter<void>;\n\n /**\n * Set timer\n */\n private setTimer = (): void => {\n this.storedTimer = setTimeout(() => (this.element.hidden = true), this.delay * 1000);\n };\n\n /**\n * Clear timer\n */\n private clearTimer = (): void => {\n clearTimeout(this.storedTimer);\n };\n\n /**\n * Event to add on element\n * @param event - event\n */\n private timerEvents = (event: MouseEvent | FocusEvent): void => {\n this.clearTimer();\n const isMouseEvent: boolean = event.type === 'mouseenter';\n // Needed to ensure we don't start the timer\n this[isMouseEvent ? 'isHovered' : 'isFocused'] = true;\n\n // Restart timer when loose focus AND mouse leave\n this.element.addEventListener(\n isMouseEvent ? 'mouseleave' : 'focusout',\n eventOut => {\n this[eventOut.type === 'mouseleave' ? 'isHovered' : 'isFocused'] = false;\n // Start timer if needed\n if (!this.isFocused && !this.isHovered) this.setTimer();\n },\n { once: true },\n );\n };\n\n /**\n * Handle close button\n */\n private handleClose = (): void => {\n this.element.hidden = true;\n this.componentClose.emit();\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 // Validate\n this.watchVariant(this.variant);\n this.watchVariantStyle(this.variantStyle);\n this.watchDelay(this.delay);\n this.watchHidden(this.element.hidden);\n // Check if component has actions slot\n this.hasActions = this.element.querySelector('[slot=\"actions\"]') !== null;\n if (!this.hasActions) {\n this.classCollection.add(this.classCloseButton);\n }\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <mg-message\n class={this.classCollection.join()}\n role={['info', 'success'].includes(this.variant) ? 'status' : 'alert'}\n variant={this.variant}\n variantStyle={this.variantStyle}\n >\n <slot></slot>\n {this.hasActions ? (\n <span slot=\"actions\">\n <slot name=\"actions\"></slot>\n </span>\n ) : (\n <span class=\"mg-c-alert__close-button\">\n <mg-button is-icon variant=\"flat\" label={this.messages.alert.closeButton} onClick={this.handleClose}>\n <mg-icon icon=\"cross\"></mg-icon>\n </mg-button>\n </span>\n )}\n </mg-message>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-badge.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-badge2.js","mappings":";;;AAEA;;AAEG;AACI,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAU;;ACL/G,MAAM,UAAU,GAAG,2qGAA2qG;;MCSjrG,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAA,WAAA,CAAA;AALpB,IAAA,WAAA,GAAA;;;;AAME;;AAEc;;AAGG,QAAA,IAAY,CAAA,YAAA,GAAG,CAAA,mBAAA,CAAqB;AA6BrD;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAsB,MAAM;AAa3C;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAa,KAAK;AAOjC;;AAEG;QACM,IAAe,CAAA,eAAA,GAAc,IAAI,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AAwBpE;AAvEC,IAAA,aAAa,CAAC,QAA0B,EAAA;QACtC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA,EAAG,QAAQ,CAAA,CAAE,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,CAAmG,gGAAA,EAAA,QAAQ,CAAC,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC;;;AAU7I,IAAA,aAAa,CAAC,QAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,CAA2E,wEAAA,EAAA,QAAQ,CAAC,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC;;;IASrH,eAAe,CAAC,QAA4B,EAAE,QAA6B,EAAA;QACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAA,MAAM,IAAI,KAAK,CAAC,CAA6C,0CAAA,EAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAA,CAAG,CAAC;;aACpH;AACL,YAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAe,YAAA,EAAA,QAAQ,CAAE,CAAA,CAAC;;YAExD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAe,YAAA,EAAA,QAAQ,CAAE,CAAA,CAAC;;;AASvD,IAAA,eAAe,CAAC,QAA4B,EAAA;AAC1C,QAAA,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;;YACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;;AAQrD;;AAEG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;;AAGpC;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,6DAAM,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAA,EACtC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,KAAK,CAAQ,EACnD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["src/components/atoms/mg-badge/mg-badge.conf.ts","../styles/dist/components/mg-badge.css?tag=mg-badge&encapsulation=shadow","src/components/atoms/mg-badge/mg-badge.tsx"],"sourcesContent":["import type { Variant } from '../../../types';\n\n/**\n * List of all possibles variants\n */\nexport const variants = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'] as const;\n\n/**\n * Variant type from variants\n */\nexport type BadgeVariantType = Variant & (typeof variants)[number];\n",".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}/*!\n * @prop --mg-c-badge-size: Defines the height and minimum width of the badge. The default value is `--mg-b-size-16`.\n * @prop --mg-c-badge-font-size: Defines the font size of the badge. The default value is `--mg-b-font-size-small`.\n * @prop --mg-c-badge-color-text: Defines the font color of the badge when used with the `text-color` variant and without `outline`. The default value is `--mg-b-color-light`.\n */.mg-c-badge{min-width:var(--mg-c-badge-size);height:var(--mg-c-badge-size);box-sizing:border-box;padding:0 var(--mg-b-size-4);border:var(--mg-b-size-border) solid;border-radius:calc(var(--mg-c-badge-size)/2);font-size:var(--mg-c-badge-font-size);font-weight:600;line-height:var(--mg-c-badge-size);text-align:center}.mg-c-badge.mg-c-badge--primary{border-color:var(--mg-b-color-primary);background-color:var(--mg-b-color-primary);color:var(--mg-b-color-text-on-primary)}.mg-c-badge.mg-c-badge--primary.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-primary)}.mg-c-badge.mg-c-badge--secondary{border-color:var(--mg-b-color-secondary);background-color:var(--mg-b-color-secondary);color:var(--mg-b-color-text-on-secondary)}.mg-c-badge.mg-c-badge--secondary.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-secondary)}.mg-c-badge.mg-c-badge--danger{border-color:var(--mg-b-color-danger);background-color:var(--mg-b-color-danger);color:var(--mg-b-color-text-on-danger)}.mg-c-badge.mg-c-badge--danger.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-danger)}.mg-c-badge.mg-c-badge--info{border-color:var(--mg-b-color-info);background-color:var(--mg-b-color-info);color:var(--mg-b-color-text-on-info)}.mg-c-badge.mg-c-badge--info.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-info)}.mg-c-badge.mg-c-badge--success{border-color:var(--mg-b-color-success);background-color:var(--mg-b-color-success);color:var(--mg-b-color-text-on-success)}.mg-c-badge.mg-c-badge--success.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-success)}.mg-c-badge.mg-c-badge--warning{border-color:var(--mg-b-color-warning);background-color:var(--mg-b-color-warning);color:var(--mg-b-color-text-on-warning)}.mg-c-badge.mg-c-badge--warning.mg-c-badge--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-warning)}.mg-c-badge.mg-c-badge--text-color{border-color:currentcolor;background-color:currentcolor}.mg-c-badge.mg-c-badge--text-color .mg-c-badge__value{color:var(--mg-c-badge-color-text, var(--mg-b-color-light))}.mg-c-badge.mg-c-badge--text-color.mg-c-badge--outline{background-color:rgba(0,0,0,0)}.mg-c-badge.mg-c-badge--text-color.mg-c-badge--outline .mg-c-badge__value{color:currentcolor}.mg-c-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}/*# sourceMappingURL=mg-badge.css.map */\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { variants, BadgeVariantType } from './mg-badge.conf';\nimport { ClassList, isValidString, toString } from '@mgdis/core-ui-helpers/dist/utils';\n\n@Component({\n tag: 'mg-badge',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-badge.css',\n shadow: true,\n})\nexport class MgBadge {\n /************\n * Internal *\n ************/\n\n // Classes\n private readonly classOutline = `mg-c-badge--outline`;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Badge value\n */\n @Prop() value!: string | number;\n @Watch('value')\n validateValue(newValue: MgBadge['value']): void {\n if (/^[^A-Z]+$/i.exec(`${newValue}`) === null) {\n throw new Error(`<mg-badge> prop \"value\" is required and must be integer and/or special character. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Badge label. Include short description.\n * Required for accessibility\n */\n @Prop() label!: string;\n @Watch('label')\n validateLabel(newValue: MgBadge['label']): void {\n if (!isValidString(newValue)) {\n throw new Error(`<mg-badge> prop \"label\" is required and must be a string. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Define badge variant\n */\n @Prop() variant?: BadgeVariantType = 'info';\n @Watch('variant')\n validateVariant(newValue: MgBadge['variant'], oldValue?: MgBadge['variant']): void {\n if (!variants.includes(newValue)) {\n throw new Error(`<mg-badge> prop \"variant\" must be one of: ${variants.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-badge--${oldValue}`);\n }\n this.classCollection.add(`mg-c-badge--${newValue}`);\n }\n }\n\n /**\n * Define if button is using outline style\n */\n @Prop() outline?: boolean = false;\n @Watch('outline')\n validateOutline(newValue: MgBadge['outline']): void {\n if (newValue) this.classCollection.add(this.classOutline);\n else this.classCollection.delete(this.classOutline);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-badge']);\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateValue(this.value);\n this.validateLabel(this.label);\n this.validateVariant(this.variant);\n this.validateOutline(this.outline);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <span class={this.classCollection.join()}>\n <span class=\"mg-c-badge__value\">{this.value}</span>\n <span class=\"mg-u-visually-hidden\">{this.label}</span>\n </span>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-button2.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/atoms/mg-button/mg-button.conf.ts","../styles/dist/components/mg-button.css?tag=mg-button&encapsulation=shadow","src/components/atoms/mg-button/mg-button.tsx"],"sourcesContent":["import type { Variant, Size } from '../../../types';\n\n/**\n * List of all possibles sizes\n */\nexport const sizes = ['medium', 'large'] as const;\n\n/**\n * SizeType type from button sizes\n */\nexport type SizeType = Size & (typeof sizes)[number];\n\n/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'] as const;\n\n/**\n * VariantType type from button variants\n */\nexport type VariantType = Variant & (typeof variants)[number];\n\n/**\n * List of all possibles button types\n */\nexport const buttonTypes = ['button', 'submit', 'reset'] as const;\n\n/**\n * ButtonType type from buttonTypes\n */\nexport type ButtonType = (typeof buttonTypes)[number];\n","/*!\n * @prop --mg-c-button-border-radius: Defines the border radius of the button. The default value is `--mg-b-size-radius`.\n * @prop --mg-c-button-border-top-width: Defines the top border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-right-width: Defines the right border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-bottom-width: Defines the bottom border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-left-width: Defines the left border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-radius-top-left: Defines the top left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-top-right: Defines the top right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-right: Defines the bottom right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-left: Defines the bottom left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-font-weight: Defines the font weight of the button. Unset by default, fallback on `normal`.\n * @prop --mg-c-button-icon-border-radius: Defines the border radius of the button in icon mode. The default value is `--mg-b-size-min-height`.\n */:host{display:inline-block;max-width:100%;vertical-align:middle}:host(:hover) .mg-c-button--flat:not(.mg-c-button--disabled){background:color-mix(in srgb, var(--mg-b-color-dark), transparent 90%)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-c-button.mg-c-button--primary{/*!\n * @prop --mg-c-button-color-background-primary: Defines the background color for the primary variant button.\n * @prop --mg-c-button-color-border-primary: Defines the border color for the primary variant button.\n * @prop --mg-c-button-color-gradient-primary: Defines the gradient color for the primary variant button.\n * @prop --mg-c-button-color-text-primary: Defines the font color for the primary variant button.\n */border-color:var(--mg-c-button-color-border-primary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-primary), var(--mg-c-button-color-gradient-primary));color:var(--mg-c-button-color-text-primary)}:host(:hover) .mg-c-button.mg-c-button--primary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-primary)}.mg-c-button.mg-c-button--secondary{/*!\n * @prop --mg-c-button-color-background-secondary: Defines the background color for the secondary variant button.\n * @prop --mg-c-button-color-border-secondary: Defines the border color for the secondary variant button.\n * @prop --mg-c-button-color-gradient-secondary: Defines the gradient color for the secondary variant button.\n * @prop --mg-c-button-color-text-secondary: Defines the font color for the secondary variant button.\n */border-color:var(--mg-c-button-color-border-secondary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-secondary), var(--mg-c-button-color-gradient-secondary));color:var(--mg-c-button-color-text-secondary)}:host(:hover) .mg-c-button.mg-c-button--secondary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-secondary)}.mg-c-button.mg-c-button--danger{/*!\n * @prop --mg-c-button-color-background-danger: Defines the background color for the danger variant button.\n * @prop --mg-c-button-color-border-danger: Defines the border color for the danger variant button.\n * @prop --mg-c-button-color-gradient-danger: Defines the gradient color for the danger variant button.\n * @prop --mg-c-button-color-text-danger: Defines the font color for the danger variant button.\n */border-color:var(--mg-c-button-color-border-danger);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger), var(--mg-c-button-color-gradient-danger));color:var(--mg-c-button-color-text-danger)}:host(:hover) .mg-c-button.mg-c-button--danger:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger)}.mg-c-button.mg-c-button--info{/*!\n * @prop --mg-c-button-color-background-info: Defines the background color for the info variant button.\n * @prop --mg-c-button-color-border-info: Defines the border color for the info variant button.\n * @prop --mg-c-button-color-gradient-info: Defines the gradient color for the info variant button.\n * @prop --mg-c-button-color-text-info: Defines the font color for the info variant button.\n */border-color:var(--mg-c-button-color-border-info);background:linear-gradient(to bottom, var(--mg-c-button-color-background-info), var(--mg-c-button-color-gradient-info));color:var(--mg-c-button-color-text-info)}:host(:hover) .mg-c-button.mg-c-button--info:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-info)}.mg-c-button.mg-c-button--success{/*!\n * @prop --mg-c-button-color-background-success: Defines the background color for the success variant button.\n * @prop --mg-c-button-color-border-success: Defines the border color for the success variant button.\n * @prop --mg-c-button-color-gradient-success: Defines the gradient color for the success variant button.\n * @prop --mg-c-button-color-text-success: Defines the font color for the success variant button.\n */border-color:var(--mg-c-button-color-border-success);background:linear-gradient(to bottom, var(--mg-c-button-color-background-success), var(--mg-c-button-color-gradient-success));color:var(--mg-c-button-color-text-success)}:host(:hover) .mg-c-button.mg-c-button--success:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-success)}.mg-c-button.mg-c-button--warning{/*!\n * @prop --mg-c-button-color-background-warning: Defines the background color for the warning variant button.\n * @prop --mg-c-button-color-border-warning: Defines the border color for the warning variant button.\n * @prop --mg-c-button-color-gradient-warning: Defines the gradient color for the warning variant button.\n * @prop --mg-c-button-color-text-warning: Defines the font color for the warning variant button.\n */border-color:var(--mg-c-button-color-border-warning);background:linear-gradient(to bottom, var(--mg-c-button-color-background-warning), var(--mg-c-button-color-gradient-warning));color:var(--mg-c-button-color-text-warning)}:host(:hover) .mg-c-button.mg-c-button--warning:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-warning)}.mg-c-button.mg-c-button--danger-alt{/*!\n * @prop --mg-c-button-color-background-danger-alt: Defines the background color for the danger-alt variant button.\n * @prop --mg-c-button-color-border-danger-alt: Defines the border color for the danger-alt variant button.\n * @prop --mg-c-button-color-gradient-danger-alt: Defines the gradient color for the danger-alt variant button.\n * @prop --mg-c-button-color-text-danger-alt: Defines the font color for the danger-alt variant button.\n */border-color:var(--mg-c-button-color-border-danger-alt);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger-alt), var(--mg-c-button-color-gradient-danger-alt));color:var(--mg-c-button-color-text-danger-alt)}:host(:hover) .mg-c-button.mg-c-button--danger-alt:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger-alt)}.mg-c-button{position:relative;display:inline-flex;min-height:var(--mg-b-size-min-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-b-size-min-height) - 2*var(--mg-b-size-border) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-12);border-width:var(--mg-c-button-border-top-width, var(--mg-b-size-border)) var(--mg-c-button-border-right-width, var(--mg-b-size-border)) var(--mg-c-button-border-bottom-width, var(--mg-b-size-border)) var(--mg-c-button-border-left-width, var(--mg-b-size-border));border-style:solid;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-border-radius));background-image:none;column-gap:var(--mg-b-size-8);cursor:pointer;touch-action:manipulation;font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none}.mg-c-button slot,.mg-c-button ::slotted(*:not(mg-icon)){font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none;display:flex;align-items:center;column-gap:var(--mg-b-size-8)}.mg-c-button mg-icon:only-child,.mg-c-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;margin:auto 0;line-height:1}.mg-c-button.mg-c-button--disabled{cursor:default;opacity:var(--mg-b-opacity-element-disabled)}.mg-c-button.mg-c-button--flat{border:none;background:none}.mg-c-button.mg-c-button--link{min-height:unset;padding:unset;border:unset;border-radius:unset;background:unset;text-decoration:underline}.mg-c-button.mg-c-button--link slot{font-weight:600}.mg-c-button.mg-c-button--link:hover{text-decoration:none}.mg-c-button.mg-c-button--large{padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border)) calc(var(--mg-b-size-24) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon){line-height:var(--mg-b-size-24)}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) slot,.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) ::slotted(*){font-size:var(--mg-b-size-16)}.mg-c-button.mg-c-button--icon{width:var(--mg-b-size-min-height);height:var(--mg-b-size-min-height);justify-content:center;padding:0;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-icon-border-radius));font-size:var(--mg-b-font-size);line-height:var(--mg-b-font-size)}.mg-c-button.mg-c-button--icon.mg-c-button--large{width:unset;height:unset;padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--icon.mg-c-button--large ::slotted(*){min-width:var(--mg-b-size-24);min-height:var(--mg-b-size-24);align-items:center;justify-content:center}.mg-c-button.mg-c-button--full-width{display:flex;justify-content:center}.mg-c-button.mg-c-button--loading>mg-icon:first-of-type{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mg-c-button.mg-c-button--loading .mg-c-button__content{opacity:0}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-c-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:.2rem}/*# sourceMappingURL=mg-button.css.map */\n","import { Component, Element, h, Prop, State, Watch, Host, EventEmitter, Event } from '@stencil/core';\nimport { variants, VariantType, ButtonType, SizeType, sizes } from './mg-button.conf';\nimport { ClassList, isValidString, nextTick, toString } from '@mgdis/core-ui-helpers/dist/utils';\nimport { Keys } from '../../../utils/events.utils';\n\n/**\n * @slot - Button content\n */\n@Component({\n tag: 'mg-button',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-button.css',\n shadow: true,\n})\nexport class MgButton {\n /************\n * Internal *\n ************/\n\n private onClickElementFn = null;\n private readonly classDisabled = 'mg-c-button--disabled';\n private readonly classLoading = 'mg-c-button--loading';\n private readonly classFullWidth = 'mg-c-button--full-width';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgButtonElement;\n\n /**\n * Define button variant\n */\n @Prop({ mutable: true }) variant: VariantType = 'primary';\n @Watch('variant')\n validateVariant(newValue: VariantType, oldValue?: VariantType): void {\n // validate new value\n if (!variants.includes(newValue)) {\n if ((newValue as string) === '') {\n // Reactive framework like VUE render with `\"\"` when prop is update to undefined\n this.variant = variants[0];\n return;\n }\n throw new Error(`<mg-button> prop \"variant\" must be one of: ${variants.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n }\n }\n\n /**\n * aria-label\n * In case button text is not explicit enough\n */\n @Prop() label?: string;\n\n /**\n * Define button type\n */\n @Prop() type?: ButtonType;\n\n /**\n * Define button size\n */\n @Prop() size: SizeType = 'medium';\n @Watch('size')\n validateSize(newValue: MgButton['size'], oldValue?: MgButton['size']): void {\n // validate new value\n if (!sizes.includes(newValue)) {\n throw new Error(`<mg-button> prop \"size\" must be one of: ${sizes.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n this.setIconSize();\n }\n }\n\n /**\n * Set button to full-width\n */\n @Prop() fullWidth = false;\n @Watch('fullWidth')\n validateFullWidth(newValue: MgButton['fullWidth']): void {\n if (newValue && this.isIcon) {\n throw new Error('<mg-button> prop \"fullWidth\" cannot be used with prop \"isIcon\".');\n } else if (newValue) {\n this.classCollection.add(this.classFullWidth);\n } else {\n this.classCollection.delete(this.classFullWidth);\n }\n }\n\n /**\n * Define form id to attach button with.\n * If this attribute is not set, the `<button>` is associated with its ancestor `<form>` element.\n */\n @Prop() form?: string;\n\n /**\n * Disable button\n */\n @Prop({ mutable: true }) disabled?: boolean;\n @Watch('disabled')\n disabledHandler(isDisabled: MgButton['disabled']): void {\n // Remove loading when enable\n // Will be set back onclick\n if (!isDisabled && this.disableOnClick) {\n this.loading = false;\n }\n // Manage if onclick\n this.element.onclick = isDisabled ? undefined : this.onClickElementFn;\n\n // apply style\n if (isDisabled) {\n this.classCollection.add(this.classDisabled);\n } else {\n this.classCollection.delete(this.classDisabled);\n }\n\n // emit value update\n this.disabledChange.emit(isDisabled);\n }\n /**\n * Define if button is round.\n * Used for icon button.\n */\n @Prop() isIcon = false;\n @Watch('isIcon')\n watchIsIcon(newValue: boolean): void {\n if (newValue) {\n this.classCollection.add(`mg-c-button--icon`);\n if (!isValidString(this.label)) {\n throw new Error(`<mg-button> prop \"label\" is mandatory when prop \"isIcon\" is set to true.`);\n }\n }\n this.setIconSize();\n }\n\n /**\n * Option to set input disable on click, in order to prevent multi-click.\n * Parent component have to remove the attribute 'disabled' when the process ends.\n */\n @Prop() disableOnClick = false;\n\n /**\n * Define if button is loading, default to false.\n * Trigger when button is clicked or key-up ['enter', 'space], then value change to true.\n * It's required to reset to false when action/promise in parent is done to stop the loading state\n */\n @State() loading = false;\n @Watch('loading')\n loadingHandler(newValue: MgButton['loading']): void {\n // we add loading style if it newvalue is true else we remove it\n if (newValue) {\n this.classCollection.add(this.classLoading);\n } else {\n this.classCollection.delete(this.classLoading);\n }\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-button']);\n\n /**\n * Emmited event when disabled change\n */\n @Event({ eventName: 'disabled-change' }) disabledChange: EventEmitter<HTMLMgButtonElement['disabled']>;\n\n /**\n * Trigger actions onClick event\n * @param event - click event\n */\n private handleClick = (event: MouseEvent): void => {\n if (this.disabled) event.stopPropagation();\n // Used to prevent multi-click.\n else if (this.disableOnClick) {\n this.loading = true;\n this.disabled = true;\n }\n };\n\n /**\n * Handle onKeydown event\n * @param event - keyboard event\n */\n private handleKeydown = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n } else if (!this.disabled && [Keys.ENTER, Keys.NUMPADENTER, Keys.SPACE].includes(event.key)) {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Handle onKeyup event\n * @param event - keyboard event\n */\n private handleKeyup = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Set child `<mg-icon>` element `size` prop to follow the current `size` prop\n */\n private setIconSize = (): void => {\n if (this.size === 'medium') {\n this.element.querySelector('mg-icon[size]')?.removeAttribute('size');\n } else if (this.isIcon) {\n this.element.querySelector('mg-icon')?.setAttribute('size', this.size);\n }\n };\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateFullWidth(this.fullWidth);\n this.validateSize(this.size);\n this.watchIsIcon(this.isIcon);\n\n // Store the onclick fn\n this.onClickElementFn = this.element.onclick;\n this.disabledHandler(this.disabled);\n }\n\n /**\n * Add listners\n */\n componentDidLoad(): void {\n nextTick(() => {\n const closestForm = this.element.closest('form') || this.element.closest('mg-form')?.shadowRoot.querySelector('form');\n // submit buttons should trigger form submition;\n if (closestForm && ['submit', undefined].includes(this.type)) {\n this.element.addEventListener('click', () => {\n closestForm.dispatchEvent(new SubmitEvent('submit', { bubbles: true, cancelable: true }));\n });\n }\n });\n }\n\n /**\n * Render component\n * @returns html element\n */\n render(): HTMLElement {\n return (\n <Host\n role=\"button\"\n tabIndex={this.element.getAttribute('tabindex') || 0}\n type={this.type}\n form={this.form}\n full-width={this.fullWidth}\n aria-label={this.label}\n aria-disabled={this.disabled?.toString()}\n onClick={this.handleClick}\n onKeyup={this.handleKeyup}\n onKeydown={this.handleKeydown}\n >\n <div class={this.classCollection.join()}>\n {this.loading && <mg-icon icon=\"loader\" spin></mg-icon>}\n <div class=\"mg-c-button__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-card2.js","mappings":";;AAAA,MAAM,SAAS,GAAG,k2FAAk2F;;MCUv2F,MAAM,iBAAAA,kBAAA,CAAA,MAAA,MAAA,SAAA,WAAA,CAAA;;;;;;AACjB;;AAEe;AAEf;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAA,EACpB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["../styles/dist/components/mg-card.css?tag=mg-card&encapsulation=shadow","src/components/atoms/mg-card/mg-card.tsx"],"sourcesContent":["/*!\n * @prop --mg-c-card-overflow: Defines the overflow property for the card. Unset by default, fallback on `--mg-c-card-overflow-default`.\n * @prop --mg-c-card-overflow-default: Defines the default overflow property for the card. Unset by default.\n * @prop --mg-c-card-min-width: Defines the min-width property for the card. Unset by default.\n * @prop --mg-c-card-max-width: Defines the max-width property for the card. Unset by default.\n * @prop --mg-c-card-spacing: Defines the padding property for the card. Unset by default, fallback on `--mg-c-card-spacing-default`.\n * @prop --mg-c-card-spacing-default: Defines the default padding property for the card. Default value: `--mg-b-size-16`.\n * @prop --mg-c-card-border: Defines the border property for the card. Unset by default, fallback on `--mg-c-card-border-default`.\n * @prop --mg-c-card-border-default: Defines the default border property for the card. Default value: `var(--mg-b-size-border) solid color-mix(in srgb, var(--mg-b-color-dark), transparent 95%)`.\n * @prop --mg-c-card-border-radius: Defines the border radius property for the card. Unset by default, fallback on `--mg-c-card-border-radius-default`.\n * @prop --mg-c-card-border-radius-default: Defines the default border radius property for the card. Default value: `--mg-b-size-radius`.\n * @prop --mg-c-card-color-background: Defines the background property for the card. Unset by default, fallback on `--mg-c-card-color-background-default`.\n * @prop --mg-c-card-color-background-default: Defines the default background property for the card. Default value: `--mg-b-color-light`.\n * @prop --mg-c-card-box-shadow: Defines the box shadow property for the card. Unset by default, fallback on `--mg-c-card-box-shadow-default`.\n * @prop --mg-c-card-box-shadow-default: Defines the default box shadow property for the card. Default value: `--mg-b-box-shadow`.\n */.mg-c-card{position:relative;z-index:inherit;overflow:var(--mg-c-card-overflow, var(--mg-c-card-overflow-default));width:100%;min-width:var(--mg-c-card-min-width);max-width:var(--mg-c-card-max-width);box-sizing:border-box;padding:var(--mg-c-card-spacing, var(--mg-c-card-spacing-default));border:var(--mg-c-card-border, var(--mg-c-card-border-default));border-radius:var(--mg-c-card-border-radius, var(--mg-c-card-border-radius-default));background:var(--mg-c-card-color-background, var(--mg-c-card-color-background-default));box-shadow:var(--mg-c-card-box-shadow, var(--mg-c-card-box-shadow-default))}.mg-c-card ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border: var(--mg-c-card-border-default);--mg-c-card-spacing: var(--mg-c-card-spacing-default);--mg-c-card-border-radius: var(--mg-c-card-border-radius-default);--mg-c-card-color-background: var(--mg-c-card-color-background-default);--mg-c-card-box-shadow: var(--mg-c-card-box-shadow-default);--mg-c-card-max-width: unset;--mg-c-card-min-width: unset}/*# sourceMappingURL=mg-card.css.map */\n","import { Component, h } from '@stencil/core';\n\n/**\n * @slot - Card content\n */\n@Component({\n tag: 'mg-card',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-card.css',\n shadow: true,\n})\nexport class MgCard {\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <div class=\"mg-c-card\">\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-character-left.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-character-left2.js","mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,0iBAA0iB;;MCYxjB,eAAe,iBAAAA,kBAAA,CAAA,MAAA,eAAA,SAAA,WAAA,CAAA;AAL5B,IAAA,WAAA,GAAA;;;AAiCE;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAG,EAAE;AAwCxB;AAjDC,IAAA,eAAe,CAAC,QAAuC,EAAA;QACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACnD,OAAO,CAAC,KAAK,CAAC,CAAyE,sEAAA,EAAA,QAAQ,CAAC,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC;;;AAcjH,IAAA,iBAAiB,CAAC,QAAgB,EAAA;AAChC,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,CAAwF,qFAAA,EAAA,QAAQ,CAAC,QAAQ,CAAC,CAAG,CAAA,CAAA,CAAC;;;AAIlI;;AAEe;AAEf;;AAEG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ;;AAGpD;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACE,6DAAM,EAAE,EAAE,IAAI,CAAC,UAAU,eAAY,QAAQ,EAAA,EAC3C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,aAAA,EAAkB,MAAM,EAAA,EACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,OAAG,IAAI,CAAC,SAAS,CACpD,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAE,EAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAQ,CAC7H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement"],"sources":["../styles/dist/components/mg-character-left.css?tag=mg-character-left&encapsulation=scoped","src/components/atoms/internals/mg-character-left/mg-character-left.tsx"],"sourcesContent":[".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}mg-character-left{display:block}/*# sourceMappingURL=mg-character-left.css.map */\n","import { Component, Element, h, Prop, Watch } from '@stencil/core';\nimport { initLocales } from '../../../../locales';\nimport { isValideID, toString } from '@mgdis/core-ui-helpers/dist/utils';\n\n/**\n * @internal\n */\n@Component({\n tag: 'mg-character-left',\n styleUrl: '../../../../../node_modules/@mgdis/styles/dist/components/mg-character-left.css',\n scoped: true,\n})\nexport class MgCharacterLeft {\n /************\n * Internal *\n ************/\n\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgCharacterLeftElement;\n\n /**\n * Sets an `id` attribute.\n * Needed by the input for accessibility `aria-decribedby`.\n */\n @Prop() identifier?: string;\n @Watch('identifier')\n watchIdentifier(newValue: MgCharacterLeft['identifier']): void {\n if (newValue !== undefined && !isValideID(newValue)) {\n console.error(`<mg-character-left> prop \"identifier\" value is invalid. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Sets the characters to count\n */\n @Prop() characters = '';\n\n /**\n * Add maximum length\n */\n @Prop() maxlength!: number;\n @Watch('maxlength')\n validateMaxlength(newValue: number): void {\n if (typeof newValue !== 'number') {\n throw new Error(`<mg-character-left> prop \"maxlength\" is required and must be a number. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.watchIdentifier(this.identifier);\n this.validateMaxlength(this.maxlength);\n this.messages = initLocales(this.element).messages;\n }\n\n /**\n * Render component\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <span id={this.identifier} aria-live=\"polite\">\n <span aria-hidden=\"true\">\n {this.maxlength - this.characters.length}/{this.maxlength}\n </span>\n <span class=\"mg-u-visually-hidden\">{this.messages.nbCharLeft.replace('{counter}', this.maxlength - this.characters.length)}</span>\n </span>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-details.js","mappings":";;;;AAAA,MAAM,YAAY,GAAG,89CAA89C;;MCYt+CA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAA,WAAA,CAAA;AALtB,IAAA,WAAA,GAAA;;;;;AA0CE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK;AAE3B;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAWzC;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAAG,MAAW;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AACnC,SAAC;AAkDF;AAlFC,IAAA,cAAc,CAAC,QAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,yHAAA,EAA4H,IAAI,CAAC,YAAY,CAAA,sBAAA,EAAyB,IAAI,CAAC,YAAY,CAAA,GAAA,CAAK,CAC7L;;;AAcL,IAAA,cAAc,CAAC,QAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAepC;;AAEe;AAEf;;AAEG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;;QAGtC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC;AAClE,QAAA,IAAI,CAAC,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC;;QAGrF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAA2C,KAAI;YACrF,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,KAAK,IAAI,EAAE;gBAC1F,KAAK,CAAC,cAAc,EAAE;;AAE1B,SAAC,CAAC;;AAGJ;;;AAGG;IACH,MAAM,GAAA;QACJ,QACE,CACE,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,CAAC,cAAc,EAAE,EACnF,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,GAAG,EAAE,CAAC,EAAsB,MAAM,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAA,EAEpD,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAQ,CAAA,EAC5B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAChC,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAY,CAAA,EACzI,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,sBAAsB,EAAE,IAAI,CAAC,WAAW,EAAE,EAAG,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAQ,CACpH,CACC,EACV,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["MgDetails","__stencil_proxyCustomElement"],"sources":["../styles/dist/components/mg-details.css?tag=mg-details&encapsulation=shadow","src/components/molecules/mg-details/mg-details.tsx"],"sourcesContent":[".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}/*!\n * @prop --mg-c-details-spacing: Defines the spacing between the summary and the details. Default value: `--mg-b-size-8`.\n */.mg-c-details summary{display:inline-flex;align-items:baseline;cursor:pointer;gap:var(--mg-b-size-16)}.mg-c-details summary::-webkit-details-marker{display:none}.mg-c-details.mg-c-details--empty-summary summary{gap:unset}.mg-c-details__toggle{display:flex;min-height:calc(var(--mg-b-font-size)*var(--mg-b-line-height));flex-shrink:0;align-items:center;align-self:flex-start;gap:var(--mg-b-size-4)}.mg-c-details__toggle-icon.mg-c-details__toggle-icon--reverse{transform:rotate(180deg)}.mg-c-details__details{margin-top:var(--mg-c-details-spacing)}@media(width < 43.75rem){.mg-c-details:not(.mg-c-details--empty-summary) .mg-c-details__toggle>span{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}}/*# sourceMappingURL=mg-details.css.map */\n","import { Component, Event, EventEmitter, h, Prop, Watch, Element } from '@stencil/core';\nimport { isValidString } from '@mgdis/core-ui-helpers/dist/utils';\n\n/**\n * @slot summary - Summary content\n * @slot details - Details content\n */\n@Component({\n tag: 'mg-details',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-details.css',\n shadow: true,\n})\nexport class MgDetails {\n /************\n * Internal *\n ************/\n\n // HTML selector\n private details: HTMLDetailsElement;\n private isEmptySummary: boolean;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgDetailsElement;\n\n /**\n * Displayed title when details are closed\n */\n @Prop() toggleClosed!: string;\n\n /**\n * Displayed title when details are opened\n */\n @Prop() toggleOpened!: string;\n @Watch('toggleClosed')\n @Watch('toggleOpened')\n validateTitles(newValue: string): void {\n if (!isValidString(newValue)) {\n throw new Error(\n `<mg-details> prop \"toggleClosed\" and \"toggleOpened\" is required and must be a valid string. Passed value: \"toggleClosed='${this.toggleClosed}'\" and \"toggleOpened='${this.toggleOpened}'\".`,\n );\n }\n }\n\n /**\n * Hide summary element\n */\n @Prop() hideSummary = false;\n\n /**\n * Define if details are diplayed\n */\n @Prop({ mutable: true }) expanded = false;\n @Watch('expanded')\n handleExpanded(newValue: boolean): void {\n this.expandedChange.emit(newValue);\n }\n\n /**\n * Emmited event when expanded change\n */\n @Event({ eventName: 'expanded-change' }) expandedChange: EventEmitter<HTMLMgDetailsElement['expanded']>;\n\n /**\n * Handle details toggle\n */\n private handleToggle = (): void => {\n this.expanded = this.details.open;\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n this.validateTitles(this.toggleClosed);\n this.validateTitles(this.toggleOpened);\n\n // Check if summary slot is empty\n const summarySlot = this.element.querySelector('[slot=\"summary\"]');\n this.isEmptySummary = summarySlot === null || !isValidString(summarySlot.textContent);\n\n // Add event listener to prevent default action on summary click\n this.element.addEventListener('click', (event: MouseEvent & { target: HTMLElement }) => {\n if (event.target.closest('[slot=\"summary\"] mg-button, mg-button[slot=\"summary\"]') !== null) {\n event.preventDefault();\n }\n });\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <details\n class={{ 'mg-c-details': true, 'mg-c-details--empty-summary': this.isEmptySummary }}\n onToggle={this.handleToggle}\n open={this.expanded}\n ref={(el: HTMLDetailsElement) => (this.details = el)}\n >\n <summary>\n <slot name=\"summary\"></slot>\n <span class=\"mg-c-details__toggle\">\n <mg-icon icon=\"chevron-up\" class={{ 'mg-c-details__toggle-icon': true, 'mg-c-details__toggle-icon--reverse': !this.expanded }}></mg-icon>\n <span class={{ 'mg-u-visually-hidden': this.hideSummary }}>{this.expanded ? this.toggleOpened : this.toggleClosed}</span>\n </span>\n </summary>\n <div class=\"mg-c-details__details\">\n <slot name=\"details\"></slot>\n </div>\n </details>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"mg-divider.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"file":"mg-form.js","mappings":"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","names":["MgForm","__stencil_proxyCustomElement"],"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/core-ui-helpers/dist/utils';\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 * Emitted event on form reset\n */\n @Event({ eventName: 'form-reset' }) formReset: 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 this.checkValidity();\n this.formReset.emit(true);\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 if (mgButton.type === 'reset') {\n mgButton.addEventListener('click', () => {\n this.reset();\n });\n }\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}