@mgdis/mg-components 5.19.2 → 5.20.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 (496) hide show
  1. package/dist/cjs/{components.utils-dc9c8a53.js → components.utils-cd908d4e.js} +102 -99
  2. package/dist/cjs/components.utils-cd908d4e.js.map +1 -0
  3. package/dist/cjs/{index-c042e24b.js → index-8532b5e9.js} +320 -137
  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 +5130 -5057
  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 +224 -224
  11. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  12. package/dist/collection/assets/icons/index.js +193 -183
  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 -347
  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 +8 -0
  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 +789 -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 +589 -572
  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 +779 -767
  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 +537 -520
  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 +566 -550
  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 +701 -689
  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.conf.js +0 -4
  64. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +1 -1
  65. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +771 -754
  66. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  67. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +706 -689
  68. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  69. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +527 -522
  70. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  71. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +2 -2
  72. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
  73. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +263 -263
  74. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
  75. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +6 -6
  76. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
  77. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +423 -423
  78. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  79. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
  80. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +214 -214
  81. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  82. package/dist/collection/components/molecules/mg-details/mg-details.js +155 -150
  83. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  84. package/dist/collection/components/molecules/mg-form/mg-form.js +332 -335
  85. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  86. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +85 -85
  87. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
  88. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +189 -189
  89. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  90. package/dist/collection/components/molecules/mg-message/mg-message.js +325 -304
  91. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
  92. package/dist/collection/components/molecules/mg-modal/mg-modal.js +317 -317
  93. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  94. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +2 -2
  95. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -1
  96. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +216 -216
  97. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  98. package/dist/collection/components/molecules/mg-panel/mg-panel.js +409 -399
  99. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  100. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +91 -91
  101. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
  102. package/dist/collection/components/molecules/mg-popover/mg-popover.js +336 -329
  103. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  104. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +94 -94
  105. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
  106. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +4 -4
  107. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -1
  108. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +348 -343
  109. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  110. package/dist/collection/locales/fr/messages.json +4 -4
  111. package/dist/collection/locales/index.spec.js +20 -20
  112. package/dist/collection/locales/index.spec.js.map +1 -1
  113. package/dist/collection/utils/behaviors.utils.js +127 -127
  114. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  115. package/dist/collection/utils/behaviors.utils.spec.js +42 -42
  116. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
  117. package/dist/collection/utils/components.utils.js +77 -75
  118. package/dist/collection/utils/components.utils.js.map +1 -1
  119. package/dist/collection/utils/components.utils.spec.js +150 -135
  120. package/dist/collection/utils/components.utils.spec.js.map +1 -1
  121. package/dist/collection/utils/e2e.test.utils.js +21 -21
  122. package/dist/collection/utils/e2e.test.utils.js.map +1 -1
  123. package/dist/collection/utils/locale.utils.js +17 -17
  124. package/dist/collection/utils/locale.utils.js.map +1 -1
  125. package/dist/collection/utils/locale.utils.spec.js +45 -45
  126. package/dist/collection/utils/locale.utils.spec.js.map +1 -1
  127. package/dist/collection/utils/playwright.e2e.test.utils.js +41 -41
  128. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
  129. package/dist/collection/utils/playwright.fixture.js +24 -0
  130. package/dist/collection/utils/playwright.fixture.js.map +1 -0
  131. package/dist/collection/utils/unit.test.utils.js +50 -50
  132. package/dist/collection/utils/unit.test.utils.js.map +1 -1
  133. package/dist/components/MgInput.js +105 -97
  134. package/dist/components/MgInput.js.map +1 -1
  135. package/dist/components/components.utils.js +78 -76
  136. package/dist/components/components.utils.js.map +1 -1
  137. package/dist/components/index2.js +21 -21
  138. package/dist/components/index2.js.map +1 -1
  139. package/dist/components/mg-action-more.d.ts +2 -2
  140. package/dist/components/mg-action-more.js +173 -173
  141. package/dist/components/mg-action-more.js.map +1 -1
  142. package/dist/components/mg-badge.d.ts +2 -2
  143. package/dist/components/mg-badge2.js +83 -83
  144. package/dist/components/mg-badge2.js.map +1 -1
  145. package/dist/components/mg-button.d.ts +2 -2
  146. package/dist/components/mg-button2.js +182 -167
  147. package/dist/components/mg-button2.js.map +1 -1
  148. package/dist/components/mg-card.d.ts +2 -2
  149. package/dist/components/mg-card2.js +77 -77
  150. package/dist/components/mg-card2.js.map +1 -1
  151. package/dist/components/mg-character-left.d.ts +2 -2
  152. package/dist/components/mg-character-left2.js +50 -50
  153. package/dist/components/mg-character-left2.js.map +1 -1
  154. package/dist/components/mg-details.d.ts +2 -2
  155. package/dist/components/mg-details.js +69 -69
  156. package/dist/components/mg-details.js.map +1 -1
  157. package/dist/components/mg-divider.d.ts +2 -2
  158. package/dist/components/mg-divider.js +30 -30
  159. package/dist/components/mg-divider.js.map +1 -1
  160. package/dist/components/mg-form.d.ts +2 -2
  161. package/dist/components/mg-form.js +171 -179
  162. package/dist/components/mg-form.js.map +1 -1
  163. package/dist/components/mg-icon.d.ts +2 -2
  164. package/dist/components/mg-icon2.js +327 -309
  165. package/dist/components/mg-icon2.js.map +1 -1
  166. package/dist/components/mg-illustrated-message.d.ts +2 -2
  167. package/dist/components/mg-illustrated-message.js +51 -51
  168. package/dist/components/mg-illustrated-message.js.map +1 -1
  169. package/dist/components/mg-input-checkbox-paginated.d.ts +2 -2
  170. package/dist/components/mg-input-checkbox-paginated2.js +170 -170
  171. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  172. package/dist/components/mg-input-checkbox.d.ts +2 -2
  173. package/dist/components/mg-input-checkbox.js +478 -480
  174. package/dist/components/mg-input-checkbox.js.map +1 -1
  175. package/dist/components/mg-input-date.d.ts +2 -2
  176. package/dist/components/mg-input-date.js +266 -260
  177. package/dist/components/mg-input-date.js.map +1 -1
  178. package/dist/components/mg-input-numeric.d.ts +2 -2
  179. package/dist/components/mg-input-numeric.js +354 -348
  180. package/dist/components/mg-input-numeric.js.map +1 -1
  181. package/dist/components/mg-input-password.d.ts +2 -2
  182. package/dist/components/mg-input-password.js +205 -199
  183. package/dist/components/mg-input-password.js.map +1 -1
  184. package/dist/components/mg-input-radio.d.ts +2 -2
  185. package/dist/components/mg-input-radio.js +236 -231
  186. package/dist/components/mg-input-radio.js.map +1 -1
  187. package/dist/components/mg-input-select.d.ts +2 -2
  188. package/dist/components/mg-input-select2.js +316 -310
  189. package/dist/components/mg-input-select2.js.map +1 -1
  190. package/dist/components/mg-input-text.d.ts +2 -2
  191. package/dist/components/mg-input-text2.js +306 -300
  192. package/dist/components/mg-input-text2.js.map +1 -1
  193. package/dist/components/mg-input-textarea.d.ts +2 -2
  194. package/dist/components/mg-input-textarea.js +277 -271
  195. package/dist/components/mg-input-textarea.js.map +1 -1
  196. package/dist/components/mg-input-title.d.ts +2 -2
  197. package/dist/components/mg-input-title2.js +60 -60
  198. package/dist/components/mg-input-title2.js.map +1 -1
  199. package/dist/components/mg-input-toggle.d.ts +2 -2
  200. package/dist/components/mg-input-toggle.js +251 -251
  201. package/dist/components/mg-input-toggle.js.map +1 -1
  202. package/dist/components/mg-item-more.d.ts +2 -2
  203. package/dist/components/mg-item-more.js +285 -285
  204. package/dist/components/mg-item-more.js.map +1 -1
  205. package/dist/components/mg-menu-item.d.ts +2 -2
  206. package/dist/components/mg-menu-item2.js +345 -345
  207. package/dist/components/mg-menu-item2.js.map +1 -1
  208. package/dist/components/mg-menu.conf.js +2 -2
  209. package/dist/components/mg-menu.conf.js.map +1 -1
  210. package/dist/components/mg-menu.d.ts +2 -2
  211. package/dist/components/mg-menu2.js +176 -176
  212. package/dist/components/mg-menu2.js.map +1 -1
  213. package/dist/components/mg-message.d.ts +2 -2
  214. package/dist/components/mg-message.js +198 -193
  215. package/dist/components/mg-message.js.map +1 -1
  216. package/dist/components/mg-modal.d.ts +2 -2
  217. package/dist/components/mg-modal.js +198 -198
  218. package/dist/components/mg-modal.js.map +1 -1
  219. package/dist/components/mg-pagination.d.ts +2 -2
  220. package/dist/components/mg-pagination2.js +133 -133
  221. package/dist/components/mg-pagination2.js.map +1 -1
  222. package/dist/components/mg-panel.d.ts +2 -2
  223. package/dist/components/mg-panel.js +238 -238
  224. package/dist/components/mg-panel.js.map +1 -1
  225. package/dist/components/mg-popover-content.d.ts +2 -2
  226. package/dist/components/mg-popover-content2.js +70 -70
  227. package/dist/components/mg-popover-content2.js.map +1 -1
  228. package/dist/components/mg-popover.d.ts +2 -2
  229. package/dist/components/mg-popover2.js +224 -222
  230. package/dist/components/mg-popover2.js.map +1 -1
  231. package/dist/components/mg-skip-links.d.ts +2 -2
  232. package/dist/components/mg-skip-links.js +57 -57
  233. package/dist/components/mg-skip-links.js.map +1 -1
  234. package/dist/components/mg-tabs.d.ts +2 -2
  235. package/dist/components/mg-tabs.js +243 -243
  236. package/dist/components/mg-tabs.js.map +1 -1
  237. package/dist/components/mg-tag.d.ts +2 -2
  238. package/dist/components/mg-tag.js +97 -97
  239. package/dist/components/mg-tag.js.map +1 -1
  240. package/dist/components/mg-tooltip-content.d.ts +2 -2
  241. package/dist/components/mg-tooltip-content2.js +30 -30
  242. package/dist/components/mg-tooltip-content2.js.map +1 -1
  243. package/dist/components/mg-tooltip.d.ts +2 -2
  244. package/dist/components/mg-tooltip2.js +316 -316
  245. package/dist/components/mg-tooltip2.js.map +1 -1
  246. package/dist/components/popper.js +6 -12
  247. package/dist/components/popper.js.map +1 -1
  248. package/dist/esm/{components.utils-0f76010d.js → components.utils-0d67c31c.js} +102 -100
  249. package/dist/esm/components.utils-0d67c31c.js.map +1 -0
  250. package/dist/esm/{index-ce01e63b.js → index-f34a3a2c.js} +320 -137
  251. package/dist/esm/index-f34a3a2c.js.map +1 -0
  252. package/dist/esm/loader.js +3 -3
  253. package/dist/esm/mg-action-more_34.entry.js +5130 -5057
  254. package/dist/esm/mg-action-more_34.entry.js.map +1 -1
  255. package/dist/esm/mg-components.js +4 -4
  256. package/dist/esm/mg-components.js.map +1 -1
  257. package/dist/esm/mg-item-more.entry.js +224 -224
  258. package/dist/esm/mg-item-more.entry.js.map +1 -1
  259. package/dist/mg-components/locales/fr/messages.json +4 -4
  260. package/dist/mg-components/mg-components.css +1 -1
  261. package/dist/mg-components/mg-components.esm.js +1 -1
  262. package/dist/mg-components/mg-components.esm.js.map +1 -1
  263. package/dist/mg-components/p-629454f7.entry.js +2 -0
  264. package/dist/mg-components/p-629454f7.entry.js.map +1 -0
  265. package/dist/mg-components/p-7444ff40.js +3 -0
  266. package/dist/mg-components/p-7444ff40.js.map +1 -0
  267. package/dist/mg-components/p-af42d17b.js +2 -0
  268. package/dist/mg-components/p-af42d17b.js.map +1 -0
  269. package/dist/mg-components/{p-01ebc95a.entry.js → p-e0fb0f3c.entry.js} +2 -2
  270. package/dist/mg-components/p-e0fb0f3c.entry.js.map +1 -0
  271. package/dist/types/assets/icons/index.d.ts +193 -0
  272. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +41 -41
  273. package/dist/types/components/atoms/mg-button/mg-button.d.ts +100 -96
  274. package/dist/types/components/atoms/mg-card/mg-card.d.ts +39 -39
  275. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +37 -37
  276. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +12 -12
  277. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +56 -56
  278. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +34 -34
  279. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +51 -51
  280. package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +12 -12
  281. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +3 -3
  282. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +113 -113
  283. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +10 -3
  284. package/dist/types/components/molecules/inputs/MgInput.d.ts +17 -16
  285. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +100 -100
  286. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +26 -26
  287. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +262 -260
  288. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +4 -4
  289. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +150 -149
  290. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.d.ts +4 -4
  291. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +223 -222
  292. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +142 -141
  293. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +3 -3
  294. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +152 -151
  295. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +6 -6
  296. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +193 -192
  297. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.conf.d.ts +1 -6
  298. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +195 -194
  299. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +181 -180
  300. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +2 -2
  301. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +141 -141
  302. package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -2
  303. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +97 -97
  304. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +6 -6
  305. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +179 -179
  306. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +12 -11
  307. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +72 -72
  308. package/dist/types/components/molecules/mg-details/mg-details.d.ts +45 -45
  309. package/dist/types/components/molecules/mg-form/mg-form.d.ts +103 -104
  310. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +27 -27
  311. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +5 -5
  312. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +61 -61
  313. package/dist/types/components/molecules/mg-message/mg-message.d.ts +100 -93
  314. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +107 -107
  315. package/dist/types/components/molecules/mg-pagination/mg-pagination.conf.d.ts +2 -2
  316. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +74 -74
  317. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +149 -149
  318. package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +43 -43
  319. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +88 -88
  320. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +2 -2
  321. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +40 -40
  322. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +10 -10
  323. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +118 -118
  324. package/dist/types/components.d.ts +296 -32
  325. package/dist/types/locales/index.d.ts +172 -172
  326. package/dist/types/stencil-public-runtime.d.ts +29 -0
  327. package/dist/types/utils/behaviors.utils.d.ts +65 -65
  328. package/dist/types/utils/components.utils.d.ts +32 -26
  329. package/dist/types/utils/locale.utils.d.ts +2 -2
  330. package/dist/types/utils/playwright.fixture.d.ts +3 -0
  331. package/dist/types/utils/unit.test.utils.d.ts +5 -5
  332. package/package.json +33 -47
  333. package/dist/cjs/components.utils-dc9c8a53.js.map +0 -1
  334. package/dist/cjs/index-c042e24b.js.map +0 -1
  335. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +0 -33
  336. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +0 -1
  337. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +0 -70
  338. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +0 -1
  339. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +0 -91
  340. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +0 -1
  341. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +0 -142
  342. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +0 -1
  343. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +0 -36
  344. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +0 -1
  345. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +0 -43
  346. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +0 -1
  347. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +0 -15
  348. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +0 -1
  349. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +0 -42
  350. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +0 -1
  351. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +0 -11
  352. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +0 -1
  353. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +0 -14
  354. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +0 -1
  355. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +0 -55
  356. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +0 -1
  357. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +0 -84
  358. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +0 -1
  359. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +0 -12
  360. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +0 -1
  361. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +0 -23
  362. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +0 -1
  363. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +0 -23
  364. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +0 -1
  365. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +0 -71
  366. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +0 -1
  367. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +0 -138
  368. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +0 -1
  369. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +0 -272
  370. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +0 -1
  371. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +0 -237
  372. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +0 -1
  373. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +0 -640
  374. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +0 -1
  375. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +0 -123
  376. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +0 -1
  377. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +0 -379
  378. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +0 -1
  379. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +0 -212
  380. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +0 -1
  381. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +0 -456
  382. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +0 -1
  383. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +0 -115
  384. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +0 -1
  385. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +0 -289
  386. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +0 -1
  387. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +0 -154
  388. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +0 -1
  389. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +0 -355
  390. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +0 -1
  391. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +0 -194
  392. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +0 -1
  393. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +0 -399
  394. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +0 -1
  395. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +0 -147
  396. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +0 -1
  397. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +0 -353
  398. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +0 -1
  399. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +0 -129
  400. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +0 -1
  401. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +0 -318
  402. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +0 -1
  403. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +0 -108
  404. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +0 -1
  405. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +0 -247
  406. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +0 -1
  407. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js +0 -239
  408. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +0 -1
  409. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +0 -175
  410. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +0 -1
  411. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +0 -100
  412. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +0 -1
  413. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +0 -295
  414. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +0 -1
  415. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +0 -128
  416. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +0 -1
  417. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +0 -187
  418. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +0 -1
  419. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +0 -30
  420. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +0 -1
  421. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +0 -42
  422. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +0 -1
  423. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +0 -169
  424. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +0 -1
  425. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +0 -277
  426. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +0 -1
  427. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +0 -39
  428. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +0 -1
  429. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +0 -36
  430. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +0 -1
  431. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +0 -85
  432. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +0 -1
  433. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +0 -106
  434. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +0 -1
  435. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +0 -64
  436. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +0 -1
  437. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +0 -109
  438. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +0 -1
  439. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +0 -62
  440. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +0 -1
  441. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +0 -40
  442. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +0 -1
  443. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +0 -26
  444. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +0 -1
  445. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +0 -122
  446. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +0 -1
  447. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +0 -57
  448. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +0 -1
  449. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +0 -121
  450. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +0 -1
  451. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +0 -106
  452. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +0 -1
  453. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +0 -213
  454. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +0 -1
  455. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js +0 -140
  456. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +0 -1
  457. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +0 -142
  458. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +0 -1
  459. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +0 -55
  460. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +0 -1
  461. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +0 -55
  462. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +0 -1
  463. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +0 -76
  464. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +0 -1
  465. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +0 -332
  466. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +0 -1
  467. package/dist/collection/utils/stencil.e2e.test.utils.js +0 -33
  468. package/dist/collection/utils/stencil.e2e.test.utils.js.map +0 -1
  469. package/dist/esm/components.utils-0f76010d.js.map +0 -1
  470. package/dist/esm/index-ce01e63b.js.map +0 -1
  471. package/dist/mg-components/p-01ebc95a.entry.js.map +0 -1
  472. package/dist/mg-components/p-1aa89acf.js +0 -3
  473. package/dist/mg-components/p-1aa89acf.js.map +0 -1
  474. package/dist/mg-components/p-71a5a848.entry.js +0 -2
  475. package/dist/mg-components/p-71a5a848.entry.js.map +0 -1
  476. package/dist/mg-components/p-c9e2c669.js +0 -2
  477. package/dist/mg-components/p-c9e2c669.js.map +0 -1
  478. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +0 -1
  479. package/dist/types/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts +0 -1
  480. package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +0 -1
  481. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +0 -1
  482. package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +0 -1
  483. package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +0 -1
  484. package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +0 -1
  485. package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +0 -1
  486. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +0 -2
  487. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +0 -1
  488. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +0 -1
  489. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +0 -1
  490. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +0 -12
  491. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +0 -1
  492. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +0 -1
  493. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +0 -1
  494. package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +0 -1
  495. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +0 -1
  496. 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