@mgdis/mg-components 5.19.3 → 5.21.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 (493) hide show
  1. package/dist/cjs/{components.utils-69435877.js → components.utils-cd908d4e.js} +102 -99
  2. package/dist/cjs/components.utils-cd908d4e.js.map +1 -0
  3. package/dist/cjs/{index-60dd0c56.js → index-8532b5e9.js} +185 -87
  4. package/dist/cjs/index-8532b5e9.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/mg-action-more_34.cjs.entry.js +5140 -5107
  7. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
  8. package/dist/cjs/mg-components.cjs.js +3 -3
  9. package/dist/cjs/mg-components.cjs.js.map +1 -1
  10. package/dist/cjs/mg-item-more.cjs.entry.js +237 -222
  11. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  12. package/dist/collection/assets/icons/index.js +193 -191
  13. package/dist/collection/assets/icons/index.js.map +1 -0
  14. package/dist/collection/collection-manifest.json +6 -6
  15. package/dist/collection/components/atoms/mg-badge/mg-badge.js +161 -161
  16. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  17. package/dist/collection/components/atoms/mg-button/mg-button.js +362 -362
  18. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  19. package/dist/collection/components/atoms/mg-card/mg-card.js +126 -126
  20. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
  21. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +101 -101
  22. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -1
  23. package/dist/collection/components/atoms/mg-divider/mg-divider.js +47 -47
  24. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -1
  25. package/dist/collection/components/atoms/mg-icon/mg-icon.js +231 -231
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
  27. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +132 -132
  28. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
  29. package/dist/collection/components/atoms/mg-tag/mg-tag.js +158 -158
  30. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  31. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +46 -46
  32. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -1
  33. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +3 -3
  34. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
  35. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +398 -398
  36. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  37. package/dist/collection/components/molecules/inputs/MgInput.conf.js +2 -2
  38. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -1
  39. package/dist/collection/components/molecules/inputs/MgInput.js +84 -84
  40. package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +8 -8
  42. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -1
  43. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +266 -266
  44. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  45. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +4 -4
  46. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -1
  47. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +788 -791
  48. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  49. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +4 -4
  50. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
  51. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +588 -578
  52. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  53. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +4 -4
  54. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -1
  55. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +778 -773
  56. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  57. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +536 -526
  58. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  59. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +565 -555
  60. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
  61. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +700 -695
  62. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  63. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +770 -760
  64. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  65. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +705 -695
  66. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  67. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +527 -522
  68. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  69. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +2 -2
  70. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
  71. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +263 -263
  72. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
  73. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +6 -6
  74. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
  75. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +423 -423
  76. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  77. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +214 -214
  78. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  79. package/dist/collection/components/molecules/mg-details/mg-details.js +155 -150
  80. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  81. package/dist/collection/components/molecules/mg-form/mg-form.conf.js +9 -0
  82. package/dist/collection/components/molecules/mg-form/mg-form.conf.js.map +1 -0
  83. package/dist/collection/components/molecules/mg-form/mg-form.js +405 -327
  84. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  85. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +85 -85
  86. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
  87. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +203 -188
  88. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  89. package/dist/collection/components/molecules/mg-message/mg-message.js +325 -304
  90. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
  91. package/dist/collection/components/molecules/mg-modal/mg-modal.js +317 -317
  92. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  93. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +2 -2
  94. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -1
  95. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +216 -216
  96. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  97. package/dist/collection/components/molecules/mg-panel/mg-panel.js +409 -399
  98. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  99. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +91 -91
  100. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
  101. package/dist/collection/components/molecules/mg-popover/mg-popover.js +336 -329
  102. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  103. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +94 -94
  104. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
  105. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +4 -4
  106. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -1
  107. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +348 -343
  108. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  109. package/dist/collection/locales/fr/messages.json +4 -4
  110. package/dist/collection/locales/index.spec.js +20 -20
  111. package/dist/collection/locales/index.spec.js.map +1 -1
  112. package/dist/collection/utils/behaviors.utils.js +127 -127
  113. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  114. package/dist/collection/utils/behaviors.utils.spec.js +46 -42
  115. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
  116. package/dist/collection/utils/components.utils.js +77 -75
  117. package/dist/collection/utils/components.utils.js.map +1 -1
  118. package/dist/collection/utils/components.utils.spec.js +150 -140
  119. package/dist/collection/utils/components.utils.spec.js.map +1 -1
  120. package/dist/collection/utils/e2e.test.utils.js +21 -21
  121. package/dist/collection/utils/e2e.test.utils.js.map +1 -1
  122. package/dist/collection/utils/locale.utils.js +17 -17
  123. package/dist/collection/utils/locale.utils.js.map +1 -1
  124. package/dist/collection/utils/locale.utils.spec.js +45 -45
  125. package/dist/collection/utils/locale.utils.spec.js.map +1 -1
  126. package/dist/collection/utils/playwright.e2e.test.utils.js +41 -41
  127. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
  128. package/dist/collection/utils/playwright.fixture.js +24 -0
  129. package/dist/collection/utils/playwright.fixture.js.map +1 -0
  130. package/dist/collection/utils/unit.test.utils.js +50 -50
  131. package/dist/collection/utils/unit.test.utils.js.map +1 -1
  132. package/dist/components/MgInput.js +98 -98
  133. package/dist/components/MgInput.js.map +1 -1
  134. package/dist/components/components.utils.js +78 -76
  135. package/dist/components/components.utils.js.map +1 -1
  136. package/dist/components/index2.js +21 -21
  137. package/dist/components/index2.js.map +1 -1
  138. package/dist/components/mg-action-more.d.ts +2 -2
  139. package/dist/components/mg-action-more.js +173 -173
  140. package/dist/components/mg-action-more.js.map +1 -1
  141. package/dist/components/mg-badge.d.ts +2 -2
  142. package/dist/components/mg-badge2.js +83 -83
  143. package/dist/components/mg-badge2.js.map +1 -1
  144. package/dist/components/mg-button.d.ts +2 -2
  145. package/dist/components/mg-button2.js +182 -182
  146. package/dist/components/mg-button2.js.map +1 -1
  147. package/dist/components/mg-card.d.ts +2 -2
  148. package/dist/components/mg-card2.js +77 -77
  149. package/dist/components/mg-card2.js.map +1 -1
  150. package/dist/components/mg-character-left.d.ts +2 -2
  151. package/dist/components/mg-character-left2.js +50 -50
  152. package/dist/components/mg-character-left2.js.map +1 -1
  153. package/dist/components/mg-details.d.ts +2 -2
  154. package/dist/components/mg-details.js +69 -69
  155. package/dist/components/mg-details.js.map +1 -1
  156. package/dist/components/mg-divider.d.ts +2 -2
  157. package/dist/components/mg-divider.js +30 -30
  158. package/dist/components/mg-divider.js.map +1 -1
  159. package/dist/components/mg-form.d.ts +2 -2
  160. package/dist/components/mg-form.js +203 -171
  161. package/dist/components/mg-form.js.map +1 -1
  162. package/dist/components/mg-icon.d.ts +2 -2
  163. package/dist/components/mg-icon2.js +319 -317
  164. package/dist/components/mg-icon2.js.map +1 -1
  165. package/dist/components/mg-illustrated-message.d.ts +2 -2
  166. package/dist/components/mg-illustrated-message.js +51 -51
  167. package/dist/components/mg-illustrated-message.js.map +1 -1
  168. package/dist/components/mg-input-checkbox-paginated.d.ts +2 -2
  169. package/dist/components/mg-input-checkbox-paginated2.js +170 -170
  170. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  171. package/dist/components/mg-input-checkbox.d.ts +2 -2
  172. package/dist/components/mg-input-checkbox.js +477 -480
  173. package/dist/components/mg-input-checkbox.js.map +1 -1
  174. package/dist/components/mg-input-date.d.ts +2 -2
  175. package/dist/components/mg-input-date.js +265 -265
  176. package/dist/components/mg-input-date.js.map +1 -1
  177. package/dist/components/mg-input-numeric.d.ts +2 -2
  178. package/dist/components/mg-input-numeric.js +353 -353
  179. package/dist/components/mg-input-numeric.js.map +1 -1
  180. package/dist/components/mg-input-password.d.ts +2 -2
  181. package/dist/components/mg-input-password.js +204 -204
  182. package/dist/components/mg-input-password.js.map +1 -1
  183. package/dist/components/mg-input-radio.d.ts +2 -2
  184. package/dist/components/mg-input-radio.js +234 -234
  185. package/dist/components/mg-input-radio.js.map +1 -1
  186. package/dist/components/mg-input-select.d.ts +2 -2
  187. package/dist/components/mg-input-select2.js +315 -315
  188. package/dist/components/mg-input-select2.js.map +1 -1
  189. package/dist/components/mg-input-text.d.ts +2 -2
  190. package/dist/components/mg-input-text2.js +305 -305
  191. package/dist/components/mg-input-text2.js.map +1 -1
  192. package/dist/components/mg-input-textarea.d.ts +2 -2
  193. package/dist/components/mg-input-textarea.js +276 -276
  194. package/dist/components/mg-input-textarea.js.map +1 -1
  195. package/dist/components/mg-input-title.d.ts +2 -2
  196. package/dist/components/mg-input-title2.js +60 -60
  197. package/dist/components/mg-input-title2.js.map +1 -1
  198. package/dist/components/mg-input-toggle.d.ts +2 -2
  199. package/dist/components/mg-input-toggle.js +251 -251
  200. package/dist/components/mg-input-toggle.js.map +1 -1
  201. package/dist/components/mg-item-more.d.ts +2 -2
  202. package/dist/components/mg-item-more.js +298 -283
  203. package/dist/components/mg-item-more.js.map +1 -1
  204. package/dist/components/mg-menu-item.d.ts +2 -2
  205. package/dist/components/mg-menu-item2.js +345 -345
  206. package/dist/components/mg-menu-item2.js.map +1 -1
  207. package/dist/components/mg-menu.conf.js +2 -2
  208. package/dist/components/mg-menu.conf.js.map +1 -1
  209. package/dist/components/mg-menu.d.ts +2 -2
  210. package/dist/components/mg-menu2.js +176 -176
  211. package/dist/components/mg-menu2.js.map +1 -1
  212. package/dist/components/mg-message.d.ts +2 -2
  213. package/dist/components/mg-message.js +197 -192
  214. package/dist/components/mg-message.js.map +1 -1
  215. package/dist/components/mg-modal.d.ts +2 -2
  216. package/dist/components/mg-modal.js +198 -198
  217. package/dist/components/mg-modal.js.map +1 -1
  218. package/dist/components/mg-pagination.d.ts +2 -2
  219. package/dist/components/mg-pagination2.js +133 -133
  220. package/dist/components/mg-pagination2.js.map +1 -1
  221. package/dist/components/mg-panel.d.ts +2 -2
  222. package/dist/components/mg-panel.js +238 -238
  223. package/dist/components/mg-panel.js.map +1 -1
  224. package/dist/components/mg-popover-content.d.ts +2 -2
  225. package/dist/components/mg-popover-content2.js +69 -69
  226. package/dist/components/mg-popover-content2.js.map +1 -1
  227. package/dist/components/mg-popover.d.ts +2 -2
  228. package/dist/components/mg-popover2.js +224 -222
  229. package/dist/components/mg-popover2.js.map +1 -1
  230. package/dist/components/mg-skip-links.d.ts +2 -2
  231. package/dist/components/mg-skip-links.js +57 -57
  232. package/dist/components/mg-skip-links.js.map +1 -1
  233. package/dist/components/mg-tabs.d.ts +2 -2
  234. package/dist/components/mg-tabs.js +243 -243
  235. package/dist/components/mg-tabs.js.map +1 -1
  236. package/dist/components/mg-tag.d.ts +2 -2
  237. package/dist/components/mg-tag.js +97 -97
  238. package/dist/components/mg-tag.js.map +1 -1
  239. package/dist/components/mg-tooltip-content.d.ts +2 -2
  240. package/dist/components/mg-tooltip-content2.js +30 -30
  241. package/dist/components/mg-tooltip-content2.js.map +1 -1
  242. package/dist/components/mg-tooltip.d.ts +2 -2
  243. package/dist/components/mg-tooltip2.js +316 -316
  244. package/dist/components/mg-tooltip2.js.map +1 -1
  245. package/dist/esm/{components.utils-6cf27db1.js → components.utils-0d67c31c.js} +102 -100
  246. package/dist/esm/components.utils-0d67c31c.js.map +1 -0
  247. package/dist/esm/{index-0f833068.js → index-f34a3a2c.js} +185 -87
  248. package/dist/esm/index-f34a3a2c.js.map +1 -0
  249. package/dist/esm/loader.js +3 -3
  250. package/dist/esm/mg-action-more_34.entry.js +5140 -5107
  251. package/dist/esm/mg-action-more_34.entry.js.map +1 -1
  252. package/dist/esm/mg-components.js +4 -4
  253. package/dist/esm/mg-components.js.map +1 -1
  254. package/dist/esm/mg-item-more.entry.js +237 -222
  255. package/dist/esm/mg-item-more.entry.js.map +1 -1
  256. package/dist/mg-components/locales/fr/messages.json +4 -4
  257. package/dist/mg-components/mg-components.esm.js +1 -1
  258. package/dist/mg-components/mg-components.esm.js.map +1 -1
  259. package/dist/mg-components/p-7444ff40.js +3 -0
  260. package/dist/mg-components/p-7444ff40.js.map +1 -0
  261. package/dist/mg-components/p-af42d17b.js +2 -0
  262. package/dist/mg-components/p-af42d17b.js.map +1 -0
  263. package/dist/mg-components/p-ce356bc0.entry.js +2 -0
  264. package/dist/mg-components/p-ce356bc0.entry.js.map +1 -0
  265. package/dist/mg-components/p-e591ba8f.entry.js +2 -0
  266. package/dist/mg-components/p-e591ba8f.entry.js.map +1 -0
  267. package/dist/types/assets/icons/index.d.ts +193 -0
  268. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +41 -41
  269. package/dist/types/components/atoms/mg-button/mg-button.d.ts +100 -100
  270. package/dist/types/components/atoms/mg-card/mg-card.d.ts +39 -39
  271. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +37 -37
  272. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +12 -12
  273. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +56 -56
  274. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +34 -34
  275. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +51 -51
  276. package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +12 -12
  277. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +3 -3
  278. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +113 -113
  279. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +5 -5
  280. package/dist/types/components/molecules/inputs/MgInput.d.ts +16 -16
  281. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +100 -100
  282. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +26 -26
  283. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +262 -262
  284. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +4 -4
  285. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +150 -150
  286. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.d.ts +4 -4
  287. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +223 -223
  288. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +142 -142
  289. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +3 -3
  290. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +152 -152
  291. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +6 -6
  292. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +193 -193
  293. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +195 -195
  294. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +181 -181
  295. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +2 -2
  296. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +141 -141
  297. package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -2
  298. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +97 -97
  299. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +6 -6
  300. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +179 -179
  301. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +12 -12
  302. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +72 -72
  303. package/dist/types/components/molecules/mg-details/mg-details.d.ts +45 -45
  304. package/dist/types/components/molecules/mg-form/mg-form.conf.d.ts +16 -0
  305. package/dist/types/components/molecules/mg-form/mg-form.d.ts +120 -103
  306. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +27 -27
  307. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +5 -5
  308. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +67 -61
  309. package/dist/types/components/molecules/mg-message/mg-message.d.ts +100 -93
  310. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +107 -107
  311. package/dist/types/components/molecules/mg-pagination/mg-pagination.conf.d.ts +2 -2
  312. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +74 -74
  313. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +149 -149
  314. package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +43 -43
  315. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +88 -88
  316. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +2 -2
  317. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +40 -40
  318. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +10 -10
  319. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +118 -118
  320. package/dist/types/components.d.ts +312 -30
  321. package/dist/types/locales/index.d.ts +172 -172
  322. package/dist/types/stencil-public-runtime.d.ts +29 -0
  323. package/dist/types/utils/behaviors.utils.d.ts +65 -65
  324. package/dist/types/utils/components.utils.d.ts +32 -26
  325. package/dist/types/utils/locale.utils.d.ts +2 -2
  326. package/dist/types/utils/playwright.fixture.d.ts +3 -0
  327. package/dist/types/utils/unit.test.utils.d.ts +5 -5
  328. package/package.json +19 -33
  329. package/dist/cjs/components.utils-69435877.js.map +0 -1
  330. package/dist/cjs/index-60dd0c56.js.map +0 -1
  331. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +0 -33
  332. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +0 -1
  333. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +0 -70
  334. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +0 -1
  335. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +0 -91
  336. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +0 -1
  337. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +0 -192
  338. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +0 -1
  339. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +0 -36
  340. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +0 -1
  341. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +0 -43
  342. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +0 -1
  343. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +0 -15
  344. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +0 -1
  345. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +0 -42
  346. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +0 -1
  347. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +0 -11
  348. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +0 -1
  349. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +0 -14
  350. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +0 -1
  351. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +0 -55
  352. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +0 -1
  353. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +0 -84
  354. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +0 -1
  355. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +0 -12
  356. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +0 -1
  357. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +0 -23
  358. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +0 -1
  359. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +0 -23
  360. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +0 -1
  361. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +0 -71
  362. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +0 -1
  363. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +0 -138
  364. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +0 -1
  365. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +0 -272
  366. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +0 -1
  367. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +0 -237
  368. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +0 -1
  369. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +0 -634
  370. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +0 -1
  371. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +0 -123
  372. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +0 -1
  373. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +0 -383
  374. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +0 -1
  375. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +0 -212
  376. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +0 -1
  377. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +0 -460
  378. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +0 -1
  379. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +0 -115
  380. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +0 -1
  381. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +0 -293
  382. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +0 -1
  383. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +0 -154
  384. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +0 -1
  385. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +0 -359
  386. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +0 -1
  387. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +0 -194
  388. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +0 -1
  389. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +0 -403
  390. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +0 -1
  391. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +0 -147
  392. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +0 -1
  393. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +0 -355
  394. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +0 -1
  395. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +0 -129
  396. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +0 -1
  397. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +0 -320
  398. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +0 -1
  399. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +0 -108
  400. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +0 -1
  401. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +0 -247
  402. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +0 -1
  403. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js +0 -239
  404. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +0 -1
  405. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +0 -175
  406. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +0 -1
  407. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +0 -100
  408. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +0 -1
  409. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +0 -295
  410. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +0 -1
  411. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +0 -136
  412. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +0 -1
  413. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +0 -195
  414. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +0 -1
  415. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +0 -30
  416. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +0 -1
  417. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +0 -42
  418. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +0 -1
  419. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +0 -169
  420. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +0 -1
  421. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +0 -292
  422. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +0 -1
  423. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +0 -39
  424. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +0 -1
  425. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +0 -36
  426. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +0 -1
  427. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +0 -85
  428. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +0 -1
  429. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +0 -106
  430. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +0 -1
  431. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +0 -64
  432. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +0 -1
  433. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +0 -109
  434. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +0 -1
  435. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +0 -62
  436. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +0 -1
  437. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +0 -40
  438. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +0 -1
  439. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +0 -26
  440. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +0 -1
  441. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +0 -122
  442. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +0 -1
  443. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +0 -57
  444. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +0 -1
  445. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +0 -121
  446. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +0 -1
  447. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +0 -106
  448. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +0 -1
  449. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +0 -213
  450. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +0 -1
  451. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js +0 -140
  452. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +0 -1
  453. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +0 -142
  454. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +0 -1
  455. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +0 -55
  456. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +0 -1
  457. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +0 -55
  458. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +0 -1
  459. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +0 -76
  460. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +0 -1
  461. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +0 -332
  462. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +0 -1
  463. package/dist/collection/utils/stencil.e2e.test.utils.js +0 -33
  464. package/dist/collection/utils/stencil.e2e.test.utils.js.map +0 -1
  465. package/dist/esm/components.utils-6cf27db1.js.map +0 -1
  466. package/dist/esm/index-0f833068.js.map +0 -1
  467. package/dist/mg-components/p-10ed4425.entry.js +0 -2
  468. package/dist/mg-components/p-10ed4425.entry.js.map +0 -1
  469. package/dist/mg-components/p-36a51c5e.js +0 -2
  470. package/dist/mg-components/p-36a51c5e.js.map +0 -1
  471. package/dist/mg-components/p-91feda5a.entry.js +0 -2
  472. package/dist/mg-components/p-91feda5a.entry.js.map +0 -1
  473. package/dist/mg-components/p-9b12021b.js +0 -3
  474. package/dist/mg-components/p-9b12021b.js.map +0 -1
  475. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +0 -1
  476. package/dist/types/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts +0 -1
  477. package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +0 -1
  478. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +0 -1
  479. package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +0 -1
  480. package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +0 -1
  481. package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +0 -1
  482. package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +0 -1
  483. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +0 -2
  484. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +0 -1
  485. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +0 -1
  486. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +0 -1
  487. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +0 -12
  488. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +0 -1
  489. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +0 -1
  490. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +0 -1
  491. package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +0 -1
  492. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +0 -1
  493. package/dist/types/utils/stencil.e2e.test.utils.d.ts +0 -14
