@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
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-9e1091ab.js');
6
- const mgMenu_conf = require('./mg-menu.conf-9afe6571.js');
6
+ const mgMenu_conf = require('./mg-menu.conf-1942ac70.js');
7
7
 
8
8
  /**
9
9
  * Available menu-item positions
@@ -26,7 +26,6 @@ var Status$1;
26
26
 
27
27
  /**
28
28
  * Create random ID
29
- *
30
29
  * @param {string} prefix add prefix to created ID
31
30
  * @param {number} length ID length
32
31
  * @returns {string} ID
@@ -48,7 +47,6 @@ class ClassList {
48
47
  constructor(classlist = []) {
49
48
  /**
50
49
  * Add class
51
- *
52
50
  * @param {string} className class name to add
53
51
  * @returns {void}
54
52
  */
@@ -59,7 +57,6 @@ class ClassList {
59
57
  };
60
58
  /**
61
59
  * Delete class
62
- *
63
60
  * @param {string} className class name to delete
64
61
  * @returns {void}
65
62
  */
@@ -71,7 +68,6 @@ class ClassList {
71
68
  };
72
69
  /**
73
70
  * Check if class exist in list
74
- *
75
71
  * @param {string} className class name to check
76
72
  * @returns {boolean} class name is in the list
77
73
  */
@@ -80,7 +76,6 @@ class ClassList {
80
76
  };
81
77
  /**
82
78
  * Join classes seperated by spaces
83
- *
84
79
  * @returns {string} joined values
85
80
  */
86
81
  this.join = () => {
@@ -91,14 +86,12 @@ class ClassList {
91
86
  }
92
87
  /**
93
88
  * Check if all items are string
94
- *
95
89
  * @param {unknown} items items to check
96
90
  * @returns {boolean} all items are string
97
91
  */
98
92
  const allItemsAreString = (items) => Array.isArray(items) && items.every(item => typeof item === 'string');
99
93
  /**
100
94
  * Check if element is a heading
101
- *
102
95
  * @param {Element} element slotted element
103
96
  * @param {string[]} tagNames allowed tag names list
104
97
  * @returns {boolean} element is a heading
@@ -111,7 +104,7 @@ const isTagName = (element, tagNames) => {
111
104
  */
112
105
  const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier]';
113
106
  /**
114
- *
107
+ * Get windows
115
108
  * @param {Window} localWindow the window we are lookink for other windows
116
109
  * @returns {Window[]} The list of windows found
117
110
  */
@@ -122,7 +115,6 @@ const getWindows = (localWindow) => {
122
115
  };
123
116
  /**
124
117
  * Get parent windows
125
- *
126
118
  * @param {Window} localWindow the window we are lookink for parents
127
119
  * @param {Window[]} windows The list of allready found windows
128
120
  * @returns {Window[]} The list of windows found
@@ -145,7 +137,6 @@ const getParentWindows = (localWindow, windows = []) => {
145
137
  };
146
138
  /**
147
139
  * Get child windows
148
- *
149
140
  * @param {Window} localWindow the window we are lookink for children
150
141
  * @param {Window[]} windows The list of allready found windows
151
142
  * @returns {Window[]} The list of windows found
@@ -163,11 +154,10 @@ const getChildWindows = (localWindow, windows = []) => {
163
154
  return windows;
164
155
  };
165
156
 
166
- 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)}";
157
+ 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)}";
167
158
 
168
159
  /**
169
160
  * MgActionMore['items'] type guard
170
- *
171
161
  * @param {unknown} prop commponent items prop
172
162
  * @returns {boolean} return true if type is valid
173
163
  */
@@ -177,7 +167,6 @@ const isMgActionMoreItems = (prop) => {
177
167
  };
178
168
  /**
179
169
  * MgActionMore['button'] type guard
180
- *
181
170
  * @param {unknown} prop commponent button prop
182
171
  * @returns {boolean} return true if type is valid
183
172
  */
@@ -187,7 +176,6 @@ const isMgActionMoreButton = (prop) => {
187
176
  };
188
177
  /**
189
178
  * MgActionMore['icon'] type guard
190
- *
191
179
  * @param {unknown} prop commponent icon prop
192
180
  * @returns {boolean} return true if type is valid
193
181
  */
