@mgdis/mg-components 5.4.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-94497267.js → index-4dcc1812.js} +11 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{mg-badge_29.cjs.entry.js → mg-badge_30.cjs.entry.js} +1112 -859
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +5 -4
- package/dist/collection/components/atoms/mg-badge/doc/mg-badge.stories.js +0 -7
- 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 +7 -10
- package/dist/collection/components/atoms/mg-button/doc/mg-button.stories.js +0 -7
- package/dist/collection/components/atoms/mg-button/mg-button.conf.js +1 -1
- package/dist/collection/components/atoms/mg-button/mg-button.css +15 -1
- package/dist/collection/components/atoms/mg-button/mg-button.js +12 -29
- package/dist/collection/components/atoms/mg-card/mg-card.css +17 -5
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +2 -3
- package/dist/collection/components/atoms/mg-divider/mg-divider.js +0 -6
- package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +13 -3
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +5 -12
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +4 -8
- package/dist/collection/components/atoms/mg-tag/doc/mg-tag.stories.js +1 -9
- package/dist/collection/components/atoms/mg-tag/mg-tag.css +58 -0
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +61 -16
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +2 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +9 -22
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +17 -33
- 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 +21 -26
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +24 -47
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +17 -29
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +18 -33
- 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 +30 -36
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +23 -41
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +23 -45
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +16 -33
- 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 +145 -25
- package/dist/collection/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.js +7 -5
- 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 +51 -21
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +129 -92
- package/dist/collection/components/molecules/mg-details/mg-details.js +4 -8
- package/dist/collection/components/molecules/mg-form/mg-form.js +8 -22
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.css +2 -2
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +4 -9
- package/dist/collection/components/molecules/mg-message/mg-message.css +20 -19
- package/dist/collection/components/molecules/mg-message/mg-message.js +55 -33
- package/dist/collection/components/molecules/mg-modal/mg-modal.css +20 -8
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +8 -26
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +4 -13
- package/dist/collection/components/molecules/mg-panel/mg-panel.css +17 -5
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +11 -22
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +82 -20
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +54 -26
- package/dist/collection/components/molecules/mg-skip-links/doc/mg-skip-links.stories.js +24 -0
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js +1 -0
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.css +28 -0
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +108 -0
- 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 +109 -75
- package/dist/collection/locales/en/messages.json +7 -0
- package/dist/collection/locales/fr/messages.json +7 -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/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index2.js +73 -18
- package/dist/components/mg-badge2.js +8 -11
- package/dist/components/mg-button2.js +13 -30
- package/dist/components/mg-card.js +1 -37
- package/dist/components/mg-card2.js +39 -0
- package/dist/components/mg-character-left2.js +2 -3
- package/dist/components/mg-details.js +4 -8
- package/dist/components/mg-divider.js +0 -6
- package/dist/components/mg-form.js +8 -22
- package/dist/components/mg-icon2.js +18 -15
- package/dist/components/mg-illustrated-message.js +5 -10
- package/dist/components/mg-input-checkbox.js +17 -33
- package/dist/components/mg-input-date.js +23 -29
- package/dist/components/mg-input-numeric.js +26 -50
- package/dist/components/mg-input-password.js +18 -30
- package/dist/components/mg-input-radio.js +18 -33
- package/dist/components/mg-input-select2.js +32 -38
- package/dist/components/mg-input-text2.js +24 -42
- package/dist/components/mg-input-textarea.js +24 -46
- package/dist/components/mg-input-title2.js +4 -8
- package/dist/components/mg-input-toggle.js +16 -33
- package/dist/components/mg-menu-item.js +1 -264
- package/dist/components/mg-menu-item2.js +517 -0
- package/dist/components/mg-menu.js +142 -28
- package/dist/components/mg-message.js +64 -36
- package/dist/components/mg-modal.js +18 -30
- package/dist/components/mg-pagination.js +4 -13
- package/dist/components/mg-panel.js +20 -25
- package/dist/components/mg-popover.js +1 -200
- package/dist/components/mg-popover2.js +212 -0
- package/dist/components/mg-skip-links.d.ts +11 -0
- package/dist/components/mg-skip-links.js +80 -0
- package/dist/components/mg-tabs.js +108 -73
- package/dist/components/mg-tag.js +35 -13
- package/dist/components/mg-tooltip2.js +10 -23
- package/dist/esm/{index-aad0184c.js → index-dc9a2348.js} +11 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mg-badge_29.entry.js → mg-badge_30.entry.js} +1112 -860
- package/dist/esm/mg-components.js +3 -3
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/mg-components/locales/en/messages.json +7 -0
- package/dist/mg-components/locales/fr/messages.json +7 -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-3899d5d2.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/doc/mg-badge.stories.d.ts +0 -11
- package/dist/types/components/atoms/mg-badge/mg-badge.conf.d.ts +2 -2
- package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +1 -1
- package/dist/types/components/atoms/mg-button/doc/mg-button.stories.d.ts +0 -11
- package/dist/types/components/atoms/mg-button/mg-button.conf.d.ts +4 -4
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +6 -6
- package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +2 -2
- package/dist/types/components/atoms/mg-tag/doc/mg-tag.stories.d.ts +0 -13
- package/dist/types/components/atoms/mg-tag/mg-tag.conf.d.ts +5 -1
- package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +27 -6
- 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/doc/mg-menu-item.stories.d.ts +1 -0
- 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-form/mg-form.d.ts +1 -1
- package/dist/types/components/molecules/mg-message/mg-message.d.ts +22 -5
- package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +1 -1
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +12 -0
- package/dist/types/components/molecules/mg-skip-links/doc/mg-skip-links.stories.d.ts +11 -0
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +7 -0
- package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +49 -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 +24 -14
- package/dist/types/components.d.ts +81 -18
- package/dist/types/locales/index.d.ts +16 -9
- package/dist/types/stencil-public-runtime.d.ts +44 -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 +78 -0
- package/package.json +51 -46
- package/readme.md +25 -14
- package/dist/components/locale.utils.js +0 -40
- package/dist/components/mg-menu.conf.js +0 -10
- package/dist/mg-components/p-059a9a59.entry.js +0 -1
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
--color-secondary: hsl(var(--color-neutral));
|
|
97
97
|
|
|
98
98
|
/* Shadow */
|
|
99
|
-
--box-shadow: 0 0.3rem 0.8rem 0
|
|
99
|
+
--box-shadow: 0 0.3rem 0.8rem 0 hsl(var(--color-dark), 0.15);
|
|
100
100
|
|
|
101
101
|
/*
|
|
102
102
|
Global
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
--mg-panel-box-shadow: var(--box-shadow);
|
|
181
181
|
--mg-panel-content-padding: 1.5rem;
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
/*
|
|
184
184
|
<mg-illustrated-message>
|
|
185
185
|
*/
|
|
186
186
|
|
|
@@ -189,16 +189,16 @@
|
|
|
189
189
|
/*
|
|
190
190
|
<mg-card>
|
|
191
191
|
*/
|
|
192
|
-
--mg-card-padding: 1.6rem;
|
|
193
|
-
--mg-card-border-radius: 0.5rem;
|
|
194
|
-
--mg-card-background: hsl(var(--color-light));
|
|
195
|
-
--mg-card-border: 0.1rem solid
|
|
196
|
-
--mg-card-box-shadow: var(--box-shadow);
|
|
192
|
+
--mg-card-padding-default: 1.6rem;
|
|
193
|
+
--mg-card-border-radius-default: 0.5rem;
|
|
194
|
+
--mg-card-background-default: hsl(var(--color-light));
|
|
195
|
+
--mg-card-border-default: 0.1rem solid hsl(var(--color-dark), 0.05);
|
|
196
|
+
--mg-card-box-shadow-default: var(--box-shadow);
|
|
197
197
|
|
|
198
198
|
/*
|
|
199
199
|
<mg-divider>
|
|
200
200
|
*/
|
|
201
|
-
--mg-divider-background-color:
|
|
201
|
+
--mg-divider-background-color: hsl(var(--color-dark), 0.15);
|
|
202
202
|
--mg-divider-thickness: 0.1rem;
|
|
203
203
|
--mg-divider-vertical-spacing: 4rem;
|
|
204
204
|
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
--mg-menu-item-focused-background-color-hsl: var(--mg-color-app-hsl);
|
|
246
246
|
--mg-menu-item-border-color-active-hsl: var(--mg-color-app-hsl);
|
|
247
247
|
--mg-menu-item-color-active-hsl: var(--mg-color-app-hsl);
|
|
248
|
-
|
|
248
|
+
|
|
249
249
|
/*
|
|
250
250
|
<mg-tabs>
|
|
251
251
|
*/
|
|
@@ -86,5 +86,55 @@ const isTagName = (element, tagNames) => {
|
|
|
86
86
|
* Focusable elements query selector
|
|
87
87
|
*/
|
|
88
88
|
const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier]';
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param {Window} localWindow the window we are lookink for other windows
|
|
92
|
+
* @returns {Window[]} The list of windows found
|
|
93
|
+
*/
|
|
94
|
+
const getWindows = (localWindow) => {
|
|
95
|
+
const parentWindows = getParentWindows(localWindow);
|
|
96
|
+
const childWindows = getChildWindows(localWindow);
|
|
97
|
+
return [localWindow, ...parentWindows, ...childWindows];
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Get parent windows
|
|
101
|
+
*
|
|
102
|
+
* @param {Window} localWindow the window we are lookink for parents
|
|
103
|
+
* @param {Window[]} windows The list of allready found windows
|
|
104
|
+
* @returns {Window[]} The list of windows found
|
|
105
|
+
*/
|
|
106
|
+
const getParentWindows = (localWindow, windows = []) => {
|
|
107
|
+
// Check if is in iframe
|
|
108
|
+
if (localWindow.self !== localWindow.top) {
|
|
109
|
+
// Check if we have permission to access parent
|
|
110
|
+
try {
|
|
111
|
+
const parentWindow = localWindow.parent;
|
|
112
|
+
windows.push(parentWindow);
|
|
113
|
+
return getParentWindows(parentWindow, windows);
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
console.error('Different hosts between iframes:', err);
|
|
117
|
+
return windows;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return windows;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Get child windows
|
|
124
|
+
*
|
|
125
|
+
* @param {Window} localWindow the window we are lookink for children
|
|
126
|
+
* @param {Window[]} windows The list of allready found windows
|
|
127
|
+
* @returns {Window[]} The list of windows found
|
|
128
|
+
*/
|
|
129
|
+
const getChildWindows = (localWindow, windows = []) => {
|
|
130
|
+
if (localWindow.frames.length > 0) {
|
|
131
|
+
for (let i = 0; i < localWindow.frames.length; i++) {
|
|
132
|
+
const childWindow = localWindow.frames[i];
|
|
133
|
+
windows.push(childWindow);
|
|
134
|
+
windows.concat(getChildWindows(childWindow, windows));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return windows;
|
|
138
|
+
};
|
|
89
139
|
|
|
90
|
-
export { ClassList as C, allItemsAreString as a, createID as c, focusableElements as f, isTagName as i };
|
|
140
|
+
export { ClassList as C, allItemsAreString as a, createID as c, focusableElements as f, getWindows as g, isTagName as i };
|
|
@@ -25,6 +25,7 @@ export { MgModal as MgModal } from '../types/components/molecules/mg-modal/mg-mo
|
|
|
25
25
|
export { MgPagination as MgPagination } from '../types/components/molecules/mg-pagination/mg-pagination';
|
|
26
26
|
export { MgPanel as MgPanel } from '../types/components/molecules/mg-panel/mg-panel';
|
|
27
27
|
export { MgPopover as MgPopover } from '../types/components/molecules/mg-popover/mg-popover';
|
|
28
|
+
export { MgSkipLinks as MgSkipLinks } from '../types/components/molecules/mg-skip-links/mg-skip-links';
|
|
28
29
|
export { MgTabs as MgTabs } from '../types/components/molecules/mg-tabs/mg-tabs';
|
|
29
30
|
export { MgTag as MgTag } from '../types/components/atoms/mg-tag/mg-tag';
|
|
30
31
|
export { MgTooltip as MgTooltip } from '../types/components/atoms/mg-tooltip/mg-tooltip';
|
package/dist/components/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export { MgModal, defineCustomElement as defineCustomElementMgModal } from './mg
|
|
|
25
25
|
export { MgPagination, defineCustomElement as defineCustomElementMgPagination } from './mg-pagination.js';
|
|
26
26
|
export { MgPanel, defineCustomElement as defineCustomElementMgPanel } from './mg-panel.js';
|
|
27
27
|
export { MgPopover, defineCustomElement as defineCustomElementMgPopover } from './mg-popover.js';
|
|
28
|
+
export { MgSkipLinks, defineCustomElement as defineCustomElementMgSkipLinks } from './mg-skip-links.js';
|
|
28
29
|
export { MgTabs, defineCustomElement as defineCustomElementMgTabs } from './mg-tabs.js';
|
|
29
30
|
export { MgTag, defineCustomElement as defineCustomElementMgTag } from './mg-tag.js';
|
|
30
31
|
export { MgTooltip, defineCustomElement as defineCustomElementMgTooltip } from './mg-tooltip.js';
|
|
@@ -39,6 +39,9 @@ const pagination$1 = {
|
|
|
39
39
|
const panel$1 = {
|
|
40
40
|
editLabel: "Edit section title."
|
|
41
41
|
};
|
|
42
|
+
const skipLinks$1 = {
|
|
43
|
+
navLabel: "Quick access"
|
|
44
|
+
};
|
|
42
45
|
const general$1 = {
|
|
43
46
|
confirm: "Confirm",
|
|
44
47
|
cancel: "Cancel",
|
|
@@ -46,6 +49,10 @@ const general$1 = {
|
|
|
46
49
|
next: "next",
|
|
47
50
|
previous: "previous"
|
|
48
51
|
};
|
|
52
|
+
const plusMenu$1 = {
|
|
53
|
+
moreLabel: "Additional menu",
|
|
54
|
+
badgeLabel: "Include notification(s)"
|
|
55
|
+
};
|
|
49
56
|
const en = {
|
|
50
57
|
errors: errors$1,
|
|
51
58
|
nbCharLeft: nbCharLeft$1,
|
|
@@ -55,7 +62,9 @@ const en = {
|
|
|
55
62
|
modal: modal$1,
|
|
56
63
|
pagination: pagination$1,
|
|
57
64
|
panel: panel$1,
|
|
58
|
-
|
|
65
|
+
skipLinks: skipLinks$1,
|
|
66
|
+
general: general$1,
|
|
67
|
+
plusMenu: plusMenu$1
|
|
59
68
|
};
|
|
60
69
|
|
|
61
70
|
const errors = {
|
|
@@ -99,6 +108,9 @@ const pagination = {
|
|
|
99
108
|
const panel = {
|
|
100
109
|
editLabel: "Modifier le titre de la section."
|
|
101
110
|
};
|
|
111
|
+
const skipLinks = {
|
|
112
|
+
navLabel: "Accès rapide"
|
|
113
|
+
};
|
|
102
114
|
const general = {
|
|
103
115
|
confirm: "Valider",
|
|
104
116
|
cancel: "Annuler",
|
|
@@ -106,6 +118,10 @@ const general = {
|
|
|
106
118
|
next: "suivant",
|
|
107
119
|
previous: "précédent"
|
|
108
120
|
};
|
|
121
|
+
const plusMenu = {
|
|
122
|
+
moreLabel: "Menu complémentaire",
|
|
123
|
+
badgeLabel: "Notification(s) incluse(s)"
|
|
124
|
+
};
|
|
109
125
|
const fr = {
|
|
110
126
|
errors: errors,
|
|
111
127
|
nbCharLeft: nbCharLeft,
|
|
@@ -115,34 +131,63 @@ const fr = {
|
|
|
115
131
|
modal: modal,
|
|
116
132
|
pagination: pagination,
|
|
117
133
|
panel: panel,
|
|
118
|
-
|
|
134
|
+
skipLinks: skipLinks,
|
|
135
|
+
general: general,
|
|
136
|
+
plusMenu: plusMenu
|
|
119
137
|
};
|
|
120
138
|
|
|
121
|
-
const defaultLocale = 'en';
|
|
122
|
-
const messages = { en, fr };
|
|
123
139
|
/**
|
|
124
|
-
*
|
|
140
|
+
* Format number to the locale currency
|
|
125
141
|
*
|
|
126
|
-
* @param {
|
|
127
|
-
* @
|
|
142
|
+
* @param {number} number number to format
|
|
143
|
+
* @param {string} locale locale to apply
|
|
144
|
+
* @param {string} currency currency to apply
|
|
145
|
+
* @returns {string} formatted currency
|
|
128
146
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const closestLang = Intl.NumberFormat.supportedLocalesOf((_a = element.closest('[lang]')) === null || _a === void 0 ? void 0 : _a.lang);
|
|
133
|
-
return closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;
|
|
134
|
-
};
|
|
147
|
+
function localeCurrency(number, locale, currency) {
|
|
148
|
+
return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);
|
|
149
|
+
}
|
|
135
150
|
/**
|
|
136
|
-
*
|
|
151
|
+
* Format number to locale
|
|
152
|
+
*
|
|
153
|
+
* @param {number} number number to format
|
|
154
|
+
* @param {string} locale locale to apply
|
|
155
|
+
* @returns {string} formatted number
|
|
156
|
+
*/
|
|
157
|
+
function localeNumber(number, locale) {
|
|
158
|
+
return new Intl.NumberFormat(locale).format(number);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Date RegExp
|
|
162
|
+
*/
|
|
163
|
+
const dateRegExp = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
|
|
164
|
+
/**
|
|
165
|
+
* Locale date format
|
|
166
|
+
*
|
|
167
|
+
* @param {string} date date to format
|
|
168
|
+
* @param {string} locale locale to apply
|
|
169
|
+
* @returns {string} formatted date
|
|
170
|
+
*/
|
|
171
|
+
function localeDate(date, locale) {
|
|
172
|
+
if (typeof date !== 'string' || date === '' || !dateRegExp.test(date)) {
|
|
173
|
+
return '';
|
|
174
|
+
}
|
|
175
|
+
return new Intl.DateTimeFormat(locale).format(new Date(date));
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get locale and messages
|
|
137
179
|
* We load the defined locale but for now we only support the first subtag for messages
|
|
138
180
|
*
|
|
139
181
|
* @param {HTMLElement} element element we need to get the language
|
|
182
|
+
* @param {unknown} messages messages to use
|
|
183
|
+
* @param {string} defaultLocale default messages locale
|
|
140
184
|
* @returns {{ locale: string; messages: unknown }} messages object
|
|
141
185
|
*/
|
|
142
|
-
|
|
143
|
-
|
|
186
|
+
const getLocaleMessages = (element, messages, defaultLocale) => {
|
|
187
|
+
var _a;
|
|
144
188
|
// Get local
|
|
145
|
-
const
|
|
189
|
+
const closestLang = Intl.NumberFormat.supportedLocalesOf((_a = element.closest('[lang]')) === null || _a === void 0 ? void 0 : _a.lang);
|
|
190
|
+
const locale = closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;
|
|
146
191
|
// Only keep first subtag
|
|
147
192
|
const localeSubtag = locale.split('-').shift();
|
|
148
193
|
// Return
|
|
@@ -152,4 +197,14 @@ const initLocales = (element) => {
|
|
|
152
197
|
};
|
|
153
198
|
};
|
|
154
199
|
|
|
155
|
-
|
|
200
|
+
const defaultLocale = 'en';
|
|
201
|
+
const messages = { en, fr };
|
|
202
|
+
/**
|
|
203
|
+
* Get Intl object
|
|
204
|
+
*
|
|
205
|
+
* @param {HTMLElement} element element we need to get the language
|
|
206
|
+
* @returns {{ locale: string; messages: unknown }} messages object
|
|
207
|
+
*/
|
|
208
|
+
const initLocales = (element) => getLocaleMessages(element, messages, defaultLocale);
|
|
209
|
+
|
|
210
|
+
export { localeCurrency as a, localeNumber as b, dateRegExp as d, initLocales as i, localeDate as l };
|
|
@@ -4,9 +4,9 @@ import { C as ClassList } from './components.utils.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* List of all possibles variants
|
|
6
6
|
*/
|
|
7
|
-
const variants = ['info', 'primary', 'secondary', 'success', 'warning', 'danger'];
|
|
7
|
+
const variants = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'];
|
|
8
8
|
|
|
9
|
-
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}";
|
|
9
|
+
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}";
|
|
10
10
|
|
|
11
11
|
const MgBadge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
12
12
|
constructor() {
|
|
@@ -18,18 +18,15 @@ const MgBadge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
18
18
|
************/
|
|
19
19
|
// Classes
|
|
20
20
|
this.classOutline = `mg-badge--outline`;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
/**
|
|
26
|
-
* Component classes
|
|
27
|
-
*/
|
|
21
|
+
this.value = undefined;
|
|
22
|
+
this.label = undefined;
|
|
23
|
+
this.variant = variants[0];
|
|
24
|
+
this.outline = undefined;
|
|
28
25
|
this.classList = new ClassList(['mg-badge']);
|
|
29
26
|
}
|
|
30
27
|
validateValue(newValue) {
|
|
31
28
|
if (`${newValue}`.match(/^(\d+\+*|[?*!a-z])$/i) === null) {
|
|
32
|
-
throw new Error('<mg-badge> prop "value" must be
|
|
29
|
+
throw new Error('<mg-badge> prop "value" must be integer or ponctuation character.');
|
|
33
30
|
}
|
|
34
31
|
}
|
|
35
32
|
validateLabel(newValue) {
|
|
@@ -71,7 +68,7 @@ const MgBadge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
71
68
|
* @returns {HTMLElement} HTML Element
|
|
72
69
|
*/
|
|
73
70
|
render() {
|
|
74
|
-
return (h("span", { class: this.classList.join() }, this.value, h("span", { class: "sr-only" }, this.label)));
|
|
71
|
+
return (h("span", { class: this.classList.join() }, h("span", { class: "mg-badge__value" }, this.value), h("span", { class: "sr-only" }, this.label)));
|
|
75
72
|
}
|
|
76
73
|
static get watchers() { return {
|
|
77
74
|
"value": ["validateValue"],
|
|
@@ -5,9 +5,9 @@ import { d as defineCustomElement$1 } from './mg-icon2.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* List of all possibles variants
|
|
7
7
|
*/
|
|
8
|
-
const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success'];
|
|
8
|
+
const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'];
|
|
9
9
|
|
|
10
|
-
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:
|
|
10
|
+
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}";
|
|
11
11
|
|
|
12
12
|
const MgButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
13
13
|
constructor() {
|
|
@@ -21,34 +21,6 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
21
21
|
this.classDisabled = 'mg-button--disabled';
|
|
22
22
|
this.classLoading = 'mg-button--loading';
|
|
23
23
|
this.classFullWidth = 'mg-button--full-width';
|
|
24
|
-
/**
|
|
25
|
-
* Define button variant
|
|
26
|
-
*/
|
|
27
|
-
this.variant = variants[0]; // Primary
|
|
28
|
-
/**
|
|
29
|
-
* Set button to full-width
|
|
30
|
-
*/
|
|
31
|
-
this.fullWidth = false;
|
|
32
|
-
/**
|
|
33
|
-
* Define if button is round.
|
|
34
|
-
* Used for icon button.
|
|
35
|
-
*/
|
|
36
|
-
this.isIcon = false;
|
|
37
|
-
/**
|
|
38
|
-
* Option to set input disable on click, in order to prevent multi-click.
|
|
39
|
-
* Parent component have to remove the attribute 'disabled' when the process ends.
|
|
40
|
-
*/
|
|
41
|
-
this.disableOnClick = false;
|
|
42
|
-
/**
|
|
43
|
-
* Define if button is loading, default to false.
|
|
44
|
-
* Trigger when button is clicked or key-up ['enter', 'space], then value change to true.
|
|
45
|
-
* It's required to reset to false when action/promise in parent is done to stop the loading state
|
|
46
|
-
*/
|
|
47
|
-
this.loading = false;
|
|
48
|
-
/**
|
|
49
|
-
* Component classes
|
|
50
|
-
*/
|
|
51
|
-
this.classList = new ClassList(['mg-button']);
|
|
52
24
|
/**
|
|
53
25
|
* Trigger actions onClick event
|
|
54
26
|
*
|
|
@@ -91,6 +63,17 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
91
63
|
this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));
|
|
92
64
|
}
|
|
93
65
|
};
|
|
66
|
+
this.variant = variants[0];
|
|
67
|
+
this.identifier = undefined;
|
|
68
|
+
this.label = undefined;
|
|
69
|
+
this.type = undefined;
|
|
70
|
+
this.fullWidth = false;
|
|
71
|
+
this.form = undefined;
|
|
72
|
+
this.disabled = undefined;
|
|
73
|
+
this.isIcon = false;
|
|
74
|
+
this.disableOnClick = false;
|
|
75
|
+
this.loading = false;
|
|
76
|
+
this.classList = new ClassList(['mg-button']);
|
|
94
77
|
}
|
|
95
78
|
validateVariant(newValue, oldValue) {
|
|
96
79
|
if (!variants.includes(newValue)) {
|
|
@@ -1,40 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const mgCardCss = ".mg-card{padding:var(--mg-card-padding);border-radius:var(--mg-card-border-radius);background:var(--mg-card-background);border:var(--mg-card-border);box-shadow:var(--mg-card-box-shadow)}";
|
|
4
|
-
|
|
5
|
-
const MgCard$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.__registerHost();
|
|
9
|
-
this.__attachShadow();
|
|
10
|
-
}
|
|
11
|
-
/*************
|
|
12
|
-
* Lifecycle *
|
|
13
|
-
*************/
|
|
14
|
-
/**
|
|
15
|
-
* Render
|
|
16
|
-
*
|
|
17
|
-
* @returns {HTMLElement} HTML Element
|
|
18
|
-
*/
|
|
19
|
-
render() {
|
|
20
|
-
return (h("div", { class: "mg-card" }, h("slot", null)));
|
|
21
|
-
}
|
|
22
|
-
static get style() { return mgCardCss; }
|
|
23
|
-
}, [1, "mg-card"]);
|
|
24
|
-
function defineCustomElement$1() {
|
|
25
|
-
if (typeof customElements === "undefined") {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const components = ["mg-card"];
|
|
29
|
-
components.forEach(tagName => { switch (tagName) {
|
|
30
|
-
case "mg-card":
|
|
31
|
-
if (!customElements.get(tagName)) {
|
|
32
|
-
customElements.define(tagName, MgCard$1);
|
|
33
|
-
}
|
|
34
|
-
break;
|
|
35
|
-
} });
|
|
36
|
-
}
|
|
37
|
-
defineCustomElement$1();
|
|
1
|
+
import { M as MgCard$1, d as defineCustomElement$1 } from './mg-card2.js';
|
|
38
2
|
|
|
39
3
|
const MgCard = MgCard$1;
|
|
40
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
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)}";
|
|
4
|
+
|
|
5
|
+
const MgCard = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
}
|
|
11
|
+
/*************
|
|
12
|
+
* Lifecycle *
|
|
13
|
+
*************/
|
|
14
|
+
/**
|
|
15
|
+
* Render
|
|
16
|
+
*
|
|
17
|
+
* @returns {HTMLElement} HTML Element
|
|
18
|
+
*/
|
|
19
|
+
render() {
|
|
20
|
+
return (h("div", { class: "mg-card" }, h("slot", null)));
|
|
21
|
+
}
|
|
22
|
+
static get style() { return mgCardCss; }
|
|
23
|
+
}, [1, "mg-card"]);
|
|
24
|
+
function defineCustomElement() {
|
|
25
|
+
if (typeof customElements === "undefined") {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const components = ["mg-card"];
|
|
29
|
+
components.forEach(tagName => { switch (tagName) {
|
|
30
|
+
case "mg-card":
|
|
31
|
+
if (!customElements.get(tagName)) {
|
|
32
|
+
customElements.define(tagName, MgCard);
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
} });
|
|
36
|
+
}
|
|
37
|
+
defineCustomElement();
|
|
38
|
+
|
|
39
|
+
export { MgCard as M, defineCustomElement as d };
|
|
@@ -7,10 +7,9 @@ const MgCharacterLeft = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
|
7
7
|
constructor() {
|
|
8
8
|
super();
|
|
9
9
|
this.__registerHost();
|
|
10
|
-
|
|
11
|
-
* Sets the characters to count
|
|
12
|
-
*/
|
|
10
|
+
this.identifier = undefined;
|
|
13
11
|
this.characters = '';
|
|
12
|
+
this.maxlength = undefined;
|
|
14
13
|
}
|
|
15
14
|
validateMaxlength(newValue) {
|
|
16
15
|
if (typeof newValue !== 'number') {
|
|
@@ -9,14 +9,6 @@ const MgDetails$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
9
9
|
this.__registerHost();
|
|
10
10
|
this.__attachShadow();
|
|
11
11
|
this.expandedChange = createEvent(this, "expanded-change", 7);
|
|
12
|
-
/**
|
|
13
|
-
* Hide summary element
|
|
14
|
-
*/
|
|
15
|
-
this.hideSummary = false;
|
|
16
|
-
/**
|
|
17
|
-
* Define if details are diplayed
|
|
18
|
-
*/
|
|
19
|
-
this.expanded = false;
|
|
20
12
|
/**
|
|
21
13
|
* Handle details toggle
|
|
22
14
|
*
|
|
@@ -25,6 +17,10 @@ const MgDetails$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
25
17
|
this.handleToggle = () => {
|
|
26
18
|
this.expanded = this.details.open;
|
|
27
19
|
};
|
|
20
|
+
this.toggleClosed = undefined;
|
|
21
|
+
this.toggleOpened = undefined;
|
|
22
|
+
this.hideSummary = false;
|
|
23
|
+
this.expanded = false;
|
|
28
24
|
}
|
|
29
25
|
validateTitles(newValue) {
|
|
30
26
|
if (newValue === undefined || newValue.trim() === '') {
|
|
@@ -7,12 +7,6 @@ const MgDivider$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
7
7
|
super();
|
|
8
8
|
this.__registerHost();
|
|
9
9
|
this.__attachShadow();
|
|
10
|
-
/**************
|
|
11
|
-
* Decorators *
|
|
12
|
-
**************/
|
|
13
|
-
/**
|
|
14
|
-
* Define component size
|
|
15
|
-
*/
|
|
16
10
|
this.size = 'regular';
|
|
17
11
|
}
|
|
18
12
|
/**
|
|
@@ -13,28 +13,6 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
13
13
|
this.formSubmit = createEvent(this, "form-submit", 7);
|
|
14
14
|
// Classes
|
|
15
15
|
this.classAllRequired = 'mg-form--all-required';
|
|
16
|
-
/**
|
|
17
|
-
* Identifier is used for the element ID (id is a reserved prop in Stencil.js)
|
|
18
|
-
* If not set, it will be created.
|
|
19
|
-
*/
|
|
20
|
-
this.identifier = createID('mg-form');
|
|
21
|
-
/**
|
|
22
|
-
* Input name
|
|
23
|
-
* If not set the value equals the identifier
|
|
24
|
-
*/
|
|
25
|
-
this.name = this.identifier;
|
|
26
|
-
/**
|
|
27
|
-
* Define if form is readonly
|
|
28
|
-
*/
|
|
29
|
-
this.readonly = false;
|
|
30
|
-
/**
|
|
31
|
-
* Define if form is disabled
|
|
32
|
-
*/
|
|
33
|
-
this.disabled = false;
|
|
34
|
-
/**
|
|
35
|
-
* Component classes
|
|
36
|
-
*/
|
|
37
|
-
this.classList = new ClassList(['mg-form']);
|
|
38
16
|
/**
|
|
39
17
|
* Define required message based on mg-inputs required elements
|
|
40
18
|
* Also
|
|
@@ -104,6 +82,14 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
104
82
|
input.addEventListener('input-valid', this.checkValidity);
|
|
105
83
|
});
|
|
106
84
|
};
|
|
85
|
+
this.identifier = createID('mg-form');
|
|
86
|
+
this.name = this.identifier;
|
|
87
|
+
this.readonly = false;
|
|
88
|
+
this.disabled = false;
|
|
89
|
+
this.valid = undefined;
|
|
90
|
+
this.invalid = undefined;
|
|
91
|
+
this.classList = new ClassList(['mg-form']);
|
|
92
|
+
this.requiredMessage = undefined;
|
|
107
93
|
}
|
|
108
94
|
handleAttributeChange() {
|
|
109
95
|
this.setMgInputs();
|