@@ -1,13 +1,13 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { c as createID, i as isValidString, g as getWindows, f as focusableElements } from './components.utils.js';
2
+ import { n as nextTick, c as createID, i as isValidString, g as getWindows, f as focusableElements } from './components.utils.js';
3
3
  import { d as defineCustomElement$1 } from './mg-tooltip-content2.js';
4
4
  import { c as createPopper } from './popper.js';
5
5
 
6
6
  var Guard;
7
7
  (function (Guard) {
8
- Guard["FOCUS"] = "focus";
9
- Guard["HOVER_TOOLTIP_ELEMENT"] = "hoverTooltipGuard";
10
- Guard["HOVER_TOOLTIPED_ELEMENT"] = "hoverTooltipedGuard";
8
+ Guard["FOCUS"] = "focus";
9
+ Guard["HOVER_TOOLTIP_ELEMENT"] = "hoverTooltipGuard";
10
+ Guard["HOVER_TOOLTIPED_ELEMENT"] = "hoverTooltipedGuard";
11
11
  })(Guard || (Guard = {}));
12
12
 
13
13
  const mgTooltipCss = ":host{display:inline-block}";
@@ -19,332 +19,332 @@ const mgTooltipCss = ":host{display:inline-block}";
19
19
  */
20
20
  const isButton = (element) => typeof element === 'object' && ['MG-BUTTON', 'BUTTON'].includes(element.tagName);
