@mgdis/mg-components 5.8.2 → 5.10.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 (149) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mg-action-more_31.cjs.entry.js +216 -277
  3. package/dist/cjs/mg-components.cjs.js +1 -1
  4. package/dist/cjs/mg-item-more.cjs.entry.js +1 -16
  5. package/dist/cjs/{mg-menu.conf-9afe6571.js → mg-menu.conf-1942ac70.js} +0 -5
  6. package/dist/collection/components/atoms/mg-badge/mg-badge.js +1 -3
  7. package/dist/collection/components/atoms/mg-button/mg-button.js +2 -7
  8. package/dist/collection/components/atoms/mg-card/mg-card.conf.js +8 -0
  9. package/dist/collection/components/atoms/mg-card/mg-card.css +54 -0
  10. package/dist/collection/components/atoms/mg-card/mg-card.js +113 -2
  11. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +0 -2
  12. package/dist/collection/components/atoms/mg-divider/mg-divider.js +0 -1
  13. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +38 -7
  14. package/dist/collection/components/atoms/mg-icon/mg-icon.css +70 -11
  15. package/dist/collection/components/atoms/mg-icon/mg-icon.js +65 -24
  16. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +0 -2
  17. package/dist/collection/components/atoms/mg-tag/mg-tag.css +12 -12
  18. package/dist/collection/components/atoms/mg-tag/mg-tag.js +0 -3
  19. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +42 -15
  20. package/dist/collection/components/molecules/inputs/MgInput.js +0 -6
  21. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +0 -6
  22. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +0 -5
  23. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +12 -21
  24. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +0 -3
  25. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +0 -9
  26. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +0 -13
  27. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +1 -12
  28. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -5
  29. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +0 -5
  30. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +1 -12
  31. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +1 -0
  32. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +1 -19
  33. package/dist/collection/components/molecules/mg-action-more/mg-action-more.css +1 -0
  34. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +0 -8
  35. package/dist/collection/components/molecules/mg-details/mg-details.css +0 -3
  36. package/dist/collection/components/molecules/mg-details/mg-details.js +1 -4
  37. package/dist/collection/components/molecules/mg-form/mg-form.js +0 -8
  38. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +0 -2
  39. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +0 -5
  40. package/dist/collection/components/molecules/mg-message/mg-message.css +1 -19
  41. package/dist/collection/components/molecules/mg-message/mg-message.js +11 -11
  42. package/dist/collection/components/molecules/mg-modal/mg-modal.css +1 -0
  43. package/dist/collection/components/molecules/mg-modal/mg-modal.js +1 -6
  44. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +0 -6
  45. package/dist/collection/components/molecules/mg-panel/mg-panel.css +1 -0
  46. package/dist/collection/components/molecules/mg-panel/mg-panel.js +5 -15
  47. package/dist/collection/components/molecules/mg-popover/mg-popover.css +2 -0
  48. package/dist/collection/components/molecules/mg-popover/mg-popover.js +1 -8
  49. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -4
  50. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +0 -12
  51. package/dist/collection/locales/index.js +0 -1
  52. package/dist/collection/styles/reset-mg-card-slotted-variables.scss +1 -0
  53. package/dist/collection/utils/behaviors.utils.js +0 -10
  54. package/dist/collection/utils/components.utils.js +1 -10
  55. package/dist/collection/utils/locale.utils.js +0 -4
  56. package/dist/collection/utils/unit.test.utils.js +0 -5
  57. package/dist/collection/variables.css +7 -1
  58. package/dist/components/MgInput.js +0 -6
  59. package/dist/components/components.utils.js +1 -10
  60. package/dist/components/index2.js +0 -5
  61. package/dist/components/mg-action-more.js +1 -9
  62. package/dist/components/mg-badge2.js +1 -3
  63. package/dist/components/mg-button2.js +2 -7
  64. package/dist/components/mg-card2.js +67 -4
  65. package/dist/components/mg-character-left2.js +0 -2
  66. package/dist/components/mg-details.js +2 -5
  67. package/dist/components/mg-divider.js +0 -1
  68. package/dist/components/mg-form.js +0 -8
  69. package/dist/components/mg-icon2.js +74 -25
  70. package/dist/components/mg-illustrated-message.js +0 -2
  71. package/dist/components/mg-input-checkbox.js +0 -6
  72. package/dist/components/mg-input-date.js +0 -5
  73. package/dist/components/mg-input-numeric.js +12 -21
  74. package/dist/components/mg-input-password.js +0 -3
  75. package/dist/components/mg-input-radio.js +0 -9
  76. package/dist/components/mg-input-select2.js +0 -13
  77. package/dist/components/mg-input-text2.js +1 -12
  78. package/dist/components/mg-input-textarea.js +1 -5
  79. package/dist/components/mg-input-title2.js +0 -2
  80. package/dist/components/mg-input-toggle.js +0 -5
  81. package/dist/components/mg-item-more.js +0 -15
  82. package/dist/components/mg-menu-item2.js +2 -20
  83. package/dist/components/mg-menu2.js +0 -11
  84. package/dist/components/mg-message.js +4 -9
  85. package/dist/components/mg-modal.js +2 -7
  86. package/dist/components/mg-pagination.js +0 -6
  87. package/dist/components/mg-panel.js +6 -16
  88. package/dist/components/mg-popover2.js +2 -9
  89. package/dist/components/mg-skip-links.js +1 -4
  90. package/dist/components/mg-tabs.js +0 -12
  91. package/dist/components/mg-tag.js +1 -4
  92. package/dist/components/mg-tooltip2.js +42 -15
  93. package/dist/components/popper.js +3 -4
  94. package/dist/esm/loader.js +1 -1
  95. package/dist/esm/mg-action-more_31.entry.js +216 -277
  96. package/dist/esm/mg-components.js +1 -1
  97. package/dist/esm/mg-item-more.entry.js +1 -16
  98. package/dist/esm/{mg-menu.conf-881fbd82.js → mg-menu.conf-2cc1bb67.js} +0 -5
  99. package/dist/mg-components/mg-components.css +1 -1
  100. package/dist/mg-components/mg-components.esm.js +1 -1
  101. package/dist/mg-components/{p-67ce7cb8.entry.js → p-a56a3157.entry.js} +1 -1
  102. package/dist/mg-components/p-eb32bb18.entry.js +1 -0
  103. package/dist/mg-components/styles/reset-mg-card-slotted-variables.scss +1 -0
  104. package/dist/mg-components/variables.css +7 -1
  105. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +0 -2
  106. package/dist/types/components/atoms/mg-button/mg-button.d.ts +0 -5
  107. package/dist/types/components/atoms/mg-card/mg-card.conf.d.ts +16 -0
  108. package/dist/types/components/atoms/mg-card/mg-card.d.ts +37 -1
  109. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +0 -2
  110. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +0 -1
  111. package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +10 -2
  112. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +19 -8
  113. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +0 -2
  114. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +0 -3
  115. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +18 -9
  116. package/dist/types/components/molecules/inputs/MgInput.d.ts +0 -1
  117. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +0 -5
  118. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +0 -5
  119. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +5 -17
  120. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +0 -3
  121. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +0 -8
  122. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +0 -9
  123. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +0 -11
  124. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +0 -4
  125. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +0 -5
  126. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +0 -11
  127. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +0 -18
  128. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +0 -5
  129. package/dist/types/components/molecules/mg-details/mg-details.d.ts +0 -3
  130. package/dist/types/components/molecules/mg-form/mg-form.d.ts +0 -8
  131. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +0 -2
  132. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +0 -5
  133. package/dist/types/components/molecules/mg-message/mg-message.conf.d.ts +5 -1
  134. package/dist/types/components/molecules/mg-message/mg-message.d.ts +7 -11
  135. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +0 -5
  136. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +0 -5
  137. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +0 -10
  138. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +0 -7
  139. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +0 -3
  140. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +0 -11
  141. package/dist/types/components.d.ts +35 -9
  142. package/dist/types/locales/index.d.ts +0 -1
  143. package/dist/types/utils/behaviors.utils.d.ts +0 -9
  144. package/dist/types/utils/components.utils.d.ts +1 -9
  145. package/dist/types/utils/locale.utils.d.ts +0 -4
  146. package/dist/types/utils/unit.test.utils.d.ts +0 -7
  147. package/package.json +15 -16
  148. package/dist/mg-components/p-0b68c4b4.entry.js +0 -1
  149. /package/dist/mg-components/{p-367f92d2.js → p-73156ac9.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-3249671d.js';
2
- import { i as initLocales, D as Direction, l as localeDate, d as dateRegExp, a as localeCurrency, b as localeNumber, s as sizes$2 } from './mg-menu.conf-881fbd82.js';
2
+ import { i as initLocales, D as Direction, l as localeDate, d as dateRegExp, a as localeCurrency, b as localeNumber, s as sizes$2 } from './mg-menu.conf-2cc1bb67.js';
3
3
 
4
4
  /**
5
5
  * Available menu-item positions
@@ -22,7 +22,6 @@ var Status$1;
22
22
 
23
23
  /**
24
24
  * Create random ID
25
- *
26
25
  * @param {string} prefix add prefix to created ID
27
26
  * @param {number} length ID length
28
27
  * @returns {string} ID
@@ -44,7 +43,6 @@ class ClassList {
44
43
  constructor(classlist = []) {
45
44
  /**
46
45
  * Add class
47
- *
48
46
  * @param {string} className class name to add
49
47
  * @returns {void}
50
48
  */
@@ -55,7 +53,6 @@ class ClassList {
55
53
  };
56
54
  /**
57
55
  * Delete class
58
- *
59
56
  * @param {string} className class name to delete
60
57
  * @returns {void}
61
58
  */
@@ -67,7 +64,6 @@ class ClassList {
67
64
  };
68
65
  /**
69
66
  * Check if class exist in list
70
- *
71
67
  * @param {string} className class name to check
72
68
  * @returns {boolean} class name is in the list
73
69
  */
@@ -76,7 +72,6 @@ class ClassList {
76
72
  };
77
73
  /**
78
74
  * Join classes seperated by spaces
79
- *
80
75
  * @returns {string} joined values
81
76
  */
82
77
  this.join = () => {
@@ -87,14 +82,12 @@ class ClassList {
87
82
  }
88
83
  /**
89
84
  * Check if all items are string
90
- *
91
85
  * @param {unknown} items items to check
92
86
  * @returns {boolean} all items are string
93
87
  */
94
88
  const allItemsAreString = (items) => Array.isArray(items) && items.every(item => typeof item === 'string');
95
89
  /**
96
90
  * Check if element is a heading
97
- *
98
91
  * @param {Element} element slotted element
99
92
  * @param {string[]} tagNames allowed tag names list
100
93
  * @returns {boolean} element is a heading
@@ -107,7 +100,7 @@ const isTagName = (element, tagNames) => {
107
100
  */
108
101
  const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier]';
109
102
  /**
110
- *
103
+ * Get windows
111
104
  * @param {Window} localWindow the window we are lookink for other windows
112
105
  * @returns {Window[]} The list of windows found
113
106
  */
@@ -118,7 +111,6 @@ const getWindows = (localWindow) => {
118
111
  };
119
112
  /**
120
113
  * Get parent windows
121
- *
122
114
  * @param {Window} localWindow the window we are lookink for parents
123
115
  * @param {Window[]} windows The list of allready found windows
124
116
  * @returns {Window[]} The list of windows found
@@ -141,7 +133,6 @@ const getParentWindows = (localWindow, windows = []) => {
141
133
  };
142
134
  /**
143
135
  * Get child windows
144
- *
145
136
  * @param {Window} localWindow the window we are lookink for children
146
137
  * @param {Window[]} windows The list of allready found windows
147
138
  * @returns {Window[]} The list of windows found
@@ -159,11 +150,10 @@ const getChildWindows = (localWindow, windows = []) => {
159
150
  return windows;
160
151
  };
161
152
 
162
- const mgActionMoreCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0}.mg-action-more__chevron{transition:200ms}.mg-action-more__chevron--rotate.mg-action-more__chevron{transform:rotate(180deg)}";
153
+ const mgActionMoreCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}.mg-action-more__chevron{transition:200ms}.mg-action-more__chevron--rotate.mg-action-more__chevron{transform:rotate(180deg)}";
163
154
 
164
155
  /**
165
156
  * MgActionMore['items'] type guard
166
- *
167
157
  * @param {unknown} prop commponent items prop
168
158
  * @returns {boolean} return true if type is valid
169
159
  */
@@ -173,7 +163,6 @@ const isMgActionMoreItems = (prop) => {
173
163
  };
174
164
  /**
175
165
  * MgActionMore['button'] type guard
176
- *
177
166
  * @param {unknown} prop commponent button prop
178
167
  * @returns {boolean} return true if type is valid
179
168
  */
@@ -183,7 +172,6 @@ const isMgActionMoreButton = (prop) => {
183
172
  };
184
173
  /**
185
174
  * MgActionMore['icon'] type guard
186
- *
187
175
  * @param {unknown} prop commponent icon prop
188
176
  * @returns {boolean} return true if type is valid
189
177
  */
@@ -204,7 +192,6 @@ const MgActionMore = class {
204
192
  ***********/
205
193
  /**
206
194
  * Toogle expanded props
207
- *
208
195
  * @returns {void}
209
196
  */
210
197
  this.toggleExpanded = () => {
@@ -212,7 +199,6 @@ const MgActionMore = class {
212
199
  };
213
200
  /**
214
201
  * Button click handler
215
- *
216
202
  * @returns {void}
217
203
  */
218
204
  this.handleButton = () => {
@@ -220,7 +206,6 @@ const MgActionMore = class {
220
206
  };
221
207
  /**
222
208
  * Item click handler
223
- *
224
209
  * @param {MouseEvent} event click event
225
210
  * @param {MgActionMoreItemType['mouseEventHandler']} customHandler item['mouseEventHandler']
226
211
  * @returns {void}
@@ -260,7 +245,6 @@ const MgActionMore = class {
260
245
  *************/
261
246
  /**
262
247
  * Validate props
263
- *
264
248
  * @returns {void}
265
249
  */
266
250
  componentWillLoad() {
@@ -272,7 +256,6 @@ const MgActionMore = class {
272
256
  }
273
257
  /**
274
258
  * Render
275
- *
276
259
  * @returns {HTMLElement} HTML Element
277
260
  */
278
261
  render() {
@@ -305,7 +288,7 @@ MgActionMore.style = mgActionMoreCss;
305
288
  /**
306
289
  * List of all possibles variants
307
290
  */
308
- const variants$4 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
291
+ const variants$5 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
309
292
 
310
293
  const mgBadgeCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-badge{padding:0 0.4rem;height:var(--mg-badge-size);min-width:var(--mg-badge-size);box-sizing:border-box;border:0.1rem solid;border-radius:calc(var(--mg-badge-size) / 2);font-size:var(--mg-badge-font-size);font-weight:600;text-align:center;line-height:var(--mg-badge-size)}.mg-badge.mg-badge--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-badge.mg-badge--primary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-badge.mg-badge--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-badge.mg-badge--success.mg-badge--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-badge.mg-badge--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-badge.mg-badge--warning.mg-badge--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-badge.mg-badge--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-badge.mg-badge--danger.mg-badge--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-badge.mg-badge--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-badge.mg-badge--info.mg-badge--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-badge.mg-badge--text-color{background-color:currentColor;border-color:currentColor}.mg-badge.mg-badge--text-color .mg-badge__value{color:hsl(var(--mg-badge-text-color, var(--color-light)))}.mg-badge.mg-badge--text-color.mg-badge--outline{background-color:transparent}.mg-badge.mg-badge--text-color.mg-badge--outline .mg-badge__value{color:currentColor}.mg-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}";
311
294
 
@@ -319,7 +302,7 @@ const MgBadge = class {
319
302
  this.classOutline = `mg-badge--outline`;
320
303
  this.value = undefined;
321
304
  this.label = undefined;
322
- this.variant = variants$4[0];
305
+ this.variant = variants$5[0];
323
306
  this.outline = undefined;
324
307
  this.classList = new ClassList(['mg-badge']);
325
308
  }
@@ -334,8 +317,8 @@ const MgBadge = class {
334
317
  }
335
318
  }
336
319
  validateVariant(newValue, oldValue) {
337
- if (!variants$4.includes(newValue)) {
338
- throw new Error(`<mg-badge> prop "variant" must be one of: ${variants$4.join(', ')}.`);
320
+ if (!variants$5.includes(newValue)) {
321
+ throw new Error(`<mg-badge> prop "variant" must be one of: ${variants$5.join(', ')}.`);
339
322
  }
340
323
  else {
341
324
  if (oldValue !== undefined) {
@@ -352,7 +335,6 @@ const MgBadge = class {
352
335
  }
353
336
  /**
354
337
  * Check if props are well configured on init
355
- *
356
338
  * @returns {void}
357
339
  */
358
340
  componentWillLoad() {
@@ -363,7 +345,6 @@ const MgBadge = class {
363
345
  }
364
346
  /**
365
347
  * Render
366
- *
367
348
  * @returns {HTMLElement} HTML Element
368
349
  */
369
350
  render() {
@@ -381,7 +362,7 @@ MgBadge.style = mgBadgeCss;
381
362
  /**
382
363
  * List of all possibles variants
383
364
  */
384
- const variants$3 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
365
+ const variants$4 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
385
366
 
386
367
  const mgButtonCss = ":host{display:inline-block;vertical-align:middle;max-width:100%}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:0.2rem}:host(:hover) .mg-button--flat:not(.mg-button--disabled){background:hsl(var(--color-dark), 0.1)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-button.mg-button--primary{border-color:hsl(var(--mg-button-primary-border-color, var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-primary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l)), hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--primary:not(.mg-button--disabled){background:hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l))}.mg-button.mg-button--secondary{border-color:hsl(var(--mg-button-secondary-border-color, var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-secondary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l)), hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--secondary:not(.mg-button--disabled){background:hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l))}.mg-button.mg-button--danger{border-color:hsl(var(--mg-button-danger-border-color, var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)), hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger:not(.mg-button--disabled){background:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-button.mg-button--danger-alt{border-color:hsl(var(--mg-button-danger-alt-border-color, var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-danger));background:linear-gradient(to bottom, hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)), hsl(var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger-alt:not(.mg-button--disabled){background:hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l))}.mg-button.mg-button--info{border-color:hsl(var(--mg-button-info-border-color, var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)), hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--info:not(.mg-button--disabled){background:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-button.mg-button--success{border-color:hsl(var(--mg-button-success-border-color, var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-dark));background:linear-gradient(to bottom, hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)), hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--success:not(.mg-button--disabled){background:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-button{position:relative;display:inline-flex;align-items:center;column-gap:0.6rem;padding:calc((var(--default-size) - 0.2rem - var(--font-size) * var(--line-height)) / 2) 1.1rem;min-height:var(--default-size);box-sizing:border-box;border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));cursor:pointer;background-image:none;border-top-width:var(--mg-button-border-top-width, 0.1rem);border-right-width:var(--mg-button-border-right-width, 0.1rem);border-bottom-width:var(--mg-button-border-bottom-width, 0.1rem);border-left-width:var(--mg-button-border-left-width, 0.1rem);border-style:solid;text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);touch-action:manipulation}.mg-button.mg-button--disabled{opacity:var(--mg-button-disabled-opacity);cursor:default}.mg-button.mg-button--icon{padding:0;justify-content:center;width:var(--default-size);height:var(--default-size);border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));font-size:var(--font-size);line-height:var(--font-size)}.mg-button.mg-button--flat{background:none;border:none}.mg-button.mg-button--link{padding:unset;min-height:unset;background:unset;border:unset;border-radius:unset;text-decoration:underline}.mg-button.mg-button--link slot{font-weight:600}.mg-button.mg-button--link:hover{text-decoration:none}.mg-button.mg-button--full-width{display:flex;justify-content:center}.mg-button.mg-button--loading>mg-icon:first-of-type{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.mg-button.mg-button--loading .mg-button__content{opacity:0}.mg-button mg-icon:only-child,.mg-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;line-height:1;margin:auto 0}.mg-button slot,.mg-button ::slotted(*:not(mg-icon)){text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);display:flex;align-items:center;column-gap:0.6rem}";
387
368
 
@@ -398,7 +379,6 @@ const MgButton = class {
398
379
  this.classFullWidth = 'mg-button--full-width';
399
380
  /**
400
381
  * Trigger actions onClick event
401
- *
402
382
  * @param {MouseEvent} event click event
403
383
  * @returns {void}
404
384
  */
@@ -413,7 +393,6 @@ const MgButton = class {
413
393
  };
414
394
  /**
415
395
  * Handle onKeydown event
416
- *
417
396
  * @param {KeyboardEvent} event keyboard event
418
397
  * @returns {void}
419
398
  */
@@ -428,7 +407,6 @@ const MgButton = class {
428
407
  };
429
408
  /**
430
409
  * Handle onKeyup event
431
- *
432
410
  * @param {KeyboardEvent} event keyboard event
433
411
  * @returns {void}
434
412
  */
@@ -438,7 +416,7 @@ const MgButton = class {
438
416
  this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));
439
417
  }
440
418
  };
441
- this.variant = variants$3[0];
419
+ this.variant = variants$4[0];
442
420
  this.identifier = undefined;
443
421
  this.label = undefined;
444
422
  this.type = undefined;
@@ -451,8 +429,8 @@ const MgButton = class {
451
429
  this.classList = new ClassList(['mg-button']);
452
430
  }
453
431
  validateVariant(newValue, oldValue) {
454
- if (!variants$3.includes(newValue)) {
455
- throw new Error(`<mg-button> prop "variant" must be one of: ${variants$3.join(', ')}`);
432
+ if (!variants$4.includes(newValue)) {
433
+ throw new Error(`<mg-button> prop "variant" must be one of: ${variants$4.join(', ')}`);
456
434
  }
457
435
  else {
458
436
  if (oldValue !== undefined) {
@@ -501,7 +479,6 @@ const MgButton = class {
501
479
  }
502
480
  /**
503
481
  * Check if props are well configured on init
504
- *
505
482
  * @returns {void}
506
483
  */
507
484
  componentWillLoad() {
@@ -519,7 +496,6 @@ const MgButton = class {
519
496
  }
520
497
  /**
521
498
  * Render component
522
- *
523
499
  * @returns {HTMLElement} html element
524
500
  */
525
501
  render() {
@@ -535,23 +511,81 @@ const MgButton = class {
535
511
  };
536
512
  MgButton.style = mgButtonCss;
537
513
 
538
- const mgCardCss = ".mg-card{position:relative;width:100%;padding:var(--mg-card-padding, var(--mg-card-padding-default));overflow:var(--mg-card-overflow, var(--mg-card-overflow-default));box-sizing:border-box;z-index:inherit;background:var(--mg-card-background, var(--mg-card-background-default));border:var(--mg-card-border, var(--mg-card-border-default));border-radius:var(--mg-card-border-radius, var(--mg-card-border-radius-default));box-shadow:var(--mg-card-box-shadow, var(--mg-card-box-shadow-default))}.mg-card ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
514
+ /**
515
+ * List available variants
516
+ */
517
+ const variants$3 = ['info', 'warning', 'success', 'danger', 'app'];
518
+ /**
519
+ * List available variant styles
520
+ */
521
+ const variantStyles$1 = ['bar-left', 'fill'];
522
+
523
+ const mgCardCss = ".mg-card{position:relative;width:100%;max-width:var(--mg-card-max-width);padding:var(--mg-card-padding, var(--mg-card-padding-default));overflow:var(--mg-card-overflow, var(--mg-card-overflow-default));box-sizing:border-box;z-index:inherit;background:var(--mg-card-background, var(--mg-card-background-default));border:var(--mg-card-border, var(--mg-card-border-default));border-radius:var(--mg-card-border-radius, var(--mg-card-border-radius-default));box-shadow:var(--mg-card-box-shadow, var(--mg-card-box-shadow-default))}.mg-card ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset}.mg-card.mg-card--info{overflow:hidden}.mg-card.mg-card--info.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-card.mg-card--info.mg-card--fill{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-card.mg-card--warning{overflow:hidden}.mg-card.mg-card--warning.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l))}.mg-card.mg-card--warning.mg-card--fill{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-card.mg-card--success{overflow:hidden}.mg-card.mg-card--success.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-card.mg-card--success.mg-card--fill{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-card.mg-card--danger{overflow:hidden}.mg-card.mg-card--danger.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-card.mg-card--danger.mg-card--fill{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-card.mg-card--app{overflow:hidden}.mg-card.mg-card--app.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l))}.mg-card.mg-card--app.mg-card--fill{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-card__bar{position:absolute;top:0;left:0;width:0.3rem;height:100%}";
539
524
 
540
525
  const MgCard = class {
541
526
  constructor(hostRef) {
542
527
  registerInstance(this, hostRef);
528
+ /*************
529
+ * Private *
530
+ *************/
531
+ this.name = 'mg-card';
532
+ this.baseClass = this.name;
533
+ /**
534
+ * Methode to set default varianStyle props
535
+ * needeed has stencil doesn't know that props is mutated when updated in prop watcher
536
+ * @returns {void}
537
+ */
538
+ this.setDefaultVariantStyle = () => {
539
+ if (this.variantStyle === undefined)
540
+ this.variantStyle = 'bar-left';
541
+ };
542
+ this.variant = undefined;
543
+ this.variantStyle = undefined;
544
+ this.classList = new ClassList([this.baseClass]);
545
+ }
546
+ validateVariant(newValue, oldValue) {
547
+ if (newValue && !variants$3.includes(newValue))
548
+ throw new Error(`<${this.name}> prop "variant" must match VariantType type.`);
549
+ if (Boolean(newValue)) {
550
+ this.setDefaultVariantStyle();
551
+ this.classList.add(`${this.baseClass}--${newValue}`);
552
+ }
553
+ if (Boolean(oldValue))
554
+ this.classList.delete(`${this.baseClass}--${oldValue}`);
555
+ }
556
+ validateVariantStyle(newValue, oldValue) {
557
+ if (newValue && !variantStyles$1.includes(newValue))
558
+ throw new Error(`<${this.name}> prop "variantStyle" must match VariantStyleType type.`);
559
+ else if (Boolean(newValue) && !variants$3.includes(this.variant))
560
+ throw new Error(`<${this.name}> prop "variantStyle" must be paired with ${JSON.stringify(variants$3)} "variant" prop.`);
561
+ if (Boolean(newValue))
562
+ this.classList.add(`${this.baseClass}--${newValue}`);
563
+ if (Boolean(oldValue))
564
+ this.classList.delete(`${this.baseClass}--${oldValue}`);
543
565
  }
544
566
  /*************
545
567
  * Lifecycle *
546
568
  *************/
569
+ /**
570
+ * Check if props are well configured on init
571
+ * @returns {void}
572
+ */
573
+ componentWillLoad() {
574
+ this.validateVariant(this.variant);
575
+ this.validateVariantStyle(this.variantStyle);
576
+ }
547
577
  /**
548
578
  * Render
549
- *
550
579
  * @returns {HTMLElement} HTML Element
551
580
  */
552
581
  render() {
553
- return (h("div", { class: "mg-card" }, h("slot", null)));
582
+ var _a;
583
+ return (h("div", { class: this.classList.join() }, ((_a = this.variantStyle) === null || _a === void 0 ? void 0 : _a.startsWith('bar-')) && h("span", { class: "mg-card__bar" }), h("slot", null)));
554
584
  }
585
+ static get watchers() { return {
586
+ "variant": ["validateVariant"],
587
+ "variantStyle": ["validateVariantStyle"]
588
+ }; }
555
589
  };
556
590
  MgCard.style = mgCardCss;
557
591
 
@@ -574,7 +608,6 @@ const MgCharacterLeft = class {
574
608
  *************/
575
609
  /**
576
610
  * Check if props are well configured on init
577
- *
578
611
  * @returns {void}
579
612
  */
580
613
  componentWillLoad() {
@@ -583,7 +616,6 @@ const MgCharacterLeft = class {
583
616
  }
584
617
  /**
585
618
  * Render component
586
- *
587
619
  * @returns {HTMLElement} HTML Element
588
620
  */
589
621
  render() {
@@ -596,7 +628,7 @@ const MgCharacterLeft = class {
596
628
  };
597
629
  MgCharacterLeft.style = mgCharacterLeftCss;
598
630
 
599
- const mgDetailsCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-details summary{display:flex;align-items:baseline;cursor:pointer}.mg-details__toggle{margin-left:1.5rem;flex-shrink:0;display:flex;align-items:center;align-self:flex-start;gap:0.6rem;min-height:calc(var(--font-size) * var(--line-height))}.mg-details__toggle mg-icon{align-self:self-end}.mg-details__details{margin-top:1.5rem}";
631
+ const mgDetailsCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-details summary{display:flex;align-items:baseline;cursor:pointer}.mg-details__toggle{margin-left:1.5rem;flex-shrink:0;display:flex;align-items:center;align-self:flex-start;gap:0.6rem;min-height:calc(var(--font-size) * var(--line-height))}.mg-details__details{margin-top:1.5rem}";
600
632
 
601
633
  const MgDetails = class {
602
634
  constructor(hostRef) {
@@ -604,7 +636,6 @@ const MgDetails = class {
604
636
  this.expandedChange = createEvent(this, "expanded-change", 7);
605
637
  /**
606
638
  * Handle details toggle
607
- *
608
639
  * @returns {void}
609
640
  */
610
641
  this.handleToggle = () => {
@@ -628,7 +659,6 @@ const MgDetails = class {
628
659
  *************/
629
660
  /**
630
661
  * Check if component props are well configured on init
631
- *
632
662
  * @returns {void}
633
663
  */
634
664
  componentWillLoad() {
@@ -637,11 +667,10 @@ const MgDetails = class {
637
667
  }
638
668
  /**
639
669
  * Render
640
- *
641
670
  * @returns {HTMLElement} HTML Element
642
671
  */
643
672
  render() {
644
- return (h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: el => (this.details = el) }, h("summary", null, h("slot", { name: "summary" }), h("span", { class: "mg-details__toggle" }, h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down' }), h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), h("div", { class: "mg-details__details" }, h("slot", { name: "details" }))));
673
+ return (h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: el => (this.details = el) }, h("summary", null, h("slot", { name: "summary" }), h("span", { class: "mg-details__toggle" }, h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down', size: "small" }), h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), h("div", { class: "mg-details__details" }, h("slot", { name: "details" }))));
645
674
  }
646
675
  static get watchers() { return {
647
676
  "toggleClosed": ["validateTitles"],
@@ -660,7 +689,6 @@ const MgDivider = class {
660
689
  }
661
690
  /**
662
691
  * Render
663
- *
664
692
  * @returns {HTMLElement} HTML Element
665
693
  */
666
694
  render() {
@@ -684,7 +712,6 @@ const MgForm = class {
684
712
  /**
685
713
  * Define required message based on mg-inputs required elements
686
714
  * Also
687
- *
688
715
  * @returns {void}
689
716
  */
690
717
  this.setRequiredMessage = () => {
@@ -710,7 +737,6 @@ const MgForm = class {
710
737
  };
711
738
  /**
712
739
  * Check if form is valid
713
- *
714
740
  * @returns {void}
715
741
  */
716
742
  this.checkValidity = () => {
@@ -723,7 +749,6 @@ const MgForm = class {
723
749
  };
724
750
  /**
725
751
  * Handle Form Submit
726
- *
727
752
  * @param {SubmitEvent} event submit event
728
753
  * @returns {void}
729
754
  */
@@ -733,7 +758,6 @@ const MgForm = class {
733
758
  };
734
759
  /**
735
760
  * Set mgInputs
736
- *
737
761
  * @returns {void}
738
762
  */
739
763
  this.setMgInputs = () => {
@@ -765,7 +789,6 @@ const MgForm = class {
765
789
  }
766
790
  /**
767
791
  * Public method to display errors
768
- *
769
792
  * @returns {Promise<void>}
770
793
  */
771
794
  async displayError() {
@@ -781,7 +804,6 @@ const MgForm = class {
781
804
  *************/
782
805
  /**
783
806
  * Check if component props are well configured on init
784
- *
785
807
  * @returns {void}
786
808
  */
787
809
  componentWillLoad() {
@@ -809,7 +831,6 @@ const MgForm = class {
809
831
  }
810
832
  /**
811
833
  * Add slot listeners
812
- *
813
834
  * @returns {void}
814
835
  */
815
836
  componentDidLoad() {
@@ -828,7 +849,6 @@ const MgForm = class {
828
849
  }
829
850
  /**
830
851
  * Render
831
- *
832
852
  * @returns {HTMLElement} HTML Element
833
853
  */
834
854
  render() {
@@ -915,7 +935,11 @@ const icons = {
915
935
  'ellipsis-vertical': () => (h("path", { fill: "currentColor", d: "M6.17 13.5A1.83 1.83 0 1 0 8 11.67c-1.01 0-1.83.82-1.83 1.83Zm0-11A1.83 1.83 0 1 0 8 .67c-1.01 0-1.83.82-1.83 1.83Zm0 5.5A1.83 1.83 0 1 0 8 6.17c-1.01 0-1.83.82-1.83 1.83Z" })),
916
936
  'euro': () => (h("path", { fill: "currentColor", d: "m12.1 11.02 1.4 1.42a5.948 5.948 0 0 1-4 1.56c-2.64 0-4.86-1.68-5.66-4.04H1.5v-1.5h2.02C3.5 8.3 3.5 8.16 3.5 8c0-.18 0-.36.04-.54H1.5v-1.5h2.38C4.7 3.66 6.9 2 9.5 2c1.54 0 2.94.6 4 1.56l-1.4 1.42c-.7-.6-1.6-.98-2.6-.98-1.46 0-2.74.78-3.44 1.96h3.5v1.5H5.54c-.02.18-.04.36-.04.54 0 .16 0 .32.02.46h4.04v1.5H6.02C6.7 11.18 8.02 12 9.5 12c1 0 1.9-.38 2.6-.98Z" })),
917
937
  'euro-circle': () => (h("path", { fill: "currentColor", d: "M8 .67C3.95.67.67 3.95.67 8S3.95 15.33 8 15.33s7.33-3.28 7.33-7.33S12.05.67 8 .67Zm2.27 11.4c-.38.09-.76.14-1.15.14a4.038 4.038 0 0 1-3.99-2.92h-.58c-.13 0-.23-.1-.23-.22v-.54c0-.12.11-.22.23-.22h.41a5.34 5.34 0 0 1 0-.8h-.41c-.13 0-.23-.1-.23-.22v-.58c0-.13.11-.22.23-.22h.63c.6-1.65 2.18-2.74 3.94-2.71.34 0 .68.03 1.02.1.12.03.19.16.16.28l-.23.84c-.03.12-.15.19-.27.17-.24-.05-.48-.08-.73-.08A2.42 2.42 0 0 0 6.81 6.5h2.71c.12.03.2.15.17.27l-.13.58c-.02.1-.12.18-.22.18H6.52c-.03.26-.03.53 0 .8h2.63c.12.03.2.15.17.27l-.11.52c-.03.1-.12.18-.22.18H6.8c.36.96 1.28 1.6 2.31 1.61.3 0 .59-.04.88-.1.12-.02.24.05.27.18l.17.84c.02.12-.05.24-.17.27v-.03Z" })),
918
- 'exclamation-circle': () => (h("path", { fill: "currentColor", d: "M8 15.33c4.05 0 7.33-3.28 7.33-7.33S12.05.67 8 .67.67 3.95.67 8 3.95 15.33 8 15.33Zm.95-3.3c0 .15-.12.27-.28.27h-1.4c-.15 0-.28-.12-.28-.27v-1.31c0-.15.12-.28.28-.28h1.4c.15 0 .28.12.28.28v1.31ZM7 3.96c0-.14.11-.25.25-.25H8.7c.14 0 .25.11.25.25v4.8c0 .14-.11.25-.25.25H7.25c-.14 0-.25-.11-.25-.25V3.95Z" })),
938
+ 'exclamation-circle': () => (h("path", { fill: "currentColor", stroke: "currentColor", d: "M8.75 9.5h.5v-6h-2.5v6h2Zm.5 1V10h-2.5v2.5h2.5v-2ZM1.5 8a6.5 6.5 0 1 1 13 0 6.5 6.5 0 0 1-13 0Z" })),
939
+ 'exclamation-circle-outline': () => [
940
+ h("path", { fill: "currentColor", key: "exclamation-circle-outline-1", d: "M8.75 4v5h-1.5V4h1.5ZM8.75 12v-1.5h-1.5V12h1.5Z" }),
941
+ h("path", { fill: "currentColor", key: "exclamation-circle-outline-2", "fill-rule": "evenodd", d: "M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1ZM2 8a6 6 0 1 0 12 0A6 6 0 0 0 2 8Z" }),
942
+ ],
919
943
  'exclamation-stamp': () => (h("path", { fill: "currentColor", d: "m15 8-1.55-1.86.22-2.46-2.3-.55L10.17 1 8 1.98 5.84 1 4.63 3.13l-2.29.54.22 2.46L1.01 8l1.55 1.86-.22 2.47 2.3.55 1.2 2.13L8 14.03l2.17.98 1.2-2.13 2.3-.55-.22-2.46L15 8.01Zm-6.36 3.35H7.36v-1.34h1.28v1.34Zm0-2.67H7.36V4.67h1.28v4.01Z" })),
920
944
  'exclamation-triangle': () => (h("path", { fill: "currentColor", d: "m14.3 13.88-6-12a.32.32 0 0 0-.41-.15.31.31 0 0 0-.15.15l-6 12a.31.31 0 0 0 .14.42.32.32 0 0 0 .14 0H14a.31.31 0 0 0 .33-.29.23.23 0 0 0-.03-.13ZM7 6a.28.28 0 0 1 .28-.28h1.46A.28.28 0 0 1 9 6v4a.29.29 0 0 1-.28.29H7.3A.29.29 0 0 1 7 10Zm2 7a.31.31 0 0 1-.31.32H7.34A.32.32 0 0 1 7 13v-1.37a.31.31 0 0 1 .32-.31h1.39a.31.31 0 0 1 .31.31Z" })),
921
945
  'eye': () => [
@@ -935,14 +959,37 @@ const icons = {
935
959
  h("path", { key: "file-download-1", fill: "currentColor", d: "M13.12 3.67 10.41.87a.63.63 0 0 0-.47-.2h-.17v3.66h3.54v-.17a.69.69 0 0 0-.19-.49Z" }),
936
960
  h("path", { key: "file-download-2", fill: "currentColor", d: "M13.31 14.65v-9.4H9.55a.67.67 0 0 1-.66-.68V.67H3.35a.67.67 0 0 0-.66.66v13.32a.67.67 0 0 0 .66.68h9.3a.67.67 0 0 0 .66-.66Zm-2.91-4.24-2.54 2.53a.18.18 0 0 1-.26 0l-2.54-2.53a.2.2 0 0 1-.06-.15.18.18 0 0 1 .19-.18h1.34a.2.2 0 0 0 .2-.2V7.27a.19.19 0 0 1 .19-.18h1.63a.18.18 0 0 1 .18.19v2.6a.2.2 0 0 0 .2.2h1.34a.16.16 0 0 1 .14.06.19.19 0 0 1-.01.27Z" }),
937
961
  ],
938
- 'file-excel': () => (h("path", { fill: "currentColor", d: "M8.89 4.43V.67H3.35a.65.65 0 0 0-.66.66v13.34a.65.65 0 0 0 .66.66h9.3a.65.65 0 0 0 .66-.66V5.09H9.55a.65.65 0 0 1-.66-.66Zm1.66 3.2-1.66 2.58 1.66 2.59a.34.34 0 0 1-.1.46.31.31 0 0 1-.18.05h-1a.32.32 0 0 1-.27-.17c-.54-1-1-1.9-1-1.9-.18.41-.28.55-1 1.9a.33.33 0 0 1-.29.18h-1A.34.34 0 0 1 5.4 13a.41.41 0 0 1 0-.18l1.67-2.58-1.62-2.61a.34.34 0 0 1 .1-.46.37.37 0 0 1 .18 0h1a.33.33 0 0 1 .3.17c.72 1.35.55.93 1 1.9 0 0 .17-.33 1-1.9a.33.33 0 0 1 .3-.17h1a.33.33 0 0 1 .33.33.41.41 0 0 1-.11.13ZM13.31 4v.17H9.77V.67h.17a.67.67 0 0 1 .47.19l2.71 2.71a.66.66 0 0 1 .19.43Z" })),
939
- 'file-pdf': () => (h("path", { fill: "currentColor", d: "M7.74 8a2.68 2.68 0 0 1-.06-1.3c.24 0 .21 1.02.06 1.3Zm0 1.31a12.5 12.5 0 0 1-.79 1.75 9.8 9.8 0 0 1 1.75-.61 3.63 3.63 0 0 1-1.01-1.14Zm-2.66 3.47s.36-.15 1-1.12a3.71 3.71 0 0 0-1 1.12Zm4.49-7.67h3.78v9.56a.65.65 0 0 1-.66.66H3.31a.66.66 0 0 1-.66-.66V1.33a.65.65 0 0 1 .7-.66h5.56v3.77a.67.67 0 0 0 .66.67Zm-.22 5a2.78 2.78 0 0 1-1.18-1.5 4 4 0 0 0 .17-1.78.7.7 0 0 0-.78-.6.69.69 0 0 0-.56.41 4.58 4.58 0 0 0 .23 2.14 26 26 0 0 1-1.13 2.38c-.76.39-2 1.24-1.52 1.89a.87.87 0 0 0 .6.28c.5 0 1-.5 1.7-1.72A15.24 15.24 0 0 1 9.07 11a4.34 4.34 0 0 0 1.78.54.72.72 0 0 0 .74-.7.78.78 0 0 0-.19-.51c-.4-.4-1.51-.33-2.05-.23Zm3.81-6.53L10.44.86A.71.71 0 0 0 10 .67h-.2v3.55h3.55v-.17a.7.7 0 0 0-.19-.47ZM11.1 10.9c.11-.08-.07-.33-1.19-.25 1.03.44 1.19.25 1.19.25Z" })),
962
+ 'file-excel': () => [
963
+ h("path", { key: "file-excel-1", fill: "currentColor", "fill-rule": "evenodd", d: "M9 5V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5H9Zm-.018 7h1.335L8.776 9.48l1.5-2.48H9.02l-.795 1.485a5.09 5.09 0 0 0-.157.436h-.014a2.59 2.59 0 0 0-.15-.422L7.19 7H5.82l1.457 2.5L5.683 12h1.342l.865-1.614c.06-.156.099-.272.115-.349h.014c.035.163.069.274.101.335L8.982 12Z" }),
964
+ h("path", { key: "file-excel-2", fill: "currentColor", d: "M10 4V1l3 3h-3Z" }),
965
+ ],
966
+ 'file-excel-outline': () => [
967
+ h("path", { fill: "currentColor", key: "file-excel-outline-1", d: "M8.982 12h1.335L8.776 9.48l1.5-2.48H9.02l-.795 1.485a5.09 5.09 0 0 0-.157.436h-.014a2.59 2.59 0 0 0-.15-.422L7.19 7H5.82l1.457 2.5L5.683 12h1.342l.865-1.614c.06-.156.099-.272.115-.349h.014c.035.163.069.274.101.335L8.982 12Z" }),
968
+ h("path", { fill: "currentColor", key: "file-excel-outline-2", d: "M4 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4l-3-3H4Zm6 3V2.537L11.254 4H10Zm2 1v9H4V2h5v3h3Z" }),
969
+ ],
970
+ 'file-pdf': () => [
971
+ h("path", { fill: "currentColor", key: "file-pdf-1", d: "M6.464 11.274a3.81 3.81 0 0 0-.393.207c-.223.137-.37.27-.444.387-.072.11-.073.19-.03.273a.175.175 0 0 0 .019.034.223.223 0 0 0 .027-.01c.103-.042.268-.177.48-.433.12-.147.234-.3.34-.458ZM7.706 10.267c.252-.06.507-.108.764-.146a8.824 8.824 0 0 1-.386-.65 15.7 15.7 0 0 1-.378.796ZM9.579 10.63a2.916 2.916 0 0 0 .341.314c.164.123.28.165.344.168a.082.082 0 0 0 .053-.012.232.232 0 0 0 .07-.094.33.33 0 0 0 .045-.152.072.072 0 0 0-.02-.047c-.039-.047-.15-.116-.391-.159a2.926 2.926 0 0 0-.463-.04l.02.022ZM8.051 7.952c.064-.205.114-.414.151-.626.024-.142.033-.26.029-.352a.464.464 0 0 0-.024-.15.391.391 0 0 0-.11.03c-.066.027-.12.08-.148.215a.744.744 0 0 0-.01.057c-.018.142-.006.331.044.565.018.084.041.171.068.26Z" }),
972
+ h("path", { fill: "currentColor", key: "file-pdf-2", "fill-rule": "evenodd", d: "M9 1v4h4v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5ZM5.42 12.713a.613.613 0 0 1-.332-.318c-.147-.294-.098-.588.06-.834.15-.233.4-.43.68-.596a5.816 5.816 0 0 1 1.122-.489c.303-.544.571-1.107.804-1.686a5.554 5.554 0 0 1-.326-.98c-.065-.303-.09-.603-.034-.86.056-.268.207-.509.492-.623l.055-.02a.75.75 0 0 1 .4-.038.53.53 0 0 1 .362.276c.066.124.09.27.096.407.005.142-.01.3-.036.465-.063.386-.204.859-.394 1.358.21.447.458.874.742 1.277a4.457 4.457 0 0 1 1.01.038c.276.049.556.147.727.352a.64.64 0 0 1 .151.392.88.88 0 0 1-.104.426.788.788 0 0 1-.312.341.647.647 0 0 1-.342.078c-.25-.01-.495-.148-.706-.315a4.327 4.327 0 0 1-.69-.72 8.812 8.812 0 0 0-1.512.308 8.57 8.57 0 0 1-.773 1.143c-.22.265-.46.496-.701.596a.6.6 0 0 1-.44.022Z" }),
973
+ h("path", { fill: "currentColor", key: "file-pdf-3", d: "M10 1v3h3l-3-3Z" }),
974
+ ],
975
+ 'file-pdf-outline': () => [
976
+ h("path", { fill: "currentColor", key: "file-pdf-outline-1", d: "M5.42 12.713a.613.613 0 0 1-.332-.318c-.147-.294-.098-.588.06-.834.15-.233.4-.43.68-.596a5.816 5.816 0 0 1 1.122-.489c.303-.544.571-1.107.804-1.686a5.503 5.503 0 0 1-.326-.98c-.065-.303-.09-.603-.034-.86.056-.268.207-.509.492-.623.145-.058.303-.09.455-.058a.53.53 0 0 1 .362.276c.066.124.09.27.096.407.005.142-.01.3-.036.465-.063.386-.204.859-.394 1.358.21.447.458.874.742 1.277a4.354 4.354 0 0 1 1.01.038c.276.049.556.147.727.352a.64.64 0 0 1 .151.392.88.88 0 0 1-.104.426.788.788 0 0 1-.268.315.648.648 0 0 1-.386.104c-.25-.01-.495-.148-.706-.315a4.324 4.324 0 0 1-.69-.72 8.812 8.812 0 0 0-1.512.308 8.57 8.57 0 0 1-.773 1.143c-.22.265-.46.496-.701.596a.6.6 0 0 1-.44.022Zm1.044-1.44a3.81 3.81 0 0 0-.348.18c-.248.148-.41.29-.49.415-.07.11-.072.19-.03.273a.175.175 0 0 0 .02.034.223.223 0 0 0 .027-.01c.103-.042.268-.177.48-.433.12-.147.234-.3.34-.458Zm1.242-1.006c.252-.06.507-.108.764-.146a8.824 8.824 0 0 1-.386-.65 15.7 15.7 0 0 1-.378.796Zm2.18.65a2.971 2.971 0 0 1-.328-.309c.155.001.31.015.463.04.24.043.352.112.392.159.012.012.02.03.02.047a.33.33 0 0 1-.045.152.232.232 0 0 1-.071.094.082.082 0 0 1-.053.012c-.07-.003-.196-.05-.377-.194Zm-1.684-3.59c-.037.21-.087.42-.15.625a3.355 3.355 0 0 1-.069-.26c-.057-.268-.065-.478-.034-.623.028-.134.082-.188.148-.214a.391.391 0 0 1 .11-.03.464.464 0 0 1 .024.15c.004.092-.005.209-.029.351Z" }),
977
+ h("path", { fill: "currentColor", key: "file-pdf-outline-2", d: "M3 2a1 1 0 0 1 1-1h6l3 3v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2Zm7 .537V4h1.254L10 2.537ZM12 14V5H9V2H4v12h8Z" }),
978
+ ],
940
979
  'file-text': () => (h("path", { fill: "currentColor", d: "M8.89 4.56V.67H3.35c-.36 0-.66.3-.66.66v13.32c0 .37.29.67.66.68h9.3c.36 0 .66-.3.66-.66V5.25H9.55c-.37 0-.67-.31-.66-.68Zm1.77 6.75c0 .19-.15.34-.34.35H5.68c-.19 0-.34-.16-.34-.35v-.23c0-.19.15-.34.34-.34h4.64c.19 0 .34.15.34.34v.23Zm0-1.83c0 .19-.15.34-.34.34H5.68c-.19 0-.34-.15-.34-.34v-.23c0-.19.15-.34.34-.34h4.64c.19 0 .34.15.34.34v.23Zm0-2.06v.23c0 .19-.15.34-.34.34H5.68c-.19 0-.34-.15-.34-.34v-.23c0-.19.15-.34.34-.35h4.64c.19 0 .34.16.34.35Zm2.65-3.27v.17H9.77V.67h.17c.18 0 .35.07.47.2l2.71 2.8c.13.13.19.31.19.49Z" })),
941
980
  'file-text-outline': () => (h("path", { fill: "currentColor", d: "M10.31 10.74H5.69c-.2 0-.36.16-.36.35v.22c0 .19.16.35.36.35h4.62c.2 0 .36-.16.36-.35v-.22c0-.19-.16-.35-.36-.35Zm0-1.84H5.69c-.2 0-.36.16-.36.36v.21c0 .2.16.35.36.35h4.62c.2 0 .36-.15.36-.35v-.21c0-.2-.16-.36-.36-.36Zm0-1.83H5.69c-.2 0-.36.16-.36.35v.22c0 .19.16.35.36.35h4.62c.2 0 .36-.16.36-.35v-.22c0-.19-.16-.35-.36-.35Zm0 3.67H5.69c-.2 0-.36.16-.36.35v.22c0 .19.16.35.36.35h4.62c.2 0 .36-.16.36-.35v-.22c0-.19-.16-.35-.36-.35Zm0-1.84H5.69c-.2 0-.36.16-.36.36v.21c0 .2.16.35.36.35h4.62c.2 0 .36-.15.36-.35v-.21c0-.2-.16-.36-.36-.36Zm0-1.83H5.69c-.2 0-.36.16-.36.35v.22c0 .19.16.35.36.35h4.62c.2 0 .36-.16.36-.35v-.22c0-.19-.16-.35-.36-.35Zm2.76-2.64L9.69.92A.8.8 0 0 0 9.1.67H3.35c-.36 0-.66.3-.66.66v13.32c0 .37.29.67.66.68h9.3c.36 0 .66-.3.66-.66V5.05c0-.23-.07-.45-.24-.62Zm-.76 9.9H3.69V1.67h5.2v2.75c0 .46.37.83.83.83h2.59v9.08Z" })),
942
981
  'file-upload': () => [
943
982
  h("path", { key: "file-upload-1", fill: "currentColor", d: "M13.1 3.7 10.4.9c-.1-.1-.3-.2-.5-.2h-.1v3.7h3.5v-.2c0-.2-.1-.4-.2-.5z" }),
944
983
  h("path", { key: "file-upload-2", fill: "currentColor", d: "M13.3 14.6V5.3H9.6c-.4 0-.7-.3-.7-.7V.7H3.3c-.3 0-.6.3-.6.6v13.3c0 .4.3.7.7.7h9.3c.3 0 .6-.3.6-.7zm-3-4.6H8.9c-.1 0-.2.1-.2.2v2.6c0 .1-.1.2-.2.2H6.9c-.1 0-.2-.1-.2-.2v-2.6c0-.1-.1-.2-.2-.2H5.1C5 9.9 5 9.8 5 9.7l2.5-2.6c.1-.1.2-.1.3 0l2.5 2.5.1.1c.1.2 0 .3-.1.3z" }),
945
984
  ],
985
+ 'file-word': () => [
986
+ h("path", { fill: "currentColor", "fill-rule": "evenodd", key: "file-word-1", d: "M9 5V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V5H9ZM5 7l1.091 5h1.002L8 8.262 8.91 12h.98L11 7h-.93l-.701 3.492L8.568 7H7.47l-.836 3.434L5.944 7H5Z" }),
987
+ h("path", { fill: "currentColor", key: "file-word-2", d: "M10 4V1l3 3h-3Z" }),
988
+ ],
989
+ 'file-word-outline': () => [
990
+ h("path", { fill: "currentColor", d: "m5 7 1.091 5h1.002L8 8.262 8.91 12h.98L11 7h-.93l-.701 3.492L8.568 7H7.47l-.836 3.434L5.944 7H5Z" }),
991
+ h("path", { fill: "currentColor", d: "M4 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4l-3-3H4Zm6 3V2.537L11.254 4H10Zm2 1v9H4V2h5v3h3Z" }),
992
+ ],
946
993
  'filter': () => (h("path", { fill: "currentColor", d: "M13.74 1.66H2.26a.6.6 0 0 0-.59.6.59.59 0 0 0 .17.42l4.58 4.58v5.1a.58.58 0 0 0 .25.48l2 1.39a.6.6 0 0 0 .83-.15.59.59 0 0 0 .1-.34V7.26l4.58-4.58a.6.6 0 0 0 0-.84.64.64 0 0 0-.44-.18Z" })),
947
994
  'floppy-disk': () => (h("path", { fill: "currentColor", d: "m13.93 4.44-2.37-2.37c-.25-.25-.6-.4-.96-.4H3.03c-.75 0-1.36.61-1.36 1.36v9.94c0 .75.61 1.36 1.36 1.36h9.94c.75 0 1.36-.61 1.36-1.36V5.4c0-.36-.14-.7-.4-.96ZM8 12.52A1.81 1.81 0 1 1 8 8.9a1.81 1.81 0 0 1 0 3.62Zm2.71-5.77c0 .09-.04.18-.1.24a.35.35 0 0 1-.24.1H3.82c-.19 0-.34-.15-.34-.34V3.82c0-.19.15-.34.34-.34h6.55c.19 0 .34.15.34.34v2.93Z" })),
948
995
  'folder': () => (h("path", { fill: "currentColor", d: "M14 4.44H8.46L6.62 2.67H2C1.27 2.67.68 3.27.67 4v8c0 .73.6 1.32 1.33 1.33h12c.73 0 1.32-.6 1.33-1.33V5.78c0-.73-.6-1.33-1.33-1.34Z" })),
@@ -1022,8 +1069,8 @@ const icons = {
1022
1069
  'user': () => (h("path", { fill: "currentColor", d: "M8 8.79a3.56 3.56 0 1 0-3.56-3.56A3.56 3.56 0 0 0 8 8.79Zm3.17.79H9.8a4.27 4.27 0 0 1-3.6 0H4.83a3.16 3.16 0 0 0-3.16 3.17v.4a1.18 1.18 0 0 0 1.18 1.18h10.3a1.18 1.18 0 0 0 1.18-1.18v-.4a3.16 3.16 0 0 0-3.16-3.17Z" })),
1023
1070
  'user-circle': () => (h("path", { fill: "currentColor", d: "M8 .62C3.95.61.66 3.9.65 7.95c0 4.05 3.28 7.34 7.33 7.35 4.04 0 7.33-3.26 7.35-7.3.02-4.05-3.25-7.36-7.3-7.38H8Zm0 .75c3.64 0 6.59 2.96 6.58 6.6V8c0 1.35-.41 2.66-1.19 3.76a2.713 2.713 0 0 0-2.66-2.37H9.54c-.98.46-2.1.46-3.08 0H5.28c-1.36 0-2.5 1.02-2.67 2.37A6.483 6.483 0 0 1 1.42 8a6.59 6.59 0 0 1 6.55-6.63H8ZM5 5.63c0-1.68 1.37-3.05 3.05-3.05 1.68 0 3.05 1.37 3.05 3.05 0 1.68-1.37 3.05-3.05 3.05H8c-1.66-.03-3-1.39-3-3.05Z" })),
1024
1071
  'user-pen-fancy-outline': () => [
1025
- h("path", { fill: "currentColor", d: "M7.5 7a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5Zm0-4C6.67 3 6 3.67 6 4.5S6.67 6 7.5 6 9 5.33 9 4.5 8.33 3 7.5 3ZM11.12 11.46l-.22.54-.3.77s-.04.09-.06.13c-.03.04-.06.07-.1.1-.05.04-.1.07-.16.08L7.52 14l-.07-.07 1.45-1.45h.13c.15 0 .27-.06.36-.16a.56.56 0 0 0 .1-.15c.01-.02.02-.04.03-.07v-.02s.01-.05.01-.08v-.03c0-.28-.23-.5-.51-.5-.28.01-.5.24-.5.51v.14l-.76.75-.14.13-.55.55-.07-.07.16-.48.1-.29.24-.71.42-1.27c.05-.16.17-.28.32-.32l1.31-.52 1.57 1.57ZM14.56 8.22l-2.05 1.87-.7.64-.06.05-.32.29-1.52-1.52.28-.31.06-.06.64-.7 1.88-2.04c1.16-1.31 3.11.61 1.79 1.78Z" }),
1026
- h("path", { fill: "currentColor", d: "M9 8H6c-2.21 0-4 1.79-4 4 0 .55.45 1 1 1h3.11l.33-1H3c0-1.66 1.34-3 3-3h3.05l.12-.13.71-.77C9.6 8.03 9.3 8 9 8Z" }),
1072
+ h("path", { fill: "currentColor", key: "user-pen-fancy-outline-1", d: "M7.5 7a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5Zm0-4C6.67 3 6 3.67 6 4.5S6.67 6 7.5 6 9 5.33 9 4.5 8.33 3 7.5 3ZM11.12 11.46l-.22.54-.3.77s-.04.09-.06.13c-.03.04-.06.07-.1.1-.05.04-.1.07-.16.08L7.52 14l-.07-.07 1.45-1.45h.13c.15 0 .27-.06.36-.16a.56.56 0 0 0 .1-.15c.01-.02.02-.04.03-.07v-.02s.01-.05.01-.08v-.03c0-.28-.23-.5-.51-.5-.28.01-.5.24-.5.51v.14l-.76.75-.14.13-.55.55-.07-.07.16-.48.1-.29.24-.71.42-1.27c.05-.16.17-.28.32-.32l1.31-.52 1.57 1.57ZM14.56 8.22l-2.05 1.87-.7.64-.06.05-.32.29-1.52-1.52.28-.31.06-.06.64-.7 1.88-2.04c1.16-1.31 3.11.61 1.79 1.78Z" }),
1073
+ h("path", { fill: "currentColor", key: "user-pen-fancy-outline-2", d: "M9 8H6c-2.21 0-4 1.79-4 4 0 .55.45 1 1 1h3.11l.33-1H3c0-1.66 1.34-3 3-3h3.05l.12-.13.71-.77C9.6 8.03 9.3 8 9 8Z" }),
1027
1074
  ],
1028
1075
  'user-group': () => (h("path", { fill: "currentColor", d: "M13.15 4.12c-.81-.01-1.47.65-1.48 1.46 0 .82.65 1.47 1.46 1.48s1.47-.65 1.48-1.46-.65-1.47-1.46-1.48Zm-10.04.01a1.47 1.47 0 0 0-1.58 1.59c.06.71.62 1.28 1.34 1.34.81.07 1.52-.53 1.59-1.34.06-.81-.54-1.52-1.35-1.59Zm7.36.39c-.22-.84-.87-1.51-1.71-1.75-1.36-.41-2.8.36-3.22 1.72-.18.61-.13 1.27.14 1.85.41.9 1.33 1.48 2.32 1.45 1.41.01 2.56-1.14 2.57-2.55 0-.24-.03-.49-.1-.72Zm-.71 4h-.19c-.99.49-2.14.49-3.13 0h-.19c-1.46 0-2.64 1.18-2.64 2.64v2.69c1.23.93 2.74 1.47 4.39 1.47s3.17-.55 4.4-1.48v-2.68c0-1.46-1.18-2.64-2.64-2.64Zm5.52.25a7.282 7.282 0 0 1-1.65 3.91c-.08.1-.16.19-.25.28-.08.09-.17.18-.25.27v-.55h.03v-.72s.01-.07 0-.1v-.66c.01-1.25-.66-2.4-1.76-3 .27-.26.63-.41 1-.41h1.51c.63.01 1.17.41 1.37.98ZM2.86 11.16v1.52h.01v.55l-.28-.31c-.08-.08-.15-.16-.22-.24A7.238 7.238 0 0 1 .74 8.86c.16-.62.72-1.07 1.4-1.07h1.47c.37-.01.73.12 1.01.37-1.1.6-1.77 1.75-1.76 3Z" })),
1029
1076
  'user-plus': () => (h("path", { fill: "currentColor", d: "M14,3.33H12.65V2a.36.36,0,0,0-.35-.33h-.65A.36.36,0,0,0,11.3,2V3.33H10a.34.34,0,0,0-.33.34v.66a.34.34,0,0,0,.33.34H11.3V6a.37.37,0,0,0,.35.33h.65A.37.37,0,0,0,12.65,6V4.67H14a.34.34,0,0,0,.32-.34V3.67A.34.34,0,0,0,14,3.33ZM9.28,9.77h-.2a5.19,5.19,0,0,1-3.91,0H5A3,3,0,0,0,1.7,12.46h0v.72A1.27,1.27,0,0,0,3,14.33h8.25a1.26,1.26,0,0,0,1.36-1.14v-.68A3,3,0,0,0,9.37,9.76H9.28ZM7.13,3.7A2.64,2.64,0,1,1,4.5,6.34h0A2.64,2.64,0,0,1,7.13,3.7Z" })),
@@ -1035,60 +1082,81 @@ const icons = {
1035
1082
  /**
1036
1083
  * List of all possibles sizes
1037
1084
  */
1038
- const sizes$1 = ['small', 'regular', 'large', 'extra-large'];
1085
+ const sizes$1 = ['small', 'regular', 'medium', 'large', 'extra-large'];
1039
1086
  /**
1040
1087
  * List of all possibles variants
1041
1088
  */
1042
- const variants$2 = ['success', 'warning', 'danger', 'info'];
1089
+ const variants$2 = ['success', 'warning', 'danger', 'info', 'app'];
1090
+ /**
1091
+ * List of all possibles variants styles
1092
+ */
1093
+ const variantStyles = ['icon', 'background', 'full'];
1043
1094
 
1044
- const mgIconCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{display:inline-flex;vertical-align:middle}.mg-icon[size=small],.mg-icon.mg-icon--size-small{width:var(--mg-icon-small-size);height:var(--mg-icon-small-size)}.mg-icon[size=regular],.mg-icon.mg-icon--size-regular{width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size)}.mg-icon[size=large],.mg-icon.mg-icon--size-large{width:var(--mg-icon-large-size);height:var(--mg-icon-large-size)}.mg-icon[size=extra-large],.mg-icon.mg-icon--size-extra-large{width:var(--mg-icon-extra-large-size);height:var(--mg-icon-extra-large-size)}.mg-icon[class*=mg-icon--variant-]{border-radius:var(--mg-message-border-radius);padding:0.3rem}.mg-icon.mg-icon--variant-success{background-color:hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) + 20%))}.mg-icon.mg-icon--variant-warning{background-color:hsl(var(--color-warning-h), var(--color-warning-s), calc(var(--color-warning-l) + 20%))}.mg-icon.mg-icon--variant-danger{background-color:hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) + 20%))}.mg-icon.mg-icon--variant-info{background-color:hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) + 20%))}.loader__full-circle{opacity:0.2}.mg-icon--spin{animation-name:rotate;animation-duration:0.75s;animation-iteration-count:infinite}@keyframes rotate{to{transform:rotate(360deg)}}";
1095
+ const mgIconCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{display:inline-flex;vertical-align:middle}.mg-icon{color:currentColor}.mg-icon[size=small],.mg-icon.mg-icon--size-small{width:var(--mg-icon-small-size);height:var(--mg-icon-small-size)}.mg-icon[size=small][class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon),.mg-icon.mg-icon--size-small[class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon){padding:calc(var(--mg-icon-small-size) / 2)}.mg-icon[size=regular],.mg-icon.mg-icon--size-regular{width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size)}.mg-icon[size=regular][class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon),.mg-icon.mg-icon--size-regular[class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon){padding:calc(var(--mg-icon-regular-size) / 2)}.mg-icon[size=medium],.mg-icon.mg-icon--size-medium{width:var(--mg-icon-medium-size);height:var(--mg-icon-medium-size)}.mg-icon[size=medium][class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon),.mg-icon.mg-icon--size-medium[class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon){padding:calc(var(--mg-icon-medium-size) / 2)}.mg-icon[size=large],.mg-icon.mg-icon--size-large{width:var(--mg-icon-large-size);height:var(--mg-icon-large-size)}.mg-icon[size=large][class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon),.mg-icon.mg-icon--size-large[class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon){padding:calc(var(--mg-icon-large-size) / 2)}.mg-icon[size=extra-large],.mg-icon.mg-icon--size-extra-large{width:var(--mg-icon-extra-large-size);height:var(--mg-icon-extra-large-size)}.mg-icon[size=extra-large][class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon),.mg-icon.mg-icon--size-extra-large[class*=mg-icon--variant-]:not(.mg-icon--variant-style-icon){padding:calc(var(--mg-icon-extra-large-size) / 2)}.mg-icon.mg-icon--variant-success.mg-icon--variant-style-icon{color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-icon.mg-icon--variant-warning.mg-icon--variant-style-icon{color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l))}.mg-icon.mg-icon--variant-danger.mg-icon--variant-style-icon{color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-icon.mg-icon--variant-info.mg-icon--variant-style-icon{color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-icon.mg-icon--variant-app.mg-icon--variant-style-icon{color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l))}.mg-icon.mg-icon--variant-success.mg-icon--variant-style-background{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-warning.mg-icon--variant-style-background{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-danger.mg-icon--variant-style-background{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-info.mg-icon--variant-style-background{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-app.mg-icon--variant-style-background{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-success.mg-icon--variant-style-full{color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l));background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-warning.mg-icon--variant-style-full{color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l));background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-danger.mg-icon--variant-style-full{color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l));background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-info.mg-icon--variant-style-full{color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l));background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-icon.mg-icon--variant-app.mg-icon--variant-style-full{color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l));background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-icon[class*=mg-icon--variant-]{border-radius:var(--mg-icon-border-radius)}.loader__full-circle{opacity:0.2}.mg-icon--spin{animation-name:rotate;animation-duration:0.75s;animation-iteration-count:infinite}@keyframes rotate{to{transform:rotate(360deg)}}";
1045
1096
 
1046
1097
  const MgIcon = class {
1047
1098
  constructor(hostRef) {
1048
1099
  registerInstance(this, hostRef);
1049
1100
  /**
1050
1101
  * getIcon
1051
- *
1052
1102
  * @returns {HTMLElement} icon html
1053
1103
  */
1054
1104
  this.getIcon = () => icons[this.icon]();
1105
+ /**
1106
+ * Method to set default varianStyle props
1107
+ * needeed has stencil doesn't know that props is mutated when updated in prop watcher
1108
+ * @returns {void}
1109
+ */
1110
+ this.setDefaultVariantStyle = () => {
1111
+ if (this.variantStyle === undefined)
1112
+ this.variantStyle = 'background';
1113
+ };
1055
1114
  this.icon = undefined;
1056
1115
  this.size = 'regular';
1057
1116
  this.variant = undefined;
1117
+ this.variantStyle = undefined;
1058
1118
  this.spin = false;
1059
1119
  this.classList = new ClassList(['mg-icon']);
1060
1120
  }
1061
1121
  validateIcon(newValue, oldValue) {
1062
- if (!Object.keys(icons).includes(newValue)) {
1122
+ if (!Object.keys(icons).includes(newValue))
1063
1123
  throw new Error(`<mg-icon> prop "icon" must be one of: ${Object.keys(icons).join(', ')}`);
1064
- }
1065
1124
  else {
1066
- if (oldValue !== undefined) {
1125
+ if (oldValue !== undefined)
1067
1126
  this.classList.delete(`mg-icon--${oldValue}`);
1068
- }
1069
1127
  this.classList.add(`mg-icon--${newValue}`);
1070
1128
  }
1071
1129
  }
1072
1130
  validateSize(newValue, oldValue) {
1073
- if (!sizes$1.includes(newValue)) {
1131
+ if (!sizes$1.includes(newValue))
1074
1132
  throw new Error(`<mg-icon> prop "size" must be one of: ${sizes$1.join(', ')}`);
1075
- }
1076
1133
  else {
1077
- if (oldValue !== undefined) {
1134
+ if (oldValue !== undefined)
1078
1135
  this.classList.delete(`mg-icon--size-${oldValue}`);
1079
- }
1080
1136
  this.classList.add(`mg-icon--size-${newValue}`);
1081
1137
  }
1082
1138
  }
1083
1139
  validateVariant(newValue, oldValue) {
1084
- if (newValue !== undefined && !variants$2.includes(newValue)) {
1085
- throw new Error(`<mg-icon> prop "variant" must be one of: ${variants$2.join(', ')}`);
1140
+ if (Boolean(newValue)) {
1141
+ if (!variants$2.includes(newValue))
1142
+ throw new Error(`<mg-icon> prop "variant" must be one of: ${variants$2.join(', ')}`);
1143
+ else {
1144
+ this.setDefaultVariantStyle();
1145
+ if (oldValue !== undefined)
1146
+ this.classList.delete(`mg-icon--variant-${oldValue}`);
1147
+ this.classList.add(`mg-icon--variant-${newValue}`);
1148
+ }
1086
1149
  }
1087
- else if (newValue !== undefined) {
1088
- if (oldValue !== undefined) {
1089
- this.classList.delete(`mg-icon--variant-${oldValue}`);
1150
+ }
1151
+ validateVariantStyle(newValue, oldValue) {
1152
+ if (Boolean(newValue)) {
1153
+ if (!variantStyles.includes(newValue))
1154
+ throw new Error(`<mg-icon> prop "variantStyle" must be one of: ${variantStyles.join(', ')}`);
1155
+ else {
1156
+ if (oldValue !== undefined)
1157
+ this.classList.delete(`mg-icon--variant-style-${oldValue}`);
1158
+ this.classList.add(`mg-icon--variant-style-${newValue}`);
1090
1159
  }
1091
- this.classList.add(`mg-icon--variant-${newValue}`);
1092
1160
  }
1093
1161
  }
1094
1162
  handleSpin(newValue) {
@@ -1103,18 +1171,17 @@ const MgIcon = class {
1103
1171
  }
1104
1172
  /**
1105
1173
  * Check if props are well configured on init
1106
- *
1107
1174
  * @returns {void}
1108
1175
  */
1109
1176
  componentWillLoad() {
1110
1177
  this.validateIcon(this.icon);
1111
1178
  this.validateSize(this.size);
1112
1179
  this.validateVariant(this.variant);
1180
+ this.validateVariantStyle(this.variantStyle);
1113
1181
  this.handleSpin(this.spin);
1114
1182
  }
1115
1183
  /**
1116
1184
  * Render component
1117
- *
1118
1185
  * @returns {HTMLElement} HTML Element
1119
1186
  */
1120
1187
  render() {
@@ -1124,6 +1191,7 @@ const MgIcon = class {
1124
1191
  "icon": ["validateIcon"],
1125
1192
  "size": ["validateSize"],
1126
1193
  "variant": ["validateVariant"],
1194
+ "variantStyle": ["validateVariantStyle"],
1127
1195
  "spin": ["handleSpin"]
1128
1196
  }; }
1129
1197
  };
@@ -1142,7 +1210,6 @@ const MgIllustratedMessage = class {
1142
1210
  *************/
1143
1211
  /**
1144
1212
  * Check if component props are well configured on init
1145
- *
1146
1213
  * @returns {void}
1147
1214
  */
1148
1215
  componentDidLoad() {
@@ -1158,7 +1225,6 @@ const MgIllustratedMessage = class {
1158
1225
  }
1159
1226
  /**
1160
1227
  * Render
1161
- *
1162
1228
  * @returns {HTMLElement} HTML Element
1163
1229
  */
1164
1230
  render() {
@@ -1176,7 +1242,6 @@ MgIllustratedMessage.style = mgIllustratedMessageCss;
1176
1242
 
1177
1243
  /**
1178
1244
  * Apply in all input child node the aria-describedby attribute
1179
- *
1180
1245
  * @param {VNode[]} children Represent scoped elements
1181
1246
  * @param {Set<string>} ariaDescribedbyIDs List of IDs
1182
1247
  * @param {FunctionalUtilities} utils Stencil.js utils
@@ -1193,7 +1258,6 @@ const applyAriadescribedBy = (children, ariaDescribedbyIDs, utils) => utils.map(
1193
1258
  });
1194
1259
  /**
1195
1260
  * Add classes based on props
1196
- *
1197
1261
  * @param {MgInputProps} props MgInput Interface Props
1198
1262
  */
1199
1263
  const manageClasses = (props) => {
@@ -1207,14 +1271,12 @@ const manageClasses = (props) => {
1207
1271
  };
1208
1272
  /**
1209
1273
  * Get tagname
1210
- *
1211
1274
  * @param {boolean} isFieldset is fieldset
1212
1275
  * @returns {string} tag name
1213
1276
  */
1214
1277
  const getTagName = (isFieldset) => (isFieldset ? 'fieldset' : 'div');
1215
1278
  /**
1216
1279
  * Get input template
1217
- *
1218
1280
  * @param {MgInputProps} props MgInput Interface Props
1219
1281
  * @param {VNode[]} children Represent scoped elements
1220
1282
  * @param {FunctionalUtilities} utils Stencil.js utils
@@ -1274,7 +1336,6 @@ const MgInput = (props, children, utils) => {
1274
1336
  const TagName = getTagName(props.isFieldset);
1275
1337
  /**
1276
1338
  * Get tooltip node
1277
- *
1278
1339
  * @returns {VNode[]} mg-tooltip
1279
1340
  */
1280
1341
  const getTooltip = () => (h("mg-tooltip", { identifier: `${props.identifier}-tooltip`, message: props.tooltip },
@@ -1282,7 +1343,6 @@ const MgInput = (props, children, utils) => {
1282
1343
  /**
1283
1344
  * Get input title (label) node
1284
1345
  * Display asterisk only if not disabled and not readonly
1285
- *
1286
1346
  * @returns {VNode[]} mg-input-title
1287
1347
  */
1288
1348
  const getInputTitle = () => (h("mg-input-title", { identifier: props.identifier, class: props.labelHide ? 'sr-only' : undefined, required: props.required && !props.disabled && !props.readonly, "is-legend": props.isFieldset }, props.label));
@@ -1304,7 +1364,6 @@ const mgInputCheckboxCss = ":host{display:block}.mg-input{display:flex;align-ite
1304
1364
 
1305
1365
  /**
1306
1366
  * type CheckboxItem validation function
1307
- *
1308
1367
  * @param {unknown} items Checkbox item
1309
1368
  * @returns {boolean} match item type
1310
1369
  */
@@ -1324,7 +1383,6 @@ const MgInputCheckbox = class {
1324
1383
  this.hasDisplayedError = false;
1325
1384
  /**
1326
1385
  * Handle input event
1327
- *
1328
1386
  * @param {InputEvent} event input event
1329
1387
  */
1330
1388
  this.handleInput = (event) => {
@@ -1347,7 +1405,6 @@ const MgInputCheckbox = class {
1347
1405
  };
1348
1406
  /**
1349
1407
  * get invalid element
1350
- *
1351
1408
  * @returns {HTMLInputElement} element
1352
1409
  */
1353
1410
  this.getInvalidElement = () => this.inputs.find((input) => input !== null && !input.disabled && !input.checkValidity());
@@ -1415,7 +1472,6 @@ const MgInputCheckbox = class {
1415
1472
  }
1416
1473
  /**
1417
1474
  * Public method to display errors
1418
- *
1419
1475
  * @returns {Promise<void>}
1420
1476
  */
1421
1477
  async displayError() {
@@ -1428,7 +1484,6 @@ const MgInputCheckbox = class {
1428
1484
  *************/
1429
1485
  /**
1430
1486
  * Check if component props are well configured on init
1431
- *
1432
1487
  * @returns {ReturnType<typeof setTimeout>} timeout
1433
1488
  */
1434
1489
  componentWillLoad() {
@@ -1445,7 +1500,6 @@ const MgInputCheckbox = class {
1445
1500
  }
1446
1501
  /**
1447
1502
  * Render
1448
- *
1449
1503
  * @returns {HTMLElement} HTML Element
1450
1504
  */
1451
1505
  render() {
@@ -1513,7 +1567,6 @@ const MgInputDate = class {
1513
1567
  };
1514
1568
  /**
1515
1569
  * get input error code
1516
- *
1517
1570
  * @returns {null | InputError} error code
1518
1571
  */
1519
1572
  this.getInputError = () => {
@@ -1539,7 +1592,6 @@ const MgInputDate = class {
1539
1592
  };
1540
1593
  /**
1541
1594
  * Check input errors
1542
- *
1543
1595
  * @returns {void}
1544
1596
  */
1545
1597
  this.setErrorMessage = () => {
@@ -1609,7 +1661,6 @@ const MgInputDate = class {
1609
1661
  }
1610
1662
  /**
1611
1663
  * Public method to display errors
1612
- *
1613
1664
  * @returns {Promise<void>}
1614
1665
  */
1615
1666
  async displayError() {
@@ -1622,7 +1673,6 @@ const MgInputDate = class {
1622
1673
  *************/
1623
1674
  /**
1624
1675
  * Check if component props are well configured on init
1625
- *
1626
1676
  * @returns {ReturnType<typeof setTimeout>} timeout
1627
1677
  */
1628
1678
  componentWillLoad() {
@@ -1643,7 +1693,6 @@ const MgInputDate = class {
1643
1693
  }
1644
1694
  /**
1645
1695
  * Render
1646
- *
1647
1696
  * @returns {HTMLElement} HTML Element
1648
1697
  */
1649
1698
  render() {
@@ -1687,7 +1736,6 @@ const MgInputNumeric = class {
1687
1736
  this.hasDisplayedError = false;
1688
1737
  /**
1689
1738
  * Handle input event
1690
- *
1691
1739
  * @returns {void}
1692
1740
  */
1693
1741
  this.handleInput = () => {
@@ -1700,7 +1748,6 @@ const MgInputNumeric = class {
1700
1748
  };
1701
1749
  /**
1702
1750
  * Handle focus event
1703
- *
1704
1751
  * @returns {void}
1705
1752
  */
1706
1753
  this.handleFocus = () => {
@@ -1708,7 +1755,6 @@ const MgInputNumeric = class {
1708
1755
  };
1709
1756
  /**
1710
1757
  * Handle blur event
1711
- *
1712
1758
  * @returns {void}
1713
1759
  */
1714
1760
  this.handleBlur = () => {
@@ -1718,7 +1764,6 @@ const MgInputNumeric = class {
1718
1764
  };
1719
1765
  /**
1720
1766
  * Check if input is valid
1721
- *
1722
1767
  * @returns {void}
1723
1768
  */
1724
1769
  this.checkValidity = () => {
@@ -1729,7 +1774,6 @@ const MgInputNumeric = class {
1729
1774
  };
1730
1775
  /**
1731
1776
  * Set input error message
1732
- *
1733
1777
  * @returns {void}
1734
1778
  */
1735
1779
  this.setErrorMessage = () => {
@@ -1747,27 +1791,27 @@ const MgInputNumeric = class {
1747
1791
  };
1748
1792
  /**
1749
1793
  * Get input error code
1750
- *
1751
1794
  * @returns {null | InputError} error code
1752
1795
  */
1753
1796
  this.getInputError = () => {
1754
1797
  let inputError = null;
1755
- if (this.input === undefined || this.input === null)
1798
+ const hasNotEmptyValues = (toControl) => !toControl.some(value => [null, undefined].includes(value));
1799
+ if (!hasNotEmptyValues([this.input]))
1756
1800
  return inputError;
1757
1801
  // required
1758
1802
  if (!this.input.checkValidity() && this.input.validity.valueMissing) {
1759
1803
  inputError = InputError.REQUIRED;
1760
1804
  }
1761
1805
  // Min & Max
1762
- else if (this.min !== undefined && this.numericValue < this.min && this.max === undefined) {
1806
+ else if (hasNotEmptyValues([this.min, this.numericValue]) && this.numericValue < this.min && this.max === undefined) {
1763
1807
  // Only a min value is set
1764
1808
  inputError = InputError.MIN;
1765
1809
  }
1766
- else if (this.max !== undefined && this.numericValue > this.max && this.min === undefined) {
1810
+ else if (hasNotEmptyValues([this.max, this.numericValue]) && this.numericValue > this.max && this.min === undefined) {
1767
1811
  // Only a max value is set
1768
1812
  inputError = InputError.MAX;
1769
1813
  }
1770
- else if ((this.min !== undefined && this.numericValue < this.min) || (this.max !== undefined && this.numericValue > this.max)) {
1814
+ else if (hasNotEmptyValues([this.min, this.max, this.numericValue]) && (this.numericValue < this.min || this.numericValue > this.max)) {
1771
1815
  // both min and max values are set
1772
1816
  inputError = InputError.MINMAX;
1773
1817
  }
@@ -1775,14 +1819,12 @@ const MgInputNumeric = class {
1775
1819
  };
1776
1820
  /**
1777
1821
  * Format value based on type
1778
- *
1779
1822
  * @param {number} value value to format
1780
1823
  * @returns {string} formated local value
1781
1824
  */
1782
1825
  this.formatValue = (value) => (this.type === 'currency' ? localeCurrency(value, this.locale, this.currency) : localeNumber(value, this.locale));
1783
1826
  /**
1784
1827
  * Validate append slot
1785
- *
1786
1828
  * @returns {void}
1787
1829
  */
1788
1830
  this.validateAppendSlot = () => {
@@ -1817,7 +1859,8 @@ const MgInputNumeric = class {
1817
1859
  this.hasFocus = false;
1818
1860
  }
1819
1861
  validateValue(newValue) {
1820
- if (newValue !== undefined && newValue !== null) {
1862
+ // has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
1863
+ if (typeof newValue === 'string') {
1821
1864
  // Split number and decimal
1822
1865
  const [integer, decimal = ''] = newValue.replace('-', '').split(/[\.,]/);
1823
1866
  // Regex
@@ -1837,7 +1880,7 @@ const MgInputNumeric = class {
1837
1880
  if (this.input !== undefined)
1838
1881
  this.input.value = this.value;
1839
1882
  // emit numeric value
1840
- this.numericValue = this.value !== '' && this.value !== null ? parseFloat(this.value.replace(',', '.')) : null;
1883
+ this.numericValue = !['', null].includes(this.value) ? parseFloat(this.value.replace(',', '.')) : null;
1841
1884
  this.valueChange.emit(this.numericValue);
1842
1885
  // Set readonlyValue
1843
1886
  this.readonlyValue = this.numericValue !== null ? this.formatValue(this.numericValue) : '';
@@ -1870,7 +1913,6 @@ const MgInputNumeric = class {
1870
1913
  }
1871
1914
  /**
1872
1915
  * Public method to display errors
1873
- *
1874
1916
  * @returns {Promise<void>}
1875
1917
  */
1876
1918
  async displayError() {
@@ -1881,8 +1923,7 @@ const MgInputNumeric = class {
1881
1923
  /**
1882
1924
  * Displayed value in input
1883
1925
  * Change on focus/blur
1884
- *
1885
- * @returns {string} display value
1926
+ * @returns {MgInputNumeric['value'] | MgInputNumeric['readonlyValue']} display value
1886
1927
  */
1887
1928
  displayValue() {
1888
1929
  return this.hasFocus ? this.value : this.readonlyValue;
@@ -1892,7 +1933,6 @@ const MgInputNumeric = class {
1892
1933
  *************/
1893
1934
  /**
1894
1935
  * Check if component props are well configured on init
1895
- *
1896
1936
  * @returns {ReturnType<typeof setTimeout>} timeout
1897
1937
  */
1898
1938
  componentWillLoad() {
@@ -1900,11 +1940,12 @@ const MgInputNumeric = class {
1900
1940
  const locales = initLocales(this.element);
1901
1941
  this.locale = locales.locale;
1902
1942
  this.messages = locales.messages;
1903
- // Validate
1904
- this.validateValue(this.value);
1943
+ // Validate component config
1905
1944
  this.validateType(this.type);
1906
1945
  this.validateIntegerLength(this.integerLength);
1907
1946
  this.validateDecimalLength(this.decimalLength);
1947
+ // validate value
1948
+ this.validateValue(this.value);
1908
1949
  this.validateAppendSlot();
1909
1950
  // Check validity when component is ready
1910
1951
  // return a promise to process action only in the FIRST render().
@@ -1915,7 +1956,6 @@ const MgInputNumeric = class {
1915
1956
  }
1916
1957
  /**
1917
1958
  * Render
1918
- *
1919
1959
  * @returns {HTMLElement} HTML Element
1920
1960
  */
1921
1961
  render() {
@@ -2016,7 +2056,6 @@ const MgInputPassword = class {
2016
2056
  }
2017
2057
  /**
2018
2058
  * Public method to display errors
2019
- *
2020
2059
  * @returns {Promise<void>}
2021
2060
  */
2022
2061
  async displayError() {
@@ -2029,7 +2068,6 @@ const MgInputPassword = class {
2029
2068
  *************/
2030
2069
  /**
2031
2070
  * Check if component props are well configured on init
2032
- *
2033
2071
  * @returns {ReturnType<typeof setTimeout>} timeout
2034
2072
  */
2035
2073
  componentWillLoad() {
@@ -2044,7 +2082,6 @@ const MgInputPassword = class {
2044
2082
  }
2045
2083
  /**
2046
2084
  * Render
2047
- *
2048
2085
  * @returns {HTMLElement} HTML Element
2049
2086
  */
2050
2087
  render() {
@@ -2067,7 +2104,6 @@ const mgInputRadioCss = ":host{display:block}.mg-input{display:flex;align-items:
2067
2104
 
2068
2105
  /**
2069
2106
  * type Option validation function
2070
- *
2071
2107
  * @param {RadioOption} option radio option
2072
2108
  * @returns {boolean} radio option type is valid
2073
2109
  */
@@ -2086,7 +2122,6 @@ const MgInputRadio = class {
2086
2122
  this.hasDisplayedError = false;
2087
2123
  /**
2088
2124
  * Handle input event
2089
- *
2090
2125
  * @param {event} event input event
2091
2126
  * @returns {void}
2092
2127
  */
@@ -2096,7 +2131,6 @@ const MgInputRadio = class {
2096
2131
  };
2097
2132
  /**
2098
2133
  * Handle blur event
2099
- *
2100
2134
  * @returns {void}
2101
2135
  */
2102
2136
  this.handleBlur = () => {
@@ -2105,7 +2139,6 @@ const MgInputRadio = class {
2105
2139
  };
2106
2140
  /**
2107
2141
  * Check if input is valid
2108
- *
2109
2142
  * @returns {void}
2110
2143
  */
2111
2144
  this.checkValidity = () => {
@@ -2116,7 +2149,6 @@ const MgInputRadio = class {
2116
2149
  };
2117
2150
  /**
2118
2151
  * Set input error message
2119
- *
2120
2152
  * @returns {void}
2121
2153
  */
2122
2154
  this.setErrorMessage = () => {
@@ -2129,7 +2161,6 @@ const MgInputRadio = class {
2129
2161
  };
2130
2162
  /**
2131
2163
  * get invalid element
2132
- *
2133
2164
  * @returns {HTMLInputElement} element
2134
2165
  */
2135
2166
  this.getInvalidElement = () => this.inputs.find((input) => !input.disabled && !input.readOnly && !input.checkValidity());
@@ -2184,7 +2215,6 @@ const MgInputRadio = class {
2184
2215
  }
2185
2216
  /**
2186
2217
  * Public method to display errors
2187
- *
2188
2218
  * @returns {Promise<void>}
2189
2219
  */
2190
2220
  async displayError() {
@@ -2197,7 +2227,6 @@ const MgInputRadio = class {
2197
2227
  *************/
2198
2228
  /**
2199
2229
  * Check if component props are well configured on init
2200
- *
2201
2230
  * @returns {ReturnType<typeof setTimeout>} timeout
2202
2231
  */
2203
2232
  componentWillLoad() {
@@ -2214,7 +2243,6 @@ const MgInputRadio = class {
2214
2243
  }
2215
2244
  /**
2216
2245
  * Render
2217
- *
2218
2246
  * @returns {HTMLElement} HTML Element
2219
2247
  */
2220
2248
  render() {
@@ -2238,28 +2266,24 @@ const mgInputSelectCss = ":host{display:block}.mg-input{display:flex;align-items
2238
2266
 
2239
2267
  /**
2240
2268
  * Check if item is a well configured option
2241
- *
2242
2269
  * @param {unknown} option select option
2243
2270
  * @returns {boolean} select option type is valid
2244
2271
  */
2245
2272
  const isOption$1 = (option) => typeof option === 'object' && typeof option.title === 'string';
2246
2273
  /**
2247
2274
  * Check if items[] is SelectOption
2248
- *
2249
2275
  * @param {unknown[]} items select option
2250
2276
  * @returns {boolean} select option array type is valid
2251
2277
  */
2252
2278
  const allItemsAreOptions = (items) => Array.isArray(items) && items.every(item => isOption$1(item));
2253
2279
  /**
2254
2280
  * Check if item is a well configured optgroup
2255
- *
2256
2281
  * @param {unknown} optgroup select option
2257
2282
  * @returns {boolean} select optgroup type is valid
2258
2283
  */
2259
2284
  const isOptGroup = (optgroup) => typeof optgroup === 'object' && typeof optgroup.group === 'string' && allItemsAreOptions(optgroup.options);
2260
2285
  /**
2261
2286
  * Group options
2262
- *
2263
2287
  * @param {(SelectOption | OptGroup)[]} acc reduce accumulator
2264
2288
  * @param {SelectOption} item item to add
2265
2289
  * @param {string} item.group item group
@@ -2295,7 +2319,6 @@ const MgInputSelect = class {
2295
2319
  this.hasDisplayedError = false;
2296
2320
  /**
2297
2321
  * Handle input event
2298
- *
2299
2322
  * @returns {void}
2300
2323
  */
2301
2324
  this.handleInput = () => {
@@ -2305,14 +2328,12 @@ const MgInputSelect = class {
2305
2328
  };
2306
2329
  /**
2307
2330
  * Method to compare item.title with input.value
2308
- *
2309
2331
  * @param {SelectOption} item item to compare with
2310
2332
  * @returns {boolean} truthy if input.value is an item
2311
2333
  */
2312
2334
  this.isInputValue = (item) => { var _a; return item.title === ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value); };
2313
2335
  /**
2314
2336
  * value props setter
2315
- *
2316
2337
  * @param {MgInputSelect['value']} newValue value to update with
2317
2338
  * @returns {void}
2318
2339
  */
@@ -2322,7 +2343,6 @@ const MgInputSelect = class {
2322
2343
  };
2323
2344
  /**
2324
2345
  * Update value from input.value
2325
- *
2326
2346
  * @returns {void}
2327
2347
  */
2328
2348
  this.updateValue = () => {
@@ -2349,7 +2369,6 @@ const MgInputSelect = class {
2349
2369
  };
2350
2370
  /**
2351
2371
  * Input value is disabled
2352
- *
2353
2372
  * @returns {boolean} truthy if input value is disabled
2354
2373
  */
2355
2374
  this.isDisabledValue = () => { var _a; return allItemsAreOptions(this.options) && ((_a = this.options.find(this.isInputValue)) === null || _a === void 0 ? void 0 : _a.disabled) === true; };
@@ -2375,7 +2394,6 @@ const MgInputSelect = class {
2375
2394
  };
2376
2395
  /**
2377
2396
  * Render option
2378
- *
2379
2397
  * @param {SelectOption} option to render
2380
2398
  * @returns {HTMLElement} render option
2381
2399
  */
@@ -2456,7 +2474,6 @@ const MgInputSelect = class {
2456
2474
  }
2457
2475
  /**
2458
2476
  * Public method to display errors
2459
- *
2460
2477
  * @returns {Promise<void>}
2461
2478
  */
2462
2479
  async displayError() {
@@ -2469,7 +2486,6 @@ const MgInputSelect = class {
2469
2486
  *************/
2470
2487
  /**
2471
2488
  * Check if component props are well configured on init
2472
- *
2473
2489
  * @returns {ReturnType<typeof setTimeout>} timeout
2474
2490
  */
2475
2491
  componentWillLoad() {
@@ -2491,7 +2507,6 @@ const MgInputSelect = class {
2491
2507
  }
2492
2508
  /**
2493
2509
  * Render
2494
- *
2495
2510
  * @returns {HTMLElement} HTML Element
2496
2511
  */
2497
2512
  render() {
@@ -2530,7 +2545,6 @@ const MgInputText = class {
2530
2545
  this.hasDisplayedError = false;
2531
2546
  /**
2532
2547
  * Handle input event
2533
- *
2534
2548
  * @returns {void}
2535
2549
  */
2536
2550
  this.handleInput = () => {
@@ -2542,7 +2556,6 @@ const MgInputText = class {
2542
2556
  };
2543
2557
  /**
2544
2558
  * Handle focus event
2545
- *
2546
2559
  * @returns {void}
2547
2560
  */
2548
2561
  this.handleFocus = () => {
@@ -2551,7 +2564,6 @@ const MgInputText = class {
2551
2564
  };
2552
2565
  /**
2553
2566
  * Handle blur event
2554
- *
2555
2567
  * @returns {void}
2556
2568
  */
2557
2569
  this.handleBlur = () => {
@@ -2563,7 +2575,6 @@ const MgInputText = class {
2563
2575
  };
2564
2576
  /**
2565
2577
  * Check if input is valid
2566
- *
2567
2578
  * @returns {void}
2568
2579
  */
2569
2580
  this.checkValidity = () => {
@@ -2575,7 +2586,6 @@ const MgInputText = class {
2575
2586
  };
2576
2587
  /**
2577
2588
  * Set input error message
2578
- *
2579
2589
  * @returns {void}
2580
2590
  */
2581
2591
  this.setErrorMessage = () => {
@@ -2592,11 +2602,10 @@ const MgInputText = class {
2592
2602
  };
2593
2603
  /**
2594
2604
  * Validate pattern configuration
2595
- *
2596
2605
  * @returns {void}
2597
2606
  */
2598
2607
  this.validatePattern = () => {
2599
- if (this.pattern &&
2608
+ if (this.pattern !== undefined &&
2600
2609
  typeof this.pattern === 'string' &&
2601
2610
  this.pattern !== '' &&
2602
2611
  (this.patternErrorMessage === undefined || typeof this.patternErrorMessage !== 'string' || this.patternErrorMessage === '')) {
@@ -2605,7 +2614,6 @@ const MgInputText = class {
2605
2614
  };
2606
2615
  /**
2607
2616
  * Validate append slot
2608
- *
2609
2617
  * @returns {void}
2610
2618
  */
2611
2619
  this.validateAppendSlot = () => {
@@ -2665,7 +2673,6 @@ const MgInputText = class {
2665
2673
  }
2666
2674
  /**
2667
2675
  * Public method to play input focus
2668
- *
2669
2676
  * @returns {Promise<void>}
2670
2677
  */
2671
2678
  async setFocus() {
@@ -2673,7 +2680,6 @@ const MgInputText = class {
2673
2680
  }
2674
2681
  /**
2675
2682
  * Public method to display errors
2676
- *
2677
2683
  * @returns {Promise<void>}
2678
2684
  */
2679
2685
  async displayError() {
@@ -2686,7 +2692,6 @@ const MgInputText = class {
2686
2692
  *************/
2687
2693
  /**
2688
2694
  * Check if component props are well configured on init
2689
- *
2690
2695
  * @returns {ReturnType<typeof setTimeout>} timeout
2691
2696
  */
2692
2697
  componentWillLoad() {
@@ -2706,7 +2711,6 @@ const MgInputText = class {
2706
2711
  }
2707
2712
  /**
2708
2713
  * Render
2709
- *
2710
2714
  * @returns {HTMLElement} HTML Element
2711
2715
  */
2712
2716
  render() {
@@ -2775,7 +2779,6 @@ const MgInputTextarea = class {
2775
2779
  /**
2776
2780
  * Get pattern validity
2777
2781
  * Pattern is not defined on textarea field: https://developer.mozilla.org/fr/docs/Web/HTML/Element/Textarea
2778
- *
2779
2782
  * @returns {boolean} is pattern valid
2780
2783
  */
2781
2784
  this.getPatternValidity = () => this.pattern === undefined || new RegExp(`^${this.pattern}$`, 'u').test(this.value);
@@ -2808,7 +2811,7 @@ const MgInputTextarea = class {
2808
2811
  * Validate pattern configuration
2809
2812
  */
2810
2813
  this.validatePattern = () => {
2811
- if (this.pattern &&
2814
+ if (this.pattern !== undefined &&
2812
2815
  typeof this.pattern === 'string' &&
2813
2816
  this.pattern !== '' &&
2814
2817
  (this.patternErrorMessage === undefined || typeof this.patternErrorMessage !== 'string' || this.patternErrorMessage === '')) {
@@ -2863,7 +2866,6 @@ const MgInputTextarea = class {
2863
2866
  }
2864
2867
  /**
2865
2868
  * Public method to display errors
2866
- *
2867
2869
  * @returns {Promise<void>}
2868
2870
  */
2869
2871
  async displayError() {
@@ -2876,7 +2878,6 @@ const MgInputTextarea = class {
2876
2878
  *************/
2877
2879
  /**
2878
2880
  * Check if component props are well configured on init
2879
- *
2880
2881
  * @returns {ReturnType<typeof setTimeout>} timeout
2881
2882
  */
2882
2883
  componentWillLoad() {
@@ -2895,7 +2896,6 @@ const MgInputTextarea = class {
2895
2896
  }
2896
2897
  /**
2897
2898
  * Render
2898
- *
2899
2899
  * @returns {HTMLElement} HTML Element
2900
2900
  */
2901
2901
  render() {
@@ -2943,7 +2943,6 @@ const MgInputTitle = class {
2943
2943
  *************/
2944
2944
  /**
2945
2945
  * Init tag name
2946
- *
2947
2946
  * @returns {void}
2948
2947
  */
2949
2948
  componentWillLoad() {
@@ -2952,7 +2951,6 @@ const MgInputTitle = class {
2952
2951
  }
2953
2952
  /**
2954
2953
  * Render
2955
- *
2956
2954
  * @returns {HTMLElement} HTML Element
2957
2955
  */
2958
2956
  render() {
@@ -2970,7 +2968,6 @@ const mgInputToggleCss = ":host{display:block}.mg-input{display:flex;align-items
2970
2968
 
2971
2969
  /**
2972
2970
  * type Option validation function
2973
- *
2974
2971
  * @param {ToggleValue} option radio option
2975
2972
  * @returns {boolean} toggle option type is valid
2976
2973
  */
@@ -2991,7 +2988,6 @@ const MgInputToggle = class {
2991
2988
  this.classIcon = 'mg-input--toggle-icon';
2992
2989
  /**
2993
2990
  * Change checked value
2994
- *
2995
2991
  * @returns {void}
2996
2992
  */
2997
2993
  this.toggleChecked = () => {
@@ -2999,7 +2995,6 @@ const MgInputToggle = class {
2999
2995
  };
3000
2996
  /**
3001
2997
  * Slots validation
3002
- *
3003
2998
  * @returns {void}
3004
2999
  */
3005
3000
  this.validateSlots = () => {
@@ -3087,7 +3082,6 @@ const MgInputToggle = class {
3087
3082
  }
3088
3083
  /**
3089
3084
  * set checked state
3090
- *
3091
3085
  * @returns {void}
3092
3086
  */
3093
3087
  setChecked() {
@@ -3130,7 +3124,6 @@ const MgInputToggle = class {
3130
3124
  }
3131
3125
  /**
3132
3126
  * Render
3133
- *
3134
3127
  * @returns {HTMLElement} HTML Element
3135
3128
  */
3136
3129
  render() {
@@ -3165,7 +3158,6 @@ const MgMenu = class {
3165
3158
  *************/
3166
3159
  /**
3167
3160
  * Close matching menu-item
3168
- *
3169
3161
  * @param {HTMLElement} item menu-item to close
3170
3162
  * @param {boolean} condition addionnal condition
3171
3163
  * @returns {void}
@@ -3177,19 +3169,16 @@ const MgMenu = class {
3177
3169
  };
3178
3170
  /**
3179
3171
  * get mg-item-more element
3180
- *
3181
3172
  * @returns {HTMLMgItemMoreElement} mg-item-more element
3182
3173
  */
3183
3174
  this.getItemMore = () => this.element.querySelector('mg-item-more');
3184
3175
  /**
3185
3176
  * get mg-item-more >>> mg-menu-item element
3186
- *
3187
3177
  * @returns {HTMLMgMenuItemElement} mg-item-more >>> mg-menu-item element
3188
3178
  */
3189
3179
  this.getItemMoreMenuItem = () => { var _a, _b; return (_b = (_a = this.getItemMore()) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('mg-menu-item'); };
3190
3180
  /**
3191
3181
  * Set item listend
3192
- *
3193
3182
  * @param {HTMLMgMenuItemElement} item mg-menu-item element
3194
3183
  * @param {MgMenu['focusedMenuItem']} index number
3195
3184
  * @returns {void}
@@ -3207,7 +3196,6 @@ const MgMenu = class {
3207
3196
  };
3208
3197
  /**
3209
3198
  * Store menu-items on component init and add listeners
3210
- *
3211
3199
  * @returns {void}
3212
3200
  */
3213
3201
  this.initMenuItemsListeners = () => {
@@ -3218,7 +3206,6 @@ const MgMenu = class {
3218
3206
  };
3219
3207
  /**
3220
3208
  * Handle item-loaded event on mg-item-more element
3221
- *
3222
3209
  * @returns {void}
3223
3210
  */
3224
3211
  this.handleItemLoaded = () => {
@@ -3226,7 +3213,6 @@ const MgMenu = class {
3226
3213
  };
3227
3214
  /**
3228
3215
  * render mg-item-more
3229
- *
3230
3216
  * @returns {void}
3231
3217
  */
3232
3218
  this.renderMgItemMore = () => {
@@ -3269,7 +3255,6 @@ const MgMenu = class {
3269
3255
  *************/
3270
3256
  /**
3271
3257
  * Validate props
3272
- *
3273
3258
  * @returns {void}
3274
3259
  */
3275
3260
  componentWillLoad() {
@@ -3280,7 +3265,6 @@ const MgMenu = class {
3280
3265
  }
3281
3266
  /**
3282
3267
  * Check if component slots configuration
3283
- *
3284
3268
  * @returns {ReturnType<typeof setTimeout>} timeout
3285
3269
  */
3286
3270
  componentDidLoad() {
@@ -3311,7 +3295,6 @@ const MgMenu = class {
3311
3295
  }
3312
3296
  /**
3313
3297
  * Add listeners to items
3314
- *
3315
3298
  * @returns {void}
3316
3299
  */
3317
3300
  componentDidRender() {
@@ -3319,7 +3302,6 @@ const MgMenu = class {
3319
3302
  }
3320
3303
  /**
3321
3304
  * Render
3322
- *
3323
3305
  * @returns {HTMLElement} HTML Element
3324
3306
  */
3325
3307
  render() {
@@ -3335,7 +3317,7 @@ const MgMenu = class {
3335
3317
  };
3336
3318
  MgMenu.style = mgMenuCss;
3337
3319
 
3338
- const mgMenuItemCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding:1rem 2rem;height:3.8rem}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding:1rem 3rem;height:5.1rem}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding:1rem 4rem;height:7.1rem}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--vertical{padding-left:calc(4rem - 0.3rem)}.mg-menu-item__navigation-button{display:flex;align-items:center;column-gap:var(--mg-menu-item-navigation-button-column-gap, 1rem);background-color:unset;border:none;font-family:var(--font-family);font-weight:400;color:hsl(var(--mg-menu-item-color-hsl, var(--color-dark)));line-height:var(--line-height);text-decoration:none;white-space:nowrap;box-sizing:border-box;cursor:pointer}.mg-menu-item__navigation-button:disabled,.mg-menu-item__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-menu-item__navigation-button:focus-visible{z-index:10}.mg-menu-item__navigation-button:hover:not(.mg-menu-item__navigation-button--disabled),.mg-menu-item__navigation-button:focus-visible:not(.mg-menu-item__navigation-button--disabled){background-color:hsl(var(--mg-menu-item-focused-background-color-hsl), 0.1)}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active{color:hsl(var(--mg-menu-item-color-active-hsl));font-weight:600}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--vertical{border-left-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--hidden{display:none}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal{border-bottom:0.3rem solid transparent}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical{border-left:0.3rem solid transparent}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(1 * 2rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(2 * 2rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(3 * 2rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(4 * 2rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(5 * 2rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(6 * 2rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(1 * 3rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(2 * 3rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(3 * 3rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(4 * 3rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(5 * 3rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(6 * 3rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(1 * 4rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(2 * 4rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(3 * 4rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(4 * 4rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(5 * 4rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(6 * 4rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host{position:relative;display:flex;--mg-popover-padding-vertical:0;--mg-popover-padding-horizontal:0}:host([data-style-direction-vertical]){flex-direction:column}:host([data-style-direction-vertical]) .mg-menu-item__navigation-button{width:100%}:host([data-style-direction-vertical]) .mg-menu-item__collapse-container{left:unset;top:unset;position:unset;width:unset}:host([data-style-direction-vertical]) .mg-menu-item-chevron{margin-left:auto}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level,:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level{background-color:hsl(var(--color-light))}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu),:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu){padding:1rem 0}:host([data-overflow-more]){--mg-menu-item-navigation-button-column-gap:0}:host([data-overflow-more]) .mg-menu-item__navigation-button-chevron{display:none}:host([data-overflow-more]) .mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:0}:host([data-overflow-more]) ::slotted(mg-menu){--mg-menu-item-navigation-button-column-gap:1rem}.mg-menu-item{max-width:var(--mg-menu-item-navigation-button-max-width)}.mg-menu-item__collapse-container{width:max-content;z-index:10}.mg-menu-item__navigation-button-center{min-width:0}.mg-menu-item__navigation-button-text-content{width:100%;display:flex;align-items:center}.mg-menu-item__navigation-button-text-content-notification,.mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:1rem;font-size:var(--font-size)}.mg-menu-item__navigation-button-chevron{margin-left:auto;transition:200ms}.mg-menu-item__navigation-button-chevron--rotate.mg-menu-item__navigation-button-chevron{transform:rotate(180deg)}::slotted([slot=label]),::slotted([slot=metadata]){display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::slotted(*){display:flex;flex-direction:column}:host([status=disabled]){pointer-events:none}:host([hidden]){display:none}";
3320
+ const mgMenuItemCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding:1rem 2rem;height:3.8rem}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-regular .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular.mg-menu-item__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding:1rem 3rem;height:5.1rem}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-medium .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium.mg-menu-item__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding:1rem 4rem;height:7.1rem}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button,.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=label]),.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button ::slotted([slot=metadata]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=label]),.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-menu-item.mg-menu-item--size-large .mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical,.mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large.mg-menu-item__navigation-button--vertical{padding-left:calc(4rem - 0.3rem)}.mg-menu-item__navigation-button{display:flex;align-items:center;column-gap:var(--mg-menu-item-navigation-button-column-gap, 1rem);background-color:unset;border:none;font-family:var(--font-family);font-weight:400;color:hsl(var(--mg-menu-item-color-hsl, var(--color-dark)));line-height:var(--line-height);text-decoration:none;white-space:nowrap;box-sizing:border-box;cursor:pointer}.mg-menu-item__navigation-button:disabled,.mg-menu-item__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-menu-item__navigation-button:focus-visible{z-index:10}.mg-menu-item__navigation-button:hover:not(.mg-menu-item__navigation-button--disabled),.mg-menu-item__navigation-button:focus-visible:not(.mg-menu-item__navigation-button--disabled){background-color:hsl(var(--mg-menu-item-focused-background-color-hsl), 0.1)}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active{color:hsl(var(--mg-menu-item-color-active-hsl));font-weight:600}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active.mg-menu-item__navigation-button--vertical{border-left-color:hsl(var(--mg-menu-item-border-color-active-hsl))}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--hidden{display:none}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--horizontal{border-bottom:0.3rem solid transparent}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--vertical{border-left:0.3rem solid transparent}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(1 * 2rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(2 * 2rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(3 * 2rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(4 * 2rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(5 * 2rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-regular{padding-left:calc(6 * 2rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(1 * 3rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(2 * 3rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(3 * 3rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(4 * 3rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(5 * 3rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-medium{padding-left:calc(6 * 3rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host([data-style-direction-vertical][data-level=\"1\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(1 * 4rem - 0.3rem)}:host([data-level=\"1\"]) .mg-menu-item__collapse-container{z-index:calc(1 * 10)}:host([data-style-direction-vertical][data-level=\"2\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(2 * 4rem - 0.3rem)}:host([data-level=\"2\"]) .mg-menu-item__collapse-container{z-index:calc(2 * 10)}:host([data-style-direction-vertical][data-level=\"3\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(3 * 4rem - 0.3rem)}:host([data-level=\"3\"]) .mg-menu-item__collapse-container{z-index:calc(3 * 10)}:host([data-style-direction-vertical][data-level=\"4\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(4 * 4rem - 0.3rem)}:host([data-level=\"4\"]) .mg-menu-item__collapse-container{z-index:calc(4 * 10)}:host([data-style-direction-vertical][data-level=\"5\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(5 * 4rem - 0.3rem)}:host([data-level=\"5\"]) .mg-menu-item__collapse-container{z-index:calc(5 * 10)}:host([data-style-direction-vertical][data-level=\"6\"]) .mg-menu-item__navigation-button.mg-menu-item__navigation-button--size-large{padding-left:calc(6 * 4rem - 0.3rem)}:host([data-level=\"6\"]) .mg-menu-item__collapse-container{z-index:calc(6 * 10)}:host{position:relative;display:flex;--mg-popover-padding-vertical:0;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}:host([data-style-direction-vertical]){flex-direction:column}:host([data-style-direction-vertical]) .mg-menu-item__navigation-button{width:100%}:host([data-style-direction-vertical]) .mg-menu-item__collapse-container{left:unset;top:unset;position:unset;width:unset}:host([data-style-direction-vertical]) .mg-menu-item-chevron{margin-left:auto}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level,:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level{background-color:hsl(var(--color-light))}:host([data-style-direction-horizontal]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu),:host([data-overflow-more]) .mg-menu-item__collapse-container.mg-menu-item__collapse-container--first-level ::slotted(mg-menu){padding:1rem 0}:host([data-overflow-more]){--mg-menu-item-navigation-button-column-gap:0}:host([data-overflow-more]) .mg-menu-item__navigation-button-chevron{display:none}:host([data-overflow-more]) .mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:0}:host([data-overflow-more]) ::slotted(mg-menu){--mg-menu-item-navigation-button-column-gap:1rem}.mg-menu-item{max-width:var(--mg-menu-item-navigation-button-max-width)}.mg-menu-item__collapse-container{width:max-content;z-index:10}.mg-menu-item__navigation-button-center{min-width:0}.mg-menu-item__navigation-button-text-content{width:100%;display:flex;align-items:center}.mg-menu-item__navigation-button-text-content-notification,.mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:1rem;font-size:var(--font-size)}.mg-menu-item__navigation-button-chevron{margin-left:auto;transition:200ms}.mg-menu-item__navigation-button-chevron--rotate.mg-menu-item__navigation-button-chevron{transform:rotate(180deg)}::slotted([slot=label]),::slotted([slot=metadata]){display:block;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::slotted(*){display:flex;flex-direction:column}:host([status=disabled]){pointer-events:none}:host([hidden]){display:none}";
3339
3321
 
3340
3322
  const MgMenuItem = class {
3341
3323
  constructor(hostRef) {
@@ -3352,7 +3334,6 @@ const MgMenuItem = class {
3352
3334
  **********/
3353
3335
  /**
3354
3336
  * Toggle expanded prop value
3355
- *
3356
3337
  * @returns {void}
3357
3338
  */
3358
3339
  this.toggleExpanded = () => {
@@ -3360,7 +3341,6 @@ const MgMenuItem = class {
3360
3341
  };
3361
3342
  /**
3362
3343
  * Does an Element have given Status
3363
- *
3364
3344
  * @param {HTMLMgMenuItemElement} mgMenuItemElement to parse
3365
3345
  * @param {MgMenuItem['status']} status to check
3366
3346
  * @returns {boolean} true if element with status is found
@@ -3368,7 +3348,6 @@ const MgMenuItem = class {
3368
3348
  this.hasStatus = (mgMenuItemElement, status) => mgMenuItemElement.status === status;
3369
3349
  /**
3370
3350
  * Is component contextual direction match the given direction
3371
- *
3372
3351
  * @param {MgMenuItem['direction']} direction in parent menu
3373
3352
  * @param {MgMenuItem['direction']} compareWith direction to compare with. Default: `this.direction`
3374
3353
  * @returns {boolean} true is direction match the direction propertie
@@ -3377,7 +3356,6 @@ const MgMenuItem = class {
3377
3356
  /**
3378
3357
  * Update displayNotificationBadge
3379
3358
  * current component notification badge have priority over the slot badge when submenu contain badge
3380
- *
3381
3359
  * @returns {void} update displayNotificationBadge value
3382
3360
  */
3383
3361
  this.updateDisplayNotificationBadge = () => {
@@ -3388,7 +3366,6 @@ const MgMenuItem = class {
3388
3366
  };
3389
3367
  /**
3390
3368
  * Method to control if one of component children have active status
3391
- *
3392
3369
  * @returns {boolean} truthy if component has active child
3393
3370
  */
3394
3371
  this.hasActiveChild = () => {
@@ -3397,7 +3374,6 @@ const MgMenuItem = class {
3397
3374
  };
3398
3375
  /**
3399
3376
  * Validate slots
3400
- *
3401
3377
  * @param {boolean} guard prevent action whith guard. Default: false.
3402
3378
  * @returns {void}
3403
3379
  */
@@ -3417,7 +3393,6 @@ const MgMenuItem = class {
3417
3393
  };
3418
3394
  /**
3419
3395
  * Update status
3420
- *
3421
3396
  * @param {Status[]} guard status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
3422
3397
  * @returns {void}
3423
3398
  */
@@ -3428,7 +3403,6 @@ const MgMenuItem = class {
3428
3403
  };
3429
3404
  /**
3430
3405
  * Init event-listeners
3431
- *
3432
3406
  * @returns {void}
3433
3407
  */
3434
3408
  this.initListeners = () => {
@@ -3445,13 +3419,11 @@ const MgMenuItem = class {
3445
3419
  };
3446
3420
  /**
3447
3421
  * Get mg-popover identifier
3448
- *
3449
3422
  * @returns {MgPopover['identifier']} generated mg-popover identifier
3450
3423
  */
3451
3424
  this.getPopoverIdentifier = () => `${this.identifier}-popover`;
3452
3425
  /**
3453
3426
  * Condition to know if component should display a mg-popover
3454
- *
3455
3427
  * @returns {boolean} truthy if component display popover
3456
3428
  */
3457
3429
  this.displayPopover = () => this.isDirection(Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
@@ -3460,7 +3432,6 @@ const MgMenuItem = class {
3460
3432
  ************/
3461
3433
  /**
3462
3434
  * Handle interacrtive element click
3463
- *
3464
3435
  * @param {MouseEvent} event click on element
3465
3436
  * @returns {void}
3466
3437
  */
@@ -3475,7 +3446,6 @@ const MgMenuItem = class {
3475
3446
  };
3476
3447
  /**
3477
3448
  * Handle popover element display-change event
3478
- *
3479
3449
  * @param {CustomEvent} event popover display event
3480
3450
  * @returns {void}
3481
3451
  */
@@ -3484,7 +3454,6 @@ const MgMenuItem = class {
3484
3454
  };
3485
3455
  /**
3486
3456
  * Render slot
3487
- *
3488
3457
  * @returns {HTMLElement} HTML Element
3489
3458
  */
3490
3459
  this.renderSlot = () => h("slot", null);
@@ -3551,7 +3520,6 @@ const MgMenuItem = class {
3551
3520
  }
3552
3521
  /**
3553
3522
  * Render popover clickoutside guard for content slot
3554
- *
3555
3523
  * @returns {void}
3556
3524
  */
3557
3525
  updatePopoverGuard() {
@@ -3565,7 +3533,6 @@ const MgMenuItem = class {
3565
3533
  *************/
3566
3534
  /**
3567
3535
  * Validate props
3568
- *
3569
3536
  * @returns {void}
3570
3537
  */
3571
3538
  componentWillLoad() {
@@ -3582,7 +3549,6 @@ const MgMenuItem = class {
3582
3549
  }
3583
3550
  /**
3584
3551
  * Check if component slots configuration
3585
- *
3586
3552
  * @returns {ReturnType<typeof setTimeout>} timeout
3587
3553
  */
3588
3554
  componentDidLoad() {
@@ -3622,7 +3588,6 @@ const MgMenuItem = class {
3622
3588
  }
3623
3589
  /**
3624
3590
  * Render ineractive element
3625
- *
3626
3591
  * @returns {HTMLElement} HTML Element
3627
3592
  */
3628
3593
  renderInteractiveElement() {
@@ -3631,11 +3596,10 @@ const MgMenuItem = class {
3631
3596
  [`${this.navigationButton}-chevron`]: true,
3632
3597
  [`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
3633
3598
  'mg-a11y-animation': true,
3634
- } }, h("mg-icon", { icon: "chevron-down" })))));
3599
+ } }, h("mg-icon", { icon: "chevron-down", size: "small" })))));
3635
3600
  }
3636
3601
  /**
3637
3602
  * Render
3638
- *
3639
3603
  * @returns {HTMLElement} HTML Element
3640
3604
  */
3641
3605
  render() {
@@ -3664,7 +3628,7 @@ MgMenuItem.style = mgMenuItemCss;
3664
3628
  */
3665
3629
  const variants$1 = ['info', 'warning', 'success', 'danger'];
3666
3630
 
3667
- const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}.mg-message{display:inline-block;min-height:var(--default-size)}.mg-message__bar{position:absolute;top:0;left:0;width:0.3rem;height:100%}.mg-message.mg-message--info .mg-message__bar{background-color:hsl(var(--color-info))}.mg-message.mg-message--info .mg-message__icon{color:hsl(var(--color-info))}.mg-message.mg-message--warning .mg-message__bar{background-color:hsl(var(--color-warning))}.mg-message.mg-message--warning .mg-message__icon{color:hsl(var(--color-warning))}.mg-message.mg-message--success .mg-message__bar{background-color:hsl(var(--color-success))}.mg-message.mg-message--success .mg-message__icon{color:hsl(var(--color-success))}.mg-message.mg-message--danger .mg-message__bar{background-color:hsl(var(--color-danger))}.mg-message.mg-message--danger .mg-message__icon{color:hsl(var(--color-danger))}.mg-message.mg-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-message.mg-message--hide{display:none}.mg-message ::slotted(*){margin:0;padding:0}.mg-message__icon{position:absolute;top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2);left:1.3rem;line-height:1}.mg-message__content{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:stretch;padding:0 1rem 0 3.8rem}.mg-message__content-slot{flex-grow:1;margin:0.84rem 0}.mg-message__content-separator{display:inline-block;width:4.5rem;height:0}.mg-message__content-actions-slot{padding:1rem 0;text-align:right}.mg-message__close-button{position:absolute;top:0;right:0}.mg-message ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}.mg-message,mg-message{max-width:100%}";
3631
+ const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}.mg-message{display:inline-block;min-height:var(--default-size)}.mg-message.mg-message--info .mg-message__icon{color:hsl(var(--color-info))}.mg-message.mg-message--warning .mg-message__icon{color:hsl(var(--color-warning))}.mg-message.mg-message--success .mg-message__icon{color:hsl(var(--color-success))}.mg-message.mg-message--danger .mg-message__icon{color:hsl(var(--color-danger))}.mg-message.mg-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-message.mg-message--hide{display:none}.mg-message ::slotted(*){margin:0;padding:0}.mg-message__icon{position:absolute;top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2);left:1.3rem;line-height:1}.mg-message__content{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:stretch;padding:0 1rem 0 3.8rem}.mg-message__content-slot{flex-grow:1;margin:0.84rem 0}.mg-message__content-separator{display:inline-block;width:4.5rem;height:0}.mg-message__content-actions-slot{padding:1rem 0;text-align:right}.mg-message__close-button{position:absolute;top:0;right:0}.mg-message ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset}.mg-message,mg-message{max-width:100%}";
3668
3632
 
3669
3633
  const MgMessage = class {
3670
3634
  constructor(hostRef) {
@@ -3685,7 +3649,6 @@ const MgMessage = class {
3685
3649
  this.isHovered = false;
3686
3650
  /**
3687
3651
  * Set timer
3688
- *
3689
3652
  * @returns {void}
3690
3653
  */
3691
3654
  this.setTimer = () => {
@@ -3693,7 +3656,6 @@ const MgMessage = class {
3693
3656
  };
3694
3657
  /**
3695
3658
  * Clear timer
3696
- *
3697
3659
  * @returns {void}
3698
3660
  */
3699
3661
  this.clearTimer = () => {
@@ -3701,7 +3663,6 @@ const MgMessage = class {
3701
3663
  };
3702
3664
  /**
3703
3665
  * Event to add on element
3704
- *
3705
3666
  * @param {MouseEvent | FocusEvent} event event
3706
3667
  * @returns {void}
3707
3668
  */
@@ -3726,8 +3687,7 @@ const MgMessage = class {
3726
3687
  };
3727
3688
  /**
3728
3689
  * Get icon corresponding to variant
3729
- *
3730
- * @returns {string} icon
3690
+ * @returns {MgIcon['icon'] | undefined} icon
3731
3691
  */
3732
3692
  this.getIcon = () => {
3733
3693
  switch (this.variant) {
@@ -3750,7 +3710,7 @@ const MgMessage = class {
3750
3710
  this.hasActions = false;
3751
3711
  }
3752
3712
  validateDelay(newValue) {
3753
- if (newValue && newValue < 2) {
3713
+ if (newValue !== undefined && newValue < 2) {
3754
3714
  throw new Error(`<mg-message> prop "delay" must be greater than 2 seconds.`);
3755
3715
  }
3756
3716
  }
@@ -3819,11 +3779,10 @@ const MgMessage = class {
3819
3779
  }
3820
3780
  /**
3821
3781
  * Render
3822
- *
3823
3782
  * @returns {HTMLElement} HTML Element
3824
3783
  */
3825
3784
  render() {
3826
- return (h("div", { id: this.identifier, class: this.classList.join(), role: this.variant === 'info' ? 'status' : 'alert' }, h("mg-card", null, h("span", { class: "mg-message__bar" }), h("span", { class: "mg-message__icon" }, h("mg-icon", { icon: this.getIcon() })), h("div", { class: "mg-message__content" }, h("span", { class: "mg-message__content-slot" }, h("slot", null)), this.hasActions && h("span", { class: "mg-message__content-separator" }), this.hasActions && (h("span", { class: "mg-message__content-actions-slot" }, h("slot", { name: "actions" })))), this.closeButton && (h("span", { class: "mg-message__close-button" }, h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, h("mg-icon", { icon: "cross" })))))));
3785
+ return (h("div", { id: this.identifier, class: this.classList.join(), role: this.variant === 'info' ? 'status' : 'alert' }, h("mg-card", { variant: this.variant, "variant-style": "bar-left" }, h("span", { class: "mg-message__icon" }, h("mg-icon", { icon: this.getIcon() })), h("div", { class: "mg-message__content" }, h("span", { class: "mg-message__content-slot" }, h("slot", null)), this.hasActions && h("span", { class: "mg-message__content-separator" }), this.hasActions && (h("span", { class: "mg-message__content-actions-slot" }, h("slot", { name: "actions" })))), this.closeButton && (h("span", { class: "mg-message__close-button" }, h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, h("mg-icon", { icon: "cross" })))))));
3827
3786
  }
3828
3787
  get element() { return getElement(this); }
3829
3788
  static get watchers() { return {
@@ -3835,7 +3794,7 @@ const MgMessage = class {
3835
3794
  };
3836
3795
  MgMessage.style = mgMessageCss;
3837
3796
 
3838
- const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;padding:2rem 0;background-color:hsl(var(--color-light), 0.85)}.mg-modal mg-card{display:flex;width:60rem;max-width:100%;max-height:100%}.mg-modal__dialog{display:flex;position:relative;flex-direction:column;align-self:center;row-gap:3rem;height:fit-content;max-height:100%}.mg-modal__header{margin-bottom:0.5rem}.mg-modal__title{margin:0;font-family:var(--font-family-heading);font-size:var(--mg-modal-title-font-size);font-weight:600}.mg-modal__close-button{float:right;height:var(--mg-modal-title-font-size);margin-top:calc((var(--default-size) - var(--mg-modal-title-font-size) * var(--line-height)) / 2 * -1);margin-right:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2 * -1)}.mg-modal__content{overflow-y:auto}.mg-modal__content::slotted(*){font-size:var(--mg-modal-content-font-size)}.mg-modal.mg-modal--hide{display:none}.mg-modal ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
3797
+ const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;padding:2rem 0;background-color:hsl(var(--color-light), 0.85)}.mg-modal mg-card{display:flex;width:60rem;max-width:100%;max-height:100%}.mg-modal__dialog{display:flex;position:relative;flex-direction:column;align-self:center;row-gap:3rem;height:fit-content;max-height:100%}.mg-modal__header{margin-bottom:0.5rem}.mg-modal__title{margin:0;font-family:var(--font-family-heading);font-size:var(--mg-modal-title-font-size);font-weight:600}.mg-modal__close-button{float:right;height:var(--mg-modal-title-font-size);margin-top:calc((var(--default-size) - var(--mg-modal-title-font-size) * var(--line-height)) / 2 * -1);margin-right:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2 * -1)}.mg-modal__content{overflow-y:auto}.mg-modal__content::slotted(*){font-size:var(--mg-modal-content-font-size)}.mg-modal.mg-modal--hide{display:none}.mg-modal ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset}";
3839
3798
 
3840
3799
  const MgModal = class {
3841
3800
  constructor(hostRef) {
@@ -3883,7 +3842,6 @@ const MgModal = class {
3883
3842
  *************/
3884
3843
  /**
3885
3844
  * Handle close button
3886
- *
3887
3845
  * @returns {void}
3888
3846
  */
3889
3847
  this.handleClose = () => {
@@ -3916,7 +3874,6 @@ const MgModal = class {
3916
3874
  }
3917
3875
  /**
3918
3876
  * Handle 'escape' key down
3919
- *
3920
3877
  * @param {KeyboardEvent} event keydown event
3921
3878
  * @returns {void}
3922
3879
  */
@@ -3931,7 +3888,6 @@ const MgModal = class {
3931
3888
  *************/
3932
3889
  /**
3933
3890
  * Check if component props are well configured on init
3934
- *
3935
3891
  * @returns {void}
3936
3892
  */
3937
3893
  componentWillLoad() {
@@ -3951,7 +3907,6 @@ const MgModal = class {
3951
3907
  }
3952
3908
  /**
3953
3909
  * Add observer on component to set focus when displayed
3954
- *
3955
3910
  * @returns {void}
3956
3911
  */
3957
3912
  componentDidLoad() {
@@ -3967,7 +3922,6 @@ const MgModal = class {
3967
3922
  }
3968
3923
  /**
3969
3924
  * Render
3970
- *
3971
3925
  * @returns {HTMLElement} HTML Element
3972
3926
  */
3973
3927
  render() {
@@ -4003,7 +3957,6 @@ const mgPaginationCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1
4003
3957
  * range(1, 1) = [1]
4004
3958
  * range(1, 5) = [1, 2, 3, 4, 5]
4005
3959
  * range(10, 20, 2) = [10, 12, 14, 16, 18, 20]
4006
- *
4007
3960
  * @param {number} start start range
4008
3961
  * @param {number} end start end
4009
3962
  * @param {number} step step size
@@ -4016,7 +3969,6 @@ const MgPagination = class {
4016
3969
  this.currentPageChange = createEvent(this, "current-page-change", 7);
4017
3970
  /**
4018
3971
  * Change current page from target
4019
- *
4020
3972
  * @param {number} target target page
4021
3973
  * @returns {void}
4022
3974
  */
@@ -4028,7 +3980,6 @@ const MgPagination = class {
4028
3980
  ************/
4029
3981
  /**
4030
3982
  * select handler
4031
- *
4032
3983
  * @param {InputEvent} event value change event
4033
3984
  * @returns {void}
4034
3985
  */
@@ -4038,7 +3989,6 @@ const MgPagination = class {
4038
3989
  };
4039
3990
  /**
4040
3991
  * Go to 'previous/next' page button handler
4041
- *
4042
3992
  * @param {string} action navigation action
4043
3993
  * @param {boolean} disabled button disable state
4044
3994
  * @returns {void}
@@ -4071,7 +4021,6 @@ const MgPagination = class {
4071
4021
  *************/
4072
4022
  /**
4073
4023
  * Check if props are well configured on init
4074
- *
4075
4024
  * @returns {void}
4076
4025
  */
4077
4026
  componentWillLoad() {
@@ -4087,7 +4036,6 @@ const MgPagination = class {
4087
4036
  }
4088
4037
  /**
4089
4038
  * Render
4090
- *
4091
4039
  * @returns {HTMLElement} HTML Element
4092
4040
  */
4093
4041
  render() {
@@ -4104,7 +4052,7 @@ const MgPagination = class {
4104
4052
  };
4105
4053
  MgPagination.style = mgPaginationCss;
4106
4054
 
4107
- const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 1rem 0 0.3rem;align-items:flex-start}.mg-panel__header-left,.mg-panel__header-right{display:flex;margin:0.3rem 0}.mg-panel__header-right{padding-left:0.3rem;flex:1 auto;min-height:var(--default-size);align-items:center}.mg-panel__header-left mg-input-text{flex-grow:1;margin-left:0.3rem}.mg-panel__header-left mg-button+mg-button:not([slot=append-input]){margin-left:0.3rem}.mg-panel__header-left.mg-panel__header-left--full{flex:1 1 auto}.mg-panel__collapse-button-content{--font-size:1.4rem;--mg-button-font-weight:600}.mg-panel__content{padding:var(--mg-panel-content-padding)}.mg-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto}.mg-panel ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
4055
+ const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 1rem 0 0.3rem;align-items:flex-start}.mg-panel__header-left,.mg-panel__header-right{display:flex;margin:0.3rem 0}.mg-panel__header-right{padding-left:0.3rem;flex:1 auto;min-height:var(--default-size);align-items:center}.mg-panel__header-left mg-input-text{flex-grow:1;margin-left:0.3rem}.mg-panel__header-left mg-button+mg-button:not([slot=append-input]){margin-left:0.3rem}.mg-panel__header-left.mg-panel__header-left--full{flex:1 1 auto}.mg-panel__collapse-button-content{--font-size:1.4rem;--mg-button-font-weight:600}.mg-panel__content{padding:var(--mg-panel-content-padding)}.mg-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto}.mg-panel ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset}";
4108
4056
 
4109
4057
  const MgPanel = class {
4110
4058
  constructor(hostRef) {
@@ -4116,7 +4064,6 @@ const MgPanel = class {
4116
4064
  ************/
4117
4065
  /**
4118
4066
  * Toggle is editing state
4119
- *
4120
4067
  * @returns {void}
4121
4068
  */
4122
4069
  this.toggleIsEditing = () => {
@@ -4127,7 +4074,6 @@ const MgPanel = class {
4127
4074
  ************/
4128
4075
  /**
4129
4076
  * Collapse button click handler
4130
- *
4131
4077
  * @returns {void}
4132
4078
  */
4133
4079
  this.handleCollapseButton = () => {
@@ -4137,7 +4083,6 @@ const MgPanel = class {
4137
4083
  };
4138
4084
  /**
4139
4085
  * Edit button click handler
4140
- *
4141
4086
  * @returns {void}
4142
4087
  */
4143
4088
  this.handleEditButton = () => {
@@ -4145,7 +4090,6 @@ const MgPanel = class {
4145
4090
  };
4146
4091
  /**
4147
4092
  * Update title handler
4148
- *
4149
4093
  * @param {CustomEvent<string>} event input value change event
4150
4094
  * @returns {void}
4151
4095
  */
@@ -4154,7 +4098,6 @@ const MgPanel = class {
4154
4098
  };
4155
4099
  /**
4156
4100
  * Cancel edition button handler
4157
- *
4158
4101
  * @returns {void}
4159
4102
  */
4160
4103
  this.handleCancelEditButton = () => {
@@ -4163,7 +4106,6 @@ const MgPanel = class {
4163
4106
  };
4164
4107
  /**
4165
4108
  * Validate edition button handler
4166
- *
4167
4109
  * @returns {void}
4168
4110
  */
4169
4111
  this.handleValidateEditButton = () => {
@@ -4175,7 +4117,6 @@ const MgPanel = class {
4175
4117
  };
4176
4118
  /**
4177
4119
  * Header left conditional render
4178
- *
4179
4120
  * @typedef {HTMLElement} HTMLMgButtonElement
4180
4121
  * @returns {HTMLMgButtonElement | HTMLElement | HTMLElement[]} header left element
4181
4122
  */
@@ -4213,10 +4154,10 @@ const MgPanel = class {
4213
4154
  this.titleChange.emit(newValue);
4214
4155
  }
4215
4156
  validatetitlePattern(newValue) {
4216
- if (newValue && !this.titleEditable) {
4157
+ if (newValue !== undefined && !this.titleEditable) {
4217
4158
  throw new Error('<mg-panel> prop "titleEditable" must be set to `true`.');
4218
4159
  }
4219
- if (newValue && (this.titlePatternErrorMessage === undefined || this.titlePatternErrorMessage.trim() === '')) {
4160
+ if (newValue !== undefined && (this.titlePatternErrorMessage === undefined || this.titlePatternErrorMessage.trim() === '')) {
4220
4161
  throw new Error('<mg-panel> prop "titlePattern" must be paired with the prop "titlePatternErrorMessage".');
4221
4162
  }
4222
4163
  }
@@ -4228,7 +4169,6 @@ const MgPanel = class {
4228
4169
  *************/
4229
4170
  /**
4230
4171
  * Check if props are well configured on init
4231
- *
4232
4172
  * @returns {void}
4233
4173
  */
4234
4174
  componentWillLoad() {
@@ -4240,7 +4180,6 @@ const MgPanel = class {
4240
4180
  }
4241
4181
  /**
4242
4182
  * Edit DOM after render
4243
- *
4244
4183
  * @returns {void}
4245
4184
  */
4246
4185
  componentDidRender() {
@@ -4251,7 +4190,6 @@ const MgPanel = class {
4251
4190
  }
4252
4191
  /**
4253
4192
  * Render component
4254
- *
4255
4193
  * @returns {HTMLElement} html element
4256
4194
  */
4257
4195
  render() {
@@ -4429,7 +4367,7 @@ var round = Math.round;
4429
4367
  function getUAString() {
4430
4368
  var uaData = navigator.userAgentData;
4431
4369
 
4432
- if (uaData != null && uaData.brands) {
4370
+ if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
4433
4371
  return uaData.brands.map(function (item) {
4434
4372
  return item.brand + "/" + item.version;
4435
4373
  }).join(' ');
@@ -4748,10 +4686,9 @@ var unsetSides = {
4748
4686
  // Zooming can change the DPR, but it seems to report a value that will
4749
4687
  // cleanly divide the values into the appropriate subpixels.
4750
4688
 
4751
- function roundOffsetsByDPR(_ref) {
4689
+ function roundOffsetsByDPR(_ref, win) {
4752
4690
  var x = _ref.x,
4753
4691
  y = _ref.y;
4754
- var win = window;
4755
4692
  var dpr = win.devicePixelRatio || 1;
4756
4693
  return {
4757
4694
  x: round(x * dpr) / dpr || 0,
@@ -4834,7 +4771,7 @@ function mapToStyles(_ref2) {
4834
4771
  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
4835
4772
  x: x,
4836
4773
  y: y
4837
- }) : {
4774
+ }, getWindow(popper)) : {
4838
4775
  x: x,
4839
4776
  y: y
4840
4777
  };
@@ -6064,7 +6001,7 @@ var createPopper = /*#__PURE__*/popperGenerator({
6064
6001
  defaultModifiers: defaultModifiers
6065
6002
  }); // eslint-disable-next-line import/no-unused-modules
6066
6003
 
6067
- const mgPopoverCss = ":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}.mg-popover{display:none;padding:1rem;z-index:2000;color:hsl(var(--mg-popover-font-color))}.mg-popover mg-card{position:relative}.mg-popover[data-show]{display:block}.mg-popover mg-button{float:right;margin-right:calc(0rem - (var(--default-size) - var(--mg-icon-regular-size)) / 2);margin-top:calc(0rem - (var(--default-size) - var(--mg-popover-title-font-size) * var(--line-height)) / 2);margin-left:3rem}.mg-popover__arrow{position:absolute;visibility:hidden;width:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem);height:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem)}.mg-popover__arrow:before{visibility:visible;content:\"\";position:absolute}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{height:1rem}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{left:calc(var(--mg-card-border-radius) + 1rem);border-right:calc(3rem / 2) solid transparent;border-left:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow{bottom:0.1rem;filter:drop-shadow(0 0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before{border-top:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{top:0.1rem;filter:drop-shadow(0 -0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{border-bottom:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{width:1rem}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{top:calc(var(--mg-card-border-radius) + 1rem);border-top:calc(3rem / 2) solid transparent;border-bottom:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow{right:0.1rem;filter:drop-shadow(0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before{border-left:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{left:0.1rem;filter:drop-shadow(-0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{border-right:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left-start],.mg-popover[data-popper-placement^=left-end],.mg-popover[data-popper-placement^=right-start],.mg-popover[data-popper-placement^=right-end]{padding:0 1rem}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow{height:calc(3rem + 2 * var(--mg-card-border-radius))}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow:before{top:var(--mg-card-border-radius)}.mg-popover__title ::slotted([slot=title]){margin:0 0 1rem !important;font-size:var(--mg-popover-title-font-size) !important;font-weight:600}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=top]{padding-bottom:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=bottom]{padding-top:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=end],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=left]{padding-right:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=start],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=right]{padding-left:0}.mg-popover ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
6004
+ const mgPopoverCss = ":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}.mg-popover{display:none;padding:1rem;z-index:2000;color:hsl(var(--mg-popover-font-color))}.mg-popover mg-card{--mg-card-max-width:var(--mg-popover-max-width);position:relative}.mg-popover[data-show]{display:block}.mg-popover mg-button{float:right;margin-right:calc(0rem - (var(--default-size) - var(--mg-icon-regular-size)) / 2);margin-top:calc(0rem - (var(--default-size) - var(--mg-popover-title-font-size) * var(--line-height)) / 2);margin-left:3rem}.mg-popover__arrow{position:absolute;visibility:hidden;width:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem);height:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem)}.mg-popover__arrow:before{visibility:visible;content:\"\";position:absolute}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{height:1rem}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{left:calc(var(--mg-card-border-radius) + 1rem);border-right:calc(3rem / 2) solid transparent;border-left:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow{bottom:0.1rem;filter:drop-shadow(0 0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before{border-top:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{top:0.1rem;filter:drop-shadow(0 -0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{border-bottom:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{width:1rem}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{top:calc(var(--mg-card-border-radius) + 1rem);border-top:calc(3rem / 2) solid transparent;border-bottom:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow{right:0.1rem;filter:drop-shadow(0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before{border-left:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{left:0.1rem;filter:drop-shadow(-0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{border-right:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left-start],.mg-popover[data-popper-placement^=left-end],.mg-popover[data-popper-placement^=right-start],.mg-popover[data-popper-placement^=right-end]{padding:0 1rem}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow{height:calc(3rem + 2 * var(--mg-card-border-radius))}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow:before{top:var(--mg-card-border-radius)}.mg-popover__title ::slotted([slot=title]){margin:0 0 1rem !important;font-size:var(--mg-popover-title-font-size) !important;font-weight:600}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=top]{padding-bottom:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=bottom]{padding-top:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=end],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=left]{padding-right:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=start],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=right]{padding-left:0}.mg-popover ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset}";
6068
6005
 
6069
6006
  const MgPopover = class {
6070
6007
  constructor(hostRef) {
@@ -6075,7 +6012,6 @@ const MgPopover = class {
6075
6012
  this.classArrowHide = `mg-popover--arrow-hide`;
6076
6013
  /**
6077
6014
  * Check if clicked outside of component
6078
- *
6079
6015
  * @param {MouseEvent} event mouse event
6080
6016
  * @returns {void}
6081
6017
  */
@@ -6089,7 +6025,6 @@ const MgPopover = class {
6089
6025
  };
6090
6026
  /**
6091
6027
  * Show popover
6092
- *
6093
6028
  * @returns {void}
6094
6029
  */
6095
6030
  this.show = () => {
@@ -6109,7 +6044,6 @@ const MgPopover = class {
6109
6044
  };
6110
6045
  /**
6111
6046
  * Hide popover
6112
- *
6113
6047
  * @returns {void}
6114
6048
  */
6115
6049
  this.hide = () => {
@@ -6124,7 +6058,6 @@ const MgPopover = class {
6124
6058
  };
6125
6059
  /**
6126
6060
  * Handle action for close button
6127
- *
6128
6061
  * @returns {void}
6129
6062
  */
6130
6063
  this.handleCloseButton = () => {
@@ -6158,7 +6091,6 @@ const MgPopover = class {
6158
6091
  *************/
6159
6092
  /**
6160
6093
  * Check if component props are well configured on init
6161
- *
6162
6094
  * @returns {void} timeout
6163
6095
  */
6164
6096
  componentWillLoad() {
@@ -6170,7 +6102,6 @@ const MgPopover = class {
6170
6102
  }
6171
6103
  /**
6172
6104
  * Check if component props are well configured on init
6173
- *
6174
6105
  * @returns {void}
6175
6106
  */
6176
6107
  componentDidLoad() {
@@ -6228,7 +6159,6 @@ const MgPopover = class {
6228
6159
  }
6229
6160
  /**
6230
6161
  * Render
6231
- *
6232
6162
  * @returns {HTMLElement} HTML Element
6233
6163
  */
6234
6164
  render() {
@@ -6253,7 +6183,6 @@ const MgSkipLinks = class {
6253
6183
  **********/
6254
6184
  /**
6255
6185
  * Handle link click and emit go-to-anchor event
6256
- *
6257
6186
  * @param {MouseEvent} event mouse event
6258
6187
  * @returns {void}
6259
6188
  */
@@ -6275,7 +6204,6 @@ const MgSkipLinks = class {
6275
6204
  *************/
6276
6205
  /**
6277
6206
  * Check if props are well configured on init
6278
- *
6279
6207
  * @returns {void}
6280
6208
  */
6281
6209
  componentWillLoad() {
@@ -6284,7 +6212,6 @@ const MgSkipLinks = class {
6284
6212
  }
6285
6213
  /**
6286
6214
  * Render
6287
- *
6288
6215
  * @returns {HTMLElement} HTML Element
6289
6216
  */
6290
6217
  render() {
@@ -6316,7 +6243,6 @@ const mgTabsCss = ".mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.m
6316
6243
 
6317
6244
  /**
6318
6245
  * type TabItem validation function
6319
- *
6320
6246
  * @param {TabItem} tab tab item
6321
6247
  * @returns {boolean} tab item type is valid
6322
6248
  */
@@ -6334,7 +6260,6 @@ const MgTabs = class {
6334
6260
  this.startIndex = 1;
6335
6261
  /**
6336
6262
  * Method to know if given tab has the given status
6337
- *
6338
6263
  * @param {TabItem} tab item tab key to set to ACTIVE status
6339
6264
  * @param {Status} status status to valide
6340
6265
  * @returns {boolean} status comparaison
@@ -6342,7 +6267,6 @@ const MgTabs = class {
6342
6267
  this.tabHasStatus = (tab, status) => tab.status === status;
6343
6268
  /**
6344
6269
  * Method to get element id from index
6345
- *
6346
6270
  * @param {string} element to get id
6347
6271
  * @param {number} index to generate id
6348
6272
  * @returns {string} generated element id
@@ -6350,20 +6274,17 @@ const MgTabs = class {
6350
6274
  this.getElementId = (element, index) => `${element}-${this.getTabItemIndex(index)}`;
6351
6275
  /**
6352
6276
  * Method to get tab item index
6353
- *
6354
6277
  * @param {number} index to get
6355
6278
  * @returns {number} index
6356
6279
  */
6357
6280
  this.getTabItemIndex = (index) => index + this.startIndex;
6358
6281
  /**
6359
6282
  * Method to get the active-tab value
6360
- *
6361
6283
  * @returns {number} of the active-tab
6362
6284
  */
6363
6285
  this.getActiveTab = () => this.activeTab || this.getTabItemIndex(this.tabs.map((tab, index) => (Object.assign(Object.assign({}, tab), { index }))).find(tab => this.tabHasStatus(tab, Status.ACTIVE)).index);
6364
6286
  /**
6365
6287
  * Handle click events on tabs
6366
- *
6367
6288
  * @param {MouseEvent} event mouse event
6368
6289
  */
6369
6290
  this.handleClick = (event) => {
@@ -6379,14 +6300,12 @@ const MgTabs = class {
6379
6300
  };
6380
6301
  /**
6381
6302
  * get navigation button class from given status
6382
- *
6383
6303
  * @param {Status} status button tab status
6384
6304
  * @returns {string} button class/selector variant
6385
6305
  */
6386
6306
  this.getNavigationButtonClass = (status) => `${this.buttonTabBaseClass}--${status}`;
6387
6307
  /**
6388
6308
  * Handle keyboard event on tabs
6389
- *
6390
6309
  * @param {MouseEvent} event mouse event
6391
6310
  * @returns {void}
6392
6311
  */
@@ -6426,7 +6345,6 @@ const MgTabs = class {
6426
6345
  };
6427
6346
  /**
6428
6347
  * Method to reset focus behavior
6429
- *
6430
6348
  * @returns {void}
6431
6349
  */
6432
6350
  this.resetFocus = () => {
@@ -6506,7 +6424,6 @@ const MgTabs = class {
6506
6424
  *************/
6507
6425
  /**
6508
6426
  * Check if component props are well configured on init
6509
- *
6510
6427
  * @returns {void}
6511
6428
  */
6512
6429
  componentWillLoad() {
@@ -6519,7 +6436,6 @@ const MgTabs = class {
6519
6436
  }
6520
6437
  /**
6521
6438
  * add listners
6522
- *
6523
6439
  * @returns {void}
6524
6440
  */
6525
6441
  componentDidLoad() {
@@ -6530,7 +6446,6 @@ const MgTabs = class {
6530
6446
  }
6531
6447
  /**
6532
6448
  * Render
6533
- *
6534
6449
  * @returns {HTMLElement} HTML Element
6535
6450
  */
6536
6451
  render() {
@@ -6557,7 +6472,7 @@ MgTabs.style = mgTabsCss;
6557
6472
  */
6558
6473
  const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'];
6559
6474
 
6560
- const mgTagCss = ".mg-tag{padding:calc((var(--mg-tag-height) - 0.2rem - var(--mg-tag-font-size) * var(--line-height)) / 2) 0.6rem;min-height:var(--mg-tag-height);box-sizing:border-box;border-radius:var(--mg-tag-border-radius);border:0.1rem solid;font-size:var(--mg-tag-font-size);font-weight:600;text-align:center}.mg-tag.mg-tag--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-tag.mg-tag--primary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-dark-h), var(--color-dark-s), 90%);border-color:hsl(var(--color-dark-h), var(--color-dark-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-tag.mg-tag--secondary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-light-h), var(--color-light-s), 90%);border-color:hsl(var(--color-light-h), var(--color-light-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-tag.mg-tag--success.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-success-h), var(--color-success-s), 90%);border-color:hsl(var(--color-success-h), var(--color-success-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-tag.mg-tag--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-tag.mg-tag--warning.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-warning-h), var(--color-warning-s), 90%);border-color:hsl(var(--color-warning-h), var(--color-warning-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-tag.mg-tag--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-tag.mg-tag--danger.mg-tag--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-tag.mg-tag--danger.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-danger-h), var(--color-danger-s), 90%);border-color:hsl(var(--color-danger-h), var(--color-danger-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--danger.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-tag.mg-tag--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-tag.mg-tag--info.mg-tag--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-tag.mg-tag--info.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-info-h), var(--color-info-s), 90%);border-color:hsl(var(--color-info-h), var(--color-info-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--info.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}.mg-tag,mg-tag{display:inline-block;vertical-align:middle}::slotted(mg-icon){margin-right:0.4rem}";
6475
+ const mgTagCss = ".mg-tag{padding:calc((var(--mg-tag-height) - 0.2rem - var(--mg-tag-font-size) * var(--line-height)) / 2) 0.6rem;min-height:var(--mg-tag-height);box-sizing:border-box;border-radius:var(--mg-tag-border-radius);border:0.1rem solid;font-size:var(--mg-tag-font-size);font-weight:600;text-align:center}.mg-tag.mg-tag--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-tag.mg-tag--primary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));border-color:hsl(var(--color-dark-h), var(--color-dark-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-tag.mg-tag--secondary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));border-color:hsl(var(--color-light-h), var(--color-light-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-tag.mg-tag--success.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));border-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-tag.mg-tag--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-tag.mg-tag--warning.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));border-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-tag.mg-tag--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-tag.mg-tag--danger.mg-tag--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-tag.mg-tag--danger.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));border-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--danger.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-tag.mg-tag--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-tag.mg-tag--info.mg-tag--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-tag.mg-tag--info.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));border-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l));color:hsl(var(--color-dark))}.mg-tag.mg-tag--info.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}.mg-tag,mg-tag{display:inline-block;vertical-align:middle}::slotted(mg-icon){margin-right:0.4rem}";
6561
6476
 
6562
6477
  const MgTag = class {
6563
6478
  constructor(hostRef) {
@@ -6605,7 +6520,6 @@ const MgTag = class {
6605
6520
  *************/
6606
6521
  /**
6607
6522
  * Validate the given textContent
6608
- *
6609
6523
  * @param {string} textContent html element textContent property
6610
6524
  * @returns {void}
6611
6525
  */
@@ -6618,7 +6532,6 @@ const MgTag = class {
6618
6532
  *************/
6619
6533
  /**
6620
6534
  * Check if props are well configured on init
6621
- *
6622
6535
  * @returns {void}
6623
6536
  */
6624
6537
  componentWillLoad() {
@@ -6629,7 +6542,6 @@ const MgTag = class {
6629
6542
  }
6630
6543
  /**
6631
6544
  * Render
6632
- *
6633
6545
  * @returns {HTMLElement} HTML Element
6634
6546
  */
6635
6547
  render() {
@@ -6658,7 +6570,6 @@ const MgTooltip = class {
6658
6570
  registerInstance(this, hostRef);
6659
6571
  /**
6660
6572
  * Show tooltip
6661
- *
6662
6573
  * @returns {void}
6663
6574
  */
6664
6575
  this.show = () => {
@@ -6668,10 +6579,17 @@ const MgTooltip = class {
6668
6579
  this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }] })));
6669
6580
  // Update its position
6670
6581
  this.popper.update();
6582
+ // hide when click outside
6583
+ // setTimeout is used to prevent event to trigger after creation
6584
+ setTimeout(() => {
6585
+ this.windows.forEach((localWindow) => {
6586
+ localWindow.addEventListener('click', this.clickOutside, false);
6587
+ localWindow.addEventListener('keydown', this.pressEscape, false);
6588
+ });
6589
+ }, 0);
6671
6590
  };
6672
6591
  /**
6673
6592
  * Hide tooltip
6674
- *
6675
6593
  * @returns {void}
6676
6594
  */
6677
6595
  this.hide = () => {
@@ -6679,10 +6597,32 @@ const MgTooltip = class {
6679
6597
  this.tooltip.removeAttribute('data-show');
6680
6598
  // Disable the event listeners
6681
6599
  this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }] })));
6600
+ // Remove event listener
6601
+ this.windows.forEach((localWindow) => {
6602
+ localWindow.removeEventListener('click', this.clickOutside, false);
6603
+ localWindow.removeEventListener('keyboard', this.pressEscape, false);
6604
+ });
6605
+ };
6606
+ /**
6607
+ * Check if clicked outside of component and hidde tooltip
6608
+ * @param {MouseEvent} event mouse event
6609
+ * @returns {void}
6610
+ */
6611
+ this.clickOutside = (event) => {
6612
+ if (event.target.closest('mg-tooltip') !== this.element)
6613
+ this.setDisplay(false);
6614
+ };
6615
+ /**
6616
+ * Check if 'Escape' key is pressed of component and hidde tooltip
6617
+ * @param {KeyboardEvent} event keyboard event
6618
+ * @returns {void}
6619
+ */
6620
+ this.pressEscape = (event) => {
6621
+ if (event.code === 'Escape')
6622
+ this.setDisplay(false);
6682
6623
  };
6683
6624
  /**
6684
6625
  * Method to set display prop
6685
- *
6686
6626
  * @param {boolean} newValue display prop new value
6687
6627
  * @param {boolean} condition additionnal condition to apply display prop newValue
6688
6628
  * @returns {void}
@@ -6693,7 +6633,6 @@ const MgTooltip = class {
6693
6633
  };
6694
6634
  /**
6695
6635
  * Action for tooltip element and tooltiped element mouse listener
6696
- *
6697
6636
  * @param {Guard} elementGuard tooltip element guard
6698
6637
  * @param {boolean} isMouseenter mouseenter validation
6699
6638
  * @param {Guard} conditionalGuard guard condition
@@ -6716,7 +6655,6 @@ const MgTooltip = class {
6716
6655
  };
6717
6656
  /**
6718
6657
  * Method to reset guard value
6719
- *
6720
6658
  * @returns {void}
6721
6659
  */
6722
6660
  this.resetGuard = () => {
@@ -6724,7 +6662,6 @@ const MgTooltip = class {
6724
6662
  };
6725
6663
  /**
6726
6664
  * Update slot content when it is a mg-button
6727
- *
6728
6665
  * @param {HTMLMgButtonElement} mgButton slotted mg-button
6729
6666
  * @returns {void}
6730
6667
  */
@@ -6743,7 +6680,6 @@ const MgTooltip = class {
6743
6680
  };
6744
6681
  /**
6745
6682
  * Init tooltip
6746
- *
6747
6683
  * @param {HTMLElement} slotElement slotted element
6748
6684
  * @param {HTMLElement} interactiveElement interactive element
6749
6685
  */
@@ -6782,10 +6718,7 @@ const MgTooltip = class {
6782
6718
  this.resetGuard();
6783
6719
  this.setDisplay(false);
6784
6720
  });
6785
- document.addEventListener('keydown', (event) => {
6786
- if (event.code === 'Escape')
6787
- this.setDisplay(false);
6788
- });
6721
+ document.addEventListener('keydown', this.pressEscape);
6789
6722
  // manage tooltipElement & tooltipedElement mouseenter/mouseleave events
6790
6723
  ['mouseenter', 'mouseleave'].forEach(eventType => {
6791
6724
  const isMouseenter = eventType === 'mouseenter';
@@ -6822,11 +6755,18 @@ const MgTooltip = class {
6822
6755
  /*************
6823
6756
  * Lifecycle *
6824
6757
  *************/
6758
+ /**
6759
+ * set variables
6760
+ * @returns {void}
6761
+ */
6762
+ componentWillLoad() {
6763
+ // Get windows to attach events
6764
+ this.windows = getWindows(window);
6765
+ }
6825
6766
  /**
6826
6767
  * Get slotted element
6827
6768
  * Check if it already contain an interactive element, if not we need to add a tabIndex attribute
6828
6769
  * We need to attach the focused element to the tooltip (aria-describedby)
6829
- *
6830
6770
  * @returns {void}
6831
6771
  */
6832
6772
  componentDidLoad() {
@@ -6860,7 +6800,6 @@ const MgTooltip = class {
6860
6800
  }
6861
6801
  /**
6862
6802
  * Render
6863
- *
6864
6803
  * @returns {HTMLElement} HTML Element
6865
6804
  */
6866
6805
  render() {