@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
@@ -4,445 +4,445 @@ import { initLocales } from "../../../../locales";
4
4
  import { Direction } from "../mg-menu/mg-menu.conf";
5
5
  import { Status } from "./mg-menu-item.conf";
6
6
  export class MgMenuItem {
7
- constructor() {
8
- /************
9
- * Internal *
10
- ************/
11
- this.name = 'mg-menu-item';
12
- this.navigationButton = 'mg-c-menu-item__navigation-button';
13
- /***********
14
- * Methods *
15
- **********/
16
- /**
17
- * Toggle expanded prop value
18
- */
19
- this.toggleExpanded = () => {
20
- this.expanded = !this.expanded;
21
- };
22
- /**
23
- * Does an Element have given Status
24
- * @param mgMenuItemElement - to parse
25
- * @param status - to check
26
- * @returns true if element with status is found
27
- */
28
- this.hasStatus = (mgMenuItemElement, status) => mgMenuItemElement.status === status;
29
- /**
30
- * Is component contextual direction match the given direction
31
- * @param direction - in parent menu
32
- * @param compareWith - direction to compare with. Default: `this.direction`
33
- * @returns true is direction match the direction propertie
34
- */
35
- this.isDirection = (direction, compareWith = this.direction) => direction === compareWith;
36
- /**
37
- * Update displayNotificationBadge
38
- * current component notification badge have priority over the slot badge when submenu contain badge
39
- */
40
- this.updateDisplayNotificationBadge = () => {
41
- const childMenu = this.element.querySelector('mg-menu');
42
- this.displayNotificationBadge =
43
- childMenu !== null &&
44
- Array.from(childMenu.children).some((subItem) => subItem.querySelector('mg-badge') !== null && subItem.getAttribute('hidden') === null);
45
- };
46
- /**
47
- * Method to control if one of component children have active status
48
- * @returns truthy if component has active child
49
- */
50
- this.hasActiveChild = () => {
51
- var _a;
52
- return Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).some((element) => element.nodeName === 'MG-MENU-ITEM' && this.hasStatus(element, Status.ACTIVE) && element.getAttribute('hidden') === null);
53
- };
54
- /**
55
- * Validate slots
56
- * @param guard - prevent action with guard. Default: false.
57
- */
58
- this.validateSlot = (guard = false) => {
59
- // slot title AND metadata validation
60
- // add title on label AND metada slots due to text-overflow on these element
61
- if (Array.from(this.element.children).find(child => child.getAttribute('slot') === 'label') === undefined)
62
- throw new Error(`<${this.name}> slot "label" is required.`);
63
- ['label', 'metadata'].forEach(slot => {
64
- Array.from(this.element.querySelectorAll(`[slot="${slot}"]`)).forEach(element => {
65
- if (!isValidString(element.textContent))
66
- throw new Error(`<${this.name}> slot "${slot}" must have text content.`);
67
- if ((guard && element.getAttribute('title') === null) || !guard)
68
- element.setAttribute('title', element.textContent);
69
- });
70
- });
71
- };
72
- /**
73
- * Update status
74
- * @param guard - status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
75
- */
76
- this.updateStatus = (guard = []) => {
77
- if (![Status.HIDDEN, Status.DISABLED, ...guard].includes(this.status)) {
78
- this.status = this.hasActiveChild() ? Status.ACTIVE : Status.VISIBLE;
79
- }
80
- };
81
- /**
82
- * Init event-listeners
83
- */
84
- this.initListeners = () => {
85
- var _a;
86
- // manage first sub-level menu-items
87
- Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).forEach(item => {
88
- if (item.nodeName === 'MG-MENU-ITEM') {
89
- // manage child menu listener
90
- item.addEventListener('status-change', () => {
91
- this.updateStatus();
92
- });
7
+ constructor() {
8
+ /************
9
+ * Internal *
10
+ ************/
11
+ this.name = 'mg-menu-item';
12
+ this.navigationButton = 'mg-c-menu-item__navigation-button';
13
+ /***********
14
+ * Methods *
15
+ **********/
16
+ /**
17
+ * Toggle expanded prop value
18
+ */
19
+ this.toggleExpanded = () => {
20
+ this.expanded = !this.expanded;
21
+ };
22
+ /**
23
+ * Does an Element have given Status
24
+ * @param mgMenuItemElement - to parse
25
+ * @param status - to check
26
+ * @returns true if element with status is found
27
+ */
28
+ this.hasStatus = (mgMenuItemElement, status) => mgMenuItemElement.status === status;
29
+ /**
30
+ * Is component contextual direction match the given direction
31
+ * @param direction - in parent menu
32
+ * @param compareWith - direction to compare with. Default: `this.direction`
33
+ * @returns true is direction match the direction propertie
34
+ */
35
+ this.isDirection = (direction, compareWith = this.direction) => direction === compareWith;
36
+ /**
37
+ * Update displayNotificationBadge
38
+ * current component notification badge have priority over the slot badge when submenu contain badge
39
+ */
40
+ this.updateDisplayNotificationBadge = () => {
41
+ const childMenu = this.element.querySelector('mg-menu');
42
+ this.displayNotificationBadge =
43
+ childMenu !== null &&
44
+ Array.from(childMenu.children).some((subItem) => subItem.querySelector('mg-badge') !== null && subItem.getAttribute('hidden') === null);
45
+ };
46
+ /**
47
+ * Method to control if one of component children have active status
48
+ * @returns truthy if component has active child
49
+ */
50
+ this.hasActiveChild = () => {
51
+ var _a;
52
+ return Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).some((element) => element.nodeName === 'MG-MENU-ITEM' && this.hasStatus(element, Status.ACTIVE) && element.getAttribute('hidden') === null);
53
+ };
54
+ /**
55
+ * Validate slots
56
+ * @param guard - prevent action with guard. Default: false.
57
+ */
58
+ this.validateSlot = (guard = false) => {
59
+ // slot title AND metadata validation
60
+ // add title on label AND metada slots due to text-overflow on these element
61
+ if (Array.from(this.element.children).find(child => child.getAttribute('slot') === 'label') === undefined)
62
+ throw new Error(`<${this.name}> slot "label" is required.`);
63
+ ['label', 'metadata'].forEach(slot => {
64
+ Array.from(this.element.querySelectorAll(`[slot="${slot}"]`)).forEach(element => {
65
+ if (!isValidString(element.textContent))
66
+ throw new Error(`<${this.name}> slot "${slot}" must have text content.`);
67
+ if ((guard && element.getAttribute('title') === null) || !guard)
68
+ element.setAttribute('title', element.textContent);
69
+ });
70
+ });
71
+ };
72
+ /**
73
+ * Update status
74
+ * @param guard - status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
75
+ */
76
+ this.updateStatus = (guard = []) => {
77
+ if (![Status.HIDDEN, Status.DISABLED, ...guard].includes(this.status)) {
78
+ this.status = this.hasActiveChild() ? Status.ACTIVE : Status.VISIBLE;
79
+ }
80
+ };
81
+ /**
82
+ * Init event-listeners
83
+ */
84
+ this.initListeners = () => {
85
+ var _a;
86
+ // manage first sub-level menu-items
87
+ Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).forEach(item => {
88
+ if (item.nodeName === 'MG-MENU-ITEM') {
89
+ // manage child menu listener
90
+ item.addEventListener('status-change', () => {
91
+ this.updateStatus();
92
+ });
93
+ }
94
+ });
95
+ };
96
+ /**
97
+ * Get mg-popover identifier
98
+ * @returns generated mg-popover identifier
99
+ */
100
+ this.getPopoverIdentifier = () => `${this.identifier}-popover`;
101
+ /**
102
+ * Condition to know if component should display a mg-popover
103
+ * @returns truthy if component display popover
104
+ */
105
+ this.displayPopover = () => this.isDirection(Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
106
+ /************
107
+ * Handlers *
108
+ ************/
109
+ /**
110
+ * Handle interacrtive element click
111
+ * @param event - click on element
112
+ */
113
+ this.handleElementCLick = (event) => {
114
+ if ((this.hasChildren && !this.isInMainMenu) || this.status === Status.DISABLED) {
115
+ event.preventDefault();
116
+ event.stopPropagation();
117
+ }
118
+ // toggle expanded when mg-menu-item has child items
119
+ if (this.hasChildren)
120
+ this.toggleExpanded();
121
+ };
122
+ /**
123
+ * Handle popover element display-change event
124
+ * @param event - popover display event
125
+ */
126
+ this.handlePopoverDisplay = (event) => {
127
+ this.expanded = event.detail;
128
+ };
129
+ /**
130
+ * Render slot
131
+ * @returns HTML Element
132
+ */
133
+ this.renderSlot = () => h("slot", null);
134
+ this.identifier = createID('mg-menu-item');
135
+ this.href = undefined;
136
+ this.status = Status.VISIBLE;
137
+ this.expanded = false;
138
+ this.size = 'regular';
139
+ this.navigationButtonClassList = new ClassList([this.navigationButton]);
140
+ this.direction = undefined;
141
+ this.isInMainMenu = undefined;
142
+ this.isItemMore = undefined;
143
+ this.hasChildren = false;
144
+ this.displayNotificationBadge = undefined;
145
+ }
146
+ validateStatus(newValue, oldValue) {
147
+ if (oldValue !== undefined) {
148
+ this.navigationButtonClassList.delete(`${this.navigationButton}--${oldValue}`);
149
+ }
150
+ this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
151
+ this.statusChange.emit(newValue);
152
+ }
153
+ validateExpanded(newValue) {
154
+ if (typeof newValue !== 'boolean')
155
+ throw new Error(`<${this.name}> prop "expanded" must be a boolean.`);
156
+ // if menu-item has sub-menu we have to apply some updates:
157
+ if (this.hasChildren) {
158
+ const subItems = Array.from(this.element.querySelectorAll(this.name));
159
+ if (!newValue) {
160
+ // - when main menu item is NOT expanded we need NOT expanded sub-items and NOT expanded sub-content
161
+ subItems.forEach(item => {
162
+ item.expanded = false;
163
+ });
164
+ }
165
+ else if (this.element.querySelector(`${this.name}[status="${Status.ACTIVE}"]`) !== null) {
166
+ // - when expanded and contain an active item parents are expended too
167
+ subItems.forEach(item => {
168
+ if (this.hasStatus(item, Status.ACTIVE)) {
169
+ item.expanded = true;
170
+ }
171
+ });
172
+ }
173
+ }
174
+ }
175
+ validateSize(newValue, oldValue) {
176
+ this.navigationButtonClassList.delete(`${this.navigationButton}--size-${oldValue}`);
177
+ this.navigationButtonClassList.add(`${this.navigationButton}--size-${newValue}`);
178
+ }
179
+ validateDirection(newValue) {
180
+ // manage menu items style depending to parent menu horientation
181
+ this.element.setAttribute('data-style-direction', newValue);
182
+ this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
183
+ // manage all sub levels child menu-items level with data-level attribut
184
+ if (this.isDirection(Direction.VERTICAL, newValue)) {
185
+ Array.from(this.element.querySelectorAll('mg-menu-item')).forEach(item => {
186
+ item.dataset.level = `${(Number(item.dataset.level) || 1) + 1}`;
187
+ });
93
188
  }
94
- });
95
- };
189
+ }
190
+ validateHasChildren(newValue) {
191
+ if (newValue && this.element.href !== undefined) {
192
+ throw new Error(`<${this.name}> prop "href" is unauthorizied when element is a parent.`);
193
+ }
194
+ }
96
195
  /**
97
- * Get mg-popover identifier
98
- * @returns generated mg-popover identifier
196
+ * Render popover clickoutside guard for content slot
99
197
  */
