@mgdis/mg-components 5.7.0 → 5.8.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.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mg-action-more_31.cjs.entry.js +216 -565
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-item-more.cjs.entry.js +273 -0
- package/dist/cjs/mg-menu.conf-9afe6571.js +242 -0
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/atoms/mg-button/mg-button.js +24 -0
- package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +8 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +6 -2
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +0 -13
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +39 -67
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +3 -3
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +156 -77
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js +1 -0
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.css +30 -0
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +200 -0
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +0 -2
- package/dist/collection/styles/navigation-button.scss +1 -1
- package/dist/collection/utils/behaviors.utils.js +33 -29
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/mg-action-more.js +2 -1
- package/dist/components/mg-button2.js +4 -1
- package/dist/components/mg-icon2.js +8 -0
- package/dist/components/mg-item-more.d.ts +11 -0
- package/dist/components/mg-item-more.js +336 -0
- package/dist/components/mg-menu-item2.js +134 -250
- package/dist/components/mg-menu.conf.js +14 -0
- package/dist/components/mg-menu2.js +35 -102
- package/dist/components/mg-tabs.js +1 -1
- package/dist/components/mg-tooltip2.js +6 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mg-action-more_31.entry.js +185 -534
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-item-more.entry.js +269 -0
- package/dist/esm/mg-menu.conf-881fbd82.js +235 -0
- package/dist/mg-components/mg-components.css +1 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-1221773c.entry.js +1 -0
- package/dist/mg-components/p-367f92d2.js +1 -0
- package/dist/mg-components/p-6aeded97.entry.js +1 -0
- package/dist/mg-components/styles/navigation-button.scss +1 -1
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +5 -0
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +3 -27
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +9 -27
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +5 -0
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +65 -16
- package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +26 -0
- package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +74 -0
- package/dist/types/components.d.ts +66 -12
- package/dist/types/utils/behaviors.utils.d.ts +12 -5
- package/package.json +1 -1
- package/dist/mg-components/p-4cfd5423.entry.js +0 -1
|
@@ -3,227 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-5e7ede97.js');
|
|
6
|
-
|
|
7
|
-
const errors$1 = {
|
|
8
|
-
required: "This field is required.",
|
|
9
|
-
date: {
|
|
10
|
-
badInput: "The date format must be <span aria-hidden=\"true\">mm/dd/yyyy</span><span class=\"sr-only\">m m / d d / y y y y</span> and the date must be greater than {min}",
|
|
11
|
-
min: "The date cannot be earlier than {min}",
|
|
12
|
-
max: "The date cannot be later than {max}",
|
|
13
|
-
minMax: "The date must be between {min} and {max}"
|
|
14
|
-
},
|
|
15
|
-
numeric: {
|
|
16
|
-
min: "The value cannot be less than {min}",
|
|
17
|
-
max: "The value cannot be greater than {max}",
|
|
18
|
-
minMax: "The value must be between {min} et {max}"
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const nbCharLeft$1 = "{counter} characters left.";
|
|
22
|
-
const input$1 = {
|
|
23
|
-
select: {
|
|
24
|
-
placeholder: "Select a value"
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
const form$1 = {
|
|
28
|
-
required: "Fields with a <strong class=\"is-asterisk\">*</strong> are required",
|
|
29
|
-
requiredSingle: "Field with a <strong class=\"is-asterisk\">*</strong> is required",
|
|
30
|
-
allRequired: "All fields are required",
|
|
31
|
-
allRequiredSingle: "The field is required"
|
|
32
|
-
};
|
|
33
|
-
const message$1 = {
|
|
34
|
-
closeButton: "Close message"
|
|
35
|
-
};
|
|
36
|
-
const modal$1 = {
|
|
37
|
-
closeButton: "Close modal"
|
|
38
|
-
};
|
|
39
|
-
const pagination$1 = {
|
|
40
|
-
label: "Pagination",
|
|
41
|
-
page: "page",
|
|
42
|
-
pages: "pages",
|
|
43
|
-
nextPage: "Next page",
|
|
44
|
-
previousPage: "Previous page",
|
|
45
|
-
selectPage: "Select the page to display."
|
|
46
|
-
};
|
|
47
|
-
const panel$1 = {
|
|
48
|
-
editLabel: "Edit section title."
|
|
49
|
-
};
|
|
50
|
-
const skipLinks$1 = {
|
|
51
|
-
navLabel: "Quick access"
|
|
52
|
-
};
|
|
53
|
-
const general$1 = {
|
|
54
|
-
confirm: "Confirm",
|
|
55
|
-
cancel: "Cancel",
|
|
56
|
-
close: "Close",
|
|
57
|
-
next: "next",
|
|
58
|
-
previous: "previous"
|
|
59
|
-
};
|
|
60
|
-
const plusMenu$1 = {
|
|
61
|
-
moreLabel: "Additional menu",
|
|
62
|
-
badgeLabel: "Include notification(s)"
|
|
63
|
-
};
|
|
64
|
-
const actionMore$1 = {
|
|
65
|
-
label: "Actions"
|
|
66
|
-
};
|
|
67
|
-
const en = {
|
|
68
|
-
errors: errors$1,
|
|
69
|
-
nbCharLeft: nbCharLeft$1,
|
|
70
|
-
input: input$1,
|
|
71
|
-
form: form$1,
|
|
72
|
-
message: message$1,
|
|
73
|
-
modal: modal$1,
|
|
74
|
-
pagination: pagination$1,
|
|
75
|
-
panel: panel$1,
|
|
76
|
-
skipLinks: skipLinks$1,
|
|
77
|
-
general: general$1,
|
|
78
|
-
plusMenu: plusMenu$1,
|
|
79
|
-
actionMore: actionMore$1
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const errors = {
|
|
83
|
-
required: "Ce champ est obligatoire.",
|
|
84
|
-
date: {
|
|
85
|
-
badInput: "Le format de la date doit être du type <span aria-hidden=\"true\">jj/mm/aaaa</span><span class=\"sr-only\">j j / m m / a a a a</span> et la date supérieure au {min}",
|
|
86
|
-
min: "La date ne peut pas être antérieure au {min}",
|
|
87
|
-
max: "La date ne peut pas être postérieure au {max}",
|
|
88
|
-
minMax: "La date doit être comprise entre le {min} et le {max}"
|
|
89
|
-
},
|
|
90
|
-
numeric: {
|
|
91
|
-
min: "La valeur ne peut pas être inférieure à {min}",
|
|
92
|
-
max: "La valeur ne peut pas être supérieure à {max}",
|
|
93
|
-
minMax: "La valeur doit être comprise entre {min} et {max}"
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
const nbCharLeft = "{counter} caractères disponibles.";
|
|
97
|
-
const input = {
|
|
98
|
-
select: {
|
|
99
|
-
placeholder: "Sélectionnez une valeur"
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
const form = {
|
|
103
|
-
required: "Les champs marqués d'un <strong class=\"is-asterisk\">*</strong> sont obligatoires",
|
|
104
|
-
requiredSingle: "Le champ marqué d'un <strong class=\"is-asterisk\">*</strong> est obligatoire",
|
|
105
|
-
allRequired: "Tous les champs sont obligatoires",
|
|
106
|
-
allRequiredSingle: "Le champ est obligatoire"
|
|
107
|
-
};
|
|
108
|
-
const message = {
|
|
109
|
-
closeButton: "Fermer le message"
|
|
110
|
-
};
|
|
111
|
-
const modal = {
|
|
112
|
-
closeButton: "Fermer la modale"
|
|
113
|
-
};
|
|
114
|
-
const pagination = {
|
|
115
|
-
label: "Pagination",
|
|
116
|
-
page: "page",
|
|
117
|
-
pages: "pages",
|
|
118
|
-
nextPage: "Page suivante",
|
|
119
|
-
previousPage: "Page précédente",
|
|
120
|
-
selectPage: "Sélectionner la page à afficher."
|
|
121
|
-
};
|
|
122
|
-
const panel = {
|
|
123
|
-
editLabel: "Modifier le titre de la section."
|
|
124
|
-
};
|
|
125
|
-
const skipLinks = {
|
|
126
|
-
navLabel: "Accès rapide"
|
|
127
|
-
};
|
|
128
|
-
const general = {
|
|
129
|
-
confirm: "Valider",
|
|
130
|
-
cancel: "Annuler",
|
|
131
|
-
close: "Fermer",
|
|
132
|
-
next: "suivant",
|
|
133
|
-
previous: "précédent"
|
|
134
|
-
};
|
|
135
|
-
const plusMenu = {
|
|
136
|
-
moreLabel: "Menu complémentaire",
|
|
137
|
-
badgeLabel: "Notification(s) incluse(s)"
|
|
138
|
-
};
|
|
139
|
-
const actionMore = {
|
|
140
|
-
label: "Actions"
|
|
141
|
-
};
|
|
142
|
-
const fr = {
|
|
143
|
-
errors: errors,
|
|
144
|
-
nbCharLeft: nbCharLeft,
|
|
145
|
-
input: input,
|
|
146
|
-
form: form,
|
|
147
|
-
message: message,
|
|
148
|
-
modal: modal,
|
|
149
|
-
pagination: pagination,
|
|
150
|
-
panel: panel,
|
|
151
|
-
skipLinks: skipLinks,
|
|
152
|
-
general: general,
|
|
153
|
-
plusMenu: plusMenu,
|
|
154
|
-
actionMore: actionMore
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Format number to the locale currency
|
|
159
|
-
*
|
|
160
|
-
* @param {number} number number to format
|
|
161
|
-
* @param {string} locale locale to apply
|
|
162
|
-
* @param {string} currency currency to apply
|
|
163
|
-
* @returns {string} formatted currency
|
|
164
|
-
*/
|
|
165
|
-
const localeCurrency = (number, locale, currency) => {
|
|
166
|
-
return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* Format number to locale
|
|
170
|
-
*
|
|
171
|
-
* @param {number} number number to format
|
|
172
|
-
* @param {string} locale locale to apply
|
|
173
|
-
* @returns {string} formatted number
|
|
174
|
-
*/
|
|
175
|
-
const localeNumber = (number, locale) => {
|
|
176
|
-
return new Intl.NumberFormat(locale).format(number);
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Date RegExp
|
|
180
|
-
*/
|
|
181
|
-
const dateRegExp = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
|
|
182
|
-
/**
|
|
183
|
-
* Locale date format
|
|
184
|
-
*
|
|
185
|
-
* @param {string} date date to format
|
|
186
|
-
* @param {string} locale locale to apply
|
|
187
|
-
* @returns {string} formatted date
|
|
188
|
-
*/
|
|
189
|
-
const localeDate = (date, locale) => {
|
|
190
|
-
if (typeof date !== 'string' || date === '' || !dateRegExp.test(date)) {
|
|
191
|
-
return '';
|
|
192
|
-
}
|
|
193
|
-
return new Intl.DateTimeFormat(locale).format(new Date(date));
|
|
194
|
-
};
|
|
195
|
-
/**
|
|
196
|
-
* Get locale and messages
|
|
197
|
-
* We load the defined locale but for now we only support the first subtag for messages
|
|
198
|
-
*
|
|
199
|
-
* @param {HTMLElement} element element we need to get the language
|
|
200
|
-
* @param {unknown} messages messages to use
|
|
201
|
-
* @param {string} defaultLocale default messages locale
|
|
202
|
-
* @returns {{ locale: string; messages: Record<string, unknown> }} messages object
|
|
203
|
-
*/
|
|
204
|
-
const getLocaleMessages = (element, messages, defaultLocale) => {
|
|
205
|
-
// Get local
|
|
206
|
-
const closestLangAttribute = element.closest('[lang]');
|
|
207
|
-
const closestLang = Intl.NumberFormat.supportedLocalesOf(closestLangAttribute === null || closestLangAttribute === void 0 ? void 0 : closestLangAttribute.lang);
|
|
208
|
-
const locale = closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;
|
|
209
|
-
// Only keep first subtag
|
|
210
|
-
const localeSubtag = locale.split('-').shift();
|
|
211
|
-
// Return
|
|
212
|
-
return {
|
|
213
|
-
locale,
|
|
214
|
-
messages: messages[localeSubtag] || messages[defaultLocale],
|
|
215
|
-
};
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
const defaultLocale = 'en';
|
|
219
|
-
const messages = { en, fr };
|
|
220
|
-
/**
|
|
221
|
-
* Get Intl object
|
|
222
|
-
*
|
|
223
|
-
* @param {HTMLElement} element element we need to get the language
|
|
224
|
-
* @returns {{ locale: string; messages: Record<string, unknown> }} messages object
|
|
225
|
-
*/
|
|
226
|
-
const initLocales = (element) => getLocaleMessages(element, messages, defaultLocale);
|
|
6
|
+
const mgMenu_conf = require('./mg-menu.conf-9afe6571.js');
|
|
227
7
|
|
|
228
8
|
/**
|
|
229
9
|
* Available menu-item positions
|
|
@@ -244,32 +24,6 @@ var Status$1;
|
|
|
244
24
|
Status["ACTIVE"] = "active";
|
|
245
25
|
})(Status$1 || (Status$1 = {}));
|
|
246
26
|
|
|
247
|
-
/**
|
|
248
|
-
* Menu direction type
|
|
249
|
-
*/
|
|
250
|
-
var Direction;
|
|
251
|
-
(function (Direction) {
|
|
252
|
-
Direction["VERTICAL"] = "vertical";
|
|
253
|
-
Direction["HORIZONTAL"] = "horizontal";
|
|
254
|
-
})(Direction || (Direction = {}));
|
|
255
|
-
/**
|
|
256
|
-
* More item type guard
|
|
257
|
-
*
|
|
258
|
-
* @param {unknown} element element to control
|
|
259
|
-
* @returns {boolean} truthy if element is more-item
|
|
260
|
-
*/
|
|
261
|
-
const isMoreItem = (element) => {
|
|
262
|
-
var _a, _b, _c;
|
|
263
|
-
const item = element;
|
|
264
|
-
return (item === undefined ||
|
|
265
|
-
(typeof item === 'object' &&
|
|
266
|
-
(typeof item.size === 'string' || typeof ((_a = item.mgIcon) === null || _a === void 0 ? void 0 : _a.icon) === 'string' || typeof ((_b = item.slotLabel) === null || _b === void 0 ? void 0 : _b.label) === 'string' || typeof ((_c = item.slotLabel) === null || _c === void 0 ? void 0 : _c.display) === 'boolean')));
|
|
267
|
-
};
|
|
268
|
-
/**
|
|
269
|
-
* List of all possibles sizes
|
|
270
|
-
*/
|
|
271
|
-
const sizes$2 = ['regular', 'medium', 'large'];
|
|
272
|
-
|
|
273
27
|
/**
|
|
274
28
|
* Create random ID
|
|
275
29
|
*
|
|
@@ -516,7 +270,7 @@ const MgActionMore = class {
|
|
|
516
270
|
* @returns {void}
|
|
517
271
|
*/
|
|
518
272
|
componentWillLoad() {
|
|
519
|
-
this.messages = initLocales(this.element).messages.actionMore;
|
|
273
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages.actionMore;
|
|
520
274
|
this.validateItems(this.items);
|
|
521
275
|
this.validateButton(this.button);
|
|
522
276
|
this.validateIcon(this.icon);
|
|
@@ -537,7 +291,7 @@ const MgActionMore = class {
|
|
|
537
291
|
'mg-a11y-animation': true,
|
|
538
292
|
} }, index.h("mg-icon", { icon: "chevron-down", size: "small" })));
|
|
539
293
|
}
|
|
540
|
-
return (index.h(index.Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, index.h("span", { class: "mg-action-more" }, index.h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded }, index.h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, index.h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), index.h("div", { slot: "content" }, index.h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
|
|
294
|
+
return (index.h(index.Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, index.h("span", { class: "mg-action-more" }, index.h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded }, index.h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, index.h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), index.h("div", { slot: "content" }, index.h("mg-menu", { direction: mgMenu_conf.Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
|
|
541
295
|
var _a;
|
|
542
296
|
return (
|
|
543
297
|
// eslint-disable-next-line react/jsx-no-bind
|
|
@@ -640,6 +394,7 @@ const mgButtonCss = ":host{display:inline-block;vertical-align:middle;max-width:
|
|
|
640
394
|
const MgButton = class {
|
|
641
395
|
constructor(hostRef) {
|
|
642
396
|
index.registerInstance(this, hostRef);
|
|
397
|
+
this.disabledChange = index.createEvent(this, "disabled-change", 7);
|
|
643
398
|
/************
|
|
644
399
|
* Internal *
|
|
645
400
|
************/
|
|
@@ -738,6 +493,8 @@ const MgButton = class {
|
|
|
738
493
|
else {
|
|
739
494
|
this.classList.delete(this.classDisabled);
|
|
740
495
|
}
|
|
496
|
+
// emit value update
|
|
497
|
+
this.disabledChange.emit(isDisabled);
|
|
741
498
|
}
|
|
742
499
|
loadingHandler(newValue) {
|
|
743
500
|
// we add loading style if it newvalue is true else we remove it
|
|
@@ -828,7 +585,7 @@ const MgCharacterLeft = class {
|
|
|
828
585
|
*/
|
|
829
586
|
componentWillLoad() {
|
|
830
587
|
this.validateMaxlength(this.maxlength);
|
|
831
|
-
this.messages = initLocales(this.element).messages;
|
|
588
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
832
589
|
}
|
|
833
590
|
/**
|
|
834
591
|
* Render component
|
|
@@ -1035,7 +792,7 @@ const MgForm = class {
|
|
|
1035
792
|
*/
|
|
1036
793
|
componentWillLoad() {
|
|
1037
794
|
// Get locales
|
|
1038
|
-
this.messages = initLocales(this.element).messages;
|
|
795
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
1039
796
|
// Get slotted mgButtons
|
|
1040
797
|
this.mgButtons = Array.from(this.element.querySelectorAll('mg-button'));
|
|
1041
798
|
// Set button form identifier
|
|
@@ -1123,6 +880,7 @@ const icons = {
|
|
|
1123
880
|
'bell': () => (index.h("path", { fill: "currentColor", d: "M8 15.33a1.7 1.7 0 0 0 1.52-1.83h-3A1.7 1.7 0 0 0 8 15.33ZM13.13 11c-.46-.59-1.32-1.48-1.32-4.42a4.4 4.4 0 0 0-3.05-4.4v-.6A.85.85 0 0 0 8 .67a.85.85 0 0 0-.76.91v.6a4.4 4.4 0 0 0-3 4.44c0 2.94-.86 3.83-1.32 4.42a1 1 0 0 0-.2.63.85.85 0 0 0 .76.91h9.14a.85.85 0 0 0 .76-.91 1.05 1.05 0 0 0-.25-.67Z" })),
|
|
1124
881
|
'briefcase': () => (index.h("path", { fill: "currentColor", d: "M14 4.5h-3v-1c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v1H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-7c0-.55-.45-1-1-1Zm-8-1h4v1H6v-1Z" })),
|
|
1125
882
|
'briefcase-outline': () => (index.h("path", { fill: "currentColor", d: "M14 4.5h-3v-1c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v1H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-7c0-.55-.45-1-1-1Zm-8-1h4v1H6v-1Zm8 9H2v-7h12v7Z" })),
|
|
883
|
+
'building-outline': () => (index.h("path", { fill: "currentColor", d: "M4 2h8v12H9v-1a1 1 0 1 0-2 0v1H4V2Zm4 13h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h4ZM7 4H5v2h2V4Zm2 0h2v2H9V4Zm2 4H9v2h2V8ZM5 8h2v2H5V8Z" })),
|
|
1126
884
|
'calculator': () => (index.h("path", { fill: "currentColor", d: "M12.83.67H3.17a.5.5 0 0 0-.5.5v13.66a.5.5 0 0 0 .5.5h9.66a.5.5 0 0 0 .5-.5V1.17a.5.5 0 0 0-.5-.5ZM5.58 13.39a.29.29 0 0 1-.28.3H4.1a.29.29 0 0 1-.3-.28v-1.2a.29.29 0 0 1 .28-.3h1.2a.29.29 0 0 1 .3.28v1.2Zm0-3.28a.29.29 0 0 1-.3.3H4.1a.29.29 0 0 1-.3-.3V8.93a.29.29 0 0 1 .28-.3h1.2a.29.29 0 0 1 .3.28v1.2Zm3.29 3.28a.29.29 0 0 1-.3.3H7.38a.29.29 0 0 1-.3-.3v-1.18a.29.29 0 0 1 .3-.3h1.19a.29.29 0 0 1 .3.3Zm0-3.28a.32.32 0 0 1-.3.3H7.38a.32.32 0 0 1-.3-.3V8.93a.29.29 0 0 1 .3-.3h1.19a.29.29 0 0 1 .3.3Zm3.33 3.28a.29.29 0 0 1-.28.3h-1.25a.29.29 0 0 1-.3-.28V8.93a.29.29 0 0 1 .28-.3h1.25a.29.29 0 0 1 .3.28v4.48Zm0-7.15a.29.29 0 0 1-.3.3H4.1a.29.29 0 0 1-.3-.3V2.61a.29.29 0 0 1 .28-.3h7.82a.29.29 0 0 1 .3.28v3.65Z" })),
|
|
1127
885
|
'calendar': () => (index.h("path", { fill: "currentColor", d: "M14 3.5c0-.55-.45-1-1-1h-1v-1h-1v1H5v-1H4v1H3c-.55 0-1 .45-1 1v.98s0 .02.02.02H2v9c0 .55.45 1 1 1h10c.55 0 1-.45 1-1v-9h-.02s.02 0 .02-.02V3.5Zm-11 10v-8h10v8H3Z" })),
|
|
1128
886
|
'calendar-outline': () => (index.h("path", { fill: "currentColor", d: "M13 2.5h-1v-1h-1v1H5v-1H4v1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h10c.55 0 1-.45 1-1v-10c0-.55-.45-1-1-1Zm-10 11v-8h10v8H3Zm0-9v-1h10v1H3Z" })),
|
|
@@ -1238,6 +996,7 @@ const icons = {
|
|
|
1238
996
|
'pen': () => (index.h("path", { fill: "currentColor", d: "M1.67,11.69v2.64h2.64l7.78-7.78-2.64-2.64L1.67,11.69ZM14.13,4.51c.27-.28,.27-.72,0-1h0l-1.65-1.64c-.28-.27-.72-.27-1,0h0l-1.28,1.29,2.64,2.64,1.29-1.29Z" })),
|
|
1239
997
|
'pen-circle': () => (index.h("path", { fill: "currentColor", d: "M8 .44C3.82.44.44 3.82.44 8S3.83 15.56 8 15.56s7.56-3.39 7.56-7.56C15.56 3.82 12.18.44 8 .44M5.47 12.19H3.62v-1.85l5.46-5.45 1.85 1.86-5.45 5.45Zm6.88-6.89-.9.9-1.86-1.85.9-.9c.19-.19.51-.19.7 0l1.16 1.15c.19.19.19.51 0 .7" })),
|
|
1240
998
|
'pen-fancy': () => (index.h("path", { fill: "currentColor", d: "M3.63,8.65c-.24,.07-.43,.26-.5,.5l-1.46,4.37,.11,.12,2.3-2.3c0-.06,0-.13,0-.19,0-.44,.35-.8,.79-.81,.44,0,.8,.35,.81,.79,0,.44-.35,.8-.79,.81,0,0-.01,0-.02,0h-.19l-2.3,2.3,.12,.11,4.37-1.46c.24-.07,.43-.26,.5-.5l.82-2.08-2.49-2.48-2.07,.82ZM10.8,2.35L6.27,7.28l2.42,2.42,4.94-4.52c2.1-1.86-.99-4.92-2.83-2.83Z" })),
|
|
999
|
+
'pen-fancy-files-outline': () => (index.h("path", { fill: "currentColor", d: "M12 2H6v10h6V8.946l.023-.058.085-.078.892-.813V12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v.112a2.298 2.298 0 0 0-.974.66L12 2.8V2Zm1 4.643-1 .913-.566.515-1.528-1.524L12 4.275l.767-.832c.075-.085.153-.156.233-.215 1.167-.857 2.796.9 1.555 1.997L13 6.643ZM4 3H3v11.5a.5.5 0 0 0 .5.5H11v-1H4V3Zm4.238 4.41a.466.466 0 0 0-.316.315L7 10.477l.07.076 1.452-1.449v-.12a.51.51 0 0 1 .5-.51.51.51 0 0 1 .511.498.51.51 0 0 1-.499.51h-.133L7.45 10.931l.075.069 2.76-.92a.466.466 0 0 0 .317-.314l.518-1.31-1.573-1.562-1.308.516Z" })),
|
|
1241
1000
|
'pen-fancy-outline': () => (index.h("path", { fill: "currentColor", d: "M12.24 1.67c-.49 0-1 .21-1.44.7L6.27 7.3l2.42 2.42 4.94-4.52c1.6-1.42.19-3.53-1.39-3.53ZM8.72 8.34 7.66 7.28l3.9-4.24c.22-.24.44-.36.69-.36.41 0 .87.34 1.03.78.14.37.04.7-.32 1.02L8.73 8.36ZM5.7 7.86l-2.08.82c-.24.08-.42.26-.5.5l-1.46 4.37.12.12.56.56.12.12 4.37-1.46c.24-.08.42-.26.5-.5l.81-2.08L5.7 7.87Zm-2.57 4.46L4 9.72c.03-.08.09-.15.17-.18l1.29-.51 1.52 1.52-.5 1.29c-.03.08-.1.15-.19.18l-2.6.87.95-.95c.06.02.12.04.19.04.44 0 .79-.35.79-.79s-.35-.79-.79-.79-.79.35-.79.79c0 .07.02.13.04.19l-.95.95Z" })),
|
|
1242
1001
|
'phone': () => (index.h("path", { fill: "currentColor", d: "M13.97 10.62 11.2 9.43a.6.6 0 0 0-.69.17l-1.23 1.5A9.137 9.137 0 0 1 4.9 6.72l1.5-1.23c.21-.17.28-.45.17-.69L5.38 2.03a.589.589 0 0 0-.68-.34l-2.57.59a.59.59 0 0 0-.46.58c0 6.34 5.14 11.48 11.48 11.48.28 0 .52-.19.58-.46l.59-2.57a.595.595 0 0 0-.35-.68Z" })),
|
|
1243
1002
|
'picture': () => (index.h("path", { fill: "currentColor", d: "M14.33 12.93V3.07a1.4 1.4 0 0 0-1.4-1.4H3.07a1.4 1.4 0 0 0-1.4 1.4v9.86a1.4 1.4 0 0 0 1.4 1.4h9.86a1.4 1.4 0 0 0 1.4-1.4ZM5.54 9.06l1.76 2.11L9.76 8l3.17 4.22H3.07Z" })),
|
|
@@ -1256,6 +1015,8 @@ const icons = {
|
|
|
1256
1015
|
index.h("path", { key: "tags-2", fill: "currentColor", d: "M15 7.37 10.15 3a1.12 1.12 0 0 0-.77-.29H8.26l4.5 4.09a1.76 1.76 0 0 1 0 2.65L8.77 13a1.17 1.17 0 0 0 1.55 0L15 8.79a.94.94 0 0 0 0-1.42Z" }),
|
|
1257
1016
|
],
|
|
1258
1017
|
'thumb-up': () => (index.h("path", { fill: "currentColor", d: "M2.11 14.36h1a.45.45 0 0 0 .45-.44V7.17a.45.45 0 0 0-.45-.44h-1a.44.44 0 0 0-.44.44v6.75a.44.44 0 0 0 .44.44Zm12.22-7a1.27 1.27 0 0 0-1.27-1.27H9.71l.61-2.91v-.2a1.07 1.07 0 0 0-.28-.68l-.68-.66-4.17 4.19a1.26 1.26 0 0 0-.37.9v6.36a1.27 1.27 0 0 0 1.27 1.27h5.06a1.24 1.24 0 0 0 1.17-.77l1.92-4.49a1.22 1.22 0 0 0 .09-.46V7.42Z" })),
|
|
1018
|
+
'thumbtack': () => (index.h("path", { fill: "currentColor", d: "M8.91 2 7.71 5.594 2.364 7.09 5.274 10l-.707.706-1.687 1.687-.264.264-.09.09-.209.498L2 14l.755-.317.498-.21.09-.089.264-.264 1.687-1.687.706-.706 2.91 2.908 1.496-5.347L14 7.09 8.91 2Z" })),
|
|
1019
|
+
'thumbtack-outline': () => (index.h("path", { fill: "currentColor", "fill-rule": "evenodd", d: "m5.273 10-2.91 2.91L2 14l1.09-.364L6 10.727l2.91 2.91 1.496-5.348L14 7.09 8.91 2 7.71 5.594 2.364 7.09 5.273 10Zm3.241-3.563-4.18 1.17 4.059 4.059 1.17-4.18 2.533-.845-2.737-2.737-.845 2.533Z" })),
|
|
1259
1020
|
'trash': () => [
|
|
1260
1021
|
index.h("path", { key: "trash-1", fill: "currentColor", d: "M3.27 14.17c0 .66.54 1.19 1.2 1.2h7l-.05-.02h.08c.64-.02 1.14-.56 1.12-1.2V4.32H3.27v9.85Zm5.97-7.12c0-.33.27-.6.6-.6s.6.27.6.6v5.3c0 .33-.27.6-.6.6s-.6-.27-.6-.6v-5.3Zm-3.5 0c0-.33.27-.59.6-.6.32.02.58.28.6.6v5.3c-.02.32-.28.58-.6.6a.645.645 0 0 1-.6-.6v-5.3Zm7.28-5.39h-2.6V.95a.28.28 0 0 0-.28-.28H5.87a.28.28 0 0 0-.28.28v.72H2.91a.28.28 0 0 0-.28.28V3.1c0 .15.12.28.28.28h10.11c.15 0 .28-.12.28-.28V1.94a.28.28 0 0 0-.28-.28Z" }),
|
|
1261
1022
|
index.h("path", { key: "trash-2", fill: "currentColor", d: "M13,2h-2.9L9.9,1.6 C9.8,1.4,9.6,1.2,9.4,1.2H6.6c-0.2,0-0.4,0.1-0.5,0.3L5.8,2H2.9C2.7,2,2.5,2.2,2.5,2.4c0,0,0,0,0,0v0.8c0,0.2,0.2,0.4,0.4,0.4H13 c0.2,0,0.4-0.2,0.4-0.4V2.4C13.4,2.2,13.2,2,13,2z" }),
|
|
@@ -1266,6 +1027,10 @@ const icons = {
|
|
|
1266
1027
|
'upload': () => (index.h("path", { fill: "currentColor", d: "M9.58 10.74V6.59a.31.31 0 0 1 .31-.3H12a.3.3 0 0 0 .21-.52l-4-4a.29.29 0 0 0-.42 0l-4 4a.3.3 0 0 0 .21.52h2.11a.31.31 0 0 1 .31.3v4.15a.3.3 0 0 0 .3.3h2.56a.3.3 0 0 0 .3-.3ZM14.33 14v-1a.29.29 0 0 0-.29-.3H2a.29.29 0 0 0-.29.3v1a.29.29 0 0 0 .29.29h12a.29.29 0 0 0 .33-.29Z" })),
|
|
1267
1028
|
'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" })),
|
|
1268
1029
|
'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" })),
|
|
1030
|
+
'user-pen-fancy-outline': () => [
|
|
1031
|
+
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" }),
|
|
1032
|
+
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" }),
|
|
1033
|
+
],
|
|
1269
1034
|
'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" })),
|
|
1270
1035
|
'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" })),
|
|
1271
1036
|
'user-question-outline': () => (index.h("path", { fill: "currentColor", d: "M5.23 11.14c.86-.66 1.01-1.9.35-2.75s-1.9-1.01-2.75-.35a1.96 1.96 0 0 0 0 3.1c-.72.42-1.16 1.2-1.16 2.03v.8c0 .2.17.37.37.37h3.98c.2 0 .37-.17.37-.37v-.8c0-.83-.44-1.61-1.16-2.03ZM2.81 9.59c0-.67.55-1.22 1.22-1.22s1.22.55 1.22 1.22-.55 1.22-1.22 1.22-1.22-.55-1.22-1.22Zm2.83 4H2.41v-.42c0-.89.72-1.62 1.62-1.62s1.62.72 1.62 1.62v.42h-.01Zm7.13-11.93H8c-.86 0-1.56.7-1.56 1.56v7.16c0 .21.17.37.37.37.08 0 .16-.03.22-.07l1.49-1.12h4.25c.86 0 1.56-.7 1.56-1.56V3.22c0-.86-.7-1.56-1.56-1.56Zm.82 6.33c0 .45-.37.82-.82.82H8.4a.41.41 0 0 0-.22.07l-1 .75V3.22c0-.45.37-.82.82-.82h4.77c.45 0 .82.37.82.82v4.77Zm-2.8-.42c0 .23-.18.41-.41.41s-.41-.18-.41-.41.18-.41.41-.41c.23 0 .41.18.41.41Zm-.41-4.34c-.83 0-1.5.67-1.5 1.5 0 .23.18.41.41.41s.41-.18.41-.41c0-.38.31-.68.69-.68.38 0 .68.31.68.69 0 .38-.31.68-.68.68-.23 0-.41.18-.41.41v.44c0 .23.18.41.41.41s.41-.18.41-.41v-.09c.8-.23 1.26-1.06 1.04-1.85-.18-.65-.77-1.09-1.44-1.09Z" })),
|
|
@@ -1673,7 +1438,7 @@ const MgInputCheckbox = class {
|
|
|
1673
1438
|
*/
|
|
1674
1439
|
componentWillLoad() {
|
|
1675
1440
|
// Get locales
|
|
1676
|
-
this.messages = initLocales(this.element).messages;
|
|
1441
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
1677
1442
|
// Validate
|
|
1678
1443
|
this.validateValue(this.value);
|
|
1679
1444
|
// Check validity when component is ready
|
|
@@ -1794,12 +1559,12 @@ const MgInputDate = class {
|
|
|
1794
1559
|
}
|
|
1795
1560
|
// min, max & minMax
|
|
1796
1561
|
else if ([InputError$1.MIN, InputError$1.MAX, InputError$1.MINMAX].includes(inputError)) {
|
|
1797
|
-
this.errorMessage = this.messages.errors.date[inputError].replace('{min}', localeDate(this.min, this.locale)).replace('{max}', localeDate(this.max, this.locale));
|
|
1562
|
+
this.errorMessage = this.messages.errors.date[inputError].replace('{min}', mgMenu_conf.localeDate(this.min, this.locale)).replace('{max}', mgMenu_conf.localeDate(this.max, this.locale));
|
|
1798
1563
|
}
|
|
1799
1564
|
// wrong date format
|
|
1800
1565
|
// element.validity.badInput is default error message
|
|
1801
1566
|
else {
|
|
1802
|
-
this.errorMessage = this.messages.errors.date.badInput.replace('{min}', ((_a = this.min) === null || _a === void 0 ? void 0 : _a.length) > 0 ? localeDate(this.min, this.locale) : localeDate('1900-01-01', this.locale));
|
|
1567
|
+
this.errorMessage = this.messages.errors.date.badInput.replace('{min}', ((_a = this.min) === null || _a === void 0 ? void 0 : _a.length) > 0 ? mgMenu_conf.localeDate(this.min, this.locale) : mgMenu_conf.localeDate('1900-01-01', this.locale));
|
|
1803
1568
|
}
|
|
1804
1569
|
}
|
|
1805
1570
|
};
|
|
@@ -1825,7 +1590,7 @@ const MgInputDate = class {
|
|
|
1825
1590
|
// When the input is not fully completed or has been cleared, the value becomes an empty string.
|
|
1826
1591
|
if (newValue === '')
|
|
1827
1592
|
newValue = null;
|
|
1828
|
-
if (newValue !== undefined && newValue !== null && (typeof newValue !== 'string' || !dateRegExp.test(newValue))) {
|
|
1593
|
+
if (newValue !== undefined && newValue !== null && (typeof newValue !== 'string' || !mgMenu_conf.dateRegExp.test(newValue))) {
|
|
1829
1594
|
throw new Error("<mg-input-date> props 'value' doesn't match pattern: yyyy-mm-dd");
|
|
1830
1595
|
}
|
|
1831
1596
|
else {
|
|
@@ -1843,7 +1608,7 @@ const MgInputDate = class {
|
|
|
1843
1608
|
}
|
|
1844
1609
|
}
|
|
1845
1610
|
validateMinMax(newValue) {
|
|
1846
|
-
if ((newValue === null || newValue === void 0 ? void 0 : newValue.length) === 0 || ((newValue === null || newValue === void 0 ? void 0 : newValue.length) > 0 && !(typeof newValue === 'string' && dateRegExp.test(newValue)))) {
|
|
1611
|
+
if ((newValue === null || newValue === void 0 ? void 0 : newValue.length) === 0 || ((newValue === null || newValue === void 0 ? void 0 : newValue.length) > 0 && !(typeof newValue === 'string' && mgMenu_conf.dateRegExp.test(newValue)))) {
|
|
1847
1612
|
throw new Error("<mg-input-date> props 'min/max' doesn't match pattern: yyyy-mm-dd");
|
|
1848
1613
|
}
|
|
1849
1614
|
}
|
|
@@ -1867,7 +1632,7 @@ const MgInputDate = class {
|
|
|
1867
1632
|
*/
|
|
1868
1633
|
componentWillLoad() {
|
|
1869
1634
|
// Get locales
|
|
1870
|
-
const locales = initLocales(this.element);
|
|
1635
|
+
const locales = mgMenu_conf.initLocales(this.element);
|
|
1871
1636
|
this.locale = locales.locale;
|
|
1872
1637
|
this.messages = locales.messages;
|
|
1873
1638
|
// Validate
|
|
@@ -1887,7 +1652,7 @@ const MgInputDate = class {
|
|
|
1887
1652
|
* @returns {HTMLElement} HTML Element
|
|
1888
1653
|
*/
|
|
1889
1654
|
render() {
|
|
1890
|
-
return (index.h(MgInput, { identifier: this.identifier, classList: this.classList, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue: localeDate(this.value, this.locale), tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "date", class: "mg-input__box", min: this.min, max: this.max, value: this.value, id: this.identifier, name: this.name, disabled: this.disabled, required: this.required, onInput: this.handleInput, onBlur: this.handleBlur, ref: el => {
|
|
1655
|
+
return (index.h(MgInput, { identifier: this.identifier, classList: this.classList, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: undefined, disabled: this.disabled, value: this.value, readonlyValue: mgMenu_conf.localeDate(this.value, this.locale), tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, index.h("input", { type: "date", class: "mg-input__box", min: this.min, max: this.max, value: this.value, id: this.identifier, name: this.name, disabled: this.disabled, required: this.required, onInput: this.handleInput, onBlur: this.handleBlur, ref: el => {
|
|
1891
1656
|
if (el !== null)
|
|
1892
1657
|
this.input = el;
|
|
1893
1658
|
} })));
|
|
@@ -2019,7 +1784,7 @@ const MgInputNumeric = class {
|
|
|
2019
1784
|
* @param {number} value value to format
|
|
2020
1785
|
* @returns {string} formated local value
|
|
2021
1786
|
*/
|
|
2022
|
-
this.formatValue = (value) => (this.type === 'currency' ? localeCurrency(value, this.locale, this.currency) : localeNumber(value, this.locale));
|
|
1787
|
+
this.formatValue = (value) => (this.type === 'currency' ? mgMenu_conf.localeCurrency(value, this.locale, this.currency) : mgMenu_conf.localeNumber(value, this.locale));
|
|
2023
1788
|
/**
|
|
2024
1789
|
* Validate append slot
|
|
2025
1790
|
*
|
|
@@ -2137,7 +1902,7 @@ const MgInputNumeric = class {
|
|
|
2137
1902
|
*/
|
|
2138
1903
|
componentWillLoad() {
|
|
2139
1904
|
// Get locales
|
|
2140
|
-
const locales = initLocales(this.element);
|
|
1905
|
+
const locales = mgMenu_conf.initLocales(this.element);
|
|
2141
1906
|
this.locale = locales.locale;
|
|
2142
1907
|
this.messages = locales.messages;
|
|
2143
1908
|
// Validate
|
|
@@ -2274,7 +2039,7 @@ const MgInputPassword = class {
|
|
|
2274
2039
|
*/
|
|
2275
2040
|
componentWillLoad() {
|
|
2276
2041
|
// Get locales
|
|
2277
|
-
this.messages = initLocales(this.element).messages;
|
|
2042
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
2278
2043
|
// Check validity when component is ready
|
|
2279
2044
|
// return a promise to process action only in the FIRST render().
|
|
2280
2045
|
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
@@ -2442,7 +2207,7 @@ const MgInputRadio = class {
|
|
|
2442
2207
|
*/
|
|
2443
2208
|
componentWillLoad() {
|
|
2444
2209
|
// Get locales
|
|
2445
|
-
this.messages = initLocales(this.element).messages;
|
|
2210
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
2446
2211
|
// Validate
|
|
2447
2212
|
this.validateItems(this.items);
|
|
2448
2213
|
// Check validity when component is ready
|
|
@@ -2649,7 +2414,7 @@ const MgInputSelect = class {
|
|
|
2649
2414
|
*/
|
|
2650
2415
|
componentWillLoad() {
|
|
2651
2416
|
// Get locales
|
|
2652
|
-
this.messages = initLocales(this.element).messages;
|
|
2417
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
2653
2418
|
// Validate
|
|
2654
2419
|
this.validateItems(this.items);
|
|
2655
2420
|
// Set default placeholder
|
|
@@ -2865,7 +2630,7 @@ const MgInputText = class {
|
|
|
2865
2630
|
*/
|
|
2866
2631
|
componentWillLoad() {
|
|
2867
2632
|
// Get locales
|
|
2868
|
-
this.messages = initLocales(this.element).messages;
|
|
2633
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
2869
2634
|
this.characterLeftId = `${this.identifier}-character-left`;
|
|
2870
2635
|
// Validate
|
|
2871
2636
|
this.validateIcon(this.icon);
|
|
@@ -3055,7 +2820,7 @@ const MgInputTextarea = class {
|
|
|
3055
2820
|
*/
|
|
3056
2821
|
componentWillLoad() {
|
|
3057
2822
|
// Get locales
|
|
3058
|
-
this.messages = initLocales(this.element).messages;
|
|
2823
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
3059
2824
|
this.characterLeftId = `${this.identifier}-character-left`;
|
|
3060
2825
|
// Validate
|
|
3061
2826
|
this.validateDisplayCharacterLeft(this.displayCharacterLeft);
|
|
@@ -3323,158 +3088,6 @@ const MgInputToggle = class {
|
|
|
3323
3088
|
};
|
|
3324
3089
|
MgInputToggle.style = mgInputToggleCss;
|
|
3325
3090
|
|
|
3326
|
-
/**
|
|
3327
|
-
* MgMenuItem type guard
|
|
3328
|
-
*
|
|
3329
|
-
* @param {HTMLElement} element element to control type
|
|
3330
|
-
* @returns {boolean} truthy if element is mg-menu-item
|
|
3331
|
-
*/
|
|
3332
|
-
const isMgMenuItem = (element) => element.nodeName === 'MG-MENU-ITEM';
|
|
3333
|
-
var OverflowBehaviorElements;
|
|
3334
|
-
(function (OverflowBehaviorElements) {
|
|
3335
|
-
OverflowBehaviorElements["MORE"] = "data-overflow-more";
|
|
3336
|
-
OverflowBehaviorElements["BASE_INDEX"] = "data-overflow-base-index";
|
|
3337
|
-
OverflowBehaviorElements["PROXY_INDEX"] = "data-overflow-proxy-index";
|
|
3338
|
-
})(OverflowBehaviorElements || (OverflowBehaviorElements = {}));
|
|
3339
|
-
class OverflowBehavior {
|
|
3340
|
-
constructor(element, render) {
|
|
3341
|
-
this.element = element;
|
|
3342
|
-
this.render = render;
|
|
3343
|
-
/**********
|
|
3344
|
-
* Public *
|
|
3345
|
-
**********/
|
|
3346
|
-
/**
|
|
3347
|
-
* Disconnect ResizeObserver
|
|
3348
|
-
*
|
|
3349
|
-
* @returns {void}
|
|
3350
|
-
*/
|
|
3351
|
-
this.disconnect = () => {
|
|
3352
|
-
this.resizeObserver.disconnect();
|
|
3353
|
-
};
|
|
3354
|
-
/************
|
|
3355
|
-
* Internal *
|
|
3356
|
-
************/
|
|
3357
|
-
/**
|
|
3358
|
-
* run overflow behavior
|
|
3359
|
-
*
|
|
3360
|
-
* @param {number} width width of the container
|
|
3361
|
-
* @returns {void}
|
|
3362
|
-
*/
|
|
3363
|
-
this.run = (width) => {
|
|
3364
|
-
if (this.moreElement === undefined) {
|
|
3365
|
-
// set moreElement
|
|
3366
|
-
this.moreElement = this.render();
|
|
3367
|
-
this.moreElement.setAttribute(OverflowBehaviorElements.MORE, '');
|
|
3368
|
-
// set children
|
|
3369
|
-
this.children = Array.from(this.element.children);
|
|
3370
|
-
let moreElementChildren;
|
|
3371
|
-
const allowedElements = ['MG-MENU-ITEM', 'MG-BUTTON'];
|
|
3372
|
-
if (isMgMenuItem(this.moreElement)) {
|
|
3373
|
-
moreElementChildren = Array.from(this.moreElement.querySelector('mg-menu').children).filter(element => allowedElements.includes(element.nodeName));
|
|
3374
|
-
}
|
|
3375
|
-
this.children.forEach((child, index) => {
|
|
3376
|
-
child.setAttribute(OverflowBehaviorElements.BASE_INDEX, `${index}`);
|
|
3377
|
-
if (child.getAttribute(OverflowBehaviorElements.MORE) === null) {
|
|
3378
|
-
// set moreElement children
|
|
3379
|
-
moreElementChildren[index].setAttribute(OverflowBehaviorElements.PROXY_INDEX, `${index}`);
|
|
3380
|
-
}
|
|
3381
|
-
});
|
|
3382
|
-
}
|
|
3383
|
-
this.updateDisplayedItems(width);
|
|
3384
|
-
};
|
|
3385
|
-
/**
|
|
3386
|
-
* Update displayed items in container from a given available space
|
|
3387
|
-
*
|
|
3388
|
-
* @param {number} availableWidth available width in container to display child items
|
|
3389
|
-
* @returns {void}
|
|
3390
|
-
*/
|
|
3391
|
-
this.updateDisplayedItems = (availableWidth) => {
|
|
3392
|
-
this.restoreItems();
|
|
3393
|
-
const acc = { accWidth: 0, previousItem: null };
|
|
3394
|
-
this.children.forEach((child) => {
|
|
3395
|
-
acc.accWidth += child.offsetWidth;
|
|
3396
|
-
const isPreviousItemHidden = acc.previousItem !== null && acc.previousItem.getAttribute('hidden') !== null;
|
|
3397
|
-
// if previous item is hidden AND is NOT more element we hidde current
|
|
3398
|
-
// OR if item has an overflow we hidde current
|
|
3399
|
-
// OR if current item is more element AND have NOT previous hidden items, current more element item is an hidden item
|
|
3400
|
-
// ELSE current is a display item
|
|
3401
|
-
this.toggleItem(child, (isPreviousItemHidden && !this.isMoreElement(child)) || this.isOverflowElement(acc.accWidth, child, availableWidth) || (this.isMoreElement(child) && !isPreviousItemHidden));
|
|
3402
|
-
// update previous item with current item
|
|
3403
|
-
acc.previousItem = child;
|
|
3404
|
-
});
|
|
3405
|
-
};
|
|
3406
|
-
/**
|
|
3407
|
-
* Utility method to know if item overflow partialy or totaly in the container
|
|
3408
|
-
*
|
|
3409
|
-
* @param {number} cumulateWidth previous sibling elements cumulate width + item width
|
|
3410
|
-
* @param {HTMLElement} item item HTML element
|
|
3411
|
-
* @param {number} availableWidth container available width
|
|
3412
|
-
* @returns {boolean} truthy if element is overflow
|
|
3413
|
-
*/
|
|
3414
|
-
this.isOverflowElement = (cumulateWidth, item, availableWidth) => {
|
|
3415
|
-
if (item.previousElementSibling === null || this.isMoreElement(item))
|
|
3416
|
-
return false;
|
|
3417
|
-
else if (!this.isMoreElement(item.nextElementSibling))
|
|
3418
|
-
return cumulateWidth + this.moreElement.offsetWidth > availableWidth;
|
|
3419
|
-
else
|
|
3420
|
-
return cumulateWidth > availableWidth;
|
|
3421
|
-
};
|
|
3422
|
-
/**
|
|
3423
|
-
* Utility method to know if a given element is the 'MORE' element
|
|
3424
|
-
*
|
|
3425
|
-
* @param {Element} element element to match with 'MORE' element
|
|
3426
|
-
* @returns {boolean} truthy if element is the 'MORE' element
|
|
3427
|
-
*/
|
|
3428
|
-
this.isMoreElement = (element) => element.getAttribute(OverflowBehaviorElements.MORE) !== null;
|
|
3429
|
-
/**
|
|
3430
|
-
* Toggle display item element
|
|
3431
|
-
*
|
|
3432
|
-
* @param {HTMLElement} item item to control
|
|
3433
|
-
* @param {boolean} isHidden is item hidden
|
|
3434
|
-
* @returns {void}
|
|
3435
|
-
*/
|
|
3436
|
-
this.toggleItem = (item, isHidden) => {
|
|
3437
|
-
const mgActionMenuindex = Number(item.getAttribute(OverflowBehaviorElements.BASE_INDEX));
|
|
3438
|
-
if (this.isMoreElement(item))
|
|
3439
|
-
this.toggleElement(this.moreElement, isHidden);
|
|
3440
|
-
else if (mgActionMenuindex >= 0) {
|
|
3441
|
-
this.toggleElement(item, isHidden);
|
|
3442
|
-
this.toggleElement(this.moreElement.querySelector(`[${OverflowBehaviorElements.PROXY_INDEX}="${mgActionMenuindex}"]`), !isHidden);
|
|
3443
|
-
}
|
|
3444
|
-
};
|
|
3445
|
-
/**
|
|
3446
|
-
* Toggle element's hidde attribute
|
|
3447
|
-
*
|
|
3448
|
-
* @param {Element} element element to toggle
|
|
3449
|
-
* @param {boolean} isHidden element is hidden
|
|
3450
|
-
* @returns {void}
|
|
3451
|
-
*/
|
|
3452
|
-
this.toggleElement = (element, isHidden) => {
|
|
3453
|
-
if (isHidden)
|
|
3454
|
-
element.setAttribute('hidden', '');
|
|
3455
|
-
else
|
|
3456
|
-
element.removeAttribute('hidden');
|
|
3457
|
-
};
|
|
3458
|
-
/**
|
|
3459
|
-
* Remove hidden attributes on all items
|
|
3460
|
-
*
|
|
3461
|
-
* @returns {void}
|
|
3462
|
-
*/
|
|
3463
|
-
this.restoreItems = () => {
|
|
3464
|
-
this.children.forEach(item => item.removeAttribute('hidden'));
|
|
3465
|
-
};
|
|
3466
|
-
if (this.resizeObserver === undefined) {
|
|
3467
|
-
// add resize observer
|
|
3468
|
-
this.resizeObserver = new ResizeObserver(entries => {
|
|
3469
|
-
entries.forEach(entry => {
|
|
3470
|
-
this.run(entry.contentRect.width);
|
|
3471
|
-
});
|
|
3472
|
-
});
|
|
3473
|
-
this.resizeObserver.observe(this.element);
|
|
3474
|
-
}
|
|
3475
|
-
}
|
|
3476
|
-
}
|
|
3477
|
-
|
|
3478
3091
|
const mgMenuCss = ".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:flex;background-color:hsl(var(--mg-menu-background-color-hsl, var(--color-light)))}:host([direction=vertical]){flex-direction:column;height:100%;overflow-y:auto}";
|
|
3479
3092
|
|
|
3480
3093
|
const MgMenu = class {
|
|
@@ -3521,45 +3134,23 @@ const MgMenu = class {
|
|
|
3521
3134
|
});
|
|
3522
3135
|
};
|
|
3523
3136
|
/**
|
|
3524
|
-
* render mg-
|
|
3137
|
+
* render mg-item-more
|
|
3525
3138
|
*
|
|
3526
|
-
* @returns {
|
|
3527
|
-
*/
|
|
3528
|
-
this.renderMgMenuMore = () => {
|
|
3529
|
-
const moreElement = this.element.shadowRoot.querySelector(`[${OverflowBehaviorElements.MORE}]`);
|
|
3530
|
-
this.menuItems.forEach((child) => {
|
|
3531
|
-
const proxy = child.cloneNode(true);
|
|
3532
|
-
moreElement.querySelector('mg-menu').appendChild(proxy);
|
|
3533
|
-
});
|
|
3534
|
-
const allMenuItem = Array.from(this.element.querySelectorAll('mg-menu-item:not([data-overflow-more])'));
|
|
3535
|
-
Array.from(moreElement.querySelectorAll('mg-menu-item:not([data-overflow-more])')).forEach((proxy, index) => {
|
|
3536
|
-
// manage click on proxy to mirror it on initial element
|
|
3537
|
-
proxy.addEventListener('click', () => {
|
|
3538
|
-
(allMenuItem[index].shadowRoot.querySelector('a') || allMenuItem[index].shadowRoot.querySelector('button')).dispatchEvent(new MouseEvent('click', { bubbles: true }));
|
|
3539
|
-
});
|
|
3540
|
-
// manage status change miror in proxy
|
|
3541
|
-
allMenuItem[index].addEventListener('status-change', (event) => {
|
|
3542
|
-
proxy.setAttribute('status', event.detail);
|
|
3543
|
-
});
|
|
3544
|
-
});
|
|
3545
|
-
this.element.appendChild(moreElement);
|
|
3546
|
-
return this.element.querySelector(`[${OverflowBehaviorElements.MORE}]`);
|
|
3547
|
-
};
|
|
3548
|
-
/**
|
|
3549
|
-
* Render mg-menu-item more element for overflow behavior
|
|
3550
|
-
*
|
|
3551
|
-
* @returns {HTMLElement} rendered mg-menu-item more element
|
|
3139
|
+
* @returns {void}
|
|
3552
3140
|
*/
|
|
3553
|
-
this.
|
|
3554
|
-
|
|
3555
|
-
|
|
3141
|
+
this.renderMgItemMore = () => {
|
|
3142
|
+
// /!\ externalise item tag name to get a string type and bypass type checking when value is used in next createElement
|
|
3143
|
+
// by doing this we prevent stencil to generate a circular dependencies graph at build time with mg-item-more component.
|
|
3144
|
+
const item = 'mg-item-more';
|
|
3145
|
+
const mgItemMore = document.createElement(item);
|
|
3146
|
+
Object.assign(mgItemMore, this.itemMore);
|
|
3147
|
+
this.element.appendChild(mgItemMore);
|
|
3556
3148
|
};
|
|
3557
3149
|
this.label = undefined;
|
|
3558
|
-
this.direction = Direction.HORIZONTAL;
|
|
3559
|
-
this.
|
|
3150
|
+
this.direction = mgMenu_conf.Direction.HORIZONTAL;
|
|
3151
|
+
this.itemMore = undefined;
|
|
3560
3152
|
this.size = 'regular';
|
|
3561
3153
|
this.isChildMenu = undefined;
|
|
3562
|
-
this.hasOverflow = false;
|
|
3563
3154
|
}
|
|
3564
3155
|
validateLabel(newValue) {
|
|
3565
3156
|
if (newValue === undefined) {
|
|
@@ -3567,21 +3158,18 @@ const MgMenu = class {
|
|
|
3567
3158
|
}
|
|
3568
3159
|
}
|
|
3569
3160
|
validateDirection(newValue) {
|
|
3570
|
-
if (![Direction.VERTICAL, Direction.HORIZONTAL].includes(newValue)) {
|
|
3571
|
-
throw new Error(`<${this.name}> prop "direction" must be one of: ${Direction.HORIZONTAL}, ${Direction.VERTICAL}.`);
|
|
3161
|
+
if (![mgMenu_conf.Direction.VERTICAL, mgMenu_conf.Direction.HORIZONTAL].includes(newValue)) {
|
|
3162
|
+
throw new Error(`<${this.name}> prop "direction" must be one of: ${mgMenu_conf.Direction.HORIZONTAL}, ${mgMenu_conf.Direction.VERTICAL}.`);
|
|
3572
3163
|
}
|
|
3573
3164
|
}
|
|
3574
|
-
|
|
3575
|
-
if (newValue !== undefined && this.direction !== Direction.HORIZONTAL) {
|
|
3576
|
-
throw new Error(`<${this.name}> prop "
|
|
3577
|
-
}
|
|
3578
|
-
else if (newValue !== undefined && !isMoreItem(newValue)) {
|
|
3579
|
-
throw new Error(`<${this.name}> prop "moreitem" must match MoreItemType.`);
|
|
3165
|
+
validateItemMore(newValue) {
|
|
3166
|
+
if (newValue !== undefined && this.direction !== mgMenu_conf.Direction.HORIZONTAL) {
|
|
3167
|
+
throw new Error(`<${this.name}> prop "itemMore" must be paired with direction ${mgMenu_conf.Direction.HORIZONTAL}.`);
|
|
3580
3168
|
}
|
|
3581
3169
|
}
|
|
3582
3170
|
validateSize(newValue) {
|
|
3583
|
-
if (!sizes
|
|
3584
|
-
throw new Error(`<${this.name}> prop "size" must be one of: ${sizes
|
|
3171
|
+
if (!mgMenu_conf.sizes.includes(newValue)) {
|
|
3172
|
+
throw new Error(`<${this.name}> prop "size" must be one of: ${mgMenu_conf.sizes.join(', ')}.`);
|
|
3585
3173
|
}
|
|
3586
3174
|
}
|
|
3587
3175
|
/*************
|
|
@@ -3593,11 +3181,9 @@ const MgMenu = class {
|
|
|
3593
3181
|
* @returns {void}
|
|
3594
3182
|
*/
|
|
3595
3183
|
componentWillLoad() {
|
|
3596
|
-
this.messages = initLocales(this.element).messages.plusMenu;
|
|
3597
|
-
// validation
|
|
3598
3184
|
this.validateDirection(this.direction);
|
|
3599
3185
|
this.validateLabel(this.label);
|
|
3600
|
-
this.
|
|
3186
|
+
this.validateItemMore(this.itemMore);
|
|
3601
3187
|
this.validateSize(this.size);
|
|
3602
3188
|
}
|
|
3603
3189
|
/**
|
|
@@ -3613,48 +3199,50 @@ const MgMenu = class {
|
|
|
3613
3199
|
// store all menu-items
|
|
3614
3200
|
this.menuItems = Array.from(this.element.children).filter(child => child.nodeName === 'MG-MENU-ITEM');
|
|
3615
3201
|
this.isChildMenu = this.element.closest('mg-menu-item') !== null;
|
|
3616
|
-
|
|
3617
|
-
if (this.
|
|
3618
|
-
this.
|
|
3202
|
+
// add mg-item-more to manage OverflowBehavior
|
|
3203
|
+
if (this.direction === mgMenu_conf.Direction.HORIZONTAL && !this.isChildMenu)
|
|
3204
|
+
this.renderMgItemMore();
|
|
3205
|
+
// use mutation observer to improve reactivity
|
|
3206
|
+
new MutationObserver(entries => {
|
|
3207
|
+
const mgItemMore = this.element.querySelector('mg-item-more');
|
|
3208
|
+
// prevent infinit loop by exclude mg-item-more deletion entry
|
|
3209
|
+
if (entries.some(entry => entry.type === 'childList' && Array.from(entry.removedNodes).some(node => node.nodeName === 'MG-ITEM-MORE')))
|
|
3210
|
+
return;
|
|
3211
|
+
else if (mgItemMore !== null) {
|
|
3212
|
+
// render a new mg-item-more
|
|
3213
|
+
mgItemMore.remove();
|
|
3214
|
+
this.renderMgItemMore();
|
|
3215
|
+
}
|
|
3216
|
+
}).observe(this.element, { childList: true, characterData: true, subtree: true });
|
|
3619
3217
|
}, 0);
|
|
3620
3218
|
}
|
|
3621
3219
|
/**
|
|
3622
|
-
*
|
|
3220
|
+
* Add listeners to items
|
|
3623
3221
|
*
|
|
3624
3222
|
* @returns {void}
|
|
3625
3223
|
*/
|
|
3626
3224
|
componentDidRender() {
|
|
3627
|
-
// add menu items listeners
|
|
3628
3225
|
this.initMenuItemsListeners();
|
|
3629
3226
|
}
|
|
3630
|
-
/**
|
|
3631
|
-
* Disconnect overflow ResizeObserver
|
|
3632
|
-
*
|
|
3633
|
-
* @returns {void} run overflow resize obeserver disconnexion
|
|
3634
|
-
*/
|
|
3635
|
-
disconnectedCallback() {
|
|
3636
|
-
if (this.hasOverflow)
|
|
3637
|
-
this.overflowBehavior.disconnect();
|
|
3638
|
-
}
|
|
3639
3227
|
/**
|
|
3640
3228
|
* Render
|
|
3641
3229
|
*
|
|
3642
3230
|
* @returns {HTMLElement} HTML Element
|
|
3643
3231
|
*/
|
|
3644
3232
|
render() {
|
|
3645
|
-
return (index.h(index.Host, { role: this.isChildMenu ? 'menu' : 'menubar', "aria-label": this.label }, index.h("slot", null)
|
|
3233
|
+
return (index.h(index.Host, { role: this.isChildMenu ? 'menu' : 'menubar', "aria-label": this.label }, index.h("slot", null)));
|
|
3646
3234
|
}
|
|
3647
3235
|
get element() { return index.getElement(this); }
|
|
3648
3236
|
static get watchers() { return {
|
|
3649
3237
|
"label": ["validateLabel"],
|
|
3650
3238
|
"direction": ["validateDirection"],
|
|
3651
|
-
"
|
|
3239
|
+
"itemMore": ["validateItemMore"],
|
|
3652
3240
|
"size": ["validateSize"]
|
|
3653
3241
|
}; }
|
|
3654
3242
|
};
|
|
3655
3243
|
MgMenu.style = mgMenuCss;
|
|
3656
3244
|
|
|
3657
|
-
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:calc(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:calc(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:calc(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{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){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}";
|
|
3245
|
+
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{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){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}";
|
|
3658
3246
|
|
|
3659
3247
|
const MgMenuItem = class {
|
|
3660
3248
|
constructor(hostRef) {
|
|
@@ -3688,9 +3276,91 @@ const MgMenuItem = class {
|
|
|
3688
3276
|
* Is component contextual direction match the given direction
|
|
3689
3277
|
*
|
|
3690
3278
|
* @param {MgMenuItem['direction']} direction in parent menu
|
|
3279
|
+
* @param {MgMenuItem['direction']} compareWith direction to compare with. Default: `this.direction`
|
|
3691
3280
|
* @returns {boolean} true is direction match the direction propertie
|
|
3692
3281
|
*/
|
|
3693
|
-
this.isDirection = (direction
|
|
3282
|
+
this.isDirection = (direction, compareWith = this.direction) => direction === compareWith;
|
|
3283
|
+
/**
|
|
3284
|
+
* Update displayNotificationBadge
|
|
3285
|
+
* current component notification badge have priority over the slot badge when submenu contain badge
|
|
3286
|
+
*
|
|
3287
|
+
* @returns {void} update displayNotificationBadge value
|
|
3288
|
+
*/
|
|
3289
|
+
this.updateDisplayNotificationBadge = () => {
|
|
3290
|
+
const childMenu = this.element.querySelector('mg-menu');
|
|
3291
|
+
this.displayNotificationBadge =
|
|
3292
|
+
childMenu !== null &&
|
|
3293
|
+
Array.from(childMenu.children).some((subItem) => subItem.querySelector('mg-badge') !== null && subItem.getAttribute('hidden') === null);
|
|
3294
|
+
};
|
|
3295
|
+
/**
|
|
3296
|
+
* Method to control if one of component children have active status
|
|
3297
|
+
*
|
|
3298
|
+
* @returns {boolean} truthy if component has active child
|
|
3299
|
+
*/
|
|
3300
|
+
this.hasActiveChild = () => {
|
|
3301
|
+
var _a;
|
|
3302
|
+
return Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).some((element) => element.nodeName === 'MG-MENU-ITEM' && this.hasStatus(element, Status$1.ACTIVE) && element.getAttribute('hidden') === null);
|
|
3303
|
+
};
|
|
3304
|
+
/**
|
|
3305
|
+
* Validate slots
|
|
3306
|
+
*
|
|
3307
|
+
* @param {boolean} guard prevent action whith guard. Default: false.
|
|
3308
|
+
* @returns {void}
|
|
3309
|
+
*/
|
|
3310
|
+
this.validateSlot = (guard = false) => {
|
|
3311
|
+
// slot title AND metadata validation
|
|
3312
|
+
// add title on label AND metada slots due to text-overflow on these element
|
|
3313
|
+
if (Array.from(this.element.children).find(child => child.getAttribute('slot') === 'label') === undefined)
|
|
3314
|
+
throw new Error(`<${this.name}> slot "label" is required.`);
|
|
3315
|
+
['label', 'metadata'].forEach(slot => {
|
|
3316
|
+
Array.from(this.element.querySelectorAll(`[slot="${slot}"]`)).forEach(element => {
|
|
3317
|
+
if (element.textContent.trim().length < 1)
|
|
3318
|
+
throw new Error(`<${this.name}> slot "${slot}" must have text content.`);
|
|
3319
|
+
if ((guard && element.getAttribute('title') === null) || !guard)
|
|
3320
|
+
element.setAttribute('title', element.textContent);
|
|
3321
|
+
});
|
|
3322
|
+
});
|
|
3323
|
+
};
|
|
3324
|
+
/**
|
|
3325
|
+
* Update status
|
|
3326
|
+
*
|
|
3327
|
+
* @param {Status[]} guard status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
|
|
3328
|
+
* @returns {void}
|
|
3329
|
+
*/
|
|
3330
|
+
this.updateStatus = (guard = []) => {
|
|
3331
|
+
if (![Status$1.HIDDEN, Status$1.DISABLED, ...guard].includes(this.status)) {
|
|
3332
|
+
this.status = this.hasActiveChild() ? Status$1.ACTIVE : Status$1.VISIBLE;
|
|
3333
|
+
}
|
|
3334
|
+
};
|
|
3335
|
+
/**
|
|
3336
|
+
* Init event-listeners
|
|
3337
|
+
*
|
|
3338
|
+
* @returns {void}
|
|
3339
|
+
*/
|
|
3340
|
+
this.initListeners = () => {
|
|
3341
|
+
var _a;
|
|
3342
|
+
// manage first sub-level menu-items
|
|
3343
|
+
Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).forEach(item => {
|
|
3344
|
+
if (item.nodeName === 'MG-MENU-ITEM') {
|
|
3345
|
+
// manage child menu listener
|
|
3346
|
+
item.addEventListener('status-change', () => {
|
|
3347
|
+
this.updateStatus();
|
|
3348
|
+
});
|
|
3349
|
+
}
|
|
3350
|
+
});
|
|
3351
|
+
};
|
|
3352
|
+
/**
|
|
3353
|
+
* Get mg-popover identifier
|
|
3354
|
+
*
|
|
3355
|
+
* @returns {MgPopover['identifier']} generated mg-popover identifier
|
|
3356
|
+
*/
|
|
3357
|
+
this.getPopoverIdentifier = () => `${this.identifier}-popover`;
|
|
3358
|
+
/**
|
|
3359
|
+
* Condition to know if component should display a mg-popover
|
|
3360
|
+
*
|
|
3361
|
+
* @returns {boolean} truthy if component display popover
|
|
3362
|
+
*/
|
|
3363
|
+
this.displayPopover = () => this.isDirection(mgMenu_conf.Direction.HORIZONTAL) && this.hasChildren && this.href === undefined;
|
|
3694
3364
|
/************
|
|
3695
3365
|
* Handlers *
|
|
3696
3366
|
************/
|
|
@@ -3718,35 +3388,13 @@ const MgMenuItem = class {
|
|
|
3718
3388
|
this.handlePopoverDisplay = (event) => {
|
|
3719
3389
|
this.expanded = event.detail;
|
|
3720
3390
|
};
|
|
3721
|
-
/**
|
|
3722
|
-
* Update displayNotificationBadge
|
|
3723
|
-
* current component notification badge have priority over the slot badge when submenu contain badge
|
|
3724
|
-
*
|
|
3725
|
-
* @returns {void} update displayNotificationBadge value
|
|
3726
|
-
*/
|
|
3727
|
-
this.updateDisplayNotificationBadge = () => {
|
|
3728
|
-
const childMenu = this.element.querySelector('mg-menu');
|
|
3729
|
-
this.displayNotificationBadge =
|
|
3730
|
-
childMenu !== null &&
|
|
3731
|
-
Array.from(childMenu.children).some((subItem) => subItem.querySelector('mg-badge') !== null && subItem.getAttribute('hidden') === null);
|
|
3732
|
-
};
|
|
3733
|
-
/**
|
|
3734
|
-
* Method to control if one of component children have active status
|
|
3735
|
-
*
|
|
3736
|
-
* @returns {boolean} truthy if component has active child
|
|
3737
|
-
*/
|
|
3738
|
-
this.hasActiveChild = () => {
|
|
3739
|
-
var _a;
|
|
3740
|
-
return Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || [])
|
|
3741
|
-
.filter(element => element.nodeName === 'MG-MENU-ITEM')
|
|
3742
|
-
.some((element) => this.hasStatus(element, Status$1.ACTIVE) && element.getAttribute('hidden') === null);
|
|
3743
|
-
};
|
|
3744
3391
|
/**
|
|
3745
3392
|
* Render slot
|
|
3746
3393
|
*
|
|
3747
3394
|
* @returns {HTMLElement} HTML Element
|
|
3748
3395
|
*/
|
|
3749
3396
|
this.renderSlot = () => index.h("slot", null);
|
|
3397
|
+
this.identifier = createID('mg-menu-item');
|
|
3750
3398
|
this.href = undefined;
|
|
3751
3399
|
this.status = Status$1.VISIBLE;
|
|
3752
3400
|
this.expanded = false;
|
|
@@ -3754,6 +3402,7 @@ const MgMenuItem = class {
|
|
|
3754
3402
|
this.navigationButtonClassList = new ClassList([this.navigationButton]);
|
|
3755
3403
|
this.direction = undefined;
|
|
3756
3404
|
this.isInMainMenu = undefined;
|
|
3405
|
+
this.isItemMore = undefined;
|
|
3757
3406
|
this.hasChildren = false;
|
|
3758
3407
|
this.displayNotificationBadge = undefined;
|
|
3759
3408
|
}
|
|
@@ -3790,11 +3439,33 @@ const MgMenuItem = class {
|
|
|
3790
3439
|
this.navigationButtonClassList.delete(`${this.navigationButton}--size-${oldValue}`);
|
|
3791
3440
|
this.navigationButtonClassList.add(`${this.navigationButton}--size-${newValue}`);
|
|
3792
3441
|
}
|
|
3442
|
+
validateDirection(newValue) {
|
|
3443
|
+
// manage menu items style depending to parent menu horientation
|
|
3444
|
+
this.element.setAttribute(`data-style-direction-${newValue}`, '');
|
|
3445
|
+
this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
|
|
3446
|
+
// manage all sub levels child menu-items level with data-level attribut
|
|
3447
|
+
if (this.isDirection(mgMenu_conf.Direction.VERTICAL, newValue)) {
|
|
3448
|
+
Array.from(this.element.querySelectorAll('mg-menu-item')).forEach(item => {
|
|
3449
|
+
item.dataset.level = `${(Number(item.dataset.level) || 1) + 1}`;
|
|
3450
|
+
});
|
|
3451
|
+
}
|
|
3452
|
+
}
|
|
3793
3453
|
validateHasChildren(newValue) {
|
|
3794
3454
|
if (newValue && this.element.href !== undefined) {
|
|
3795
3455
|
throw new Error(`<${this.name}> prop "href" is unauthorizied when element is a parent.`);
|
|
3796
3456
|
}
|
|
3797
3457
|
}
|
|
3458
|
+
/**
|
|
3459
|
+
* Render popover clickoutside guard for content slot
|
|
3460
|
+
*
|
|
3461
|
+
* @returns {void}
|
|
3462
|
+
*/
|
|
3463
|
+
updatePopoverGuard() {
|
|
3464
|
+
if (this.displayPopover())
|
|
3465
|
+
Array.from(this.element.children)
|
|
3466
|
+
.filter((child) => child.getAttribute('slot') === null && child.nodeName !== 'MG-MENU' && Boolean(child.dataset))
|
|
3467
|
+
.forEach((slot) => (slot.dataset.mgPopoverGuard = this.getPopoverIdentifier()));
|
|
3468
|
+
}
|
|
3798
3469
|
/*************
|
|
3799
3470
|
* Lifecycle *
|
|
3800
3471
|
*************/
|
|
@@ -3807,11 +3478,13 @@ const MgMenuItem = class {
|
|
|
3807
3478
|
// has children items that is NOT [slot='image' | 'information' | 'label' | 'metadata'] element
|
|
3808
3479
|
// we store only matching elements
|
|
3809
3480
|
this.hasChildren = Array.from(this.element.children).some(child => !['image', 'information', 'label', 'metadata'].includes(child.getAttribute('slot')));
|
|
3481
|
+
this.badgeLabel = mgMenu_conf.initLocales(this.element).messages.plusMenu.badgeLabel;
|
|
3482
|
+
this.isItemMore = this.element.dataset.overflowMore !== undefined;
|
|
3810
3483
|
// Validate props
|
|
3811
|
-
this.validateSize(this.size);
|
|
3812
3484
|
this.validateStatus(this.status);
|
|
3813
3485
|
this.validateExpanded(this.expanded);
|
|
3814
|
-
|
|
3486
|
+
// Validate states
|
|
3487
|
+
this.validateSize(this.size);
|
|
3815
3488
|
}
|
|
3816
3489
|
/**
|
|
3817
3490
|
* Check if component slots configuration
|
|
@@ -3819,63 +3492,36 @@ const MgMenuItem = class {
|
|
|
3819
3492
|
* @returns {ReturnType<typeof setTimeout>} timeout
|
|
3820
3493
|
*/
|
|
3821
3494
|
componentDidLoad() {
|
|
3822
|
-
//
|
|
3823
|
-
|
|
3824
|
-
if (Array.from(this.element.children).find(child => child.getAttribute('slot') === 'label') === undefined)
|
|
3825
|
-
throw new Error(`<${this.name}> slot "label" is required.`);
|
|
3826
|
-
['label', 'metadata'].forEach(slot => {
|
|
3827
|
-
Array.from(this.element.querySelectorAll(`[slot="${slot}"]`)).forEach(element => {
|
|
3828
|
-
if (element.textContent.trim().length < 1)
|
|
3829
|
-
throw new Error(`<${this.name}> slot "${slot}" must have text content.`);
|
|
3830
|
-
if (element.getAttribute('title') === null)
|
|
3831
|
-
element.setAttribute('title', element.textContent);
|
|
3832
|
-
});
|
|
3833
|
-
});
|
|
3495
|
+
// validation
|
|
3496
|
+
this.validateSlot(true);
|
|
3834
3497
|
// update props and states after componentDidLoad hook
|
|
3835
3498
|
// return a promise to process action only in the FIRST render().
|
|
3836
3499
|
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
3837
3500
|
return setTimeout(() => {
|
|
3838
|
-
var _a;
|
|
3839
3501
|
// define menu-item context states
|
|
3840
3502
|
const menu = this.element.closest('mg-menu');
|
|
3841
|
-
this.direction = this.
|
|
3842
|
-
this.
|
|
3843
|
-
|
|
3503
|
+
this.direction = this.isItemMore || menu === null ? mgMenu_conf.Direction.HORIZONTAL : menu.direction;
|
|
3504
|
+
this.isInMainMenu = menu !== null && this.element.parentElement.closest('mg-menu-item') === null;
|
|
3505
|
+
if ((menu === null || menu === void 0 ? void 0 : menu.size) !== undefined)
|
|
3506
|
+
this.size = menu.size;
|
|
3507
|
+
if (this.isItemMore)
|
|
3508
|
+
this.size = this.element.dataset.size;
|
|
3844
3509
|
// when main menu item contain an active item it will get the active style
|
|
3845
3510
|
// AND if item is in vertical menu it will be expanded
|
|
3846
|
-
if (this.hasActiveChild())
|
|
3847
|
-
this.
|
|
3848
|
-
|
|
3849
|
-
this.expanded = this.isDirection(Direction.VERTICAL);
|
|
3850
|
-
}
|
|
3851
|
-
// manage menu items style depending to parent menu horientation
|
|
3852
|
-
this.element.setAttribute(`data-style-direction-${this.direction}`, '');
|
|
3853
|
-
this.navigationButtonClassList.add(`${this.navigationButton}--${this.direction}`);
|
|
3511
|
+
if (this.hasActiveChild() && this.isInMainMenu)
|
|
3512
|
+
this.expanded = this.isDirection(mgMenu_conf.Direction.VERTICAL);
|
|
3513
|
+
this.updateStatus([Status$1.ACTIVE]);
|
|
3854
3514
|
this.updateDisplayNotificationBadge();
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
if (![Status$1.HIDDEN, Status$1.DISABLED].includes(this.status)) {
|
|
3866
|
-
this.status = this.hasActiveChild() ? Status$1.ACTIVE : Status$1.VISIBLE;
|
|
3867
|
-
}
|
|
3868
|
-
};
|
|
3869
|
-
// manage child menu listener
|
|
3870
|
-
item.addEventListener('status-change', () => {
|
|
3871
|
-
updateStatus();
|
|
3872
|
-
});
|
|
3873
|
-
new MutationObserver(mutationsList => {
|
|
3874
|
-
if (mutationsList.some(mutation => mutation.attributeName === 'hidden'))
|
|
3875
|
-
updateStatus();
|
|
3876
|
-
this.updateDisplayNotificationBadge();
|
|
3877
|
-
}).observe(item, { attributes: true });
|
|
3878
|
-
});
|
|
3515
|
+
this.updatePopoverGuard();
|
|
3516
|
+
// manage child dom changes with mutationObserver and listzners
|
|
3517
|
+
this.initListeners();
|
|
3518
|
+
new MutationObserver(mutationsList => {
|
|
3519
|
+
if (mutationsList.some(mutation => mutation.attributeName === 'hidden'))
|
|
3520
|
+
this.updateStatus();
|
|
3521
|
+
if (mutationsList.some(mutation => mutation.type === 'characterData'))
|
|
3522
|
+
this.validateSlot();
|
|
3523
|
+
this.updateDisplayNotificationBadge();
|
|
3524
|
+
}).observe(this.element, { attributes: true, childList: true, characterData: true, subtree: true });
|
|
3879
3525
|
}, 0);
|
|
3880
3526
|
}
|
|
3881
3527
|
/**
|
|
@@ -3899,9 +3545,9 @@ const MgMenuItem = class {
|
|
|
3899
3545
|
render() {
|
|
3900
3546
|
const getContainerClasses = () => ({
|
|
3901
3547
|
[`${this.name}__collapse-container`]: true,
|
|
3902
|
-
[`${this.name}__collapse-container--first-level`]: this.isInMainMenu && this.isDirection(Direction.HORIZONTAL),
|
|
3548
|
+
[`${this.name}__collapse-container--first-level`]: this.isInMainMenu && this.isDirection(mgMenu_conf.Direction.HORIZONTAL),
|
|
3903
3549
|
});
|
|
3904
|
-
return (index.h(index.Host, { role:
|
|
3550
|
+
return (index.h(index.Host, { role: !this.isItemMore && 'menuitem', "aria-haspopup": !this.isItemMore && this.hasChildren.toString() }, this.displayPopover() ? (index.h("mg-popover", { display: this.expanded, placement: "bottom-start", arrowHide: true, "onDisplay-change": this.handlePopoverDisplay, identifier: this.getPopoverIdentifier() }, this.renderInteractiveElement(), index.h("div", { class: getContainerClasses(), slot: "content" }, this.renderSlot()))) : ([
|
|
3905
3551
|
this.renderInteractiveElement(),
|
|
3906
3552
|
index.h("div", { key: "vertical-container", class: getContainerClasses(), hidden: !this.expanded }, this.renderSlot()),
|
|
3907
3553
|
])));
|
|
@@ -3911,6 +3557,7 @@ const MgMenuItem = class {
|
|
|
3911
3557
|
"status": ["validateStatus"],
|
|
3912
3558
|
"expanded": ["validateExpanded"],
|
|
3913
3559
|
"size": ["validateSize"],
|
|
3560
|
+
"direction": ["validateDirection"],
|
|
3914
3561
|
"hasChildren": ["validateHasChildren"]
|
|
3915
3562
|
}; }
|
|
3916
3563
|
};
|
|
@@ -4061,7 +3708,7 @@ const MgMessage = class {
|
|
|
4061
3708
|
*/
|
|
4062
3709
|
componentWillLoad() {
|
|
4063
3710
|
// Get locales
|
|
4064
|
-
this.messages = initLocales(this.element).messages;
|
|
3711
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
4065
3712
|
// Validate
|
|
4066
3713
|
this.validateVariant(this.variant);
|
|
4067
3714
|
// Check if close button is an can be activated
|
|
@@ -4195,7 +3842,7 @@ const MgModal = class {
|
|
|
4195
3842
|
// Store body overflow
|
|
4196
3843
|
this.bodyOverflow = document.body.style.overflow;
|
|
4197
3844
|
// Get locales
|
|
4198
|
-
this.messages = initLocales(this.element).messages;
|
|
3845
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
4199
3846
|
// Validate
|
|
4200
3847
|
this.hasActions = this.element.querySelector('[slot="actions"]') !== null;
|
|
4201
3848
|
this.hasContent = this.element.querySelector('[slot="content"]') !== null;
|
|
@@ -4333,7 +3980,7 @@ const MgPagination = class {
|
|
|
4333
3980
|
*/
|
|
4334
3981
|
componentWillLoad() {
|
|
4335
3982
|
// Get locales
|
|
4336
|
-
this.messages = initLocales(this.element).messages;
|
|
3983
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
4337
3984
|
// Validate
|
|
4338
3985
|
this.validateTotalPages(this.totalPages);
|
|
4339
3986
|
this.validateCurrentPage(this.currentPage);
|
|
@@ -4490,7 +4137,7 @@ const MgPanel = class {
|
|
|
4490
4137
|
*/
|
|
4491
4138
|
componentWillLoad() {
|
|
4492
4139
|
// Get locales
|
|
4493
|
-
this.messages = initLocales(this.element).messages;
|
|
4140
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
4494
4141
|
// Validate
|
|
4495
4142
|
this.validatetitlePattern(this.titlePattern);
|
|
4496
4143
|
this.validatePanelTitle(this.panelTitle);
|
|
@@ -6422,7 +6069,7 @@ const MgPopover = class {
|
|
|
6422
6069
|
// Get windows to attach events
|
|
6423
6070
|
this.windows = getWindows(window);
|
|
6424
6071
|
// Get locales
|
|
6425
|
-
this.messages = initLocales(this.element).messages;
|
|
6072
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
6426
6073
|
this.validateArrowHide(this.arrowHide);
|
|
6427
6074
|
}
|
|
6428
6075
|
/**
|
|
@@ -6537,7 +6184,7 @@ const MgSkipLinks = class {
|
|
|
6537
6184
|
*/
|
|
6538
6185
|
componentWillLoad() {
|
|
6539
6186
|
this.validateLinks(this.links);
|
|
6540
|
-
this.messages = initLocales(this.element).messages;
|
|
6187
|
+
this.messages = mgMenu_conf.initLocales(this.element).messages;
|
|
6541
6188
|
}
|
|
6542
6189
|
/**
|
|
6543
6190
|
* Render
|
|
@@ -6569,7 +6216,7 @@ var Status;
|
|
|
6569
6216
|
*/
|
|
6570
6217
|
const sizes = ['regular', 'large'];
|
|
6571
6218
|
|
|
6572
|
-
const mgTabsCss = ".mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular{padding:1rem 2rem
|
|
6219
|
+
const mgTabsCss = ".mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular{padding:1rem 2rem}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button,.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button ::slotted([slot=label]),.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button ::slotted([slot=metadata]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular ::slotted([slot=label]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular ::slotted([slot=metadata]){font-size:var(--font-size)}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button.mg-tabs__navigation-button--horizontal,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular.mg-tabs__navigation-button--horizontal{padding-bottom:calc(1rem - 0.3rem)}.mg-tabs.mg-tabs--size-regular .mg-tabs__navigation-button.mg-tabs__navigation-button--vertical,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-regular.mg-tabs__navigation-button--vertical{padding-left:calc(2rem - 0.3rem)}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large{padding:1.5rem 3rem}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button,.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button ::slotted([slot=label]),.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button ::slotted([slot=metadata]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large ::slotted([slot=label]),.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large ::slotted([slot=metadata]){font-size:calc(var(--font-size) + 0.2rem)}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button.mg-tabs__navigation-button--horizontal,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large.mg-tabs__navigation-button--horizontal{padding-bottom:calc(1.5rem - 0.3rem)}.mg-tabs.mg-tabs--size-large .mg-tabs__navigation-button.mg-tabs__navigation-button--vertical,.mg-tabs__navigation-button.mg-tabs__navigation-button--size-large.mg-tabs__navigation-button--vertical{padding-left:calc(3rem - 0.3rem)}.mg-tabs__navigation-button{display:flex;align-items:center;column-gap:var(--mg-tabs-navigation-button-column-gap, 1rem);background-color:unset;border:none;font-family:var(--font-family);font-weight:400;color:hsl(var(--mg-tabs-color-hsl, var(--color-dark)));line-height:var(--line-height);text-decoration:none;white-space:nowrap;box-sizing:border-box;cursor:pointer}.mg-tabs__navigation-button:disabled,.mg-tabs__navigation-button--disabled{cursor:default;opacity:var(--mg-disabled-opacity)}.mg-tabs__navigation-button:focus-visible{z-index:10}.mg-tabs__navigation-button:hover:not(.mg-tabs__navigation-button--disabled),.mg-tabs__navigation-button:focus-visible:not(.mg-tabs__navigation-button--disabled){background-color:hsl(var(--mg-tabs-focused-background-color-hsl), 0.1)}.mg-tabs__navigation-button.mg-tabs__navigation-button--active{color:hsl(var(--mg-tabs-color-active-hsl));font-weight:600}.mg-tabs__navigation-button.mg-tabs__navigation-button--active.mg-tabs__navigation-button--horizontal{border-bottom-color:hsl(var(--mg-tabs-border-color-active-hsl))}.mg-tabs__navigation-button.mg-tabs__navigation-button--active.mg-tabs__navigation-button--vertical{border-left-color:hsl(var(--mg-tabs-border-color-active-hsl))}.mg-tabs__navigation-button.mg-tabs__navigation-button--hidden{display:none}.mg-tabs__navigation-button.mg-tabs__navigation-button--horizontal{border-bottom:0.3rem solid transparent}.mg-tabs__navigation-button.mg-tabs__navigation-button--vertical{border-left:0.3rem solid transparent}.mg-tabs__header{display:flex;flex-direction:row;flex-wrap:wrap}.mg-tabs__content-container:focus-visible{outline:none}.mg-tabs__navigation-button-text{flex:0 0 content}";
|
|
6573
6220
|
|
|
6574
6221
|
/**
|
|
6575
6222
|
* type TabItem validation function
|
|
@@ -7066,6 +6713,7 @@ const MgTooltip = class {
|
|
|
7066
6713
|
if (typeof newValue !== 'string' || newValue.trim() === '') {
|
|
7067
6714
|
throw new Error('<mg-tooltip> prop "message" is required.');
|
|
7068
6715
|
}
|
|
6716
|
+
this.popper.update();
|
|
7069
6717
|
}
|
|
7070
6718
|
handleDisplay(newValue) {
|
|
7071
6719
|
if (newValue) {
|
|
@@ -7097,10 +6745,13 @@ const MgTooltip = class {
|
|
|
7097
6745
|
this.tooltipedElement = interactiveElement || slotElement;
|
|
7098
6746
|
// Check if slotted element is a disabled mg-button
|
|
7099
6747
|
// In this case we wrap the mg-button into a div to enable the tooltip
|
|
7100
|
-
if (
|
|
6748
|
+
if (['MG-BUTTON', 'BUTTON'].includes(slotElement.tagName)) {
|
|
7101
6749
|
new MutationObserver(mutationList => {
|
|
7102
|
-
if (mutationList.some(mutation =>
|
|
6750
|
+
if (mutationList.some(mutation => ['aria-disabled', 'disabled'].includes(mutation.attributeName))) {
|
|
7103
6751
|
this.setMgButtonWrapper(slotElement);
|
|
6752
|
+
// Since Firefox doesn't trigger a "blur" event when the "disabled" attribute is added or removed from a button
|
|
6753
|
+
// we have to manually unlock the guard because the "blur" handler of the tooltipedElement won't do it.
|
|
6754
|
+
this.resetGuard();
|
|
7104
6755
|
this.initTooltip(slotElement, interactiveElement);
|
|
7105
6756
|
}
|
|
7106
6757
|
}).observe(slotElement, { attributes: true });
|