21
21
  const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLElement {
22
- constructor() {
23
- super();
24
- this.__registerHost();
25
- this.__attachShadow();
26
- /**
27
- * Show tooltip
28
- */
29
- this.show = () => {
30
- // Make the tooltip visible
31
- this.mgTooltipContent.dataset.show = '';
32
- // Enable the event listeners
33
- this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }] })));
34
- // hide when click outside
35
- // setTimeout is used to prevent event to trigger after creation
36
- setTimeout(() => {
37
- this.windows.forEach((localWindow) => {
38
- localWindow.addEventListener('click', this.clickOutside, false);
39
- localWindow.addEventListener('keydown', this.pressEscape, false);
40
- });
41
- }, 0);
42
- };
43
- /**
44
- * Hide tooltip
45
- */
46
- this.hide = () => {
47
- // Hide the tooltip
48
- this.mgTooltipContent.removeAttribute('data-show');
49
- // Disable the event listeners
50
- this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }] })));
51
- // Remove event listener
52
- this.windows.forEach((localWindow) => {
53
- localWindow.removeEventListener('click', this.clickOutside, false);
54
- localWindow.removeEventListener('keyboard', this.pressEscape, false);
55
- });
56
- };
57
- /**
58
- * Check if clicked outside of component and hidde tooltip
59
- * @param event - mouse event
60
- */
61
- this.clickOutside = (event) => {
62
- if (event.target.closest('mg-tooltip') !== this.element)
63
- this.setDisplay(false);
64
- };
65
- /**
66
- * Check if 'Escape' key is pressed of component and hidde tooltip
67
- * @param event - keyboard event
68
- */
69
- this.pressEscape = (event) => {
70
- if (event.code === 'Escape') {
71
- this.setDisplay(false);
72
- this.resetGuard();
73
- }
74
- };
75
- /**
76
- * Method to set display prop
77
- * @param newValue - display prop new value
78
- * @param condition - additionnal condition to apply display prop newValue
79
- */
80
- this.setDisplay = (newValue, condition = true) => {
81
- if (!this.disabled && condition)
82
- this.display = newValue;
83
- };
22
+ constructor() {
23
+ super();
24
+ this.__registerHost();
25
+ this.__attachShadow();
26
+ /**
27
+ * Show tooltip
28
+ */
29
+ this.show = () => {
30
+ // Make the tooltip visible
31
+ this.mgTooltipContent.dataset.show = '';
32
+ // Enable the event listeners
33
+ this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }] })));
34
+ // hide when click outside on nextTick to prevent event to trigger after creation
35
+ nextTick(() => {
36
+ this.windows.forEach((localWindow) => {
37
+ localWindow.addEventListener('click', this.clickOutside, false);
38
+ localWindow.addEventListener('keydown', this.pressEscape, false);
39
+ });
40
+ });
41
+ };
42
+ /**
43
+ * Hide tooltip
44
+ */
45
+ this.hide = () => {
46
+ // Hide the tooltip
47
+ this.mgTooltipContent.removeAttribute('data-show');
48
+ // Disable the event listeners
49
+ this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }] })));
50
+ // Remove event listener
51
+ this.windows.forEach((localWindow) => {
52
+ localWindow.removeEventListener('click', this.clickOutside, false);
53
+ localWindow.removeEventListener('keyboard', this.pressEscape, false);
54
+ });
55
+ };
56
+ /**
57
+ * Check if clicked outside of component and hidde tooltip
58
+ * @param event - mouse event
59
+ */
60
+ this.clickOutside = (event) => {
61
+ if (event.target.closest('mg-tooltip') !== this.element)
62
+ this.setDisplay(false);
63
+ };
64
+ /**
65
+ * Check if 'Escape' key is pressed of component and hidde tooltip
66
+ * @param event - keyboard event
67
+ */
68
+ this.pressEscape = (event) => {
69
+ if (event.code === 'Escape') {
70
+ this.setDisplay(false);
71
+ this.resetGuard();
72
+ }
73
+ };
74
+ /**
75
+ * Method to set display prop
76
+ * @param newValue - display prop new value
77
+ * @param condition - additionnal condition to apply display prop newValue
78
+ */
79
+ this.setDisplay = (newValue, condition = true) => {
80
+ if (!this.disabled && condition)
81
+ this.display = newValue;
82
+ };
83
+ /**
84
+ * Action for tooltip element and tooltiped element mouse listener
85
+ * @param elementGuard - tooltip element guard
86
+ * @param isMouseenter - mouseenter validation
87
+ * @param conditionalGuard - guard condition
88
+ */
89
+ this.tooltipMouseListenerAction = (elementGuard, isMouseenter, conditionalGuard) => {
90
+ // we mutate elementGuard
91
+ if (this.guard !== Guard.FOCUS) {
92
+ this.guard = elementGuard;
93
+ if (!isMouseenter) {
94
+ // process action in the next event loop macro task
95
+ setTimeout(() => {
96
+ this.setDisplay(isMouseenter, this.guard !== conditionalGuard);
97
+ this.resetGuard();
98
+ }, 100);
99
+ }
100
+ else if (this.guard === Guard.HOVER_TOOLTIPED_ELEMENT) {
101
+ this.setDisplay(isMouseenter);
102
+ }
103
+ }
104
+ };
105
+ /**
106
+ * Method to reset guard value
107
+ */
108
+ this.resetGuard = () => {
109
+ this.guard = undefined;
110
+ };
111
+ /**
112
+ * Update slot content when it is a mg-button
113
+ * @param mgButton - slotted mg-button
114
+ */
115
+ this.setMgButtonWrapper = (mgButton) => {
116
+ if (mgButton.disabled) {
117
+ const div = document.createElement('div');
118
+ div.classList.add('mg-c-tooltip__mg-button-wrapper');
119
+ mgButton.parentNode.insertBefore(div, mgButton);
120
+ div.appendChild(mgButton);
121
+ this.tooltipedElement = div;
122
+ }
123
+ else if (mgButton.parentElement.classList.contains('mg-c-tooltip__mg-button-wrapper')) {
124
+ this.element.firstElementChild.replaceWith(mgButton);
125
+ this.tooltipedElement = mgButton;
126
+ }
127
+ };
128
+ /**
129
+ * Init tooltip
130
+ * @param slotElement - slotted element
131
+ * @param interactiveElement - interactive element
132
+ */
133
+ this.initTooltip = (slotElement, interactiveElement) => {
134
+ // Add tabindex to slotted element if we can't find any interactive element
135
+ if (!this.disabled && !interactiveElement) {
136
+ this.hasCustomTabIndex = true;
137
+ slotElement.tabIndex = 0;
138
+ // Add role on non-interactive element to work with "aria-describedby" for screen readers
139
+ slotElement.setAttribute('role', 'button');
140
+ }
141
+ // Set aria-describedby
142
+ const ariaDescribedby = slotElement.getAttribute('aria-describedby');
143
+ if (ariaDescribedby === null) {
144
+ this.tooltipedElement.setAttribute('aria-describedby', this.identifier);
145
+ }
146
+ else {
147
+ // We ensure to have uniq ids
148
+ slotElement.setAttribute('aria-describedby', `${[...new Set([...ariaDescribedby.split(' '), this.identifier])].join(' ')}`);
149
+ }
150
+ // Create popperjs tooltip
151
+ this.popper = createPopper(this.tooltipedElement, this.mgTooltipContent, {
152
+ placement: this.placement,
153
+ strategy: 'fixed',
154
+ modifiers: [
155
+ {
156
+ name: 'offset',
157
+ options: {
158
+ offset: [0, 8],
159
+ },
160
+ },
161
+ {
162
+ name: 'flip',
163
+ options: {
164
+ fallbackPlacements: ['auto'],
165
+ },
166
+ },
167
+ ],
168
+ });
169
+ // Manage tooltipedElement focus/blur events
170
+ this.tooltipedElement.addEventListener('focus', () => {
171
+ this.guard = Guard.FOCUS;
172
+ this.setDisplay(true);
173
+ });
174
+ // as `click` event is the composition of `mousedown` and `mouseup` event,
175
+ // and `click` event trigger `focus` event after a success `mousedown` wich set the `guard` to `Guard.FOCUS`
176
+ // we reset the guard on `mouseup` event to unlock tooltip
177
+ this.tooltipedElement.addEventListener('mouseup', () => {
178
+ this.resetGuard();
179
+ });
180
+ this.tooltipedElement.addEventListener('blur', () => {
181
+ this.resetGuard();
182
+ this.setDisplay(false);
183
+ });
184
+ document.addEventListener('keydown', this.pressEscape);
185
+ // manage tooltipElement & tooltipedElement mouseenter/mouseleave events
186
+ ['mouseenter', 'mouseleave'].forEach(eventType => {
187
+ const isMouseenter = eventType === 'mouseenter';
188
+ [
189
+ { element: this.mgTooltipContent, action: () => this.tooltipMouseListenerAction(Guard.HOVER_TOOLTIP_ELEMENT, isMouseenter, Guard.HOVER_TOOLTIPED_ELEMENT) },
190
+ { element: this.tooltipedElement, action: () => this.tooltipMouseListenerAction(Guard.HOVER_TOOLTIPED_ELEMENT, isMouseenter, Guard.HOVER_TOOLTIP_ELEMENT) },
191
+ ].forEach(({ element, action }) => {
192
+ element.addEventListener(eventType, () => {
193
+ action();
194
+ });
195
+ });
196
+ });
197
+ };
198
+ this.identifier = createID('mg-tooltip');
199
+ this.message = undefined;
200
+ this.placement = 'bottom';
201
+ this.display = false;
202
+ this.disabled = false;
203
+ }
204
+ validateIdentifier() {
205
+ // use renderTooltipContent to update tooltip-content id
206
+ this.renderTooltipContent();
207
+ }
208
+ validateMessage(newValue) {
209
+ if (!isValidString(newValue)) {
210
+ throw new Error('<mg-tooltip> prop "message" is required.');
211
+ }
212
+ this.mgTooltipContent.message = newValue;
213
+ }
214
+ handleDisplay(newValue) {
215
+ if (newValue) {
216
+ this.show();
217
+ }
218
+ else {
219
+ this.hide();
220
+ }
221
+ }
222
+ validateDisabled(newValue) {
223
+ if (this.hasCustomTabIndex) {
224
+ if (newValue)
225
+ this.tooltipedElement.removeAttribute('tabindex');
226
+ else if (this.tooltipedElement.getAttribute('tabindex') === null)
227
+ this.tooltipedElement.setAttribute('tabindex', '0');
228
+ }
229
+ }
84
230
  /**
85
- * Action for tooltip element and tooltiped element mouse listener
86
- * @param elementGuard - tooltip element guard
87
- * @param isMouseenter - mouseenter validation
88
- * @param conditionalGuard - guard condition
231
+ * Render tooltip content element
89
232
  */
