@mgdis/mg-components 5.27.0 → 5.27.2
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-1d560837.js → index-00072168.js} +46 -46
- package/dist/cjs/index-00072168.js.map +1 -0
- package/dist/cjs/{index-7072369e.js → index-7e27c7ae.js} +34 -10
- package/dist/cjs/index-7e27c7ae.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{mg-action-more_35.cjs.entry.js → mg-action-more_36.cjs.entry.js} +513 -179
- package/dist/cjs/mg-action-more_36.cjs.entry.js.map +1 -0
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/cjs/mg-components.cjs.js.map +1 -1
- package/dist/cjs/mg-loader.cjs.entry.js +4 -4
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/atoms/mg-button/mg-button.js +4 -1
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-card/mg-card.js +4 -1
- package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
- package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +1 -1
- package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +4 -1
- package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +4 -1
- package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +4 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +1 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +13 -3
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +7 -1
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +42 -11
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +6 -3
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +12 -3
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +5 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +24 -22
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +34 -3
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +3 -3
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +5 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +5 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +8 -3
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +10 -4
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +5 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +6 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +5 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +4 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +5 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +4 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
- package/dist/components/index.es.js +42 -42
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index2.js +2 -2
- package/dist/components/mg-action-more.js +20 -16
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-badge2.js +3 -3
- package/dist/components/mg-button2.js +5 -5
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-card2.js +3 -3
- package/dist/components/mg-card2.js.map +1 -1
- package/dist/components/mg-character-left2.js +1 -1
- package/dist/components/mg-details.js +3 -3
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-divider.js +1 -1
- package/dist/components/mg-form.js +4 -4
- package/dist/components/mg-form.js.map +1 -1
- package/dist/components/mg-icon2.js +2 -2
- package/dist/components/mg-illustrated-message.js +5 -5
- package/dist/components/mg-illustrated-message.js.map +1 -1
- package/dist/components/mg-input-checkbox-paginated2.js +2 -2
- package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
- package/dist/components/mg-input-checkbox.js +5 -5
- package/dist/components/mg-input-date.js +49 -18
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +7 -7
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-password.js +5 -5
- package/dist/components/mg-input-password.js.map +1 -1
- package/dist/components/mg-input-radio.js +5 -5
- package/dist/components/mg-input-select2.js +8 -8
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text2.js +15 -9
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.js +8 -8
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title2.js +3 -3
- package/dist/components/mg-input-title2.js.map +1 -1
- package/dist/components/mg-input-toggle.js +5 -5
- package/dist/components/mg-input-toggle.js.map +1 -1
- package/dist/components/mg-input2.js +4 -4
- package/dist/components/mg-input2.js.map +1 -1
- package/dist/components/mg-item-more.js +1 -339
- package/dist/components/mg-item-more.js.map +1 -1
- package/dist/components/mg-item-more2.js +592 -0
- package/dist/components/mg-item-more2.js.map +1 -0
- package/dist/components/mg-loader.js +3 -3
- package/dist/components/mg-menu-item2.js +30 -8
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-menu.js +1 -1
- package/dist/components/mg-message.js +4 -4
- package/dist/components/mg-message.js.map +1 -1
- package/dist/components/mg-modal.js +8 -8
- package/dist/components/mg-modal.js.map +1 -1
- package/dist/components/mg-pagination2.js +5 -5
- package/dist/components/mg-pagination2.js.map +1 -1
- package/dist/components/mg-panel.js +5 -5
- package/dist/components/mg-panel.js.map +1 -1
- package/dist/components/mg-popover-content2.js +4 -4
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover2.js +4 -4
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-skip-links.js +3 -3
- package/dist/components/mg-tabs.js +7 -7
- package/dist/components/mg-tabs.js.map +1 -1
- package/dist/components/mg-tag.js +4 -4
- package/dist/components/mg-tag.js.map +1 -1
- package/dist/components/mg-tooltip-content2.js +1 -1
- package/dist/components/mg-tooltip-content2.js.map +1 -1
- package/dist/components/mg-tooltip2.js +16 -9
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/esm/{index-445fc2a0.js → index-8d5d1bfd.js} +44 -44
- package/dist/esm/index-8d5d1bfd.js.map +1 -0
- package/dist/esm/{index-629a42c7.js → index-e479d5ae.js} +34 -10
- package/dist/esm/index-e479d5ae.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{mg-action-more_35.entry.js → mg-action-more_36.entry.js} +501 -168
- package/dist/esm/mg-action-more_36.entry.js.map +1 -0
- package/dist/esm/mg-components.js +4 -4
- package/dist/esm/mg-components.js.map +1 -1
- package/dist/esm/mg-loader.entry.js +4 -4
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-components.esm.js.map +1 -1
- package/dist/mg-components/p-7315d4a6.js +3 -0
- package/dist/mg-components/p-7315d4a6.js.map +1 -0
- package/dist/mg-components/p-8800813b.js +2 -0
- package/dist/mg-components/p-8800813b.js.map +1 -0
- package/dist/mg-components/{p-fe347f48.entry.js → p-99e2f42a.entry.js} +2 -2
- package/dist/mg-components/p-f9ac8927.entry.js +2 -0
- package/dist/mg-components/p-f9ac8927.entry.js.map +1 -0
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +3 -0
- package/dist/types/components/atoms/mg-card/mg-card.d.ts +3 -0
- package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +3 -0
- package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +3 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +3 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +2 -1
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +4 -0
- package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +6 -0
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +2 -1
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +11 -0
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +3 -0
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +3 -0
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +4 -0
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +3 -0
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +15 -0
- package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +3 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +4 -0
- package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +3 -0
- package/dist/types/components.d.ts +5 -0
- package/ide/intellij/web-types.json +20 -81
- package/ide/vscode/html-custom-data.json +14 -74
- package/package.json +25 -25
- package/dist/cjs/index-1d560837.js.map +0 -1
- package/dist/cjs/index-7072369e.js.map +0 -1
- package/dist/cjs/mg-action-more_35.cjs.entry.js.map +0 -1
- package/dist/cjs/mg-item-more.cjs.entry.js +0 -273
- package/dist/cjs/mg-item-more.cjs.entry.js.map +0 -1
- package/dist/cjs/mg-menu.conf-c291eee6.js +0 -18
- package/dist/cjs/mg-menu.conf-c291eee6.js.map +0 -1
- package/dist/components/mg-menu.conf.js +0 -16
- package/dist/components/mg-menu.conf.js.map +0 -1
- package/dist/components/mg-menu2.js +0 -202
- package/dist/components/mg-menu2.js.map +0 -1
- package/dist/esm/index-445fc2a0.js.map +0 -1
- package/dist/esm/index-629a42c7.js.map +0 -1
- package/dist/esm/mg-action-more_35.entry.js.map +0 -1
- package/dist/esm/mg-item-more.entry.js +0 -269
- package/dist/esm/mg-item-more.entry.js.map +0 -1
- package/dist/esm/mg-menu.conf-9609bcb2.js +0 -16
- package/dist/esm/mg-menu.conf-9609bcb2.js.map +0 -1
- package/dist/mg-components/p-3ebe6845.js +0 -2
- package/dist/mg-components/p-3ebe6845.js.map +0 -1
- package/dist/mg-components/p-6735e4b2.entry.js +0 -2
- package/dist/mg-components/p-6735e4b2.entry.js.map +0 -1
- package/dist/mg-components/p-9dfaa41f.js +0 -3
- package/dist/mg-components/p-9dfaa41f.js.map +0 -1
- package/dist/mg-components/p-b3e0f7b3.entry.js +0 -2
- package/dist/mg-components/p-b3e0f7b3.entry.js.map +0 -1
- package/dist/mg-components/p-fe935e54.js +0 -2
- package/dist/mg-components/p-fe935e54.js.map +0 -1
- /package/dist/mg-components/{p-fe347f48.entry.js.map → p-99e2f42a.entry.js.map} +0 -0
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, g as getElement } from './index-629a42c7.js';
|
|
2
|
-
import { B as Be, i as initLocales } from './index-445fc2a0.js';
|
|
3
|
-
import { D as Direction } from './mg-menu.conf-9609bcb2.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* MgItemMore type guard
|
|
7
|
-
* @param element - element to control type
|
|
8
|
-
* @returns truthy if element is mg-item-more
|
|
9
|
-
*/
|
|
10
|
-
const isMgItemMore = (element) => element.nodeName === 'MG-ITEM-MORE';
|
|
11
|
-
var OverflowBehaviorElements;
|
|
12
|
-
(function (OverflowBehaviorElements) {
|
|
13
|
-
OverflowBehaviorElements["BASE_INDEX"] = "data-overflow-base-index";
|
|
14
|
-
OverflowBehaviorElements["PROXY_INDEX"] = "data-overflow-proxy-index";
|
|
15
|
-
})(OverflowBehaviorElements || (OverflowBehaviorElements = {}));
|
|
16
|
-
class OverflowBehavior {
|
|
17
|
-
constructor(element, render) {
|
|
18
|
-
this.element = element;
|
|
19
|
-
this.render = render;
|
|
20
|
-
/**********
|
|
21
|
-
* Public *
|
|
22
|
-
**********/
|
|
23
|
-
/**
|
|
24
|
-
* Disconnect ResizeObserver
|
|
25
|
-
*/
|
|
26
|
-
this.disconnect = () => {
|
|
27
|
-
this._resizeObserver.disconnect();
|
|
28
|
-
};
|
|
29
|
-
/************
|
|
30
|
-
* Internal *
|
|
31
|
-
************/
|
|
32
|
-
/**
|
|
33
|
-
* run overflow behavior
|
|
34
|
-
* @param width - width of the container. Optional.
|
|
35
|
-
*/
|
|
36
|
-
this.run = (width) => {
|
|
37
|
-
if (this._moreElement === undefined) {
|
|
38
|
-
// set moreElement
|
|
39
|
-
this._moreElement = this.render();
|
|
40
|
-
// set children
|
|
41
|
-
this._baseChildren = this.getInteractiveItems(this.element);
|
|
42
|
-
if (isMgItemMore(this._moreElement)) {
|
|
43
|
-
this._proxyChildren = this.getInteractiveItems(this._moreElement.shadowRoot.querySelector('mg-menu'));
|
|
44
|
-
}
|
|
45
|
-
// update children
|
|
46
|
-
this._baseChildren.forEach((child, index) => {
|
|
47
|
-
child.setAttribute(OverflowBehaviorElements.BASE_INDEX, `${index}`);
|
|
48
|
-
// set moreElement children
|
|
49
|
-
this._proxyChildren[index].setAttribute(OverflowBehaviorElements.PROXY_INDEX, `${index}`);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
if (width !== undefined)
|
|
53
|
-
this.updateDisplayedItems(width);
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Get interactive children filtred by authorized nodeName ['MG-MENU-ITEM', 'MG-BUTTON']
|
|
57
|
-
* @param element - element to parse
|
|
58
|
-
* @returns children
|
|
59
|
-
*/
|
|
60
|
-
this.getInteractiveItems = (element) => { var _a; return (((_a = element.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? Array.from(element.children) : []).filter(element => ['MG-MENU-ITEM', 'MG-BUTTON'].includes(element.nodeName)); };
|
|
61
|
-
/**
|
|
62
|
-
* Update displayed items in container from a given available space
|
|
63
|
-
* @param availableWidth - available width in container to display child items
|
|
64
|
-
*/
|
|
65
|
-
this.updateDisplayedItems = (availableWidth) => {
|
|
66
|
-
this.restoreItems();
|
|
67
|
-
const acc = { accWidth: 0, previousItem: null };
|
|
68
|
-
[...this._baseChildren, this._moreElement].forEach((child) => {
|
|
69
|
-
acc.accWidth += child.offsetWidth;
|
|
70
|
-
const hasPreviuosItem = acc.previousItem !== null;
|
|
71
|
-
const isPreviousItemHidden = hasPreviuosItem && acc.previousItem.getAttribute('hidden') !== null;
|
|
72
|
-
// if previous item is hidden AND is NOT more element we hidde current
|
|
73
|
-
// OR if item has an overflow we hidde current
|
|
74
|
-
// OR if current item is more element AND have NOT previous hidden items, current more element item is an hidden item
|
|
75
|
-
// ELSE current is a display item
|
|
76
|
-
this.toggleItem(child, (isPreviousItemHidden && !this.isMoreElement(child)) || this.isOverflowElement(acc.accWidth, child, availableWidth) || (this.isMoreElement(child) && !isPreviousItemHidden));
|
|
77
|
-
// update previous item with current item
|
|
78
|
-
acc.previousItem = child;
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Utility method to know if item overflow partialy or totaly in the container
|
|
83
|
-
* @param cumulateWidth - previous sibling elements cumulate width + item width
|
|
84
|
-
* @param item - item HTML element
|
|
85
|
-
* @param availableWidth - container available width
|
|
86
|
-
* @returns truthy if element is overflow
|
|
87
|
-
*/
|
|
88
|
-
this.isOverflowElement = (cumulateWidth, item, availableWidth) => {
|
|
89
|
-
if (item.previousElementSibling === null || this.isMoreElement(item))
|
|
90
|
-
return false;
|
|
91
|
-
else if (!this.isMoreElement(item.nextElementSibling))
|
|
92
|
-
return cumulateWidth + this._moreElement.offsetWidth > availableWidth;
|
|
93
|
-
else
|
|
94
|
-
return cumulateWidth > availableWidth;
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Utility method to know if a given element is the 'MORE' element
|
|
98
|
-
* @param element - element to match with 'MORE' element
|
|
99
|
-
* @returns truthy if element is the 'MORE' element
|
|
100
|
-
*/
|
|
101
|
-
this.isMoreElement = (element) => element.nodeName === 'MG-ITEM-MORE';
|
|
102
|
-
/**
|
|
103
|
-
* Toggle display item element
|
|
104
|
-
* @param item - item to control
|
|
105
|
-
* @param isHidden - is item hidden
|
|
106
|
-
*/
|
|
107
|
-
this.toggleItem = (item, isHidden) => {
|
|
108
|
-
const mgActionMenuindex = Number(item.getAttribute(OverflowBehaviorElements.BASE_INDEX));
|
|
109
|
-
if (this.isMoreElement(item))
|
|
110
|
-
this.toggleElement(this._moreElement, isHidden);
|
|
111
|
-
else if (mgActionMenuindex >= 0) {
|
|
112
|
-
this.toggleElement(item, isHidden);
|
|
113
|
-
this.toggleElement(this._proxyChildren[mgActionMenuindex], !isHidden);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Toggle element's hidde attribute
|
|
118
|
-
* @param element - element to toggle
|
|
119
|
-
* @param isHidden - element is hidden
|
|
120
|
-
*/
|
|
121
|
-
this.toggleElement = (element, isHidden) => {
|
|
122
|
-
if (isHidden)
|
|
123
|
-
element.setAttribute('hidden', '');
|
|
124
|
-
else
|
|
125
|
-
element.removeAttribute('hidden');
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Remove hidden attributes on all items
|
|
129
|
-
*/
|
|
130
|
-
this.restoreItems = () => {
|
|
131
|
-
[...this._baseChildren, this._moreElement].forEach(item => item.removeAttribute('hidden'));
|
|
132
|
-
};
|
|
133
|
-
if (this._resizeObserver === undefined) {
|
|
134
|
-
// add resize observer
|
|
135
|
-
this._resizeObserver = new ResizeObserver(entries => {
|
|
136
|
-
entries.forEach(entry => {
|
|
137
|
-
this.run(entry.contentRect.width);
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
this._resizeObserver.observe(this.element);
|
|
141
|
-
}
|
|
142
|
-
this.run();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const mgItemMoreCss = ".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}:host:not([hidden]){display:flex}";
|
|
147
|
-
const MgItemMoreStyle0 = mgItemMoreCss;
|
|
148
|
-
|
|
149
|
-
const MgItemMore = class {
|
|
150
|
-
constructor(hostRef) {
|
|
151
|
-
registerInstance(this, hostRef);
|
|
152
|
-
/************
|
|
153
|
-
* Internal *
|
|
154
|
-
************/
|
|
155
|
-
this.name = 'mg-item-more';
|
|
156
|
-
this.canRenderMgMenuItemOverflowElement = true;
|
|
157
|
-
/***********
|
|
158
|
-
* Methods *
|
|
159
|
-
***********/
|
|
160
|
-
/**
|
|
161
|
-
* render mg-item-more overflow element
|
|
162
|
-
* @returns mg-item-more element
|
|
163
|
-
*/
|
|
164
|
-
this.renderMgMenuItemOverflowElement = () => {
|
|
165
|
-
// create menu items proxy element from item clones
|
|
166
|
-
this.parentMenuItems.forEach((child) => {
|
|
167
|
-
this.moreElementMenuItem.querySelector('mg-menu').appendChild(child.cloneNode(true));
|
|
168
|
-
});
|
|
169
|
-
const allMenuItem = Array.from(this.parentMenu.querySelectorAll('mg-menu-item:not([data-overflow-more])'));
|
|
170
|
-
Array.from(this.moreElementMenuItem.querySelectorAll('mg-menu-item:not([data-overflow-more])')).forEach((proxy, index) => {
|
|
171
|
-
// manage click on proxy to mirror it on initial element
|
|
172
|
-
proxy.addEventListener('click', () => {
|
|
173
|
-
// be carefull to use element.click() method instead of dispatchEvent to ensure bubbles outside shadowDom
|
|
174
|
-
const navElement = allMenuItem[index].shadowRoot.querySelector('a, button');
|
|
175
|
-
if (navElement instanceof HTMLButtonElement || navElement instanceof HTMLAnchorElement)
|
|
176
|
-
navElement.click();
|
|
177
|
-
});
|
|
178
|
-
// add id suffix to prevent duplicate key. default html id is: '';
|
|
179
|
-
if (Be(proxy.id))
|
|
180
|
-
proxy.id = `${proxy.id}-proxy`;
|
|
181
|
-
// manage status change miror in proxy
|
|
182
|
-
allMenuItem[index].addEventListener('status-change', (event) => {
|
|
183
|
-
proxy.setAttribute('status', event.detail);
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
return this.element;
|
|
187
|
-
};
|
|
188
|
-
this.icon = { icon: 'ellipsis-vertical' };
|
|
189
|
-
this.slotlabel = { display: false };
|
|
190
|
-
this.size = undefined;
|
|
191
|
-
this.parentMenu = undefined;
|
|
192
|
-
}
|
|
193
|
-
validateIcon(newValue) {
|
|
194
|
-
if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.icon !== 'string'))
|
|
195
|
-
throw new Error(`<${this.name}> prop "icon" must match MgItemMore['icon'] type.`);
|
|
196
|
-
}
|
|
197
|
-
validateSlotLabel(newValue) {
|
|
198
|
-
if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.display !== 'boolean'))
|
|
199
|
-
throw new Error(`<${this.name}> prop "slotlabel" must match MgItemMore['slotlabel'] type.`);
|
|
200
|
-
else if (typeof newValue.label !== 'string')
|
|
201
|
-
this.slotlabel.label = this.messages.menuLabel;
|
|
202
|
-
}
|
|
203
|
-
validateSize(newValue) {
|
|
204
|
-
if (newValue && typeof newValue !== 'string')
|
|
205
|
-
throw new Error(`<${this.name}> prop "size" must match MgItemMore['size'] type.`);
|
|
206
|
-
}
|
|
207
|
-
/*************
|
|
208
|
-
* Lifecycle *
|
|
209
|
-
*************/
|
|
210
|
-
/**
|
|
211
|
-
* Set variables and validate props
|
|
212
|
-
*/
|
|
213
|
-
componentWillLoad() {
|
|
214
|
-
// init variables
|
|
215
|
-
this.messages = initLocales(this.element).messages.itemMore;
|
|
216
|
-
// validate props
|
|
217
|
-
this.validateIcon(this.icon);
|
|
218
|
-
this.validateSlotLabel(this.slotlabel);
|
|
219
|
-
this.validateSize(this.size);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Ensure parent DOM is fully rendered with timeout method before parse elements
|
|
223
|
-
* @returns timeout
|
|
224
|
-
*/
|
|
225
|
-
componentDidLoad() {
|
|
226
|
-
// ensure parent menu is fully rendered
|
|
227
|
-
return setTimeout(() => {
|
|
228
|
-
this.parentMenu = this.element.closest('mg-menu');
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Set OverflowBehavior when parentMenu state is upate AND defined
|
|
233
|
-
*/
|
|
234
|
-
componentDidUpdate() {
|
|
235
|
-
if (this.parentMenu && this.canRenderMgMenuItemOverflowElement) {
|
|
236
|
-
this.parentMenuItems = Array.from(this.parentMenu.children).filter(item => item.nodeName === 'MG-MENU-ITEM');
|
|
237
|
-
this.overflowBehavior = new OverflowBehavior(this.parentMenu, this.renderMgMenuItemOverflowElement);
|
|
238
|
-
this.canRenderMgMenuItemOverflowElement = false;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Disconnect overflow ResizeObserver
|
|
243
|
-
*/
|
|
244
|
-
disconnectedCallback() {
|
|
245
|
-
var _a;
|
|
246
|
-
(_a = this.overflowBehavior) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Render
|
|
250
|
-
* @returns HTML Element
|
|
251
|
-
*/
|
|
252
|
-
render() {
|
|
253
|
-
return (h(Host, { key: 'd19aa0bb690ee7ed301954913d3e056d1050dc04', role: "listitem" }, this.parentMenu && (h("mg-menu-item", { "data-overflow-more": true, "data-size": this.parentMenu.size, ref: el => {
|
|
254
|
-
if (el)
|
|
255
|
-
this.moreElementMenuItem = el;
|
|
256
|
-
} }, h("mg-icon", { icon: this.icon.icon, slot: "image" }), h("span", { class: { 'mg-u-visually-hidden': !this.slotlabel.display }, slot: "label" }, this.slotlabel.label), h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.menuLabel, size: this.size })))));
|
|
257
|
-
}
|
|
258
|
-
get element() { return getElement(this); }
|
|
259
|
-
static get watchers() { return {
|
|
260
|
-
"icon": ["validateIcon"],
|
|
261
|
-
"slotlabel": ["validateSlotLabel"],
|
|
262
|
-
"size": ["validateSize"]
|
|
263
|
-
}; }
|
|
264
|
-
};
|
|
265
|
-
MgItemMore.style = MgItemMoreStyle0;
|
|
266
|
-
|
|
267
|
-
export { MgItemMore as mg_item_more };
|
|
268
|
-
|
|
269
|
-
//# sourceMappingURL=mg-item-more.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"mg-item-more.entry.js","mappings":"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","names":["isValidString"],"sources":["src/utils/behaviors.utils.ts","../styles/dist/components/mg-item-more.css?tag=mg-item-more&encapsulation=shadow","src/components/molecules/mg-item-more/mg-item-more.tsx"],"sourcesContent":["/**\n * MgItemMore type guard\n * @param element - element to control type\n * @returns truthy if element is mg-item-more\n */\nconst isMgItemMore = (element: HTMLElement): element is HTMLMgItemMoreElement => element.nodeName === 'MG-ITEM-MORE';\n\nexport enum OverflowBehaviorElements {\n BASE_INDEX = 'data-overflow-base-index',\n PROXY_INDEX = 'data-overflow-proxy-index',\n}\n\nexport class OverflowBehavior {\n // variables\n private _resizeObserver: ResizeObserver;\n private _moreElement: HTMLElement;\n private _baseChildren: Element[];\n private _proxyChildren: Element[];\n\n constructor(\n private element: Element,\n private render: () => HTMLElement,\n ) {\n if (this._resizeObserver === undefined) {\n // add resize observer\n this._resizeObserver = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this.run(entry.contentRect.width);\n });\n });\n this._resizeObserver.observe(this.element);\n }\n this.run();\n }\n\n /**********\n * Public *\n **********/\n\n /**\n * Disconnect ResizeObserver\n */\n public disconnect = (): void => {\n this._resizeObserver.disconnect();\n };\n\n /************\n * Internal *\n ************/\n\n /**\n * run overflow behavior\n * @param width - width of the container. Optional.\n */\n private run = (width?: number): void => {\n if (this._moreElement === undefined) {\n // set moreElement\n this._moreElement = this.render();\n\n // set children\n this._baseChildren = this.getInteractiveItems(this.element);\n if (isMgItemMore(this._moreElement)) {\n this._proxyChildren = this.getInteractiveItems(this._moreElement.shadowRoot.querySelector('mg-menu'));\n }\n\n // update children\n this._baseChildren.forEach((child, index) => {\n child.setAttribute(OverflowBehaviorElements.BASE_INDEX, `${index}`);\n // set moreElement children\n this._proxyChildren[index].setAttribute(OverflowBehaviorElements.PROXY_INDEX, `${index}`);\n });\n }\n\n if (width !== undefined) this.updateDisplayedItems(width);\n };\n\n /**\n * Get interactive children filtred by authorized nodeName ['MG-MENU-ITEM', 'MG-BUTTON']\n * @param element - element to parse\n * @returns children\n */\n private getInteractiveItems = (element: Element) =>\n (element.children?.length > 0 ? Array.from(element.children) : []).filter(element => ['MG-MENU-ITEM', 'MG-BUTTON'].includes(element.nodeName));\n\n /**\n * Update displayed items in container from a given available space\n * @param availableWidth - available width in container to display child items\n */\n private updateDisplayedItems = (availableWidth: number): void => {\n this.restoreItems();\n const acc = { accWidth: 0, previousItem: null };\n [...this._baseChildren, this._moreElement].forEach((child: HTMLMgMenuItemElement | HTMLMgItemMoreElement) => {\n acc.accWidth += child.offsetWidth;\n const hasPreviuosItem = acc.previousItem !== null;\n const isPreviousItemHidden = hasPreviuosItem && acc.previousItem.getAttribute('hidden') !== null;\n // if previous item is hidden AND is NOT more element we hidde current\n // OR if item has an overflow we hidde current\n // OR if current item is more element AND have NOT previous hidden items, current more element item is an hidden item\n // ELSE current is a display item\n this.toggleItem(\n child,\n (isPreviousItemHidden && !this.isMoreElement(child)) || this.isOverflowElement(acc.accWidth, child, availableWidth) || (this.isMoreElement(child) && !isPreviousItemHidden),\n );\n\n // update previous item with current item\n acc.previousItem = child;\n });\n };\n\n /**\n * Utility method to know if item overflow partialy or totaly in the container\n * @param cumulateWidth - previous sibling elements cumulate width + item width\n * @param item - item HTML element\n * @param availableWidth - container available width\n * @returns truthy if element is overflow\n */\n private isOverflowElement = (cumulateWidth: number, item: HTMLElement, availableWidth: number): boolean => {\n if (item.previousElementSibling === null || this.isMoreElement(item)) return false;\n else if (!this.isMoreElement(item.nextElementSibling)) return cumulateWidth + this._moreElement.offsetWidth > availableWidth;\n else return cumulateWidth > availableWidth;\n };\n\n /**\n * Utility method to know if a given element is the 'MORE' element\n * @param element - element to match with 'MORE' element\n * @returns truthy if element is the 'MORE' element\n */\n private isMoreElement = (element: Element): boolean => element.nodeName === 'MG-ITEM-MORE';\n\n /**\n * Toggle display item element\n * @param item - item to control\n * @param isHidden - is item hidden\n */\n private toggleItem = (item: HTMLElement, isHidden: boolean): void => {\n const mgActionMenuindex = Number(item.getAttribute(OverflowBehaviorElements.BASE_INDEX));\n if (this.isMoreElement(item)) this.toggleElement(this._moreElement, isHidden);\n else if (mgActionMenuindex >= 0) {\n this.toggleElement(item, isHidden);\n this.toggleElement(this._proxyChildren[mgActionMenuindex], !isHidden);\n }\n };\n\n /**\n * Toggle element's hidde attribute\n * @param element - element to toggle\n * @param isHidden - element is hidden\n */\n private toggleElement = (element: Element, isHidden: boolean): void => {\n if (isHidden) element.setAttribute('hidden', '');\n else element.removeAttribute('hidden');\n };\n\n /**\n * Remove hidden attributes on all items\n */\n private restoreItems = (): void => {\n [...this._baseChildren, this._moreElement].forEach(item => item.removeAttribute('hidden'));\n };\n}\n",".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}:host:not([hidden]){display:flex}/*# sourceMappingURL=mg-item-more.css.map */\n","import { Component, h, Prop, Element, Host, Watch, State } from '@stencil/core';\nimport { isValidString } from '@mgdis/stencil-helpers';\nimport { Direction } from '../menu/mg-menu/mg-menu.conf';\nimport { OverflowBehavior } from '../../../utils/behaviors.utils';\nimport { initLocales } from '../../../locales';\nimport type { IconType, SizeType, SlotLabelType } from './mg-item-more.conf';\nimport type { MessageType } from '../../../locales/index.conf';\n\n@Component({\n tag: 'mg-item-more',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-item-more.css',\n shadow: true,\n})\nexport class MgItemMore {\n /************\n * Internal *\n ************/\n private readonly name = 'mg-item-more';\n private messages: MessageType;\n private parentMenuItems: HTMLMgMenuItemElement[];\n private moreElementMenuItem: HTMLMgMenuItemElement;\n private overflowBehavior: OverflowBehavior;\n private canRenderMgMenuItemOverflowElement = true;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgItemMoreElement;\n\n /**\n * Define icon\n */\n @Prop() icon?: IconType = { icon: 'ellipsis-vertical' };\n @Watch('icon')\n validateIcon(newValue: MgItemMore['icon']): void {\n if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.icon !== 'string'))\n throw new Error(`<${this.name}> prop \"icon\" must match MgItemMore['icon'] type.`);\n }\n\n /**\n * Define slot label element\n */\n @Prop() slotlabel?: SlotLabelType = { display: false };\n @Watch('slotlabel')\n validateSlotLabel(newValue: MgItemMore['slotlabel']): void {\n if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.display !== 'boolean'))\n throw new Error(`<${this.name}> prop \"slotlabel\" must match MgItemMore['slotlabel'] type.`);\n else if (typeof newValue.label !== 'string') this.slotlabel.label = this.messages.menuLabel;\n }\n\n /**\n * Define component child menu size.\n */\n @Prop() size?: SizeType;\n @Watch('size')\n validateSize(newValue: MgItemMore['size']): void {\n if (newValue && typeof newValue !== 'string') throw new Error(`<${this.name}> prop \"size\" must match MgItemMore['size'] type.`);\n }\n\n /**\n * Define component parent menu.\n */\n @State() parentMenu: HTMLMgMenuElement;\n\n /***********\n * Methods *\n ***********/\n\n /**\n * render mg-item-more overflow element\n * @returns mg-item-more element\n */\n private renderMgMenuItemOverflowElement = (): HTMLMgItemMoreElement => {\n // create menu items proxy element from item clones\n this.parentMenuItems.forEach((child: HTMLMgMenuItemElement) => {\n this.moreElementMenuItem.querySelector('mg-menu').appendChild(child.cloneNode(true));\n });\n\n const allMenuItem = Array.from(this.parentMenu.querySelectorAll('mg-menu-item:not([data-overflow-more])'));\n\n Array.from(this.moreElementMenuItem.querySelectorAll('mg-menu-item:not([data-overflow-more])')).forEach((proxy, index) => {\n // manage click on proxy to mirror it on initial element\n proxy.addEventListener('click', () => {\n // be carefull to use element.click() method instead of dispatchEvent to ensure bubbles outside shadowDom\n const navElement = allMenuItem[index].shadowRoot.querySelector('a, button');\n if (navElement instanceof HTMLButtonElement || navElement instanceof HTMLAnchorElement) navElement.click();\n });\n\n // add id suffix to prevent duplicate key. default html id is: '';\n if (isValidString(proxy.id)) proxy.id = `${proxy.id}-proxy`;\n\n // manage status change miror in proxy\n allMenuItem[index].addEventListener('status-change', (event: CustomEvent) => {\n proxy.setAttribute('status', event.detail);\n });\n });\n\n return this.element;\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Set variables and validate props\n */\n componentWillLoad(): void {\n // init variables\n this.messages = initLocales(this.element).messages.itemMore as MessageType;\n\n // validate props\n this.validateIcon(this.icon);\n this.validateSlotLabel(this.slotlabel);\n this.validateSize(this.size);\n }\n\n /**\n * Ensure parent DOM is fully rendered with timeout method before parse elements\n * @returns timeout\n */\n componentDidLoad(): ReturnType<typeof setTimeout> {\n // ensure parent menu is fully rendered\n return setTimeout(() => {\n this.parentMenu = this.element.closest('mg-menu');\n });\n }\n\n /**\n * Set OverflowBehavior when parentMenu state is upate AND defined\n */\n componentDidUpdate(): void {\n if (this.parentMenu && this.canRenderMgMenuItemOverflowElement) {\n this.parentMenuItems = Array.from(this.parentMenu.children).filter(item => item.nodeName === 'MG-MENU-ITEM') as HTMLMgMenuItemElement[];\n this.overflowBehavior = new OverflowBehavior(this.parentMenu, this.renderMgMenuItemOverflowElement);\n this.canRenderMgMenuItemOverflowElement = false;\n }\n }\n\n /**\n * Disconnect overflow ResizeObserver\n */\n disconnectedCallback(): void {\n this.overflowBehavior?.disconnect();\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <Host role=\"listitem\">\n {this.parentMenu && (\n <mg-menu-item\n data-overflow-more\n data-size={this.parentMenu.size}\n ref={el => {\n if (el) this.moreElementMenuItem = el;\n }}\n >\n <mg-icon icon={this.icon.icon} slot=\"image\"></mg-icon>\n <span class={{ 'mg-u-visually-hidden': !this.slotlabel.display }} slot=\"label\">\n {this.slotlabel.label}\n </span>\n <mg-menu direction={Direction.VERTICAL} label={this.messages.menuLabel} size={this.size}></mg-menu>\n </mg-menu-item>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Menu direction type
|
|
3
|
-
*/
|
|
4
|
-
var Direction;
|
|
5
|
-
(function (Direction) {
|
|
6
|
-
Direction["VERTICAL"] = "vertical";
|
|
7
|
-
Direction["HORIZONTAL"] = "horizontal";
|
|
8
|
-
})(Direction || (Direction = {}));
|
|
9
|
-
/**
|
|
10
|
-
* List of all possibles sizes
|
|
11
|
-
*/
|
|
12
|
-
const sizes = ['regular', 'medium', 'large'];
|
|
13
|
-
|
|
14
|
-
export { Direction as D, sizes as s };
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=mg-menu.conf-9609bcb2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"mg-menu.conf-9609bcb2.js","mappings":"AAEA;;;IAGY;AAAZ,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;AAC3B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAOD;;;MAGa,KAAK,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO;;;;","names":[],"sources":["src/components/molecules/menu/mg-menu/mg-menu.conf.ts"],"sourcesContent":["import { MgItemMore } from '../../mg-item-more/mg-item-more';\n\n/**\n * Menu direction type\n */\nexport enum Direction {\n VERTICAL = 'vertical',\n HORIZONTAL = 'horizontal',\n}\n\n/**\n * ItemMore prop type\n */\nexport type ItemMoreType = Pick<MgItemMore, 'icon' | 'slotlabel' | 'size'>;\n\n/**\n * List of all possibles sizes\n */\nexport const sizes = ['regular', 'medium', 'large'] as const;\n\n/**\n * item Size from sizes\n */\nexport type MenuSizeType = (typeof sizes)[number];\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=Object.defineProperty;var t=(t,s,a)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[s]=a;var s=(e,s,a)=>(t(e,typeof s!="symbol"?s+"":s,a),a);const a=(e="",t=10)=>{const s=new Uint8Array(t);crypto.getRandomValues(s);const a=Array.from(s).map((e=>e.toString(16).padStart(2,"0"))).join("").slice(0,t);return e!==""?`${e}-${a}`:a};class n{constructor(e=[]){s(this,"classes");s(this,"add",(e=>{this.has(e)||this.classes.push(e)}));s(this,"delete",(e=>{const t=this.classes.indexOf(e);t>-1&&this.classes.splice(t,1)}));s(this,"has",(e=>this.classes.includes(e)));s(this,"join",(()=>this.classes.join(" ")));this.classes=e}}const r=e=>Array.isArray(e)&&e.every((e=>typeof e=="string")),l=(e,t)=>t.includes(e==null?void 0:e.tagName.toLowerCase()),o='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), [identifier], mg-button',i=e=>{const t=c(e),s=u(e);return[e,...t,...s]},c=(e,t=[])=>{if(e.self!==e.top)try{const s=e.parent;return s?(t.push(s),c(s,t)):t}catch(e){return console.error("Different hosts between iframes:",e),t}return t},u=(e,t=[])=>{if(e.frames.length>0)for(const s of Array.from(e.frames))t.push(s),u(s,t);return t},d=e=>typeof e=="string"&&e.trim()!=="",m=e=>typeof e=="string"?e.toLocaleLowerCase().normalize("NFD").replaceAll(/[\u0300-\u036f]/g,""):e,p=async e=>e(),g=e=>{const t={value:"2023",pattern:"yyyy"},s={value:"12",pattern:"mm"},a={value:"24",pattern:"dd"};return x([t.value,s.value,a.value].join("-"),e).replace(t.value,t.pattern).replace(s.value,s.pattern).replace(a.value,a.pattern)},h=e=>e.toISOString().split("T")[0],b=(e,t,s)=>{const a=e.closest("[lang]"),n=Intl.NumberFormat.supportedLocalesOf(a==null?void 0:a.lang),r=n.length>0&&typeof n[0]=="string"?n[0]:navigator.language||s,l=r.split("-").shift();return{locale:r,messages:t[l]||t[s]}},f=(e,t,s)=>new Intl.NumberFormat(t,{style:"currency",currency:s}).format(e),v=(e,t)=>new Intl.NumberFormat(t).format(e),y=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,x=(e,t)=>typeof e!="string"||e===""||!y.test(e)?"":new Intl.DateTimeFormat(t).format(new Date(e)),L=(e,t)=>s=>b(s,e,t);const S={required:"This field is required.",date:{badInput:"The date format must be {pattern}",min:"The date cannot be earlier than {min}",max:"The date cannot be later than {max}",minMax:"The date must be between {min} and {max}"},numeric:{min:"The value cannot be less than {min}",max:"The value cannot be greater than {max}",minMax:"The value must be between {min} and {max}"}};const w="{counter} characters left.";const q={select:{placeholder:"Select a value"},checkbox:{selectedValues:"{nb} selected values",selectedValue:"{nb} selected value",editButton:"Edit",selectButton:"Select values",showButton:"Show",label:"Enter a value",result:"result",results:"results",searchResults:"Search result(s) list.",noResult:"No result.",sections:{selected:{title:"Selected",titlePlurial:"Selected",action:"Unselect all",tooltip:"Unselect all current search results"},notSelected:{title:"Not selected",titlePlurial:"Not selected",action:"Select all",tooltip:"Select all current search results"}}},date:{helpText:"Expected format: {pattern} (ex: {date})",pattern:{dd:"dd",mm:"mm",yyyy:"yyyy"}},password:{display:"Display password value",hide:"Hide password value"}};const P={required:'Fields with a <strong class="mg-u-is-asterisk">*</strong> are required',requiredSingle:'Field with a <strong class="mg-u-is-asterisk">*</strong> is required',allRequired:"All fields are required",allRequiredSingle:"The field is required"};const T={closeButton:"Close message"};const M={closeButton:"Close modal"};const k={label:"Pagination",page:"page",pages:"pages",nextPage:"Next page",previousPage:"Previous page",selectPage:"Select the page to display."};const A={editLabel:"Edit section title."};const B={navLabel:"Quick access"};const N={confirm:"Confirm",cancel:"Cancel",close:"Close",next:"next",previous:"previous"};const C={badgeLabel:"Include notification(s)",openNewTab:"Open link in a new tab"};const I={menuLabel:"Additional menu"};const R={label:"Actions"};const F={inProgess:"Loading in progress…"};const D={errors:S,nbCharLeft:w,input:q,form:P,message:T,modal:M,pagination:k,panel:A,skipLinks:B,general:N,menuItem:C,itemMore:I,actionMore:R,loader:F};const V={required:"Ce champ est obligatoire.",date:{badInput:"Le format de la date doit être du type {pattern}",min:"La date ne peut pas être antérieure au {min}",max:"La date ne peut pas être postérieure au {max}",minMax:"La date doit être comprise entre le {min} et le {max}"},numeric:{min:"La valeur ne peut pas être inférieure à {min}",max:"La valeur ne peut pas être supérieure à {max}",minMax:"La valeur doit être comprise entre {min} et {max}"}};const j="{counter} caractères disponibles.";const E={select:{placeholder:"Sélectionnez une valeur"},checkbox:{selectedValues:"{nb} valeurs selectionnées",selectedValue:"{nb} valeur selectionnée",editButton:"Modifier",selectButton:"Sélectionner des valeurs",showButton:"Voir",label:"Saisissez une valeur",result:"résultat",results:"résultats",searchResults:"List de résultat(s) de la recherche.",noResult:"Aucun résultat.",sections:{selected:{title:"Sélectionné",titlePlurial:"Sélectionnés",action:"Tout désélectionner",tooltip:"Désélectionne tous les résultats de la recherche en cours"},notSelected:{title:"Non sélectionné",titlePlurial:"Non sélectionnés",action:"Tout sélectionner",tooltip:"Sélectionne tous les résultats de la recherche en cours"}}},date:{helpText:"Format attendu : {pattern} (ex : {date})",pattern:{dd:"jj",mm:"mm",yyyy:"aaaa"}},password:{display:"Afficher le mot de passe",hide:"Masquer le mot de passe"}};const O={required:'Les champs marqués d\'un <strong class="mg-u-is-asterisk">*</strong> sont obligatoires',requiredSingle:'Le champ marqué d\'un <strong class="mg-u-is-asterisk">*</strong> est obligatoire',allRequired:"Tous les champs sont obligatoires",allRequiredSingle:"Le champ est obligatoire"};const U={closeButton:"Fermer le message"};const z={closeButton:"Fermer la modale"};const $={label:"Pagination",page:"page",pages:"pages",nextPage:"Page suivante",previousPage:"Page précédente",selectPage:"Sélectionner la page à afficher."};const H={editLabel:"Modifier le titre de la section."};const Q={navLabel:"Accès rapide"};const W={confirm:"Valider",cancel:"Annuler",close:"Fermer",next:"suivant",previous:"précédent"};const _={badgeLabel:"Notification(s) incluse(s)",openNewTab:"Ouvrir le lien dans un nouvel onglet"};const G={menuLabel:"Menu complémentaire"};const J={label:"Actions"};const K={inProgess:"Chargement en cours…"};const X={errors:V,nbCharLeft:j,input:E,form:O,message:U,modal:z,pagination:$,panel:H,skipLinks:Q,general:W,menuItem:_,itemMore:G,actionMore:J,loader:K};const Y="en";const Z={en:D,fr:X};const ee=L(Z,Y);export{d as B,o as D,l as F,n as M,m as N,r as O,g as P,a as R,p as U,h as W,i as _,y as d,x as g,ee as i,v as q,f as z};
|
|
2
|
-
//# sourceMappingURL=p-3ebe6845.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ie","Object","defineProperty","ce","t","e","n","enumerable","configurable","writable","value","p","Re","Uint8Array","crypto","getRandomValues","s","Array","from","map","r","toString","padStart","join","slice","Me","constructor","this","has","classes","push","indexOf","splice","includes","Oe","isArray","every","Fe","tagName","toLowerCase","De","_e","I","X","self","top","parent","console","error","frames","length","Be","trim","Ne","toLocaleLowerCase","normalize","replaceAll","Ue","async","Pe","pattern","ge","replace","We","toISOString","split","ue","closest","Intl","NumberFormat","supportedLocalesOf","lang","l","navigator","language","o","shift","locale","messages","ze","style","currency","format","qe","de","test","DateTimeFormat","Date","we","defaultLocale","en","fr","initLocales","defineLocales"],"sources":["../stencil-helpers/dist/index.es.js","src/locales/index.ts"],"sourcesContent":["var ie = Object.defineProperty;\nvar ce = (t, e, n) => e in t ? ie(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;\nvar p = (t, e, n) => (ce(t, typeof e != \"symbol\" ? e + \"\" : e, n), n);\nconst Re = (t = \"\", e = 10) => {\n const n = new Uint8Array(e);\n crypto.getRandomValues(n);\n const s = Array.from(n).map((r) => r.toString(16).padStart(2, \"0\")).join(\"\").slice(0, e);\n return t !== \"\" ? `${t}-${s}` : s;\n};\nclass Me {\n constructor(e = []) {\n /**\n * Available classes\n */\n p(this, \"classes\");\n /**\n * Add class\n * @param className - class name to add\n */\n p(this, \"add\", (e) => {\n this.has(e) || this.classes.push(e);\n });\n /**\n * Delete class\n * @param className - class name to delete\n */\n p(this, \"delete\", (e) => {\n const n = this.classes.indexOf(e);\n n > -1 && this.classes.splice(n, 1);\n });\n /**\n * Check if class exist in list\n * @param className - class name to check\n * @returns class name is in the list\n */\n p(this, \"has\", (e) => this.classes.includes(e));\n /**\n * Join classes seperated by spaces\n * @returns joined values\n */\n p(this, \"join\", () => this.classes.join(\" \"));\n this.classes = e;\n }\n}\nconst Oe = (t) => Array.isArray(t) && t.every((e) => typeof e == \"string\"), Fe = (t, e) => e.includes(t == null ? void 0 : t.tagName.toLowerCase()), De = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), [identifier], mg-button', _e = (t) => {\n const e = I(t), n = X(t);\n return [t, ...e, ...n];\n}, I = (t, e = []) => {\n if (t.self !== t.top)\n try {\n const n = t.parent;\n return n ? (e.push(n), I(n, e)) : e;\n } catch (n) {\n return console.error(\"Different hosts between iframes:\", n), e;\n }\n return e;\n}, X = (t, e = []) => {\n if (t.frames.length > 0)\n for (const n of Array.from(t.frames))\n e.push(n), X(n, e);\n return e;\n}, Be = (t) => typeof t == \"string\" && t.trim() !== \"\", Ne = (t) => typeof t == \"string\" ? t.toLocaleLowerCase().normalize(\"NFD\").replaceAll(/[\\u0300-\\u036f]/g, \"\") : t, Ue = async (t) => t(), K = (t, e) => {\n if (!e)\n return;\n const n = e.split(\"/\");\n return `${t}${n.slice(2, n.length - 1).join(\"-\")}--docs`;\n}, ae = (t, e) => {\n if (e)\n return `${t}${e}`;\n}, Q = (t) => {\n let e = t.overview ? `${t.overview}\n\n` : \"\";\n const n = t.props.filter(({ attr: r }) => r !== void 0);\n n.length && (e += `Attributes:\n`, e += n.map(({ attr: r, docs: l }) => `- \\`${r}\\`: ${l}\n`).join(\"\"), e += `\n`);\n const s = t.props.filter(({ attr: r }) => r === void 0);\n return s.length && (e += `Properties:\n`, e += s.map(({ name: r, docs: l }) => `- \\`${r}\\`: ${l}\n`).join(\"\"), e += `\n`), t.methods.length && (e += `Methods:\n`, e += t.methods.map(({ name: r, docs: l }) => `- \\`${r}\\`: ${l}\n`).join(\"\"), e += `\n`), t.events.length && (e += `Events:\n`, e += t.events.map(({ event: r, docs: l }) => `- \\`${r}\\`: ${l}\n`).join(\"\"), e += `\n`), t.listeners.length && (e += `Listeners:\n`, e += t.listeners.map(({ event: r }) => `- \\`${r}\\`\n`).join(\"\"), e += `\n`), t.slots.length && (e += `Slots:\n`, e += t.slots.map(({ name: r, docs: l }) => `- \\`${r}\\`: ${l}\n`).join(\"\"), e += `\n`), e;\n}, F = (t) => `${t.docs}\n\nType: \\`${t.type}\\``, Ce = (t, e, n, s) => ({\n $schema: \"https://json.schemastore.org/web-types\",\n name: t,\n version: e,\n \"description-markup\": \"markdown\",\n contributions: {\n html: {\n elements: n.components.map((r) => {\n const l = K(s, r.filePath);\n return {\n name: r.tag,\n description: Q(r),\n \"doc-url\": l,\n attributes: r.props.filter((o) => o.attr).map((o) => ({\n name: o.attr,\n description: F(o),\n \"doc-url\": l,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n js: {\n properties: r.props.map((o) => ({\n name: o.name,\n description: F(o),\n \"doc-url\": l,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n events: r.events.map((o) => ({\n name: o.event,\n description: o.docs\n }))\n }\n };\n })\n }\n }\n}), fe = (t, e, n) => {\n if (n)\n return [\n { name: \"Storybook\", url: K(t, n) },\n { name: \"Sources\", url: ae(e, n) }\n ];\n}, $e = (t) => {\n if (!t.values.some(({ value: e }) => e === void 0))\n return t.values.map(({ value: e }) => ({ name: e }));\n}, He = (t, e, n, s) => ({\n version: t,\n tags: e.components.map((r) => {\n const l = fe(n, s, r.filePath);\n return {\n name: r.tag,\n description: Q(r),\n attributes: r.props.map((o) => ({\n name: o.attr || o.name,\n description: F(o),\n values: $e(o),\n references: l\n })),\n references: l\n };\n }),\n globalAttributes: [],\n valueSets: []\n}), Pe = (t) => {\n const e = { value: \"2023\", pattern: \"yyyy\" }, n = { value: \"12\", pattern: \"mm\" }, s = { value: \"24\", pattern: \"dd\" };\n return ge([e.value, n.value, s.value].join(\"-\"), t).replace(e.value, e.pattern).replace(n.value, n.pattern).replace(s.value, s.pattern);\n}, We = (t) => t.toISOString().split(\"T\")[0], ue = (t, e, n) => {\n const s = t.closest(\"[lang]\"), r = Intl.NumberFormat.supportedLocalesOf(s == null ? void 0 : s.lang), l = r.length > 0 && typeof r[0] == \"string\" ? r[0] : navigator.language || n, o = l.split(\"-\").shift();\n return {\n locale: l,\n messages: e[o] || e[n]\n };\n}, ze = (t, e, n) => new Intl.NumberFormat(e, { style: \"currency\", currency: n }).format(t), qe = (t, e) => new Intl.NumberFormat(e).format(t), de = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/, ge = (t, e) => typeof t != \"string\" || t === \"\" || !de.test(t) ? \"\" : new Intl.DateTimeFormat(e).format(new Date(t)), we = (t, e) => (n) => ue(n, t, e), _ = {\n allRenderFn: !1,\n cmpDidLoad: !0,\n cmpDidUnload: !1,\n cmpDidUpdate: !0,\n cmpDidRender: !0,\n cmpWillLoad: !0,\n cmpWillUpdate: !0,\n cmpWillRender: !0,\n connectedCallback: !0,\n disconnectedCallback: !0,\n element: !0,\n event: !0,\n hasRenderFn: !0,\n lifecycle: !0,\n hostListener: !0,\n hostListenerTargetWindow: !0,\n hostListenerTargetDocument: !0,\n hostListenerTargetBody: !0,\n hostListenerTargetParent: !1,\n hostListenerTarget: !0,\n member: !0,\n method: !0,\n mode: !0,\n observeAttribute: !0,\n prop: !0,\n propMutable: !0,\n reflect: !0,\n scoped: !0,\n shadowDom: !0,\n slot: !0,\n cssAnnotations: !0,\n state: !0,\n style: !0,\n formAssociated: !1,\n svg: !0,\n updatable: !0,\n vdomAttribute: !0,\n vdomXlink: !0,\n vdomClass: !0,\n vdomFunctional: !0,\n vdomKey: !0,\n vdomListener: !0,\n vdomRef: !0,\n vdomPropOrAttr: !0,\n vdomRender: !0,\n vdomStyle: !0,\n vdomText: !0,\n watchCallback: !0,\n taskQueue: !0,\n hotModuleReplacement: !1,\n isDebug: !1,\n isDev: !1,\n isTesting: !1,\n hydrateServerSide: !1,\n hydrateClientSide: !1,\n lifecycleDOMEvents: !1,\n lazyLoad: !1,\n profile: !1,\n slotRelocation: !0,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n appendChildSlotFix: !1,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n cloneNodeFix: !1,\n hydratedAttribute: !1,\n hydratedClass: !0,\n scriptDataOpts: !1,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n scopedSlotTextContentFix: !1,\n // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n shadowDomShim: !1,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n slotChildNodesFix: !1,\n invisiblePrehydration: !0,\n propBoolean: !0,\n propNumber: !0,\n propString: !0,\n constructableCSS: !0,\n cmpShouldUpdate: !0,\n devTools: !1,\n shadowDelegatesFocus: !0,\n initializeNextTick: !1,\n asyncLoading: !1,\n asyncQueue: !1,\n transformTagName: !1,\n attachStyles: !0,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n experimentalSlotFixes: !1\n};\nlet k, D, m, B = !1, R = !1, N = !1, h = !1;\nconst H = \"http://www.w3.org/1999/xlink\", P = {}, pe = \"http://www.w3.org/2000/svg\", he = \"http://www.w3.org/1999/xhtml\", ye = (t) => t != null, J = (t) => (t = typeof t, t === \"object\" || t === \"function\"), Y = (t, e, ...n) => {\n let s = null, r = null, l = null, o = !1, c = !1;\n const i = [], d = (a) => {\n for (let $ = 0; $ < a.length; $++)\n s = a[$], Array.isArray(s) ? d(s) : s != null && typeof s != \"boolean\" && ((o = typeof t != \"function\" && !J(s)) && (s = String(s)), o && c ? i[i.length - 1].$text$ += s : i.push(o ? M(null, s) : s), c = o);\n };\n if (d(n), e) {\n e.key && (r = e.key), e.name && (l = e.name);\n {\n const a = e.className || e.class;\n a && (e.class = typeof a != \"object\" ? a : Object.keys(a).filter(($) => a[$]).join(\" \"));\n }\n }\n if (typeof t == \"function\")\n return t(e === null ? {} : e, i, Se);\n const u = M(t, null);\n return u.$attrs$ = e, i.length > 0 && (u.$children$ = i), u.$key$ = r, u.$name$ = l, u;\n}, M = (t, e) => {\n const n = {\n $flags$: 0,\n $tag$: t,\n $text$: e,\n $elm$: null,\n $children$: null\n };\n return n.$attrs$ = null, n.$key$ = null, n.$name$ = null, n;\n}, ve = {}, be = (t) => t && t.$tag$ === ve, Se = {\n forEach: (t, e) => t.map(W).forEach(e),\n map: (t, e) => t.map(W).map(e).map(ke)\n}, W = (t) => ({\n vattrs: t.$attrs$,\n vchildren: t.$children$,\n vkey: t.$key$,\n vname: t.$name$,\n vtag: t.$tag$,\n vtext: t.$text$\n}), ke = (t) => {\n if (typeof t.vtag == \"function\") {\n const n = Object.assign({}, t.vattrs);\n return t.vkey && (n.key = t.vkey), t.vname && (n.name = t.vname), Y(t.vtag, n, ...t.vchildren || []);\n }\n const e = M(t.vtag, t.vtext);\n return e.$attrs$ = t.vattrs, e.$children$ = t.vchildren, e.$key$ = t.vkey, e.$name$ = t.vname, e;\n}, z = (t, e, n, s, r, l) => {\n if (n !== s) {\n let o = G(t, e), c = e.toLowerCase();\n if (e === \"class\") {\n const i = t.classList, d = q(n), u = q(s);\n i.remove(...d.filter((a) => a && !u.includes(a))), i.add(...u.filter((a) => a && !d.includes(a)));\n } else if (e === \"style\") {\n for (const i in n)\n (!s || s[i] == null) && (i.includes(\"-\") ? t.style.removeProperty(i) : t.style[i] = \"\");\n for (const i in s)\n (!n || s[i] !== n[i]) && (i.includes(\"-\") ? t.style.setProperty(i, s[i]) : t.style[i] = s[i]);\n } else if (e !== \"key\")\n if (e === \"ref\")\n s && s(t);\n else if (!t.__lookupSetter__(e) && e[0] === \"o\" && e[1] === \"n\") {\n if (e[2] === \"-\" ? e = e.slice(3) : G(C, c) ? e = c.slice(2) : e = c[2] + e.slice(3), n || s) {\n const i = e.endsWith(Z);\n e = e.replace(me, \"\"), n && x.rel(t, e, n, i), s && x.ael(t, e, s, i);\n }\n } else {\n const i = J(s);\n if ((o || i && s !== null) && !r)\n try {\n if (t.tagName.includes(\"-\"))\n t[e] = s;\n else {\n const u = s ?? \"\";\n e === \"list\" ? o = !1 : (n == null || t[e] != u) && (t[e] = u);\n }\n } catch {\n }\n let d = !1;\n c !== (c = c.replace(/^xlink\\:?/, \"\")) && (e = c, d = !0), s == null || s === !1 ? (s !== !1 || t.getAttribute(e) === \"\") && (d ? t.removeAttributeNS(H, e) : t.removeAttribute(e)) : (!o || l & 4 || r) && !i && (s = s === !0 ? \"\" : s, d ? t.setAttributeNS(H, e, s) : t.setAttribute(e, s));\n }\n }\n}, Te = /\\s/, q = (t) => t ? t.split(Te) : [], Z = \"Capture\", me = new RegExp(Z + \"$\"), V = (t, e, n, s) => {\n const r = e.$elm$.nodeType === 11 && e.$elm$.host ? e.$elm$.host : e.$elm$, l = t && t.$attrs$ || P, o = e.$attrs$ || P;\n for (s in l)\n s in o || z(r, s, l[s], void 0, n, e.$flags$);\n for (s in o)\n z(r, s, l[s], o[s], n, e.$flags$);\n}, O = (t, e, n, s) => {\n var r;\n const l = e.$children$[n];\n let o = 0, c, i, d;\n if (B || (N = !0, l.$tag$ === \"slot\" && (k && s.classList.add(k + \"-s\"), l.$flags$ |= l.$children$ ? (\n // slot element has fallback content\n 2\n ) : (\n // slot element does not have fallback content\n 1\n ))), l.$text$ !== null)\n c = l.$elm$ = j.createTextNode(l.$text$);\n else if (l.$flags$ & 1)\n c = l.$elm$ = j.createTextNode(\"\");\n else {\n if (h || (h = l.$tag$ === \"svg\"), c = l.$elm$ = j.createElementNS(h ? pe : he, l.$flags$ & 2 ? \"slot-fb\" : l.$tag$), h && l.$tag$ === \"foreignObject\" && (h = !1), V(null, l, h), ye(k) && c[\"s-si\"] !== k && c.classList.add(c[\"s-si\"] = k), l.$children$)\n for (o = 0; o < l.$children$.length; ++o)\n i = O(t, l, o, c), i && c.appendChild(i);\n l.$tag$ === \"svg\" ? h = !1 : c.tagName === \"foreignObject\" && (h = !0);\n }\n return c[\"s-hn\"] = m, l.$flags$ & 3 && (c[\"s-sr\"] = !0, c[\"s-cr\"] = D, c[\"s-sn\"] = l.$name$ || \"\", c[\"s-rf\"] = (r = l.$attrs$) === null || r === void 0 ? void 0 : r.ref, d = t && t.$children$ && t.$children$[n], d && d.$tag$ === l.$tag$ && t.$elm$ && L(t.$elm$, !1)), c;\n}, L = (t, e) => {\n x.$flags$ |= 1;\n const n = Array.from(t.childNodes);\n if (t[\"s-sr\"] && _.experimentalSlotFixes) {\n let s = t;\n for (; s = s.nextSibling; )\n s && s[\"s-sn\"] === t[\"s-sn\"] && s[\"s-sh\"] === m && n.push(s);\n }\n for (let s = n.length - 1; s >= 0; s--) {\n const r = n[s];\n r[\"s-hn\"] !== m && r[\"s-ol\"] && (se(r).insertBefore(r, U(r)), r[\"s-ol\"].remove(), r[\"s-ol\"] = void 0, r[\"s-sh\"] = void 0, N = !0), e && L(r, e);\n }\n x.$flags$ &= -2;\n}, ee = (t, e, n, s, r, l) => {\n let o = t[\"s-cr\"] && t[\"s-cr\"].parentNode || t, c;\n for (o.shadowRoot && o.tagName === m && (o = o.shadowRoot); r <= l; ++r)\n s[r] && (c = O(null, n, r, t), c && (s[r].$elm$ = c, o.insertBefore(c, U(e))));\n}, te = (t, e, n) => {\n for (let s = e; s <= n; ++s) {\n const r = t[s];\n if (r) {\n const l = r.$elm$;\n le(r), l && (R = !0, l[\"s-ol\"] ? l[\"s-ol\"].remove() : L(l, !0), l.remove());\n }\n }\n}, xe = (t, e, n, s, r = !1) => {\n let l = 0, o = 0, c = 0, i = 0, d = e.length - 1, u = e[0], a = e[d], $ = s.length - 1, f = s[0], g = s[$], v, y;\n for (; l <= d && o <= $; )\n if (u == null)\n u = e[++l];\n else if (a == null)\n a = e[--d];\n else if (f == null)\n f = s[++o];\n else if (g == null)\n g = s[--$];\n else if (E(u, f, r))\n T(u, f, r), u = e[++l], f = s[++o];\n else if (E(a, g, r))\n T(a, g, r), a = e[--d], g = s[--$];\n else if (E(u, g, r))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && L(u.$elm$.parentNode, !1), T(u, g, r), t.insertBefore(u.$elm$, a.$elm$.nextSibling), u = e[++l], g = s[--$];\n else if (E(a, f, r))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && L(a.$elm$.parentNode, !1), T(a, f, r), t.insertBefore(a.$elm$, u.$elm$), a = e[--d], f = s[++o];\n else {\n for (c = -1, i = l; i <= d; ++i)\n if (e[i] && e[i].$key$ !== null && e[i].$key$ === f.$key$) {\n c = i;\n break;\n }\n c >= 0 ? (y = e[c], y.$tag$ !== f.$tag$ ? v = O(e && e[o], n, c, t) : (T(y, f, r), e[c] = void 0, v = y.$elm$), f = s[++o]) : (v = O(e && e[o], n, o, t), f = s[++o]), v && se(u.$elm$).insertBefore(v, U(u.$elm$));\n }\n l > d ? ee(t, s[$ + 1] == null ? null : s[$ + 1].$elm$, n, s, o, $) : o > $ && te(e, l, d);\n}, E = (t, e, n = !1) => t.$tag$ === e.$tag$ ? t.$tag$ === \"slot\" ? t.$name$ === e.$name$ : n ? !0 : t.$key$ === e.$key$ : !1, U = (t) => t && t[\"s-ol\"] || t, se = (t) => (t[\"s-ol\"] ? t[\"s-ol\"] : t).parentNode, T = (t, e, n = !1) => {\n const s = e.$elm$ = t.$elm$, r = t.$children$, l = e.$children$, o = e.$tag$, c = e.$text$;\n let i;\n c === null ? (h = o === \"svg\" ? !0 : o === \"foreignObject\" ? !1 : h, o === \"slot\" && !B || V(t, e, h), r !== null && l !== null ? xe(s, r, e, l, n) : l !== null ? (t.$text$ !== null && (s.textContent = \"\"), ee(s, null, e, l, 0, l.length - 1)) : r !== null && te(r, 0, r.length - 1), h && o === \"svg\" && (h = !1)) : (i = s[\"s-cr\"]) ? i.parentNode.textContent = c : t.$text$ !== c && (s.data = c);\n}, ne = (t) => {\n const e = t.childNodes;\n for (const n of e)\n if (n.nodeType === 1) {\n if (n[\"s-sr\"]) {\n const s = n[\"s-sn\"];\n n.hidden = !1;\n for (const r of e)\n if (r !== n) {\n if (r[\"s-hn\"] !== n[\"s-hn\"] || s !== \"\") {\n if (r.nodeType === 1 && (s === r.getAttribute(\"slot\") || s === r[\"s-sn\"])) {\n n.hidden = !0;\n break;\n }\n } else if (r.nodeType === 1 || r.nodeType === 3 && r.textContent.trim() !== \"\") {\n n.hidden = !0;\n break;\n }\n }\n }\n ne(n);\n }\n}, b = [], re = (t) => {\n let e, n, s;\n for (const r of t.childNodes) {\n if (r[\"s-sr\"] && (e = r[\"s-cr\"]) && e.parentNode) {\n n = e.parentNode.childNodes;\n const l = r[\"s-sn\"];\n for (s = n.length - 1; s >= 0; s--)\n if (e = n[s], !e[\"s-cn\"] && !e[\"s-nr\"] && e[\"s-hn\"] !== r[\"s-hn\"] && !_.experimentalSlotFixes)\n if (w(e, l)) {\n let o = b.find((c) => c.$nodeToRelocate$ === e);\n R = !0, e[\"s-sn\"] = e[\"s-sn\"] || l, o ? (o.$nodeToRelocate$[\"s-sh\"] = r[\"s-hn\"], o.$slotRefNode$ = r) : (e[\"s-sh\"] = r[\"s-hn\"], b.push({\n $slotRefNode$: r,\n $nodeToRelocate$: e\n })), e[\"s-sr\"] && b.map((c) => {\n w(c.$nodeToRelocate$, e[\"s-sn\"]) && (o = b.find((i) => i.$nodeToRelocate$ === e), o && !c.$slotRefNode$ && (c.$slotRefNode$ = o.$slotRefNode$));\n });\n } else\n b.some((o) => o.$nodeToRelocate$ === e) || b.push({\n $nodeToRelocate$: e\n });\n }\n r.nodeType === 1 && re(r);\n }\n}, w = (t, e) => t.nodeType === 1 ? t.getAttribute(\"slot\") === null && e === \"\" || t.getAttribute(\"slot\") === e : t[\"s-sn\"] === e ? !0 : e === \"\", le = (t) => {\n t.$attrs$ && t.$attrs$.ref && t.$attrs$.ref(null), t.$children$ && t.$children$.map(le);\n}, Le = (t, e, n = !1) => {\n var s, r, l, o, c;\n const i = t.$hostElement$, d = t.$cmpMeta$, u = t.$vnode$ || M(null, null), a = be(e) ? e : Y(null, null, e);\n if (m = i.tagName, d.$attrsToReflect$ && (a.$attrs$ = a.$attrs$ || {}, d.$attrsToReflect$.map(([$, f]) => a.$attrs$[f] = i[$])), n && a.$attrs$)\n for (const $ of Object.keys(a.$attrs$))\n i.hasAttribute($) && ![\"key\", \"ref\", \"style\", \"class\"].includes($) && (a.$attrs$[$] = i[$]);\n a.$tag$ = null, a.$flags$ |= 4, t.$vnode$ = a, a.$elm$ = u.$elm$ = i.shadowRoot || i, k = i[\"s-sc\"], B = (d.$flags$ & 1) !== 0, D = i[\"s-cr\"], R = !1, T(u, a, n);\n {\n if (x.$flags$ |= 1, N) {\n re(a.$elm$);\n for (const $ of b) {\n const f = $.$nodeToRelocate$;\n if (!f[\"s-ol\"]) {\n const g = j.createTextNode(\"\");\n g[\"s-nr\"] = f, f.parentNode.insertBefore(f[\"s-ol\"] = g, f);\n }\n }\n for (const $ of b) {\n const f = $.$nodeToRelocate$, g = $.$slotRefNode$;\n if (g) {\n const v = g.parentNode;\n let y = g.nextSibling;\n {\n let A = (s = f[\"s-ol\"]) === null || s === void 0 ? void 0 : s.previousSibling;\n for (; A; ) {\n let S = (r = A[\"s-nr\"]) !== null && r !== void 0 ? r : null;\n if (S && S[\"s-sn\"] === f[\"s-sn\"] && v === S.parentNode && (S = S.nextSibling, !S || !S[\"s-nr\"])) {\n y = S;\n break;\n }\n A = A.previousSibling;\n }\n }\n (!y && v !== f.parentNode || f.nextSibling !== y) && f !== y && (!f[\"s-hn\"] && f[\"s-ol\"] && (f[\"s-hn\"] = f[\"s-ol\"].parentNode.nodeName), v.insertBefore(f, y), f.nodeType === 1 && (f.hidden = (l = f[\"s-ih\"]) !== null && l !== void 0 ? l : !1)), f && typeof g[\"s-rf\"] == \"function\" && g[\"s-rf\"](f);\n } else\n f.nodeType === 1 && (n && (f[\"s-ih\"] = (o = f.hidden) !== null && o !== void 0 ? o : !1), f.hidden = !0);\n }\n }\n R && ne(a.$elm$), x.$flags$ &= -2, b.length = 0;\n }\n if (_.experimentalScopedSlotChanges && d.$flags$ & 2)\n for (const $ of a.$elm$.childNodes)\n $[\"s-hn\"] !== m && !$[\"s-sh\"] && (n && $[\"s-ih\"] == null && ($[\"s-ih\"] = (c = $.hidden) !== null && c !== void 0 ? c : !1), $.hidden = !0);\n D = void 0;\n}, G = (t, e) => e in t, C = typeof window < \"u\" ? window : {}, j = C.document || { head: {} };\nC.HTMLElement;\nconst x = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (t) => t(),\n raf: (t) => requestAnimationFrame(t),\n ael: (t, e, n, s) => t.addEventListener(e, n, s),\n rel: (t, e, n, s) => t.removeEventListener(e, n, s),\n ce: (t, e) => new CustomEvent(t, e)\n}, Ae = (t, e, n) => {\n [null, void 0, \"\", !1].includes(n) || [\"innerHTML\", \"style\"].includes(e) || t.setAttribute(e, [\"object\", \"function\"].includes(typeof n) ? \"/!\\\\ Object props are not rendered in the code example\" : n);\n}, oe = (t, e, n, s, r) => {\n if (e && typeof e == \"string\") {\n const l = document.createElement(e);\n Object.keys(n || {}).forEach((o) => {\n Ae(l, o, n[o]);\n }), s == null || s.forEach((o) => {\n oe(l, o.$tag$, o.$attrs$, o.$children$, o.$text$);\n }), n != null && n.innerHTML && (l.innerHTML = n.innerHTML), t.appendChild(l);\n }\n r && (t.innerHTML = r);\n}, Ge = (t, e) => {\n const n = {};\n if (typeof t != \"object\")\n throw new Error(\"filterArgs - args isn't an object.\");\n for (const s in t)\n if (!s.startsWith(\"slot\")) {\n const r = t[s], l = s.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n (!e || !Object.keys(e).includes(s) || e[s] !== r) && (n[l] = r);\n }\n return n;\n}, Ie = (t, e) => {\n var s, r;\n const n = document.getElementById(\"storybook-root\");\n if (n)\n return (r = document.querySelector(\"[lang]\")) == null || r.setAttribute(\"lang\", ((s = e.globals) == null ? void 0 : s.locale) || \"en\"), Le(\n {\n $ancestorComponent$: void 0,\n $flags$: 0,\n $modeName$: void 0,\n $cmpMeta$: {\n $flags$: 0,\n $tagName$: n.tagName\n },\n $hostElement$: n\n },\n t(e)\n ), n.children[n.children.length - 1];\n}, Xe = ({ $tag$: t, $attrs$: e, $children$: n, $text$: s }) => {\n const r = document.createElement(\"div\");\n return oe(r, t, e, n, s), r.innerHTML;\n}, Ke = ({ disconnect: t, observe: e, takeRecords: n }) => {\n class s {\n constructor(l) {\n /**\n *\n */\n p(this, \"disconnect\", t);\n /**\n *\n */\n p(this, \"observe\", e);\n /**\n *\n */\n p(this, \"takeRecords\", n);\n /**\n *\n */\n p(this, \"cb\");\n this.cb = l;\n }\n }\n return [window, global].forEach((r) => {\n Object.defineProperty(r, \"MutationObserver\", {\n writable: !0,\n configurable: !0,\n value: s\n });\n }), s;\n}, Qe = ({ disconnect: t, observe: e }) => {\n class n {\n constructor(r) {\n /**\n *\n */\n p(this, \"disconnect\", t);\n /**\n *\n */\n p(this, \"observe\", e);\n /**\n *\n */\n p(this, \"unobserve\");\n /**\n *\n */\n p(this, \"cb\");\n this.cb = r;\n }\n }\n return [window, global].forEach((s) => {\n Object.defineProperty(s, \"ResizeObserver\", {\n writable: !0,\n configurable: !0,\n value: n\n });\n }), n;\n};\nclass Ee extends Event {\n constructor() {\n super(...arguments);\n /**\n *\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n p(this, \"detail\");\n }\n}\nconst Je = () => {\n class t extends Ee {\n }\n return [window, global].forEach((e) => {\n Object.defineProperty(e, \"SubmitEvent\", {\n writable: !0,\n configurable: !0,\n value: t\n });\n }), t;\n};\nexport {\n Me as ClassList,\n Oe as allItemsAreString,\n Ne as cleanString,\n Re as createID,\n de as dateRegExp,\n We as dateToString,\n we as defineLocales,\n Ge as filterArgs,\n De as focusableElements,\n Pe as getLocaleDatePattern,\n I as getParentWindows,\n Xe as getStoryHTML,\n _e as getWindows,\n Fe as isTagName,\n Be as isValidString,\n ze as localeCurrency,\n ge as localeDate,\n qe as localeNumber,\n Ue as nextTick,\n Ke as setupMutationObserverMock,\n Qe as setupResizeObserverMock,\n Je as setupSubmitEventMock,\n Ie as stencilWrapper,\n He as vsCodeGenerator,\n Ce as webTypesGenerator\n};\n//# sourceMappingURL=index.es.js.map\n","import en from './en/messages.json';\nimport fr from './fr/messages.json';\nimport { defineLocales } from '@mgdis/stencil-helpers';\n\nconst defaultLocale = 'en';\nconst messages = { en, fr };\n\n/**\n * Get Intl object\n * @param element - element we need to get the language\n * @returns messages object\n */\nexport const initLocales = defineLocales(messages, defaultLocale);\n"],"mappings":"AAAA,IAAIA,EAAKC,OAAOC,eAChB,IAAIC,EAAK,CAACC,EAAGC,EAAGC,IAAMD,KAAKD,EAAIJ,EAAGI,EAAGC,EAAG,CAAEE,YAAa,EAAGC,cAAe,EAAGC,UAAW,EAAGC,MAAOJ,IAAOF,EAAEC,GAAKC,EAC/G,IAAIK,EAAI,CAACP,EAAGC,EAAGC,KAAOH,EAAGC,SAAUC,GAAK,SAAWA,EAAI,GAAKA,EAAGC,GAAIA,GAC9D,MAACM,EAAK,CAACR,EAAI,GAAIC,EAAI,MACtB,MAAMC,EAAI,IAAIO,WAAWR,GACzBS,OAAOC,gBAAgBT,GACvB,MAAMU,EAAIC,MAAMC,KAAKZ,GAAGa,KAAKC,GAAMA,EAAEC,SAAS,IAAIC,SAAS,EAAG,OAAMC,KAAK,IAAIC,MAAM,EAAGnB,GACtF,OAAOD,IAAM,GAAK,GAAGA,KAAKY,IAAMA,CAAC,EAEnC,MAAMS,EACJ,WAAAC,CAAYrB,EAAI,IAIdM,EAAEgB,KAAM,WAKRhB,EAAEgB,KAAM,OAAQtB,IACdsB,KAAKC,IAAIvB,IAAMsB,KAAKE,QAAQC,KAAKzB,EAAE,IAMrCM,EAAEgB,KAAM,UAAWtB,IACjB,MAAMC,EAAIqB,KAAKE,QAAQE,QAAQ1B,GAC/BC,GAAK,GAAKqB,KAAKE,QAAQG,OAAO1B,EAAG,EAAE,IAOrCK,EAAEgB,KAAM,OAAQtB,GAAMsB,KAAKE,QAAQI,SAAS5B,KAK5CM,EAAEgB,KAAM,QAAQ,IAAMA,KAAKE,QAAQN,KAAK,OACxCI,KAAKE,QAAUxB,CACnB,EAEK,MAAC6B,EAAM9B,GAAMa,MAAMkB,QAAQ/B,IAAMA,EAAEgC,OAAO/B,UAAaA,GAAK,WAAWgC,EAAK,CAACjC,EAAGC,IAAMA,EAAE4B,SAAS7B,GAAK,UAAY,EAAIA,EAAEkC,QAAQC,eAAgBC,EAAK,8GAA+GC,EAAMrC,IAC7Q,MAAMC,EAAIqC,EAAEtC,GAAIE,EAAIqC,EAAEvC,GACtB,MAAO,CAACA,KAAMC,KAAMC,EAAE,EACrBoC,EAAI,CAACtC,EAAGC,EAAI,MACb,GAAID,EAAEwC,OAASxC,EAAEyC,IACf,IACE,MAAMvC,EAAIF,EAAE0C,OACZ,OAAOxC,GAAKD,EAAEyB,KAAKxB,GAAIoC,EAAEpC,EAAGD,IAAMA,CACxC,CAAM,MAAOC,GACP,OAAOyC,QAAQC,MAAM,mCAAoC1C,GAAID,CACnE,CACE,OAAOA,CAAC,EACPsC,EAAI,CAACvC,EAAGC,EAAI,MACb,GAAID,EAAE6C,OAAOC,OAAS,EACpB,IAAK,MAAM5C,KAAKW,MAAMC,KAAKd,EAAE6C,QAC3B5C,EAAEyB,KAAKxB,GAAIqC,EAAErC,EAAGD,GACpB,OAAOA,CAAC,EACP8C,EAAM/C,UAAaA,GAAK,UAAYA,EAAEgD,SAAW,GAAIC,EAAMjD,UAAaA,GAAK,SAAWA,EAAEkD,oBAAoBC,UAAU,OAAOC,WAAW,mBAAoB,IAAMpD,EAAGqD,EAAKC,MAAOtD,GAAMA,IA0GxLuD,EAAMvD,IACR,MAAMC,EAAI,CAAEK,MAAO,OAAQkD,QAAS,QAAUtD,EAAI,CAAEI,MAAO,KAAMkD,QAAS,MAAQ5C,EAAI,CAAEN,MAAO,KAAMkD,QAAS,MAC9G,OAAOC,EAAG,CAACxD,EAAEK,MAAOJ,EAAEI,MAAOM,EAAEN,OAAOa,KAAK,KAAMnB,GAAG0D,QAAQzD,EAAEK,MAAOL,EAAEuD,SAASE,QAAQxD,EAAEI,MAAOJ,EAAEsD,SAASE,QAAQ9C,EAAEN,MAAOM,EAAE4C,QAAQ,EACtIG,EAAM3D,GAAMA,EAAE4D,cAAcC,MAAM,KAAK,GAAIC,EAAK,CAAC9D,EAAGC,EAAGC,KACxD,MAAMU,EAAIZ,EAAE+D,QAAQ,UAAW/C,EAAIgD,KAAKC,aAAaC,mBAAmBtD,GAAK,UAAY,EAAIA,EAAEuD,MAAOC,EAAIpD,EAAE8B,OAAS,UAAY9B,EAAE,IAAM,SAAWA,EAAE,GAAKqD,UAAUC,UAAYpE,EAAGqE,EAAIH,EAAEP,MAAM,KAAKW,QACrM,MAAO,CACLC,OAAQL,EACRM,SAAUzE,EAAEsE,IAAMtE,EAAEC,GACrB,EACAyE,EAAK,CAAC3E,EAAGC,EAAGC,IAAM,IAAI8D,KAAKC,aAAahE,EAAG,CAAE2E,MAAO,WAAYC,SAAU3E,IAAK4E,OAAO9E,GAAI+E,EAAK,CAAC/E,EAAGC,IAAM,IAAI+D,KAAKC,aAAahE,GAAG6E,OAAO9E,GAAIgF,EAAK,gDAAiDvB,EAAK,CAACzD,EAAGC,WAAaD,GAAK,UAAYA,IAAM,KAAOgF,EAAGC,KAAKjF,GAAK,GAAK,IAAIgE,KAAKkB,eAAejF,GAAG6E,OAAO,IAAIK,KAAKnF,IAAKoF,EAAK,CAACpF,EAAGC,IAAOC,GAAM4D,EAAG5D,EAAGF,EAAGC,G,+gJC5K3V,MAAMoF,EAAgB,KACtB,MAAMX,EAAW,CAAEY,KAAIC,M,MAOVC,GAAcC,EAAcf,EAAUW,U"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i,H as e,g as s}from"./p-9dfaa41f.js";import{B as o,i as n}from"./p-3ebe6845.js";import{D as h}from"./p-fe935e54.js";const r=t=>t.nodeName==="MG-ITEM-MORE";var a;(function(t){t["BASE_INDEX"]="data-overflow-base-index";t["PROXY_INDEX"]="data-overflow-proxy-index"})(a||(a={}));class l{constructor(t,i){this.element=t;this.render=i;this.disconnect=()=>{this._resizeObserver.disconnect()};this.run=t=>{if(this._moreElement===undefined){this._moreElement=this.render();this._baseChildren=this.getInteractiveItems(this.element);if(r(this._moreElement)){this._proxyChildren=this.getInteractiveItems(this._moreElement.shadowRoot.querySelector("mg-menu"))}this._baseChildren.forEach(((t,i)=>{t.setAttribute(a.BASE_INDEX,`${i}`);this._proxyChildren[i].setAttribute(a.PROXY_INDEX,`${i}`)}))}if(t!==undefined)this.updateDisplayedItems(t)};this.getInteractiveItems=t=>{var i;return(((i=t.children)===null||i===void 0?void 0:i.length)>0?Array.from(t.children):[]).filter((t=>["MG-MENU-ITEM","MG-BUTTON"].includes(t.nodeName)))};this.updateDisplayedItems=t=>{this.restoreItems();const i={accWidth:0,previousItem:null};[...this._baseChildren,this._moreElement].forEach((e=>{i.accWidth+=e.offsetWidth;const s=i.previousItem!==null;const o=s&&i.previousItem.getAttribute("hidden")!==null;this.toggleItem(e,o&&!this.isMoreElement(e)||this.isOverflowElement(i.accWidth,e,t)||this.isMoreElement(e)&&!o);i.previousItem=e}))};this.isOverflowElement=(t,i,e)=>{if(i.previousElementSibling===null||this.isMoreElement(i))return false;else if(!this.isMoreElement(i.nextElementSibling))return t+this._moreElement.offsetWidth>e;else return t>e};this.isMoreElement=t=>t.nodeName==="MG-ITEM-MORE";this.toggleItem=(t,i)=>{const e=Number(t.getAttribute(a.BASE_INDEX));if(this.isMoreElement(t))this.toggleElement(this._moreElement,i);else if(e>=0){this.toggleElement(t,i);this.toggleElement(this._proxyChildren[e],!i)}};this.toggleElement=(t,i)=>{if(i)t.setAttribute("hidden","");else t.removeAttribute("hidden")};this.restoreItems=()=>{[...this._baseChildren,this._moreElement].forEach((t=>t.removeAttribute("hidden")))};if(this._resizeObserver===undefined){this._resizeObserver=new ResizeObserver((t=>{t.forEach((t=>{this.run(t.contentRect.width)}))}));this._resizeObserver.observe(this.element)}this.run()}}const m=".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}:host:not([hidden]){display:flex}";const d=m;const c=class{constructor(i){t(this,i);this.name="mg-item-more";this.canRenderMgMenuItemOverflowElement=true;this.renderMgMenuItemOverflowElement=()=>{this.parentMenuItems.forEach((t=>{this.moreElementMenuItem.querySelector("mg-menu").appendChild(t.cloneNode(true))}));const t=Array.from(this.parentMenu.querySelectorAll("mg-menu-item:not([data-overflow-more])"));Array.from(this.moreElementMenuItem.querySelectorAll("mg-menu-item:not([data-overflow-more])")).forEach(((i,e)=>{i.addEventListener("click",(()=>{const i=t[e].shadowRoot.querySelector("a, button");if(i instanceof HTMLButtonElement||i instanceof HTMLAnchorElement)i.click()}));if(o(i.id))i.id=`${i.id}-proxy`;t[e].addEventListener("status-change",(t=>{i.setAttribute("status",t.detail)}))}));return this.element};this.icon={icon:"ellipsis-vertical"};this.slotlabel={display:false};this.size=undefined;this.parentMenu=undefined}validateIcon(t){if(typeof t!=="object"||typeof t==="object"&&typeof t.icon!=="string")throw new Error(`<${this.name}> prop "icon" must match MgItemMore['icon'] type.`)}validateSlotLabel(t){if(typeof t!=="object"||typeof t==="object"&&typeof t.display!=="boolean")throw new Error(`<${this.name}> prop "slotlabel" must match MgItemMore['slotlabel'] type.`);else if(typeof t.label!=="string")this.slotlabel.label=this.messages.menuLabel}validateSize(t){if(t&&typeof t!=="string")throw new Error(`<${this.name}> prop "size" must match MgItemMore['size'] type.`)}componentWillLoad(){this.messages=n(this.element).messages.itemMore;this.validateIcon(this.icon);this.validateSlotLabel(this.slotlabel);this.validateSize(this.size)}componentDidLoad(){return setTimeout((()=>{this.parentMenu=this.element.closest("mg-menu")}))}componentDidUpdate(){if(this.parentMenu&&this.canRenderMgMenuItemOverflowElement){this.parentMenuItems=Array.from(this.parentMenu.children).filter((t=>t.nodeName==="MG-MENU-ITEM"));this.overflowBehavior=new l(this.parentMenu,this.renderMgMenuItemOverflowElement);this.canRenderMgMenuItemOverflowElement=false}}disconnectedCallback(){var t;(t=this.overflowBehavior)===null||t===void 0?void 0:t.disconnect()}render(){return i(e,{key:"d19aa0bb690ee7ed301954913d3e056d1050dc04",role:"listitem"},this.parentMenu&&i("mg-menu-item",{"data-overflow-more":true,"data-size":this.parentMenu.size,ref:t=>{if(t)this.moreElementMenuItem=t}},i("mg-icon",{icon:this.icon.icon,slot:"image"}),i("span",{class:{"mg-u-visually-hidden":!this.slotlabel.display},slot:"label"},this.slotlabel.label),i("mg-menu",{direction:h.VERTICAL,label:this.messages.menuLabel,size:this.size})))}get element(){return s(this)}static get watchers(){return{icon:["validateIcon"],slotlabel:["validateSlotLabel"],size:["validateSize"]}}};c.style=d;export{c as mg_item_more};
|
|
2
|
-
//# sourceMappingURL=p-6735e4b2.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isMgItemMore","element","nodeName","OverflowBehaviorElements","OverflowBehavior","constructor","render","this","disconnect","_resizeObserver","run","width","_moreElement","undefined","_baseChildren","getInteractiveItems","_proxyChildren","shadowRoot","querySelector","forEach","child","index","setAttribute","BASE_INDEX","PROXY_INDEX","updateDisplayedItems","_a","children","length","Array","from","filter","includes","availableWidth","restoreItems","acc","accWidth","previousItem","offsetWidth","hasPreviuosItem","isPreviousItemHidden","getAttribute","toggleItem","isMoreElement","isOverflowElement","cumulateWidth","item","previousElementSibling","nextElementSibling","isHidden","mgActionMenuindex","Number","toggleElement","removeAttribute","ResizeObserver","entries","entry","contentRect","observe","mgItemMoreCss","MgItemMoreStyle0","MgItemMore","name","canRenderMgMenuItemOverflowElement","renderMgMenuItemOverflowElement","parentMenuItems","moreElementMenuItem","appendChild","cloneNode","allMenuItem","parentMenu","querySelectorAll","proxy","addEventListener","navElement","HTMLButtonElement","HTMLAnchorElement","click","isValidString","id","event","detail","icon","display","validateIcon","newValue","Error","validateSlotLabel","label","slotlabel","messages","menuLabel","validateSize","componentWillLoad","initLocales","itemMore","size","componentDidLoad","setTimeout","closest","componentDidUpdate","overflowBehavior","disconnectedCallback","h","Host","key","role","ref","el","slot","class","direction","Direction","VERTICAL"],"sources":["src/utils/behaviors.utils.ts","../styles/dist/components/mg-item-more.css?tag=mg-item-more&encapsulation=shadow","src/components/molecules/mg-item-more/mg-item-more.tsx"],"sourcesContent":["/**\n * MgItemMore type guard\n * @param element - element to control type\n * @returns truthy if element is mg-item-more\n */\nconst isMgItemMore = (element: HTMLElement): element is HTMLMgItemMoreElement => element.nodeName === 'MG-ITEM-MORE';\n\nexport enum OverflowBehaviorElements {\n BASE_INDEX = 'data-overflow-base-index',\n PROXY_INDEX = 'data-overflow-proxy-index',\n}\n\nexport class OverflowBehavior {\n // variables\n private _resizeObserver: ResizeObserver;\n private _moreElement: HTMLElement;\n private _baseChildren: Element[];\n private _proxyChildren: Element[];\n\n constructor(\n private element: Element,\n private render: () => HTMLElement,\n ) {\n if (this._resizeObserver === undefined) {\n // add resize observer\n this._resizeObserver = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this.run(entry.contentRect.width);\n });\n });\n this._resizeObserver.observe(this.element);\n }\n this.run();\n }\n\n /**********\n * Public *\n **********/\n\n /**\n * Disconnect ResizeObserver\n */\n public disconnect = (): void => {\n this._resizeObserver.disconnect();\n };\n\n /************\n * Internal *\n ************/\n\n /**\n * run overflow behavior\n * @param width - width of the container. Optional.\n */\n private run = (width?: number): void => {\n if (this._moreElement === undefined) {\n // set moreElement\n this._moreElement = this.render();\n\n // set children\n this._baseChildren = this.getInteractiveItems(this.element);\n if (isMgItemMore(this._moreElement)) {\n this._proxyChildren = this.getInteractiveItems(this._moreElement.shadowRoot.querySelector('mg-menu'));\n }\n\n // update children\n this._baseChildren.forEach((child, index) => {\n child.setAttribute(OverflowBehaviorElements.BASE_INDEX, `${index}`);\n // set moreElement children\n this._proxyChildren[index].setAttribute(OverflowBehaviorElements.PROXY_INDEX, `${index}`);\n });\n }\n\n if (width !== undefined) this.updateDisplayedItems(width);\n };\n\n /**\n * Get interactive children filtred by authorized nodeName ['MG-MENU-ITEM', 'MG-BUTTON']\n * @param element - element to parse\n * @returns children\n */\n private getInteractiveItems = (element: Element) =>\n (element.children?.length > 0 ? Array.from(element.children) : []).filter(element => ['MG-MENU-ITEM', 'MG-BUTTON'].includes(element.nodeName));\n\n /**\n * Update displayed items in container from a given available space\n * @param availableWidth - available width in container to display child items\n */\n private updateDisplayedItems = (availableWidth: number): void => {\n this.restoreItems();\n const acc = { accWidth: 0, previousItem: null };\n [...this._baseChildren, this._moreElement].forEach((child: HTMLMgMenuItemElement | HTMLMgItemMoreElement) => {\n acc.accWidth += child.offsetWidth;\n const hasPreviuosItem = acc.previousItem !== null;\n const isPreviousItemHidden = hasPreviuosItem && acc.previousItem.getAttribute('hidden') !== null;\n // if previous item is hidden AND is NOT more element we hidde current\n // OR if item has an overflow we hidde current\n // OR if current item is more element AND have NOT previous hidden items, current more element item is an hidden item\n // ELSE current is a display item\n this.toggleItem(\n child,\n (isPreviousItemHidden && !this.isMoreElement(child)) || this.isOverflowElement(acc.accWidth, child, availableWidth) || (this.isMoreElement(child) && !isPreviousItemHidden),\n );\n\n // update previous item with current item\n acc.previousItem = child;\n });\n };\n\n /**\n * Utility method to know if item overflow partialy or totaly in the container\n * @param cumulateWidth - previous sibling elements cumulate width + item width\n * @param item - item HTML element\n * @param availableWidth - container available width\n * @returns truthy if element is overflow\n */\n private isOverflowElement = (cumulateWidth: number, item: HTMLElement, availableWidth: number): boolean => {\n if (item.previousElementSibling === null || this.isMoreElement(item)) return false;\n else if (!this.isMoreElement(item.nextElementSibling)) return cumulateWidth + this._moreElement.offsetWidth > availableWidth;\n else return cumulateWidth > availableWidth;\n };\n\n /**\n * Utility method to know if a given element is the 'MORE' element\n * @param element - element to match with 'MORE' element\n * @returns truthy if element is the 'MORE' element\n */\n private isMoreElement = (element: Element): boolean => element.nodeName === 'MG-ITEM-MORE';\n\n /**\n * Toggle display item element\n * @param item - item to control\n * @param isHidden - is item hidden\n */\n private toggleItem = (item: HTMLElement, isHidden: boolean): void => {\n const mgActionMenuindex = Number(item.getAttribute(OverflowBehaviorElements.BASE_INDEX));\n if (this.isMoreElement(item)) this.toggleElement(this._moreElement, isHidden);\n else if (mgActionMenuindex >= 0) {\n this.toggleElement(item, isHidden);\n this.toggleElement(this._proxyChildren[mgActionMenuindex], !isHidden);\n }\n };\n\n /**\n * Toggle element's hidde attribute\n * @param element - element to toggle\n * @param isHidden - element is hidden\n */\n private toggleElement = (element: Element, isHidden: boolean): void => {\n if (isHidden) element.setAttribute('hidden', '');\n else element.removeAttribute('hidden');\n };\n\n /**\n * Remove hidden attributes on all items\n */\n private restoreItems = (): void => {\n [...this._baseChildren, this._moreElement].forEach(item => item.removeAttribute('hidden'));\n };\n}\n",".mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion){*{animation:none !important;transition:none !important}}:host:not([hidden]){display:flex}/*# sourceMappingURL=mg-item-more.css.map */\n","import { Component, h, Prop, Element, Host, Watch, State } from '@stencil/core';\nimport { isValidString } from '@mgdis/stencil-helpers';\nimport { Direction } from '../menu/mg-menu/mg-menu.conf';\nimport { OverflowBehavior } from '../../../utils/behaviors.utils';\nimport { initLocales } from '../../../locales';\nimport type { IconType, SizeType, SlotLabelType } from './mg-item-more.conf';\nimport type { MessageType } from '../../../locales/index.conf';\n\n@Component({\n tag: 'mg-item-more',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-item-more.css',\n shadow: true,\n})\nexport class MgItemMore {\n /************\n * Internal *\n ************/\n private readonly name = 'mg-item-more';\n private messages: MessageType;\n private parentMenuItems: HTMLMgMenuItemElement[];\n private moreElementMenuItem: HTMLMgMenuItemElement;\n private overflowBehavior: OverflowBehavior;\n private canRenderMgMenuItemOverflowElement = true;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgItemMoreElement;\n\n /**\n * Define icon\n */\n @Prop() icon?: IconType = { icon: 'ellipsis-vertical' };\n @Watch('icon')\n validateIcon(newValue: MgItemMore['icon']): void {\n if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.icon !== 'string'))\n throw new Error(`<${this.name}> prop \"icon\" must match MgItemMore['icon'] type.`);\n }\n\n /**\n * Define slot label element\n */\n @Prop() slotlabel?: SlotLabelType = { display: false };\n @Watch('slotlabel')\n validateSlotLabel(newValue: MgItemMore['slotlabel']): void {\n if (typeof newValue !== 'object' || (typeof newValue === 'object' && typeof newValue.display !== 'boolean'))\n throw new Error(`<${this.name}> prop \"slotlabel\" must match MgItemMore['slotlabel'] type.`);\n else if (typeof newValue.label !== 'string') this.slotlabel.label = this.messages.menuLabel;\n }\n\n /**\n * Define component child menu size.\n */\n @Prop() size?: SizeType;\n @Watch('size')\n validateSize(newValue: MgItemMore['size']): void {\n if (newValue && typeof newValue !== 'string') throw new Error(`<${this.name}> prop \"size\" must match MgItemMore['size'] type.`);\n }\n\n /**\n * Define component parent menu.\n */\n @State() parentMenu: HTMLMgMenuElement;\n\n /***********\n * Methods *\n ***********/\n\n /**\n * render mg-item-more overflow element\n * @returns mg-item-more element\n */\n private renderMgMenuItemOverflowElement = (): HTMLMgItemMoreElement => {\n // create menu items proxy element from item clones\n this.parentMenuItems.forEach((child: HTMLMgMenuItemElement) => {\n this.moreElementMenuItem.querySelector('mg-menu').appendChild(child.cloneNode(true));\n });\n\n const allMenuItem = Array.from(this.parentMenu.querySelectorAll('mg-menu-item:not([data-overflow-more])'));\n\n Array.from(this.moreElementMenuItem.querySelectorAll('mg-menu-item:not([data-overflow-more])')).forEach((proxy, index) => {\n // manage click on proxy to mirror it on initial element\n proxy.addEventListener('click', () => {\n // be carefull to use element.click() method instead of dispatchEvent to ensure bubbles outside shadowDom\n const navElement = allMenuItem[index].shadowRoot.querySelector('a, button');\n if (navElement instanceof HTMLButtonElement || navElement instanceof HTMLAnchorElement) navElement.click();\n });\n\n // add id suffix to prevent duplicate key. default html id is: '';\n if (isValidString(proxy.id)) proxy.id = `${proxy.id}-proxy`;\n\n // manage status change miror in proxy\n allMenuItem[index].addEventListener('status-change', (event: CustomEvent) => {\n proxy.setAttribute('status', event.detail);\n });\n });\n\n return this.element;\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Set variables and validate props\n */\n componentWillLoad(): void {\n // init variables\n this.messages = initLocales(this.element).messages.itemMore as MessageType;\n\n // validate props\n this.validateIcon(this.icon);\n this.validateSlotLabel(this.slotlabel);\n this.validateSize(this.size);\n }\n\n /**\n * Ensure parent DOM is fully rendered with timeout method before parse elements\n * @returns timeout\n */\n componentDidLoad(): ReturnType<typeof setTimeout> {\n // ensure parent menu is fully rendered\n return setTimeout(() => {\n this.parentMenu = this.element.closest('mg-menu');\n });\n }\n\n /**\n * Set OverflowBehavior when parentMenu state is upate AND defined\n */\n componentDidUpdate(): void {\n if (this.parentMenu && this.canRenderMgMenuItemOverflowElement) {\n this.parentMenuItems = Array.from(this.parentMenu.children).filter(item => item.nodeName === 'MG-MENU-ITEM') as HTMLMgMenuItemElement[];\n this.overflowBehavior = new OverflowBehavior(this.parentMenu, this.renderMgMenuItemOverflowElement);\n this.canRenderMgMenuItemOverflowElement = false;\n }\n }\n\n /**\n * Disconnect overflow ResizeObserver\n */\n disconnectedCallback(): void {\n this.overflowBehavior?.disconnect();\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <Host role=\"listitem\">\n {this.parentMenu && (\n <mg-menu-item\n data-overflow-more\n data-size={this.parentMenu.size}\n ref={el => {\n if (el) this.moreElementMenuItem = el;\n }}\n >\n <mg-icon icon={this.icon.icon} slot=\"image\"></mg-icon>\n <span class={{ 'mg-u-visually-hidden': !this.slotlabel.display }} slot=\"label\">\n {this.slotlabel.label}\n </span>\n <mg-menu direction={Direction.VERTICAL} label={this.messages.menuLabel} size={this.size}></mg-menu>\n </mg-menu-item>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const e="mg-components";const t={allRenderFn:false,appendChildSlotFix:false,asyncLoading:true,asyncQueue:false,attachStyles:true,cloneNodeFix:false,cmpDidLoad:true,cmpDidRender:true,cmpDidUnload:false,cmpDidUpdate:true,cmpShouldUpdate:false,cmpWillLoad:true,cmpWillRender:false,cmpWillUpdate:true,connectedCallback:false,constructableCSS:true,cssAnnotations:true,devTools:false,disconnectedCallback:true,element:false,event:true,experimentalScopedSlotChanges:false,experimentalSlotFixes:false,formAssociated:false,hasRenderFn:true,hostListener:true,hostListenerTarget:true,hostListenerTargetBody:false,hostListenerTargetDocument:false,hostListenerTargetParent:false,hostListenerTargetWindow:true,hotModuleReplacement:false,hydrateClientSide:false,hydrateServerSide:false,hydratedAttribute:false,hydratedClass:true,initializeNextTick:false,invisiblePrehydration:true,isDebug:false,isDev:false,isTesting:false,lazyLoad:true,lifecycle:true,lifecycleDOMEvents:false,member:true,method:true,mode:false,observeAttribute:true,profile:false,prop:true,propBoolean:true,propMutable:true,propNumber:true,propString:true,reflect:true,scoped:true,scopedSlotTextContentFix:false,scriptDataOpts:false,shadowDelegatesFocus:false,shadowDom:true,slot:true,slotChildNodesFix:false,slotRelocation:true,state:true,style:true,svg:false,taskQueue:true,transformTagName:false,updatable:true,vdomAttribute:true,vdomClass:true,vdomFunctional:true,vdomKey:true,vdomListener:true,vdomPropOrAttr:true,vdomRef:true,vdomRender:true,vdomStyle:true,vdomText:true,vdomXlink:true,watchCallback:true};let n;let s;let l;let o=false;let i=false;let c=false;let f=false;let r=false;const u=(e,t="")=>{{return()=>{}}};const a=(e,t)=>{{return()=>{}}};const d="{visibility:hidden}.hydrated{visibility:inherit}";const p="slot-fb{display:contents}slot-fb[hidden]{display:none}";const v="http://www.w3.org/1999/xlink";const m={};const h=e=>e!=null;const y=e=>{e=typeof e;return e==="object"||e==="function"};function b(e){var t,n,s;return(s=(n=(t=e.head)===null||t===void 0?void 0:t.querySelector('meta[name="csp-nonce"]'))===null||n===void 0?void 0:n.getAttribute("content"))!==null&&s!==void 0?s:undefined}const $=(e,t,...n)=>{let s=null;let l=null;let o=null;let i=false;let c=false;const f=[];const r=t=>{for(let n=0;n<t.length;n++){s=t[n];if(Array.isArray(s)){r(s)}else if(s!=null&&typeof s!=="boolean"){if(i=typeof e!=="function"&&!y(s)){s=String(s)}if(i&&c){f[f.length-1].t+=s}else{f.push(i?w(null,s):s)}c=i}}};r(n);if(t){if(t.key){l=t.key}if(t.name){o=t.name}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,f,k)}const u=w(e,null);u.l=t;if(f.length>0){u.o=f}{u.i=l}{u.u=o}return u};const w=(e,t)=>{const n={p:0,v:e,t,m:null,o:null};{n.l=null}{n.i=null}{n.u=null}return n};const g={};const S=e=>e&&e.v===g;const k={forEach:(e,t)=>e.map(C).forEach(t),map:(e,t)=>e.map(C).map(t).map(x)};const C=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.u,vtag:e.v,vtext:e.t});const x=e=>{if(typeof e.vtag==="function"){const t=Object.assign({},e.vattrs);if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return $(e.vtag,t,...e.vchildren||[])}const t=w(e.vtag,e.vtext);t.l=e.vattrs;t.o=e.vchildren;t.i=e.vkey;t.u=e.vname;return t};const T=(e,t)=>{if(e!=null&&!y(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};const L=e=>je(e).$hostElement$;const R=(e,t,n)=>{const s=L(e);return{emit:e=>j(s,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}};const j=(e,t,n)=>{const s=Ee.ce(t,n);e.dispatchEvent(s);return s};const D=new WeakMap;const O=(e,t,n)=>{let s=Ne.get(e);if(He&&n){s=s||new CSSStyleSheet;if(typeof s==="string"){s=t}else{s.replaceSync(t)}}else{s=t}Ne.set(e,s)};const F=(e,t,n)=>{var s;const l=A(t);const o=Ne.get(l);e=e.nodeType===11?e:We;if(o){if(typeof o==="string"){e=e.head||e;let n=D.get(e);let i;if(!n){D.set(e,n=new Set)}if(!n.has(l)){{i=We.createElement("style");i.innerHTML=o;const t=(s=Ee.h)!==null&&s!==void 0?s:b(We);if(t!=null){i.setAttribute("nonce",t)}e.insertBefore(i,e.querySelector("link"))}if(t.p&4){i.innerHTML+=p}if(n){n.add(l)}}}else if(!e.adoptedStyleSheets.includes(o)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]}}return l};const M=e=>{const t=e.$;const n=e.$hostElement$;const s=t.p;const l=u("attachStyles",t.S);const o=F(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(s&10){n["s-sc"]=o;n.classList.add(o+"-h");if(s&2){n.classList.add(o+"-s")}}l()};const A=(e,t)=>"sc-"+e.S;const U=(e,t,n,s,l,o)=>{if(n!==s){let i=Fe(e,t);let c=t.toLowerCase();if(t==="class"){const t=e.classList;const l=P(n);const o=P(s);t.remove(...l.filter((e=>e&&!o.includes(e))));t.add(...o.filter((e=>e&&!l.includes(e))))}else if(t==="style"){{for(const t in n){if(!s||s[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in s){if(!n||s[t]!==n[t]){if(t.includes("-")){e.style.setProperty(t,s[t])}else{e.style[t]=s[t]}}}}else if(t==="key");else if(t==="ref"){if(s){s(e)}}else if(!i&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(Fe(Pe,c)){t=c.slice(2)}else{t=c[2]+t.slice(3)}if(n||s){const l=t.endsWith(W);t=t.replace(E,"");if(n){Ee.rel(e,t,n,l)}if(s){Ee.ael(e,t,s,l)}}}else{const f=y(s);if((i||f&&s!==null)&&!l){try{if(!e.tagName.includes("-")){const l=s==null?"":s;if(t==="list"){i=false}else if(n==null||e[t]!=l){e[t]=l}}else{e[t]=s}}catch(e){}}let r=false;{if(c!==(c=c.replace(/^xlink\:?/,""))){t=c;r=true}}if(s==null||s===false){if(s!==false||e.getAttribute(t)===""){if(r){e.removeAttributeNS(v,t)}else{e.removeAttribute(t)}}}else if((!i||o&4||l)&&!f){s=s===true?"":s;if(r){e.setAttributeNS(v,t,s)}else{e.setAttribute(t,s)}}}}};const N=/\s/;const P=e=>!e?[]:e.split(N);const W="Capture";const E=new RegExp(W+"$");const z=(e,t,n,s)=>{const l=t.m.nodeType===11&&t.m.host?t.m.host:t.m;const o=e&&e.l||m;const i=t.l||m;{for(s in o){if(!(s in i)){U(l,s,o[s],undefined,n,t.p)}}}for(s in i){U(l,s,o[s],i[s],n,t.p)}};const B=(e,t,i,r)=>{var u;const a=t.o[i];let d=0;let p;let v;let m;if(!o){c=true;if(a.v==="slot"){if(n){r.classList.add(n+"-s")}a.p|=a.o?2:1}}if(a.t!==null){p=a.m=We.createTextNode(a.t)}else if(a.p&1){p=a.m=We.createTextNode("")}else{p=a.m=We.createElement(a.p&2?"slot-fb":a.v);{z(null,a,f)}if(h(n)&&p["s-si"]!==n){p.classList.add(p["s-si"]=n)}if(a.o){for(d=0;d<a.o.length;++d){v=B(e,a,d,p);if(v){p.appendChild(v)}}}}p["s-hn"]=l;{if(a.p&(2|1)){p["s-sr"]=true;p["s-cr"]=s;p["s-sn"]=a.u||"";p["s-rf"]=(u=a.l)===null||u===void 0?void 0:u.ref;m=e&&e.o&&e.o[i];if(m&&m.v===a.v&&e.m){{H(e.m,false)}}}}return p};const H=(e,n)=>{Ee.p|=1;const s=Array.from(e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===l){s.push(t)}}}for(let e=s.length-1;e>=0;e--){const t=s[e];if(t["s-hn"]!==l&&t["s-ol"]){X(t).insertBefore(t,V(t));t["s-ol"].remove();t["s-ol"]=undefined;t["s-sh"]=undefined;c=true}if(n){H(t,n)}}Ee.p&=~1};const Q=(e,t,n,s,o,i)=>{let c=e["s-cr"]&&e["s-cr"].parentNode||e;let f;if(c.shadowRoot&&c.tagName===l){c=c.shadowRoot}for(;o<=i;++o){if(s[o]){f=B(null,n,o,e);if(f){s[o].m=f;c.insertBefore(f,V(t))}}}};const q=(e,t,n)=>{for(let s=t;s<=n;++s){const t=e[s];if(t){const e=t.m;ee(t);if(e){{i=true;if(e["s-ol"]){e["s-ol"].remove()}else{H(e,true)}}e.remove()}}}};const I=(e,t,n,s,l=false)=>{let o=0;let i=0;let c=0;let f=0;let r=t.length-1;let u=t[0];let a=t[r];let d=s.length-1;let p=s[0];let v=s[d];let m;let h;while(o<=r&&i<=d){if(u==null){u=t[++o]}else if(a==null){a=t[--r]}else if(p==null){p=s[++i]}else if(v==null){v=s[--d]}else if(K(u,p,l)){_(u,p,l);u=t[++o];p=s[++i]}else if(K(a,v,l)){_(a,v,l);a=t[--r];v=s[--d]}else if(K(u,v,l)){if(u.v==="slot"||v.v==="slot"){H(u.m.parentNode,false)}_(u,v,l);e.insertBefore(u.m,a.m.nextSibling);u=t[++o];v=s[--d]}else if(K(a,p,l)){if(u.v==="slot"||v.v==="slot"){H(a.m.parentNode,false)}_(a,p,l);e.insertBefore(a.m,u.m);a=t[--r];p=s[++i]}else{c=-1;{for(f=o;f<=r;++f){if(t[f]&&t[f].i!==null&&t[f].i===p.i){c=f;break}}}if(c>=0){h=t[c];if(h.v!==p.v){m=B(t&&t[i],n,c,e)}else{_(h,p,l);t[c]=undefined;m=h.m}p=s[++i]}else{m=B(t&&t[i],n,i,e);p=s[++i]}if(m){{X(u.m).insertBefore(m,V(u.m))}}}}if(o>r){Q(e,s[d+1]==null?null:s[d+1].m,n,s,i,d)}else if(i>d){q(t,o,r)}};const K=(e,t,n=false)=>{if(e.v===t.v){if(e.v==="slot"){return e.u===t.u}if(!n){return e.i===t.i}return true}return false};const V=e=>e&&e["s-ol"]||e;const X=e=>(e["s-ol"]?e["s-ol"]:e).parentNode;const _=(e,t,n=false)=>{const s=t.m=e.m;const l=e.o;const i=t.o;const c=t.v;const r=t.t;let u;if(r===null){{if(c==="slot"&&!o);else{z(e,t,f)}}if(l!==null&&i!==null){I(s,l,t,i,n)}else if(i!==null){if(e.t!==null){s.textContent=""}Q(s,null,t,i,0,i.length-1)}else if(l!==null){q(l,0,l.length-1)}}else if(u=s["s-cr"]){u.parentNode.textContent=r}else if(e.t!==r){s.data=r}};const G=e=>{const t=e.childNodes;for(const e of t){if(e.nodeType===1){if(e["s-sr"]){const n=e["s-sn"];e.hidden=false;for(const s of t){if(s!==e){if(s["s-hn"]!==e["s-hn"]||n!==""){if(s.nodeType===1&&(n===s.getAttribute("slot")||n===s["s-sn"])){e.hidden=true;break}}else{if(s.nodeType===1||s.nodeType===3&&s.textContent.trim()!==""){e.hidden=true;break}}}}}G(e)}}};const J=[];const Y=e=>{let n;let s;let l;for(const o of e.childNodes){if(o["s-sr"]&&(n=o["s-cr"])&&n.parentNode){s=n.parentNode.childNodes;const e=o["s-sn"];for(l=s.length-1;l>=0;l--){n=s[l];if(!n["s-cn"]&&!n["s-nr"]&&n["s-hn"]!==o["s-hn"]&&!t.experimentalSlotFixes){if(Z(n,e)){let t=J.find((e=>e.k===n));i=true;n["s-sn"]=n["s-sn"]||e;if(t){t.k["s-sh"]=o["s-hn"];t.C=o}else{n["s-sh"]=o["s-hn"];J.push({C:o,k:n})}if(n["s-sr"]){J.map((e=>{if(Z(e.k,n["s-sn"])){t=J.find((e=>e.k===n));if(t&&!e.C){e.C=t.C}}}))}}else if(!J.some((e=>e.k===n))){J.push({k:n})}}}}if(o.nodeType===1){Y(o)}}};const Z=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};const ee=e=>{{e.l&&e.l.ref&&e.l.ref(null);e.o&&e.o.map(ee)}};const te=(e,t,f=false)=>{var r,u,a,d;const p=e.$hostElement$;const v=e.$;const m=e.T||w(null,null);const h=S(t)?t:$(null,null,t);l=p.tagName;if(v.L){h.l=h.l||{};v.L.map((([e,t])=>h.l[t]=p[e]))}if(f&&h.l){for(const e of Object.keys(h.l)){if(p.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){h.l[e]=p[e]}}}h.v=null;h.p|=4;e.T=h;h.m=m.m=p.shadowRoot||p;{n=p["s-sc"]}o=(v.p&1)!==0;{s=p["s-cr"];i=false}_(m,h,f);{Ee.p|=1;if(c){Y(h.m);for(const e of J){const t=e.k;if(!t["s-ol"]){const e=We.createTextNode("");e["s-nr"]=t;t.parentNode.insertBefore(t["s-ol"]=e,t)}}for(const e of J){const t=e.k;const n=e.C;if(n){const e=n.parentNode;let s=n.nextSibling;{let n=(r=t["s-ol"])===null||r===void 0?void 0:r.previousSibling;while(n){let l=(u=n["s-nr"])!==null&&u!==void 0?u:null;if(l&&l["s-sn"]===t["s-sn"]&&e===l.parentNode){l=l.nextSibling;if(!l||!l["s-nr"]){s=l;break}}n=n.previousSibling}}if(!s&&e!==t.parentNode||t.nextSibling!==s){if(t!==s){if(!t["s-hn"]&&t["s-ol"]){t["s-hn"]=t["s-ol"].parentNode.nodeName}e.insertBefore(t,s);if(t.nodeType===1){t.hidden=(a=t["s-ih"])!==null&&a!==void 0?a:false}}}t&&typeof n["s-rf"]==="function"&&n["s-rf"](t)}else{if(t.nodeType===1){if(f){t["s-ih"]=(d=t.hidden)!==null&&d!==void 0?d:false}t.hidden=true}}}}if(i){G(h.m)}Ee.p&=~1;J.length=0}s=undefined};const ne=(e,t)=>{if(t&&!e.R&&t["s-p"]){t["s-p"].push(new Promise((t=>e.R=t)))}};const se=(e,t)=>{{e.p|=16}if(e.p&4){e.p|=512;return}ne(e,e.j);const n=()=>le(e,t);return _e(n)};const le=(e,t)=>{const n=u("scheduleUpdate",e.$.S);const s=e.D;let l;if(t){{e.p|=256;if(e.O){e.O.map((([e,t])=>ae(s,e,t)));e.O=undefined}}{l=ae(s,"componentWillLoad")}}else{{l=ae(s,"componentWillUpdate")}}n();return oe(l,(()=>ce(e,s,t)))};const oe=(e,t)=>ie(e)?e.then(t):t();const ie=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";const ce=async(e,t,n)=>{var s;const l=e.$hostElement$;const o=u("update",e.$.S);const i=l["s-rc"];if(n){M(e)}const c=u("render",e.$.S);{fe(e,t,l,n)}if(i){i.map((e=>e()));l["s-rc"]=undefined}c();o();{const t=(s=l["s-p"])!==null&&s!==void 0?s:[];const n=()=>re(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.p|=4;t.length=0}}};const fe=(e,t,n,s)=>{try{t=t.render&&t.render();{e.p&=~16}{e.p|=2}{{{te(e,t,s)}}}}catch(t){Me(t,e.$hostElement$)}return null};const re=e=>{const t=e.$.S;const n=e.$hostElement$;const s=u("postUpdate",t);const l=e.D;const o=e.j;{ae(l,"componentDidRender")}if(!(e.p&64)){e.p|=64;{de(n)}{ae(l,"componentDidLoad")}s();{e.F(n);if(!o){ue()}}}else{{ae(l,"componentDidUpdate")}s()}{e.M(n)}{if(e.R){e.R();e.R=undefined}if(e.p&512){Xe((()=>se(e,false)))}e.p&=~(4|512)}};const ue=t=>{{de(We.documentElement)}Xe((()=>j(Pe,"appload",{detail:{namespace:e}})))};const ae=(e,t,n)=>{if(e&&e[t]){try{return e[t](n)}catch(e){Me(e)}}return undefined};const de=e=>e.classList.add("hydrated");const pe=(e,t)=>je(e).A.get(t);const ve=(e,t,n,s)=>{const l=je(e);const o=l.$hostElement$;const i=l.A.get(t);const c=l.p;const f=l.D;n=T(n,s.U[t][0]);const r=Number.isNaN(i)&&Number.isNaN(n);const u=n!==i&&!r;if((!(c&8)||i===undefined)&&u){l.A.set(t,n);if(f){if(s.N&&c&128){const e=s.N[t];if(e){e.map((e=>{try{f[e](n,i,t)}catch(e){Me(e,o)}}))}}if((c&(2|16))===2){se(l,false)}}}};const me=(e,t,n)=>{var s;const l=e.prototype;if(t.U){if(e.watchers){t.N=e.watchers}const o=Object.entries(t.U);o.map((([e,[s]])=>{if(s&31||n&2&&s&32){Object.defineProperty(l,e,{get(){return pe(this,e)},set(n){ve(this,e,n,t)},configurable:true,enumerable:true})}else if(n&1&&s&64){Object.defineProperty(l,e,{value(...t){var n;const s=je(this);return(n=s===null||s===void 0?void 0:s.P)===null||n===void 0?void 0:n.then((()=>{var n;return(n=s.D)===null||n===void 0?void 0:n[e](...t)}))}})}}));if(n&1){const n=new Map;l.attributeChangedCallback=function(e,s,o){Ee.jmp((()=>{var i;const c=n.get(e);if(this.hasOwnProperty(c)){o=this[c];delete this[c]}else if(l.hasOwnProperty(c)&&typeof this[c]==="number"&&this[c]==o){return}else if(c==null){const n=je(this);const l=n===null||n===void 0?void 0:n.p;if(l&&!(l&8)&&l&128&&o!==s){const l=n.D;const c=(i=t.N)===null||i===void 0?void 0:i[e];c===null||c===void 0?void 0:c.forEach((t=>{if(l[t]!=null){l[t].call(l,o,s,e)}}))}return}this[c]=o===null&&typeof this[c]==="boolean"?false:o}))};e.observedAttributes=Array.from(new Set([...Object.keys((s=t.N)!==null&&s!==void 0?s:{}),...o.filter((([e,t])=>t[0]&15)).map((([e,s])=>{var l;const o=s[1]||e;n.set(o,e);if(s[0]&512){(l=t.L)===null||l===void 0?void 0:l.push([e,o])}return o}))]))}}return e};const he=async(e,t,n,s)=>{let l;if((t.p&32)===0){t.p|=32;const s=n.W;if(s){l=Ue(n);if(l.then){const e=a();l=await l;e()}if(!l.isProxied){{n.N=l.watchers}me(l,n,2);l.isProxied=true}const e=u("createInstance",n.S);{t.p|=8}try{new l(t)}catch(e){Me(e)}{t.p&=~8}{t.p|=128}e()}else{l=e.constructor;customElements.whenDefined(n.S).then((()=>t.p|=128))}if(l.style){let e=l.style;const t=A(n);if(!Ne.has(t)){const s=u("registerStyles",n.S);O(t,e,!!(n.p&1));s()}}}const o=t.j;const i=()=>se(t,true);if(o&&o["s-rc"]){o["s-rc"].push(i)}else{i()}};const ye=e=>{};const be=e=>{if((Ee.p&1)===0){const t=je(e);const n=t.$;const s=u("connectedCallback",n.S);if(!(t.p&1)){t.p|=1;{if(n.p&(4|8)){$e(e)}}{let n=e;while(n=n.parentNode||n.host){if(n["s-p"]){ne(t,t.j=n);break}}}if(n.U){Object.entries(n.U).map((([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){const n=e[t];delete e[t];e[t]=n}}))}{he(e,t,n)}}else{ke(e,t,n.B);if(t===null||t===void 0?void 0:t.D);else if(t===null||t===void 0?void 0:t.H){t.H.then((()=>ye()))}}s()}};const $e=e=>{const t=e["s-cr"]=We.createComment("");t["s-cn"]=true;e.insertBefore(t,e.firstChild)};const we=e=>{{ae(e,"disconnectedCallback")}};const ge=async e=>{if((Ee.p&1)===0){const t=je(e);{if(t.q){t.q.map((e=>e()));t.q=undefined}}if(t===null||t===void 0?void 0:t.D){we(t.D)}else if(t===null||t===void 0?void 0:t.H){t.H.then((()=>we(t.D)))}}};const Se=(e,t={})=>{var n;const s=u();const l=[];const o=t.exclude||[];const i=Pe.customElements;const c=We.head;const f=c.querySelector("meta[charset]");const r=We.createElement("style");const a=[];let v;let m=true;Object.assign(Ee,t);Ee.I=new URL(t.resourcesUrl||"./",We.baseURI).href;let h=false;e.map((e=>{e[1].map((t=>{var n;const s={p:t[0],S:t[1],U:t[2],B:t[3]};if(s.p&4){h=true}{s.U=t[2]}{s.B=t[3]}{s.L=[]}{s.N=(n=t[4])!==null&&n!==void 0?n:{}}const c=s.S;const f=class extends HTMLElement{constructor(e){super(e);e=this;Oe(e,s);if(s.p&1){{{e.attachShadow({mode:"open"})}}}}connectedCallback(){if(v){clearTimeout(v);v=null}if(m){a.push(this)}else{Ee.jmp((()=>be(this)))}}disconnectedCallback(){Ee.jmp((()=>ge(this)))}componentOnReady(){return je(this).H}};s.W=e[0];if(!o.includes(c)&&!i.get(c)){l.push(c);i.define(c,me(f,s,1))}}))}));if(l.length>0){if(h){r.textContent+=p}{r.textContent+=l+d}if(r.innerHTML.length){r.setAttribute("data-styles","");const e=(n=Ee.h)!==null&&n!==void 0?n:b(We);if(e!=null){r.setAttribute("nonce",e)}c.insertBefore(r,f?f.nextSibling:c.firstChild)}}m=false;if(a.length){a.map((e=>e.connectedCallback()))}else{{Ee.jmp((()=>v=setTimeout(ue,30)))}}s()};const ke=(e,t,n,s)=>{if(n){n.map((([n,s,l])=>{const o=xe(e,n);const i=Ce(t,l);const c=Te(n);Ee.ael(o,s,i,c);(t.q=t.q||[]).push((()=>Ee.rel(o,s,i,c)))}))}};const Ce=(e,t)=>n=>{try{{if(e.p&256){e.D[t](n)}else{(e.O=e.O||[]).push([t,n])}}}catch(e){Me(e)}};const xe=(e,t)=>{if(t&8)return Pe;return e};const Te=e=>ze?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;const Le=e=>Ee.h=e;const Re=new WeakMap;const je=e=>Re.get(e);const De=(e,t)=>Re.set(t.D=e,t);const Oe=(e,t)=>{const n={p:0,$hostElement$:e,$:t,A:new Map};{n.P=new Promise((e=>n.M=e))}{n.H=new Promise((e=>n.F=e));e["s-p"]=[];e["s-rc"]=[]}ke(e,n,t.B);return Re.set(e,n)};const Fe=(e,t)=>t in e;const Me=(e,t)=>(0,console.error)(e,t);const Ae=new Map;const Ue=(e,t,n)=>{const s=e.S.replace(/-/g,"_");const l=e.W;const o=Ae.get(l);if(o){return o[s]}
|
|
2
|
-
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${l}.entry.js${""}`).then((e=>{{Ae.set(l,e)}return e[s]}),Me)};const Ne=new Map;const Pe=typeof window!=="undefined"?window:{};const We=Pe.document||{head:{}};const Ee={p:0,I:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,s)=>e.addEventListener(t,n,s),rel:(e,t,n,s)=>e.removeEventListener(t,n,s),ce:(e,t)=>new CustomEvent(e,t)};const ze=(()=>{let e=false;try{We.addEventListener("e",null,Object.defineProperty({},"passive",{get(){e=true}}))}catch(e){}return e})();const Be=e=>Promise.resolve(e);const He=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();const Qe=[];const qe=[];const Ie=(e,t)=>n=>{e.push(n);if(!r){r=true;if(t&&Ee.p&4){Xe(Ve)}else{Ee.raf(Ve)}}};const Ke=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){Me(e)}}e.length=0};const Ve=()=>{Ke(Qe);{Ke(qe);if(r=Qe.length>0){Ee.raf(Ve)}}};const Xe=e=>Be().then(e);const _e=Ie(qe,true);export{g as H,Se as b,R as c,L as g,$ as h,Be as p,De as r,Le as s};
|
|
3
|
-
//# sourceMappingURL=p-9dfaa41f.js.map
|