@mgdis/mg-components 5.5.0 → 5.6.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/{index-c3450336.js → index-4dcc1812.js} +11 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/mg-badge_30.cjs.entry.js +742 -244
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +4 -4
- package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js +1 -1
- package/dist/collection/components/atoms/mg-badge/mg-badge.css +13 -0
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +3 -3
- package/dist/collection/components/atoms/mg-button/mg-button.css +2 -1
- package/dist/collection/components/atoms/mg-card/mg-card.css +13 -6
- package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +13 -3
- package/dist/collection/components/atoms/mg-tag/mg-tag.css +6 -6
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -3
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +2 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +4 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +7 -3
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +3 -3
- package/dist/collection/components/molecules/menu/mg-menu/doc/mg-menu.stories.js +43 -11
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +17 -0
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.css +27 -0
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +141 -18
- package/dist/collection/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.js +5 -10
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +0 -4
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +47 -21
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +118 -70
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +4 -3
- package/dist/collection/components/molecules/mg-message/mg-message.css +7 -0
- package/dist/collection/components/molecules/mg-message/mg-message.js +53 -12
- package/dist/collection/components/molecules/mg-modal/mg-modal.css +8 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.css +7 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +72 -14
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +48 -4
- package/dist/collection/components/molecules/mg-skip-links/doc/mg-skip-links.stories.js +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +32 -1
- package/dist/collection/components/molecules/mg-tabs/doc/mg-tabs.stories.js +5 -3
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +11 -7
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +101 -54
- package/dist/collection/locales/en/messages.json +4 -0
- package/dist/collection/locales/fr/messages.json +4 -0
- package/dist/collection/locales/index.js +2 -25
- package/dist/collection/styles/a11y.scss +32 -0
- package/dist/collection/styles/components.scss +3 -0
- package/dist/collection/styles/fonts.scss +21 -0
- package/dist/collection/styles/form.scss +3 -0
- package/dist/collection/styles/global.scss +87 -0
- package/dist/collection/styles/layout.scss +29 -0
- package/dist/collection/styles/main.scss +23 -0
- package/dist/collection/styles/navigation-button.scss +76 -0
- package/dist/collection/styles/reset-mg-card-slotted-variables.scss +9 -0
- package/dist/collection/styles/typography.scss +75 -0
- package/dist/collection/styles/utilities.scss +21 -0
- package/dist/collection/utils/behaviors.utils.js +169 -0
- package/dist/collection/utils/components.utils.js +50 -0
- package/dist/collection/utils/locale.utils.js +22 -0
- package/dist/collection/utils/unit.test.utils.js +37 -32
- package/dist/collection/variables.css +9 -9
- package/dist/components/components.utils.js +51 -1
- package/dist/components/index2.js +65 -18
- package/dist/components/mg-badge2.js +4 -4
- package/dist/components/mg-button2.js +1 -1
- package/dist/components/mg-card2.js +1 -1
- package/dist/components/mg-icon2.js +13 -3
- package/dist/components/mg-illustrated-message.js +4 -3
- package/dist/components/mg-input-date.js +6 -4
- package/dist/components/mg-input-numeric.js +2 -3
- package/dist/components/mg-input-password.js +1 -1
- package/dist/components/mg-input-select2.js +8 -4
- package/dist/components/mg-input-text2.js +1 -1
- package/dist/components/mg-input-textarea.js +1 -1
- package/dist/components/mg-menu-item.js +1 -253
- package/dist/components/mg-menu-item2.js +517 -0
- package/dist/components/mg-menu.js +138 -21
- package/dist/components/mg-message.js +54 -13
- package/dist/components/mg-modal.js +1 -1
- package/dist/components/mg-panel.js +1 -1
- package/dist/components/mg-popover.js +1 -190
- package/dist/components/mg-popover2.js +212 -0
- package/dist/components/mg-skip-links.js +16 -2
- package/dist/components/mg-tabs.js +100 -52
- package/dist/components/mg-tag.js +4 -4
- package/dist/components/mg-tooltip2.js +4 -4
- package/dist/esm/{index-78edde1d.js → index-dc9a2348.js} +11 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-badge_30.entry.js +742 -244
- package/dist/esm/mg-components.js +3 -3
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/mg-components/locales/en/messages.json +4 -0
- package/dist/mg-components/locales/fr/messages.json +4 -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-125c54ca.js → p-182bd802.js} +2 -2
- package/dist/mg-components/p-f7da9dd2.entry.js +1 -0
- package/dist/mg-components/styles/a11y.scss +32 -0
- package/dist/mg-components/styles/components.scss +3 -0
- package/dist/mg-components/styles/fonts.scss +21 -0
- package/dist/mg-components/styles/form.scss +3 -0
- package/dist/mg-components/styles/global.scss +87 -0
- package/dist/mg-components/styles/layout.scss +29 -0
- package/dist/mg-components/styles/main.scss +23 -0
- package/dist/mg-components/styles/navigation-button.scss +76 -0
- package/dist/mg-components/styles/reset-mg-card-slotted-variables.scss +9 -0
- package/dist/mg-components/styles/typography.scss +75 -0
- package/dist/mg-components/styles/utilities.scss +21 -0
- package/dist/mg-components/variables.css +9 -9
- package/dist/types/components/atoms/mg-badge/mg-badge.conf.d.ts +2 -2
- package/dist/types/components/atoms/mg-button/mg-button.conf.d.ts +2 -2
- package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +2 -2
- package/dist/types/components/atoms/mg-tag/mg-tag.conf.d.ts +1 -1
- package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +1 -1
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +2 -2
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +1 -1
- package/dist/types/components/molecules/menu/mg-menu/doc/mg-menu.stories.d.ts +5 -0
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +37 -0
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +51 -3
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +0 -8
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +55 -15
- package/dist/types/components/molecules/mg-message/mg-message.d.ts +21 -4
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +12 -0
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +1 -1
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +15 -0
- package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +5 -3
- package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +22 -12
- package/dist/types/components.d.ts +44 -12
- package/dist/types/locales/index.d.ts +10 -9
- package/dist/types/stencil-public-runtime.d.ts +39 -3
- package/dist/types/utils/behaviors.utils.d.ts +83 -0
- package/dist/types/utils/components.utils.d.ts +14 -0
- package/dist/types/utils/locale.utils.d.ts +13 -0
- package/dist/types/utils/unit.test.utils.d.ts +50 -14
- package/package.json +26 -26
- package/readme.md +22 -13
- package/dist/components/locale.utils.js +0 -40
- package/dist/components/mg-menu.conf.js +0 -10
- package/dist/mg-components/p-4961c96c.entry.js +0 -1
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-4dcc1812.js');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* List of all possibles variants
|
|
9
9
|
*/
|
|
10
|
-
const variants$4 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger'];
|
|
10
|
+
const variants$4 = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Create random ID
|
|
@@ -97,8 +97,58 @@ const isTagName = (element, tagNames) => {
|
|
|
97
97
|
* Focusable elements query selector
|
|
98
98
|
*/
|
|
99
99
|
const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier]';
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* @param {Window} localWindow the window we are lookink for other windows
|
|
103
|
+
* @returns {Window[]} The list of windows found
|
|
104
|
+
*/
|
|
105
|
+
const getWindows = (localWindow) => {
|
|
106
|
+
const parentWindows = getParentWindows(localWindow);
|
|
107
|
+
const childWindows = getChildWindows(localWindow);
|
|
108
|
+
return [localWindow, ...parentWindows, ...childWindows];
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Get parent windows
|
|
112
|
+
*
|
|
113
|
+
* @param {Window} localWindow the window we are lookink for parents
|
|
114
|
+
* @param {Window[]} windows The list of allready found windows
|
|
115
|
+
* @returns {Window[]} The list of windows found
|
|
116
|
+
*/
|
|
117
|
+
const getParentWindows = (localWindow, windows = []) => {
|
|
118
|
+
// Check if is in iframe
|
|
119
|
+
if (localWindow.self !== localWindow.top) {
|
|
120
|
+
// Check if we have permission to access parent
|
|
121
|
+
try {
|
|
122
|
+
const parentWindow = localWindow.parent;
|
|
123
|
+
windows.push(parentWindow);
|
|
124
|
+
return getParentWindows(parentWindow, windows);
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
console.error('Different hosts between iframes:', err);
|
|
128
|
+
return windows;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return windows;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Get child windows
|
|
135
|
+
*
|
|
136
|
+
* @param {Window} localWindow the window we are lookink for children
|
|
137
|
+
* @param {Window[]} windows The list of allready found windows
|
|
138
|
+
* @returns {Window[]} The list of windows found
|
|
139
|
+
*/
|
|
140
|
+
const getChildWindows = (localWindow, windows = []) => {
|
|
141
|
+
if (localWindow.frames.length > 0) {
|
|
142
|
+
for (let i = 0; i < localWindow.frames.length; i++) {
|
|
143
|
+
const childWindow = localWindow.frames[i];
|
|
144
|
+
windows.push(childWindow);
|
|
145
|
+
windows.concat(getChildWindows(childWindow, windows));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return windows;
|
|
149
|
+
};
|
|
100
150
|
|
|
101
|
-
const mgBadgeCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-badge{padding:0 0.4rem;height:var(--mg-badge-size);min-width:var(--mg-badge-size);box-sizing:border-box;border:0.1rem solid;border-radius:calc(var(--mg-badge-size) / 2);font-size:var(--mg-badge-font-size);font-weight:600;text-align:center;line-height:var(--mg-badge-size)}.mg-badge.mg-badge--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-badge.mg-badge--primary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-badge.mg-badge--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-badge.mg-badge--success.mg-badge--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-badge.mg-badge--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-badge.mg-badge--warning.mg-badge--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-badge.mg-badge--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-badge.mg-badge--danger.mg-badge--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-badge.mg-badge--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-badge.mg-badge--info.mg-badge--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}";
|
|
151
|
+
const mgBadgeCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-badge{padding:0 0.4rem;height:var(--mg-badge-size);min-width:var(--mg-badge-size);box-sizing:border-box;border:0.1rem solid;border-radius:calc(var(--mg-badge-size) / 2);font-size:var(--mg-badge-font-size);font-weight:600;text-align:center;line-height:var(--mg-badge-size)}.mg-badge.mg-badge--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-badge.mg-badge--primary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-badge.mg-badge--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-badge.mg-badge--success.mg-badge--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-badge.mg-badge--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-badge.mg-badge--warning.mg-badge--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-badge.mg-badge--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-badge.mg-badge--danger.mg-badge--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-badge.mg-badge--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-badge.mg-badge--info.mg-badge--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-badge.mg-badge--text-color{background-color:currentColor;border-color:currentColor}.mg-badge.mg-badge--text-color .mg-badge__value{color:hsl(var(--mg-badge-text-color, var(--color-light)))}.mg-badge.mg-badge--text-color.mg-badge--outline{background-color:transparent}.mg-badge.mg-badge--text-color.mg-badge--outline .mg-badge__value{color:currentColor}.mg-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}";
|
|
102
152
|
|
|
103
153
|
const MgBadge = class {
|
|
104
154
|
constructor(hostRef) {
|
|
@@ -116,7 +166,7 @@ const MgBadge = class {
|
|
|
116
166
|
}
|
|
117
167
|
validateValue(newValue) {
|
|
118
168
|
if (`${newValue}`.match(/^(\d+\+*|[?*!a-z])$/i) === null) {
|
|
119
|
-
throw new Error('<mg-badge> prop "value" must be
|
|
169
|
+
throw new Error('<mg-badge> prop "value" must be integer or ponctuation character.');
|
|
120
170
|
}
|
|
121
171
|
}
|
|
122
172
|
validateLabel(newValue) {
|
|
@@ -158,7 +208,7 @@ const MgBadge = class {
|
|
|
158
208
|
* @returns {HTMLElement} HTML Element
|
|
159
209
|
*/
|
|
160
210
|
render() {
|
|
161
|
-
return (index.h("span", { class: this.classList.join() }, this.value, index.h("span", { class: "sr-only" }, this.label)));
|
|
211
|
+
return (index.h("span", { class: this.classList.join() }, index.h("span", { class: "mg-badge__value" }, this.value), index.h("span", { class: "sr-only" }, this.label)));
|
|
162
212
|
}
|
|
163
213
|
static get watchers() { return {
|
|
164
214
|
"value": ["validateValue"],
|
|
@@ -174,7 +224,7 @@ MgBadge.style = mgBadgeCss;
|
|
|
174
224
|
*/
|
|
175
225
|
const variants$3 = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
|
|
176
226
|
|
|
177
|
-
const mgButtonCss = ":host{display:inline-block;vertical-align:middle;max-width:100%}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:0.2rem}:host(:hover) .mg-button--flat:not(.mg-button--disabled),:host(:focus) .mg-button--flat:not(.mg-button--disabled),:host(:active) .mg-button--flat:not(.mg-button--disabled){background:
|
|
227
|
+
const mgButtonCss = ":host{display:inline-block;vertical-align:middle;max-width:100%}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:0.2rem}:host(:hover) .mg-button--flat:not(.mg-button--disabled),:host(:focus) .mg-button--flat:not(.mg-button--disabled),:host(:active) .mg-button--flat:not(.mg-button--disabled){background:hsl(var(--color-dark), 0.1)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-button.mg-button--primary{border-color:hsl(var(--mg-button-primary-border-color, var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-primary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l)), hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--primary:not(.mg-button--disabled),:host(:focus) .mg-button--primary:not(.mg-button--disabled),:host(:active) .mg-button--primary:not(.mg-button--disabled){background:hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l))}.mg-button.mg-button--secondary{border-color:hsl(var(--mg-button-secondary-border-color, var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-secondary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l)), hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--secondary:not(.mg-button--disabled),:host(:focus) .mg-button--secondary:not(.mg-button--disabled),:host(:active) .mg-button--secondary:not(.mg-button--disabled){background:hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l))}.mg-button.mg-button--danger{border-color:hsl(var(--mg-button-danger-border-color, var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)), hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger:not(.mg-button--disabled),:host(:focus) .mg-button--danger:not(.mg-button--disabled),:host(:active) .mg-button--danger:not(.mg-button--disabled){background:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-button.mg-button--danger-alt{border-color:hsl(var(--mg-button-danger-alt-border-color, var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-danger));background:linear-gradient(to bottom, hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)), hsl(var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger-alt:not(.mg-button--disabled),:host(:focus) .mg-button--danger-alt:not(.mg-button--disabled),:host(:active) .mg-button--danger-alt:not(.mg-button--disabled){background:hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l))}.mg-button.mg-button--info{border-color:hsl(var(--mg-button-info-border-color, var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)), hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--info:not(.mg-button--disabled),:host(:focus) .mg-button--info:not(.mg-button--disabled),:host(:active) .mg-button--info:not(.mg-button--disabled){background:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-button.mg-button--success{border-color:hsl(var(--mg-button-success-border-color, var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-dark));background:linear-gradient(to bottom, hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)), hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--success:not(.mg-button--disabled),:host(:focus) .mg-button--success:not(.mg-button--disabled),:host(:active) .mg-button--success:not(.mg-button--disabled){background:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-button{position:relative;display:inline-flex;align-items:center;column-gap:0.6rem;padding:calc((var(--default-size) - 0.2rem - var(--font-size) * var(--line-height)) / 2) 1.1rem;min-height:var(--default-size);box-sizing:border-box;border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));cursor:pointer;background-image:none;border-top-width:var(--mg-button-border-top-width, 0.1rem);border-right-width:var(--mg-button-border-right-width, 0.1rem);border-bottom-width:var(--mg-button-border-bottom-width, 0.1rem);border-left-width:var(--mg-button-border-left-width, 0.1rem);border-style:solid;text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);touch-action:manipulation}.mg-button.mg-button--disabled{opacity:var(--mg-button-disabled-opacity);cursor:default}.mg-button.mg-button--icon{padding:0;justify-content:center;width:var(--default-size);height:var(--default-size);border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));font-size:var(--font-size);line-height:var(--font-size)}.mg-button.mg-button--flat{background:none;border:none}.mg-button.mg-button--link{padding:unset;min-height:unset;background:unset;border:unset;border-radius:unset;text-decoration:underline}.mg-button.mg-button--link slot{font-weight:600}.mg-button.mg-button--link:hover{text-decoration:none}.mg-button.mg-button--full-width{display:flex;justify-content:center}.mg-button.mg-button--loading>mg-icon:first-of-type{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.mg-button.mg-button--loading .mg-button__content{opacity:0}.mg-button mg-icon:only-child,.mg-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;line-height:1;margin:auto 0}.mg-button slot,.mg-button ::slotted(*:not(mg-icon)){text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);display:flex;align-items:center;column-gap:0.6rem}";
|
|
178
228
|
|
|
179
229
|
const MgButton = class {
|
|
180
230
|
constructor(hostRef) {
|
|
@@ -323,7 +373,7 @@ const MgButton = class {
|
|
|
323
373
|
};
|
|
324
374
|
MgButton.style = mgButtonCss;
|
|
325
375
|
|
|
326
|
-
const mgCardCss = ".mg-card{position:relative;width:100%;padding:var(--mg-card-padding);overflow:var(--mg-card-overflow);box-sizing:border-box;z-index:inherit;background:var(--mg-card-background);border:var(--mg-card-border);border-radius:var(--mg-card-border-radius);box-shadow:var(--mg-card-box-shadow)}";
|
|
376
|
+
const mgCardCss = ".mg-card{position:relative;width:100%;padding:var(--mg-card-padding, var(--mg-card-padding-default));overflow:var(--mg-card-overflow, var(--mg-card-overflow-default));box-sizing:border-box;z-index:inherit;background:var(--mg-card-background, var(--mg-card-background-default));border:var(--mg-card-border, var(--mg-card-border-default));border-radius:var(--mg-card-border-radius, var(--mg-card-border-radius-default));box-shadow:var(--mg-card-box-shadow, var(--mg-card-box-shadow-default))}.mg-card ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
|
|
327
377
|
|
|
328
378
|
const MgCard = class {
|
|
329
379
|
constructor(hostRef) {
|
|
@@ -394,6 +444,10 @@ const general$1 = {
|
|
|
394
444
|
next: "next",
|
|
395
445
|
previous: "previous"
|
|
396
446
|
};
|
|
447
|
+
const plusMenu$1 = {
|
|
448
|
+
moreLabel: "Additional menu",
|
|
449
|
+
badgeLabel: "Include notification(s)"
|
|
450
|
+
};
|
|
397
451
|
const en = {
|
|
398
452
|
errors: errors$1,
|
|
399
453
|
nbCharLeft: nbCharLeft$1,
|
|
@@ -404,7 +458,8 @@ const en = {
|
|
|
404
458
|
pagination: pagination$1,
|
|
405
459
|
panel: panel$1,
|
|
406
460
|
skipLinks: skipLinks$1,
|
|
407
|
-
general: general$1
|
|
461
|
+
general: general$1,
|
|
462
|
+
plusMenu: plusMenu$1
|
|
408
463
|
};
|
|
409
464
|
|
|
410
465
|
const errors = {
|
|
@@ -458,6 +513,10 @@ const general = {
|
|
|
458
513
|
next: "suivant",
|
|
459
514
|
previous: "précédent"
|
|
460
515
|
};
|
|
516
|
+
const plusMenu = {
|
|
517
|
+
moreLabel: "Menu complémentaire",
|
|
518
|
+
badgeLabel: "Notification(s) incluse(s)"
|
|
519
|
+
};
|
|
461
520
|
const fr = {
|
|
462
521
|
errors: errors,
|
|
463
522
|
nbCharLeft: nbCharLeft,
|
|
@@ -468,34 +527,62 @@ const fr = {
|
|
|
468
527
|
pagination: pagination,
|
|
469
528
|
panel: panel,
|
|
470
529
|
skipLinks: skipLinks,
|
|
471
|
-
general: general
|
|
530
|
+
general: general,
|
|
531
|
+
plusMenu: plusMenu
|
|
472
532
|
};
|
|
473
533
|
|
|
474
|
-
const defaultLocale = 'en';
|
|
475
|
-
const messages = { en, fr };
|
|
476
534
|
/**
|
|
477
|
-
*
|
|
535
|
+
* Format number to the locale currency
|
|
536
|
+
*
|
|
537
|
+
* @param {number} number number to format
|
|
538
|
+
* @param {string} locale locale to apply
|
|
539
|
+
* @param {string} currency currency to apply
|
|
540
|
+
* @returns {string} formatted currency
|
|
541
|
+
*/
|
|
542
|
+
function localeCurrency(number, locale, currency) {
|
|
543
|
+
return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Format number to locale
|
|
478
547
|
*
|
|
479
|
-
* @param {
|
|
480
|
-
* @
|
|
548
|
+
* @param {number} number number to format
|
|
549
|
+
* @param {string} locale locale to apply
|
|
550
|
+
* @returns {string} formatted number
|
|
481
551
|
*/
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
const closestLang = Intl.NumberFormat.supportedLocalesOf((_a = element.closest('[lang]')) === null || _a === void 0 ? void 0 : _a.lang);
|
|
486
|
-
return closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;
|
|
487
|
-
};
|
|
552
|
+
function localeNumber(number, locale) {
|
|
553
|
+
return new Intl.NumberFormat(locale).format(number);
|
|
554
|
+
}
|
|
488
555
|
/**
|
|
489
|
-
*
|
|
556
|
+
* Date RegExp
|
|
557
|
+
*/
|
|
558
|
+
const dateRegExp = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
|
|
559
|
+
/**
|
|
560
|
+
* Locale date format
|
|
561
|
+
*
|
|
562
|
+
* @param {string} date date to format
|
|
563
|
+
* @param {string} locale locale to apply
|
|
564
|
+
* @returns {string} formatted date
|
|
565
|
+
*/
|
|
566
|
+
function localeDate(date, locale) {
|
|
567
|
+
if (typeof date !== 'string' || date === '' || !dateRegExp.test(date)) {
|
|
568
|
+
return '';
|
|
569
|
+
}
|
|
570
|
+
return new Intl.DateTimeFormat(locale).format(new Date(date));
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Get locale and messages
|
|
490
574
|
* We load the defined locale but for now we only support the first subtag for messages
|
|
491
575
|
*
|
|
492
576
|
* @param {HTMLElement} element element we need to get the language
|
|
577
|
+
* @param {unknown} messages messages to use
|
|
578
|
+
* @param {string} defaultLocale default messages locale
|
|
493
579
|
* @returns {{ locale: string; messages: unknown }} messages object
|
|
494
580
|
*/
|
|
495
|
-
|
|
496
|
-
|
|
581
|
+
const getLocaleMessages = (element, messages, defaultLocale) => {
|
|
582
|
+
var _a;
|
|
497
583
|
// Get local
|
|
498
|
-
const
|
|
584
|
+
const closestLang = Intl.NumberFormat.supportedLocalesOf((_a = element.closest('[lang]')) === null || _a === void 0 ? void 0 : _a.lang);
|
|
585
|
+
const locale = closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;
|
|
499
586
|
// Only keep first subtag
|
|
500
587
|
const localeSubtag = locale.split('-').shift();
|
|
501
588
|
// Return
|
|
@@ -505,6 +592,16 @@ const initLocales = (element) => {
|
|
|
505
592
|
};
|
|
506
593
|
};
|
|
507
594
|
|
|
595
|
+
const defaultLocale = 'en';
|
|
596
|
+
const messages = { en, fr };
|
|
597
|
+
/**
|
|
598
|
+
* Get Intl object
|
|
599
|
+
*
|
|
600
|
+
* @param {HTMLElement} element element we need to get the language
|
|
601
|
+
* @returns {{ locale: string; messages: unknown }} messages object
|
|
602
|
+
*/
|
|
603
|
+
const initLocales = (element) => getLocaleMessages(element, messages, defaultLocale);
|
|
604
|
+
|
|
508
605
|
const mgCharacterLeftCss = "mg-character-left.sc-mg-character-left{display:block}";
|
|
509
606
|
|
|
510
607
|
const MgCharacterLeft = class {
|
|
@@ -805,6 +902,7 @@ const icons = {
|
|
|
805
902
|
'archive': () => (index.h("path", { fill: "currentColor", d: "M3 6v6.96c0 .57.46 1.04 1.04 1.04H12c.55 0 1-.45 1-1V6H3Zm7 2H6V7h4v1Zm3-3H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1Z" })),
|
|
806
903
|
'archive-outline': () => (index.h("path", { fill: "currentColor", d: "M13 2H3c-.55 0-1 .45-1 1v2c0 .55.45 1 1 1v6.96c0 .57.46 1.04 1.04 1.04H12c.55 0 1-.45 1-1V6c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1Zm-1 11H4.04S4 12.98 4 12.96V6h8v7Zm1-8H3V3h10v2Zm-3 3H6V7h4v1Z" })),
|
|
807
904
|
'arrow-down': () => (index.h("path", { fill: "currentColor", d: "M13,10.1H10.23a.31.31,0,0,1-.32-.28h0V.94A.3.3,0,0,0,9.59.65H6.37A.32.32,0,0,0,6,.94H6V9.81a.29.29,0,0,1-.31.29H3a.3.3,0,0,0-.31.29.27.27,0,0,0,.08.22l5.06,4.58a.36.36,0,0,0,.46,0l5-4.58a.29.29,0,0,0,0-.42C13.22,10.1,13.12,10.1,13,10.1Z" })),
|
|
905
|
+
'arrow-down-a-z': () => (index.h("path", { fill: "currentColor", d: "m6.53 10.9-1.41 1.41-.71.71-2.12-2.12.71-.71.88.88V3.02h1v8.12l.95-.95.71.71ZM12.29 6H10.5l-.36 1H9.08l1.79-5h1.05l1.79 5h-1.06l-.36-1Zm-.36-1.02-.53-1.49-.53 1.49h1.06Zm1.79 5.18V9H9.09v1h3.29l-3.29 2.84V14h4.63v-1h-3.29l3.29-2.84Z" })),
|
|
808
906
|
'arrow-down-right': () => (index.h("path", { fill: "currentColor", d: "m1.98 3.47 8.75 8.75H6.94c-.58 0-1.05.47-1.05 1.06s.47 1.05 1.05 1.05h6.33c.58 0 1.05-.47 1.05-1.05V6.94a1.05 1.05 0 1 0-2.1 0v3.79L3.47 1.98c-.41-.41-1.08-.41-1.49 0-.41.41-.41 1.08 0 1.49Z" })),
|
|
809
907
|
'arrow-left': () => (index.h("path", { fill: "currentColor", d: "M5.88,12.93V10.18a.3.3,0,0,1,.28-.32H15a.31.31,0,0,0,.29-.33h0V6.32A.31.31,0,0,0,15,6H6.17a.32.32,0,0,1-.29-.31h0V2.93a.3.3,0,0,0-.28-.32.32.32,0,0,0-.23.09L.79,7.76a.36.36,0,0,0,0,.46l4.58,5a.31.31,0,0,0,.43,0A.4.4,0,0,0,5.88,12.93Z" })),
|
|
810
908
|
'arrow-right': () => (index.h("path", { fill: "currentColor", d: "M10.16,3V5.75a.3.3,0,0,1-.28.32H1a.31.31,0,0,0-.29.33h0V9.61A.31.31,0,0,0,1,9.94H9.87a.29.29,0,0,1,.29.31h0V13a.3.3,0,0,0,.28.32.32.32,0,0,0,.23-.09l4.58-5.06a.36.36,0,0,0,0-.46l-4.58-5a.3.3,0,0,0-.42,0C10.16,2.76,10.16,2.87,10.16,3Z" })),
|
|
@@ -813,6 +911,7 @@ const icons = {
|
|
|
813
911
|
'arrow-up': () => (index.h("path", { fill: "currentColor", d: "M3.06,5.82H5.81a.31.31,0,0,1,.32.28h0V15a.31.31,0,0,0,.33.29H9.67A.3.3,0,0,0,10,15h0V6.11a.3.3,0,0,1,.31-.29h2.75a.3.3,0,0,0,.23-.51L8.23.73a.36.36,0,0,0-.46,0l-5,4.58a.3.3,0,0,0,0,.43C2.82,5.83,2.92,5.82,3.06,5.82Z" })),
|
|
814
912
|
'arrow-up-right': () => (index.h("path", { fill: "currentColor", d: "m3.47 14.02 8.75-8.75v3.78c0 .58.47 1.05 1.06 1.05s1.05-.47 1.05-1.05V2.72c0-.58-.47-1.05-1.05-1.05H6.94a1.05 1.05 0 1 0 0 2.1h3.78l-8.74 8.76c-.41.41-.41 1.08 0 1.49s1.08.41 1.49 0Z" })),
|
|
815
913
|
'arrow-up-right-square': () => (index.h("path", { fill: "currentColor", d: "M14.33 3v10A1.34 1.34 0 0 1 13 14.33H3A1.34 1.34 0 0 1 1.67 13V3A1.34 1.34 0 0 1 3 1.67h10A1.34 1.34 0 0 1 14.33 3Zm-2.48.46H8.68a.67.67 0 0 0-.68.7.63.63 0 0 0 .2.47l.91.91-5.53 5.53a.33.33 0 0 0 0 .48l.87.87a.33.33 0 0 0 .48 0l5.53-5.52.91.9a.69.69 0 0 0 1 0 .71.71 0 0 0 .19-.48V4.15a.67.67 0 0 0-.67-.67Z" })),
|
|
914
|
+
'arrow-up-z-a': () => (index.h("path", { fill: "currentColor", d: "m5.82 5.85-.94-.94v8.11h-1V4.96l-.89.89-.71-.71 1.41-1.41.71-.71.71.71 1.41 1.41-.71.71ZM12.29 13H10.5l-.36 1H9.08l1.79-5h1.05l1.79 5h-1.06l-.36-1Zm-.36-1.02-.53-1.49-.53 1.49h1.06Zm1.79-8.82V2H9.09v1h3.29L9.09 5.84V7h4.63V6h-3.29l3.29-2.84Z" })),
|
|
816
915
|
'arrows-compare': () => index.h("path", { fill: "currentColor", d: "M5.81 9.47H.67v1.47h5.14v2.2l2.93-2.93-2.93-2.93v2.2Zm4.39-.73v-2.2h5.14V5.07H10.2v-2.2L7.27 5.8l2.93 2.93Z" }),
|
|
817
916
|
'arrows-right-down': () => (index.h("path", { fill: "currentColor", d: "M10.68 10.78c.16.17.16.45-.02.61l-2.8 2.78a.43.43 0 0 1-.31.12.42.42 0 0 1-.31-.12l-2.8-2.78a.44.44 0 0 1 0-.62.44.44 0 0 1 .62 0l2.06 2.05V5.38H2.11c-.24 0-.44-.19-.44-.44 0-.24.2-.44.44-.44H8v8.32l2.06-2.05a.44.44 0 0 1 .62 0Zm3.53-6.14-2.78-2.8a.438.438 0 0 0-.61-.02.44.44 0 0 0 0 .62l2.05 2.06H8.89v.88h3.98l-2.05 2.06a.44.44 0 0 0 0 .62c.17.17.45.17.62 0l2.78-2.8s.07-.09.09-.14c.02-.05.03-.11.03-.17 0-.11-.04-.23-.12-.31Z" })),
|
|
818
917
|
'arrows-right-left': () => (index.h("path", { fill: "currentColor", d: "M.73,5.65V5.23a.64.64,0,0,1,.64-.64H12V3.31a.64.64,0,0,1,.64-.64.63.63,0,0,1,.45.18L15.19,5a.63.63,0,0,1,0,.9L13.05,8A.65.65,0,0,1,12,7.57V6.29H1.37a.64.64,0,0,1-.64-.64Zm14,4.06H4.09V8.43A.64.64,0,0,0,3,8L.87,10.11a.63.63,0,0,0,0,.9L3,13.15a.64.64,0,0,0,.91,0,.61.61,0,0,0,.18-.45V11.41H14.73a.63.63,0,0,0,.64-.64h0v-.42a.63.63,0,0,0-.64-.64Z" })),
|
|
@@ -823,8 +922,13 @@ const icons = {
|
|
|
823
922
|
'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" })),
|
|
824
923
|
'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" })),
|
|
825
924
|
'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" })),
|
|
826
|
-
'calendar': () => (index.h("path", { fill: "currentColor", d: "M14
|
|
827
|
-
'calendar-
|
|
925
|
+
'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" })),
|
|
926
|
+
'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" })),
|
|
927
|
+
'calendar-euro': () => [
|
|
928
|
+
index.h("path", { d: "M13 2.5h-1v-1h-1v1H5v-1H4v1H3c-.6 0-1 .4-1 1v10c0 .6.4 1 1 1h10c.6 0 1-.4 1-1v-10c0-.6-.4-1-1-1Zm-10 11v-8h10v8H3Z" }),
|
|
929
|
+
index.h("path", { d: "m9.79 11.03.71.71c-.53.48-1.23.78-2 .78-1.31 0-2.43-.85-2.83-2.02H4.5v-.75h1.02c-.02-.07-.02-.15-.02-.23 0-.09 0-.18.02-.27H4.5V8.5h1.19a2.974 2.974 0 0 1 4.81-1.2l-.71.71c-.35-.3-.8-.49-1.29-.49-.73 0-1.37.39-1.72.98h1.75v.75H6.52c-.01.09-.02.18-.02.27 0 .08 0 .16.01.23h2.02v.75H6.76c.34.61 1 1.02 1.74 1.02.49 0 .94-.19 1.29-.49Z" }),
|
|
930
|
+
],
|
|
931
|
+
'calendar-euro-outline': () => (index.h("path", { d: "m9.79 11.02.71.71a2.976 2.976 0 0 1-4.83-1.24H4.5v-.75h1.01c-.01-.08-.01-.15-.01-.23 0-.09 0-.18.02-.27H4.5v-.75h1.19a2.974 2.974 0 0 1 4.81-1.2L9.79 8c-.35-.3-.8-.49-1.29-.49-.73 0-1.37.39-1.72.98h1.75v.75H6.52c-.01.09-.02.18-.02.27 0 .08 0 .16.01.23h2.02v.75H6.76c.34.61 1 1.02 1.74 1.02.49 0 .94-.19 1.29-.49ZM13 3.5v1H3v-1h10m-1-2h-1v1H5v-1H4v1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h10c.55 0 1-.45 1-1v-10c0-.55-.45-1-1-1h-1v-1Zm-9 12v-8h10v8H3Z" })),
|
|
828
932
|
'check': () => (index.h("path", { fill: "currentColor", d: "m15.27 4.23-1.11-1.18c-.11-.1-.27-.1-.38 0L6 10.36l-3.76-4a.187.187 0 0 0-.26 0L.71 7.6c-.07.07-.07.19 0 .26l5.12 5.41c.07.07.18.07.25 0l1.3-1.23 7.87-7.45c.1-.1.11-.26.01-.37h.01Z" })),
|
|
829
933
|
'check-circle': () => (index.h("path", { fill: "currentColor", d: "M15.33 8A7.33 7.33 0 1 1 8 .67 7.33 7.33 0 0 1 15.33 8Zm-8.18 3.88 5.44-5.44a.46.46 0 0 0 0-.65l-.67-.67a.48.48 0 0 0-.67 0L6.82 9.54 4.75 7.47a.46.46 0 0 0-.65 0l-.67.67a.46.46 0 0 0 0 .65l3.07 3.07a.46.46 0 0 0 .65 0Z" })),
|
|
830
934
|
'chevron-down': () => (index.h("path", { fill: "currentColor", d: "M7.43,12.21.9,5.69a.81.81,0,0,1,0-1.14h0l.76-.77a.81.81,0,0,1,1.14,0L8,9l5.2-5.18a.81.81,0,0,1,1.14,0l.76.77a.8.8,0,0,1,0,1.13h0L8.57,12.21a.79.79,0,0,1-1.13,0Z" })),
|
|
@@ -836,6 +940,8 @@ const icons = {
|
|
|
836
940
|
'chevron-up': () => (index.h("path", { fill: "currentColor", d: "M8.57,3.79l6.53,6.52a.81.81,0,0,1,0,1.14h0l-.76.77a.81.81,0,0,1-1.14,0L8,7,2.8,12.22a.81.81,0,0,1-1.14,0L.9,11.45a.8.8,0,0,1,0-1.13h0L7.43,3.79a.79.79,0,0,1,1.13,0Z" })),
|
|
837
941
|
'chevron-up-circle': () => (index.h("path", { fill: "currentColor", d: "M.67 8C.67 3.95 3.95.67 8 .67S15.33 3.95 15.33 8 12.05 15.33 8 15.33C3.95 15.33.67 12.05.67 8ZM7.5 4.63l-4 4c-.28.27-.28.71-.01.99h.01l.5.53c.28.27.72.27 1 0l3-3 3 3c.28.27.72.27 1 0l.5-.51c.28-.27.28-.71.01-.99h-.01l-4-4.01a.697.697 0 0 0-.99-.01H7.5Z" })),
|
|
838
942
|
'clock': () => (index.h("path", { fill: "currentColor", d: "M8,.67C3.95,.67,.67,3.95,.67,8s3.28,7.33,7.33,7.33,7.33-3.28,7.33-7.33h0C15.33,3.95,12.05,.67,8,.67h0Zm1.69,10.33l-2.61-1.88c-.09-.07-.14-.17-.14-.28V3.84c0-.19,.16-.35,.35-.36h1.42c.2,0,.35,.16,.36,.36V7.93l1.87,1.37c.16,.1,.2,.32,.09,.47v.02h-.01l-.83,1.15c-.12,.15-.34,.18-.5,.06Z" })),
|
|
943
|
+
'clock-outline': () => (index.h("path", { fill: "currentColor", d: "m10.95 10.04-.71.71L7.5 8.01v-4h1V7.6l2.45 2.45ZM8 2C4.69 2 2 4.69 2 8s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6m0-1c3.87 0 7 3.13 7 7s-3.13 7-7 7-7-3.13-7-7 3.13-7 7-7Z" })),
|
|
944
|
+
'code-square-outline': () => (index.h("path", { fill: "currentColor", d: "m6.32 10.28.73-.73L5.5 8l1.53-1.53-.73-.73-2.27 2.27 2.28 2.28Zm3.37 0L11.97 8 9.69 5.72l-.73.73L10.51 8 8.96 9.55l.73.73ZM3.01 14c-.27 0-.5-.1-.7-.3-.2-.2-.3-.43-.3-.7V3c0-.27.1-.5.3-.7.2-.2.43-.3.7-.3h10c.27 0 .5.1.7.3.2.2.3.43.3.7v10c0 .27-.1.5-.3.7-.2.2-.43.3-.7.3H3Zm0-1h10V3H3v10Zm0-10v10V3Z" })),
|
|
839
945
|
'conversation': () => (index.h("path", { fill: "currentColor", d: "M11.22,6.48c0-2.11-2.36-3.81-5.28-3.81S.67,4.37.67,6.48a3.15,3.15,0,0,0,1,2.19A5.17,5.17,0,0,1,.72,10a.2.2,0,0,0,0,.21.23.23,0,0,0,.19.12,4.79,4.79,0,0,0,2.25-.6,6.84,6.84,0,0,0,2.82.6C8.86,10.29,11.22,8.58,11.22,6.48Zm3.1,5.23a3.08,3.08,0,0,0,1-2.19C15.28,7.93,14,6.57,12,6a3.84,3.84,0,0,1,0,.48C12,9,9.3,11.05,6,11.05a7.16,7.16,0,0,1-.8-.05A5.6,5.6,0,0,0,10,13.33a6.7,6.7,0,0,0,2.82-.59,4.66,4.66,0,0,0,2.25.59.21.21,0,0,0,.19-.11.2.2,0,0,0,0-.21,5.15,5.15,0,0,1-.91-1.3Z" })),
|
|
840
946
|
'conversation-outline': () => [
|
|
841
947
|
index.h("path", { fill: "currentColor", d: "M15 8.5c0 .79-.39 1.51-1.01 2.09v1.91a.508.508 0 0 1-.68.47l-2.26-1.05c-.34.05-.69.08-1.05.08-.23 0-.47-.01-.69-.04-.18 0-.35-.03-.52-.07-.02 0-.03 0-.05-.01-.16-.02-.31-.06-.46-.1-.42-.1-.82-.25-1.18-.43l-.42-.24c-.06-.04-.12-.08-.18-.13.58-.03 1.13-.12 1.64-.27.56.19 1.19.29 1.86.29.29 0 .6-.02.91-.07l.29-.04.28.12 1.5.7v-1.12l.01-.43.31-.3c.32-.29.7-.77.7-1.36 0-.91-.82-1.72-2.01-2.15-.01-.39-.09-.77-.23-1.13.06.02.12.04.19.06.25.08.5.17.73.27.11.05.23.11.34.17.11.06.21.12.31.18.11.07.2.13.3.2.48.35.86.78 1.1 1.26a2.288 2.288 0 0 1 .17.45c.03.11.06.22.07.33.02.12.03.24.03.36Z" }),
|
|
@@ -853,9 +959,10 @@ const icons = {
|
|
|
853
959
|
'download': () => (index.h("path", { fill: "currentColor", d: "M6.4 2v4.1c0 .2-.1.3-.3.3H4c-.2 0-.3.1-.3.3 0 .1 0 .2.1.2l4 4c.1.1.3.1.4 0l4-4c.1-.1.1-.3 0-.4-.1-.1-.1-.1-.2-.1H9.9c-.2 0-.3-.1-.3-.3V2c0-.2-.1-.3-.3-.3H6.7c-.1 0-.3.1-.3.3zm7.9 11v1c0 .2-.1.3-.3.3H2c-.2 0-.3-.1-.3-.3v-1c0-.2.1-.3.3-.3h12c.2 0 .3.1.3.3z" })),
|
|
854
960
|
'ellipsis': () => (index.h("path", { fill: "currentColor", d: "M2.5 6.17A1.83 1.83 0 1 0 4.33 8c0-1.01-.82-1.83-1.83-1.83Zm11 0A1.83 1.83 0 1 0 15.33 8c0-1.01-.82-1.83-1.83-1.83Zm-5.5 0A1.83 1.83 0 1 0 9.83 8c0-1.01-.82-1.83-1.83-1.83Z" })),
|
|
855
961
|
'ellipsis-vertical': () => (index.h("path", { fill: "currentColor", d: "M6.17 13.5A1.83 1.83 0 1 0 8 11.67c-1.01 0-1.83.82-1.83 1.83Zm0-11A1.83 1.83 0 1 0 8 .67c-1.01 0-1.83.82-1.83 1.83Zm0 5.5A1.83 1.83 0 1 0 8 6.17c-1.01 0-1.83.82-1.83 1.83Z" })),
|
|
856
|
-
'euro': () => (index.h("path", { fill: "currentColor", d: "
|
|
962
|
+
'euro': () => (index.h("path", { fill: "currentColor", d: "m12.1 11.02 1.4 1.42a5.948 5.948 0 0 1-4 1.56c-2.64 0-4.86-1.68-5.66-4.04H1.5v-1.5h2.02C3.5 8.3 3.5 8.16 3.5 8c0-.18 0-.36.04-.54H1.5v-1.5h2.38C4.7 3.66 6.9 2 9.5 2c1.54 0 2.94.6 4 1.56l-1.4 1.42c-.7-.6-1.6-.98-2.6-.98-1.46 0-2.74.78-3.44 1.96h3.5v1.5H5.54c-.02.18-.04.36-.04.54 0 .16 0 .32.02.46h4.04v1.5H6.02C6.7 11.18 8.02 12 9.5 12c1 0 1.9-.38 2.6-.98Z" })),
|
|
857
963
|
'euro-circle': () => (index.h("path", { fill: "currentColor", d: "M8 .67C3.95.67.67 3.95.67 8S3.95 15.33 8 15.33s7.33-3.28 7.33-7.33S12.05.67 8 .67Zm2.27 11.4c-.38.09-.76.14-1.15.14a4.038 4.038 0 0 1-3.99-2.92h-.58c-.13 0-.23-.1-.23-.22v-.54c0-.12.11-.22.23-.22h.41a5.34 5.34 0 0 1 0-.8h-.41c-.13 0-.23-.1-.23-.22v-.58c0-.13.11-.22.23-.22h.63c.6-1.65 2.18-2.74 3.94-2.71.34 0 .68.03 1.02.1.12.03.19.16.16.28l-.23.84c-.03.12-.15.19-.27.17-.24-.05-.48-.08-.73-.08A2.42 2.42 0 0 0 6.81 6.5h2.71c.12.03.2.15.17.27l-.13.58c-.02.1-.12.18-.22.18H6.52c-.03.26-.03.53 0 .8h2.63c.12.03.2.15.17.27l-.11.52c-.03.1-.12.18-.22.18H6.8c.36.96 1.28 1.6 2.31 1.61.3 0 .59-.04.88-.1.12-.02.24.05.27.18l.17.84c.02.12-.05.24-.17.27v-.03Z" })),
|
|
858
964
|
'exclamation-circle': () => (index.h("path", { fill: "currentColor", d: "M8 15.33c4.05 0 7.33-3.28 7.33-7.33S12.05.67 8 .67.67 3.95.67 8 3.95 15.33 8 15.33Zm.95-3.3c0 .15-.12.27-.28.27h-1.4c-.15 0-.28-.12-.28-.27v-1.31c0-.15.12-.28.28-.28h1.4c.15 0 .28.12.28.28v1.31ZM7 3.96c0-.14.11-.25.25-.25H8.7c.14 0 .25.11.25.25v4.8c0 .14-.11.25-.25.25H7.25c-.14 0-.25-.11-.25-.25V3.95Z" })),
|
|
965
|
+
'exclamation-stamp': () => (index.h("path", { fill: "currentColor", d: "m15 8-1.55-1.86.22-2.46-2.3-.55L10.17 1 8 1.98 5.84 1 4.63 3.13l-2.29.54.22 2.46L1.01 8l1.55 1.86-.22 2.47 2.3.55 1.2 2.13L8 14.03l2.17.98 1.2-2.13 2.3-.55-.22-2.46L15 8.01Zm-6.36 3.35H7.36v-1.34h1.28v1.34Zm0-2.67H7.36V4.67h1.28v4.01Z" })),
|
|
859
966
|
'exclamation-triangle': () => (index.h("path", { fill: "currentColor", d: "m14.3 13.88-6-12a.32.32 0 0 0-.41-.15.31.31 0 0 0-.15.15l-6 12a.31.31 0 0 0 .14.42.32.32 0 0 0 .14 0H14a.31.31 0 0 0 .33-.29.23.23 0 0 0-.03-.13ZM7 6a.28.28 0 0 1 .28-.28h1.46A.28.28 0 0 1 9 6v4a.29.29 0 0 1-.28.29H7.3A.29.29 0 0 1 7 10Zm2 7a.31.31 0 0 1-.31.32H7.34A.32.32 0 0 1 7 13v-1.37a.31.31 0 0 1 .32-.31h1.39a.31.31 0 0 1 .31.31Z" })),
|
|
860
967
|
'eye': () => [
|
|
861
968
|
index.h("circle", { fill: "currentColor", cx: "8.01", cy: "7.96", r: "2.44" }),
|
|
@@ -1079,13 +1186,14 @@ const MgIllustratedMessage = class {
|
|
|
1079
1186
|
*/
|
|
1080
1187
|
componentDidLoad() {
|
|
1081
1188
|
const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
|
|
1082
|
-
const
|
|
1189
|
+
const slottedIllustrations = this.element.querySelectorAll('[slot="illustration"]');
|
|
1083
1190
|
if (!isTagName(this.element.querySelector('[slot="title"]'), headingTags)) {
|
|
1084
1191
|
throw new Error(`<mg-illustrated-message> Slotted title must be a heading: ${headingTags.join(', ')}`);
|
|
1085
1192
|
}
|
|
1086
|
-
else if (
|
|
1087
|
-
throw new Error(
|
|
1193
|
+
else if (slottedIllustrations.length !== 1) {
|
|
1194
|
+
throw new Error('<mg-illustrated-message> Slotted illustration must be present and unique.');
|
|
1088
1195
|
}
|
|
1196
|
+
slottedIllustrations[0].setAttribute('aria-hidden', 'true');
|
|
1089
1197
|
}
|
|
1090
1198
|
/**
|
|
1091
1199
|
* Render
|
|
@@ -1401,46 +1509,7 @@ var InputError$1;
|
|
|
1401
1509
|
InputError["REQUIRED"] = "required";
|
|
1402
1510
|
})(InputError$1 || (InputError$1 = {}));
|
|
1403
1511
|
|
|
1404
|
-
|
|
1405
|
-
* Format number to the locale currency
|
|
1406
|
-
*
|
|
1407
|
-
* @param {number} number number to format
|
|
1408
|
-
* @param {string} locale locale to apply
|
|
1409
|
-
* @param {string} currency currency to apply
|
|
1410
|
-
* @returns {string} formatted currency
|
|
1411
|
-
*/
|
|
1412
|
-
function localeCurrency(number, locale, currency) {
|
|
1413
|
-
return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);
|
|
1414
|
-
}
|
|
1415
|
-
/**
|
|
1416
|
-
* Format number to locale
|
|
1417
|
-
*
|
|
1418
|
-
* @param {number} number number to format
|
|
1419
|
-
* @param {string} locale locale to apply
|
|
1420
|
-
* @returns {string} formatted number
|
|
1421
|
-
*/
|
|
1422
|
-
function localeNumber(number, locale) {
|
|
1423
|
-
return new Intl.NumberFormat(locale).format(number);
|
|
1424
|
-
}
|
|
1425
|
-
/**
|
|
1426
|
-
* Date RegExp
|
|
1427
|
-
*/
|
|
1428
|
-
const dateRegExp = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
|
|
1429
|
-
/**
|
|
1430
|
-
* Locale date format
|
|
1431
|
-
*
|
|
1432
|
-
* @param {string} date date to format
|
|
1433
|
-
* @param {string} locale locale to apply
|
|
1434
|
-
* @returns {string} formatted date
|
|
1435
|
-
*/
|
|
1436
|
-
function localeDate(date, locale) {
|
|
1437
|
-
if (typeof date !== 'string' || date === '' || !dateRegExp.test(date)) {
|
|
1438
|
-
return '';
|
|
1439
|
-
}
|
|
1440
|
-
return new Intl.DateTimeFormat(locale).format(new Date(date));
|
|
1441
|
-
}
|
|
1442
|
-
|
|
1443
|
-
const mgInputDateCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsla(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0%;border-bottom-right-radius:0%}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.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}}";
|
|
1512
|
+
const mgInputDateCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.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}}";
|
|
1444
1513
|
|
|
1445
1514
|
const MgInputDate = class {
|
|
1446
1515
|
constructor(hostRef) {
|
|
@@ -1546,11 +1615,14 @@ const MgInputDate = class {
|
|
|
1546
1615
|
this.errorMessage = undefined;
|
|
1547
1616
|
}
|
|
1548
1617
|
validateValue(newValue) {
|
|
1618
|
+
// When the input is not fully completed or has been cleared, the value becomes an empty string.
|
|
1619
|
+
if (newValue === '')
|
|
1620
|
+
newValue = null;
|
|
1549
1621
|
if (newValue !== undefined && newValue !== null && (typeof newValue !== 'string' || !dateRegExp.test(newValue))) {
|
|
1550
1622
|
throw new Error("<mg-input-date> props 'value' doesn't match pattern: yyyy-mm-dd");
|
|
1551
1623
|
}
|
|
1552
1624
|
else {
|
|
1553
|
-
this.valueChange.emit(
|
|
1625
|
+
this.valueChange.emit(newValue);
|
|
1554
1626
|
}
|
|
1555
1627
|
}
|
|
1556
1628
|
handleValidityChange(newValue, _oldValue, prop) {
|
|
@@ -1637,7 +1709,7 @@ var InputError;
|
|
|
1637
1709
|
InputError["REQUIRED"] = "required";
|
|
1638
1710
|
})(InputError || (InputError = {}));
|
|
1639
1711
|
|
|
1640
|
-
const mgInputNumericCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem
|
|
1712
|
+
const mgInputNumericCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input.mg-input--width-full:not(.mg-input--label-on-top){justify-content:space-between}.mg-input.mg-input--width-full.mg-input--label-on-top .mg-input__box{width:100%}.mg-input.mg-input--width-full .mg-input__input-container{flex:auto;width:100%}.mg-input.mg-input--width-full .mg-input__input-container .mg-input__box{max-width:100%}.mg-input:not(.mg-input--label-on-top) .mg-input__box{width:100%;max-width:calc(17.7rem + var(--mg-inputs-spacer) * 2);min-width:5rem}.mg-input.mg-input--width-16 .mg-input__input-container{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__input{width:100%;max-width:21rem}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__with-character-left{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__box{max-width:21rem;min-width:100%}.mg-input.mg-input--width-4 .mg-input__input-container .mg-input__box{max-width:7rem}.mg-input.mg-input--width-2 .mg-input__input-container .mg-input__box{max-width:5rem}.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-input .mg-input__box{text-align:var(--mg-inputs-text-align, right)}";
|
|
1641
1713
|
|
|
1642
1714
|
const MgInputNumeric = class {
|
|
1643
1715
|
constructor(hostRef) {
|
|
@@ -1898,7 +1970,7 @@ const MgInputNumeric = class {
|
|
|
1898
1970
|
};
|
|
1899
1971
|
MgInputNumeric.style = mgInputNumericCss;
|
|
1900
1972
|
|
|
1901
|
-
const mgInputPasswordCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem
|
|
1973
|
+
const mgInputPasswordCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input.mg-input--width-full:not(.mg-input--label-on-top){justify-content:space-between}.mg-input.mg-input--width-full.mg-input--label-on-top .mg-input__box{width:100%}.mg-input.mg-input--width-full .mg-input__input-container{flex:auto;width:100%}.mg-input.mg-input--width-full .mg-input__input-container .mg-input__box{max-width:100%}.mg-input:not(.mg-input--label-on-top) .mg-input__box{width:100%;max-width:calc(17.7rem + var(--mg-inputs-spacer) * 2);min-width:5rem}.mg-input.mg-input--width-16 .mg-input__input-container{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__input{width:100%;max-width:21rem}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__with-character-left{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__box{max-width:21rem;min-width:100%}.mg-input.mg-input--width-4 .mg-input__input-container .mg-input__box{max-width:7rem}.mg-input.mg-input--width-2 .mg-input__input-container .mg-input__box{max-width:5rem}.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}}";
|
|
1902
1974
|
|
|
1903
1975
|
const MgInputPassword = class {
|
|
1904
1976
|
constructor(hostRef) {
|
|
@@ -2195,7 +2267,7 @@ const MgInputRadio = class {
|
|
|
2195
2267
|
};
|
|
2196
2268
|
MgInputRadio.style = mgInputRadioCss;
|
|
2197
2269
|
|
|
2198
|
-
const mgInputSelectCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem
|
|
2270
|
+
const mgInputSelectCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input.mg-input--width-full:not(.mg-input--label-on-top){justify-content:space-between}.mg-input.mg-input--width-full.mg-input--label-on-top .mg-input__box{width:100%}.mg-input.mg-input--width-full .mg-input__input-container{flex:auto;width:100%}.mg-input.mg-input--width-full .mg-input__input-container .mg-input__box{max-width:100%}.mg-input:not(.mg-input--label-on-top) .mg-input__box{width:100%;max-width:calc(17.7rem + var(--mg-inputs-spacer) * 2);min-width:5rem}.mg-input.mg-input--width-16 .mg-input__input-container{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__input{width:100%;max-width:21rem}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__with-character-left{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__box{max-width:21rem;min-width:100%}.mg-input.mg-input--width-4 .mg-input__input-container .mg-input__box{max-width:7rem}.mg-input.mg-input--width-2 .mg-input__input-container .mg-input__box{max-width:5rem}.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-input__box{width:100%;padding-top:0;padding-bottom:0;padding-right:1rem}.mg-input.mg-input--select:not(.mg-input--label-on-top) .mg-input__box{max-width:unset}";
|
|
2199
2271
|
|
|
2200
2272
|
/**
|
|
2201
2273
|
* Check if item is a well configured option
|
|
@@ -2315,13 +2387,17 @@ const MgInputSelect = class {
|
|
|
2315
2387
|
this.valueChange.emit(newValue);
|
|
2316
2388
|
}
|
|
2317
2389
|
validateItems(newValue) {
|
|
2390
|
+
// Empty options
|
|
2391
|
+
if (newValue.length === 0) {
|
|
2392
|
+
this.options = [];
|
|
2393
|
+
}
|
|
2318
2394
|
// String array
|
|
2319
|
-
if (allItemsAreString(newValue)) {
|
|
2395
|
+
else if (allItemsAreString(newValue)) {
|
|
2320
2396
|
this.valueExist = newValue.includes(this.value);
|
|
2321
2397
|
this.options = newValue.map((item) => ({ title: item, value: item }));
|
|
2322
2398
|
}
|
|
2323
2399
|
// Object array
|
|
2324
|
-
else if (newValue
|
|
2400
|
+
else if (newValue.every(item => isOption$1(item))) {
|
|
2325
2401
|
this.valueExist = newValue.map(item => item.value).includes(this.value);
|
|
2326
2402
|
// Grouped object options
|
|
2327
2403
|
if (newValue.some(item => item.group !== undefined)) {
|
|
@@ -2333,7 +2409,7 @@ const MgInputSelect = class {
|
|
|
2333
2409
|
}
|
|
2334
2410
|
}
|
|
2335
2411
|
else {
|
|
2336
|
-
throw new Error('<mg-input-select> prop "items" is required
|
|
2412
|
+
throw new Error('<mg-input-select> prop "items" is required, can be an empty Array or all items must be the same type: string or Option.');
|
|
2337
2413
|
}
|
|
2338
2414
|
}
|
|
2339
2415
|
handleValidityChange(newValue, _oldValue, prop) {
|
|
@@ -2403,7 +2479,7 @@ const MgInputSelect = class {
|
|
|
2403
2479
|
};
|
|
2404
2480
|
MgInputSelect.style = mgInputSelectCss;
|
|
2405
2481
|
|
|
2406
|
-
const mgInputTextCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem
|
|
2482
|
+
const mgInputTextCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input.mg-input--width-full:not(.mg-input--label-on-top){justify-content:space-between}.mg-input.mg-input--width-full.mg-input--label-on-top .mg-input__box{width:100%}.mg-input.mg-input--width-full .mg-input__input-container{flex:auto;width:100%}.mg-input.mg-input--width-full .mg-input__input-container .mg-input__box{max-width:100%}.mg-input:not(.mg-input--label-on-top) .mg-input__box{width:100%;max-width:calc(17.7rem + var(--mg-inputs-spacer) * 2);min-width:5rem}.mg-input.mg-input--width-16 .mg-input__input-container{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__input{width:100%;max-width:21rem}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__with-character-left{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__box{max-width:21rem;min-width:100%}.mg-input.mg-input--width-4 .mg-input__input-container .mg-input__box{max-width:7rem}.mg-input.mg-input--width-2 .mg-input__input-container .mg-input__box{max-width:5rem}.mg-input mg-character-left{opacity:0.6;font-size:1.1rem}.mg-input.mg-input--has-display-character-left .mg-input__input+.mg-input__help-text,.mg-input.mg-input--has-display-character-left .mg-input__input+.mg-input__error{margin-top:0}.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-input.mg-input--has-icon .mg-input__with-character-left>mg-icon{position:absolute;top:50%;left:var(--mg-inputs-spacer);color:var(--mg-inputs-color);transform:translateY(-50%)}.mg-input.mg-input--has-icon .mg-input__with-character-left .mg-input__box{padding-left:calc(var(--mg-icon-regular-size) + var(--mg-inputs-spacer) * 2)}.mg-input__with-character-left{position:relative;display:inline-flex}.mg-input--width-full .mg-input__with-character-left{width:100%}.mg-input.is-focused .mg-input__with-character-left .mg-input__box{padding-right:calc(var(--mg-character-left-message-length) * 1ch + 0.8rem)}.mg-input__with-character-left mg-character-left{position:absolute;display:none;top:50%;right:1rem;opacity:0.6;transform:translateY(-50%);font-size:1.1rem}.mg-input.is-focused .mg-input__with-character-left mg-character-left{display:block}";
|
|
2407
2483
|
|
|
2408
2484
|
const MgInputText = class {
|
|
2409
2485
|
constructor(hostRef) {
|
|
@@ -2621,7 +2697,7 @@ const MgInputText = class {
|
|
|
2621
2697
|
};
|
|
2622
2698
|
MgInputText.style = mgInputTextCss;
|
|
2623
2699
|
|
|
2624
|
-
const mgInputTextareaCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem
|
|
2700
|
+
const mgInputTextareaCss = ":host{display:block}.mg-input{display:flex;align-items:flex-start;min-height:var(--default-size);max-width:100%;margin-bottom:var(--mg-inputs-margin-bottom, 0);}.mg-input mg-input-title{flex-shrink:var(--mg-inputs-shrink, 1);width:var(--mg-inputs-title-width, auto);margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);margin-right:var(--mg-inputs-title-horizontal-space, var(--mg-inputs-spacer));text-align:right}.mg-input.mg-input--label-on-top{flex-direction:column}.mg-input.mg-input--label-on-top .mg-input__input-container{width:100%}.mg-input__title{display:flex;align-items:baseline;margin-bottom:0.3rem}.mg-input__title mg-input-title{flex-shrink:1;width:auto;margin-top:0;margin-right:var(--mg-inputs-spacer);text-align:left}.mg-input__title mg-tooltip{margin-top:0}.mg-input__title mg-icon{display:inline-flex;vertical-align:text-bottom}.mg-input__input-container{min-height:var(--default-size);}.mg-input__input-container>strong{display:inline-block;margin-top:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2);min-height:var(--font-size)}.mg-input__input-container mg-tooltip{display:inline-flex;width:var(--mg-icon-regular-size);height:var(--mg-icon-regular-size);margin-left:var(--mg-inputs-spacer)}.mg-input__input-container .mg-input__help-text,.mg-input__input-container .mg-input__error{text-align:start;font-size:1.2rem}.mg-input__input{display:flex;}.mg-input__input mg-tooltip{margin-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input__input.mg-input__input--has-error .mg-input__box{border-color:hsl(var(--color-danger))}.mg-input__input+.mg-input__help-text,.mg-input__input+.mg-input__error{margin-top:0.5rem}.mg-input__error{display:inline-block;margin-top:0.2rem;padding:0.3rem 0.8rem;border-radius:0.3rem;background:hsl(var(--mg-inputs-error-bg-color));color:hsl(var(--color-danger))}.mg-input__input mg-icon,.mg-input__error mg-icon{display:flex}.mg-input__box{padding:calc((var(--default-size) - var(--font-size) * var(--line-height)) / 2) var(--mg-inputs-spacer);height:var(--default-size);box-sizing:border-box;border-width:var(--mg-inputs-border-width);border-style:solid;border-color:var(--mg-inputs-color);border-radius:var(--mg-inputs-border-radius);background-color:hsl(var(--color-light));font-family:inherit;color:hsl(var(--color-dark));font-size:var(--font-size);text-align:var(--mg-inputs-text-align, left)}.mg-input__box::placeholder{color:var(--mg-inputs-color);font-style:italic}.mg-input__box:focus{box-shadow:0 0 0.6rem hsl(var(--mg-inputs-color-shadow-focus-hsl), 0.5)}.mg-input__box:disabled{opacity:0.3}.mg-input.mg-input--is-input-group-append{--mg-button-border-radius-top-left:0;--mg-button-border-radius-bottom-left:0;}.mg-input.mg-input--is-input-group-append .mg-input__box{margin-right:-0.1rem;border-top-right-radius:0;border-bottom-right-radius:0}.mg-input.mg-input--is-input-group-append .mg-input__box:focus-visible{outline-style:solid;outline-offset:-0.2rem;outline-width:0.2rem}.mg-input.mg-input--is-input-group-append.mg-input--readonly slot[name=append-input]{display:none}.mg-input.mg-input--label-on-top .mg-input__box{width:auto;max-width:100%}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-button-border-radius-top-right:0;--mg-button-border-radius-bottom-right:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-button-border-right-width:0}.mg-input.mg-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-button-border-radius-top-right:var(--mg-inputs-border-radius);--mg-button-border-radius-bottom-right:var(--mg-inputs-border-radius)}.mg-input.mg-input--is-append-input-slot-content:not(.mg-input--readonly) ::slotted([slot=append-input]){padding-top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2)}.mg-input.mg-input--width-full:not(.mg-input--label-on-top){justify-content:space-between}.mg-input.mg-input--width-full.mg-input--label-on-top .mg-input__box{width:100%}.mg-input.mg-input--width-full .mg-input__input-container{flex:auto;width:100%}.mg-input.mg-input--width-full .mg-input__input-container .mg-input__box{max-width:100%}.mg-input:not(.mg-input--label-on-top) .mg-input__box{width:100%;max-width:calc(17.7rem + var(--mg-inputs-spacer) * 2);min-width:5rem}.mg-input.mg-input--width-16 .mg-input__input-container{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__input{width:100%;max-width:21rem}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__with-character-left{width:100%}.mg-input.mg-input--width-16 .mg-input__input-container .mg-input__box{max-width:21rem;min-width:100%}.mg-input.mg-input--width-4 .mg-input__input-container .mg-input__box{max-width:7rem}.mg-input.mg-input--width-2 .mg-input__input-container .mg-input__box{max-width:5rem}.mg-input mg-character-left{opacity:0.6;font-size:1.1rem}.mg-input.mg-input--has-display-character-left .mg-input__input+.mg-input__help-text,.mg-input.mg-input--has-display-character-left .mg-input__input+.mg-input__error{margin-top:0}.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-input .mg-input__box{display:block;height:auto;resize:none}.mg-input .mg-input__box.mg-input__box--resizable{resize:both}.mg-input .mg-input__box.mg-input__box--resizable-horizontal{resize:horizontal}.mg-input .mg-input__box.mg-input__box--resizable-vertical{resize:vertical}.mg-input__with-character-left{width:100%}.mg-input__with-character-left mg-character-left{display:block;visibility:hidden;margin-top:0.2rem;text-align:end}.mg-input.is-focused .mg-input__with-character-left mg-character-left{visibility:visible}@-moz-document url-prefix(){.mg-input__box{overflow-x:hidden}}";
|
|
2625
2701
|
|
|
2626
2702
|
const MgInputTextarea = class {
|
|
2627
2703
|
constructor(hostRef) {
|
|
@@ -3040,6 +3116,194 @@ const MgInputToggle = class {
|
|
|
3040
3116
|
};
|
|
3041
3117
|
MgInputToggle.style = mgInputToggleCss;
|
|
3042
3118
|
|
|
3119
|
+
/**
|
|
3120
|
+
* Available menu-item positions
|
|
3121
|
+
*/
|
|
3122
|
+
var ElementPosition;
|
|
3123
|
+
(function (ElementPosition) {
|
|
3124
|
+
ElementPosition["FIRST"] = "first";
|
|
3125
|
+
ElementPosition["LAST"] = "last";
|
|
3126
|
+
})(ElementPosition || (ElementPosition = {}));
|
|
3127
|
+
/**
|
|
3128
|
+
* Available menu item status
|
|
3129
|
+
*/
|
|
3130
|
+
var Status$1;
|
|
3131
|
+
(function (Status) {
|
|
3132
|
+
Status["VISIBLE"] = "visible";
|
|
3133
|
+
Status["HIDDEN"] = "hidden";
|
|
3134
|
+
Status["DISABLED"] = "disabled";
|
|
3135
|
+
Status["ACTIVE"] = "active";
|
|
3136
|
+
})(Status$1 || (Status$1 = {}));
|
|
3137
|
+
|
|
3138
|
+
/**
|
|
3139
|
+
* MgMenuItem type guard
|
|
3140
|
+
*
|
|
3141
|
+
* @param {HTMLElement} element element to control type
|
|
3142
|
+
* @returns {boolean} truthy if element is mg-menu-item
|
|
3143
|
+
*/
|
|
3144
|
+
const isMgMenuItem = (element) => element.nodeName === 'MG-MENU-ITEM';
|
|
3145
|
+
var OverflowBehaviorElements;
|
|
3146
|
+
(function (OverflowBehaviorElements) {
|
|
3147
|
+
OverflowBehaviorElements["MORE"] = "data-overflow-more";
|
|
3148
|
+
OverflowBehaviorElements["BASE_INDEX"] = "data-overflow-base-index";
|
|
3149
|
+
OverflowBehaviorElements["PROXY_INDEX"] = "data-overflow-proxy-index";
|
|
3150
|
+
})(OverflowBehaviorElements || (OverflowBehaviorElements = {}));
|
|
3151
|
+
class OverflowBehavior {
|
|
3152
|
+
constructor(element, render) {
|
|
3153
|
+
this.element = element;
|
|
3154
|
+
this.render = render;
|
|
3155
|
+
/**********
|
|
3156
|
+
* Public *
|
|
3157
|
+
**********/
|
|
3158
|
+
/**
|
|
3159
|
+
* Disconnect ResizeObserver
|
|
3160
|
+
*
|
|
3161
|
+
* @returns {void}
|
|
3162
|
+
*/
|
|
3163
|
+
this.disconnect = () => {
|
|
3164
|
+
this.resizeObserver.disconnect();
|
|
3165
|
+
};
|
|
3166
|
+
/**
|
|
3167
|
+
* Update more element status if active child
|
|
3168
|
+
*
|
|
3169
|
+
* @returns {void}
|
|
3170
|
+
*/
|
|
3171
|
+
this.updateActiveStatus = () => {
|
|
3172
|
+
const hasActiveChild = Array.from(this.moreELement.querySelector('mg-menu').children).some(element => element.nodeName === 'MG-MENU-ITEM' && element.getAttribute('status') === Status$1.ACTIVE && element.getAttribute('hidden') === null);
|
|
3173
|
+
this.moreELement.setAttribute('status', hasActiveChild ? Status$1.ACTIVE : Status$1.VISIBLE);
|
|
3174
|
+
};
|
|
3175
|
+
/************
|
|
3176
|
+
* Internal *
|
|
3177
|
+
************/
|
|
3178
|
+
/**
|
|
3179
|
+
* run overflow behavior
|
|
3180
|
+
*
|
|
3181
|
+
* @param {number} width width of the container
|
|
3182
|
+
* @returns {void}
|
|
3183
|
+
*/
|
|
3184
|
+
this.run = (width) => {
|
|
3185
|
+
if (this.moreELement === undefined) {
|
|
3186
|
+
// set moreElement
|
|
3187
|
+
this.moreELement = this.render();
|
|
3188
|
+
this.moreELement.setAttribute(OverflowBehaviorElements.MORE, '');
|
|
3189
|
+
// set children
|
|
3190
|
+
this.children = Array.from(this.element.children);
|
|
3191
|
+
let moreELementChildren;
|
|
3192
|
+
const allowedElements = ['MG-MENU-ITEM', 'MG-BUTTON'];
|
|
3193
|
+
if (isMgMenuItem(this.moreELement)) {
|
|
3194
|
+
moreELementChildren = Array.from(this.moreELement.querySelector('mg-menu').children).filter(element => allowedElements.includes(element.nodeName));
|
|
3195
|
+
}
|
|
3196
|
+
this.children.forEach((child, index) => {
|
|
3197
|
+
child.setAttribute(OverflowBehaviorElements.BASE_INDEX, `${index}`);
|
|
3198
|
+
if (child.getAttribute(OverflowBehaviorElements.MORE) === null) {
|
|
3199
|
+
// set moreElement children
|
|
3200
|
+
moreELementChildren[index].setAttribute(OverflowBehaviorElements.PROXY_INDEX, `${index}`);
|
|
3201
|
+
}
|
|
3202
|
+
});
|
|
3203
|
+
}
|
|
3204
|
+
this.updateDisplayedItems(width);
|
|
3205
|
+
if (isMgMenuItem(this.moreELement))
|
|
3206
|
+
this.updateActiveStatus();
|
|
3207
|
+
};
|
|
3208
|
+
/**
|
|
3209
|
+
* Update displayed items in container from a given available space
|
|
3210
|
+
*
|
|
3211
|
+
* @param {number} availableWidth available width in container to display child items
|
|
3212
|
+
* @returns {void}
|
|
3213
|
+
*/
|
|
3214
|
+
this.updateDisplayedItems = (availableWidth) => {
|
|
3215
|
+
this.restoreItems();
|
|
3216
|
+
this.children.reduce((acc, curr) => {
|
|
3217
|
+
acc.accWidth += curr.offsetWidth;
|
|
3218
|
+
const isPreviousItemHidden = acc.previousItem !== null && acc.previousItem.getAttribute('hidden') !== null;
|
|
3219
|
+
// if previous item is hidden AND is NOT more element we hidde current
|
|
3220
|
+
// OR if item has an overflow we hidde current
|
|
3221
|
+
// OR if current item is more element AND have NOT previous hidden items, current more element item is an hidden item
|
|
3222
|
+
// ELSE current is a display item
|
|
3223
|
+
if ((isPreviousItemHidden && !this.isMoreElement(curr)) ||
|
|
3224
|
+
this.isOverflowElement(acc.accWidth, curr, availableWidth) ||
|
|
3225
|
+
(this.isMoreElement(curr) && !isPreviousItemHidden)) {
|
|
3226
|
+
this.toggleItem(curr, true);
|
|
3227
|
+
}
|
|
3228
|
+
else
|
|
3229
|
+
this.toggleItem(curr, false);
|
|
3230
|
+
// update previous item with current item
|
|
3231
|
+
acc.previousItem = curr;
|
|
3232
|
+
return acc;
|
|
3233
|
+
}, { accWidth: 0, previousItem: null });
|
|
3234
|
+
};
|
|
3235
|
+
/**
|
|
3236
|
+
* Utility method to know if item overflow partialy or totaly in the container
|
|
3237
|
+
*
|
|
3238
|
+
* @param {number} cumulateWidth previous sibling elements cumulate width + item width
|
|
3239
|
+
* @param {HTMLElement} item item HTML element
|
|
3240
|
+
* @param {number} availableWidth container available width
|
|
3241
|
+
* @returns {boolean} truthy if element is overflow
|
|
3242
|
+
*/
|
|
3243
|
+
this.isOverflowElement = (cumulateWidth, item, availableWidth) => {
|
|
3244
|
+
if (item.previousElementSibling === null || this.isMoreElement(item))
|
|
3245
|
+
return false;
|
|
3246
|
+
else if (!this.isMoreElement(item.nextElementSibling))
|
|
3247
|
+
return cumulateWidth + this.moreELement.offsetWidth > availableWidth;
|
|
3248
|
+
else
|
|
3249
|
+
return cumulateWidth > availableWidth;
|
|
3250
|
+
};
|
|
3251
|
+
/**
|
|
3252
|
+
* Utility method to know if a given element is the 'MORE' element
|
|
3253
|
+
*
|
|
3254
|
+
* @param {Element} element element to match with 'MORE' element
|
|
3255
|
+
* @returns {boolean} truthy if element is the 'MORE' element
|
|
3256
|
+
*/
|
|
3257
|
+
this.isMoreElement = (element) => element.getAttribute(OverflowBehaviorElements.MORE) !== null;
|
|
3258
|
+
/**
|
|
3259
|
+
* Toggle display item element
|
|
3260
|
+
*
|
|
3261
|
+
* @param {HTMLElement} item item to control
|
|
3262
|
+
* @param {boolean} isHidden is item hidden
|
|
3263
|
+
* @returns {void}
|
|
3264
|
+
*/
|
|
3265
|
+
this.toggleItem = (item, isHidden) => {
|
|
3266
|
+
const mgActionMenuindex = Number(item.getAttribute(OverflowBehaviorElements.BASE_INDEX));
|
|
3267
|
+
if (this.isMoreElement(item))
|
|
3268
|
+
this.toggleElement(this.moreELement, isHidden);
|
|
3269
|
+
else if (mgActionMenuindex >= 0) {
|
|
3270
|
+
this.toggleElement(item, isHidden);
|
|
3271
|
+
this.toggleElement(this.moreELement.querySelector(`[${OverflowBehaviorElements.PROXY_INDEX}="${mgActionMenuindex}"]`), !isHidden);
|
|
3272
|
+
}
|
|
3273
|
+
};
|
|
3274
|
+
/**
|
|
3275
|
+
* Toggle element's hidde attribute
|
|
3276
|
+
*
|
|
3277
|
+
* @param {Element} element element to toggle
|
|
3278
|
+
* @param {boolean} isHidden element is hidden
|
|
3279
|
+
* @returns {void}
|
|
3280
|
+
*/
|
|
3281
|
+
this.toggleElement = (element, isHidden) => {
|
|
3282
|
+
if (isHidden)
|
|
3283
|
+
element.setAttribute('hidden', '');
|
|
3284
|
+
else
|
|
3285
|
+
element.removeAttribute('hidden');
|
|
3286
|
+
};
|
|
3287
|
+
/**
|
|
3288
|
+
* Remove hidden attributes on all items
|
|
3289
|
+
*
|
|
3290
|
+
* @returns {void}
|
|
3291
|
+
*/
|
|
3292
|
+
this.restoreItems = () => {
|
|
3293
|
+
this.children.forEach(item => item.removeAttribute('hidden'));
|
|
3294
|
+
};
|
|
3295
|
+
if (this.resizeObserver === undefined) {
|
|
3296
|
+
// add resize observer
|
|
3297
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
|
3298
|
+
entries.forEach(entry => {
|
|
3299
|
+
this.run(entry.contentRect.width);
|
|
3300
|
+
});
|
|
3301
|
+
});
|
|
3302
|
+
this.resizeObserver.observe(this.element);
|
|
3303
|
+
}
|
|
3304
|
+
}
|
|
3305
|
+
}
|
|
3306
|
+
|
|
3043
3307
|
/**
|
|
3044
3308
|
* Menu direction type
|
|
3045
3309
|
*/
|
|
@@ -3048,8 +3312,25 @@ var Direction;
|
|
|
3048
3312
|
Direction["VERTICAL"] = "vertical";
|
|
3049
3313
|
Direction["HORIZONTAL"] = "horizontal";
|
|
3050
3314
|
})(Direction || (Direction = {}));
|
|
3315
|
+
/**
|
|
3316
|
+
* More item type guard
|
|
3317
|
+
*
|
|
3318
|
+
* @param {unknown} element element to control
|
|
3319
|
+
* @returns {boolean} truthy if element is more-item
|
|
3320
|
+
*/
|
|
3321
|
+
const isMoreItem = (element) => {
|
|
3322
|
+
var _a, _b, _c;
|
|
3323
|
+
const item = element;
|
|
3324
|
+
return (item === undefined ||
|
|
3325
|
+
(typeof item === 'object' &&
|
|
3326
|
+
(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')));
|
|
3327
|
+
};
|
|
3328
|
+
/**
|
|
3329
|
+
* List of all possibles sizes
|
|
3330
|
+
*/
|
|
3331
|
+
const sizes$1 = ['regular', 'medium', 'large'];
|
|
3051
3332
|
|
|
3052
|
-
const mgMenuCss = ":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}";
|
|
3333
|
+
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}";
|
|
3053
3334
|
|
|
3054
3335
|
const MgMenu = class {
|
|
3055
3336
|
constructor(hostRef) {
|
|
@@ -3058,11 +3339,12 @@ const MgMenu = class {
|
|
|
3058
3339
|
* Internal *
|
|
3059
3340
|
************/
|
|
3060
3341
|
this.name = 'mg-menu';
|
|
3342
|
+
this.menuItems = [];
|
|
3061
3343
|
this.focusedMenuItem = 0;
|
|
3062
3344
|
/**
|
|
3063
3345
|
* Close matching menu-item
|
|
3064
3346
|
*
|
|
3065
|
-
* @param {
|
|
3347
|
+
* @param {HTMLElement} item menu-item to close
|
|
3066
3348
|
* @param {boolean} condition addionnal condition
|
|
3067
3349
|
* @returns {void}
|
|
3068
3350
|
*/
|
|
@@ -3071,12 +3353,15 @@ const MgMenu = class {
|
|
|
3071
3353
|
item.expanded = false;
|
|
3072
3354
|
}
|
|
3073
3355
|
};
|
|
3356
|
+
/*************
|
|
3357
|
+
* Methods *
|
|
3358
|
+
*************/
|
|
3074
3359
|
/**
|
|
3075
3360
|
* Store menu-items on component init and add listeners
|
|
3361
|
+
*
|
|
3362
|
+
* @returns {void}
|
|
3076
3363
|
*/
|
|
3077
|
-
this.
|
|
3078
|
-
// store all menu-items
|
|
3079
|
-
this.menuItems = Array.from(this.element.children).filter(child => child.nodeName === 'MG-MENU-ITEM');
|
|
3364
|
+
this.initMenuItemsListeners = () => {
|
|
3080
3365
|
// add listeners on menu item and edit index
|
|
3081
3366
|
this.menuItems.forEach((item, menuItemIndex) => {
|
|
3082
3367
|
['click', 'focus'].forEach(trigger => {
|
|
@@ -3090,9 +3375,47 @@ const MgMenu = class {
|
|
|
3090
3375
|
});
|
|
3091
3376
|
});
|
|
3092
3377
|
};
|
|
3378
|
+
/**
|
|
3379
|
+
* render mg-menu-more
|
|
3380
|
+
*
|
|
3381
|
+
* @returns {HTMLElement} formated mg-menu-item element
|
|
3382
|
+
*/
|
|
3383
|
+
this.renderMgMenuMore = () => {
|
|
3384
|
+
const moreElement = this.element.shadowRoot.querySelector(`[${OverflowBehaviorElements.MORE}]`);
|
|
3385
|
+
this.menuItems.forEach((child) => {
|
|
3386
|
+
const proxy = child.cloneNode(true);
|
|
3387
|
+
moreElement.querySelector('mg-menu').appendChild(proxy);
|
|
3388
|
+
});
|
|
3389
|
+
const allMenuItem = Array.from(this.element.querySelectorAll('mg-menu-item:not([data-overflow-more])'));
|
|
3390
|
+
Array.from(moreElement.querySelectorAll('mg-menu-item:not([data-overflow-more])')).forEach((proxy, index) => {
|
|
3391
|
+
// manage click on proxy to mirror it on initial element
|
|
3392
|
+
proxy.addEventListener('click', () => {
|
|
3393
|
+
(allMenuItem[index].shadowRoot.querySelector('a') || allMenuItem[index].shadowRoot.querySelector('button')).dispatchEvent(new MouseEvent('click', { bubbles: true }));
|
|
3394
|
+
});
|
|
3395
|
+
// manage status change miror in proxy
|
|
3396
|
+
allMenuItem[index].addEventListener('status-change', (event) => {
|
|
3397
|
+
proxy.setAttribute('status', event.detail);
|
|
3398
|
+
this.overflowBehavior.updateActiveStatus();
|
|
3399
|
+
});
|
|
3400
|
+
});
|
|
3401
|
+
this.element.appendChild(moreElement);
|
|
3402
|
+
return this.element.querySelector(`[${OverflowBehaviorElements.MORE}]`);
|
|
3403
|
+
};
|
|
3404
|
+
/**
|
|
3405
|
+
* Render mg-menu-item more element for overflow behavior
|
|
3406
|
+
*
|
|
3407
|
+
* @returns {HTMLElement} rendered mg-menu-item more element
|
|
3408
|
+
*/
|
|
3409
|
+
this.renderMgMenuItemMore = () => {
|
|
3410
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
3411
|
+
return (index.h("mg-menu-item", { "data-overflow-more": true }, index.h("mg-icon", { icon: ((_b = (_a = this.moreitem) === null || _a === void 0 ? void 0 : _a.mgIcon) === null || _b === void 0 ? void 0 : _b.icon) || 'ellipsis-vertical', slot: "image" }), index.h("span", { class: { 'sr-only': !((_d = (_c = this.moreitem) === null || _c === void 0 ? void 0 : _c.slotLabel) === null || _d === void 0 ? void 0 : _d.display) }, slot: "label" }, ((_f = (_e = this.moreitem) === null || _e === void 0 ? void 0 : _e.slotLabel) === null || _f === void 0 ? void 0 : _f.label) || this.messages.moreLabel), index.h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.moreLabel, size: (_g = this.moreitem) === null || _g === void 0 ? void 0 : _g.size })));
|
|
3412
|
+
};
|
|
3093
3413
|
this.label = undefined;
|
|
3094
3414
|
this.direction = Direction.HORIZONTAL;
|
|
3415
|
+
this.moreitem = undefined;
|
|
3416
|
+
this.size = 'regular';
|
|
3095
3417
|
this.isChildMenu = undefined;
|
|
3418
|
+
this.hasOverflow = false;
|
|
3096
3419
|
}
|
|
3097
3420
|
validateLabel(newValue) {
|
|
3098
3421
|
if (newValue === undefined) {
|
|
@@ -3104,6 +3427,19 @@ const MgMenu = class {
|
|
|
3104
3427
|
throw new Error(`<${this.name}> prop "direction" must be one of : ${Direction.HORIZONTAL}, ${Direction.VERTICAL}.`);
|
|
3105
3428
|
}
|
|
3106
3429
|
}
|
|
3430
|
+
validateMoreItem(newValue) {
|
|
3431
|
+
if (newValue !== undefined && this.direction !== Direction.HORIZONTAL) {
|
|
3432
|
+
throw new Error(`<${this.name}> prop "moreitem" must be paired with direction ${Direction.HORIZONTAL}.`);
|
|
3433
|
+
}
|
|
3434
|
+
else if (newValue !== undefined && !isMoreItem(newValue)) {
|
|
3435
|
+
throw new Error(`<${this.name}> prop "moreitem" must match MoreItemType.`);
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
validateSize(newValue) {
|
|
3439
|
+
if (!sizes$1.includes(newValue)) {
|
|
3440
|
+
throw new Error(`<${this.name}> prop "size" must be one of : ${sizes$1.join(', ')}.`);
|
|
3441
|
+
}
|
|
3442
|
+
}
|
|
3107
3443
|
/*************
|
|
3108
3444
|
* Lifecycle *
|
|
3109
3445
|
*************/
|
|
@@ -3113,8 +3449,12 @@ const MgMenu = class {
|
|
|
3113
3449
|
* @returns {void}
|
|
3114
3450
|
*/
|
|
3115
3451
|
componentWillLoad() {
|
|
3452
|
+
this.messages = initLocales(this.element).messages.plusMenu;
|
|
3453
|
+
// validation
|
|
3116
3454
|
this.validateDirection(this.direction);
|
|
3117
3455
|
this.validateLabel(this.label);
|
|
3456
|
+
this.validateMoreItem(this.moreitem);
|
|
3457
|
+
this.validateSize(this.size);
|
|
3118
3458
|
}
|
|
3119
3459
|
/**
|
|
3120
3460
|
* Check if component slots configuration
|
|
@@ -3126,72 +3466,64 @@ const MgMenu = class {
|
|
|
3126
3466
|
// return a promise to process action only in the FIRST render().
|
|
3127
3467
|
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
3128
3468
|
return setTimeout(() => {
|
|
3129
|
-
|
|
3469
|
+
// store all menu-items
|
|
3470
|
+
this.menuItems = Array.from(this.element.children).filter(child => child.nodeName === 'MG-MENU-ITEM');
|
|
3130
3471
|
this.isChildMenu = this.element.closest('mg-menu-item') !== null;
|
|
3131
|
-
|
|
3132
|
-
if (
|
|
3133
|
-
|
|
3134
|
-
if (event.target.closest('mg-menu') === null) {
|
|
3135
|
-
this.menuItems.forEach(item => {
|
|
3136
|
-
this.closeMenuItem(item, this.direction === Direction.HORIZONTAL);
|
|
3137
|
-
});
|
|
3138
|
-
}
|
|
3139
|
-
});
|
|
3140
|
-
}
|
|
3472
|
+
this.hasOverflow = this.direction === Direction.HORIZONTAL && !this.isChildMenu;
|
|
3473
|
+
if (this.hasOverflow && isMoreItem(this.moreitem))
|
|
3474
|
+
this.overflowBehavior = new OverflowBehavior(this.element, this.renderMgMenuMore);
|
|
3141
3475
|
}, 0);
|
|
3142
3476
|
}
|
|
3477
|
+
/**
|
|
3478
|
+
* Check add listeners to childs
|
|
3479
|
+
*
|
|
3480
|
+
* @returns {void}
|
|
3481
|
+
*/
|
|
3482
|
+
componentDidRender() {
|
|
3483
|
+
// add menu items listeners
|
|
3484
|
+
this.initMenuItemsListeners();
|
|
3485
|
+
}
|
|
3486
|
+
/**
|
|
3487
|
+
* Disconnect overflow ResizeObserver
|
|
3488
|
+
*
|
|
3489
|
+
* @returns {void} run overflow resize obeserver disconnexion
|
|
3490
|
+
*/
|
|
3491
|
+
disconnectedCallback() {
|
|
3492
|
+
if (this.hasOverflow)
|
|
3493
|
+
this.overflowBehavior.disconnect();
|
|
3494
|
+
}
|
|
3143
3495
|
/**
|
|
3144
3496
|
* Render
|
|
3145
3497
|
*
|
|
3146
3498
|
* @returns {HTMLElement} HTML Element
|
|
3147
3499
|
*/
|
|
3148
3500
|
render() {
|
|
3149
|
-
return (index.h(index.Host, { role: this.isChildMenu ? 'menu' : 'menubar', "aria-label": this.label }, index.h("slot", null)));
|
|
3501
|
+
return (index.h(index.Host, { role: this.isChildMenu ? 'menu' : 'menubar', "aria-label": this.label }, index.h("slot", null), this.hasOverflow && isMoreItem(this.moreitem) && this.renderMgMenuItemMore()));
|
|
3150
3502
|
}
|
|
3151
3503
|
get element() { return index.getElement(this); }
|
|
3152
3504
|
static get watchers() { return {
|
|
3153
3505
|
"label": ["validateLabel"],
|
|
3154
|
-
"direction": ["validateDirection"]
|
|
3506
|
+
"direction": ["validateDirection"],
|
|
3507
|
+
"moreitem": ["validateMoreItem"],
|
|
3508
|
+
"size": ["validateSize"]
|
|
3155
3509
|
}; }
|
|
3156
3510
|
};
|
|
3157
3511
|
MgMenu.style = mgMenuCss;
|
|
3158
3512
|
|
|
3159
|
-
/**
|
|
3160
|
-
* Available menu-item positions
|
|
3161
|
-
*/
|
|
3162
|
-
var ElementPosition;
|
|
3163
|
-
(function (ElementPosition) {
|
|
3164
|
-
ElementPosition["FIRST"] = "first";
|
|
3165
|
-
ElementPosition["LAST"] = "last";
|
|
3166
|
-
})(ElementPosition || (ElementPosition = {}));
|
|
3167
|
-
/**
|
|
3168
|
-
* Available menu item status
|
|
3169
|
-
*/
|
|
3170
|
-
var Status$1;
|
|
3171
|
-
(function (Status) {
|
|
3172
|
-
Status["VISIBLE"] = "visible";
|
|
3173
|
-
Status["HIDDEN"] = "hidden";
|
|
3174
|
-
Status["DISABLED"] = "disabled";
|
|
3175
|
-
Status["ACTIVE"] = "active";
|
|
3176
|
-
})(Status$1 || (Status$1 = {}));
|
|
3177
|
-
/**
|
|
3178
|
-
* List of all possibles sizes
|
|
3179
|
-
*/
|
|
3180
|
-
const sizes$1 = ['regular', 'medium', 'large'];
|
|
3181
|
-
|
|
3182
|
-
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}.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:1.3rem}.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:1.5rem 3rem}.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:1.5rem}.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(1.5rem - 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:2.5rem 4rem}.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:1.5rem}.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(2.5rem - 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:1rem;background-color:unset;border:none;font-family:var(--font-family);color:hsl(var(--mg-menu-item-color-hsl, var(--color-dark)));line-height:var(--line-height);text-decoration:none;cursor:pointer}.mg-menu-item__navigation-button:disabled,.mg-menu-item__navigation-button--disabled{cursor:default;opacity:30%}.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:not(.mg-menu-item__navigation-button--disabled){background-color:hsla(var(--mg-menu-item-focused-background-color-hsl), 10%)}.mg-menu-item__navigation-button.mg-menu-item__navigation-button--active{color:hsl(var(--mg-menu-item-color-active-hsl));font-weight:700}.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}:host([data-style-position-last]) .mg-menu-item__collapse-container{left:unset;right:0}:host([data-style-direction-vertical]){flex-direction:column}: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{box-shadow:var(--box-shadow);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}.mg-menu-item{max-width:var(--mg-menu-item-navigation-button-max-width)}.mg-menu-item__collapse-container{position:absolute;top:100%;left:0;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}.mg-menu-item__navigation-button-text-content ::slotted([slot=information]){margin-left:1rem}.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}:host([status=disabled]){pointer-events:none}";
|
|
3513
|
+
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);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:0.3}.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}";
|
|
3183
3514
|
|
|
3184
3515
|
const MgMenuItem = class {
|
|
3185
3516
|
constructor(hostRef) {
|
|
3186
3517
|
index.registerInstance(this, hostRef);
|
|
3518
|
+
this.statusChange = index.createEvent(this, "status-change", 7);
|
|
3187
3519
|
/************
|
|
3188
3520
|
* Internal *
|
|
3189
3521
|
************/
|
|
3190
3522
|
this.name = 'mg-menu-item';
|
|
3191
3523
|
this.navigationButton = `${this.name}__navigation-button`;
|
|
3192
|
-
|
|
3524
|
+
/***********
|
|
3193
3525
|
* Methods *
|
|
3194
|
-
|
|
3526
|
+
**********/
|
|
3195
3527
|
/**
|
|
3196
3528
|
* Toggle expanded prop value
|
|
3197
3529
|
*
|
|
@@ -3201,20 +3533,20 @@ const MgMenuItem = class {
|
|
|
3201
3533
|
this.expanded = !this.expanded;
|
|
3202
3534
|
};
|
|
3203
3535
|
/**
|
|
3204
|
-
* Does an
|
|
3536
|
+
* Does an Element have given Status
|
|
3205
3537
|
*
|
|
3206
|
-
* @param {
|
|
3538
|
+
* @param {Element} element to parse
|
|
3207
3539
|
* @param {MgMenuItem['status']} status to check
|
|
3208
3540
|
* @returns {boolean} true if element with status is found
|
|
3209
3541
|
*/
|
|
3210
|
-
this.
|
|
3542
|
+
this.hasStatus = (element, status) => element.querySelector(`${this.name}[status="${status}"]`) !== null;
|
|
3211
3543
|
/**
|
|
3212
3544
|
* Is component contextual direction match the given direction
|
|
3213
3545
|
*
|
|
3214
3546
|
* @param {MgMenuItem['direction']} direction in parent menu
|
|
3215
3547
|
* @returns {boolean} true is direction match the direction propertie
|
|
3216
3548
|
*/
|
|
3217
|
-
this.
|
|
3549
|
+
this.isDirection = (direction) => this.direction === direction;
|
|
3218
3550
|
/************
|
|
3219
3551
|
* Handlers *
|
|
3220
3552
|
************/
|
|
@@ -3225,7 +3557,7 @@ const MgMenuItem = class {
|
|
|
3225
3557
|
* @returns {void}
|
|
3226
3558
|
*/
|
|
3227
3559
|
this.handleElementCLick = (event) => {
|
|
3228
|
-
if (this.hasChildren || this.status === Status$1.DISABLED) {
|
|
3560
|
+
if ((this.hasChildren && !this.isInMainMenu) || this.status === Status$1.DISABLED) {
|
|
3229
3561
|
event.preventDefault();
|
|
3230
3562
|
event.stopPropagation();
|
|
3231
3563
|
}
|
|
@@ -3233,27 +3565,49 @@ const MgMenuItem = class {
|
|
|
3233
3565
|
if (this.hasChildren)
|
|
3234
3566
|
this.toggleExpanded();
|
|
3235
3567
|
};
|
|
3568
|
+
/**
|
|
3569
|
+
* Handle popover element display-change event
|
|
3570
|
+
*
|
|
3571
|
+
* @param {CustomEvent} event popover display event
|
|
3572
|
+
* @returns {void}
|
|
3573
|
+
*/
|
|
3574
|
+
this.handlePopoverDisplay = (event) => {
|
|
3575
|
+
this.expanded = event.detail;
|
|
3576
|
+
};
|
|
3577
|
+
/**
|
|
3578
|
+
* Update displayNotificationBadge
|
|
3579
|
+
* current component notification badge have priority over the slot badge when submenu contain badge
|
|
3580
|
+
*
|
|
3581
|
+
* @returns {void} update displayNotificationBadge value
|
|
3582
|
+
*/
|
|
3583
|
+
this.updateDisplayNotificationBadge = () => {
|
|
3584
|
+
const childMenu = this.element.querySelector('mg-menu');
|
|
3585
|
+
this.displayNotificationBadge =
|
|
3586
|
+
childMenu !== null &&
|
|
3587
|
+
Array.from(childMenu.children).some((subItem) => subItem.querySelector('mg-badge') !== null && subItem.getAttribute('hidden') === null);
|
|
3588
|
+
};
|
|
3589
|
+
/**
|
|
3590
|
+
* Render slot
|
|
3591
|
+
*
|
|
3592
|
+
* @returns {HTMLElement} HTML Element
|
|
3593
|
+
*/
|
|
3594
|
+
this.renderSlot = () => index.h("slot", null);
|
|
3236
3595
|
this.href = undefined;
|
|
3237
3596
|
this.status = Status$1.VISIBLE;
|
|
3238
|
-
this.size = 'large';
|
|
3239
3597
|
this.expanded = false;
|
|
3598
|
+
this.size = 'regular';
|
|
3240
3599
|
this.navigationButtonClassList = new ClassList([this.navigationButton]);
|
|
3241
3600
|
this.direction = undefined;
|
|
3242
3601
|
this.isInMainMenu = undefined;
|
|
3243
3602
|
this.hasChildren = false;
|
|
3603
|
+
this.displayNotificationBadge = undefined;
|
|
3244
3604
|
}
|
|
3245
3605
|
validateStatus(newValue, oldValue) {
|
|
3246
3606
|
if (oldValue !== undefined) {
|
|
3247
3607
|
this.navigationButtonClassList.delete(`${this.navigationButton}--${oldValue}`);
|
|
3248
3608
|
}
|
|
3249
3609
|
this.navigationButtonClassList.add(`${this.navigationButton}--${newValue}`);
|
|
3250
|
-
|
|
3251
|
-
validateSize(newValue, oldValue) {
|
|
3252
|
-
if (!sizes$1.includes(newValue)) {
|
|
3253
|
-
throw new Error(`<${this.name}> prop "size" must be one of : ${sizes$1.join(', ')}.`);
|
|
3254
|
-
}
|
|
3255
|
-
this.navigationButtonClassList.delete(`${this.navigationButton}--size-${oldValue}`);
|
|
3256
|
-
this.navigationButtonClassList.add(`${this.navigationButton}--size-${newValue}`);
|
|
3610
|
+
this.statusChange.emit(newValue);
|
|
3257
3611
|
}
|
|
3258
3612
|
validateExpanded(newValue) {
|
|
3259
3613
|
if (typeof newValue !== 'boolean')
|
|
@@ -3267,16 +3621,20 @@ const MgMenuItem = class {
|
|
|
3267
3621
|
item.expanded = false;
|
|
3268
3622
|
});
|
|
3269
3623
|
}
|
|
3270
|
-
else if (
|
|
3624
|
+
else if (this.hasStatus(this.element, Status$1.ACTIVE)) {
|
|
3271
3625
|
// - when expanded and contain an active item parents are expended too
|
|
3272
3626
|
subItems.forEach(item => {
|
|
3273
|
-
if (this.
|
|
3627
|
+
if (this.hasStatus(item, Status$1.ACTIVE)) {
|
|
3274
3628
|
item.expanded = true;
|
|
3275
3629
|
}
|
|
3276
3630
|
});
|
|
3277
3631
|
}
|
|
3278
3632
|
}
|
|
3279
3633
|
}
|
|
3634
|
+
validateSize(newValue, oldValue) {
|
|
3635
|
+
this.navigationButtonClassList.delete(`${this.navigationButton}--size-${oldValue}`);
|
|
3636
|
+
this.navigationButtonClassList.add(`${this.navigationButton}--size-${newValue}`);
|
|
3637
|
+
}
|
|
3280
3638
|
validateHasChildren(newValue) {
|
|
3281
3639
|
if (newValue && this.element.href !== undefined) {
|
|
3282
3640
|
throw new Error(`<${this.name}> prop "href" is unauthorizied when element is a parent.`);
|
|
@@ -3291,13 +3649,14 @@ const MgMenuItem = class {
|
|
|
3291
3649
|
* @returns {void}
|
|
3292
3650
|
*/
|
|
3293
3651
|
componentWillLoad() {
|
|
3294
|
-
// has children items that is NOT [slot=
|
|
3652
|
+
// has children items that is NOT [slot='image' | 'information' | 'label' | 'metadata'] element
|
|
3295
3653
|
// we store only matching elements
|
|
3296
|
-
this.hasChildren = Array.from(this.element.children).
|
|
3654
|
+
this.hasChildren = Array.from(this.element.children).some(child => !['image', 'information', 'label', 'metadata'].includes(child.getAttribute('slot')));
|
|
3297
3655
|
// Validate props
|
|
3298
3656
|
this.validateSize(this.size);
|
|
3299
3657
|
this.validateStatus(this.status);
|
|
3300
3658
|
this.validateExpanded(this.expanded);
|
|
3659
|
+
this.badgeLabel = initLocales(this.element).messages.plusMenu.badgeLabel;
|
|
3301
3660
|
}
|
|
3302
3661
|
/**
|
|
3303
3662
|
* Check if component slots configuration
|
|
@@ -3321,55 +3680,73 @@ const MgMenuItem = class {
|
|
|
3321
3680
|
// return a promise to process action only in the FIRST render().
|
|
3322
3681
|
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
3323
3682
|
return setTimeout(() => {
|
|
3324
|
-
var _a
|
|
3683
|
+
var _a;
|
|
3325
3684
|
// define menu-item context states
|
|
3326
|
-
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
this.isInMainMenu = this.element.parentElement.
|
|
3330
|
-
const hasNextMenuItem = ((_a = this.element.nextElementSibling) === null || _a === void 0 ? void 0 : _a.nodeName) === 'MG-MENU-ITEM';
|
|
3331
|
-
const hasPreviousMenuItem = ((_b = this.element.previousElementSibling) === null || _b === void 0 ? void 0 : _b.nodeName) === 'MG-MENU-ITEM';
|
|
3332
|
-
// manage last menu item
|
|
3333
|
-
if (!hasNextMenuItem && hasPreviousMenuItem && this.isdirection(Direction.HORIZONTAL)) {
|
|
3334
|
-
this.element.setAttribute('data-style-position-last', '');
|
|
3335
|
-
}
|
|
3685
|
+
const menu = this.element.closest('mg-menu');
|
|
3686
|
+
this.direction = this.element.getAttribute(OverflowBehaviorElements.MORE) !== null || menu === null ? Direction.HORIZONTAL : menu.direction;
|
|
3687
|
+
this.size = menu === null || menu === void 0 ? void 0 : menu.size;
|
|
3688
|
+
this.isInMainMenu = this.element.parentElement.closest('mg-menu-item') === null;
|
|
3336
3689
|
// when main menu item contain an active item it will get the active style
|
|
3337
3690
|
// AND if item is in vertical menu it will be expanded
|
|
3338
|
-
|
|
3691
|
+
const hasActiveChild = Array.from(this.element.children).some(element => this.hasStatus(element, Status$1.ACTIVE) && element.getAttribute('hidden') === null);
|
|
3692
|
+
if (this.isInMainMenu && hasActiveChild) {
|
|
3339
3693
|
this.status = Status$1.ACTIVE;
|
|
3340
|
-
this.expanded = this.
|
|
3694
|
+
this.expanded = this.isDirection(Direction.VERTICAL);
|
|
3341
3695
|
}
|
|
3342
3696
|
// manage menu items style depending to parent menu horientation
|
|
3343
3697
|
this.element.setAttribute(`data-style-direction-${this.direction}`, '');
|
|
3344
3698
|
this.navigationButtonClassList.add(`${this.navigationButton}--${this.direction}`);
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3699
|
+
this.updateDisplayNotificationBadge();
|
|
3700
|
+
// manage all sub levels child menu-items level with data-level attribut
|
|
3701
|
+
if (this.isDirection(Direction.VERTICAL)) {
|
|
3702
|
+
Array.from(this.element.querySelectorAll('mg-menu-item')).forEach(item => {
|
|
3349
3703
|
const itemLevel = Number(item.getAttribute('data-level')) || 1;
|
|
3350
3704
|
item.setAttribute('data-level', `${itemLevel + 1}`);
|
|
3351
|
-
}
|
|
3705
|
+
});
|
|
3706
|
+
}
|
|
3707
|
+
// manage first sub-level menu-items
|
|
3708
|
+
const childItems = Array.from(((_a = this.element.querySelector('mg-menu')) === null || _a === void 0 ? void 0 : _a.children) || []).filter(item => item.nodeName === 'MG-MENU-ITEM');
|
|
3709
|
+
childItems.forEach(item => {
|
|
3710
|
+
// manage child menu listener
|
|
3711
|
+
new MutationObserver(() => {
|
|
3712
|
+
this.updateDisplayNotificationBadge();
|
|
3713
|
+
}).observe(item, { attributes: true });
|
|
3352
3714
|
});
|
|
3353
3715
|
}, 0);
|
|
3354
3716
|
}
|
|
3355
3717
|
/**
|
|
3356
|
-
* Render
|
|
3718
|
+
* Render ineractive element
|
|
3357
3719
|
*
|
|
3358
3720
|
* @returns {HTMLElement} HTML Element
|
|
3359
3721
|
*/
|
|
3360
|
-
|
|
3722
|
+
renderInteractiveElement() {
|
|
3361
3723
|
const TagName = this.href !== undefined ? 'a' : 'button';
|
|
3362
|
-
return (index.h(
|
|
3724
|
+
return (index.h(TagName, { href: this.href, class: this.navigationButtonClassList.join(), tabindex: [Status$1.DISABLED, Status$1.HIDDEN].includes(this.status) ? -1 : 0, disabled: this.status === Status$1.DISABLED, hidden: this.status === Status$1.HIDDEN, "aria-expanded": this.hasChildren && this.expanded.toString(), "aria-current": this.status === Status$1.ACTIVE && 'page', onClick: this.handleElementCLick }, index.h("slot", { name: "image" }), index.h("div", { class: `${this.navigationButton}-center` }, index.h("div", { class: `${this.navigationButton}-text-content` }, index.h("slot", { name: "label" }), !this.displayNotificationBadge && index.h("slot", { name: "information" }), this.displayNotificationBadge && (index.h("span", { class: "mg-menu-item__navigation-button-text-content-notification" }, index.h("mg-badge", { label: this.badgeLabel, value: "!", variant: "info", slot: "information" })))), this.size !== 'regular' && index.h("slot", { name: "metadata" })), this.hasChildren && this.href === undefined && (index.h("span", { class: {
|
|
3363
3725
|
[`${this.navigationButton}-chevron`]: true,
|
|
3364
3726
|
[`${this.navigationButton}-chevron--rotate`]: this.expanded === true,
|
|
3365
3727
|
'mg-a11y-animation': true,
|
|
3366
|
-
} }, index.h("mg-icon", { icon: "chevron-down" }))))
|
|
3728
|
+
} }, index.h("mg-icon", { icon: "chevron-down" })))));
|
|
3729
|
+
}
|
|
3730
|
+
/**
|
|
3731
|
+
* Render
|
|
3732
|
+
*
|
|
3733
|
+
* @returns {HTMLElement} HTML Element
|
|
3734
|
+
*/
|
|
3735
|
+
render() {
|
|
3736
|
+
const getContainerClasses = () => ({
|
|
3737
|
+
[`${this.name}__collapse-container`]: true,
|
|
3738
|
+
[`${this.name}__collapse-container--first-level`]: this.isInMainMenu && this.isDirection(Direction.HORIZONTAL),
|
|
3739
|
+
});
|
|
3740
|
+
return (index.h(index.Host, { role: "menuitem", "aria-haspopup": this.hasChildren.toString() }, this.isDirection(Direction.HORIZONTAL) && this.hasChildren && this.href === undefined ? (index.h("mg-popover", { display: this.expanded, placement: "bottom-start", arrowHide: true, "onDisplay-change": this.handlePopoverDisplay }, this.renderInteractiveElement(), index.h("div", { class: getContainerClasses(), slot: "content" }, this.renderSlot()))) : ([
|
|
3741
|
+
this.renderInteractiveElement(),
|
|
3742
|
+
index.h("div", { class: getContainerClasses(), hidden: !this.expanded }, this.renderSlot()),
|
|
3743
|
+
])));
|
|
3367
3744
|
}
|
|
3368
3745
|
get element() { return index.getElement(this); }
|
|
3369
3746
|
static get watchers() { return {
|
|
3370
3747
|
"status": ["validateStatus"],
|
|
3371
|
-
"size": ["validateSize"],
|
|
3372
3748
|
"expanded": ["validateExpanded"],
|
|
3749
|
+
"size": ["validateSize"],
|
|
3373
3750
|
"hasChildren": ["validateHasChildren"]
|
|
3374
3751
|
}; }
|
|
3375
3752
|
};
|
|
@@ -3380,7 +3757,7 @@ MgMenuItem.style = mgMenuItemCss;
|
|
|
3380
3757
|
*/
|
|
3381
3758
|
const variants$1 = ['info', 'warning', 'success', 'danger'];
|
|
3382
3759
|
|
|
3383
|
-
const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}.mg-message{display:inline-block;min-height:var(--default-size)}.mg-message__bar{position:absolute;top:0;left:0;width:0.3rem;height:100%}.mg-message.mg-message--info .mg-message__bar{background-color:hsl(var(--color-info))}.mg-message.mg-message--info .mg-message__icon{color:hsl(var(--color-info))}.mg-message.mg-message--warning .mg-message__bar{background-color:hsl(var(--color-warning))}.mg-message.mg-message--warning .mg-message__icon{color:hsl(var(--color-warning))}.mg-message.mg-message--success .mg-message__bar{background-color:hsl(var(--color-success))}.mg-message.mg-message--success .mg-message__icon{color:hsl(var(--color-success))}.mg-message.mg-message--danger .mg-message__bar{background-color:hsl(var(--color-danger))}.mg-message.mg-message--danger .mg-message__icon{color:hsl(var(--color-danger))}.mg-message.mg-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-message.mg-message--hide{display:none}.mg-message ::slotted(*){margin:0;padding:0}.mg-message__icon{position:absolute;top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2);left:1.3rem;line-height:1}.mg-message__content{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:stretch;padding:0 1rem 0 3.8rem}.mg-message__content-slot{flex-grow:1;margin:0.84rem 0}.mg-message__content-separator{display:inline-block;width:4.5rem;height:0}.mg-message__content-actions-slot{padding:1rem 0;text-align:right}.mg-message__close-button{position:absolute;top:0;right:0}.mg-message,mg-message{max-width:100%}";
|
|
3760
|
+
const mgMessageCss = ":host{--mg-card-padding:0;--mg-card-border-radius:var(--mg-message-border-radius);--mg-card-border:none;--mg-card-overflow:hidden}.mg-message{display:inline-block;min-height:var(--default-size)}.mg-message__bar{position:absolute;top:0;left:0;width:0.3rem;height:100%}.mg-message.mg-message--info .mg-message__bar{background-color:hsl(var(--color-info))}.mg-message.mg-message--info .mg-message__icon{color:hsl(var(--color-info))}.mg-message.mg-message--warning .mg-message__bar{background-color:hsl(var(--color-warning))}.mg-message.mg-message--warning .mg-message__icon{color:hsl(var(--color-warning))}.mg-message.mg-message--success .mg-message__bar{background-color:hsl(var(--color-success))}.mg-message.mg-message--success .mg-message__icon{color:hsl(var(--color-success))}.mg-message.mg-message--danger .mg-message__bar{background-color:hsl(var(--color-danger))}.mg-message.mg-message--danger .mg-message__icon{color:hsl(var(--color-danger))}.mg-message.mg-message--close-button{--mg-card-padding:0 3.4rem 0 0}.mg-message.mg-message--hide{display:none}.mg-message ::slotted(*){margin:0;padding:0}.mg-message__icon{position:absolute;top:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2);left:1.3rem;line-height:1}.mg-message__content{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:stretch;padding:0 1rem 0 3.8rem}.mg-message__content-slot{flex-grow:1;margin:0.84rem 0}.mg-message__content-separator{display:inline-block;width:4.5rem;height:0}.mg-message__content-actions-slot{padding:1rem 0;text-align:right}.mg-message__close-button{position:absolute;top:0;right:0}.mg-message ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}.mg-message,mg-message{max-width:100%}";
|
|
3384
3761
|
|
|
3385
3762
|
const MgMessage = class {
|
|
3386
3763
|
constructor(hostRef) {
|
|
@@ -3396,22 +3773,49 @@ const MgMessage = class {
|
|
|
3396
3773
|
this.closeButtonId = '';
|
|
3397
3774
|
// Stored timer setted when hide action is run from setTimeOut
|
|
3398
3775
|
this.storedTimer = null;
|
|
3776
|
+
// Manage hover
|
|
3777
|
+
this.isFocused = false;
|
|
3778
|
+
this.isHovered = false;
|
|
3399
3779
|
/**
|
|
3400
|
-
*
|
|
3780
|
+
* Set timer
|
|
3781
|
+
*
|
|
3782
|
+
* @returns {void}
|
|
3401
3783
|
*/
|
|
3402
|
-
this.
|
|
3403
|
-
this.hide = true;
|
|
3784
|
+
this.setTimer = () => {
|
|
3785
|
+
this.storedTimer = setTimeout(() => (this.hide = true), this.delay * 1000);
|
|
3786
|
+
};
|
|
3787
|
+
/**
|
|
3788
|
+
* Clear timer
|
|
3789
|
+
*
|
|
3790
|
+
* @returns {void}
|
|
3791
|
+
*/
|
|
3792
|
+
this.clearTimer = () => {
|
|
3793
|
+
clearTimeout(this.storedTimer);
|
|
3404
3794
|
};
|
|
3405
3795
|
/**
|
|
3406
|
-
*
|
|
3796
|
+
* Event to add on element
|
|
3797
|
+
*
|
|
3798
|
+
* @param {MouseEvent | FocusEvent} event event
|
|
3799
|
+
* @returns {void}
|
|
3407
3800
|
*/
|
|
3408
|
-
this.
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3801
|
+
this.timerEvents = (event) => {
|
|
3802
|
+
this.clearTimer();
|
|
3803
|
+
const isMouseEvent = event.type === 'mouseenter';
|
|
3804
|
+
// Needed to ensure we don't start the timer
|
|
3805
|
+
this[isMouseEvent ? 'isHovered' : 'isFocused'] = true;
|
|
3806
|
+
// Restart timer when loose focus AND mouse leave
|
|
3807
|
+
this.element.addEventListener(isMouseEvent ? 'mouseleave' : 'focusout', eventOut => {
|
|
3808
|
+
this[eventOut.type === 'mouseleave' ? 'isHovered' : 'isFocused'] = false;
|
|
3809
|
+
// Start timer if needed
|
|
3810
|
+
if (!this.isFocused && !this.isHovered)
|
|
3811
|
+
this.setTimer();
|
|
3812
|
+
}, { once: true });
|
|
3813
|
+
};
|
|
3814
|
+
/**
|
|
3815
|
+
* Handle close button
|
|
3816
|
+
*/
|
|
3817
|
+
this.handleClose = () => {
|
|
3818
|
+
this.hide = true;
|
|
3415
3819
|
};
|
|
3416
3820
|
/**
|
|
3417
3821
|
* Get icon corresponding to variant
|
|
@@ -3464,12 +3868,26 @@ const MgMessage = class {
|
|
|
3464
3868
|
if (newValue) {
|
|
3465
3869
|
this.componentHide.emit();
|
|
3466
3870
|
this.classList.add(this.classHide);
|
|
3871
|
+
// Remove event Listener
|
|
3872
|
+
['focusin', 'mouseenter'].forEach(event => {
|
|
3873
|
+
this.element.removeEventListener(event, this.timerEvents);
|
|
3874
|
+
});
|
|
3875
|
+
// Clear Timer
|
|
3876
|
+
this.clearTimer();
|
|
3467
3877
|
}
|
|
3468
3878
|
else {
|
|
3469
3879
|
this.componentShow.emit();
|
|
3470
3880
|
this.classList.delete(this.classHide);
|
|
3881
|
+
// If delay is set
|
|
3882
|
+
if (this.delay > 1) {
|
|
3883
|
+
// Start timer
|
|
3884
|
+
this.setTimer();
|
|
3885
|
+
// Stop timer when get focus or mouse enter
|
|
3886
|
+
['focusin', 'mouseenter'].forEach(event => {
|
|
3887
|
+
this.element.addEventListener(event, this.timerEvents);
|
|
3888
|
+
});
|
|
3889
|
+
}
|
|
3471
3890
|
}
|
|
3472
|
-
this.hideWithDelay();
|
|
3473
3891
|
}
|
|
3474
3892
|
/*************
|
|
3475
3893
|
* Lifecycle *
|
|
@@ -3510,7 +3928,7 @@ const MgMessage = class {
|
|
|
3510
3928
|
};
|
|
3511
3929
|
MgMessage.style = mgMessageCss;
|
|
3512
3930
|
|
|
3513
|
-
const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;padding:2rem 0;background-color:
|
|
3931
|
+
const mgModalCss = ":host{--mg-card-border-radius:var(--mg-modal-border-radius);--mg-card-padding:1.5rem 2.5rem;--mg-card-border:none}.mg-modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;padding:2rem 0;background-color:hsl(var(--color-light), 0.85)}.mg-modal mg-card{display:flex;width:60rem;max-width:100%;max-height:100%}.mg-modal__dialog{display:flex;position:relative;flex-direction:column;align-self:center;row-gap:3rem;height:fit-content;max-height:100%}.mg-modal__header{margin-bottom:0.5rem}.mg-modal__title{margin:0;font-family:var(--font-family-heading);font-size:var(--mg-modal-title-font-size);font-weight:600}.mg-modal__close-button{float:right;height:var(--mg-modal-title-font-size);margin-top:calc((var(--default-size) - var(--mg-modal-title-font-size) * var(--line-height)) / 2 * -1);margin-right:calc((var(--default-size) - var(--mg-icon-regular-size)) / 2 * -1)}.mg-modal__content{overflow-y:auto}.mg-modal__content::slotted(*){font-size:var(--mg-modal-content-font-size)}.mg-modal.mg-modal--hide{display:none}.mg-modal ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
|
|
3514
3932
|
|
|
3515
3933
|
const MgModal = class {
|
|
3516
3934
|
constructor(hostRef) {
|
|
@@ -3778,7 +4196,7 @@ const MgPagination = class {
|
|
|
3778
4196
|
};
|
|
3779
4197
|
MgPagination.style = mgPaginationCss;
|
|
3780
4198
|
|
|
3781
|
-
const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 1rem 0 0.3rem;align-items:flex-start}.mg-panel__header-left,.mg-panel__header-right{display:flex;margin:0.3rem 0}.mg-panel__header-right{padding-left:0.3rem;flex:1 auto;min-height:var(--default-size);align-items:center}.mg-panel__header-left mg-input-text{flex-grow:1;margin-left:0.3rem}.mg-panel__header-left mg-button+mg-button:not([slot=append-input]){margin-left:0.3rem}.mg-panel__header-left.mg-panel__header-left--full{flex:1 1 auto}.mg-panel__collapse-button-content{--font-size:1.4rem;--mg-button-font-weight:600}.mg-panel__content{padding:var(--mg-panel-content-padding)}.mg-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto}";
|
|
4199
|
+
const mgPanelCss = ":host{--mg-card-border:none;--mg-card-padding:0;--mg-card-border-radius:var(--mg-panel-border-radius);--mg-card-background:hsl(var(--mg-panel-background));--mg-card-box-shadow:var(--mg-panel-box-shadow)}.mg-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 1rem 0 0.3rem;align-items:flex-start}.mg-panel__header-left,.mg-panel__header-right{display:flex;margin:0.3rem 0}.mg-panel__header-right{padding-left:0.3rem;flex:1 auto;min-height:var(--default-size);align-items:center}.mg-panel__header-left mg-input-text{flex-grow:1;margin-left:0.3rem}.mg-panel__header-left mg-button+mg-button:not([slot=append-input]){margin-left:0.3rem}.mg-panel__header-left.mg-panel__header-left--full{flex:1 1 auto}.mg-panel__collapse-button-content{--font-size:1.4rem;--mg-button-font-weight:600}.mg-panel__content{padding:var(--mg-panel-content-padding)}.mg-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto}.mg-panel ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
|
|
3782
4200
|
|
|
3783
4201
|
const MgPanel = class {
|
|
3784
4202
|
constructor(hostRef) {
|
|
@@ -5738,13 +6156,15 @@ var createPopper = /*#__PURE__*/popperGenerator({
|
|
|
5738
6156
|
defaultModifiers: defaultModifiers
|
|
5739
6157
|
}); // eslint-disable-next-line import/no-unused-modules
|
|
5740
6158
|
|
|
5741
|
-
const mgPopoverCss = ":host{--mg-card-padding:1.5rem;--mg-card-border:none;--mg-card-border-radius:0.5rem;--mg-card-background:hsl(var(--mg-popover-background-color));position:relative;display:contents}:host::slotted(*){display:inline-block}.mg-popover{display:none;z-index:2000;color:hsl(var(--mg-popover-font-color))}.mg-popover mg-card{z-index:-1}.mg-popover[data-show]{display:block}.mg-popover mg-button{float:right;margin-right:calc(0rem - (var(--default-size) - var(--mg-icon-regular-size)) / 2);margin-top:calc(0rem - (var(--default-size) - var(--mg-popover-title-font-size) * var(--line-height)) / 2);margin-left:3rem}.mg-popover__arrow
|
|
6159
|
+
const mgPopoverCss = ":host{--mg-card-padding:var(--mg-popover-padding-vertical, 1.5rem) var(--mg-popover-padding-horizontal, var(--mg-popover-padding-vertical, 1.5rem));--mg-card-border:none;--mg-card-border-radius:0.5rem;--mg-card-background:hsl(var(--mg-popover-background-color));position:relative;display:contents}:host::slotted(*){display:inline-block}.mg-popover{display:none;padding:1rem;z-index:2000;color:hsl(var(--mg-popover-font-color))}.mg-popover mg-card{position:relative;z-index:-1}.mg-popover[data-show]{display:block}.mg-popover mg-button{float:right;margin-right:calc(0rem - (var(--default-size) - var(--mg-icon-regular-size)) / 2);margin-top:calc(0rem - (var(--default-size) - var(--mg-popover-title-font-size) * var(--line-height)) / 2);margin-left:3rem}.mg-popover__arrow{position:absolute;visibility:hidden;width:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem);height:calc(3rem + 2 * var(--mg-card-border-radius) + 2rem)}.mg-popover__arrow:before{visibility:visible;content:\"\";position:absolute}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{height:1rem}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{left:calc(var(--mg-card-border-radius) + 1rem);border-right:calc(3rem / 2) solid transparent;border-left:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow{bottom:0.1rem;filter:drop-shadow(0 0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=top]>.mg-popover__arrow:before{border-top:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow{top:0.1rem;filter:drop-shadow(0 -0.5rem 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=bottom]>.mg-popover__arrow:before{border-bottom:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{width:1rem}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{top:calc(var(--mg-card-border-radius) + 1rem);border-top:calc(3rem / 2) solid transparent;border-bottom:calc(3rem / 2) solid transparent}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow{right:0.1rem;filter:drop-shadow(0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=left]>.mg-popover__arrow:before{border-left:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow{left:0.1rem;filter:drop-shadow(-0.5rem 0 0.25rem hsl(var(--color-dark), 0.15))}.mg-popover[data-popper-placement^=right]>.mg-popover__arrow:before{border-right:1rem solid hsl(var(--mg-popover-background-color))}.mg-popover[data-popper-placement^=left-start],.mg-popover[data-popper-placement^=left-end],.mg-popover[data-popper-placement^=right-start],.mg-popover[data-popper-placement^=right-end]{padding:0 1rem}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow{height:calc(3rem + 2 * var(--mg-card-border-radius))}.mg-popover[data-popper-placement^=left-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=left-end]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-start]>.mg-popover__arrow:before,.mg-popover[data-popper-placement^=right-end]>.mg-popover__arrow:before{top:var(--mg-card-border-radius)}.mg-popover__title ::slotted([slot=title]){margin:0 0 1rem !important;font-size:var(--mg-popover-title-font-size) !important;font-weight:600}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=top]{padding-bottom:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement^=bottom]{padding-top:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=end],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=left]{padding-right:0}.mg-popover--arrow-hide.mg-popover[data-popper-placement$=start],.mg-popover--arrow-hide.mg-popover[data-popper-placement^=right]{padding-left:0}.mg-popover ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default)}";
|
|
5742
6160
|
|
|
5743
6161
|
const MgPopover = class {
|
|
5744
6162
|
constructor(hostRef) {
|
|
5745
6163
|
index.registerInstance(this, hostRef);
|
|
5746
6164
|
this.displayChange = index.createEvent(this, "display-change", 7);
|
|
5747
6165
|
this.closeButtonId = '';
|
|
6166
|
+
// Classes
|
|
6167
|
+
this.classArrowHide = `mg-popover--arrow-hide`;
|
|
5748
6168
|
/**
|
|
5749
6169
|
* Check if clicked outside of component
|
|
5750
6170
|
*
|
|
@@ -5771,7 +6191,9 @@ const MgPopover = class {
|
|
|
5771
6191
|
// hide when click outside
|
|
5772
6192
|
// setTimeout is used to prevent event to trigger after creation
|
|
5773
6193
|
setTimeout(() => {
|
|
5774
|
-
|
|
6194
|
+
this.windows.forEach((localWindow) => {
|
|
6195
|
+
localWindow.addEventListener('click', this.clickOutside, false);
|
|
6196
|
+
});
|
|
5775
6197
|
}, 0);
|
|
5776
6198
|
};
|
|
5777
6199
|
/**
|
|
@@ -5785,7 +6207,9 @@ const MgPopover = class {
|
|
|
5785
6207
|
// Disable the event listeners
|
|
5786
6208
|
this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: false }] })));
|
|
5787
6209
|
// Remove event listener
|
|
5788
|
-
|
|
6210
|
+
this.windows.forEach((localWindow) => {
|
|
6211
|
+
localWindow.removeEventListener('click', this.clickOutside, false);
|
|
6212
|
+
});
|
|
5789
6213
|
};
|
|
5790
6214
|
/**
|
|
5791
6215
|
* Handle action for close button
|
|
@@ -5797,9 +6221,17 @@ const MgPopover = class {
|
|
|
5797
6221
|
};
|
|
5798
6222
|
this.identifier = createID('mg-popover');
|
|
5799
6223
|
this.placement = 'bottom';
|
|
6224
|
+
this.arrowHide = false;
|
|
5800
6225
|
this.closeButton = false;
|
|
5801
6226
|
this.display = false;
|
|
5802
6227
|
this.disabled = false;
|
|
6228
|
+
this.classList = new ClassList(['mg-popover']);
|
|
6229
|
+
}
|
|
6230
|
+
validateArrowHide(newValue) {
|
|
6231
|
+
if (newValue)
|
|
6232
|
+
this.classList.add(this.classArrowHide);
|
|
6233
|
+
else
|
|
6234
|
+
this.classList.delete(this.classArrowHide);
|
|
5803
6235
|
}
|
|
5804
6236
|
handleDisplay(newValue) {
|
|
5805
6237
|
if (newValue) {
|
|
@@ -5819,8 +6251,11 @@ const MgPopover = class {
|
|
|
5819
6251
|
* @returns {void} timeout
|
|
5820
6252
|
*/
|
|
5821
6253
|
componentWillLoad() {
|
|
6254
|
+
// Get windows to attach events
|
|
6255
|
+
this.windows = getWindows(window);
|
|
5822
6256
|
// Get locales
|
|
5823
6257
|
this.messages = initLocales(this.element).messages;
|
|
6258
|
+
this.validateArrowHide(this.arrowHide);
|
|
5824
6259
|
}
|
|
5825
6260
|
/**
|
|
5826
6261
|
* Check if component props are well configured on init
|
|
@@ -5852,7 +6287,7 @@ const MgPopover = class {
|
|
|
5852
6287
|
{
|
|
5853
6288
|
name: 'offset',
|
|
5854
6289
|
options: {
|
|
5855
|
-
offset: [0,
|
|
6290
|
+
offset: [0, 0],
|
|
5856
6291
|
},
|
|
5857
6292
|
},
|
|
5858
6293
|
],
|
|
@@ -5875,10 +6310,11 @@ const MgPopover = class {
|
|
|
5875
6310
|
* @returns {HTMLElement} HTML Element
|
|
5876
6311
|
*/
|
|
5877
6312
|
render() {
|
|
5878
|
-
return (index.h(index.Host, null, index.h("slot", null), index.h("div", { id: this.identifier, class:
|
|
6313
|
+
return (index.h(index.Host, null, index.h("slot", null), index.h("div", { id: this.identifier, class: this.classList.join() }, index.h("mg-card", null, this.closeButton && (index.h("mg-button", { identifier: this.closeButtonId, "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, index.h("mg-icon", { icon: "cross" }))), index.h("div", { class: "mg-popover__title" }, index.h("slot", { name: "title" })), index.h("slot", { name: "content" })), !this.arrowHide && index.h("div", { class: "mg-popover__arrow", "data-popper-arrow": true }))));
|
|
5879
6314
|
}
|
|
5880
6315
|
get element() { return index.getElement(this); }
|
|
5881
6316
|
static get watchers() { return {
|
|
6317
|
+
"arrowHide": ["validateArrowHide"],
|
|
5882
6318
|
"display": ["handleDisplay"]
|
|
5883
6319
|
}; }
|
|
5884
6320
|
};
|
|
@@ -5889,6 +6325,20 @@ const mgSkipLinksCss = ".mg-skip-links{position:absolute;transform:translateY(-1
|
|
|
5889
6325
|
const MgSkipLinks = class {
|
|
5890
6326
|
constructor(hostRef) {
|
|
5891
6327
|
index.registerInstance(this, hostRef);
|
|
6328
|
+
this.goToAnchor = index.createEvent(this, "go-to-anchor", 7);
|
|
6329
|
+
/***********
|
|
6330
|
+
* Methods *
|
|
6331
|
+
**********/
|
|
6332
|
+
/**
|
|
6333
|
+
* Handle link click and emit go-to-anchor event
|
|
6334
|
+
*
|
|
6335
|
+
* @param {MouseEvent} event mouse event
|
|
6336
|
+
* @returns {void}
|
|
6337
|
+
*/
|
|
6338
|
+
this.handleLinkCLick = (event) => {
|
|
6339
|
+
event.currentTarget.blur();
|
|
6340
|
+
this.goToAnchor.emit(event.currentTarget.getAttribute('href'));
|
|
6341
|
+
};
|
|
5892
6342
|
this.links = undefined;
|
|
5893
6343
|
}
|
|
5894
6344
|
validateLinks(links) {
|
|
@@ -5916,7 +6366,7 @@ const MgSkipLinks = class {
|
|
|
5916
6366
|
* @returns {HTMLElement} HTML Element
|
|
5917
6367
|
*/
|
|
5918
6368
|
render() {
|
|
5919
|
-
return (index.h("nav", { class: "mg-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, index.h("ul", { class: "mg-skip-links__list" }, this.links.map(link => (index.h("li", null, index.h("a", { class: "mg-skip-links__link", href: link.href }, link.label)))))));
|
|
6369
|
+
return (index.h("nav", { class: "mg-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, index.h("ul", { class: "mg-skip-links__list" }, this.links.map(link => (index.h("li", null, index.h("a", { class: "mg-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
|
|
5920
6370
|
}
|
|
5921
6371
|
get element() { return index.getElement(this); }
|
|
5922
6372
|
static get watchers() { return {
|
|
@@ -5940,7 +6390,7 @@ var Status;
|
|
|
5940
6390
|
*/
|
|
5941
6391
|
const sizes = ['regular', 'large'];
|
|
5942
6392
|
|
|
5943
|
-
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:
|
|
6393
|
+
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;height:calc()}.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;height:calc()}.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);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:0.3}.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}";
|
|
5944
6394
|
|
|
5945
6395
|
/**
|
|
5946
6396
|
* type TabItem validation function
|
|
@@ -5959,25 +6409,7 @@ const MgTabs = class {
|
|
|
5959
6409
|
// classes
|
|
5960
6410
|
this.tabPanel = 'panel';
|
|
5961
6411
|
this.buttonTabBaseClass = 'mg-tabs__navigation-button';
|
|
5962
|
-
// variables
|
|
5963
6412
|
this.startIndex = 1;
|
|
5964
|
-
/**
|
|
5965
|
-
* Method to set active tab
|
|
5966
|
-
*
|
|
5967
|
-
* @param {number} tabKey item tab key to set to ACTIVE status
|
|
5968
|
-
* @returns {void}
|
|
5969
|
-
*/
|
|
5970
|
-
this.setActiveTab = (tabKey) => {
|
|
5971
|
-
// reset active tabs
|
|
5972
|
-
this.tabs.forEach(tab => {
|
|
5973
|
-
if (this.tabHasGivenStatus(tab, Status.ACTIVE))
|
|
5974
|
-
tab.status = Status.VISIBLE;
|
|
5975
|
-
});
|
|
5976
|
-
// set active tab from given tab key
|
|
5977
|
-
this.tabs[tabKey - this.startIndex].status = Status.ACTIVE;
|
|
5978
|
-
// emit change active tab key event
|
|
5979
|
-
this.activeTabChange.emit(tabKey);
|
|
5980
|
-
};
|
|
5981
6413
|
/**
|
|
5982
6414
|
* Method to know if given tab has the given status
|
|
5983
6415
|
*
|
|
@@ -5985,7 +6417,7 @@ const MgTabs = class {
|
|
|
5985
6417
|
* @param {Status} status status to valide
|
|
5986
6418
|
* @returns {boolean} status comparaison
|
|
5987
6419
|
*/
|
|
5988
|
-
this.
|
|
6420
|
+
this.tabHasStatus = (tab, status) => tab.status === status;
|
|
5989
6421
|
/**
|
|
5990
6422
|
* Method to get element id from index
|
|
5991
6423
|
*
|
|
@@ -5993,14 +6425,20 @@ const MgTabs = class {
|
|
|
5993
6425
|
* @param {number} index to generate id
|
|
5994
6426
|
* @returns {string} generated element id
|
|
5995
6427
|
*/
|
|
5996
|
-
this.getElementId = (element, index) => `${element}-${this.
|
|
6428
|
+
this.getElementId = (element, index) => `${element}-${this.getTabItemIndex(index)}`;
|
|
5997
6429
|
/**
|
|
5998
|
-
* Method to get tab index
|
|
6430
|
+
* Method to get tab item index
|
|
5999
6431
|
*
|
|
6000
6432
|
* @param {number} index to get
|
|
6001
6433
|
* @returns {number} index
|
|
6002
6434
|
*/
|
|
6003
|
-
this.
|
|
6435
|
+
this.getTabItemIndex = (index) => index + this.startIndex;
|
|
6436
|
+
/**
|
|
6437
|
+
* Method to get the active-tab value
|
|
6438
|
+
*
|
|
6439
|
+
* @returns {number} of the active-tab
|
|
6440
|
+
*/
|
|
6441
|
+
this.getActiveTab = () => this.activeTab || this.getTabItemIndex(this.tabs.map((tab, index) => (Object.assign(Object.assign({}, tab), { index }))).find(tab => this.tabHasStatus(tab, Status.ACTIVE)).index);
|
|
6004
6442
|
/**
|
|
6005
6443
|
* Handle click events on tabs
|
|
6006
6444
|
*
|
|
@@ -6008,16 +6446,22 @@ const MgTabs = class {
|
|
|
6008
6446
|
*/
|
|
6009
6447
|
this.handleClick = (event) => {
|
|
6010
6448
|
const tabId = event.currentTarget.getAttribute('data-index');
|
|
6011
|
-
|
|
6449
|
+
const tab = this.tabs[Number(tabId) - this.startIndex];
|
|
6450
|
+
if (this.tabHasStatus(tab, Status.HIDDEN) || this.tabHasStatus(tab, Status.DISABLED)) {
|
|
6451
|
+
event.preventDefault();
|
|
6452
|
+
}
|
|
6453
|
+
else {
|
|
6454
|
+
this.activeTab = Number(tabId);
|
|
6455
|
+
this.tabFocus = undefined;
|
|
6456
|
+
}
|
|
6012
6457
|
};
|
|
6013
6458
|
/**
|
|
6014
6459
|
* get navigation button class from given status
|
|
6015
6460
|
*
|
|
6016
6461
|
* @param {Status} status button tab status
|
|
6017
|
-
* @param {boolean} isSelector set if we need a CSS selector with the dot '.' at the begin. default value = false.
|
|
6018
6462
|
* @returns {string} button class/selector variant
|
|
6019
6463
|
*/
|
|
6020
|
-
this.getNavigationButtonClass = (status
|
|
6464
|
+
this.getNavigationButtonClass = (status) => `${this.buttonTabBaseClass}--${status}`;
|
|
6021
6465
|
/**
|
|
6022
6466
|
* Handle keyboard event on tabs
|
|
6023
6467
|
*
|
|
@@ -6025,37 +6469,65 @@ const MgTabs = class {
|
|
|
6025
6469
|
* @returns {void}
|
|
6026
6470
|
*/
|
|
6027
6471
|
this.handleKeydown = (event) => {
|
|
6028
|
-
let tabId = Number(event.target.getAttribute('data-index'));
|
|
6029
6472
|
const parent = event.target.parentElement;
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6473
|
+
if (['ArrowRight', 'ArrowLeft'].includes(event.key)) {
|
|
6474
|
+
this.tabFocus = Number(event.target.getAttribute('data-index'));
|
|
6475
|
+
parent.querySelector(`[data-index="${this.tabFocus}"]`).setAttribute('tabindex', '-1');
|
|
6476
|
+
// Move right
|
|
6477
|
+
if (event.key === 'ArrowRight') {
|
|
6478
|
+
this.tabFocus++;
|
|
6479
|
+
// If we're at the end, go to the start
|
|
6480
|
+
if (this.tabFocus > this.tabs.length)
|
|
6481
|
+
this.tabFocus = this.startIndex;
|
|
6482
|
+
// Move left
|
|
6483
|
+
}
|
|
6484
|
+
else if (event.key === 'ArrowLeft') {
|
|
6485
|
+
this.tabFocus--;
|
|
6486
|
+
// If we're at the start, move to the end
|
|
6487
|
+
if (this.tabFocus < this.startIndex)
|
|
6488
|
+
this.tabFocus = this.tabs.length;
|
|
6489
|
+
}
|
|
6490
|
+
// if focus item is ['hidden'] we recursively repeat action
|
|
6491
|
+
if (this.tabHasStatus(this.tabs[this.tabFocus - 1], Status.HIDDEN)) {
|
|
6492
|
+
parent.querySelector(`[data-index="${this.tabFocus}"]`).dispatchEvent(new KeyboardEvent('keydown', { key: event.key, bubbles: true }));
|
|
6493
|
+
// else run focus methods on tabFocus element
|
|
6494
|
+
}
|
|
6495
|
+
else {
|
|
6496
|
+
parent.querySelector(`[data-index="${this.tabFocus}"]`).setAttribute('tabindex', '0');
|
|
6497
|
+
parent.querySelector(`[data-index="${this.tabFocus}"]`).focus();
|
|
6498
|
+
}
|
|
6036
6499
|
}
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
// apply selected tab if exist
|
|
6040
|
-
if (selectedTab !== null) {
|
|
6041
|
-
selectedTab.focus();
|
|
6042
|
-
this.activeTab = tabId;
|
|
6500
|
+
else if (event.key === 'Tab') {
|
|
6501
|
+
this.resetFocus();
|
|
6043
6502
|
}
|
|
6044
6503
|
};
|
|
6504
|
+
/**
|
|
6505
|
+
* Method to reset focus behavior
|
|
6506
|
+
*
|
|
6507
|
+
* @returns {void}
|
|
6508
|
+
*/
|
|
6509
|
+
this.resetFocus = () => {
|
|
6510
|
+
// update asynchronously tabindex to prevent get focus on new tabindex at then end of event process
|
|
6511
|
+
setTimeout(() => {
|
|
6512
|
+
this.tabFocus = undefined;
|
|
6513
|
+
Array.from(this.element.shadowRoot.querySelectorAll('[data-index]')).forEach((tab, index) => {
|
|
6514
|
+
tab.setAttribute('tabindex', this.getActiveTab() - this.startIndex !== index ? '-1' : '0');
|
|
6515
|
+
});
|
|
6516
|
+
}, 0);
|
|
6517
|
+
};
|
|
6045
6518
|
/**
|
|
6046
6519
|
* Validate slots setting
|
|
6047
6520
|
*/
|
|
6048
6521
|
this.validateSlots = () => {
|
|
6049
6522
|
const slots = Array.from(this.element.children).filter(slot => { var _a; return (_a = slot.getAttribute('slot')) === null || _a === void 0 ? void 0 : _a.includes('tab_content-'); });
|
|
6050
|
-
if (slots.length !== this.tabs.length)
|
|
6523
|
+
if (slots.length !== this.tabs.length)
|
|
6051
6524
|
throw new Error('<mg-tabs> Must have slots counts equal to tabs count.');
|
|
6052
|
-
}
|
|
6053
6525
|
};
|
|
6054
6526
|
this.identifier = createID('mg-tabs');
|
|
6055
6527
|
this.label = undefined;
|
|
6056
6528
|
this.size = 'regular';
|
|
6057
6529
|
this.items = undefined;
|
|
6058
|
-
this.activeTab =
|
|
6530
|
+
this.activeTab = undefined;
|
|
6059
6531
|
this.tabs = [];
|
|
6060
6532
|
this.classList = new ClassList(['mg-tabs']);
|
|
6061
6533
|
}
|
|
@@ -6073,22 +6545,37 @@ const MgTabs = class {
|
|
|
6073
6545
|
validateItems(newValue) {
|
|
6074
6546
|
// String array
|
|
6075
6547
|
if (allItemsAreString(newValue)) {
|
|
6076
|
-
this.tabs = newValue.map(item => ({ label: item, status: Status.VISIBLE }));
|
|
6548
|
+
this.tabs = newValue.map((item, index) => ({ label: item, status: index === 0 ? Status.ACTIVE : Status.VISIBLE }));
|
|
6077
6549
|
}
|
|
6078
6550
|
// Object array
|
|
6079
|
-
else if (newValue && newValue.every(item => isTabItem(item))) {
|
|
6551
|
+
else if (newValue && newValue.length > 0 && newValue.every(item => isTabItem(item))) {
|
|
6080
6552
|
this.tabs = newValue;
|
|
6553
|
+
// init active tabs if not set. Default: index 0.
|
|
6554
|
+
if (this.tabs.find(tab => this.tabHasStatus(tab, Status.ACTIVE)) === undefined)
|
|
6555
|
+
this.tabs[0].status = Status.ACTIVE;
|
|
6081
6556
|
}
|
|
6082
6557
|
else {
|
|
6083
6558
|
throw new Error('<mg-tabs> prop "items" is required and all items must be the same type: TabItem.');
|
|
6084
6559
|
}
|
|
6085
6560
|
}
|
|
6086
6561
|
validateActiveTab(newValue) {
|
|
6087
|
-
if (newValue
|
|
6088
|
-
|
|
6562
|
+
if (typeof newValue === 'number' && newValue >= 1 && newValue <= this.tabs.length) {
|
|
6563
|
+
this.tabs.forEach((tab, index) => {
|
|
6564
|
+
const isNewActiveTab = index === newValue - this.startIndex;
|
|
6565
|
+
// reset active tabs
|
|
6566
|
+
if (this.tabHasStatus(tab, Status.ACTIVE) && !isNewActiveTab)
|
|
6567
|
+
tab.status = Status.VISIBLE;
|
|
6568
|
+
// set active tab from given tab key
|
|
6569
|
+
else if ((tab.status === undefined || this.tabHasStatus(tab, Status.VISIBLE)) && isNewActiveTab)
|
|
6570
|
+
tab.status = Status.ACTIVE;
|
|
6571
|
+
});
|
|
6572
|
+
// emit change active tab key event
|
|
6573
|
+
if (this.tabs.find(tab => this.tabHasStatus(tab, Status.ACTIVE)) !== undefined) {
|
|
6574
|
+
this.activeTabChange.emit(newValue);
|
|
6575
|
+
}
|
|
6089
6576
|
}
|
|
6090
|
-
else {
|
|
6091
|
-
|
|
6577
|
+
else if (newValue !== undefined) {
|
|
6578
|
+
throw new Error('<mg-tabs> prop "activeTab" must be between 1 and tabs length.');
|
|
6092
6579
|
}
|
|
6093
6580
|
}
|
|
6094
6581
|
/*************
|
|
@@ -6107,6 +6594,17 @@ const MgTabs = class {
|
|
|
6107
6594
|
this.validateSize(this.size);
|
|
6108
6595
|
this.validateSlots();
|
|
6109
6596
|
}
|
|
6597
|
+
/**
|
|
6598
|
+
* add listners
|
|
6599
|
+
*
|
|
6600
|
+
* @returns {void}
|
|
6601
|
+
*/
|
|
6602
|
+
componentDidLoad() {
|
|
6603
|
+
document.addEventListener('click', (event) => {
|
|
6604
|
+
if (event.target.closest('mg-tabs') !== this.element)
|
|
6605
|
+
this.resetFocus();
|
|
6606
|
+
}, false);
|
|
6607
|
+
}
|
|
6110
6608
|
/**
|
|
6111
6609
|
* Render
|
|
6112
6610
|
*
|
|
@@ -6116,10 +6614,10 @@ const MgTabs = class {
|
|
|
6116
6614
|
return (index.h("div", { class: this.classList.join() }, index.h("header", { role: "tablist", "aria-label": this.label, class: "mg-tabs__header" }, this.tabs.map((tab, index$1) => (index.h("button", { role: "tab", id: this.getElementId(this.identifier, index$1), class: {
|
|
6117
6615
|
[`${this.buttonTabBaseClass}`]: true,
|
|
6118
6616
|
[`${this.buttonTabBaseClass}--horizontal`]: true,
|
|
6119
|
-
[`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.
|
|
6120
|
-
[`${this.getNavigationButtonClass(Status.DISABLED)}`]: this.
|
|
6121
|
-
[`${this.getNavigationButtonClass(Status.HIDDEN)}`]: this.
|
|
6122
|
-
}, tabindex: this.
|
|
6617
|
+
[`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.tabHasStatus(tab, Status.ACTIVE),
|
|
6618
|
+
[`${this.getNavigationButtonClass(Status.DISABLED)}`]: this.tabHasStatus(tab, Status.DISABLED),
|
|
6619
|
+
[`${this.getNavigationButtonClass(Status.HIDDEN)}`]: this.tabHasStatus(tab, Status.HIDDEN),
|
|
6620
|
+
}, tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, "aria-selected": this.tabHasStatus(tab, Status.ACTIVE).toString(), "aria-controls": this.getElementId(this.tabPanel, index$1), "aria-disabled": this.tabHasStatus(tab, Status.DISABLED), onClick: this.handleClick, onKeyDown: this.handleKeydown, "data-index": this.getTabItemIndex(index$1) }, tab.icon !== undefined && index.h("mg-icon", { icon: tab.icon }), tab.label, tab.badge !== undefined && index.h("mg-badge", { variant: "text-color", value: tab.badge.value, label: tab.badge.label, outline: tab.badge.role === 'information' }))))), this.tabs.map((tab, index$1) => (index.h("article", { role: "tabpanel", id: this.getElementId(this.tabPanel, index$1), hidden: !this.tabHasStatus(tab, Status.ACTIVE), "aria-labelledby": this.getElementId(this.identifier, index$1), tabindex: this.tabHasStatus(tab, Status.ACTIVE) ? 0 : -1, class: "mg-tabs__content-container" }, index.h("slot", { name: this.getElementId('tab_content', index$1) }))))));
|
|
6123
6621
|
}
|
|
6124
6622
|
get element() { return index.getElement(this); }
|
|
6125
6623
|
static get watchers() { return {
|
|
@@ -6136,7 +6634,7 @@ MgTabs.style = mgTabsCss;
|
|
|
6136
6634
|
*/
|
|
6137
6635
|
const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'];
|
|
6138
6636
|
|
|
6139
|
-
const mgTagCss = ".mg-tag{padding:calc((var(--mg-tag-height) - 0.2rem - var(--mg-tag-font-size) * var(--line-height)) / 2) 0.6rem;min-height:var(--mg-tag-height);box-sizing:border-box;border-radius:var(--mg-tag-border-radius);border:0.1rem solid;font-size:var(--mg-tag-font-size);font-weight:600;text-align:center}.mg-tag.mg-tag--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-tag.mg-tag--primary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft{font-weight:
|
|
6637
|
+
const mgTagCss = ".mg-tag{padding:calc((var(--mg-tag-height) - 0.2rem - var(--mg-tag-font-size) * var(--line-height)) / 2) 0.6rem;min-height:var(--mg-tag-height);box-sizing:border-box;border-radius:var(--mg-tag-border-radius);border:0.1rem solid;font-size:var(--mg-tag-font-size);font-weight:600;text-align:center}.mg-tag.mg-tag--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-tag.mg-tag--primary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-dark-h), var(--color-dark-s), 90%);border-color:hsl(var(--color-dark-h), var(--color-dark-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--primary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-tag.mg-tag--secondary.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-light-h), var(--color-light-s), 90%);border-color:hsl(var(--color-light-h), var(--color-light-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--secondary.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-dark))}.mg-tag.mg-tag--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-tag.mg-tag--success.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-success-h), var(--color-success-s), 90%);border-color:hsl(var(--color-success-h), var(--color-success-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--success.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-success))}.mg-tag.mg-tag--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-tag.mg-tag--warning.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-warning-h), var(--color-warning-s), 90%);border-color:hsl(var(--color-warning-h), var(--color-warning-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--warning.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-warning))}.mg-tag.mg-tag--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-tag.mg-tag--danger.mg-tag--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-tag.mg-tag--danger.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-danger-h), var(--color-danger-s), 90%);border-color:hsl(var(--color-danger-h), var(--color-danger-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--danger.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-danger))}.mg-tag.mg-tag--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-tag.mg-tag--info.mg-tag--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-tag.mg-tag--info.mg-tag--soft{font-weight:400;background-color:hsl(var(--color-info-h), var(--color-info-s), 90%);border-color:hsl(var(--color-info-h), var(--color-info-s), 90%);color:hsl(var(--color-dark))}.mg-tag.mg-tag--info.mg-tag--soft ::slotted(mg-icon){color:hsl(var(--color-info))}.mg-tag,mg-tag{display:inline-block;vertical-align:middle}::slotted(mg-icon){margin-right:0.4rem}";
|
|
6140
6638
|
|
|
6141
6639
|
const MgTag = class {
|
|
6142
6640
|
constructor(hostRef) {
|
|
@@ -6145,8 +6643,8 @@ const MgTag = class {
|
|
|
6145
6643
|
* Internal *
|
|
6146
6644
|
************/
|
|
6147
6645
|
// Classes
|
|
6148
|
-
this.classOutline =
|
|
6149
|
-
this.classSoft =
|
|
6646
|
+
this.classOutline = 'mg-tag--outline';
|
|
6647
|
+
this.classSoft = 'mg-tag--soft';
|
|
6150
6648
|
this.variant = variants[0];
|
|
6151
6649
|
this.outline = undefined;
|
|
6152
6650
|
this.soft = undefined;
|
|
@@ -6189,7 +6687,7 @@ const MgTag = class {
|
|
|
6189
6687
|
* @returns {void}
|
|
6190
6688
|
*/
|
|
6191
6689
|
validateTextContent(textContent) {
|
|
6192
|
-
if (
|
|
6690
|
+
if (typeof textContent !== 'string' || textContent.trim() === '')
|
|
6193
6691
|
throw new Error('<mg-tag> slot must contain a text content.');
|
|
6194
6692
|
}
|
|
6195
6693
|
/*************
|
|
@@ -6230,7 +6728,7 @@ var Guard;
|
|
|
6230
6728
|
Guard["HOVER_TOOLTIPED_ELEMENT"] = "hoverTooltipedGuard";
|
|
6231
6729
|
})(Guard || (Guard = {}));
|
|
6232
6730
|
|
|
6233
|
-
const mgTooltipCss = ":host{display:inline-block}.mg-tooltip{display:none;padding:0.5rem 0.8rem;z-index:1000;border-radius:var(--mg-tooltip-border-radius);background-color:hsl(var(--mg-tooltip-background-color));color:hsl(var(--mg-tooltip-font-color));text-align:start}.mg-tooltip[data-show]{display:block}.mg-tooltip .mg-tooltip__arrow,.mg-tooltip .mg-tooltip__arrow::before{position:absolute;width:0.8rem;height:0.8rem;z-index:9999;background:inherit}.mg-tooltip .mg-tooltip__arrow{visibility:hidden}.mg-tooltip .mg-tooltip__arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}.mg-tooltip[data-popper-placement^=top]>.mg-tooltip__arrow{bottom:-4px}.mg-tooltip[data-popper-placement^=bottom]>.mg-tooltip__arrow{top:-4px}.mg-tooltip[data-popper-placement^=left]>.mg-tooltip__arrow{right:-4px}.mg-tooltip[data-popper-placement^=right]>.mg-tooltip__arrow{left:-4px}";
|
|
6731
|
+
const mgTooltipCss = ":host{display:inline-block}.mg-tooltip{display:none;padding:0.5rem 0.8rem;z-index:1000;border-radius:var(--mg-tooltip-border-radius);background-color:hsl(var(--mg-tooltip-background-color));color:hsl(var(--mg-tooltip-font-color));text-align:start;max-width:40rem;box-sizing:border-box}.mg-tooltip[data-show]{display:block}.mg-tooltip .mg-tooltip__arrow,.mg-tooltip .mg-tooltip__arrow::before{position:absolute;width:0.8rem;height:0.8rem;z-index:9999;background:inherit}.mg-tooltip .mg-tooltip__arrow{visibility:hidden}.mg-tooltip .mg-tooltip__arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}.mg-tooltip[data-popper-placement^=top]>.mg-tooltip__arrow{bottom:-4px}.mg-tooltip[data-popper-placement^=bottom]>.mg-tooltip__arrow{top:-4px}.mg-tooltip[data-popper-placement^=left]>.mg-tooltip__arrow{right:-4px}.mg-tooltip[data-popper-placement^=right]>.mg-tooltip__arrow{left:-4px}";
|
|
6234
6732
|
|
|
6235
6733
|
const MgTooltip = class {
|
|
6236
6734
|
constructor(hostRef) {
|
|
@@ -6288,7 +6786,7 @@ const MgTooltip = class {
|
|
|
6288
6786
|
this.resetGuard();
|
|
6289
6787
|
}, 100);
|
|
6290
6788
|
}
|
|
6291
|
-
else if (
|
|
6789
|
+
else if (this.guard === Guard.HOVER_TOOLTIPED_ELEMENT) {
|
|
6292
6790
|
this.setDisplay(isMouseenter);
|
|
6293
6791
|
}
|
|
6294
6792
|
}
|
|
@@ -6358,7 +6856,7 @@ const MgTooltip = class {
|
|
|
6358
6856
|
this.setDisplay(true);
|
|
6359
6857
|
});
|
|
6360
6858
|
['blur', 'keydown'].forEach(event => {
|
|
6361
|
-
|
|
6859
|
+
document.addEventListener(event, (e) => {
|
|
6362
6860
|
// we continue to process ONLY for KeyboardEvents 'Escape'
|
|
6363
6861
|
if (e.type === 'keydown' && e.code !== 'Escape') {
|
|
6364
6862
|
return;
|
|
@@ -6442,7 +6940,7 @@ const MgTooltip = class {
|
|
|
6442
6940
|
* @returns {HTMLElement} HTML Element
|
|
6443
6941
|
*/
|
|
6444
6942
|
render() {
|
|
6445
|
-
return (index.h(index.Host, null, index.h("slot", null), index.h("div", { role: "tooltip", id: this.identifier, class: "mg-tooltip", innerHTML: this.message }, index.h("div", { class: "mg-tooltip__arrow", "data-popper-arrow": true }))));
|
|
6943
|
+
return (index.h(index.Host, null, index.h("slot", null), index.h("div", { role: "tooltip", id: this.identifier, class: "mg-tooltip" }, index.h("span", { innerHTML: this.message }), index.h("div", { class: "mg-tooltip__arrow", "data-popper-arrow": true }))));
|
|
6446
6944
|
}
|
|
6447
6945
|
get element() { return index.getElement(this); }
|
|
6448
6946
|
static get watchers() { return {
|