@mgdis/mg-components 5.25.2 → 5.27.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 (256) hide show
  1. package/dist/cjs/{index-f699ee11.js → index-1d560837.js} +105 -89
  2. package/dist/cjs/index-1d560837.js.map +1 -0
  3. package/dist/cjs/{index-0256ee6d.js → index-7072369e.js} +17 -5
  4. package/dist/cjs/index-7072369e.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/{mg-action-more_34.cjs.entry.js → mg-action-more_35.cjs.entry.js} +693 -774
  7. package/dist/cjs/mg-action-more_35.cjs.entry.js.map +1 -0
  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 +8 -7
  11. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  12. package/dist/cjs/mg-loader.cjs.entry.js +4 -4
  13. package/dist/cjs/mg-loader.cjs.entry.js.map +1 -1
  14. package/dist/collection/assets/icons/index.js +1 -206
  15. package/dist/collection/assets/icons/index.js.map +1 -1
  16. package/dist/collection/collection-manifest.json +4 -3
  17. package/dist/collection/components/atoms/mg-badge/mg-badge.js +2 -2
  18. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  19. package/dist/collection/components/atoms/mg-button/mg-button.js +6 -6
  20. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  21. package/dist/collection/components/atoms/mg-card/mg-card.js +2 -2
  22. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
  23. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +2 -2
  24. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -1
  25. package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js.map +1 -1
  27. package/dist/collection/components/atoms/mg-icon/mg-icon.js +13 -8
  28. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
  29. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +3 -3
  30. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
  31. package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -3
  32. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  33. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +21 -0
  34. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js.map +1 -0
  35. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +509 -0
  36. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +1 -0
  37. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +1 -5
  38. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -1
  39. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +7 -7
  40. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -1
  42. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +67 -45
  43. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  44. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +31 -13
  45. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  46. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +48 -18
  47. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  48. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +54 -15
  49. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  50. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +40 -8
  51. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
  52. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +44 -13
  53. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  54. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +63 -24
  55. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  56. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +47 -15
  57. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  58. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +30 -21
  59. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  60. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +3 -3
  61. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
  62. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +4 -0
  63. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
  64. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +43 -7
  65. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  66. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
  67. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +41 -41
  68. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  69. package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
  70. package/dist/collection/components/molecules/mg-form/mg-form.js +4 -4
  71. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  72. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -3
  73. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js.map +1 -1
  74. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +12 -11
  75. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  76. package/dist/collection/components/molecules/mg-loader/mg-loader.js +3 -3
  77. package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +1 -1
  78. package/dist/collection/components/molecules/mg-message/mg-message.js +3 -3
  79. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
  80. package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
  81. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +4 -4
  82. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  83. package/dist/collection/components/molecules/mg-panel/mg-panel.js +4 -4
  84. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  85. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
  86. package/dist/collection/components/molecules/mg-popover/mg-popover.js +2 -2
  87. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  88. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
  89. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +1 -1
  90. package/dist/collection/locales/en/messages.json +10 -3
  91. package/dist/collection/locales/fr/messages.json +10 -3
  92. package/dist/collection/locales/index.conf.js +2 -0
  93. package/dist/collection/locales/index.conf.js.map +1 -0
  94. package/dist/collection/utils/playwright.fixture.js +1 -1
  95. package/dist/collection/utils/playwright.fixture.js.map +1 -1
  96. package/dist/components/index.es.js +28 -28
  97. package/dist/components/index.es.js.map +1 -1
  98. package/dist/components/index2.js +26 -10
  99. package/dist/components/index2.js.map +1 -1
  100. package/dist/components/mg-action-more.js +16 -16
  101. package/dist/components/mg-action-more.js.map +1 -1
  102. package/dist/components/mg-badge2.js +3 -3
  103. package/dist/components/mg-badge2.js.map +1 -1
  104. package/dist/components/mg-button2.js +5 -5
  105. package/dist/components/mg-button2.js.map +1 -1
  106. package/dist/components/mg-card2.js +4 -4
  107. package/dist/components/mg-card2.js.map +1 -1
  108. package/dist/components/mg-character-left2.js +1 -1
  109. package/dist/components/mg-character-left2.js.map +1 -1
  110. package/dist/components/mg-details.js +3 -3
  111. package/dist/components/mg-divider.js +1 -1
  112. package/dist/components/mg-form.js +4 -4
  113. package/dist/components/mg-form.js.map +1 -1
  114. package/dist/components/mg-icon2.js +6 -418
  115. package/dist/components/mg-icon2.js.map +1 -1
  116. package/dist/components/mg-illustrated-message.js +5 -5
  117. package/dist/components/mg-input-checkbox-paginated2.js +13 -11
  118. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  119. package/dist/components/mg-input-checkbox.js +74 -52
  120. package/dist/components/mg-input-checkbox.js.map +1 -1
  121. package/dist/components/mg-input-date.js +39 -21
  122. package/dist/components/mg-input-date.js.map +1 -1
  123. package/dist/components/mg-input-numeric.js +46 -17
  124. package/dist/components/mg-input-numeric.js.map +1 -1
  125. package/dist/components/mg-input-password.js +59 -15
  126. package/dist/components/mg-input-password.js.map +1 -1
  127. package/dist/components/mg-input-radio.js +44 -13
  128. package/dist/components/mg-input-radio.js.map +1 -1
  129. package/dist/components/mg-input-select2.js +48 -18
  130. package/dist/components/mg-input-select2.js.map +1 -1
  131. package/dist/components/mg-input-text2.js +56 -24
  132. package/dist/components/mg-input-text2.js.map +1 -1
  133. package/dist/components/mg-input-textarea.js +50 -19
  134. package/dist/components/mg-input-textarea.js.map +1 -1
  135. package/dist/components/mg-input-title2.js +3 -3
  136. package/dist/components/mg-input-title2.js.map +1 -1
  137. package/dist/components/mg-input-toggle.js +39 -26
  138. package/dist/components/mg-input-toggle.js.map +1 -1
  139. package/dist/components/mg-input.d.ts +11 -0
  140. package/dist/components/mg-input.js +8 -0
  141. package/dist/components/mg-input.js.map +1 -0
  142. package/dist/components/mg-input2.js +352 -0
  143. package/dist/components/mg-input2.js.map +1 -0
  144. package/dist/components/mg-item-more.js +8 -7
  145. package/dist/components/mg-item-more.js.map +1 -1
  146. package/dist/components/mg-loader.js +3 -3
  147. package/dist/components/mg-loader.js.map +1 -1
  148. package/dist/components/mg-menu-item2.js +25 -8
  149. package/dist/components/mg-menu-item2.js.map +1 -1
  150. package/dist/components/mg-menu2.js +1 -1
  151. package/dist/components/mg-menu2.js.map +1 -1
  152. package/dist/components/mg-message.js +4 -4
  153. package/dist/components/mg-message.js.map +1 -1
  154. package/dist/components/mg-modal.js +9 -9
  155. package/dist/components/mg-modal.js.map +1 -1
  156. package/dist/components/mg-pagination2.js +14 -8
  157. package/dist/components/mg-pagination2.js.map +1 -1
  158. package/dist/components/mg-panel.js +19 -13
  159. package/dist/components/mg-panel.js.map +1 -1
  160. package/dist/components/mg-popover-content2.js +4 -4
  161. package/dist/components/mg-popover2.js +5 -5
  162. package/dist/components/mg-popover2.js.map +1 -1
  163. package/dist/components/mg-skip-links.js +3 -3
  164. package/dist/components/mg-tabs.js +7 -7
  165. package/dist/components/mg-tag.js +4 -4
  166. package/dist/components/mg-tag.js.map +1 -1
  167. package/dist/components/mg-tooltip2.js +6 -6
  168. package/dist/esm/{index-d2fc6ec0.js → index-445fc2a0.js} +99 -83
  169. package/dist/esm/index-445fc2a0.js.map +1 -0
  170. package/dist/esm/{index-4ad17402.js → index-629a42c7.js} +17 -5
  171. package/dist/esm/index-629a42c7.js.map +1 -0
  172. package/dist/esm/loader.js +3 -3
  173. package/dist/esm/{mg-action-more_34.entry.js → mg-action-more_35.entry.js} +693 -775
  174. package/dist/esm/mg-action-more_35.entry.js.map +1 -0
  175. package/dist/esm/mg-components.js +4 -4
  176. package/dist/esm/mg-components.js.map +1 -1
  177. package/dist/esm/mg-item-more.entry.js +8 -7
  178. package/dist/esm/mg-item-more.entry.js.map +1 -1
  179. package/dist/esm/mg-loader.entry.js +4 -4
  180. package/dist/esm/mg-loader.entry.js.map +1 -1
  181. package/dist/mg-components/locales/en/messages.json +10 -3
  182. package/dist/mg-components/locales/fr/messages.json +10 -3
  183. package/dist/mg-components/mg-components.esm.js +1 -1
  184. package/dist/mg-components/mg-components.esm.js.map +1 -1
  185. package/dist/mg-components/p-3ebe6845.js +2 -0
  186. package/dist/mg-components/p-3ebe6845.js.map +1 -0
  187. package/dist/mg-components/{p-568c9ea9.entry.js → p-6735e4b2.entry.js} +2 -2
  188. package/dist/mg-components/p-6735e4b2.entry.js.map +1 -0
  189. package/dist/mg-components/p-9dfaa41f.js +3 -0
  190. package/dist/mg-components/p-9dfaa41f.js.map +1 -0
  191. package/dist/mg-components/p-b3e0f7b3.entry.js +2 -0
  192. package/dist/mg-components/p-b3e0f7b3.entry.js.map +1 -0
  193. package/dist/mg-components/{p-22f575c5.entry.js → p-fe347f48.entry.js} +2 -2
  194. package/dist/mg-components/{p-22f575c5.entry.js.map → p-fe347f48.entry.js.map} +1 -1
  195. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +2 -2
  196. package/dist/types/components/atoms/mg-button/mg-button.d.ts +5 -5
  197. package/dist/types/components/atoms/mg-card/mg-card.d.ts +1 -1
  198. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +1 -1
  199. package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +5 -0
  200. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +3 -3
  201. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +2 -2
  202. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +2 -2
  203. package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +35 -0
  204. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +139 -0
  205. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +5 -5
  206. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +3 -5
  207. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +13 -12
  208. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +8 -6
  209. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +12 -9
  210. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +16 -5
  211. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +7 -3
  212. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +7 -4
  213. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +18 -12
  214. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +12 -9
  215. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +12 -12
  216. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +1 -1
  217. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +8 -0
  218. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +10 -5
  219. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +7 -16
  220. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +9 -9
  221. package/dist/types/components/molecules/mg-form/mg-form.d.ts +3 -3
  222. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +3 -12
  223. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +4 -3
  224. package/dist/types/components/molecules/mg-loader/mg-loader.d.ts +2 -2
  225. package/dist/types/components/molecules/mg-message/mg-message.d.ts +2 -2
  226. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +2 -2
  227. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +3 -3
  228. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -1
  229. package/dist/types/components.d.ts +205 -94
  230. package/dist/types/locales/index.conf.d.ts +4 -0
  231. package/ide/intellij/web-types.json +6035 -0
  232. package/ide/vscode/html-custom-data.json +6517 -0
  233. package/package.json +33 -30
  234. package/dist/cjs/index-0256ee6d.js.map +0 -1
  235. package/dist/cjs/index-f699ee11.js.map +0 -1
  236. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +0 -1
  237. package/dist/collection/components/molecules/inputs/MgInput.conf.js +0 -14
  238. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +0 -1
  239. package/dist/collection/components/molecules/inputs/MgInput.js +0 -125
  240. package/dist/collection/components/molecules/inputs/MgInput.js.map +0 -1
  241. package/dist/collection/utils/playwright.e2e.test.utils.js +0 -100
  242. package/dist/collection/utils/playwright.e2e.test.utils.js.map +0 -1
  243. package/dist/components/MgInput.js +0 -155
  244. package/dist/components/MgInput.js.map +0 -1
  245. package/dist/esm/index-4ad17402.js.map +0 -1
  246. package/dist/esm/index-d2fc6ec0.js.map +0 -1
  247. package/dist/esm/mg-action-more_34.entry.js.map +0 -1
  248. package/dist/mg-components/p-29b5a514.js +0 -2
  249. package/dist/mg-components/p-29b5a514.js.map +0 -1
  250. package/dist/mg-components/p-568c9ea9.entry.js.map +0 -1
  251. package/dist/mg-components/p-57614d95.entry.js +0 -2
  252. package/dist/mg-components/p-57614d95.entry.js.map +0 -1
  253. package/dist/mg-components/p-f761ebcd.js +0 -3
  254. package/dist/mg-components/p-f761ebcd.js.map +0 -1
  255. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +0 -46
  256. package/dist/types/components/molecules/inputs/MgInput.d.ts +0 -13
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { F as Fe, _ as _e } from './index.es.js';
2
+ import { M as Me, F as Fe } from './index.es.js';
3
3
  import { i as initLocales } from './index2.js';