@@ -208,7 +196,6 @@ const MgActionMore = class {
208
196
  ***********/
209
197
  /**
210
198
  * Toogle expanded props
211
- *
212
199
  * @returns {void}
213
200
  */
214
201
  this.toggleExpanded = () => {
@@ -216,7 +203,6 @@ const MgActionMore = class {
216
203
  };
217
204
  /**
218
205
  * Button click handler
219
- *
220
206
  * @returns {void}
221
207
  */
222
208
  this.handleButton = () => {
@@ -224,7 +210,6 @@ const MgActionMore = class {
224
210
  };
225
211
  /**
226
212
  * Item click handler
227
- *
228
213
  * @param {MouseEvent} event click event
229
214
  * @param {MgActionMoreItemType['mouseEventHandler']} customHandler item['mouseEventHandler']
230
215
  * @returns {void}
@@ -264,7 +249,6 @@ const MgActionMore = class {
264
249
  *************/
265
250
  /**
266
251
  * Validate props
267
- *
268
252
  * @returns {void}
269
253
  */
270
254
  componentWillLoad() {
@@ -276,7 +260,6 @@ const MgActionMore = class {
276
260
  }
277
261
  /**
278
262
  * Render
279
- *
280
263
  * @returns {HTMLElement} HTML Element
281
264
  */
282
265
  render() {
@@ -309,7 +292,7 @@ MgActionMore.style = mgActionMoreCss;
309
292
  /**
310
293
  * List of all possibles variants
311
294
  */
312
- const variants$4 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
295
+ const variants$5 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
313
296
 
314
297
  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}";
315
298
 
@@ -323,7 +306,7 @@ const MgBadge = class {
323
306
  this.classOutline = `mg-badge--outline`;
324
307
  this.value = undefined;
325
308
  this.label = undefined;
326
- this.variant = variants$4[0];
309
+ this.variant = variants$5[0];
327
310
  this.outline = undefined;
328
311
  this.classList = new ClassList(['mg-badge']);
329
312
  }
@@ -338,8 +321,8 @@ const MgBadge = class {
338
321
  }
339
322
  }
340
323
  validateVariant(newValue, oldValue) {
341
- if (!variants$4.includes(newValue)) {
342
- throw new Error(`<mg-badge> prop "variant" must be one of: ${variants$4.join(', ')}.`);
324
+ if (!variants$5.includes(newValue)) {
325
+ throw new Error(`<mg-badge> prop "variant" must be one of: ${variants$5.join(', ')}.`);
343
326
  }
344
327
  else {
345
328
  if (oldValue !== undefined) {
@@ -356,7 +339,6 @@ const MgBadge = class {
356
339
  }
357
340
  /**
358
341
  * Check if props are well configured on init
359
- *
360
342
  * @returns {void}
361
343
  */
362
344
  componentWillLoad() {
@@ -367,7 +349,6 @@ const MgBadge = class {
367
349
  }
368
350
  /**
369
351
  * Render
370
- *
371
352
  * @returns {HTMLElement} HTML Element
372
353
  */
373
354
  render() {
@@ -385,7 +366,7 @@ MgBadge.style = mgBadgeCss;
385
366
  /**
386
367
  * List of all possibles variants
387
368
  */
388
- const variants$3 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
369
+ const variants$4 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
389
370
 
390
371
  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}";
391
372
 
@@ -402,7 +383,6 @@ const MgButton = class {
402
383
  this.classFullWidth = 'mg-button--full-width';
403
384
  /**
404
385
  * Trigger actions onClick event
405
- *
406
386
  * @param {MouseEvent} event click event
407
387
  * @returns {void}
408
388
  */
@@ -417,7 +397,6 @@ const MgButton = class {
417
397
  };
418
398
  /**
419
399
  * Handle onKeydown event
420
- *
421
400
  * @param {KeyboardEvent} event keyboard event
422
401
  * @returns {void}
423
402
  */
@@ -432,7 +411,6 @@ const MgButton = class {
432
411
  };
433
412
  /**
434
413
  * Handle onKeyup event
435
- *
436
414
  * @param {KeyboardEvent} event keyboard event
437
415
  * @returns {void}
438
416
  */
@@ -442,7 +420,7 @@ const MgButton = class {
442
420
  this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));
443
421
  }
444
422
  };
445
- this.variant = variants$3[0];
423
+ this.variant = variants$4[0];
446
424
  this.identifier = undefined;
447
425
  this.label = undefined;
448
426
  this.type = undefined;
@@ -455,8 +433,8 @@ const MgButton = class {
455
433
  this.classList = new ClassList(['mg-button']);
456
434
  }
457
435
  validateVariant(newValue, oldValue) {
458
- if (!variants$3.includes(newValue)) {
459
- throw new Error(`<mg-button> prop "variant" must be one of: ${variants$3.join(', ')}`);
436
+ if (!variants$4.includes(newValue)) {
437
+ throw new Error(`<mg-button> prop "variant" must be one of: ${variants$4.join(', ')}`);
460
438
  }
461
439
  else {
462
440
  if (oldValue !== undefined) {
@@ -505,7 +483,6 @@ const MgButton = class {
505
483
  }
506
484
  /**
507
485
  * Check if props are well configured on init
508
- *
509
486
  * @returns {void}
510
487
  */
511
488
  componentWillLoad() {
@@ -523,7 +500,6 @@ const MgButton = class {
523
500
  }
524
501
  /**
525
502
  * Render component
526
- *
527
503
  * @returns {HTMLElement} html element
528
504
  */
529
505
  render() {
@@ -539,23 +515,81 @@ const MgButton = class {
539
515
  };
540
516
  MgButton.style = mgButtonCss;
541
517
 
542
- 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)}";
518
+ /**
519
+ * List available variants
520
+ */
521
+ const variants$3 = ['info', 'warning', 'success', 'danger', 'app'];
522
+ /**
523
+ * List available variant styles
524
+ */
525
+ const variantStyles$1 = ['bar-left', 'fill'];
526
+
527
+ 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%}";
543
528
 
544
529
  const MgCard = class {
545
530
  constructor(hostRef) {
546
531
  index.registerInstance(this, hostRef);
532
+ /*************
533
+ * Private *
534
+ *************/
535
+ this.name = 'mg-card';
536
+ this.baseClass = this.name;
537
+ /**
538
+ * Methode to set default varianStyle props
539
+ * needeed has stencil doesn't know that props is mutated when updated in prop watcher
540
+ * @returns {void}
541
+ */
542
+ this.setDefaultVariantStyle = () => {
543
+ if (this.variantStyle === undefined)
544
+ this.variantStyle = 'bar-left';
545
+ };
546
+ this.variant = undefined;
547
+ this.variantStyle = undefined;
548
+ this.classList = new ClassList([this.baseClass]);
549
+ }
550
+ validateVariant(newValue, oldValue) {
551
+ if (newValue && !variants$3.includes(newValue))
552
+ throw new Error(`<${this.name}> prop "variant" must match VariantType type.`);
553
+ if (Boolean(newValue)) {
554
+ this.setDefaultVariantStyle();
555
+ this.classList.add(`${this.baseClass}--${newValue}`);
556
+ }
557
+ if (Boolean(oldValue))
558
+ this.classList.delete(`${this.baseClass}--${oldValue}`);
559
+ }
560
+ validateVariantStyle(newValue, oldValue) {
561
+ if (newValue && !variantStyles$1.includes(newValue))
562
+ throw new Error(`<${this.name}> prop "variantStyle" must match VariantStyleType type.`);
563
+ else if (Boolean(newValue) && !variants$3.includes(this.variant))
564
+ throw new Error(`<${this.name}> prop "variantStyle" must be paired with ${JSON.stringify(variants$3)} "variant" prop.`);
565
+ if (Boolean(newValue))
566
+ this.classList.add(`${this.baseClass}--${newValue}`);
567
+ if (Boolean(oldValue))
568
+ this.classList.delete(`${this.baseClass}--${oldValue}`);
547
569
  }
548
570
  /*************
549
571
  * Lifecycle *
550
572
  *************/
573
+ /**
574
+ * Check if props are well configured on init
575
+ * @returns {void}
576
+ */
577
+ componentWillLoad() {
578
+ this.validateVariant(this.variant);
579
+ this.validateVariantStyle(this.variantStyle);
580
+ }
551
581
  /**
552
582
  * Render
553
- *
554
583
  * @returns {HTMLElement} HTML Element
555
584
  */
556
585
  render() {
557
- return (index.h("div", { class: "mg-card" }, index.h("slot", null)));
586
+ var _a;
587
+ return (index.h("div", { class: this.classList.join() }, ((_a = this.variantStyle) === null || _a === void 0 ? void 0 : _a.startsWith('bar-')) && index.h("span", { class: "mg-card__bar" }), index.h("slot", null)));
558
588
  }
589
+ static get watchers() { return {
590
+ "variant": ["validateVariant"],
591
+ "variantStyle": ["validateVariantStyle"]
592
+ }; }
559
593
  };
560
594
  MgCard.style = mgCardCss;
561
595
 
@@ -578,7 +612,6 @@ const MgCharacterLeft = class {
578
612
  *************/
579
613
  /**
580
614
  * Check if props are well configured on init
581
- *
582
615
  * @returns {void}
583
616
  */
584
617
  componentWillLoad() {
@@ -587,7 +620,6 @@ const MgCharacterLeft = class {
587
620
  }
588
621
  /**
589
622
  * Render component
590
- *
591
623
  * @returns {HTMLElement} HTML Element
592
624
  */
593
625
  render() {
@@ -600,7 +632,7 @@ const MgCharacterLeft = class {
600
632
  };
601
633
  MgCharacterLeft.style = mgCharacterLeftCss;
602
634
 
603
- 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}";
635
+ 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}";
604
636
 
605
637
  const MgDetails = class {
606
638
  constructor(hostRef) {
@@ -608,7 +640,6 @@ const MgDetails = class {
608
640
  this.expandedChange = index.createEvent(this, "expanded-change", 7);
609
641
  /**
610
642
  * Handle details toggle
611
- *
612
643
  * @returns {void}
613
644
  */
614
645
  this.handleToggle = () => {
@@ -632,7 +663,6 @@ const MgDetails = class {
632
663
  *************/
633
664
  /**
634
665
  * Check if component props are well configured on init
635
- *
636
666
  * @returns {void}
637
667
  */
638
668
  componentWillLoad() {
@@ -641,11 +671,10 @@ const MgDetails = class {
641
671
  }
642
672
  /**
643
673
  * Render
644
- *
645
674
  * @returns {HTMLElement} HTML Element
646
675
  */
647
676
  render() {
648
- return (index.h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: el => (this.details = el) }, index.h("summary", null, index.h("slot", { name: "summary" }), index.h("span", { class: "mg-details__toggle" }, index.h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down' }), index.h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), index.h("div", { class: "mg-details__details" }, index.h("slot", { name: "details" }))));
677
+ return (index.h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: el => (this.details = el) }, index.h("summary", null, index.h("slot", { name: "summary" }), index.h("span", { class: "mg-details__toggle" }, index.h("mg-icon", { icon: this.expanded ? 'chevron-up' : 'chevron-down', size: "small" }), index.h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), index.h("div", { class: "mg-details__details" }, index.h("slot", { name: "details" }))));
649
678
  }
650
679
  static get watchers() { return {
651
680
  "toggleClosed": ["validateTitles"],
@@ -664,7 +693,6 @@ const MgDivider = class {
664
693
  }
665
694
  /**
666
695
  * Render
667
- *
668
696
  * @returns {HTMLElement} HTML Element
669
697
  */
670
698
  render() {
@@ -688,7 +716,6 @@ const MgForm = class {
688
716
  /**
689
717
  * Define required message based on mg-inputs required elements
690
718
  * Also
691
- *
692
719
  * @returns {void}
693
720
  */
694
721
  this.setRequiredMessage = () => {
@@ -714,7 +741,6 @@ const MgForm = class {
714
741
  };
715
742
  /**
716
743
  * Check if form is valid
717
- *
718
744
  * @returns {void}
719
745
  */
720
746
  this.checkValidity = () => {
@@ -727,7 +753,6 @@ const MgForm = class {
727
753
  };
728
754
  /**
729
755
  * Handle Form Submit
730
- *
731
756
  * @param {SubmitEvent} event submit event
732
757
  * @returns {void}
733
758
  */
@@ -737,7 +762,6 @@ const MgForm = class {
737
762
  };
738
763
  /**
739
764
  * Set mgInputs
740
- *
741
765
  * @returns {void}
742
766
  */
743
767
  this.setMgInputs = () => {
@@ -769,7 +793,6 @@ const MgForm = class {
769
793
  }
770
794
  /**
771
795
  * Public method to display errors
772
- *
773
796
  * @returns {Promise<void>}
774
797
  */
775
798
  async displayError() {
@@ -785,7 +808,6 @@ const MgForm = class {
785
808
  *************/
786
809
  /**
787
810
  * Check if component props are well configured on init
788
- *
789
811
  * @returns {void}
790
812
  */
791
813
  componentWillLoad() {
@@ -813,7 +835,6 @@ const MgForm = class {
813
835
  }
814
836
  /**
815
837
  * Add slot listeners
816
- *
817
838
  * @returns {void}
818
839
  */
819
840
  componentDidLoad() {
@@ -832,7 +853,6 @@ const MgForm = class {
832
853
  }
833
854
  /**
834
855
  * Render
835
- *
836
856
  * @returns {HTMLElement} HTML Element
837
857
  */
838
858
  render() {
@@ -919,7 +939,11 @@ const icons = {
919
939
  'ellipsis-vertical': () => (index.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" })),
920
940
  'euro': () => (index.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" })),
921
941
  'euro-circle': () => (index.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" })),
922
- 'exclamation-circle': () => (index.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" })),
942
+ 'exclamation-circle': () => (index.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" })),
943
+ 'exclamation-circle-outline': () => [
944
+ index.h("path", { fill: "currentColor", key: "exclamation-circle-outline-1", d: "M8.75 4v5h-1.5V4h1.5ZM8.75 12v-1.5h-1.5V12h1.5Z" }),
945
+ index.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" }),
946
+ ],
923
947
  'exclamation-stamp': () => (index.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" })),
924
948
  'exclamation-triangle': () => (index.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" })),
925
949
  'eye': () => [
@@ -939,14 +963,37 @@ const icons = {
939
963
  index.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" }),
940
964
  index.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" }),
941
965
  ],
942
- 'file-excel': () => (index.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" })),
943
- 'file-pdf': () => (index.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" })),
966
+ 'file-excel': () => [
967
+ index.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" }),
968
+ index.h("path", { key: "file-excel-2", fill: "currentColor", d: "M10 4V1l3 3h-3Z" }),
969
+ ],
970
+ 'file-excel-outline': () => [
971
+ index.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" }),
972
+ index.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" }),
973
+ ],
974
+ 'file-pdf': () => [
975
+ index.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" }),
976
+ index.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" }),
977
+ index.h("path", { fill: "currentColor", key: "file-pdf-3", d: "M10 1v3h3l-3-3Z" }),
978
+ ],
979
+ 'file-pdf-outline': () => [
980
+ index.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" }),
981
+ index.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" }),
982
+ ],
944
983
  'file-text': () => (index.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" })),
945
984
  'file-text-outline': () => (index.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" })),
946
985
  'file-upload': () => [
947
986
  index.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" }),
948
987
  index.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" }),
949
988
  ],
989
+ 'file-word': () => [
990
+ index.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" }),
991
+ index.h("path", { fill: "currentColor", key: "file-word-2", d: "M10 4V1l3 3h-3Z" }),
992
+ ],
993
+ 'file-word-outline': () => [
994
+ index.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" }),
995
+ index.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" }),
996
+ ],
950
997
  'filter': () => (index.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" })),
951
998
  'floppy-disk': () => (index.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" })),
952
999
  'folder': () => (index.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" })),
@@ -1026,8 +1073,8 @@ const icons = {
1026
1073
  'user': () => (index.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" })),
1027
1074
  'user-circle': () => (index.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" })),
1028
1075
  'user-pen-fancy-outline': () => [
1029
- index.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" }),
1030
- index.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" }),
1076
+ index.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" }),
1077
+ index.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" }),
1031
1078
  ],
1032
1079
  'user-group': () => (index.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" })),
1033
1080
  'user-plus': () => (index.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" })),
@@ -1039,60 +1086,81 @@ const icons = {
1039
1086
  /**
1040
1087
  * List of all possibles sizes
1041
1088
  */
1042
- const sizes$1 = ['small', 'regular', 'large', 'extra-large'];
1089
+ const sizes$1 = ['small', 'regular', 'medium', 'large', 'extra-large'];
1043
1090
  /**
1044
1091
  * List of all possibles variants
1045
1092
  */
1046
- const variants$2 = ['success', 'warning', 'danger', 'info'];
1093
+ const variants$2 = ['success', 'warning', 'danger', 'info', 'app'];
1094
+ /**
1095
+ * List of all possibles variants styles
1096
+ */
1097
+ const variantStyles = ['icon', 'background', 'full'];
1047
1098
 
1048
- 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)}}";
1099
+ 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)}}";
1049
1100
 
1050
1101
  const MgIcon = class {
1051
1102
  constructor(hostRef) {
1052
1103
  index.registerInstance(this, hostRef);
1053
1104
  /**
1054
1105
  * getIcon
1055
- *
1056
1106
  * @returns {HTMLElement} icon html
1057
1107
  */
1058
1108
  this.getIcon = () => icons[this.icon]();
1109
+ /**
1110
+ * Method to set default varianStyle props
1111
+ * needeed has stencil doesn't know that props is mutated when updated in prop watcher
1112
+ * @returns {void}
1113
+ */
1114
+ this.setDefaultVariantStyle = () => {
1115
+ if (this.variantStyle === undefined)
1116
+ this.variantStyle = 'background';
1117
+ };
1059
1118
  this.icon = undefined;
1060
1119
  this.size = 'regular';
1061
1120
  this.variant = undefined;
1121
+ this.variantStyle = undefined;
1062
1122
  this.spin = false;
1063
1123
  this.classList = new ClassList(['mg-icon']);
1064
1124
  }
1065
1125
  validateIcon(newValue, oldValue) {
1066
- if (!Object.keys(icons).includes(newValue)) {
1126
+ if (!Object.keys(icons).includes(newValue))
1067
1127
  throw new Error(`<mg-icon> prop "icon" must be one of: ${Object.keys(icons).join(', ')}`);
1068
- }
1069
1128
  else {
1070
- if (oldValue !== undefined) {
1129
+ if (oldValue !== undefined)
1071
1130
  this.classList.delete(`mg-icon--${oldValue}`);
1072
- }
1073
1131
  this.classList.add(`mg-icon--${newValue}`);
1074
1132
  }
1075
1133
  }
1076
1134
  validateSize(newValue, oldValue) {
1077
- if (!sizes$1.includes(newValue)) {
1135
+ if (!sizes$1.includes(newValue))
1078
1136
  throw new Error(`<mg-icon> prop "size" must be one of: ${sizes$1.join(', ')}`);
1079
- }
1080
1137
  else {
1081
- if (oldValue !== undefined) {
1138
+ if (oldValue !== undefined)
1082
1139
  this.classList.delete(`mg-icon--size-${oldValue}`);
1083
- }
1084
1140
  this.classList.add(`mg-icon--size-${newValue}`);
1085
1141
  }
1086
1142
  }
1087
1143
  validateVariant(newValue, oldValue) {
1088
- if (newValue !== undefined && !variants$2.includes(newValue)) {
1089
- throw new Error(`<mg-icon> prop "variant" must be one of: ${variants$2.join(', ')}`);
1144
+ if (Boolean(newValue)) {
1145
+ if (!variants$2.includes(newValue))
1146
+ throw new Error(`<mg-icon> prop "variant" must be one of: ${variants$2.join(', ')}`);
1147
+ else {
1148
+ this.setDefaultVariantStyle();
1149
+ if (oldValue !== undefined)
1150
+ this.classList.delete(`mg-icon--variant-${oldValue}`);
1151
+ this.classList.add(`mg-icon--variant-${newValue}`);
1152
+ }
1090
1153
  }
1091
- else if (newValue !== undefined) {
1092
- if (oldValue !== undefined) {
1093
- this.classList.delete(`mg-icon--variant-${oldValue}`);
1154
+ }
1155
+ validateVariantStyle(newValue, oldValue) {
1156
+ if (Boolean(newValue)) {
1157
+ if (!variantStyles.includes(newValue))
1158
+ throw new Error(`<mg-icon> prop "variantStyle" must be one of: ${variantStyles.join(', ')}`);
1159
+ else {
1160
+ if (oldValue !== undefined)
1161
+ this.classList.delete(`mg-icon--variant-style-${oldValue}`);
1162
+ this.classList.add(`mg-icon--variant-style-${newValue}`);
1094
1163
  }
1095
- this.classList.add(`mg-icon--variant-${newValue}`);
1096
1164
  }
1097
1165
  }
1098
1166
  handleSpin(newValue) {
@@ -1107,18 +1175,17 @@ const MgIcon = class {
1107
1175
  }
1108
1176
  /**
1109
1177
  * Check if props are well configured on init
1110
- *
1111
1178
  * @returns {void}
1112
1179
  */
1113
1180
  componentWillLoad() {
1114
1181
  this.validateIcon(this.icon);
1115
1182
  this.validateSize(this.size);
1116
1183
  this.validateVariant(this.variant);
1184
+ this.validateVariantStyle(this.variantStyle);
1117
1185
  this.handleSpin(this.spin);
1118
1186
  }
1119
1187
  /**
1120
1188
  * Render component
1121
- *
1122
1189
  * @returns {HTMLElement} HTML Element
1123
1190
  */
1124
1191
  render() {
@@ -1128,6 +1195,7 @@ const MgIcon = class {
1128
1195
  "icon": ["validateIcon"],
1129
1196
  "size": ["validateSize"],
1130
1197
  "variant": ["validateVariant"],
1198
+ "variantStyle": ["validateVariantStyle"],
1131
1199
  "spin": ["handleSpin"]
1132
1200
  }; }
1133
1201
  };
@@ -1146,7 +1214,6 @@ const MgIllustratedMessage = class {
1146
1214
  *************/
1147
1215
  /**
1148
1216
  * Check if component props are well configured on init
1149
- *
1150
1217
  * @returns {void}
1151
1218
  */
1152
1219
  componentDidLoad() {
@@ -1162,7 +1229,6 @@ const MgIllustratedMessage = class {
1162
1229
  }
1163
1230
  /**
1164
1231
  * Render
1165
- *
1166
1232
  * @returns {HTMLElement} HTML Element
1167
1233
  */
1168
1234
  render() {
@@ -1180,7 +1246,6 @@ MgIllustratedMessage.style = mgIllustratedMessageCss;
1180
1246
 
1181
1247
  /**
1182
1248
  * Apply in all input child node the aria-describedby attribute
1183
- *
1184
1249
  * @param {VNode[]} children Represent scoped elements
1185
1250
  * @param {Set<string>} ariaDescribedbyIDs List of IDs
1186
1251
  * @param {FunctionalUtilities} utils Stencil.js utils
@@ -1197,7 +1262,6 @@ const applyAriadescribedBy = (children, ariaDescribedbyIDs, utils) => utils.map(
1197
1262
  });
1198
1263
  /**
1199
1264
  * Add classes based on props
1200
- *
1201
1265
  * @param {MgInputProps} props MgInput Interface Props
1202
1266
  */
1203
1267
  const manageClasses = (props) => {
@@ -1211,14 +1275,12 @@ const manageClasses = (props) => {
1211
1275
  };
1212
1276
  /**
1213
1277
  * Get tagname
1214
- *
1215
1278
  * @param {boolean} isFieldset is fieldset
1216
1279
  * @returns {string} tag name
1217
1280
  */
1218
1281
  const getTagName = (isFieldset) => (isFieldset ? 'fieldset' : 'div');
1219
1282
  /**
1220
1283
  * Get input template
1221
- *
1222
1284
  * @param {MgInputProps} props MgInput Interface Props
1223
1285
  * @param {VNode[]} children Represent scoped elements
1224
1286
  * @param {FunctionalUtilities} utils Stencil.js utils
@@ -1278,7 +1340,6 @@ const MgInput = (props, children, utils) => {
1278
1340
  const TagName = getTagName(props.isFieldset);
1279
1341
  /**
1280
1342
  * Get tooltip node
1281
- *
1282
1343
  * @returns {VNode[]} mg-tooltip
1283
1344
  */
1284
1345
  const getTooltip = () => (index.h("mg-tooltip", { identifier: `${props.identifier}-tooltip`, message: props.tooltip },
@@ -1286,7 +1347,6 @@ const MgInput = (props, children, utils) => {
1286
1347
  /**
1287
1348
  * Get input title (label) node
1288
1349
  * Display asterisk only if not disabled and not readonly
1289
- *
1290
1350
  * @returns {VNode[]} mg-input-title
1291
1351
  */
1292
1352
  const getInputTitle = () => (index.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));
@@ -1308,7 +1368,6 @@ const mgInputCheckboxCss = ":host{display:block}.mg-input{display:flex;align-ite
1308
1368
 
1309
1369
  /**
1310
1370
  * type CheckboxItem validation function
1311
- *
1312
1371
  * @param {unknown} items Checkbox item
1313
1372
  * @returns {boolean} match item type
1314
1373
  */
@@ -1328,7 +1387,6 @@ const MgInputCheckbox = class {
1328
1387
  this.hasDisplayedError = false;
1329
1388
  /**
1330
1389
  * Handle input event
1331
- *
1332
1390
  * @param {InputEvent} event input event
1333
1391
  */
1334
1392
  this.handleInput = (event) => {
@@ -1351,7 +1409,6 @@ const MgInputCheckbox = class {
1351
1409
  };
1352
1410
  /**
1353
1411
  * get invalid element
1354
- *
1355
1412
  * @returns {HTMLInputElement} element
1356
1413
  */
1357
1414
  this.getInvalidElement = () => this.inputs.find((input) => input !== null && !input.disabled && !input.checkValidity());
@@ -1419,7 +1476,6 @@ const MgInputCheckbox = class {
1419
1476
  }
1420
1477
  /**
1421
1478
  * Public method to display errors
1422
- *
1423
1479
  * @returns {Promise<void>}
1424
1480
  */
1425
1481
  async displayError() {
@@ -1432,7 +1488,6 @@ const MgInputCheckbox = class {
1432
1488
  *************/
1433
1489
  /**
1434
1490
  * Check if component props are well configured on init
1435
- *
1436
1491
  * @returns {ReturnType<typeof setTimeout>} timeout
1437
1492
  */
1438
1493
  componentWillLoad() {
@@ -1449,7 +1504,6 @@ const MgInputCheckbox = class {
1449
1504
  }
1450
1505
  /**
1451
1506
  * Render
1452
- *
1453
1507
  * @returns {HTMLElement} HTML Element
1454
1508
  */
1455
1509
  render() {
@@ -1517,7 +1571,6 @@ const MgInputDate = class {
1517
1571
  };
1518
1572
  /**
1519
1573
  * get input error code
1520
- *
1521
1574
  * @returns {null | InputError} error code
1522
1575
  */
1523
1576
  this.getInputError = () => {
@@ -1543,7 +1596,6 @@ const MgInputDate = class {
1543
1596
  };
1544
1597
  /**
1545
1598
  * Check input errors
1546
- *
1547
1599
  * @returns {void}
1548
1600
  */
1549
1601
  this.setErrorMessage = () => {
@@ -1613,7 +1665,6 @@ const MgInputDate = class {
1613
1665
  }
1614
1666
  /**
1615
1667
  * Public method to display errors
1616
- *
1617
1668
  * @returns {Promise<void>}
1618
1669
  */
1619
1670
  async displayError() {
@@ -1626,7 +1677,6 @@ const MgInputDate = class {
1626
1677
  *************/
1627
1678
  /**
1628
1679
  * Check if component props are well configured on init
1629
- *
1630
1680
  * @returns {ReturnType<typeof setTimeout>} timeout
1631
1681
  */
1632
1682
  componentWillLoad() {
@@ -1647,7 +1697,6 @@ const MgInputDate = class {
1647
1697
  }
1648
1698
  /**
1649
1699
  * Render
1650
- *
1651
1700
  * @returns {HTMLElement} HTML Element
1652
1701
  */
1653
1702
  render() {
@@ -1691,7 +1740,6 @@ const MgInputNumeric = class {
1691
1740
  this.hasDisplayedError = false;
1692
1741
  /**
1693
1742
  * Handle input event
1694
- *
1695
1743
  * @returns {void}
1696
1744
  */
1697
1745
  this.handleInput = () => {
@@ -1704,7 +1752,6 @@ const MgInputNumeric = class {
1704
1752
  };
1705
1753
  /**
1706
1754
  * Handle focus event
1707
- *
1708
1755
  * @returns {void}
1709
1756
  */
1710
1757
  this.handleFocus = () => {
@@ -1712,7 +1759,6 @@ const MgInputNumeric = class {
1712
1759
  };
1713
1760
  /**
1714
1761
  * Handle blur event
1715
- *
1716
1762
  * @returns {void}
1717
1763
  */
1718
1764
  this.handleBlur = () => {
@@ -1722,7 +1768,6 @@ const MgInputNumeric = class {
1722
1768
  };
1723
1769
  /**
1724
1770
  * Check if input is valid
1725
- *
1726
1771
  * @returns {void}
1727
1772
  */
1728
1773
  this.checkValidity = () => {
@@ -1733,7 +1778,6 @@ const MgInputNumeric = class {
1733
1778
  };
1734
1779
  /**
1735
1780
  * Set input error message
1736
- *
1737
1781
  * @returns {void}
1738
1782
  */
1739
1783
  this.setErrorMessage = () => {
@@ -1751,27 +1795,27 @@ const MgInputNumeric = class {
1751
1795
  };
1752
1796
  /**
1753
1797
  * Get input error code
1754
- *
1755
1798
  * @returns {null | InputError} error code
1756
1799
  */
1757
1800
  this.getInputError = () => {
1758
1801
  let inputError = null;
1759
- if (this.input === undefined || this.input === null)
1802
+ const hasNotEmptyValues = (toControl) => !toControl.some(value => [null, undefined].includes(value));
1803
+ if (!hasNotEmptyValues([this.input]))
1760
1804
  return inputError;
1761
1805
  // required
1762
1806
  if (!this.input.checkValidity() && this.input.validity.valueMissing) {
1763
1807
  inputError = InputError.REQUIRED;
1764
1808
  }
1765
1809
  // Min & Max
1766
- else if (this.min !== undefined && this.numericValue < this.min && this.max === undefined) {
1810
+ else if (hasNotEmptyValues([this.min, this.numericValue]) && this.numericValue < this.min && this.max === undefined) {
1767
1811
  // Only a min value is set
1768
1812
  inputError = InputError.MIN;
1769
1813
  }
1770
- else if (this.max !== undefined && this.numericValue > this.max && this.min === undefined) {
1814
+ else if (hasNotEmptyValues([this.max, this.numericValue]) && this.numericValue > this.max && this.min === undefined) {
1771
1815
  // Only a max value is set
1772
1816
  inputError = InputError.MAX;
1773
1817
  }
1774
- else if ((this.min !== undefined && this.numericValue < this.min) || (this.max !== undefined && this.numericValue > this.max)) {
1818
+ else if (hasNotEmptyValues([this.min, this.max, this.numericValue]) && (this.numericValue < this.min || this.numericValue > this.max)) {
1775
1819
  // both min and max values are set
1776
1820
  inputError = InputError.MINMAX;
1777
1821
  }
@@ -1779,14 +1823,12 @@ const MgInputNumeric = class {
1779
1823
  };
1780
1824
  /**
1781
1825
  * Format value based on type
1782
- *
1783
1826
  * @param {number} value value to format
1784
1827
  * @returns {string} formated local value
1785
1828
  */
1786
1829
  this.formatValue = (value) => (this.type === 'currency' ? mgMenu_conf.localeCurrency(value, this.locale, this.currency) : mgMenu_conf.localeNumber(value, this.locale));
1787
1830
  /**
1788
1831
  * Validate append slot
1789
- *
1790
1832
  * @returns {void}
1791
1833
  */
1792
1834
  this.validateAppendSlot = () => {
@@ -1821,7 +1863,8 @@ const MgInputNumeric = class {
1821
1863
  this.hasFocus = false;
1822
1864
  }
1823
1865
  validateValue(newValue) {
1824
- if (newValue !== undefined && newValue !== null) {
1866
+ // has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
1867
+ if (typeof newValue === 'string') {
1825
1868
  // Split number and decimal
1826
1869
  const [integer, decimal = ''] = newValue.replace('-', '').split(/[\.,]/);
1827
1870
  // Regex
@@ -1841,7 +1884,7 @@ const MgInputNumeric = class {
1841
1884
  if (this.input !== undefined)
1842
1885
  this.input.value = this.value;
1843
1886
  // emit numeric value
1844
- this.numericValue = this.value !== '' && this.value !== null ? parseFloat(this.value.replace(',', '.')) : null;
1887
+ this.numericValue = !['', null].includes(this.value) ? parseFloat(this.value.replace(',', '.')) : null;
1845
1888
  this.valueChange.emit(this.numericValue);
1846
1889
  // Set readonlyValue
1847
1890
  this.readonlyValue = this.numericValue !== null ? this.formatValue(this.numericValue) : '';
@@ -1874,7 +1917,6 @@ const MgInputNumeric = class {
1874
1917
  }
1875
1918
  /**
1876
1919
  * Public method to display errors
1877
- *
1878
1920
  * @returns {Promise<void>}
1879
1921
  */
1880
1922
  async displayError() {
@@ -1885,8 +1927,7 @@ const MgInputNumeric = class {
1885
1927
  /**
1886
1928
  * Displayed value in input
1887
1929
  * Change on focus/blur
1888
- *
1889
- * @returns {string} display value
1930
+ * @returns {MgInputNumeric['value'] | MgInputNumeric['readonlyValue']} display value
1890
1931
  */
1891
1932
  displayValue() {
1892
1933
  return this.hasFocus ? this.value : this.readonlyValue;
@@ -1896,7 +1937,6 @@ const MgInputNumeric = class {
1896
1937
  *************/
1897
1938
  /**
1898
1939
  * Check if component props are well configured on init
1899
- *
1900
1940
  * @returns {ReturnType<typeof setTimeout>} timeout
1901
1941
  */
1902
1942
  componentWillLoad() {
@@ -1904,11 +1944,12 @@ const MgInputNumeric = class {
1904
1944
  const locales = mgMenu_conf.initLocales(this.element);
1905
1945
  this.locale = locales.locale;
1906
1946
  this.messages = locales.messages;
1907
- // Validate
1908
- this.validateValue(this.value);
1947
+ // Validate component config
1909
1948
  this.validateType(this.type);
1910
1949
  this.validateIntegerLength(this.integerLength);
1911
1950
  this.validateDecimalLength(this.decimalLength);
1951
+ // validate value
1952
+ this.validateValue(this.value);
1912
1953
  this.validateAppendSlot();
1913
1954
  // Check validity when component is ready
1914
1955
  // return a promise to process action only in the FIRST render().
@@ -1919,7 +1960,6 @@ const MgInputNumeric = class {
1919
1960
  }
1920
1961
  /**
1921
1962
  * Render
1922
- *
1923
1963
  * @returns {HTMLElement} HTML Element
1924
1964
  */
1925
1965
  render() {
@@ -2020,7 +2060,6 @@ const MgInputPassword = class {
2020
2060
  }
2021
2061
  /**
2022
2062
  * Public method to display errors
2023
- *
2024
2063
  * @returns {Promise<void>}
2025
2064
  */
2026
2065
  async displayError() {
@@ -2033,7 +2072,6 @@ const MgInputPassword = class {
2033
2072
  *************/
2034
2073
  /**
2035
2074
  * Check if component props are well configured on init
2036
- *
2037
2075
  * @returns {ReturnType<typeof setTimeout>} timeout
2038
2076
  */
2039
2077
  componentWillLoad() {
@@ -2048,7 +2086,6 @@ const MgInputPassword = class {
2048
2086
  }
2049
2087
  /**
2050
2088
  * Render
2051
- *
2052
2089
  * @returns {HTMLElement} HTML Element
2053
2090
  */
2054
2091
  render() {
@@ -2071,7 +2108,6 @@ const mgInputRadioCss = ":host{display:block}.mg-input{display:flex;align-items:
2071
2108
 
2072
2109
  /**
2073
2110
  * type Option validation function
2074
- *
2075
2111
  * @param {RadioOption} option radio option
2076
2112
  * @returns {boolean} radio option type is valid
2077
2113
  */
@@ -2090,7 +2126,6 @@ const MgInputRadio = class {
2090
2126
  this.hasDisplayedError = false;
2091
2127
  /**
2092
2128
  * Handle input event
2093
- *
2094
2129
  * @param {event} event input event
2095
2130
  * @returns {void}
2096
2131
  */
@@ -2100,7 +2135,6 @@ const MgInputRadio = class {
2100
2135
  };
2101
2136
  /**
2102
2137
  * Handle blur event
2103
- *
2104
2138
  * @returns {void}
2105
2139
  */
2106
2140
  this.handleBlur = () => {
@@ -2109,7 +2143,6 @@ const MgInputRadio = class {
2109
2143
  };
2110
2144
  /**
2111
2145
  * Check if input is valid
2112
- *
2113
2146
  * @returns {void}
2114
2147
  */
2115
2148
  this.checkValidity = () => {
@@ -2120,7 +2153,6 @@ const MgInputRadio = class {
2120
2153
  };
2121
2154
  /**
2122
2155
  * Set input error message
2123
- *
2124
2156
  * @returns {void}
2125
2157
  */
2126
2158
  this.setErrorMessage = () => {
@@ -2133,7 +2165,6 @@ const MgInputRadio = class {
2133
2165
  };
2134
2166
  /**
2135
2167
  * get invalid element
2136
- *
2137
2168
  * @returns {HTMLInputElement} element
2138
2169
  */
2139
2170
  this.getInvalidElement = () => this.inputs.find((input) => !input.disabled && !input.readOnly && !input.checkValidity());
@@ -2188,7 +2219,6 @@ const MgInputRadio = class {
2188
2219
  }
2189
2220
  /**
2190
2221
  * Public method to display errors
2191
- *
2192
2222
  * @returns {Promise<void>}
2193
2223
  */
2194
2224
  async displayError() {
@@ -2201,7 +2231,6 @@ const MgInputRadio = class {
2201
2231
  *************/
2202
2232
  /**
2203
2233
  * Check if component props are well configured on init
2204
- *
2205
2234
  * @returns {ReturnType<typeof setTimeout>} timeout
2206
2235
  */
2207
2236
  componentWillLoad() {
@@ -2218,7 +2247,6 @@ const MgInputRadio = class {
2218
2247
  }
2219
2248
  /**
2220
2249
  * Render
2221
- *
2222
2250
  * @returns {HTMLElement} HTML Element
2223
2251
  */
2224
2252
  render() {
@@ -2242,28 +2270,24 @@ const mgInputSelectCss = ":host{display:block}.mg-input{display:flex;align-items
2242
2270
 
2243
2271
  /**
2244
2272
  * Check if item is a well configured option
2245
- *
2246
2273
  * @param {unknown} option select option
2247
2274
  * @returns {boolean} select option type is valid
2248
2275
  */
2249
2276
  const isOption$1 = (option) => typeof option === 'object' && typeof option.title === 'string';
2250
2277
  /**
2251
2278
  * Check if items[] is SelectOption
2252
- *
2253
2279
  * @param {unknown[]} items select option
2254
2280
  * @returns {boolean} select option array type is valid
2255
2281
  */
2256
2282
  const allItemsAreOptions = (items) => Array.isArray(items) && items.every(item => isOption$1(item));
2257
2283
  /**
2258
2284
  * Check if item is a well configured optgroup
2259
- *
2260
2285
  * @param {unknown} optgroup select option
2261
2286
  * @returns {boolean} select optgroup type is valid
2262
2287
  */
2263
2288
  const isOptGroup = (optgroup) => typeof optgroup === 'object' && typeof optgroup.group === 'string' && allItemsAreOptions(optgroup.options);
2264
2289
  /**
2265
2290
  * Group options
2266
- *
2267
2291
  * @param {(SelectOption | OptGroup)[]} acc reduce accumulator
2268
2292
  * @param {SelectOption} item item to add
2269
2293
  * @param {string} item.group item group
@@ -2299,7 +2323,6 @@ const MgInputSelect = class {
2299
2323
  this.hasDisplayedError = false;
2300
2324
  /**
2301
2325
  * Handle input event
2302
- *
2303
2326
  * @returns {void}
2304
2327
  */
2305
2328
  this.handleInput = () => {
@@ -2309,14 +2332,12 @@ const MgInputSelect = class {
2309
2332
  };
2310
2333
  /**
2311
2334
  * Method to compare item.title with input.value
2312
- *
2313
2335
  * @param {SelectOption} item item to compare with
2314
2336
  * @returns {boolean} truthy if input.value is an item
2315
2337
  */
2316
2338
  this.isInputValue = (item) => { var _a; return item.title === ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value); };
2317
2339
  /**
2318
2340
  * value props setter
2319
- *
2320
2341
  * @param {MgInputSelect['value']} newValue value to update with
2321
2342
  * @returns {void}
2322
2343
  */
@@ -2326,7 +2347,6 @@ const MgInputSelect = class {
2326
2347
  };
2327
2348
  /**
2328
2349
  * Update value from input.value
2329
- *
2330
2350
  * @returns {void}
2331
2351
  */
2332
2352
  this.updateValue = () => {
@@ -2353,7 +2373,6 @@ const MgInputSelect = class {
2353
2373
  };
2354
2374
  /**
2355
2375
  * Input value is disabled
2356
- *
2357
2376
  * @returns {boolean} truthy if input value is disabled
2358
2377
  */
2359
2378
  this.isDisabledValue = () => { var _a; return allItemsAreOptions(this.options) && ((_a = this.options.find(this.isInputValue)) === null || _a === void 0 ? void 0 : _a.disabled) === true; };
@@ -2379,7 +2398,6 @@ const MgInputSelect = class {
2379
2398
  };
2380
2399
  /**
2381
2400
  * Render option
2382
- *
2383
2401
  * @param {SelectOption} option to render
2384
2402
  * @returns {HTMLElement} render option
2385
2403
  */
@@ -2460,7 +2478,6 @@ const MgInputSelect = class {
2460
2478
  }
2461
2479
  /**
2462
2480
  * Public method to display errors
2463
- *
2464
2481
  * @returns {Promise<void>}
2465
2482
  */
2466
2483
  async displayError() {
@@ -2473,7 +2490,6 @@ const MgInputSelect = class {
2473
2490
  *************/
2474
2491
  /**
2475
2492
  * Check if component props are well configured on init
2476
- *
2477
2493
  * @returns {ReturnType<typeof setTimeout>} timeout
2478
2494
  */
2479
2495
  componentWillLoad() {
@@ -2495,7 +2511,6 @@ const MgInputSelect = class {
2495
2511
  }
2496
2512
  /**
2497
2513
  * Render
2498
- *
2499
2514
  * @returns {HTMLElement} HTML Element
2500
2515
  */
2501
2516
  render() {
@@ -2534,7 +2549,6 @@ const MgInputText = class {
2534
2549
  this.hasDisplayedError = false;
2535
2550
  /**
2536
2551
  * Handle input event
2537
- *
2538
2552
  * @returns {void}
2539
2553
  */
2540
2554
  this.handleInput = () => {
@@ -2546,7 +2560,6 @@ const MgInputText = class {
2546
2560
  };
2547
2561
  /**
2548
2562
  * Handle focus event
2549
- *
2550
2563
  * @returns {void}
2551
2564
  */
2552
2565
  this.handleFocus = () => {
@@ -2555,7 +2568,6 @@ const MgInputText = class {
2555
2568
  };
2556
2569
  /**
2557
2570
  * Handle blur event
2558
- *
2559
2571
  * @returns {void}
2560
2572
  */
2561
2573
  this.handleBlur = () => {
@@ -2567,7 +2579,6 @@ const MgInputText = class {
2567
2579
  };
2568
2580
  /**
2569
2581
  * Check if input is valid
2570
- *
2571
2582
  * @returns {void}
2572
2583
  */
2573
2584
  this.checkValidity = () => {
@@ -2579,7 +2590,6 @@ const MgInputText = class {
2579
2590
  };
2580
2591
  /**
2581
2592
  * Set input error message
2582
- *
2583
2593
  * @returns {void}
2584
2594
  */
2585
2595
  this.setErrorMessage = () => {
@@ -2596,11 +2606,10 @@ const MgInputText = class {
2596
2606
  };
2597
2607
  /**
2598
2608
  * Validate pattern configuration
2599
- *
2600
2609
  * @returns {void}
2601
2610
  */
2602
2611
  this.validatePattern = () => {
2603
- if (this.pattern &&
2612
+ if (this.pattern !== undefined &&
2604
2613
  typeof this.pattern === 'string' &&
2605
2614
  this.pattern !== '' &&
2606
2615
  (this.patternErrorMessage === undefined || typeof this.patternErrorMessage !== 'string' || this.patternErrorMessage === '')) {
@@ -2609,7 +2618,6 @@ const MgInputText = class {
2609
2618
  };
2610
2619
  /**
2611
2620
  * Validate append slot
2612
- *
2613
2621
  * @returns {void}
2614
2622
  */
2615
2623
  this.validateAppendSlot = () => {
@@ -2669,7 +2677,6 @@ const MgInputText = class {
2669
2677
  }
2670
2678
  /**
2671
2679
  * Public method to play input focus
2672
- *
2673
2680
  * @returns {Promise<void>}
2674
2681
  */
2675
2682
  async setFocus() {
@@ -2677,7 +2684,6 @@ const MgInputText = class {
2677
2684
  }
2678
2685
  /**
2679
2686
  * Public method to display errors
2680
- *
2681
2687
  * @returns {Promise<void>}
2682
2688
  */
2683
2689
  async displayError() {
@@ -2690,7 +2696,6 @@ const MgInputText = class {
2690
2696
  *************/
2691
2697
  /**
2692
2698
  * Check if component props are well configured on init
2693
- *
2694
2699
  * @returns {ReturnType<typeof setTimeout>} timeout
2695
2700
  */
2696
2701
  componentWillLoad() {
@@ -2710,7 +2715,6 @@ const MgInputText = class {
2710
2715
  }
2711
2716
  /**
2712
2717
  * Render
2713
- *
2714
2718
  * @returns {HTMLElement} HTML Element
2715
2719
  */
2716
2720
  render() {
@@ -2779,7 +2783,6 @@ const MgInputTextarea = class {
2779
2783
  /**
2780
2784
  * Get pattern validity
2781
2785
  * Pattern is not defined on textarea field: https://developer.mozilla.org/fr/docs/Web/HTML/Element/Textarea
2782
- *
2783
2786
  * @returns {boolean} is pattern valid
2784
2787
  */
2785
2788
  this.getPatternValidity = () => this.pattern === undefined || new RegExp(`^${this.pattern}$`, 'u').test(this.value);
@@ -2812,7 +2815,7 @@ const MgInputTextarea = class {
2812
2815
  * Validate pattern configuration
2813
2816
  */
2814
2817
  this.validatePattern = () => {
2815
- if (this.pattern &&
2818
+ if (this.pattern !== undefined &&
2816
2819
  typeof this.pattern === 'string' &&
2817
2820
  this.pattern !== '' &&
2818
2821
  (this.patternErrorMessage === undefined || typeof this.patternErrorMessage !== 'string' || this.patternErrorMessage === '')) {
@@ -2867,7 +2870,6 @@ const MgInputTextarea = class {
2867
2870
  }
2868
2871
  /**
2869
2872
  * Public method to display errors
2870
- *
2871
2873
  * @returns {Promise<void>}
2872
2874
  */
2873
2875
  async displayError() {
@@ -2880,7 +2882,6 @@ const MgInputTextarea = class {
2880
2882
  *************/
2881
2883
  /**
2882
2884
  * Check if component props are well configured on init
2883
- *
2884
2885
  * @returns {ReturnType<typeof setTimeout>} timeout
2885
2886
  */
2886
2887
  componentWillLoad() {
@@ -2899,7 +2900,6 @@ const MgInputTextarea = class {
2899
2900
  }
2900
2901
  /**
2901
2902
  * Render
2902
- *
2903
2903
  * @returns {HTMLElement} HTML Element
2904
2904
  */
2905
2905
  render() {
@@ -2947,7 +2947,6 @@ const MgInputTitle = class {
2947
2947
  *************/
2948
2948
  /**
2949
2949
  * Init tag name
2950
- *
2951
2950
  * @returns {void}
2952
2951
  */
2953
2952
  componentWillLoad() {
@@ -2956,7 +2955,6 @@ const MgInputTitle = class {
2956
2955
  }
2957
2956
  /**
2958
2957
  * Render
2959
- *
2960
2958
  * @returns {HTMLElement} HTML Element
2961
2959
  */
2962
2960
  render() {
@@ -2974,7 +2972,6 @@ const mgInputToggleCss = ":host{display:block}.mg-input{display:flex;align-items
2974
2972
 
2975
2973
  /**
2976
2974
  * type Option validation function
2977
- *
2978
2975
  * @param {ToggleValue} option radio option
2979
2976
  * @returns {boolean} toggle option type is valid
2980
2977
  */
@@ -2995,7 +2992,6 @@ const MgInputToggle = class {
2995
2992
  this.classIcon = 'mg-input--toggle-icon';
2996
2993
  /**
2997
2994
  * Change checked value
2998
- *
2999
2995
  * @returns {void}
3000
2996
  */
3001
2997
  this.toggleChecked = () => {
@@ -3003,7 +2999,6 @@ const MgInputToggle = class {
3003
2999
  };
3004
3000
  /**
3005
3001
  * Slots validation
3006
- *
3007
3002
  * @returns {void}
3008
3003
  */
3009
3004
  this.validateSlots = () => {
@@ -3091,7 +3086,6 @@ const MgInputToggle = class {
3091
3086
  }
3092
3087
  /**
3093
3088
  * set checked state
3094
- *
3095
3089
  * @returns {void}
3096
3090
  */
3097
3091
  setChecked() {
@@ -3134,7 +3128,6 @@ const MgInputToggle = class {
3134
3128
  }
3135
3129
  /**
3136
3130
  * Render
3137
- *
3138
3131
  * @returns {HTMLElement} HTML Element
3139
3132
  */
3140
3133
  render() {
@@ -3169,7 +3162,6 @@ const MgMenu = class {
3169
3162
  *************/
3170
3163
  /**
3171
3164
  * Close matching menu-item
3172
- *
3173
3165
  * @param {HTMLElement} item menu-item to close
3174
3166
  * @param {boolean} condition addionnal condition
3175
3167
  * @returns {void}
@@ -3181,19 +3173,16 @@ const MgMenu = class {
3181
3173
  };
3182
3174
  /**
3183
3175
  * get mg-item-more element
3184
- *
3185
3176
  * @returns {HTMLMgItemMoreElement} mg-item-more element
3186
3177
  */
3187
3178
  this.getItemMore = () => this.element.querySelector('mg-item-more');
3188
3179
  /**
3189
3180
  * get mg-item-more >>> mg-menu-item element
3190
- *
3191
3181
  * @returns {HTMLMgMenuItemElement} mg-item-more >>> mg-menu-item element
3192
3182
  */
3193
3183
  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'); };
3194
3184
  /**
3195
3185
  * Set item listend
3196
- *
3197
3186
  * @param {HTMLMgMenuItemElement} item mg-menu-item element
3198
3187
  * @param {MgMenu['focusedMenuItem']} index number
3199
3188
  * @returns {void}
@@ -3211,7 +3200,6 @@ const MgMenu = class {
3211
3200
  };
3212
3201
  /**
3213
3202
  * Store menu-items on component init and add listeners
3214
- *
3215
3203
  * @returns {void}
3216
3204
  */
3217
3205
  this.initMenuItemsListeners = () => {
@@ -3222,7 +3210,6 @@ const MgMenu = class {
3222
3210
  };
3223
3211
  /**
3224
3212
  * Handle item-loaded event on mg-item-more element
3225
- *
3226
3213
  * @returns {void}
3227
3214
  */
3228
3215
  this.handleItemLoaded = () => {
@@ -3230,7 +3217,6 @@ const MgMenu = class {
3230
3217
  };
3231
3218
  /**
3232
3219
  * render mg-item-more
3233
- *
3234
3220
  * @returns {void}
3235
3221
  */
3236
3222
  this.renderMgItemMore = () => {
@@ -3273,7 +3259,6 @@ const MgMenu = class {
3273
3259
  *************/
3274
3260
  /**
3275
3261
  * Validate props
3276
- *
3277
3262
  * @returns {void}
3278
3263
  */
3279
3264
  componentWillLoad() {
@@ -3284,7 +3269,6 @@ const MgMenu = class {
3284
3269
  }
3285
3270
  /**
3286
3271
  * Check if component slots configuration
3287
- *
3288
3272
  * @returns {ReturnType<typeof setTimeout>} timeout
3289
3273
  */
3290
3274
  componentDidLoad() {
@@ -3315,7 +3299,6 @@ const MgMenu = class {
3315
3299
  }
3316
3300
  /**
3317
3301
  * Add listeners to items
3318
- *
3319
3302
  * @returns {void}
3320
3303
  */
3321
3304
  componentDidRender() {
@@ -3323,7 +3306,6 @@ const MgMenu = class {
3323
3306
  }
3324
3307
  /**
3325
3308
  * Render
3326
- *
3327
3309
  * @returns {HTMLElement} HTML Element
3328
3310
  */
3329
3311
  render() {
@@ -3339,7 +3321,7 @@ const MgMenu = class {
3339
3321
  };
3340
3322
  MgMenu.style = mgMenuCss;
3341
3323
 
3342
- 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}";
3324
+ 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}";
3343
3325
 
3344
3326
  const MgMenuItem = class {
3345
3327
  constructor(hostRef) {
@@ -3356,7 +3338,6 @@ const MgMenuItem = class {
3356
3338
  **********/
3357
3339
  /**
3358
3340
  * Toggle expanded prop value
3359
- *
3360
3341
  * @returns {void}
3361
3342
  */
3362
3343
  this.toggleExpanded = () => {
@@ -3364,7 +3345,6 @@ const MgMenuItem = class {
3364
3345
  };
3365
3346
  /**
3366
3347
  * Does an Element have given Status
3367
- *
3368
3348
  * @param {HTMLMgMenuItemElement} mgMenuItemElement to parse
3369
3349
  * @param {MgMenuItem['status']} status to check
3370
3350
  * @returns {boolean} true if element with status is found
@@ -3372,7 +3352,6 @@ const MgMenuItem = class {
3372
3352
  this.hasStatus = (mgMenuItemElement, status) => mgMenuItemElement.status === status;
3373
3353
  /**
3374
3354
  * Is component contextual direction match the given direction
3375
- *
3376
3355
  * @param {MgMenuItem['direction']} direction in parent menu
3377
3356
  * @param {MgMenuItem['direction']} compareWith direction to compare with. Default: `this.direction`
3378
3357
  * @returns {boolean} true is direction match the direction propertie
@@ -3381,7 +3360,6 @@ const MgMenuItem = class {
3381
3360
  /**
3382
3361
  * Update displayNotificationBadge
3383
3362
  * current component notification badge have priority over the slot badge when submenu contain badge
3384
- *
3385
3363
  * @returns {void} update displayNotificationBadge value
3386
3364
  */
3387
3365
  this.updateDisplayNotificationBadge = () => {
@@ -3392,7 +3370,6 @@ const MgMenuItem = class {
3392
3370
  };
3393
3371
  /**
3394
3372
  * Method to control if one of component children have active status
3395
- *
3396
3373
  * @returns {boolean} truthy if component has active child
3397
3374
  */
3398
3375
  this.hasActiveChild = () => {
@@ -3401,7 +3378,6 @@ const MgMenuItem = class {
3401
3378
  };
3402
3379
  /**
3403
3380
  * Validate slots
3404
- *
3405
3381
  * @param {boolean} guard prevent action whith guard. Default: false.
3406
3382
  * @returns {void}
3407
3383
  */
@@ -3421,7 +3397,6 @@ const MgMenuItem = class {
3421
3397
  };
3422
3398
  /**
3423
3399
  * Update status
3424
- *
3425
3400
  * @param {Status[]} guard status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
3426
3401
  * @returns {void}
3427
3402
  */
@@ -3432,7 +3407,6 @@ const MgMenuItem = class {
3432
3407
  };
3433
3408
  /**
3434
3409
  * Init event-listeners
3435
- *
3436
3410
  * @returns {void}
3437
3411
  */
3438
3412
  this.initListeners = () => {
@@ -3449,13 +3423,11 @@ const MgMenuItem = class {
3449
3423
  };
3450
3424
  /**
3451
3425
  * Get mg-popover identifier
3452
- *
3453
3426
  * @returns {MgPopover['identifier']} generated mg-popover identifier
3454
3427
  */
3455
3428
  this.getPopoverIdentifier = () => `${this.identifier}-popover`;
3456
3429
  /**
3457
3430
  * Condition to know if component should display a mg-popover
3458
- *
3459
3431
  * @returns {boolean} truthy if component display popover
3460
3432
  */
3461
3433
  this.displayPopover = () => this.isDirection(mgMenu_conf.Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
@@ -3464,7 +3436,6 @@ const MgMenuItem = class {
3464
3436
  ************/
3465
3437
  /**
3466
3438
  * Handle interacrtive element click
3467
- *
3468
3439
  * @param {MouseEvent} event click on element
3469
3440
  * @returns {void}
3470
3441
  */
@@ -3479,7 +3450,6 @@ const MgMenuItem = class {
3479
3450
  };
3480
3451
  /**
3481
3452
  * Handle popover element display-change event
3482
- *
3483
3453
  * @param {CustomEvent} event popover display event
3484
3454
  * @returns {void}
3485
3455
  */
@@ -3488,7 +3458,6 @@ const MgMenuItem = class {
3488
3458
  };
3489
3459
  /**
3490
3460
  * Render slot
3491
- *
3492
3461
  * @returns {HTMLElement} HTML Element
3493
3462
  */
3494
3463
  this.renderSlot = () => index.h("slot", null);
@@ -3555,7 +3524,6 @@ const MgMenuItem = class {
3555
3524
  }
3556
3525
  /**
3557
3526
  * Render popover clickoutside guard for content slot
3558
- *
3559
3527
  * @returns {void}
3560
3528
  */
3561
3529
  updatePopoverGuard() {
@@ -3569,7 +3537,6 @@ const MgMenuItem = class {
3569
3537
  *************/
3570
3538
  /**
3571
3539
  * Validate props
3572
- *
3573
3540
  * @returns {void}
3574
3541
  */
3575
3542
  componentWillLoad() {
@@ -3586,7 +3553,6 @@ const MgMenuItem = class {
3586
3553
  }
3587
3554
  /**
3588
3555
  * Check if component slots configuration
3589
- *
3590
3556
  * @returns {ReturnType<typeof setTimeout>} timeout
3591
3557
  */
3592
3558
  componentDidLoad() {
@@ -3626,7 +3592,6 @@ const MgMenuItem = class {
3626
3592
  }
3627
3593
  /**
3628
3594
  * Render ineractive element
3629
- *
3630
3595
  * @returns {HTMLElement} HTML Element
3631
3596
  */
3632
3597
  renderInteractiveElement() {
@@ -3635,11 +3600,10 @@ const MgMenuItem = class {
3635
3600
  [`${this.navigationButton}-chevron`]: true,
3636
3601
  [`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
3637
3602
  'mg-a11y-animation': true,
3638
- } }, index.h("mg-icon", { icon: "chevron-down" })))));
3603
+ } }, index.h("mg-icon", { icon: "chevron-down", size: "small" })))));
3639
3604
  }
3640
3605
  /**
3641
3606
  * Render
3642
- *
3643
3607
  * @returns {HTMLElement} HTML Element
3644
3608
  */
3645
3609
  render() {
@@ -3668,7 +3632,7 @@ MgMenuItem.style = mgMenuItemCss;
3668
3632
  */
3669
3633
  const variants$1 = ['info', 'warning', 'success', 'danger'];
3670
3634
 
3671
- 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%}";
3635
+ 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%}";
3672
3636
 
3673
3637
  const MgMessage = class {
3674
3638
  constructor(hostRef) {
@@ -3689,7 +3653,6 @@ const MgMessage = class {
3689
3653
  this.isHovered = false;
3690
3654
  /**
3691
3655
  * Set timer
3692
- *
3693
3656
  * @returns {void}
3694
3657
  */
3695
3658
  this.setTimer = () => {
@@ -3697,7 +3660,6 @@ const MgMessage = class {
3697
3660
  };
3698
3661
  /**
3699
3662
  * Clear timer
3700
- *
3701
3663
  * @returns {void}
3702
3664
  */
3703
3665
  this.clearTimer = () => {
@@ -3705,7 +3667,6 @@ const MgMessage = class {
3705
3667
  };
3706
3668
  /**
3707
3669
  * Event to add on element
3708
- *
3709
3670
  * @param {MouseEvent | FocusEvent} event event
3710
3671
  * @returns {void}
3711
3672
  */
@@ -3730,8 +3691,7 @@ const MgMessage = class {
3730
3691
  };
3731
3692
  /**
3732
3693
  * Get icon corresponding to variant
3733
- *
3734
- * @returns {string} icon
3694
+ * @returns {MgIcon['icon'] | undefined} icon
3735
3695
  */
3736
3696
  this.getIcon = () => {
3737
3697
  switch (this.variant) {
@@ -3754,7 +3714,7 @@ const MgMessage = class {
3754
3714
  this.hasActions = false;
3755
3715
  }
3756
3716
  validateDelay(newValue) {
3757
- if (newValue && newValue < 2) {
3717
+ if (newValue !== undefined && newValue < 2) {
3758
3718
  throw new Error(`<mg-message> prop "delay" must be greater than 2 seconds.`);
3759
3719
  }
3760
3720
  }
@@ -3823,11 +3783,10 @@ const MgMessage = class {
3823
3783
  }
3824
3784
  /**
3825
3785
  * Render
3826
- *
3827
3786
  * @returns {HTMLElement} HTML Element
3828
3787
  */
3829
3788
  render() {
3830
- return (index.h("div", { id: this.identifier, class: this.classList.join(), role: this.variant === 'info' ? 'status' : 'alert' }, index.h("mg-card", null, index.h("span", { class: "mg-message__bar" }), index.h("span", { class: "mg-message__icon" }, index.h("mg-icon", { icon: this.getIcon() })), index.h("div", { class: "mg-message__content" }, index.h("span", { class: "mg-message__content-slot" }, index.h("slot", null)), this.hasActions && index.h("span", { class: "mg-message__content-separator" }), this.hasActions && (index.h("span", { class: "mg-message__content-actions-slot" }, index.h("slot", { name: "actions" })))), this.closeButton && (index.h("span", { class: "mg-message__close-button" }, index.h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, index.h("mg-icon", { icon: "cross" })))))));
3789
+ return (index.h("div", { id: this.identifier, class: this.classList.join(), role: this.variant === 'info' ? 'status' : 'alert' }, index.h("mg-card", { variant: this.variant, "variant-style": "bar-left" }, index.h("span", { class: "mg-message__icon" }, index.h("mg-icon", { icon: this.getIcon() })), index.h("div", { class: "mg-message__content" }, index.h("span", { class: "mg-message__content-slot" }, index.h("slot", null)), this.hasActions && index.h("span", { class: "mg-message__content-separator" }), this.hasActions && (index.h("span", { class: "mg-message__content-actions-slot" }, index.h("slot", { name: "actions" })))), this.closeButton && (index.h("span", { class: "mg-message__close-button" }, index.h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.message.closeButton, onClick: this.handleClose }, index.h("mg-icon", { icon: "cross" })))))));
3831
3790
  }
3832
3791
  get element() { return index.getElement(this); }
3833
3792
  static get watchers() { return {
@@ -3839,7 +3798,7 @@ const MgMessage = class {
3839
3798
  };
3840
3799
  MgMessage.style = mgMessageCss;
3841
3800
 
3842
- 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)}";
3801
+ 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}";
3843
3802
 
3844
3803
  const MgModal = class {
3845
3804
  constructor(hostRef) {
@@ -3887,7 +3846,6 @@ const MgModal = class {
3887
3846
  *************/
3888
3847
  /**
3889
3848
  * Handle close button
3890
- *
3891
3849
  * @returns {void}
3892
3850
  */
3893
3851
  this.handleClose = () => {
@@ -3920,7 +3878,6 @@ const MgModal = class {
3920
3878
  }
3921
3879
  /**
3922
3880
  * Handle 'escape' key down
3923
- *
3924
3881
  * @param {KeyboardEvent} event keydown event
3925
3882
  * @returns {void}
3926
3883
  */
@@ -3935,7 +3892,6 @@ const MgModal = class {
3935
3892
  *************/
3936
3893
  /**
3937
3894
  * Check if component props are well configured on init
3938
- *
3939
3895
  * @returns {void}
3940
3896
  */
3941
3897
  componentWillLoad() {
@@ -3955,7 +3911,6 @@ const MgModal = class {
3955
3911
  }
3956
3912
  /**
3957
3913
  * Add observer on component to set focus when displayed
3958
- *
3959
3914
  * @returns {void}
3960
3915
  */
3961
3916
  componentDidLoad() {
@@ -3971,7 +3926,6 @@ const MgModal = class {
3971
3926
  }
3972
3927
  /**
3973
3928
  * Render
3974
- *
3975
3929
  * @returns {HTMLElement} HTML Element
3976
3930
  */
3977
3931
  render() {
@@ -4007,7 +3961,6 @@ const mgPaginationCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1
4007
3961
  * range(1, 1) = [1]
4008
3962
  * range(1, 5) = [1, 2, 3, 4, 5]
4009
3963
  * range(10, 20, 2) = [10, 12, 14, 16, 18, 20]
4010
- *
4011
3964
  * @param {number} start start range
4012
3965
  * @param {number} end start end
4013
3966
  * @param {number} step step size
@@ -4020,7 +3973,6 @@ const MgPagination = class {
4020
3973
  this.currentPageChange = index.createEvent(this, "current-page-change", 7);
4021
3974
  /**
4022
3975
  * Change current page from target
4023
- *
4024
3976
  * @param {number} target target page
4025
3977
  * @returns {void}
4026
3978
  */
@@ -4032,7 +3984,6 @@ const MgPagination = class {
4032
3984
  ************/
4033
3985
  /**
4034
3986
  * select handler
4035
- *
4036
3987
  * @param {InputEvent} event value change event
4037
3988
  * @returns {void}
4038
3989
  */
@@ -4042,7 +3993,6 @@ const MgPagination = class {
4042
3993
  };
4043
3994
  /**
4044
3995
  * Go to 'previous/next' page button handler
4045
- *
4046
3996
  * @param {string} action navigation action
4047
3997
  * @param {boolean} disabled button disable state
4048
3998
  * @returns {void}
@@ -4075,7 +4025,6 @@ const MgPagination = class {
4075
4025
  *************/
4076
4026
  /**
4077
4027
  * Check if props are well configured on init
4078
- *
4079
4028
  * @returns {void}
4080
4029
  */
4081
4030
  componentWillLoad() {
@@ -4091,7 +4040,6 @@ const MgPagination = class {
4091
4040
  }
4092
4041
  /**
4093
4042
  * Render
4094
- *
4095
4043
  * @returns {HTMLElement} HTML Element
4096
4044
  */
4097
4045
  render() {
@@ -4108,7 +4056,7 @@ const MgPagination = class {
4108
4056
  };
4109
4057
  MgPagination.style = mgPaginationCss;
4110
4058
 
4111
- 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)}";
4059
+ 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}";
4112
4060
 
4113
4061
  const MgPanel = class {
4114
4062
  constructor(hostRef) {
@@ -4120,7 +4068,6 @@ const MgPanel = class {
4120
4068
  ************/
4121
4069
  /**
4122
4070
  * Toggle is editing state
4123
- *
4124
4071
  * @returns {void}
4125
4072
  */
4126
4073
  this.toggleIsEditing = () => {
@@ -4131,7 +4078,6 @@ const MgPanel = class {
4131
4078
  ************/
4132
4079
  /**
4133
4080
  * Collapse button click handler
4134
- *
4135
4081
  * @returns {void}
4136
4082
  */
4137
4083
  this.handleCollapseButton = () => {
@@ -4141,7 +4087,6 @@ const MgPanel = class {
4141
4087
  };
4142
4088
  /**
4143
4089
  * Edit button click handler
4144
- *
4145
4090
  * @returns {void}
4146
4091
  */
4147
4092
  this.handleEditButton = () => {
@@ -4149,7 +4094,6 @@ const MgPanel = class {
4149
4094
  };
4150
4095
  /**
4151
4096
  * Update title handler
4152
- *
4153
4097
  * @param {CustomEvent<string>} event input value change event
4154
4098
  * @returns {void}
4155
4099
  */
@@ -4158,7 +4102,6 @@ const MgPanel = class {
4158
4102
  };
4159
4103
  /**
4160
4104
  * Cancel edition button handler
4161
- *
4162
4105
  * @returns {void}
4163
4106
  */
4164
4107
  this.handleCancelEditButton = () => {
@@ -4167,7 +4110,6 @@ const MgPanel = class {
4167
4110
  };
4168
4111
  /**
4169
4112
  * Validate edition button handler
4170
- *
4171
4113
  * @returns {void}
4172
4114
  */
4173
4115
  this.handleValidateEditButton = () => {
@@ -4179,7 +4121,6 @@ const MgPanel = class {
4179
4121
  };
4180
4122
  /**
4181
4123
  * Header left conditional render
4182
- *
4183
4124
  * @typedef {HTMLElement} HTMLMgButtonElement
4184
4125
  * @returns {HTMLMgButtonElement | HTMLElement | HTMLElement[]} header left element
4185
4126
  */
@@ -4217,10 +4158,10 @@ const MgPanel = class {
4217
4158
  this.titleChange.emit(newValue);
4218
4159
  }
4219
4160
  validatetitlePattern(newValue) {
4220
- if (newValue && !this.titleEditable) {
4161
+ if (newValue !== undefined && !this.titleEditable) {
4221
4162
  throw new Error('<mg-panel> prop "titleEditable" must be set to `true`.');
4222
4163
  }
4223
- if (newValue && (this.titlePatternErrorMessage === undefined || this.titlePatternErrorMessage.trim() === '')) {
4164
+ if (newValue !== undefined && (this.titlePatternErrorMessage === undefined || this.titlePatternErrorMessage.trim() === '')) {
4224
4165
  throw new Error('<mg-panel> prop "titlePattern" must be paired with the prop "titlePatternErrorMessage".');
4225
4166
  }
4226
4167
  }
@@ -4232,7 +4173,6 @@ const MgPanel = class {
4232
4173
  *************/
4233
4174
  /**
4234
4175
  * Check if props are well configured on init
4235
- *
4236
4176
  * @returns {void}
4237
4177
  */
4238
4178
  componentWillLoad() {
@@ -4244,7 +4184,6 @@ const MgPanel = class {
4244
4184
  }
4245
4185
  /**
4246
4186
  * Edit DOM after render
4247
- *
4248
4187
  * @returns {void}
4249
4188
  */
4250
4189
  componentDidRender() {
@@ -4255,7 +4194,6 @@ const MgPanel = class {
4255
4194
  }
4256
4195
  /**
4257
4196
  * Render component
4258
- *
4259
4197
  * @returns {HTMLElement} html element
4260
4198
  */
4261
4199
  render() {
@@ -4433,7 +4371,7 @@ var round = Math.round;
4433
4371
  function getUAString() {
4434
4372
  var uaData = navigator.userAgentData;
4435
4373
 
4436
- if (uaData != null && uaData.brands) {
4374
+ if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
4437
4375
  return uaData.brands.map(function (item) {
4438
4376
  return item.brand + "/" + item.version;
4439
4377
  }).join(' ');
@@ -4752,10 +4690,9 @@ var unsetSides = {
4752
4690
  // Zooming can change the DPR, but it seems to report a value that will
4753
4691
  // cleanly divide the values into the appropriate subpixels.
4754
4692
 
4755
- function roundOffsetsByDPR(_ref) {
4693
+ function roundOffsetsByDPR(_ref, win) {
4756
4694
  var x = _ref.x,
4757
4695
  y = _ref.y;
4758
- var win = window;
4759
4696
  var dpr = win.devicePixelRatio || 1;
4760
4697
  return {
4761
4698
  x: round(x * dpr) / dpr || 0,
@@ -4838,7 +4775,7 @@ function mapToStyles(_ref2) {
4838
4775
  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
4839
4776
  x: x,
4840
4777
  y: y
4841
- }) : {
4778
+ }, getWindow(popper)) : {
4842
4779
  x: x,
4843
4780
  y: y
4844
4781
  };
@@ -6068,7 +6005,7 @@ var createPopper = /*#__PURE__*/popperGenerator({
6068
6005
  defaultModifiers: defaultModifiers
6069
6006
  }); // eslint-disable-next-line import/no-unused-modules
6070
6007
 
6071
- 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)}";
6008
+ 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}";
6072
6009
 
6073
6010
  const MgPopover = class {
6074
6011
  constructor(hostRef) {
@@ -6079,7 +6016,6 @@ const MgPopover = class {
6079
6016
  this.classArrowHide = `mg-popover--arrow-hide`;
6080
6017
  /**
6081
6018
  * Check if clicked outside of component
6082
- *
6083
6019
  * @param {MouseEvent} event mouse event
6084
6020
  * @returns {void}
6085
6021
  */
@@ -6093,7 +6029,6 @@ const MgPopover = class {
6093
6029
  };
6094
6030
  /**
6095
6031
  * Show popover
6096
- *
6097
6032
  * @returns {void}
6098
6033
  */
6099
6034
  this.show = () => {
@@ -6113,7 +6048,6 @@ const MgPopover = class {
6113
6048
  };
6114
6049
  /**
6115
6050
  * Hide popover
6116
- *
6117
6051
  * @returns {void}
6118
6052
  */
6119
6053
  this.hide = () => {
@@ -6128,7 +6062,6 @@ const MgPopover = class {
6128
6062
  };
6129
6063
  /**
6130
6064
  * Handle action for close button
6131
- *
6132
6065
  * @returns {void}
6133
6066
  */
6134
6067
  this.handleCloseButton = () => {
@@ -6162,7 +6095,6 @@ const MgPopover = class {
6162
6095
  *************/
6163
6096
  /**
6164
6097
  * Check if component props are well configured on init
6165
- *
6166
6098
  * @returns {void} timeout
6167
6099
  */
6168
6100
  componentWillLoad() {
@@ -6174,7 +6106,6 @@ const MgPopover = class {
6174
6106
  }
6175
6107
  /**
6176
6108
  * Check if component props are well configured on init
6177
- *
6178
6109
  * @returns {void}
6179
6110
  */
6180
6111
  componentDidLoad() {
@@ -6232,7 +6163,6 @@ const MgPopover = class {
6232
6163
  }
6233
6164
  /**
6234
6165
  * Render
6235
- *
6236
6166
  * @returns {HTMLElement} HTML Element
6237
6167
  */
6238
6168
  render() {
@@ -6257,7 +6187,6 @@ const MgSkipLinks = class {
6257
6187
  **********/
6258
6188
  /**
6259
6189
  * Handle link click and emit go-to-anchor event
6260
- *
6261
6190
  * @param {MouseEvent} event mouse event
6262
6191
  * @returns {void}
6263
6192
  */
@@ -6279,7 +6208,6 @@ const MgSkipLinks = class {
6279
6208
  *************/
6280
6209
  /**
6281
6210
  * Check if props are well configured on init
6282
- *
6283
6211
  * @returns {void}
6284
6212
  */
6285
6213
  componentWillLoad() {
@@ -6288,7 +6216,6 @@ const MgSkipLinks = class {
6288
6216
  }
6289
6217
  /**
6290
6218
  * Render
6291
- *
6292
6219
  * @returns {HTMLElement} HTML Element
6293
6220
  */
6294
6221
  render() {
@@ -6320,7 +6247,6 @@ const mgTabsCss = ".mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.m
6320
6247
 
6321
6248
  /**
6322
6249
  * type TabItem validation function
6323
- *
6324
6250
  * @param {TabItem} tab tab item
6325
6251
  * @returns {boolean} tab item type is valid
6326
6252
  */
@@ -6338,7 +6264,6 @@ const MgTabs = class {
6338
6264
  this.startIndex = 1;
6339
6265
  /**
6340
6266
  * Method to know if given tab has the given status
6341
- *
6342
6267
  * @param {TabItem} tab item tab key to set to ACTIVE status
6343
6268
  * @param {Status} status status to valide
6344
6269
  * @returns {boolean} status comparaison
@@ -6346,7 +6271,6 @@ const MgTabs = class {
6346
6271
  this.tabHasStatus = (tab, status) => tab.status === status;
6347
6272
  /**
6348
6273
  * Method to get element id from index
6349
- *
6350
6274
  * @param {string} element to get id
6351
6275
  * @param {number} index to generate id
6352
6276
  * @returns {string} generated element id
@@ -6354,20 +6278,17 @@ const MgTabs = class {
6354
6278
  this.getElementId = (element, index) => `${element}-${this.getTabItemIndex(index)}`;
6355
6279
  /**
6356
6280
  * Method to get tab item index
6357
- *
6358
6281
  * @param {number} index to get
6359
6282
  * @returns {number} index
6360
6283
  */
6361
6284
  this.getTabItemIndex = (index) => index + this.startIndex;
6362
6285
  /**
6363
6286
  * Method to get the active-tab value
6364
- *
6365
6287
  * @returns {number} of the active-tab
6366
6288
  */
6367
6289
  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);
6368
6290
  /**
6369
6291
  * Handle click events on tabs
6370
- *
6371
6292
  * @param {MouseEvent} event mouse event
6372
6293
  */
6373
6294
  this.handleClick = (event) => {
@@ -6383,14 +6304,12 @@ const MgTabs = class {
6383
6304
  };
6384
6305
  /**
6385
6306
  * get navigation button class from given status
6386
- *
6387
6307
  * @param {Status} status button tab status
6388
6308
  * @returns {string} button class/selector variant
6389
6309
  */
6390
6310
  this.getNavigationButtonClass = (status) => `${this.buttonTabBaseClass}--${status}`;
6391
6311
  /**
6392
6312
  * Handle keyboard event on tabs
6393
- *
6394
6313
  * @param {MouseEvent} event mouse event
6395
6314
  * @returns {void}
6396
6315
  */
@@ -6430,7 +6349,6 @@ const MgTabs = class {
6430
6349
  };
6431
6350
  /**
6432
6351
  * Method to reset focus behavior
6433
- *
6434
6352
  * @returns {void}
6435
6353
  */
6436
6354
  this.resetFocus = () => {
@@ -6510,7 +6428,6 @@ const MgTabs = class {
6510
6428
  *************/
6511
6429
  /**
6512
6430
  * Check if component props are well configured on init
6513
- *
6514
6431
  * @returns {void}
6515
6432
  */
6516
6433
  componentWillLoad() {
@@ -6523,7 +6440,6 @@ const MgTabs = class {
6523
6440
  }
6524
6441
  /**
6525
6442
  * add listners
6526
- *
6527
6443
  * @returns {void}
6528
6444
  */
6529
6445
  componentDidLoad() {
@@ -6534,7 +6450,6 @@ const MgTabs = class {
6534
6450
  }
6535
6451
  /**
6536
6452
  * Render
6537
- *
6538
6453
  * @returns {HTMLElement} HTML Element
6539
6454
  */
6540
6455
  render() {
@@ -6561,7 +6476,7 @@ MgTabs.style = mgTabsCss;
6561
6476
  */
6562
6477
  const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'];
6563
6478
 
6564
- 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}";
6479
+ 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}";
6565
6480
 
6566
6481
  const MgTag = class {
6567
6482
  constructor(hostRef) {
@@ -6609,7 +6524,6 @@ const MgTag = class {
6609
6524
  *************/
6610
6525
  /**
6611
6526
  * Validate the given textContent
6612
- *
6613
6527
  * @param {string} textContent html element textContent property
6614
6528
  * @returns {void}
6615
6529
  */
@@ -6622,7 +6536,6 @@ const MgTag = class {
6622
6536
  *************/
6623
6537
  /**
6624
6538
  * Check if props are well configured on init
6625
- *
6626
6539
  * @returns {void}
6627
6540
  */
6628
6541
  componentWillLoad() {
@@ -6633,7 +6546,6 @@ const MgTag = class {
6633
6546
  }
6634
6547
  /**
6635
6548
  * Render
6636
- *
6637
6549
  * @returns {HTMLElement} HTML Element
6638
6550
  */
6639
6551
  render() {
@@ -6662,7 +6574,6 @@ const MgTooltip = class {
6662
6574
  index.registerInstance(this, hostRef);
6663
6575
  /**
6664
6576
  * Show tooltip
6665
- *
6666
6577
  * @returns {void}
6667
6578
  */
6668
6579
  this.show = () => {
@@ -6672,10 +6583,17 @@ const MgTooltip = class {
6672
6583
  this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: true }] })));
6673
6584
  // Update its position
6674
6585
  this.popper.update();
6586
+ // hide when click outside
6587
+ // setTimeout is used to prevent event to trigger after creation
6588
+ setTimeout(() => {
6589
+ this.windows.forEach((localWindow) => {
6590
+ localWindow.addEventListener('click', this.clickOutside, false);
6591
+ localWindow.addEventListener('keydown', this.pressEscape, false);
6592
+ });
6593
+ }, 0);
6675
6594
  };
6676
6595
  /**
6677
6596
  * Hide tooltip
6678
- *
6679
6597
  * @returns {void}
6680
6598
  */
6681
6599
  this.hide = () => {
@@ -6683,10 +6601,32 @@ const MgTooltip = class {
6683
6601
  this.tooltip.removeAttribute('data-show');
6684
6602
  // Disable the event listeners
6685
6603
  this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }] })));
6604
+ // Remove event listener
6605
+ this.windows.forEach((localWindow) => {
6606
+ localWindow.removeEventListener('click', this.clickOutside, false);
6607
+ localWindow.removeEventListener('keyboard', this.pressEscape, false);
6608
+ });
6609
+ };
6610
+ /**
6611
+ * Check if clicked outside of component and hidde tooltip
6612
+ * @param {MouseEvent} event mouse event
6613
+ * @returns {void}
6614
+ */
6615
+ this.clickOutside = (event) => {
6616
+ if (event.target.closest('mg-tooltip') !== this.element)
6617
+ this.setDisplay(false);
6618
+ };
6619
+ /**
6620
+ * Check if 'Escape' key is pressed of component and hidde tooltip
6621
+ * @param {KeyboardEvent} event keyboard event
6622
+ * @returns {void}
6623
+ */
6624
+ this.pressEscape = (event) => {
6625
+ if (event.code === 'Escape')
6626
+ this.setDisplay(false);
6686
6627
  };
6687
6628
  /**
6688
6629
  * Method to set display prop
6689
- *
6690
6630
  * @param {boolean} newValue display prop new value
6691
6631
  * @param {boolean} condition additionnal condition to apply display prop newValue
6692
6632
  * @returns {void}
@@ -6697,7 +6637,6 @@ const MgTooltip = class {
6697
6637
  };
6698
6638
  /**
6699
6639
  * Action for tooltip element and tooltiped element mouse listener
6700
- *
6701
6640
  * @param {Guard} elementGuard tooltip element guard
6702
6641
  * @param {boolean} isMouseenter mouseenter validation
6703
6642
  * @param {Guard} conditionalGuard guard condition
@@ -6720,7 +6659,6 @@ const MgTooltip = class {
6720
6659
  };
6721
6660
  /**
6722
6661
  * Method to reset guard value
6723
- *
6724
6662
  * @returns {void}
6725
6663
  */
6726
6664
  this.resetGuard = () => {
@@ -6728,7 +6666,6 @@ const MgTooltip = class {
6728
6666
  };
6729
6667
  /**
6730
6668
  * Update slot content when it is a mg-button
6731
- *
6732
6669
  * @param {HTMLMgButtonElement} mgButton slotted mg-button
6733
6670
  * @returns {void}
6734
6671
  */
@@ -6747,7 +6684,6 @@ const MgTooltip = class {
6747
6684
  };
6748
6685
  /**
6749
6686
  * Init tooltip
6750
- *
6751
6687
  * @param {HTMLElement} slotElement slotted element
6752
6688
  * @param {HTMLElement} interactiveElement interactive element
6753
6689
  */
@@ -6786,10 +6722,7 @@ const MgTooltip = class {
6786
6722
  this.resetGuard();
6787
6723
  this.setDisplay(false);
6788
6724
  });
6789
- document.addEventListener('keydown', (event) => {
6790
- if (event.code === 'Escape')
6791
- this.setDisplay(false);
6792
- });
6725
+ document.addEventListener('keydown', this.pressEscape);
6793
6726
  // manage tooltipElement & tooltipedElement mouseenter/mouseleave events
6794
6727
  ['mouseenter', 'mouseleave'].forEach(eventType => {
6795
6728
  const isMouseenter = eventType === 'mouseenter';
@@ -6826,11 +6759,18 @@ const MgTooltip = class {
6826
6759
  /*************
6827
6760
  * Lifecycle *
6828
6761
  *************/
6762
+ /**
6763
+ * set variables
6764
+ * @returns {void}
6765
+ */
6766
+ componentWillLoad() {
6767
+ // Get windows to attach events
6768
+ this.windows = getWindows(window);
6769
+ }
6829
6770
  /**
6830
6771
  * Get slotted element
6831
6772
  * Check if it already contain an interactive element, if not we need to add a tabIndex attribute
6832
6773
  * We need to attach the focused element to the tooltip (aria-describedby)
6833
- *
6834
6774
  * @returns {void}
6835
6775
  */
6836
6776
  componentDidLoad() {
@@ -6864,7 +6804,6 @@ const MgTooltip = class {
6864
6804
  }
6865
6805
  /**
6866
6806
  * Render
6867
- *
6868
6807
  * @returns {HTMLElement} HTML Element
6869
6808
  */
6870
6809
  render() {