90
- this.tooltipMouseListenerAction = (elementGuard, isMouseenter, conditionalGuard) => {
91
- // we mutate elementGuard
92
- if (this.guard !== Guard.FOCUS) {
93
- this.guard = elementGuard;
94
- if (!isMouseenter) {
95
- setTimeout(() => {
96
- this.setDisplay(isMouseenter, this.guard !== conditionalGuard);
97
- this.resetGuard();
98
- }, 100);
233
+ renderTooltipContent() {
234
+ const mgTooltipContent = this.element.querySelector('mg-tooltip-content');
235
+ if (mgTooltipContent === null) {
236
+ const mgTooltipContent = document.createElement('mg-tooltip-content');
237
+ mgTooltipContent.setAttribute('slot', 'content');
238
+ mgTooltipContent.setAttribute('id', this.identifier);
239
+ const arrow = document.createElement('div');
240
+ arrow.setAttribute('slot', 'arrow');
241
+ arrow.dataset.popperArrow = '';
242
+ mgTooltipContent.appendChild(arrow);
243
+ // append tooltip element to component
244
+ this.element.appendChild(mgTooltipContent);
99
245
  }
100
- else if (this.guard === Guard.HOVER_TOOLTIPED_ELEMENT) {
101
- this.setDisplay(isMouseenter);
246
+ else {
247
+ mgTooltipContent.setAttribute('id', this.identifier);
102
248
  }
103
- }
104
- };
249
+ }
250
+ /*************
251
+ * Lifecycle *
252
+ *************/
105
253
  /**
106
- * Method to reset guard value
254
+ * set variables
107
255
  */
108
- this.resetGuard = () => {
109
- this.guard = undefined;
110
- };
256
+ componentWillLoad() {
257
+ // Get windows to attach events
258
+ this.windows = getWindows(window);
259
+ // Get tooltip element
260
+ this.renderTooltipContent();
261
+ this.mgTooltipContent = this.element.querySelector(`#${this.identifier}`);
262
+ //validate properties
263
+ this.validateDisabled(this.disabled);
264
+ this.validateMessage(this.message);
265
+ this.validateIdentifier();
266
+ }
111
267
  /**
112
- * Update slot content when it is a mg-button
113
- * @param mgButton - slotted mg-button
268
+ * Get slotted element
269
+ * Check if it already contain an interactive element, if not we need to add a tabIndex attribute
270
+ * We need to attach the focused element to the tooltip (aria-describedby)
114
271
  */
115
- this.setMgButtonWrapper = (mgButton) => {
116
- if (mgButton.disabled) {
117
- const div = document.createElement('div');
118
- div.classList.add('mg-c-tooltip__mg-button-wrapper');
119
- mgButton.parentNode.insertBefore(div, mgButton);
120
- div.appendChild(mgButton);
121
- this.tooltipedElement = div;
122
- }
123
- else if (mgButton.parentElement.classList.contains('mg-c-tooltip__mg-button-wrapper')) {
124
- this.element.firstElementChild.replaceWith(mgButton);
125
- this.tooltipedElement = mgButton;
126
- }
127
- };
272
+ componentDidLoad() {
273
+ var _a;
274
+ // get slotted element wich is not the tooltip
275
+ const slotElement = this.element.querySelector(`*:not(#${this.identifier})`);
276
+ // Get interactive element
277
+ const interactiveElement = slotElement.matches(focusableElements) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(focusableElements);
278
+ // define selected element to become tooltip selector
279
+ this.tooltipedElement = interactiveElement || slotElement;
280
+ // Check if slotted element is a disabled mg-button
281
+ // In this case we wrap the mg-button into a div to enable the tooltip
282
+ if (isButton(slotElement)) {
283
+ new MutationObserver(mutationList => {
284
+ if (mutationList.some(mutation => ['aria-disabled', 'disabled'].includes(mutation.attributeName))) {
285
+ this.setMgButtonWrapper(slotElement);
286
+ // Since Firefox doesn't trigger a "blur" event when the "disabled" attribute is added or removed from a button
287
+ // we have to manually unlock the guard because the "blur" handler of the tooltipedElement won't do it.
288
+ this.resetGuard();
289
+ this.initTooltip(slotElement, interactiveElement);
290
+ }
291
+ }).observe(slotElement, { attributes: true });
292
+ this.setMgButtonWrapper(slotElement);
293
+ }
294
+ // Init Tooltip
295
+ this.initTooltip(slotElement, interactiveElement);
296
+ this.handleDisplay(this.display);
297
+ }
128
298
  /**
129
- * Init tooltip
130
- * @param slotElement - slotted element
131
- * @param interactiveElement - interactive element
299
+ * update popper position after props change on component did update hook to benefit from render ended
132
300
  */
133
- this.initTooltip = (slotElement, interactiveElement) => {
134
- // Add tabindex to slotted element if we can't find any interactive element
135
- if (!this.disabled && !interactiveElement) {
136
- this.hasCustomTabIndex = true;
137
- slotElement.tabIndex = 0;
138
- // Add role on non-interactive element to work with "aria-describedby" for screen readers
139
- slotElement.setAttribute('role', 'button');
140
- }
141
- // Set aria-describedby
142
- const ariaDescribedby = slotElement.getAttribute('aria-describedby');
143
- if (ariaDescribedby === null) {
144
- this.tooltipedElement.setAttribute('aria-describedby', this.identifier);
145
- }
146
- else {
147
- // We ensure to have uniq ids
148
- slotElement.setAttribute('aria-describedby', `${[...new Set([...ariaDescribedby.split(' '), this.identifier])].join(' ')}`);
149
- }
150
- // Create popperjs tooltip
151
- this.popper = createPopper(this.tooltipedElement, this.mgTooltipContent, {
152
- placement: this.placement,
153
- strategy: 'fixed',
154
- modifiers: [
155
- {
156
- name: 'offset',
157
- options: {
158
- offset: [0, 8],
159
- },
160
- },
161
- {
162
- name: 'flip',
163
- options: {
164
- fallbackPlacements: ['auto'],
165
- },
166
- },
167
- ],
168
- });
169
- // Manage tooltipedElement focus/blur events
170
- this.tooltipedElement.addEventListener('focus', () => {
171
- this.guard = Guard.FOCUS;
172
- this.setDisplay(true);
173
- });
174
- // as `click` event is the composition of `mousedown` and `mouseup` event,
175
- // and `click` event trigger `focus` event after a success `mousedown` wich set the `guard` to `Guard.FOCUS`
176
- // we reset the guard on `mouseup` event to unlock tooltip
177
- this.tooltipedElement.addEventListener('mouseup', () => {
178
- this.resetGuard();
179
- });
180
- this.tooltipedElement.addEventListener('blur', () => {
181
- this.resetGuard();
182
- this.setDisplay(false);
183
- });
184
- document.addEventListener('keydown', this.pressEscape);
185
- // manage tooltipElement & tooltipedElement mouseenter/mouseleave events
186
- ['mouseenter', 'mouseleave'].forEach(eventType => {
187
- const isMouseenter = eventType === 'mouseenter';
188
- [
189
- { element: this.mgTooltipContent, action: () => this.tooltipMouseListenerAction(Guard.HOVER_TOOLTIP_ELEMENT, isMouseenter, Guard.HOVER_TOOLTIPED_ELEMENT) },
190
- { element: this.tooltipedElement, action: () => this.tooltipMouseListenerAction(Guard.HOVER_TOOLTIPED_ELEMENT, isMouseenter, Guard.HOVER_TOOLTIP_ELEMENT) },
191
- ].forEach(({ element, action }) => {
192
- element.addEventListener(eventType, () => {
193
- action();
194
- });
195
- });
196
- });
197
- };
198
- this.identifier = createID('mg-tooltip');
199
- this.message = undefined;
200
- this.placement = 'bottom';
201
- this.display = false;
202
- this.disabled = false;
203
- }
204
- validateIdentifier() {
205
- // use renderTooltipContent to update tooltip-content id
206
- this.renderTooltipContent();
207
- }
208
- validateMessage(newValue) {
209
- if (!isValidString(newValue)) {
210
- throw new Error('<mg-tooltip> prop "message" is required.');
211
- }
212
- this.mgTooltipContent.message = newValue;
213
- }
214
- handleDisplay(newValue) {
215
- if (newValue) {
216
- this.show();
301
+ componentDidUpdate() {
302
+ this.popper.update();
217
303
  }
218
- else {
219
- this.hide();
220
- }
221
- }
222
- validateDisabled(newValue) {
223
- if (this.hasCustomTabIndex) {
224
- if (newValue)
225
- this.tooltipedElement.removeAttribute('tabindex');
226
- else if (this.tooltipedElement.getAttribute('tabindex') === null)
227
- this.tooltipedElement.setAttribute('tabindex', '0');
228
- }
229
- }
230
- /**
231
- * Render tooltip content element
232
- */
233
- renderTooltipContent() {
234
- const mgTooltipContent = this.element.querySelector('mg-tooltip-content');
235
- if (mgTooltipContent === null) {
236
- const mgTooltipContent = document.createElement('mg-tooltip-content');
237
- mgTooltipContent.setAttribute('slot', 'content');
238
- mgTooltipContent.setAttribute('id', this.identifier);
239
- const arrow = document.createElement('div');
240
- arrow.setAttribute('slot', 'arrow');
241
- arrow.dataset.popperArrow = '';
242
- mgTooltipContent.appendChild(arrow);
243
- // append tooltip element to component
244
- this.element.appendChild(mgTooltipContent);
245
- }
246
- else {
247
- mgTooltipContent.setAttribute('id', this.identifier);
248
- }
249
- }
250
- /*************
251
- * Lifecycle *
252
- *************/
253
- /**
254
- * set variables
255
- */
256
- componentWillLoad() {
257
- // Get windows to attach events
258
- this.windows = getWindows(window);
259
- // Get tooltip element
260
- this.renderTooltipContent();
261
- this.mgTooltipContent = this.element.querySelector(`#${this.identifier}`);
262
- //validate properties
263
- this.validateDisabled(this.disabled);
264
- this.validateMessage(this.message);
265
- this.validateIdentifier();
266
- }
267
- /**
268
- * Get slotted element
269
- * Check if it already contain an interactive element, if not we need to add a tabIndex attribute
270
- * We need to attach the focused element to the tooltip (aria-describedby)
271
- */
272
- componentDidLoad() {
273
- var _a;
274
- // get slotted element wich is not the tooltip
275
- const slotElement = this.element.querySelector(`*:not(#${this.identifier})`);
276
- // Get interactive element
277
- const interactiveElement = slotElement.matches(focusableElements) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(focusableElements);
278
- // define selected element to become tooltip selector
279
- this.tooltipedElement = interactiveElement || slotElement;
280
- // Check if slotted element is a disabled mg-button
281
- // In this case we wrap the mg-button into a div to enable the tooltip
282
- if (isButton(slotElement)) {
283
- new MutationObserver(mutationList => {
284
- if (mutationList.some(mutation => ['aria-disabled', 'disabled'].includes(mutation.attributeName))) {
285
- this.setMgButtonWrapper(slotElement);
286
- // Since Firefox doesn't trigger a "blur" event when the "disabled" attribute is added or removed from a button
287
- // we have to manually unlock the guard because the "blur" handler of the tooltipedElement won't do it.
288
- this.resetGuard();
289
- this.initTooltip(slotElement, interactiveElement);
290
- }
291
- }).observe(slotElement, { attributes: true });
292
- this.setMgButtonWrapper(slotElement);
304
+ /**
305
+ * Render
306
+ * @returns HTML Element
307
+ */
308
+ render() {
309
+ return (h(Host, null, h("slot", null), h("slot", { name: "content" })));
293
310
  }
294
- // Init Tooltip
295
- this.initTooltip(slotElement, interactiveElement);
296
- this.handleDisplay(this.display);
297
- }
298
- /**
299
- * update popper position after props change on component did update hook to benefit from render ended
300
- */
301
- componentDidUpdate() {
302
- this.popper.update();
303
- }
304
- /**
305
- * Render
306
- * @returns HTML Element
307
- */
308
- render() {
309
- return (h(Host, null, h("slot", null), h("slot", { name: "content" })));
310
- }
311
- get element() { return this; }
312
- static get watchers() { return {
313
- "identifier": ["validateIdentifier"],
314
- "message": ["validateMessage"],
315
- "display": ["handleDisplay"],
316
- "disabled": ["validateDisabled"]
317
- }; }
318
- static get style() { return mgTooltipCss; }
311
+ get element() { return this; }
312
+ static get watchers() { return {
313
+ "identifier": ["validateIdentifier"],
314
+ "message": ["validateMessage"],
315
+ "display": ["handleDisplay"],
316
+ "disabled": ["validateDisabled"]
317
+ }; }
318
+ static get style() { return mgTooltipCss; }
319
319
  }, [1, "mg-tooltip", {
320
- "identifier": [1],
321
- "message": [1],
322
- "placement": [1],
323
- "display": [1028],
324
- "disabled": [4]
325
- }, undefined, {
326
- "identifier": ["validateIdentifier"],
327
- "message": ["validateMessage"],
328
- "display": ["handleDisplay"],
329
- "disabled": ["validateDisabled"]
330
- }]);
320
+ "identifier": [1],
321
+ "message": [1],
322
+ "placement": [1],
323
+ "display": [1028],
324
+ "disabled": [4]
325
+ }, undefined, {
326
+ "identifier": ["validateIdentifier"],
327
+ "message": ["validateMessage"],
328
+ "display": ["handleDisplay"],
329
+ "disabled": ["validateDisabled"]
330
+ }]);
331
331
  function defineCustomElement() {
332
- if (typeof customElements === "undefined") {
333
- return;
334
- }
335
- const components = ["mg-tooltip", "mg-tooltip-content"];
336
- components.forEach(tagName => { switch (tagName) {
337
- case "mg-tooltip":
338
- if (!customElements.get(tagName)) {
339
- customElements.define(tagName, MgTooltip);
340
- }
341
- break;
342
- case "mg-tooltip-content":
343
- if (!customElements.get(tagName)) {
344
- defineCustomElement$1();
345
- }
346
- break;
347
- } });
332
+ if (typeof customElements === "undefined") {
333
+ return;
334
+ }
335
+ const components = ["mg-tooltip", "mg-tooltip-content"];
336
+ components.forEach(tagName => { switch (tagName) {
337
+ case "mg-tooltip":
338
+ if (!customElements.get(tagName)) {
339
+ customElements.define(tagName, MgTooltip);
340
+ }
341
+ break;
342
+ case "mg-tooltip-content":
343
+ if (!customElements.get(tagName)) {
344
+ defineCustomElement$1();
345
+ }
346
+ break;
347
+ } });
348
348
  }
349
349
  defineCustomElement();
350
350