4
4
  import { d as defineCustomElement$3 } from './mg-button2.js';
5
5
  import { d as defineCustomElement$2 } from './mg-card2.js';
@@ -21,7 +21,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
21
21
  this.hideContent.emit();
22
22
  };
23
23
  this.closeButton = false;
24
- this.classCollection = new Fe(['mg-c-popover-content']);
24
+ this.classCollection = new Me(['mg-c-popover-content']);
25
25
  }
26
26
  /*************
27
27
  * Lifecycle *
@@ -39,7 +39,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
39
39
  componentDidLoad() {
40
40
  const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
41
41
  const slottedTitleElement = this.element.querySelector('[slot="title"]');
42
- if (slottedTitleElement && !_e(slottedTitleElement, headingTags)) {
42
+ if (slottedTitleElement && !Fe(slottedTitleElement, headingTags)) {
43
43
  throw new Error(`<mg-popover> Slotted title must be a heading: ${headingTags.join(', ')}`);
44
44
  }
45
45
  }
@@ -48,7 +48,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
48
48
  * @returns HTML Element
49
49
  */
50
50
  render() {
51
- return (h(Host, { key: '571f8154dbfa075c6fedcff3e2b8f5e9daf374fe' }, h("mg-card", { key: '4c173845a5baa5afd18464789c281e6d2663a754', class: this.classCollection.join() }, this.closeButton && (h("mg-button", { "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, h("mg-icon", { icon: "cross" }))), h("div", { key: '89d60fc8aecfe7b743331354f13b4c0222046f84', class: "mg-c-popover-content__title" }, h("slot", { key: '0547a80a3b8dfd76eaafbc252b2473de1c997c02', name: "title" })), h("slot", { key: '3c0a7a30ea07b17d33dc54f91b9eb53079f8f720', name: "content" })), h("slot", { key: 'b75f725bcc46602e0159f1bc2c699f253ad36be9', name: "arrow" })));
51
+ return (h(Host, { key: 'e7344c0999adb28766413b2b5cdb2a682d0761ac' }, h("mg-card", { key: '04e73d6b68b89bd915a5ce9ebcc6a4c06742b6f1', class: this.classCollection.join() }, this.closeButton && (h("mg-button", { "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, h("mg-icon", { icon: "cross" }))), h("div", { key: 'e2d30d49368722078c32edb5d95191fa2f03af22', class: "mg-c-popover-content__title" }, h("slot", { key: '0aee7ff2b06f57ff5256a2420c75ed987b48975b', name: "title" })), h("slot", { key: '2d2ec48ad494aeec5554572dbd3b1620856ac5ba', name: "content" })), h("slot", { key: '90d1985eeaf2d7424b9418d2e7ce26ef6bc35efe', name: "arrow" })));
52
52
  }
53
53
  get element() { return this; }
54
54
  static get style() { return MgPopoverContentStyle0; }
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { j as je, N as Ne } from './index.es.js';
2
+ import { R as Re, _ as _e } from './index.es.js';
3
3
  import { d as defineCustomElement$4 } from './mg-button2.js';
4
4
  import { d as defineCustomElement$3 } from './mg-card2.js';
5
5
  import { d as defineCustomElement$2 } from './mg-icon2.js';
@@ -57,7 +57,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
57
57
  };
58
58
  /**
59
59
  * Manage all clickOustside listeners
60
- * @param action top process on elements listeners
60
+ * @param action - top process on elements listeners
61
61
  */
62
62
  this.manageClickOutsideListeners = (action) => {
63
63
  var _a, _b;
@@ -103,7 +103,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
103
103
  mgPopoverContent.setAttribute('id', this.identifier);
104
104
  }
105
105
  };
106
- this.identifier = je('mg-popover');
106
+ this.identifier = Re('mg-popover');
107
107
  this.placement = 'bottom';
108
108
  this.arrowHide = false;
109
109
  this.closeButton = false;
@@ -146,7 +146,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
146
146
  */
147
147
  componentWillLoad() {
148
148
  // Get windows to attach events
149
- this.windows = Ne(window);
149
+ this.windows = _e(window);
150
150
  // render mg-popover-content slot
151
151
  this.renderPopoverContent();
152
152
  this.validateCloseButton(this.closeButton);
@@ -208,7 +208,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
208
208
  * @returns HTML Element
209
209
  */
210
210
  render() {
211
- return (h(Host, { key: 'a3228ac886665c7c8e384bda6d18c4525111ecc9' }, h("slot", { key: '067e65b7c0d917afe2bce54787bc1501309118b4' }), h("slot", { key: 'b8c0b73a5d93558d038fa2b00c18aa390fbe4466', name: "content" })));
211
+ return (h(Host, { key: 'd6ebc1c018e61ca61593905ec3e2535394bd53a7' }, h("slot", { key: 'a47ad7ad03453c782aea2994254c5cd98a1e3b92' }), h("slot", { key: '6ba88b5e57dc91474de84037c0d7a793755ed18f', name: "content" })));
212
212
  }
213
213
  get element() { return this; }
214
214
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"mg-popover2.js","mappings":"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","names":["createID","getWindows"],"sources":["../styles/dist/components/mg-popover.css?tag=mg-popover&encapsulation=shadow","src/components/molecules/mg-popover/mg-popover.tsx"],"sourcesContent":[":host{--mg-card-padding: var(--mg-popover-padding-vertical, 1.5rem) var(--mg-popover-padding-horizontal, var(--mg-popover-padding-vertical, 1.5rem));--mg-card-border: none;--mg-card-border-radius: 0.5rem;--mg-card-background: hsl(var(--mg-popover-background-color));position:relative;display:contents}:host::slotted(*){display:inline-block}/*# sourceMappingURL=mg-popover.css.map */\n","import { Component, Element, Host, h, Prop, Watch, EventEmitter, Event } from '@stencil/core';\nimport { createID, getWindows } from '@mgdis/stencil-helpers';\nimport { Instance as PopperInstance, createPopper, Placement } from '@popperjs/core';\n\n@Component({\n tag: 'mg-popover',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-popover.css',\n shadow: true,\n})\nexport class MgPopover {\n /************\n * Internal *\n ************/\n\n private popper: PopperInstance;\n private mgPopover: HTMLElement;\n private mgPopoverContent: HTMLMgPopoverContentElement;\n private windows: Window[];\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgPopoverElement;\n\n /**\n * Sets an `id` attribute.\n * Needed by the input for accessibility `aria-decribedby`.\n */\n @Prop() identifier: string = createID('mg-popover');\n @Watch('identifier')\n validateIdentifier(): void {\n // use renderPopoverContent to update popover-content id\n this.renderPopoverContent();\n }\n\n /**\n * Popover placement\n */\n @Prop() placement: Placement = 'bottom';\n\n /**\n * Hide popover arrow\n */\n @Prop() arrowHide = false;\n @Watch('arrowHide')\n validateArrowHide(newValue: MgPopover['arrowHide']): void {\n if (newValue) this.mgPopoverContent.dataset.arrowHide = '';\n else delete this.mgPopoverContent.dataset.arrowHide;\n }\n\n /**\n * Define if popover has a cross button\n */\n @Prop() closeButton = false;\n @Watch('closeButton')\n validateCloseButton(newValue: MgPopover['closeButton']): void {\n this.mgPopoverContent.closeButton = newValue;\n }\n\n /**\n * Display popover\n */\n @Prop({ mutable: true }) display = false;\n @Watch('display')\n handleDisplay(newValue: boolean): void {\n if (newValue) {\n this.show();\n } else {\n this.hide();\n }\n this.displayChange.emit(newValue);\n }\n\n /**\n * Disable popover\n */\n @Prop() disabled = false;\n\n /**\n * Emited event when display value change\n */\n @Event({ eventName: 'display-change' }) displayChange: EventEmitter<HTMLMgPopoverElement['display']>;\n\n /**\n * Check if clicked outside of component\n * @param event - mouse event\n */\n private clickOutside = (event: MouseEvent & { target: HTMLElement }): void => {\n if (!this.disabled && event.target.closest('mg-popover') !== this.element && !event.target.closest(`[data-mg-popover-guard=\"${this.identifier}\"]`)) this.display = false;\n };\n\n /**\n * Show popover\n */\n private show = (): void => {\n // Make the popover visible\n this.mgPopover.dataset.show = '';\n // Enable the event listeners\n this.setPopperListeners(true);\n // hide when click outside\n // setTimeout is used to prevent event to trigger after creation\n setTimeout(() => {\n this.manageClickOutsideListeners('addEventListener');\n });\n };\n\n /**\n * Hide popover\n */\n private hide = (): void => {\n // Hide the popover\n this.mgPopover.removeAttribute('data-show');\n // Disable the event listeners\n this.setPopperListeners(false);\n // Remove event listener\n this.manageClickOutsideListeners('removeEventListener');\n };\n\n /**\n * Set popper listeners\n * @param newValue - if true enable popper listners\n */\n private setPopperListeners = (newValue: boolean): void => {\n this.popper.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, { name: 'eventListeners', enabled: newValue }],\n }));\n };\n\n /**\n * Manage all clickOustside listeners\n * @param action top process on elements listeners\n */\n private manageClickOutsideListeners = (action: 'removeEventListener' | 'addEventListener'): void => {\n // clickOutside listeners need to bind windows\n // AND as shawdowDom content is not include on windows listeners `event.target` we need to include popover guard content DOM if it's a web-component\n // by doing this we can get and parse all needeed document DOM elements in clickOutside callback event.details.\n // This result in the givern junction :\n // Windows > document > [data-mg-popover-guard] + [data-mg-popover-guard] > shadowRoot = Windows > document > [data-mg-popover-guard] > shadowRoot\n const guardChildren = Array.from(document.querySelector(`[data-mg-popover-guard=\"${this.identifier}\"]`)?.shadowRoot?.children || new Set());\n [...guardChildren, ...this.windows].forEach((element: Window | HTMLElement) => {\n element[action]('click', this.clickOutside, false);\n });\n };\n\n /**\n * Handle content hide event\n */\n private handleHideContent = (): void => {\n this.display = false;\n };\n\n /**\n * Render popover content element\n */\n private renderPopoverContent = (): void => {\n const mgPopoverContent = this.element.querySelector('mg-popover-content');\n if (mgPopoverContent === null) {\n this.mgPopoverContent = document.createElement('mg-popover-content');\n this.mgPopoverContent.setAttribute('slot', 'content');\n this.mgPopoverContent.setAttribute('id', this.identifier);\n this.mgPopoverContent.addEventListener('hide-content', this.handleHideContent);\n\n const arrow = document.createElement('div');\n arrow.setAttribute('slot', 'arrow');\n arrow.dataset.popperArrow = '';\n this.mgPopoverContent.appendChild(arrow);\n\n // insert elements in DOM\n ['[slot=\"title\"]', '[slot=\"content\"]:not(mg-popover-content)'].forEach(slotType => {\n Array.from(this.element.querySelectorAll(slotType)).forEach(slot => {\n this.mgPopoverContent.appendChild(slot);\n });\n });\n this.element.appendChild(this.mgPopoverContent);\n } else {\n mgPopoverContent.setAttribute('id', this.identifier);\n }\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * update popper position after props change on component did update hook to benefit from render ended\n */\n componentDidUpdate(): void {\n this.popper.update();\n }\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n // Get windows to attach events\n this.windows = getWindows(window);\n // render mg-popover-content slot\n this.renderPopoverContent();\n this.validateCloseButton(this.closeButton);\n this.validateIdentifier();\n this.validateArrowHide(this.arrowHide);\n }\n\n /**\n * Check if component props are well configured on init\n */\n componentDidLoad(): void {\n // Get popover content\n this.mgPopover = this.element.querySelector(`#${this.identifier}`);\n\n //Get interactive element (first element without slot attribute)\n const interactiveElement: HTMLElement = this.element.querySelector(':not([slot])');\n // Add aria attributes\n interactiveElement.setAttribute('aria-controls', this.identifier);\n interactiveElement.setAttribute('aria-expanded', `${this.display}`);\n\n // Create popperjs popover\n this.popper = createPopper(interactiveElement, this.mgPopover, {\n placement: this.placement,\n strategy: 'fixed',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 0],\n },\n },\n {\n name: 'flip',\n options: {\n fallbackPlacements: ['auto'],\n },\n },\n ],\n });\n\n // add resize observer\n [interactiveElement, this.element.querySelector('mg-popover-content')].forEach(element => {\n new ResizeObserver(() => {\n this.popper.update();\n }).observe(element);\n });\n\n // Add events to toggle display\n interactiveElement.addEventListener('click', () => {\n if (!this.disabled) this.display = !this.display;\n });\n\n // Add events to hide popover\n this.element.addEventListener('keydown', e => {\n if (!this.disabled && e.code === 'Escape') {\n this.display = false;\n interactiveElement.focus();\n }\n });\n\n this.handleDisplay(this.display);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <Host>\n <slot></slot>\n <slot name=\"content\"></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"mg-popover2.js","mappings":";;;;;;;;AAAA,MAAM,YAAY,GAAG,kVAAkV,CAAC;AACxW,wBAAe,YAAY;;MCQd,SAAS;;;;;;;;;;QAkFZ,iBAAY,GAAG,CAAC,KAA2C;YACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,IAAI,CAAC,UAAU,IAAI,CAAC;gBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SAC1K,CAAC;;;;QAKM,SAAI,GAAG;;YAEb,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;;YAEjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;;;YAG9B,UAAU,CAAC;gBACT,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;aACtD,CAAC,CAAC;SACJ,CAAC;;;;QAKM,SAAI,GAAG;;YAEb,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;;YAE5C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;;YAE/B,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;SACzD,CAAC;;;;;QAMM,uBAAkB,GAAG,CAAC,QAAiB;YAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,qCACzB,OAAO,KACV,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAChF,CAAC,CAAC;SACL,CAAC;;;;;QAMM,gCAA2B,GAAG,CAAC,MAAkD;;;;;;;YAMvF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA,MAAA,MAAA,QAAQ,CAAC,aAAa,CAAC,2BAA2B,IAAI,CAAC,UAAU,IAAI,CAAC,0CAAE,UAAU,0CAAE,QAAQ,KAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YAC5I,CAAC,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAA6B;gBACxE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;aACpD,CAAC,CAAC;SACJ,CAAC;;;;QAKM,sBAAiB,GAAG;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB,CAAC;;;;QAKM,yBAAoB,GAAG;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC1E,IAAI,gBAAgB,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBACrE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAE/E,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC5C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;gBAGzC,CAAC,gBAAgB,EAAE,0CAA0C,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;wBAC9D,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACJ,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aACjD;iBAAM;gBACL,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aACtD;SACF,CAAC;0BAtJ2BA,EAAQ,CAAC,YAAY,CAAC;yBAUpB,QAAQ;yBAKnB,KAAK;2BAUH,KAAK;uBASQ,KAAK;wBAcrB,KAAK;;IA9CxB,kBAAkB;;QAEhB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAYD,iBAAiB,CAAC,QAAgC;QAChD,IAAI,QAAQ;YAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;;YACtD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;KACrD;IAOD,mBAAmB,CAAC,QAAkC;QACpD,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC9C;IAOD,aAAa,CAAC,QAAiB;QAC7B,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;aAAM;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnC;;;;;;;IAoHD,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACtB;;;;IAKD,iBAAiB;;QAEf,IAAI,CAAC,OAAO,GAAGC,EAAU,CAAC,MAAM,CAAC,CAAC;;QAElC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACxC;;;;IAKD,gBAAgB;;QAEd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;QAGnE,MAAM,kBAAkB,GAAgB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;;QAEnF,kBAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,kBAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;;QAGpE,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE;YAC7D,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBACP,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;qBACf;iBACF;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,kBAAkB,EAAE,CAAC,MAAM,CAAC;qBAC7B;iBACF;aACF;SACF,CAAC,CAAC;;QAGH,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO;YACpF,IAAI,cAAc,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACrB,CAAC,CAAC;;QAGH,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAClD,CAAC,CAAC;;QAGH,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,kBAAkB,CAAC,KAAK,EAAE,CAAC;aAC5B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,8DAAa,EACb,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACvB,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["createID","getWindows"],"sources":["../styles/dist/components/mg-popover.css?tag=mg-popover&encapsulation=shadow","src/components/molecules/mg-popover/mg-popover.tsx"],"sourcesContent":[":host{--mg-card-padding: var(--mg-popover-padding-vertical, 1.5rem) var(--mg-popover-padding-horizontal, var(--mg-popover-padding-vertical, 1.5rem));--mg-card-border: none;--mg-card-border-radius: 0.5rem;--mg-card-background: hsl(var(--mg-popover-background-color));position:relative;display:contents}:host::slotted(*){display:inline-block}/*# sourceMappingURL=mg-popover.css.map */\n","import { Component, Element, Host, h, Prop, Watch, EventEmitter, Event } from '@stencil/core';\nimport { createID, getWindows } from '@mgdis/stencil-helpers';\nimport { Instance as PopperInstance, createPopper, Placement } from '@popperjs/core';\n\n@Component({\n tag: 'mg-popover',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-popover.css',\n shadow: true,\n})\nexport class MgPopover {\n /************\n * Internal *\n ************/\n\n private popper: PopperInstance;\n private mgPopover: HTMLElement;\n private mgPopoverContent: HTMLMgPopoverContentElement;\n private windows: Window[];\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgPopoverElement;\n\n /**\n * Sets an `id` attribute.\n * Needed by the input for accessibility `aria-decribedby`.\n */\n @Prop() identifier: string = createID('mg-popover');\n @Watch('identifier')\n validateIdentifier(): void {\n // use renderPopoverContent to update popover-content id\n this.renderPopoverContent();\n }\n\n /**\n * Popover placement\n */\n @Prop() placement: Placement = 'bottom';\n\n /**\n * Hide popover arrow\n */\n @Prop() arrowHide = false;\n @Watch('arrowHide')\n validateArrowHide(newValue: MgPopover['arrowHide']): void {\n if (newValue) this.mgPopoverContent.dataset.arrowHide = '';\n else delete this.mgPopoverContent.dataset.arrowHide;\n }\n\n /**\n * Define if popover has a cross button\n */\n @Prop() closeButton = false;\n @Watch('closeButton')\n validateCloseButton(newValue: MgPopover['closeButton']): void {\n this.mgPopoverContent.closeButton = newValue;\n }\n\n /**\n * Display popover\n */\n @Prop({ mutable: true }) display = false;\n @Watch('display')\n handleDisplay(newValue: boolean): void {\n if (newValue) {\n this.show();\n } else {\n this.hide();\n }\n this.displayChange.emit(newValue);\n }\n\n /**\n * Disable popover\n */\n @Prop() disabled = false;\n\n /**\n * Emited event when display value change\n */\n @Event({ eventName: 'display-change' }) displayChange: EventEmitter<HTMLMgPopoverElement['display']>;\n\n /**\n * Check if clicked outside of component\n * @param event - mouse event\n */\n private clickOutside = (event: MouseEvent & { target: HTMLElement }): void => {\n if (!this.disabled && event.target.closest('mg-popover') !== this.element && !event.target.closest(`[data-mg-popover-guard=\"${this.identifier}\"]`)) this.display = false;\n };\n\n /**\n * Show popover\n */\n private show = (): void => {\n // Make the popover visible\n this.mgPopover.dataset.show = '';\n // Enable the event listeners\n this.setPopperListeners(true);\n // hide when click outside\n // setTimeout is used to prevent event to trigger after creation\n setTimeout(() => {\n this.manageClickOutsideListeners('addEventListener');\n });\n };\n\n /**\n * Hide popover\n */\n private hide = (): void => {\n // Hide the popover\n this.mgPopover.removeAttribute('data-show');\n // Disable the event listeners\n this.setPopperListeners(false);\n // Remove event listener\n this.manageClickOutsideListeners('removeEventListener');\n };\n\n /**\n * Set popper listeners\n * @param newValue - if true enable popper listners\n */\n private setPopperListeners = (newValue: boolean): void => {\n this.popper.setOptions(options => ({\n ...options,\n modifiers: [...options.modifiers, { name: 'eventListeners', enabled: newValue }],\n }));\n };\n\n /**\n * Manage all clickOustside listeners\n * @param action - top process on elements listeners\n */\n private manageClickOutsideListeners = (action: 'removeEventListener' | 'addEventListener'): void => {\n // clickOutside listeners need to bind windows\n // AND as shawdowDom content is not include on windows listeners `event.target` we need to include popover guard content DOM if it's a web-component\n // by doing this we can get and parse all needeed document DOM elements in clickOutside callback event.details.\n // This result in the givern junction :\n // Windows > document > [data-mg-popover-guard] + [data-mg-popover-guard] > shadowRoot = Windows > document > [data-mg-popover-guard] > shadowRoot\n const guardChildren = Array.from(document.querySelector(`[data-mg-popover-guard=\"${this.identifier}\"]`)?.shadowRoot?.children || new Set());\n [...guardChildren, ...this.windows].forEach((element: Window | HTMLElement) => {\n element[action]('click', this.clickOutside, false);\n });\n };\n\n /**\n * Handle content hide event\n */\n private handleHideContent = (): void => {\n this.display = false;\n };\n\n /**\n * Render popover content element\n */\n private renderPopoverContent = (): void => {\n const mgPopoverContent = this.element.querySelector('mg-popover-content');\n if (mgPopoverContent === null) {\n this.mgPopoverContent = document.createElement('mg-popover-content');\n this.mgPopoverContent.setAttribute('slot', 'content');\n this.mgPopoverContent.setAttribute('id', this.identifier);\n this.mgPopoverContent.addEventListener('hide-content', this.handleHideContent);\n\n const arrow = document.createElement('div');\n arrow.setAttribute('slot', 'arrow');\n arrow.dataset.popperArrow = '';\n this.mgPopoverContent.appendChild(arrow);\n\n // insert elements in DOM\n ['[slot=\"title\"]', '[slot=\"content\"]:not(mg-popover-content)'].forEach(slotType => {\n Array.from(this.element.querySelectorAll(slotType)).forEach(slot => {\n this.mgPopoverContent.appendChild(slot);\n });\n });\n this.element.appendChild(this.mgPopoverContent);\n } else {\n mgPopoverContent.setAttribute('id', this.identifier);\n }\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * update popper position after props change on component did update hook to benefit from render ended\n */\n componentDidUpdate(): void {\n this.popper.update();\n }\n\n /**\n * Check if component props are well configured on init\n */\n componentWillLoad(): void {\n // Get windows to attach events\n this.windows = getWindows(window);\n // render mg-popover-content slot\n this.renderPopoverContent();\n this.validateCloseButton(this.closeButton);\n this.validateIdentifier();\n this.validateArrowHide(this.arrowHide);\n }\n\n /**\n * Check if component props are well configured on init\n */\n componentDidLoad(): void {\n // Get popover content\n this.mgPopover = this.element.querySelector(`#${this.identifier}`);\n\n //Get interactive element (first element without slot attribute)\n const interactiveElement: HTMLElement = this.element.querySelector(':not([slot])');\n // Add aria attributes\n interactiveElement.setAttribute('aria-controls', this.identifier);\n interactiveElement.setAttribute('aria-expanded', `${this.display}`);\n\n // Create popperjs popover\n this.popper = createPopper(interactiveElement, this.mgPopover, {\n placement: this.placement,\n strategy: 'fixed',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 0],\n },\n },\n {\n name: 'flip',\n options: {\n fallbackPlacements: ['auto'],\n },\n },\n ],\n });\n\n // add resize observer\n [interactiveElement, this.element.querySelector('mg-popover-content')].forEach(element => {\n new ResizeObserver(() => {\n this.popper.update();\n }).observe(element);\n });\n\n // Add events to toggle display\n interactiveElement.addEventListener('click', () => {\n if (!this.disabled) this.display = !this.display;\n });\n\n // Add events to hide popover\n this.element.addEventListener('keydown', e => {\n if (!this.disabled && e.code === 'Escape') {\n this.display = false;\n interactiveElement.focus();\n }\n });\n\n this.handleDisplay(this.display);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <Host>\n <slot></slot>\n <slot name=\"content\"></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { i as initLocales } from './index2.js';
3
- import { H as He } from './index.es.js';
3
+ import { B as Be } from './index.es.js';
4
4
 
5
5
  const mgSkipLinksCss = ".mg-c-skip-links{position:absolute;background:hsl(var(--color-light));opacity:0;transform:translateY(-100%)}.mg-c-skip-links:focus-within{position:relative;opacity:1;transform:translateY(0)}.mg-c-skip-links__list{display:flex;flex-wrap:wrap;align-items:center;padding:.64rem 1.8rem;margin:0;gap:.6rem;list-style:none}.mg-c-skip-links__link{display:inline-block;padding:1.2rem;color:hsl(var(--color-dark))}.mg-c-skip-links__link:hover{background:hsl(var(--color-dark)/10%)}";
6
6
  const MgSkipLinksStyle0 = mgSkipLinksCss;
@@ -25,7 +25,7 @@ const MgSkipLinks$1 = /*@__PURE__*/ proxyCustomElement(class MgSkipLinks extends
25
25
  this.links = undefined;
26
26
  }
27
27
  validateLinks(links) {
28
- if (links === undefined || links.length === 0 || links.some(link => !He(link.href) || !link.href.startsWith('#') || !He(link.label))) {
28
+ if (links === undefined || links.length === 0 || links.some(link => !Be(link.href) || !link.href.startsWith('#') || !Be(link.label))) {
29
29
  throw new Error(`<mg-skip-links> prop "links": Cannot be empty and each link must contains an href starting with a "#" and a non empty label attributes.`);
30
30
  }
31
31
  }
@@ -44,7 +44,7 @@ const MgSkipLinks$1 = /*@__PURE__*/ proxyCustomElement(class MgSkipLinks extends
44
44
  * @returns HTML Element
45
45
  */
46
46
  render() {
47
- return (h("nav", { key: '8fcbba136f23c73d6bc500eae107ac7d72caf9e3', class: "mg-c-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, h("ul", { key: '003daec99013a9274ed48f11d0afbeb6cd3a5dc0', class: "mg-c-skip-links__list", role: "list" }, this.links.map(link => (h("li", { key: link.href }, h("a", { class: "mg-c-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
47
+ return (h("nav", { key: 'c66cf3fb09a459865bb10f21a7f1b7c1c04eec87', class: "mg-c-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, h("ul", { key: 'a8855a047dc8352df52ac16ca9c9a4b7ccf100c0', class: "mg-c-skip-links__list", role: "list" }, this.links.map(link => (h("li", { key: link.href }, h("a", { class: "mg-c-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
48
48
  }
49
49
  get element() { return this; }
50
50
  static get watchers() { return {
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { P as Pe, j as je, F as Fe, H as He, D as De } from './index.es.js';
2
+ import { U as Ue, R as Re, M as Me, B as Be, O as Oe } from './index.es.js';
3
3
  import { d as defineCustomElement$3 } from './mg-badge2.js';
4
4
  import { d as defineCustomElement$2 } from './mg-icon2.js';
5
5
 
@@ -129,7 +129,7 @@ const MgTabs$1 = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLEleme
129
129
  */
130
130
  this.resetFocus = () => {
131
131
  // update asynchronously tabindex to prevent get focus on new tabindex at then end of event process
132
- Pe(() => {
132
+ Ue(() => {
133
133
  this.tabFocus = undefined;
134
134
  Array.from(this.element.shadowRoot.querySelectorAll('[data-index]')).forEach((tab, index) => {
135
135
  tab.setAttribute('tabindex', this.activeTab - this.startIndex !== index ? '-1' : '0');
@@ -144,16 +144,16 @@ const MgTabs$1 = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLEleme
144
144
  if (slots.length !== this.tabs.length)
145
145
  throw new Error('<mg-tabs> Must have slots counts equal to tabs count.');
146
146
  };
147
- this.identifier = je('mg-tabs');
147
+ this.identifier = Re('mg-tabs');
148
148
  this.label = undefined;
149
149
  this.size = 'regular';
150
150
  this.items = undefined;
151
151
  this.activeTab = undefined;
152
152
  this.tabs = [];
153
- this.classCollection = new Fe(['mg-c-tabs']);
153
+ this.classCollection = new Me(['mg-c-tabs']);
154
154
  }
155
155
  validateLabel(newValue) {
156
- if (!He(newValue)) {
156
+ if (!Be(newValue)) {
157
157
  throw new Error('<mg-tabs> prop "label" is required.');
158
158
  }
159
159
  }
@@ -165,7 +165,7 @@ const MgTabs$1 = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLEleme
165
165
  }
166
166
  validateItems(newValue) {
167
167
  // String array
168
- if (De(newValue))
168
+ if (Oe(newValue))
169
169
  this.tabs = newValue.map(item => ({ label: item, status: Status.VISIBLE }));
170
170
  // Object array
171
171
  else if (Array.isArray(newValue) && newValue.length > 0 && newValue.every(isTabItem))
@@ -227,7 +227,7 @@ const MgTabs$1 = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLEleme
227
227
  * @returns HTML Element
228
228
  */
229
229
  render() {
230
- return (h("div", { key: '20e5f42bd37175f245a7169f58f1eabc37c13e01', class: this.classCollection.join() }, h("header", { key: 'f4bbc2c7818e1eb3f5e1878f392e7ad683a7e2f1', role: "tablist", "aria-label": this.label, class: "mg-c-tabs__header" }, this.tabs.map((tab, index) => (h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index), class: {
230
+ return (h("div", { key: '0a0e2fdcb11b2dd79803cc114a429b2ef4cc3c89', class: this.classCollection.join() }, h("header", { key: '332ba66756df3c83dcec8daf2d83386f5f93a6bb', role: "tablist", "aria-label": this.label, class: "mg-c-tabs__header" }, this.tabs.map((tab, index) => (h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index), class: {
231
231
  [`${this.buttonTabBaseClass}`]: true,
232
232
  [`${this.buttonTabBaseClass}--horizontal`]: true,
233
233
  [`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.tabHasStatus(tab, Status.ACTIVE),
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { F as Fe, H as He } from './index.es.js';
2
+ import { M as Me, B as Be } from './index.es.js';
3
3
 
4
4
  /**
5
5
  * List of all possibles variants
@@ -23,7 +23,7 @@ const MgTag$1 = /*@__PURE__*/ proxyCustomElement(class MgTag extends HTMLElement
23
23
  this.variant = variants[0];
24
24
  this.outline = undefined;
25
25
  this.soft = undefined;
26
- this.classCollection = new Fe(['mg-c-tag']);
26
+ this.classCollection = new Me(['mg-c-tag']);
27
27
  }
28
28
  validateVariant(newValue, oldValue) {
29
29
  if (!variants.includes(newValue)) {
@@ -60,7 +60,7 @@ const MgTag$1 = /*@__PURE__*/ proxyCustomElement(class MgTag extends HTMLElement
60
60
  * @param textContent - html element textContent property
61
61
  */
62
62
  validateTextContent(textContent) {
63
- if (!He(textContent))
63
+ if (!Be(textContent))
64
64
  throw new Error('<mg-tag> slot must contain a text content.');
65
65
  }
66
66
  /*************
@@ -80,7 +80,7 @@ const MgTag$1 = /*@__PURE__*/ proxyCustomElement(class MgTag extends HTMLElement
80
80
  * @returns HTML Element
81
81
  */
82
82
  render() {
83
- return (h("span", { key: '15dd499acdc87ca43c277bb7561646fa9c44f4c0', class: this.classCollection.join() }, h("slot", { key: '3237e437f07cede09a85997be8a73e98f26d78b2' })));
83
+ return (h("span", { key: 'c528cdd483287d210928ed3a993b491cdedd5b42', class: this.classCollection.join() }, h("slot", { key: '36403304976bb40067529c5cd0a810dca41055b1' })));
84
84
  }
85
85
  get element() { return this; }
86
86
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"mg-tag.js","mappings":";;;AAAA;;;AAGO,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU;;ACHjG,MAAM,QAAQ,GAAG,y9HAAy9H,CAAC;AAC3+H,oBAAe,QAAQ;;MCOVA,OAAK;;;;;;;;;QAMC,iBAAY,GAAG,mBAAmB,CAAC;QACnC,cAAS,GAAG,gBAAgB,CAAC;uBAcZ,QAAQ,CAAC,CAAC,CAAC;;;+BAwCP,IAAIC,EAAS,CAAC,CAAC,UAAU,CAAC,CAAC;;IAtCjE,eAAe,CAAC,QAA0B,EAAE,QAA2B;QACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpF;aAAM;YACL,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;aACtD;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;SACnD;KACF;IAOD,eAAe,CAAC,QAA0B;QACxC,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;YACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD;IAOD,YAAY,CAAC,QAAuB;;QAElC,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;;QAG3G,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;YAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAClD;;;;;;;;IAeO,mBAAmB,CAAC,WAAmB;QAC7C,IAAI,CAACC,EAAa,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAChG;;;;;;;IASD,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACpD;;;;;IAMD,MAAM;QACJ,QACE,6DAAM,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IACtC,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["MgTag","ClassList","isValidString"],"sources":["src/components/atoms/mg-tag/mg-tag.conf.ts","../styles/dist/components/mg-tag.css?tag=mg-tag&encapsulation=shadow","src/components/atoms/mg-tag/mg-tag.tsx"],"sourcesContent":["/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'] as const;\n\n/**\n * TagVariantType type from tag variants\n */\nexport type TagVariantType = (typeof variants)[number];\n",":host{display:inline-block}.mg-c-tag{display:inline-flex;min-height:var(--mg-tag-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-tag-height) - .2rem - var(--mg-tag-font-size)*var(--line-height))/2) .6rem;border:.1rem solid;border-radius:var(--mg-tag-border-radius);font-size:var(--mg-tag-font-size);font-weight:600;text-align:center;vertical-align:middle}.mg-c-tag.mg-c-tag--primary{border-color:hsl(var(--color-dark));background-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft{border-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));background-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary{border-color:hsl(var(--color-light));background-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft{border-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));background-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success{border-color:hsl(var(--color-success));background-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft{border-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--warning{border-color:hsl(var(--color-warning));background-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft{border-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--danger{border-color:hsl(var(--color-danger));background-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft{border-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--info{border-color:hsl(var(--color-info));background-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--info.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-info))}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft{border-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}::slotted(mg-icon){margin-right:.4rem}slot{display:inline-flex;align-items:center}/*# sourceMappingURL=mg-tag.css.map */\n","import { Component, h, Prop, State, Watch, Element } from '@stencil/core';\nimport { TagVariantType, variants } from './mg-tag.conf';\nimport { ClassList, isValidString } from '@mgdis/stencil-helpers';\n@Component({\n tag: 'mg-tag',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-tag.css',\n shadow: true,\n})\nexport class MgTag {\n /************\n * Internal *\n ************/\n\n // Classes\n private readonly classOutline = 'mg-c-tag--outline';\n private readonly classSoft = 'mg-c-tag--soft';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgTagElement;\n\n /**\n * Define tag variant\n */\n @Prop() variant: TagVariantType = variants[0]; // primary\n @Watch('variant')\n validateVariant(newValue: MgTag['variant'], oldValue?: MgTag['variant']): void {\n if (!variants.includes(newValue)) {\n throw new Error(`<mg-tag> prop \"variant\" must be one of: ${variants.join(', ')}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-tag--${oldValue}`);\n }\n this.classCollection.add(`mg-c-tag--${newValue}`);\n }\n }\n\n /**\n * Define if tag is using outline style\n */\n @Prop() outline: boolean;\n @Watch('outline')\n validateOutline(newValue: MgTag['outline']): void {\n if (newValue) this.classCollection.add(this.classOutline);\n else this.classCollection.delete(this.classOutline);\n }\n\n /**\n * Define if tag is using soft style\n */\n @Prop() soft: boolean;\n @Watch('soft')\n validateSoft(newValue: MgTag['soft']): void {\n // usage validation\n if (newValue && this.outline) throw new Error('<mg-tag> prop \"soft\" can NOT be used with prop \"outline\".');\n\n // apply class\n if (newValue) this.classCollection.add(this.classSoft);\n else this.classCollection.delete(this.classSoft);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-tag']);\n\n /*************\n * Methods *\n *************/\n\n /**\n * Validate the given textContent\n * @param textContent - html element textContent property\n */\n private validateTextContent(textContent: string): void {\n if (!isValidString(textContent)) throw new Error('<mg-tag> slot must contain a text content.');\n }\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateOutline(this.outline);\n this.validateSoft(this.soft);\n this.validateTextContent(this.element.textContent);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <span class={this.classCollection.join()}>\n <slot></slot>\n </span>\n );\n }\n}\n"],"version":3}
1
+ {"file":"mg-tag.js","mappings":";;;AAAA;;;AAGO,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU;;ACHjG,MAAM,QAAQ,GAAG,y9HAAy9H,CAAC;AAC3+H,oBAAe,QAAQ;;MCOVA,OAAK;;;;;;;;;QAMC,iBAAY,GAAG,mBAAmB,CAAC;QACnC,cAAS,GAAG,gBAAgB,CAAC;uBAcZ,QAAQ,CAAC,CAAC,CAAC;;;+BAwCP,IAAIC,EAAS,CAAC,CAAC,UAAU,CAAC,CAAC;;IAtCjE,eAAe,CAAC,QAA0B,EAAE,QAA2B;QACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpF;aAAM;YACL,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;aACtD;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;SACnD;KACF;IAOD,eAAe,CAAC,QAA0B;QACxC,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;YACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD;IAOD,YAAY,CAAC,QAAuB;;QAElC,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;;QAG3G,IAAI,QAAQ;YAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;YAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAClD;;;;;;;;IAeO,mBAAmB,CAAC,WAAmB;QAC7C,IAAI,CAACC,EAAa,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAChG;;;;;;;IASD,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KACpD;;;;;IAMD,MAAM;QACJ,QACE,6DAAM,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IACtC,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["MgTag","ClassList","isValidString"],"sources":["src/components/atoms/mg-tag/mg-tag.conf.ts","../styles/dist/components/mg-tag.css?tag=mg-tag&encapsulation=shadow","src/components/atoms/mg-tag/mg-tag.tsx"],"sourcesContent":["/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'] as const;\n\n/**\n * TagVariantType type from tag variants\n */\nexport type TagVariantType = (typeof variants)[number];\n",":host{display:inline-block}.mg-c-tag{display:inline-flex;min-height:var(--mg-tag-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-tag-height) - .2rem - var(--mg-tag-font-size)*var(--line-height))/2) .6rem;border:.1rem solid;border-radius:var(--mg-tag-border-radius);font-size:var(--mg-tag-font-size);font-weight:600;text-align:center;vertical-align:middle}.mg-c-tag.mg-c-tag--primary{border-color:hsl(var(--color-dark));background-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft{border-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));background-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary{border-color:hsl(var(--color-light));background-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft{border-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));background-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success{border-color:hsl(var(--color-success));background-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--success.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft{border-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-c-tag.mg-c-tag--warning{border-color:hsl(var(--color-warning));background-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft{border-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-c-tag.mg-c-tag--danger{border-color:hsl(var(--color-danger));background-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft{border-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-c-tag.mg-c-tag--info{border-color:hsl(var(--color-info));background-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-c-tag.mg-c-tag--info.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:hsl(var(--color-info))}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft{border-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));color:hsl(var(--color-dark));font-weight:400}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}::slotted(mg-icon){margin-right:.4rem}slot{display:inline-flex;align-items:center}/*# sourceMappingURL=mg-tag.css.map */\n","import { Component, h, Prop, State, Watch, Element } from '@stencil/core';\nimport { TagVariantType, variants } from './mg-tag.conf';\nimport { ClassList, isValidString } from '@mgdis/stencil-helpers';\n@Component({\n tag: 'mg-tag',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-tag.css',\n shadow: true,\n})\nexport class MgTag {\n /************\n * Internal *\n ************/\n\n // Classes\n private readonly classOutline = 'mg-c-tag--outline';\n private readonly classSoft = 'mg-c-tag--soft';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgTagElement;\n\n /**\n * Define tag variant\n */\n @Prop() variant: TagVariantType = variants[0]; // primary\n @Watch('variant')\n validateVariant(newValue: MgTag['variant'], oldValue?: MgTag['variant']): void {\n if (!variants.includes(newValue)) {\n throw new Error(`<mg-tag> prop \"variant\" must be one of: ${variants.join(', ')}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-tag--${oldValue}`);\n }\n this.classCollection.add(`mg-c-tag--${newValue}`);\n }\n }\n\n /**\n * Define if tag is using outline style\n */\n @Prop() outline?: boolean;\n @Watch('outline')\n validateOutline(newValue: MgTag['outline']): void {\n if (newValue) this.classCollection.add(this.classOutline);\n else this.classCollection.delete(this.classOutline);\n }\n\n /**\n * Define if tag is using soft style\n */\n @Prop() soft?: boolean;\n @Watch('soft')\n validateSoft(newValue: MgTag['soft']): void {\n // usage validation\n if (newValue && this.outline) throw new Error('<mg-tag> prop \"soft\" can NOT be used with prop \"outline\".');\n\n // apply class\n if (newValue) this.classCollection.add(this.classSoft);\n else this.classCollection.delete(this.classSoft);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-tag']);\n\n /*************\n * Methods *\n *************/\n\n /**\n * Validate the given textContent\n * @param textContent - html element textContent property\n */\n private validateTextContent(textContent: string): void {\n if (!isValidString(textContent)) throw new Error('<mg-tag> slot must contain a text content.');\n }\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateOutline(this.outline);\n this.validateSoft(this.soft);\n this.validateTextContent(this.element.textContent);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <span class={this.classCollection.join()}>\n <slot></slot>\n </span>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { P as Pe, j as je, H as He, N as Ne, B as Be } from './index.es.js';
2
+ import { U as Ue, R as Re, B as Be, _ as _e, D as De } from './index.es.js';
3
3
  import { d as defineCustomElement$1 } from './mg-tooltip-content2.js';
4
4
  import { c as createPopper } from './popper.js';
5
5
 
@@ -33,7 +33,7 @@ const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLE
33
33
  // Enable the event listeners
34
34
  this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }] })));
35
35
  // hide when click outside on nextTick to prevent event to trigger after creation
36
- Pe(() => {
36
+ Ue(() => {
37
37
  this.windows.forEach((localWindow) => {
38
38
  localWindow.addEventListener('click', this.clickOutside, false);
39
39
  localWindow.addEventListener('keydown', this.pressEscape, false);
@@ -198,7 +198,7 @@ const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLE
198
198
  });
199
199
  });
200
200
  };
201
- this.identifier = je('mg-tooltip');
201
+ this.identifier = Re('mg-tooltip');
202
202
  this.message = undefined;
203
203
  this.placement = 'bottom';
204
204
  this.display = false;
@@ -209,7 +209,7 @@ const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLE
209
209
  this.renderTooltipContent();
210
210
  }
211
211
  validateMessage(newValue) {
212
- if (!He(newValue)) {
212
+ if (!Be(newValue)) {
213
213
  throw new Error('<mg-tooltip> prop "message" is required.');
214
214
  }
215
215
  this.mgTooltipContent.message = newValue;
@@ -258,7 +258,7 @@ const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLE
258
258
  */
259
259
  componentWillLoad() {
260
260
  // Get windows to attach events
261
- this.windows = Ne(window);
261
+ this.windows = _e(window);
262
262
  // Get tooltip element
263
263
  this.renderTooltipContent();
264
264
  this.mgTooltipContent = this.element.querySelector(`#${this.identifier}`);
@@ -277,7 +277,7 @@ const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLE
277
277
  // get slotted element wich is not the tooltip
278
278
  const slotElement = this.element.querySelector(`*:not(#${this.identifier})`);
279
279
  // Get interactive element
280
- const interactiveElement = slotElement.matches(Be) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(Be);
280
+ const interactiveElement = slotElement.matches(De) ? slotElement : (_a = slotElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(De);
281
281
  // define selected element to become tooltip selector
282
282
  this.tooltipedElement = interactiveElement || slotElement;
283
283
  // Check if slotted element is a disabled mg-button
@@ -1,3 +1,75 @@
1
+ var ie = Object.defineProperty;
2
+ var ce = (t, e, n) => e in t ? ie(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var p = (t, e, n) => (ce(t, typeof e != "symbol" ? e + "" : e, n), n);
4
+ const Re = (t = "", e = 10) => {
5
+ const n = new Uint8Array(e);
6
+ crypto.getRandomValues(n);
7
+ const s = Array.from(n).map((r) => r.toString(16).padStart(2, "0")).join("").slice(0, e);
8
+ return t !== "" ? `${t}-${s}` : s;
9
+ };
10
+ class Me {
11
+ constructor(e = []) {
12
+ /**
13
+ * Available classes
14
+ */
15
+ p(this, "classes");
16
+ /**
17
+ * Add class
18
+ * @param className - class name to add
19
+ */
20
+ p(this, "add", (e) => {
21
+ this.has(e) || this.classes.push(e);
22
+ });
23
+ /**
24
+ * Delete class
25
+ * @param className - class name to delete
26
+ */
27
+ p(this, "delete", (e) => {
28
+ const n = this.classes.indexOf(e);
29
+ n > -1 && this.classes.splice(n, 1);
30
+ });
31
+ /**
32
+ * Check if class exist in list
33
+ * @param className - class name to check
34
+ * @returns class name is in the list
35
+ */
36
+ p(this, "has", (e) => this.classes.includes(e));
37
+ /**
38
+ * Join classes seperated by spaces
39
+ * @returns joined values
40
+ */
41
+ p(this, "join", () => this.classes.join(" "));
42
+ this.classes = e;
43
+ }
44
+ }
45
+ const Oe = (t) => Array.isArray(t) && t.every((e) => typeof e == "string"), Fe = (t, e) => e.includes(t == null ? void 0 : t.tagName.toLowerCase()), De = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier], mg-button', _e = (t) => {
46
+ const e = I(t), n = X(t);
47
+ return [t, ...e, ...n];
48
+ }, I = (t, e = []) => {
49
+ if (t.self !== t.top)
50
+ try {
51
+ const n = t.parent;
52
+ return n ? (e.push(n), I(n, e)) : e;
53
+ } catch (n) {
54
+ return console.error("Different hosts between iframes:", n), e;
55
+ }
56
+ return e;
57
+ }, X = (t, e = []) => {
58
+ if (t.frames.length > 0)
59
+ for (const n of Array.from(t.frames))
60
+ e.push(n), X(n, e);
61
+ return e;
62
+ }, Be = (t) => typeof t == "string" && t.trim() !== "", Ne = (t) => typeof t == "string" ? t.toLocaleLowerCase().normalize("NFD").replaceAll(/[\u0300-\u036f]/g, "") : t, Ue = async (t) => t(), Pe = (t) => {
63
+ const e = { value: "2023", pattern: "yyyy" }, n = { value: "12", pattern: "mm" }, s = { value: "24", pattern: "dd" };
64
+ return ge([e.value, n.value, s.value].join("-"), t).replace(e.value, e.pattern).replace(n.value, n.pattern).replace(s.value, s.pattern);
65
+ }, We = (t) => t.toISOString().split("T")[0], ue = (t, e, n) => {
66
+ const s = t.closest("[lang]"), r = Intl.NumberFormat.supportedLocalesOf(s == null ? void 0 : s.lang), l = r.length > 0 && typeof r[0] == "string" ? r[0] : navigator.language || n, o = l.split("-").shift();
67
+ return {
68
+ locale: l,
69
+ messages: e[o] || e[n]
70
+ };
71
+ }, ze = (t, e, n) => new Intl.NumberFormat(e, { style: "currency", currency: n }).format(t), qe = (t, e) => new Intl.NumberFormat(e).format(t), de = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/, ge = (t, e) => typeof t != "string" || t === "" || !de.test(t) ? "" : new Intl.DateTimeFormat(e).format(new Date(t)), we = (t, e) => (n) => ue(n, t, e);
72
+
1
73
  const errors$1 = {
2
74
  required: "This field is required.",
3
75
  date: {
@@ -50,6 +122,10 @@ const input$1 = {
50
122
  mm: "mm",
51
123
  yyyy: "yyyy"
52
124
  }
125
+ },
126
+ password: {
127
+ display: "Display password value",
128
+ hide: "Hide password value"
53
129
  }
54
130
  };
55
131
  const form$1 = {
@@ -85,9 +161,12 @@ const general$1 = {
85
161
  next: "next",
86
162
  previous: "previous"
87
163
  };
88
- const plusMenu$1 = {
89
- moreLabel: "Additional menu",
90
- badgeLabel: "Include notification(s)"
164
+ const menuItem$1 = {
165
+ badgeLabel: "Include notification(s)",
166
+ openNewTab: "Open link in a new tab"
167
+ };
168
+ const itemMore$1 = {
169
+ menuLabel: "Additional menu"
91
170
  };
92
171
  const actionMore$1 = {
93
172
  label: "Actions"
@@ -106,7 +185,8 @@ const en = {
106
185
  panel: panel$1,
107
186
  skipLinks: skipLinks$1,
108
187
  general: general$1,
109
- plusMenu: plusMenu$1,
188
+ menuItem: menuItem$1,
189
+ itemMore: itemMore$1,
110
190
  actionMore: actionMore$1,
111
191
  loader: loader$1
112
192
  };
@@ -163,6 +243,10 @@ const input = {
163
243
  mm: "mm",
164
244
  yyyy: "aaaa"
165
245
  }
246
+ },
247
+ password: {
248
+ display: "Afficher le mot de passe",
249
+ hide: "Masquer le mot de passe"
166
250
  }
167
251
  };
168
252
  const form = {
@@ -198,9 +282,12 @@ const general = {
198
282
  next: "suivant",
199
283
  previous: "précédent"
200
284
  };
201
- const plusMenu = {
202
- moreLabel: "Menu complémentaire",
203
- badgeLabel: "Notification(s) incluse(s)"
285
+ const menuItem = {
286
+ badgeLabel: "Notification(s) incluse(s)",
287
+ openNewTab: "Ouvrir le lien dans un nouvel onglet"
288
+ };
289
+ const itemMore = {
290
+ menuLabel: "Menu complémentaire"
204
291
  };
205
292
  const actionMore = {
206
293
  label: "Actions"
@@ -219,83 +306,12 @@ const fr = {
219
306
  panel: panel,
220
307
  skipLinks: skipLinks,
221
308
  general: general,
222
- plusMenu: plusMenu,
309
+ menuItem: menuItem,
310
+ itemMore: itemMore,
223
311
  actionMore: actionMore,
224
312
  loader: loader
225
313
  };
226
314
 
227
- var le = Object.defineProperty;
228
- var oe = (t, e, n) => e in t ? le(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
229
- var g = (t, e, n) => (oe(t, typeof e != "symbol" ? e + "" : e, n), n);
230
- const Ee = (t) => {
231
- const e = { value: "2023", pattern: "yyyy" }, n = { value: "12", pattern: "mm" }, s = { value: "24", pattern: "dd" };
232
- return be([e.value, n.value, s.value].join("-"), t).replace(e.value, e.pattern).replace(n.value, n.pattern).replace(s.value, s.pattern);
233
- }, Ae = (t) => t.toISOString().split("T")[0], ve = (t, e, n) => {
234
- const s = t.closest("[lang]"), l = Intl.NumberFormat.supportedLocalesOf(s == null ? void 0 : s.lang), r = l.length > 0 && typeof l[0] == "string" ? l[0] : navigator.language || n, o = r.split("-").shift();
235
- return {
236
- locale: r,
237
- messages: e[o] || e[n]
238
- };
239
- }, Re = (t, e, n) => new Intl.NumberFormat(e, { style: "currency", currency: n }).format(t), Me = (t, e) => new Intl.NumberFormat(e).format(t), Se = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/, be = (t, e) => typeof t != "string" || t === "" || !Se.test(t) ? "" : new Intl.DateTimeFormat(e).format(new Date(t)), Oe = (t, e) => (n) => ve(n, t, e), je = (t = "", e = 10) => {
240
- const n = new Uint8Array(e);
241
- crypto.getRandomValues(n);
242
- const s = Array.from(n).map((l) => l.toString(16).padStart(2, "0")).join("").slice(0, e);
243
- return t !== "" ? `${t}-${s}` : s;
244
- };
245
- class Fe {
246
- constructor(e = []) {
247
- /**
248
- * Available classes
249
- */
250
- g(this, "classes");
251
- /**
252
- * Add class
253
- * @param className - class name to add
254
- */
255
- g(this, "add", (e) => {
256
- this.has(e) || this.classes.push(e);
257
- });
258
- /**
259
- * Delete class
260
- * @param className - class name to delete
261
- */
262
- g(this, "delete", (e) => {
263
- const n = this.classes.indexOf(e);
264
- n > -1 && this.classes.splice(n, 1);
265
- });
266
- /**
267
- * Check if class exist in list
268
- * @param className - class name to check
269
- * @returns class name is in the list
270
- */
271
- g(this, "has", (e) => this.classes.includes(e));
272
- /**
273
- * Join classes seperated by spaces
274
- * @returns joined values
275
- */
276
- g(this, "join", () => this.classes.join(" "));
277
- this.classes = e;
278
- }
279
- }
280
- const De = (t) => Array.isArray(t) && t.every((e) => typeof e == "string"), _e = (t, e) => e.includes(t == null ? void 0 : t.tagName.toLowerCase()), Be = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier], mg-button', Ne = (t) => {
281
- const e = se(t), n = ne(t);
282
- return [t, ...e, ...n];
283
- }, se = (t, e = []) => {
284
- if (t.self !== t.top)
285
- try {
286
- const n = t.parent;
287
- return n ? (e.push(n), se(n, e)) : e;
288
- } catch (n) {
289
- return console.error("Different hosts between iframes:", n), e;
290
- }
291
- return e;
292
- }, ne = (t, e = []) => {
293
- if (t.frames.length > 0)
294
- for (const n of Array.from(t.frames))
295
- e.push(n), ne(n, e);
296
- return e;
297
- }, He = (t) => typeof t == "string" && t.trim() !== "", Ce = (t) => typeof t == "string" ? t.toLocaleLowerCase().normalize("NFD").replaceAll(/[\u0300-\u036f]/g, "") : t, Pe = async (t) => t();
298
-
299
315
  const defaultLocale = 'en';
300
316
  const messages = { en, fr };
301
317
  /**
@@ -303,8 +319,8 @@ const messages = { en, fr };
303
319
  * @param element - element we need to get the language
304
320
  * @returns messages object
305
321
  */
306
- const initLocales = Oe(messages, defaultLocale);
322
+ const initLocales = we(messages, defaultLocale);
307
323
 
308
- export { Ae as A, Be as B, Ce as C, De as D, Ee as E, Fe as F, He as H, Me as M, Ne as N, Pe as P, Re as R, Se as S, _e as _, be as b, initLocales as i, je as j };
324
+ export { Be as B, De as D, Fe as F, Me as M, Ne as N, Oe as O, Pe as P, Re as R, Ue as U, We as W, _e as _, de as d, ge as g, initLocales as i, qe as q, ze as z };
309
325
 
310
- //# sourceMappingURL=index-d2fc6ec0.js.map
326
+ //# sourceMappingURL=index-445fc2a0.js.map