100
- this.getPopoverIdentifier = () => `${this.identifier}-popover`;
198
+ updatePopoverGuard() {
199
+ if (this.displayPopover())
200
+ Array.from(this.element.children)
201
+ .filter((child) => child.getAttribute('slot') === null && child.nodeName !== 'MG-MENU' && Boolean(child.dataset))
202
+ .forEach((slot) => (slot.dataset.mgPopoverGuard = this.getPopoverIdentifier()));
203
+ }
204
+ /*************
205
+ * Lifecycle *
206
+ *************/
101
207
  /**
102
- * Condition to know if component should display a mg-popover
103
- * @returns truthy if component display popover
208
+ * Validate props
104
209
  */
105
- this.displayPopover = () => this.isDirection(Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
106
- /************
107
- * Handlers *
108
- ************/
210
+ componentWillLoad() {
211
+ // has children items that is NOT [slot='image' | 'information' | 'label' | 'metadata'] element
212
+ // we store only matching elements
213
+ this.hasChildren = Array.from(this.element.children).some(child => !['image', 'information', 'label', 'metadata'].includes(child.getAttribute('slot')));
214
+ this.badgeLabel = initLocales(this.element).messages.plusMenu.badgeLabel;
215
+ this.isItemMore = this.element.dataset.overflowMore !== undefined;
216
+ // Validate props
217
+ this.validateStatus(this.status);
218
+ this.validateExpanded(this.expanded);
219
+ // Validate states
220
+ this.validateSize(this.size);
221
+ }
109
222
  /**
110
- * Handle interacrtive element click
111
- * @param event - click on element
223
+ * Check if component slots configuration
224
+ * @returns timeout
112
225
  */
113
- this.handleElementCLick = (event) => {
114
- if ((this.hasChildren && !this.isInMainMenu) || this.status === Status.DISABLED) {
115
- event.preventDefault();
116
- event.stopPropagation();
117
- }
118
- // toggle expanded when mg-menu-item has child items
119
- if (this.hasChildren)
120
- this.toggleExpanded();
121
- };
226
+ componentDidLoad() {
227
+ // validation
228
+ this.validateSlot(true);
229
+ // update props and states after componentDidLoad hook
230
+ // return a promise to process action only in the FIRST render().
231
+ // https://stenciljs.com/docs/component-lifecycle#componentwillload
232
+ return setTimeout(() => {
233
+ // define menu-item context states
234
+ const menu = this.element.closest('mg-menu');
235
+ this.direction = this.isItemMore || menu === null ? Direction.HORIZONTAL : menu.direction;
236
+ this.isInMainMenu = menu !== null && this.element.parentElement.closest('mg-menu-item') === null;
237
+ if ((menu === null || menu === void 0 ? void 0 : menu.size) !== undefined)
238
+ this.size = menu.size;
239
+ if (this.isItemMore)
240
+ this.size = this.element.dataset.size;
241
+ // when main menu item contain an active item it will get the active style
242
+ // AND if item is in vertical menu it will be expanded
243
+ if (this.hasActiveChild() && this.isInMainMenu)
244
+ this.expanded = this.isDirection(Direction.VERTICAL);
245
+ this.updateStatus([Status.ACTIVE]);
246
+ this.updateDisplayNotificationBadge();
247
+ this.updatePopoverGuard();
248
+ // manage child dom changes with mutationObserver and listzners
249
+ this.initListeners();
250
+ // emit loaded event when component is fully loaded
251
+ this.itemLoaded.emit();
252
+ new MutationObserver(mutationsList => {
253
+ if (mutationsList.some(mutation => mutation.attributeName === 'hidden'))
254
+ this.updateStatus();
255
+ if (mutationsList.some(mutation => mutation.type === 'characterData'))
256
+ this.validateSlot();
257
+ this.updateDisplayNotificationBadge();
258
+ }).observe(this.element, { attributes: true, childList: true, characterData: true, subtree: true });
259
+ }, 0);
260
+ }
122
261
  /**
123
- * Handle popover element display-change event
124
- * @param event - popover display event
262
+ * Render ineractive element
263
+ * @returns HTML Element
125
264
  */
126
- this.handlePopoverDisplay = (event) => {
127
- this.expanded = event.detail;
128
- };
265
+ renderInteractiveElement() {
266
+ const TagName = this.href !== undefined ? 'a' : 'button';
267
+ return (h(TagName, { href: this.href, class: this.navigationButtonClassList.join(), tabindex: [Status.DISABLED, Status.HIDDEN].includes(this.status) ? -1 : undefined, disabled: this.status === Status.DISABLED, hidden: this.status === Status.HIDDEN, "aria-expanded": this.hasChildren && this.expanded.toString(), "aria-current": this.status === Status.ACTIVE && 'page', onClick: this.handleElementCLick }, h("slot", { name: "image" }), h("div", { class: `${this.navigationButton}-center` }, h("div", { class: `${this.navigationButton}-text-content` }, h("slot", { name: "label" }), !this.displayNotificationBadge && h("slot", { name: "information" }), this.displayNotificationBadge && (h("span", { class: `${this.navigationButton}-text-content-notification` }, h("mg-badge", { label: this.badgeLabel, value: "!", variant: "text-color", slot: "information" })))), this.size !== 'regular' && h("slot", { name: "metadata" })), this.hasChildren && this.href === undefined && (h("span", { class: {
268
+ [`${this.navigationButton}-chevron`]: true,
269
+ [`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
270
+ } }, h("mg-icon", { icon: "chevron-down", size: "small" })))));
271
+ }
129
272
  /**
130
- * Render slot
273
+ * Render
131
274
  * @returns HTML Element
132
275
  */
133
- this.renderSlot = () => h("slot", null);
134
- this.identifier = createID('mg-menu-item');
135
- this.href = undefined;
136
- this.status = Status.VISIBLE;
137
- this.expanded = false;
138
- this.size = 'regular';
139
- this.navigationButtonClassList = new ClassList([this.navigationButton]);
140
- this.direction = undefined;
141
- this.isInMainMenu = undefined;
142
- this.isItemMore = undefined;
143
- this.hasChildren = false;
144
- this.displayNotificationBadge = undefined;
145
- }
146
- validateStatus(newValue, oldValue) {
147
- if (oldValue !== undefined) {
148
- this.navigationButtonClassList.delete(`${this.navigationButton}--${oldValue}`);
149
- }
150
- this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
151
- this.statusChange.emit(newValue);
152
- }
153
- validateExpanded(newValue) {
154
- if (typeof newValue !== 'boolean')
155
- throw new Error(`<${this.name}> prop "expanded" must be a boolean.`);
156
- // if menu-item has sub-menu we have to apply some updates:
157
- if (this.hasChildren) {
158
- const subItems = Array.from(this.element.querySelectorAll(this.name));
159
- if (!newValue) {
160
- // - when main menu item is NOT expanded we need NOT expanded sub-items and NOT expanded sub-content
161
- subItems.forEach(item => {
162
- item.expanded = false;
276
+ render() {
277
+ const getContainerClasses = () => ({
278
+ ['mg-c-menu-item__collapse-container']: true,
279
+ ['mg-c-menu-item__collapse-container--first-level']: (this.isInMainMenu || this.isItemMore) && this.isDirection(Direction.HORIZONTAL),
163
280
  });
164
- }
165
- else if (this.element.querySelector(`${this.name}[status="${Status.ACTIVE}"]`) !== null) {
166
- // - when expanded and contain an active item parents are expended too
167
- subItems.forEach(item => {
168
- if (this.hasStatus(item, Status.ACTIVE)) {
169
- item.expanded = true;
170
- }
171
- });
172
- }
281
+ return (h(Host, { role: this.isItemMore ? 'presentation' : 'listitem' }, this.displayPopover() ? (h("mg-popover", { display: this.expanded, placement: "bottom-start", arrowHide: true, "onDisplay-change": this.handlePopoverDisplay, identifier: this.getPopoverIdentifier() }, this.renderInteractiveElement(), h("div", { class: getContainerClasses(), slot: "content" }, this.renderSlot()))) : ([
282
+ this.renderInteractiveElement(),
283
+ h("div", { key: "vertical-container", class: getContainerClasses(), hidden: !this.expanded }, this.renderSlot()),
284
+ ])));
173
285
  }
174
- }
175
- validateSize(newValue, oldValue) {
176
- this.navigationButtonClassList.delete(`${this.navigationButton}--size-${oldValue}`);
177
- this.navigationButtonClassList.add(`${this.navigationButton}--size-${newValue}`);
178
- }
179
- validateDirection(newValue) {
180
- // manage menu items style depending to parent menu horientation
181
- this.element.setAttribute(`data-style-direction-${newValue}`, '');
182
- this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
183
- // manage all sub levels child menu-items level with data-level attribut
184
- if (this.isDirection(Direction.VERTICAL, newValue)) {
185
- Array.from(this.element.querySelectorAll('mg-menu-item')).forEach(item => {
186
- item.dataset.level = `${(Number(item.dataset.level) || 1) + 1}`;
187
- });
286
+ static get is() { return "mg-menu-item"; }
287
+ static get encapsulation() { return "shadow"; }
288
+ static get originalStyleUrls() {
289
+ return {
290
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-menu-item.css"]
291
+ };
188
292
  }
189
- }
190
- validateHasChildren(newValue) {
191
- if (newValue && this.element.href !== undefined) {
192
- throw new Error(`<${this.name}> prop "href" is unauthorizied when element is a parent.`);
293
+ static get styleUrls() {
294
+ return {
295
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-menu-item.css"]
296
+ };
193
297
  }
194
- }
195
- /**
196
- * Render popover clickoutside guard for content slot
197
- */
198
- updatePopoverGuard() {
199
- if (this.displayPopover())
200
- Array.from(this.element.children)
201
- .filter((child) => child.getAttribute('slot') === null && child.nodeName !== 'MG-MENU' && Boolean(child.dataset))
202
- .forEach((slot) => (slot.dataset.mgPopoverGuard = this.getPopoverIdentifier()));
203
- }
204
- /*************
205
- * Lifecycle *
206
- *************/
207
- /**
208
- * Validate props
209
- */
210
- componentWillLoad() {
211
- // has children items that is NOT [slot='image' | 'information' | 'label' | 'metadata'] element
212
- // we store only matching elements
213
- this.hasChildren = Array.from(this.element.children).some(child => !['image', 'information', 'label', 'metadata'].includes(child.getAttribute('slot')));
214
- this.badgeLabel = initLocales(this.element).messages.plusMenu.badgeLabel;
215
- this.isItemMore = this.element.dataset.overflowMore !== undefined;
216
- // Validate props
217
- this.validateStatus(this.status);
218
- this.validateExpanded(this.expanded);
219
- // Validate states
220
- this.validateSize(this.size);
221
- }
222
- /**
223
- * Check if component slots configuration
224
- * @returns timeout
225
- */
226
- componentDidLoad() {
227
- // validation
228
- this.validateSlot(true);
229
- // update props and states after componentDidLoad hook
230
- // return a promise to process action only in the FIRST render().
231
- // https://stenciljs.com/docs/component-lifecycle#componentwillload
232
- return setTimeout(() => {
233
- // define menu-item context states
234
- const menu = this.element.closest('mg-menu');
235
- this.direction = this.isItemMore || menu === null ? Direction.HORIZONTAL : menu.direction;
236
- this.isInMainMenu = menu !== null && this.element.parentElement.closest('mg-menu-item') === null;
237
- if ((menu === null || menu === void 0 ? void 0 : menu.size) !== undefined)
238
- this.size = menu.size;
239
- if (this.isItemMore)
240
- this.size = this.element.dataset.size;
241
- // when main menu item contain an active item it will get the active style
242
- // AND if item is in vertical menu it will be expanded
243
- if (this.hasActiveChild() && this.isInMainMenu)
244
- this.expanded = this.isDirection(Direction.VERTICAL);
245
- this.updateStatus([Status.ACTIVE]);
246
- this.updateDisplayNotificationBadge();
247
- this.updatePopoverGuard();
248
- // manage child dom changes with mutationObserver and listzners
249
- this.initListeners();
250
- // emit loaded event when component is fully loaded
251
- this.itemLoaded.emit();
252
- new MutationObserver(mutationsList => {
253
- if (mutationsList.some(mutation => mutation.attributeName === 'hidden'))
254
- this.updateStatus();
255
- if (mutationsList.some(mutation => mutation.type === 'characterData'))
256
- this.validateSlot();
257
- this.updateDisplayNotificationBadge();
258
- }).observe(this.element, { attributes: true, childList: true, characterData: true, subtree: true });
259
- }, 0);
260
- }
261
- /**
262
- * Render ineractive element
263
- * @returns HTML Element
264
- */
265
- renderInteractiveElement() {
266
- const TagName = this.href !== undefined ? 'a' : 'button';
267
- return (h(TagName, { href: this.href, class: this.navigationButtonClassList.join(), tabindex: [Status.DISABLED, Status.HIDDEN].includes(this.status) ? -1 : undefined, disabled: this.status === Status.DISABLED, hidden: this.status === Status.HIDDEN, "aria-expanded": this.hasChildren && this.expanded.toString(), "aria-current": this.status === Status.ACTIVE && 'page', onClick: this.handleElementCLick }, h("slot", { name: "image" }), h("div", { class: `${this.navigationButton}-center` }, h("div", { class: `${this.navigationButton}-text-content` }, h("slot", { name: "label" }), !this.displayNotificationBadge && h("slot", { name: "information" }), this.displayNotificationBadge && (h("span", { class: `${this.navigationButton}-text-content-notification` }, h("mg-badge", { label: this.badgeLabel, value: "!", variant: "text-color", slot: "information" })))), this.size !== 'regular' && h("slot", { name: "metadata" })), this.hasChildren && this.href === undefined && (h("span", { class: {
268
- [`${this.navigationButton}-chevron`]: true,
269
- [`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
270
- } }, h("mg-icon", { icon: "chevron-down", size: "small" })))));
271
- }
272
- /**
273
- * Render
274
- * @returns HTML Element
275
- */
276
- render() {
277
- const getContainerClasses = () => ({
278
- ['mg-c-menu-item__collapse-container']: true,
279
- ['mg-c-menu-item__collapse-container--first-level']: (this.isInMainMenu || this.isItemMore) && this.isDirection(Direction.HORIZONTAL),
280
- });
281
- return (h(Host, { role: this.isItemMore ? 'presentation' : 'listitem' }, this.displayPopover() ? (h("mg-popover", { display: this.expanded, placement: "bottom-start", arrowHide: true, "onDisplay-change": this.handlePopoverDisplay, identifier: this.getPopoverIdentifier() }, this.renderInteractiveElement(), h("div", { class: getContainerClasses(), slot: "content" }, this.renderSlot()))) : ([
282
- this.renderInteractiveElement(),
283
- h("div", { key: "vertical-container", class: getContainerClasses(), hidden: !this.expanded }, this.renderSlot()),
284
- ])));
285
- }
286
- static get is() { return "mg-menu-item"; }
287
- static get encapsulation() { return "shadow"; }
288
- static get originalStyleUrls() {
289
- return {
290
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-menu-item.css"]
291
- };
292
- }
293
- static get styleUrls() {
294
- return {
295
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-menu-item.css"]
296
- };
297
- }
298
- static get properties() {
299
- return {
300
- "identifier": {
301
- "type": "string",
302
- "mutable": false,
303
- "complexType": {
304
- "original": "string",
305
- "resolved": "string",
306
- "references": {}
307
- },
308
- "required": false,
309
- "optional": false,
310
- "docs": {
311
- "tags": [],
312
- "text": "Identifier is used to control mg-popover"
313
- },
314
- "attribute": "identifier",
315
- "reflect": false,
316
- "defaultValue": "createID('mg-menu-item')"
317
- },
318
- "href": {
319
- "type": "string",
320
- "mutable": false,
321
- "complexType": {
322
- "original": "string",
323
- "resolved": "string",
324
- "references": {}
325
- },
326
- "required": false,
327
- "optional": false,
328
- "docs": {
329
- "tags": [],
330
- "text": "Define menu-item href\nwhen defined menu-item contain an anchor instead of button"
331
- },
332
- "attribute": "href",
333
- "reflect": false
334
- },
335
- "status": {
336
- "type": "string",
337
- "mutable": true,
338
- "complexType": {
339
- "original": "Status",
340
- "resolved": "Status.ACTIVE | Status.DISABLED | Status.HIDDEN | Status.VISIBLE",
341
- "references": {
342
- "Status": {
343
- "location": "import",
344
- "path": "./mg-menu-item.conf",
345
- "id": "src/components/molecules/menu/mg-menu-item/mg-menu-item.conf.ts::Status"
346
- }
347
- }
348
- },
349
- "required": false,
350
- "optional": false,
351
- "docs": {
352
- "tags": [],
353
- "text": "Define menu-item status."
354
- },
355
- "attribute": "status",
356
- "reflect": true,
357
- "defaultValue": "Status.VISIBLE"
358
- },
359
- "expanded": {
360
- "type": "boolean",
361
- "mutable": true,
362
- "complexType": {
363
- "original": "boolean",
364
- "resolved": "boolean",
365
- "references": {}
366
- },
367
- "required": false,
368
- "optional": false,
369
- "docs": {
370
- "tags": [],
371
- "text": "Define menu-item content expanded."
372
- },
373
- "attribute": "expanded",
374
- "reflect": false,
375
- "defaultValue": "false"
376
- }
377
- };
378
- }
379
- static get states() {
380
- return {
381
- "size": {},
382
- "navigationButtonClassList": {},
383
- "direction": {},
384
- "isInMainMenu": {},
385
- "isItemMore": {},
386
- "hasChildren": {},
387
- "displayNotificationBadge": {}
388
- };
389
- }
390
- static get events() {
391
- return [{
392
- "method": "statusChange",
393
- "name": "status-change",
394
- "bubbles": true,
395
- "cancelable": true,
396
- "composed": true,
397
- "docs": {
398
- "tags": [],
399
- "text": "Emited event when status change"
400
- },
401
- "complexType": {
402
- "original": "MgMenuItem['status']",
403
- "resolved": "Status.ACTIVE | Status.DISABLED | Status.HIDDEN | Status.VISIBLE",
404
- "references": {
405
- "MgMenuItem": {
406
- "location": "global",
407
- "id": "global::MgMenuItem"
298
+ static get properties() {
299
+ return {
300
+ "identifier": {
301
+ "type": "string",
302
+ "mutable": false,
303
+ "complexType": {
304
+ "original": "string",
305
+ "resolved": "string",
306
+ "references": {}
307
+ },
308
+ "required": false,
309
+ "optional": false,
310
+ "docs": {
311
+ "tags": [],
312
+ "text": "Identifier is used to control mg-popover"
313
+ },
314
+ "attribute": "identifier",
315
+ "reflect": false,
316
+ "defaultValue": "createID('mg-menu-item')"
317
+ },
318
+ "href": {
319
+ "type": "string",
320
+ "mutable": false,
321
+ "complexType": {
322
+ "original": "string",
323
+ "resolved": "string",
324
+ "references": {}
325
+ },
326
+ "required": false,
327
+ "optional": false,
328
+ "docs": {
329
+ "tags": [],
330
+ "text": "Define menu-item href\nwhen defined menu-item contain an anchor instead of button"
331
+ },
332
+ "attribute": "href",
333
+ "reflect": false
334
+ },
335
+ "status": {
336
+ "type": "string",
337
+ "mutable": true,
338
+ "complexType": {
339
+ "original": "Status",
340
+ "resolved": "Status.ACTIVE | Status.DISABLED | Status.HIDDEN | Status.VISIBLE",
341
+ "references": {
342
+ "Status": {
343
+ "location": "import",
344
+ "path": "./mg-menu-item.conf",
345
+ "id": "src/components/molecules/menu/mg-menu-item/mg-menu-item.conf.ts::Status"
346
+ }
347
+ }
348
+ },
349
+ "required": false,
350
+ "optional": false,
351
+ "docs": {
352
+ "tags": [],
353
+ "text": "Define menu-item status."
354
+ },
355
+ "attribute": "status",
356
+ "reflect": true,
357
+ "defaultValue": "Status.VISIBLE"
358
+ },
359
+ "expanded": {
360
+ "type": "boolean",
361
+ "mutable": true,
362
+ "complexType": {
363
+ "original": "boolean",
364
+ "resolved": "boolean",
365
+ "references": {}
366
+ },
367
+ "required": false,
368
+ "optional": false,
369
+ "docs": {
370
+ "tags": [],
371
+ "text": "Define menu-item content expanded."
372
+ },
373
+ "attribute": "expanded",
374
+ "reflect": false,
375
+ "defaultValue": "false"
408
376
  }
409
- }
410
- }
411
- }, {
412
- "method": "itemLoaded",
413
- "name": "item-loaded",
414
- "bubbles": true,
415
- "cancelable": true,
416
- "composed": true,
417
- "docs": {
418
- "tags": [],
419
- "text": "Emited event when item is loaded"
420
- },
421
- "complexType": {
422
- "original": "void",
423
- "resolved": "void",
424
- "references": {}
425
- }
426
- }];
427
- }
428
- static get elementRef() { return "element"; }
429
- static get watchers() {
430
- return [{
431
- "propName": "status",
432
- "methodName": "validateStatus"
433
- }, {
434
- "propName": "expanded",
435
- "methodName": "validateExpanded"
436
- }, {
437
- "propName": "size",
438
- "methodName": "validateSize"
439
- }, {
440
- "propName": "direction",
441
- "methodName": "validateDirection"
442
- }, {
443
- "propName": "hasChildren",
444
- "methodName": "validateHasChildren"
445
- }];
446
- }
377
+ };
378
+ }
379
+ static get states() {
380
+ return {
381
+ "size": {},
382
+ "navigationButtonClassList": {},
383
+ "direction": {},
384
+ "isInMainMenu": {},
385
+ "isItemMore": {},
386
+ "hasChildren": {},
387
+ "displayNotificationBadge": {}
388
+ };
389
+ }
390
+ static get events() {
391
+ return [{
392
+ "method": "statusChange",
393
+ "name": "status-change",
394
+ "bubbles": true,
395
+ "cancelable": true,
396
+ "composed": true,
397
+ "docs": {
398
+ "tags": [],
399
+ "text": "Emited event when status change"
400
+ },
401
+ "complexType": {
402
+ "original": "HTMLMgMenuItemElement['status']",
403
+ "resolved": "Status.ACTIVE | Status.DISABLED | Status.HIDDEN | Status.VISIBLE",
404
+ "references": {
405
+ "HTMLMgMenuItemElement": {
406
+ "location": "global",
407
+ "id": "global::HTMLMgMenuItemElement"
408
+ }
409
+ }
410
+ }
411
+ }, {
412
+ "method": "itemLoaded",
413
+ "name": "item-loaded",
414
+ "bubbles": true,
415
+ "cancelable": true,
416
+ "composed": true,
417
+ "docs": {
418
+ "tags": [],
419
+ "text": "Emited event when item is loaded"
420
+ },
421
+ "complexType": {
422
+ "original": "void",
423
+ "resolved": "void",
424
+ "references": {}
425
+ }
426
+ }];
427
+ }
428
+ static get elementRef() { return "element"; }
429
+ static get watchers() {
430
+ return [{
431
+ "propName": "status",
432
+ "methodName": "validateStatus"
433
+ }, {
434
+ "propName": "expanded",
435
+ "methodName": "validateExpanded"
436
+ }, {
437
+ "propName": "size",
438
+ "methodName": "validateSize"
439
+ }, {
440
+ "propName": "direction",
441
+ "methodName": "validateDirection"
442
+ }, {
443
+ "propName": "hasChildren",
444
+ "methodName": "validateHasChildren"
445
+ }];
446
+ }
447
447
  }
448
448
  //# sourceMappingURL=mg-menu-item.js.map