@mgdis/mg-components 6.9.0 → 6.10.1
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/events.utils-D5SAtkpQ.js +28 -0
- package/dist/cjs/events.utils-D5SAtkpQ.js.map +1 -0
- package/dist/cjs/index-CATFkm3O.js +4 -0
- package/dist/cjs/{index-CTU2m-sy.js → index-CL_COdxv.js} +20 -6
- package/dist/cjs/{index-CTU2m-sy.js.map → index-CL_COdxv.js.map} +1 -1
- package/dist/cjs/index.es-DaPqByCe.js +250 -0
- package/dist/cjs/index.es-DaPqByCe.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mg-action-more_37.cjs.entry.js +1929 -1913
- package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-alert.cjs.entry.js +7 -7
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-input-combobox.cjs.entry.js +774 -0
- package/dist/cjs/mg-input-combobox.cjs.entry.js.map +1 -0
- package/dist/cjs/mg-input-combobox.entry.cjs.js.map +1 -0
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +16 -14
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +1 -1
- package/dist/cjs/mg-loader.cjs.entry.js +5 -5
- package/dist/cjs/mg-progress.cjs.entry.js +11 -11
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/atoms/mg-button/mg-button.js +3 -2
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +0 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +38 -68
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +2 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +1443 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +2 -2
- 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 +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-rich-text-editor/editor/editor.scss +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +1 -1
- package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +2 -2
- package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +3 -3
- package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -2
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +53 -129
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-progress/mg-progress.js +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 +6 -5
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
- package/dist/collection/locales/en/messages.json +8 -1
- package/dist/collection/locales/fr/messages.json +8 -1
- package/dist/collection/utils/behaviors.utils.js +3 -3
- package/dist/collection/utils/behaviors.utils.js.map +1 -1
- package/dist/collection/utils/events.utils.js +22 -0
- package/dist/collection/utils/events.utils.js.map +1 -0
- package/dist/components/events.utils.js +26 -0
- package/dist/components/events.utils.js.map +1 -0
- package/dist/components/index.es.js +129 -36
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index2.js +18 -4
- package/dist/components/index2.js.map +1 -1
- package/dist/components/mg-action-more.js +8 -8
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-alert.js +6 -6
- package/dist/components/mg-badge2.js +6 -6
- package/dist/components/mg-button2.js +9 -8
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-character-left2.js +4 -4
- package/dist/components/mg-details.js +4 -4
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-form.js +8 -8
- package/dist/components/mg-icon2.js +6 -6
- package/dist/components/mg-illustrated-message.js +6 -6
- package/dist/components/mg-input-checkbox.js +9 -9
- package/dist/components/mg-input-combobox.d.ts +11 -0
- package/dist/components/mg-input-combobox.js +897 -0
- package/dist/components/mg-input-combobox.js.map +1 -0
- package/dist/components/mg-input-date.js +18 -18
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +16 -16
- 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 +8 -8
- package/dist/components/mg-input-rich-text-editor.js +15 -13
- package/dist/components/mg-input-rich-text-editor.js.map +1 -1
- package/dist/components/mg-input-select2.js +9 -9
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text2.js +11 -11
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.js +9 -9
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title2.js +4 -4
- package/dist/components/mg-input-toggle.js +7 -7
- package/dist/components/mg-input2.js +8 -8
- package/dist/components/mg-item-more2.js +12 -12
- package/dist/components/mg-item-more2.js.map +1 -1
- package/dist/components/mg-loader.js +1 -70
- package/dist/components/mg-loader.js.map +1 -1
- package/dist/components/mg-loader2.js +75 -0
- package/dist/components/mg-loader2.js.map +1 -0
- package/dist/components/mg-menu-item2.js +13 -13
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-message2.js +6 -6
- package/dist/components/mg-modal.js +10 -10
- package/dist/components/mg-pagination2.js +9 -9
- package/dist/components/mg-panel.js +10 -10
- package/dist/components/mg-popover-content2.js +5 -5
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover2.js +54 -128
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-progress.js +11 -11
- package/dist/components/mg-skip-links.js +3 -3
- package/dist/components/mg-table.js +6 -6
- package/dist/components/mg-tabs.js +18 -17
- package/dist/components/mg-tabs.js.map +1 -1
- package/dist/components/mg-tag.js +4 -4
- 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 +42 -71
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/components/popper.js +1793 -0
- package/dist/components/popper.js.map +1 -0
- package/dist/esm/events.utils-yMGqY8YG.js +26 -0
- package/dist/esm/events.utils-yMGqY8YG.js.map +1 -0
- package/dist/esm/index-CAuxALt5.js +4 -0
- package/dist/esm/{index-SQlkEaXW.js → index-DALWFL9i.js} +20 -6
- package/dist/esm/{index-SQlkEaXW.js.map → index-DALWFL9i.js.map} +1 -1
- package/dist/esm/index.es-hNwGkhG6.js +223 -0
- package/dist/esm/index.es-hNwGkhG6.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mg-action-more_37.entry.js +1930 -1914
- package/dist/esm/mg-action-more_37.entry.js.map +1 -1
- package/dist/esm/mg-alert.entry.js +7 -7
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-input-combobox.entry.js +772 -0
- package/dist/esm/mg-input-combobox.entry.js.map +1 -0
- package/dist/esm/mg-input-rich-text-editor.entry.js +17 -15
- package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -1
- package/dist/esm/{mg-input.conf-BtkqaBXm.js → mg-input.conf-CNgv8hc5.js} +3 -3
- package/dist/esm/{mg-input.conf-BtkqaBXm.js.map → mg-input.conf-CNgv8hc5.js.map} +1 -1
- package/dist/esm/mg-loader.entry.js +5 -5
- package/dist/esm/mg-progress.entry.js +11 -11
- package/dist/mg-components/locales/en/messages.json +8 -1
- package/dist/mg-components/locales/fr/messages.json +8 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-input-combobox.entry.esm.js.map +1 -0
- package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +1 -1
- package/dist/mg-components/p-352cfc01.entry.js +2 -0
- package/dist/mg-components/{p-680948e3.entry.js.map → p-352cfc01.entry.js.map} +1 -1
- package/dist/mg-components/p-68f7de47.entry.js +2 -0
- package/dist/mg-components/p-68f7de47.entry.js.map +1 -0
- package/dist/mg-components/p-CNgv8hc5.js +2 -0
- package/dist/mg-components/{p-BtkqaBXm.js.map → p-CNgv8hc5.js.map} +1 -1
- package/dist/mg-components/p-Cg3R_y_o.js +2 -0
- package/dist/mg-components/{p-CqGbLOnN.js.map → p-Cg3R_y_o.js.map} +1 -1
- package/dist/mg-components/p-a52a168c.entry.js +2 -0
- package/dist/mg-components/{p-9acc6504.entry.js.map → p-a52a168c.entry.js.map} +1 -1
- package/dist/mg-components/{p-583b3769.entry.js → p-bf5de898.entry.js} +2 -2
- package/dist/mg-components/p-dcefa0b0.entry.js +2 -0
- package/dist/mg-components/p-dcefa0b0.entry.js.map +1 -0
- package/dist/mg-components/{p-650d6986.entry.js → p-e33557f9.entry.js} +3 -3
- package/dist/mg-components/p-e33557f9.entry.js.map +1 -0
- package/dist/mg-components/p-hNwGkhG6.js +2 -0
- package/dist/mg-components/p-hNwGkhG6.js.map +1 -0
- package/dist/mg-components/p-yMGqY8YG.js +2 -0
- package/dist/mg-components/p-yMGqY8YG.js.map +1 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +0 -6
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +6 -7
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.d.ts +24 -0
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +340 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +9 -27
- package/dist/types/components.d.ts +253 -10
- package/dist/types/utils/events.utils.d.ts +4 -0
- package/ide/intellij/web-types.json +400 -1
- package/ide/vscode/html-custom-data.json +332 -0
- package/package.json +15 -15
- package/dist/cjs/index.es-jXqiN1uw.js +0 -152
- package/dist/cjs/index.es-jXqiN1uw.js.map +0 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js +0 -2
- package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js.map +0 -1
- package/dist/collection/utils/floating-ui.utils.js +0 -30
- package/dist/collection/utils/floating-ui.utils.js.map +0 -1
- package/dist/components/floating-ui.utils.js +0 -1677
- package/dist/components/floating-ui.utils.js.map +0 -1
- package/dist/esm/index.es-DDBtzymI.js +0 -130
- package/dist/esm/index.es-DDBtzymI.js.map +0 -1
- package/dist/mg-components/p-650d6986.entry.js.map +0 -1
- package/dist/mg-components/p-680948e3.entry.js +0 -2
- package/dist/mg-components/p-9acc6504.entry.js +0 -2
- package/dist/mg-components/p-BtkqaBXm.js +0 -2
- package/dist/mg-components/p-CqGbLOnN.js +0 -2
- package/dist/mg-components/p-DDBtzymI.js +0 -2
- package/dist/mg-components/p-DDBtzymI.js.map +0 -1
- package/dist/mg-components/p-c0fb6f62.entry.js +0 -2
- package/dist/mg-components/p-c0fb6f62.entry.js.map +0 -1
- package/dist/types/components/molecules/mg-popover/mg-popover.conf.d.ts +0 -6
- package/dist/types/utils/floating-ui.utils.d.ts +0 -20
- /package/dist/mg-components/{p-583b3769.entry.js.map → p-bf5de898.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
2
|
+
import { Z as Zt, H as Ht, D as Dt, X as Xt, q as qe } from './index.es.js';
|
|
3
3
|
import { i as initLocales } from './index2.js';
|
|
4
4
|
import { d as defineCustomElement$4 } from './mg-button2.js';
|
|
5
5
|
import { d as defineCustomElement$3 } from './mg-card2.js';
|
|
@@ -26,7 +26,7 @@ const MgModal$1 = /*@__PURE__*/ proxyCustomElement(class MgModal extends HTMLEle
|
|
|
26
26
|
* Identifier is used for the element ID (id is a reserved prop in Stencil.js)
|
|
27
27
|
* If not set, it will be created.
|
|
28
28
|
*/
|
|
29
|
-
this.identifier =
|
|
29
|
+
this.identifier = Zt('mg-modal');
|
|
30
30
|
/**
|
|
31
31
|
* Modal dialog role.
|
|
32
32
|
*/
|
|
@@ -46,7 +46,7 @@ const MgModal$1 = /*@__PURE__*/ proxyCustomElement(class MgModal extends HTMLEle
|
|
|
46
46
|
/**
|
|
47
47
|
* Component classes
|
|
48
48
|
*/
|
|
49
|
-
this.classCollection = new
|
|
49
|
+
this.classCollection = new Ht(['mg-c-modal']);
|
|
50
50
|
/***********
|
|
51
51
|
* Handles *
|
|
52
52
|
***********/
|
|
@@ -59,17 +59,17 @@ const MgModal$1 = /*@__PURE__*/ proxyCustomElement(class MgModal extends HTMLEle
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
watchIdentifier(newValue) {
|
|
62
|
-
if (!
|
|
63
|
-
throw new Error(`<mg-modal> prop "identifier" value is invalid. Passed value: ${
|
|
62
|
+
if (!Dt(newValue)) {
|
|
63
|
+
throw new Error(`<mg-modal> prop "identifier" value is invalid. Passed value: ${Xt(newValue)}.`);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
validateDialogRole(newValue) {
|
|
67
67
|
if (!dialogRoles.includes(newValue))
|
|
68
|
-
throw new Error(`<mg-modal> prop "dialogRole" must be one of: ${dialogRoles.join(', ')}. Passed value: ${
|
|
68
|
+
throw new Error(`<mg-modal> prop "dialogRole" must be one of: ${dialogRoles.join(', ')}. Passed value: ${Xt(newValue)}.`);
|
|
69
69
|
}
|
|
70
70
|
validateModalTitle(newValue) {
|
|
71
|
-
if (!
|
|
72
|
-
throw new Error(`<mg-modal> prop "modalTitle" is required. Passed value: ${
|
|
71
|
+
if (!qe(newValue)) {
|
|
72
|
+
throw new Error(`<mg-modal> prop "modalTitle" is required. Passed value: ${Xt(newValue)}.`);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
watchOpen(newValue) {
|
|
@@ -118,11 +118,11 @@ const MgModal$1 = /*@__PURE__*/ proxyCustomElement(class MgModal extends HTMLEle
|
|
|
118
118
|
* @returns HTML Element
|
|
119
119
|
*/
|
|
120
120
|
render() {
|
|
121
|
-
return (h("dialog", { key: '
|
|
121
|
+
return (h("dialog", { key: '4b7346b707b895a8a110bb7553f0db32d1c5778c', role: this.dialogRole, id: this.identifier, class: this.classCollection.join(), "aria-labelledby": this.titleId, ref: (el) => {
|
|
122
122
|
if (el !== null) {
|
|
123
123
|
this.dialog = el;
|
|
124
124
|
}
|
|
125
|
-
} }, h("mg-card", { key: '
|
|
125
|
+
} }, h("mg-card", { key: '2aaabab2e1be14013bcae66d100ac56c1a9bbf4d' }, h("div", { key: '56a03d6cbda094d7ae4444ca3fab924982f73e2a', class: "mg-c-modal__dialog" }, h("header", { key: 'e7eb70e614a9e6c6b3f14f9e165bf801b780b031', class: "mg-c-modal__header" }, this.closeButton && (h("span", { key: 'c57ccc8f049893c5e46d769b527cc2e2c5ff14c0', class: "mg-c-modal__close-button" }, h("mg-button", { key: 'b1b4357af8c875aab9f1104895de3cc228d12feb', "is-icon": true, variant: "flat", label: this.messages.modal.closeButton, onClick: this.handleClose }, h("mg-icon", { key: 'cfe5fba2577ece682368332d3836cf709bb1b0e1', icon: "cross" })))), h("h1", { key: '718527902ea4814d55bf4d1c89d111a965233f0a', class: "mg-c-modal__title", id: this.titleId }, this.modalTitle)), h("article", { key: '78603fdb8fffa93e5caa6cf0ece9c6dbdbdfefde', class: "mg-c-modal__content" }, h("slot", { key: '1cd5a0415e53cb836428f8b9c4fc02dac11447a9' })), this.hasActions && (h("footer", { key: 'da72e5c2f43308d0f94d4e2eb36e317a13b5b16e', class: "mg-c-modal__footer" }, h("slot", { key: '49467ef13123cb4f4e2b315d293379d857ca3245', name: "actions" })))))));
|
|
126
126
|
}
|
|
127
127
|
get element() { return this; }
|
|
128
128
|
static get watchers() { return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
2
|
+
import { Z as Zt, D as Dt, X as Xt } from './index.es.js';
|
|
3
3
|
import { i as initLocales } from './index2.js';
|
|
4
4
|
import { d as defineCustomElement$7 } from './mg-button2.js';
|
|
5
5
|
import { d as defineCustomElement$6 } from './mg-icon2.js';
|
|
@@ -48,7 +48,7 @@ const MgPagination = /*@__PURE__*/ proxyCustomElement(class MgPagination extends
|
|
|
48
48
|
* Identifier is used for the element ID (id is a reserved prop in Stencil.js)
|
|
49
49
|
* If not set, it will be created.
|
|
50
50
|
*/
|
|
51
|
-
this.identifier =
|
|
51
|
+
this.identifier = Zt('mg-pagination');
|
|
52
52
|
/**
|
|
53
53
|
* Hide navigation label
|
|
54
54
|
*/
|
|
@@ -93,18 +93,18 @@ const MgPagination = /*@__PURE__*/ proxyCustomElement(class MgPagination extends
|
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
watchIdentifier(newValue) {
|
|
96
|
-
if (!
|
|
97
|
-
console.error(`<mg-pagination> prop "identifier" value is invalid. Passed value: ${
|
|
96
|
+
if (!Dt(newValue)) {
|
|
97
|
+
console.error(`<mg-pagination> prop "identifier" value is invalid. Passed value: ${Xt(newValue)}.`);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
validateTotalPages(newValue) {
|
|
101
101
|
if (newValue < 1) {
|
|
102
|
-
throw new Error(`<mg-pagination> prop "totalPages" must be greater than 0. Passed value: ${
|
|
102
|
+
throw new Error(`<mg-pagination> prop "totalPages" must be greater than 0. Passed value: ${Xt(newValue)}.`);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
validateCurrentPage(newValue) {
|
|
106
106
|
if (newValue < 1) {
|
|
107
|
-
throw new Error(`<mg-pagination> prop "currentPage" must be greater than 0. Passed value: ${
|
|
107
|
+
throw new Error(`<mg-pagination> prop "currentPage" must be greater than 0. Passed value: ${Xt(newValue)}.`);
|
|
108
108
|
}
|
|
109
109
|
else if (newValue > this.totalPages) {
|
|
110
110
|
throw new Error('<mg-pagination> prop "currentPage" can not be greater than total page.');
|
|
@@ -134,10 +134,10 @@ const MgPagination = /*@__PURE__*/ proxyCustomElement(class MgPagination extends
|
|
|
134
134
|
* @returns HTML Element
|
|
135
135
|
*/
|
|
136
136
|
render() {
|
|
137
|
-
const navigationActionButton = (disabled, action) => (h("mg-button", { key: '
|
|
137
|
+
const navigationActionButton = (disabled, action) => (h("mg-button", { key: 'b6983bde889955b35b1e580ffd5ece96a2919eca', label: this.messages.pagination[`${action}Page`],
|
|
138
138
|
// eslint-disable-next-line react/jsx-no-bind
|
|
139
|
-
onClick: () => this.handleGoToPage(action, disabled), disabled: disabled, variant: "flat", isIcon: this.hideNavigationLabels }, action === NavigationAction.PREVIOUS && h("mg-icon", { key: '
|
|
140
|
-
return (h(Host, { key: '
|
|
139
|
+
onClick: () => this.handleGoToPage(action, disabled), disabled: disabled, variant: "flat", isIcon: this.hideNavigationLabels }, action === NavigationAction.PREVIOUS && h("mg-icon", { key: '64316742287d7cb9adf0c4bb3cb902a3c1cea6b5', icon: "chevron-left" }), !this.hideNavigationLabels && this.messages.general[action], action === NavigationAction.NEXT && h("mg-icon", { key: '2c405c1530509f3e6938e7c1d754b7aff216a6f7', icon: "chevron-right" })));
|
|
140
|
+
return (h(Host, { key: 'a341519e24868b594c1bb91c12549c0338fc0f49', hidden: this.totalPages < 2 }, h("nav", { key: '1102f256da9b8c25e8dbe6be64b934267d58f4b8', role: "navigation", "aria-label": this.label, id: this.identifier, class: { 'mg-c-pagination': true, 'mg-c-pagination--hide-page-count': this.hidePageCount } }, navigationActionButton(this.currentPage <= 1, NavigationAction.PREVIOUS), !this.hidePageCount && (h("div", { key: '32498b13867e363f6f51ffbaff6f18623cbd698d', class: "mg-c-pagination__page-count" }, h("mg-input-select", { key: 'ff80a43e9fa1bf7cc13c7104e41730df0c044c3e', identifier: `${this.identifier}-select`, items: range(1, this.totalPages).map(page => page.toString()), label: this.messages.pagination.selectPage, "label-hide": true, "on-value-change": this.handleSelect, value: this.currentPage.toString(), "placeholder-hide": true }), h("span", { key: 'c3e331768f997740ed95cde7dc7433df7d065122', class: "mg-u-visually-hidden" }, this.messages.pagination.page, " ", this.currentPage), "/ ", this.totalPages, " ", this.totalPages > 1 ? this.messages.pagination.pages : this.messages.pagination.page)), navigationActionButton(this.currentPage >= this.totalPages, NavigationAction.NEXT))));
|
|
141
141
|
}
|
|
142
142
|
get element() { return this; }
|
|
143
143
|
static get watchers() { return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
2
|
+
import { Z as Zt, H as Ht, D as Dt, X as Xt, q as qe } from './index.es.js';
|
|
3
3
|
import { i as initLocales } from './index2.js';
|
|
4
4
|
import { d as defineCustomElement$a } from './mg-button2.js';
|
|
5
5
|
import { d as defineCustomElement$9 } from './mg-card2.js';
|
|
@@ -33,7 +33,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
|
|
|
33
33
|
* Identifier is used for the element ID (id is a reserved prop in Stencil.js)
|
|
34
34
|
* If not set, it will be created.
|
|
35
35
|
*/
|
|
36
|
-
this.identifier =
|
|
36
|
+
this.identifier = Zt('mg-panel');
|
|
37
37
|
/**
|
|
38
38
|
* Define if panel title is editable
|
|
39
39
|
*/
|
|
@@ -57,7 +57,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
|
|
|
57
57
|
/**
|
|
58
58
|
* Component classes
|
|
59
59
|
*/
|
|
60
|
-
this.classCollection = new
|
|
60
|
+
this.classCollection = new Ht(['mg-c-panel']);
|
|
61
61
|
/**
|
|
62
62
|
* Title is in edition mode
|
|
63
63
|
*/
|
|
@@ -156,13 +156,13 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
|
|
|
156
156
|
};
|
|
157
157
|
}
|
|
158
158
|
watchIdentifier(newValue) {
|
|
159
|
-
if (!
|
|
160
|
-
console.error(`<mg-panel> prop "identifier" value is invalid. Passed value: ${
|
|
159
|
+
if (!Dt(newValue)) {
|
|
160
|
+
console.error(`<mg-panel> prop "identifier" value is invalid. Passed value: ${Xt(newValue)}.`);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
validatePanelTitle(newValue) {
|
|
164
|
-
if (!
|
|
165
|
-
throw new Error(`<mg-panel> prop "panelTitle" is required and must be a string. Passed value: ${
|
|
164
|
+
if (!qe(newValue))
|
|
165
|
+
throw new Error(`<mg-panel> prop "panelTitle" is required and must be a string. Passed value: ${Xt(newValue)}.`);
|
|
166
166
|
this.titleChange.emit(newValue);
|
|
167
167
|
}
|
|
168
168
|
validateTitlePattern(newValue) {
|
|
@@ -171,14 +171,14 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
|
|
|
171
171
|
}
|
|
172
172
|
validateTitlePosition(newValue) {
|
|
173
173
|
if (!titlePositions.includes(newValue))
|
|
174
|
-
throw new Error(`<mg-panel> prop "titlePosition" must be one of: ${titlePositions.join(', ')}. Passed value: ${
|
|
174
|
+
throw new Error(`<mg-panel> prop "titlePosition" must be one of: ${titlePositions.join(', ')}. Passed value: ${Xt(newValue)}.`);
|
|
175
175
|
}
|
|
176
176
|
handleExpanded(newValue) {
|
|
177
177
|
this.expandedChange.emit(newValue);
|
|
178
178
|
}
|
|
179
179
|
validateExpandToggleDisplay(newValue) {
|
|
180
180
|
if (!expandToggleDisplays.includes(newValue))
|
|
181
|
-
throw new Error(`<mg-panel> prop "expandToggleDisplay" must be one of: ${expandToggleDisplays.join(', ')}. Passed value: ${
|
|
181
|
+
throw new Error(`<mg-panel> prop "expandToggleDisplay" must be one of: ${expandToggleDisplays.join(', ')}. Passed value: ${Xt(newValue)}.`);
|
|
182
182
|
if (newValue === 'icon' && this.titleEditable)
|
|
183
183
|
this.titleEditable = false;
|
|
184
184
|
}
|
|
@@ -213,7 +213,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
|
|
|
213
213
|
*/
|
|
214
214
|
render() {
|
|
215
215
|
const headerId = `${this.identifier}-header`;
|
|
216
|
-
return (h("section", { key: '
|
|
216
|
+
return (h("section", { key: '73b9b1ab03307718bc7085799675da7447787c73', class: this.classCollection.join(), id: this.identifier }, h("mg-card", { key: '91702feab4cde0548c276f3d32fa193ff1093cae' }, h("header", { key: '442a17d42f86e73648ffa33124a1745fef3b07e3', class: { 'mg-c-panel__header': true, 'mg-c-panel__header--reverse': this.titlePosition === 'right' }, id: headerId }, this.renderHeaderChildren()), h("article", { key: '0df72fb9e53f0a8307c062d506e8c744fd6780f3', class: "mg-c-panel__content", id: `${this.identifier}-content`, "aria-labelledby": headerId, hidden: !this.expanded }, h("slot", { key: '44fa7501182e1c671d229929ebc12031c3048fdb' })))));
|
|
217
217
|
}
|
|
218
218
|
get element() { return this; }
|
|
219
219
|
static get watchers() { return {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
2
|
+
import { H as Ht, B as Bt } from './index.es.js';
|
|
3
3
|
import { i as initLocales } from './index2.js';
|
|
4
4
|
import { d as defineCustomElement$3 } from './mg-button2.js';
|
|
5
5
|
import { d as defineCustomElement$2 } from './mg-card2.js';
|
|
6
6
|
import { d as defineCustomElement$1 } from './mg-icon2.js';
|
|
7
7
|
|
|
8
|
-
const mgPopoverContentCss = ":host{position:relative;z-index:2000;display:none;padding:var(--mg-b-size-8);color:var(--mg-c-popover-color-text)}:host([data-show]){display:block}:host([data-placement^=left-start]),:host([data-placement^=left-end]),:host([data-placement^=right-start]),:host([data-placement^=right-end]){padding:0 var(--mg-b-size-8)}.mg-c-popover-content{--mg-c-card-max-width:var(--mg-c-popover-max-width);--mg-c-card-min-width:var(--mg-c-popover-min-width)}.mg-c-popover-content mg-button{margin-top:calc(-1*(var(--mg-b-size-min-height) - var(--mg-c-popover-title-font-size)*var(--mg-b-line-height))/2);margin-right:calc(-1*(var(--mg-b-size-min-height) - var(--mg-b-size-16))/2);margin-left:var(--mg-b-size-32);float:right}.mg-c-popover-content__title ::slotted([slot=title]){margin:0 0 var(--mg-b-size-8) !important;font-size:var(--mg-c-popover-title-font-size) !important;font-weight:600 !important}.mg-c-popover-content ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border:var(--mg-c-card-border-default);--mg-c-card-spacing:var(--mg-c-card-spacing-default);--mg-c-card-border-radius:var(--mg-c-card-border-radius-default);--mg-c-card-color-background:var(--mg-c-card-color-background-default);--mg-c-card-box-shadow:var(--mg-c-card-box-shadow-default);--mg-c-card-max-width:unset;--mg-c-card-min-width:unset}:host([data-placement^=top][data-arrow-hide]){padding-bottom:0}:host([data-placement^=bottom][data-arrow-hide]){padding-top:0}:host([data-placement$=end][data-arrow-hide]),:host([data-placement^=left][data-arrow-hide]){padding-right:0}:host([data-placement$=start][data-arrow-hide]),:host([data-placement^=right][data-arrow-hide]){padding-left:0}::slotted([slot=arrow]){position:absolute;width:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));visibility:hidden}::slotted([slot=arrow])::before{position:absolute;content:\"\";visibility:visible}:host([data-arrow-hide]) ::slotted([slot=arrow]){display:none}:host([data-placement^=top]) ::slotted([slot=arrow]),:host([data-placement^=bottom]) ::slotted([slot=arrow]){height:var(--mg-b-size-8)}:host([data-placement^=top]) ::slotted([slot=arrow])::before,:host([data-placement^=bottom]) ::slotted([slot=arrow])::before{left:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-right:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-left:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-placement^=top]) ::slotted([slot=arrow]){bottom:var(--mg-b-size-border);filter:drop-shadow(0 0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-placement^=top]) ::slotted([slot=arrow])::before{border-top:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-placement^=bottom]) ::slotted([slot=arrow]){top:var(--mg-b-size-border);filter:drop-shadow(0 -0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-placement^=bottom]) ::slotted([slot=arrow])::before{border-bottom:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-placement^=left]) ::slotted([slot=arrow]),:host([data-placement^=right]) ::slotted([slot=arrow]){width:var(--mg-b-size-8)}:host([data-placement^=left]) ::slotted([slot=arrow])::before,:host([data-placement^=right]) ::slotted([slot=arrow])::before{top:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-top:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-bottom:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-placement^=left]) ::slotted([slot=arrow]){right:var(--mg-b-size-border);filter:drop-shadow(0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-placement^=left]) ::slotted([slot=arrow])::before{border-left:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-placement^=right]) ::slotted([slot=arrow]){left:var(--mg-b-size-border);filter:drop-shadow(-0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-placement^=right]) ::slotted([slot=arrow])::before{border-right:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-placement^=left-start]) ::slotted([slot=arrow]),:host([data-placement^=left-end]) ::slotted([slot=arrow]),:host([data-placement^=right-start]) ::slotted([slot=arrow]),:host([data-placement^=right-end]) ::slotted([slot=arrow]){height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius))}:host([data-placement^=left-start]) ::slotted([slot=arrow])::before,:host([data-placement^=left-end]) ::slotted([slot=arrow])::before,:host([data-placement^=right-start]) ::slotted([slot=arrow])::before,:host([data-placement^=right-end]) ::slotted([slot=arrow])::before{top:var(--mg-c-card-border-radius)}";
|
|
8
|
+
const mgPopoverContentCss = ":host{position:relative;z-index:2000;display:none;padding:var(--mg-b-size-8);color:var(--mg-c-popover-color-text)}:host([data-show]){display:block}:host([data-popper-placement^=left-start]),:host([data-popper-placement^=left-end]),:host([data-popper-placement^=right-start]),:host([data-popper-placement^=right-end]){padding:0 var(--mg-b-size-8)}.mg-c-popover-content{--mg-c-card-max-width:var(--mg-c-popover-max-width);--mg-c-card-min-width:var(--mg-c-popover-min-width)}.mg-c-popover-content mg-button{margin-top:calc(-1*(var(--mg-b-size-min-height) - var(--mg-c-popover-title-font-size)*var(--mg-b-line-height))/2);margin-right:calc(-1*(var(--mg-b-size-min-height) - var(--mg-b-size-16))/2);margin-left:var(--mg-b-size-32);float:right}.mg-c-popover-content__title ::slotted([slot=title]){margin:0 0 var(--mg-b-size-8) !important;font-size:var(--mg-c-popover-title-font-size) !important;font-weight:600 !important}.mg-c-popover-content ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border:var(--mg-c-card-border-default);--mg-c-card-spacing:var(--mg-c-card-spacing-default);--mg-c-card-border-radius:var(--mg-c-card-border-radius-default);--mg-c-card-color-background:var(--mg-c-card-color-background-default);--mg-c-card-box-shadow:var(--mg-c-card-box-shadow-default);--mg-c-card-max-width:unset;--mg-c-card-min-width:unset}:host([data-popper-placement^=top][data-arrow-hide]){padding-bottom:0}:host([data-popper-placement^=bottom][data-arrow-hide]){padding-top:0}:host([data-popper-placement$=end][data-arrow-hide]),:host([data-popper-placement^=left][data-arrow-hide]){padding-right:0}:host([data-popper-placement$=start][data-arrow-hide]),:host([data-popper-placement^=right][data-arrow-hide]){padding-left:0}::slotted([slot=arrow]){position:absolute;width:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));visibility:hidden}::slotted([slot=arrow])::before{position:absolute;content:\"\";visibility:visible}:host([data-arrow-hide]) ::slotted([slot=arrow]){display:none}:host([data-popper-placement^=top]) ::slotted([slot=arrow]),:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){height:var(--mg-b-size-8)}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{left:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-right:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-left:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=top]) ::slotted([slot=arrow]){bottom:var(--mg-b-size-border);filter:drop-shadow(0 0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before{border-top:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){top:var(--mg-b-size-border);filter:drop-shadow(0 -0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{border-bottom:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]),:host([data-popper-placement^=right]) ::slotted([slot=arrow]){width:var(--mg-b-size-8)}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{top:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-top:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-bottom:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]){right:var(--mg-b-size-border);filter:drop-shadow(0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before{border-left:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=right]) ::slotted([slot=arrow]){left:var(--mg-b-size-border);filter:drop-shadow(-0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{border-right:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=left-end]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-end]) ::slotted([slot=arrow]){height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius))}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=left-end]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-end]) ::slotted([slot=arrow])::before{top:var(--mg-c-card-border-radius)}";
|
|
9
9
|
|
|
10
10
|
const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent extends HTMLElement {
|
|
11
11
|
constructor() {
|
|
@@ -20,7 +20,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
|
|
|
20
20
|
/**
|
|
21
21
|
* Component classes
|
|
22
22
|
*/
|
|
23
|
-
this.classCollection = new
|
|
23
|
+
this.classCollection = new Ht(['mg-c-popover-content']);
|
|
24
24
|
/**
|
|
25
25
|
* Handle action for close button
|
|
26
26
|
*/
|
|
@@ -44,7 +44,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
|
|
|
44
44
|
componentDidLoad() {
|
|
45
45
|
const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
|
|
46
46
|
const slottedTitleElement = this.element.querySelector('[slot="title"]');
|
|
47
|
-
if (slottedTitleElement && !
|
|
47
|
+
if (slottedTitleElement && !Bt(slottedTitleElement, headingTags)) {
|
|
48
48
|
throw new Error(`<mg-popover> Slotted title must be a heading: ${headingTags.join(', ')}.`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -53,7 +53,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
|
|
|
53
53
|
* @returns HTML Element
|
|
54
54
|
*/
|
|
55
55
|
render() {
|
|
56
|
-
return (h(Host, { key: '
|
|
56
|
+
return (h(Host, { key: '8d2dd7d21518de744c18f0280b7b418f3a76acca' }, h("mg-card", { key: '8beab7c9fb692c1983515709a1ee888dc7e5157a', class: this.classCollection.join() }, this.closeButton && (h("mg-button", { key: 'e636569be26b0c741e0b03e806787d91b47ded5c', "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, h("mg-icon", { key: '3edc717cbe542494d892566c182883e20b1ca4cb', icon: "cross" }))), h("div", { key: 'd18525218972d92b6932984edb50844658e12970', class: "mg-c-popover-content__title" }, h("slot", { key: '2cceb41fd4ebb00b889e71cab211431e5894d04c', name: "title" })), h("slot", { key: 'a6615d9d7c85b32fb63d3d89db02fae2f8d5c1b2', name: "content" })), h("slot", { key: '0ff4bf72de19a3d56aafb64391cfc276d70e2f18', name: "arrow" })));
|
|
57
57
|
}
|
|
58
58
|
get element() { return this; }
|
|
59
59
|
static get style() { return mgPopoverContentCss; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"mg-popover-content2.js","mappings":";;;;;;;AAAA,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"file":"mg-popover-content2.js","mappings":";;;;;;;AAAA,MAAM,mBAAmB,GAAG,87JAA87J;;MCY78J,gBAAgB,iBAAAA,kBAAA,CAAA,MAAA,gBAAA,SAAA,WAAA,CAAA;AAL7B,IAAA,WAAA,GAAA;;;;;AAsBE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK;AAE3B;;AAEG;QACM,IAAe,CAAA,eAAA,GAAc,IAAIC,EAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAO7E;;AAEG;AACK,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAW;AACrC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,SAAC;AAgDF;AA9CC;;AAEe;AAEf;;AAEG;IACH,iBAAiB,GAAA;;QAEf,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ;;AAGpD;;AAEG;IACH,gBAAgB,GAAA;AACd,QAAA,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAExD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC;QACxE,IAAI,mBAAmB,IAAI,CAACC,EAAS,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE;AACvE,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,8CAAA,EAAiD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAG,CAAA,CAAA,CAAC;;;AAI/F;;;AAGG;IACH,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAA,EACxC,IAAI,CAAC,WAAW,KACf,mFAAmB,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAA,EACnG,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,IAAI,EAAC,OAAO,EAAA,CAAW,CACtB,CACb,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,EACN,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,SAAS,EAAA,CAAQ,CACpB,EACV,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAQ,CAAA,CACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","ClassList","isTagName"],"sources":["../styles/dist/components/mg-popover-content.css?tag=mg-popover-content&encapsulation=shadow","src/components/molecules/mg-popover/mg-popover-content/mg-popover-content.tsx"],"sourcesContent":[":host{position:relative;z-index:2000;display:none;padding:var(--mg-b-size-8);color:var(--mg-c-popover-color-text)}:host([data-show]){display:block}:host([data-popper-placement^=left-start]),:host([data-popper-placement^=left-end]),:host([data-popper-placement^=right-start]),:host([data-popper-placement^=right-end]){padding:0 var(--mg-b-size-8)}.mg-c-popover-content{--mg-c-card-max-width: var(--mg-c-popover-max-width);--mg-c-card-min-width: var(--mg-c-popover-min-width)}.mg-c-popover-content mg-button{margin-top:calc(-1*(var(--mg-b-size-min-height) - var(--mg-c-popover-title-font-size)*var(--mg-b-line-height))/2);margin-right:calc(-1*(var(--mg-b-size-min-height) - var(--mg-b-size-16))/2);margin-left:var(--mg-b-size-32);float:right}.mg-c-popover-content__title ::slotted([slot=title]){margin:0 0 var(--mg-b-size-8) !important;font-size:var(--mg-c-popover-title-font-size) !important;font-weight:600 !important}.mg-c-popover-content ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border: var(--mg-c-card-border-default);--mg-c-card-spacing: var(--mg-c-card-spacing-default);--mg-c-card-border-radius: var(--mg-c-card-border-radius-default);--mg-c-card-color-background: var(--mg-c-card-color-background-default);--mg-c-card-box-shadow: var(--mg-c-card-box-shadow-default);--mg-c-card-max-width: unset;--mg-c-card-min-width: unset}:host([data-popper-placement^=top][data-arrow-hide]){padding-bottom:0}:host([data-popper-placement^=bottom][data-arrow-hide]){padding-top:0}:host([data-popper-placement$=end][data-arrow-hide]),:host([data-popper-placement^=left][data-arrow-hide]){padding-right:0}:host([data-popper-placement$=start][data-arrow-hide]),:host([data-popper-placement^=right][data-arrow-hide]){padding-left:0}::slotted([slot=arrow]){position:absolute;width:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));visibility:hidden}::slotted([slot=arrow])::before{position:absolute;content:\"\";visibility:visible}:host([data-arrow-hide]) ::slotted([slot=arrow]){display:none}:host([data-popper-placement^=top]) ::slotted([slot=arrow]),:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){height:var(--mg-b-size-8)}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{left:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-right:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-left:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=top]) ::slotted([slot=arrow]){bottom:var(--mg-b-size-border);filter:drop-shadow(0 0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before{border-top:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){top:var(--mg-b-size-border);filter:drop-shadow(0 -0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{border-bottom:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]),:host([data-popper-placement^=right]) ::slotted([slot=arrow]){width:var(--mg-b-size-8)}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{top:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-top:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-bottom:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]){right:var(--mg-b-size-border);filter:drop-shadow(0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before{border-left:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=right]) ::slotted([slot=arrow]){left:var(--mg-b-size-border);filter:drop-shadow(-0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{border-right:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=left-end]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-end]) ::slotted([slot=arrow]){height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius))}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=left-end]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-end]) ::slotted([slot=arrow])::before{top:var(--mg-c-card-border-radius)}/*# sourceMappingURL=mg-popover-content.css.map */\n","import { Component, Element, Host, h, Prop, EventEmitter, Event, State } from '@stencil/core';\nimport { isTagName, ClassList } from '@mgdis/stencil-helpers';\nimport { initLocales } from '../../../../locales';\n\n/**\n * @internal\n */\n@Component({\n tag: 'mg-popover-content',\n styleUrl: '../../../../../node_modules/@mgdis/styles/dist/components/mg-popover-content.css',\n shadow: true,\n})\nexport class MgPopoverContent {\n /************\n * Internal *\n ************/\n\n // Locales\n private messages;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgPopoverContentElement;\n\n /**\n * Define if popover has a cross button\n */\n @Prop() closeButton = false;\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-popover-content']);\n\n /**\n * Emited event when close button is clicked\n */\n @Event({ eventName: 'hide-content' }) hideContent: EventEmitter<void>;\n\n /**\n * Handle action for close button\n */\n private handleCloseButton = (): void => {\n this.hideContent.emit();\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are valide\n */\n componentWillLoad(): void {\n // Get locales\n this.messages = initLocales(this.element).messages;\n }\n\n /**\n * Check if component slots are valide\n */\n componentDidLoad(): void {\n const headingTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n\n const slottedTitleElement = this.element.querySelector('[slot=\"title\"]');\n if (slottedTitleElement && !isTagName(slottedTitleElement, headingTags)) {\n throw new Error(`<mg-popover> Slotted title must be a heading: ${headingTags.join(', ')}.`);\n }\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <Host>\n <mg-card class={this.classCollection.join()}>\n {this.closeButton && (\n <mg-button is-icon variant=\"flat\" label={this.messages.general.close} onClick={this.handleCloseButton}>\n <mg-icon icon=\"cross\"></mg-icon>\n </mg-button>\n )}\n <div class=\"mg-c-popover-content__title\">\n <slot name=\"title\"></slot>\n </div>\n <slot name=\"content\"></slot>\n </mg-card>\n <slot name=\"arrow\"></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
3
|
-
import { i as isFloatingUIPlacement, s as sides, a as alignments, b as autoUpdate, c as computePosition, o as offset, f as flip, d as shift, e as arrow, l as limitShift } from './floating-ui.utils.js';
|
|
2
|
+
import { Z as Zt, D as Dt, X as Xt, J as Jt } from './index.es.js';
|
|
4
3
|
import { d as defineCustomElement$4 } from './mg-button2.js';
|
|
5
4
|
import { d as defineCustomElement$3 } from './mg-card2.js';
|
|
6
5
|
import { d as defineCustomElement$2 } from './mg-icon2.js';
|
|
7
6
|
import { d as defineCustomElement$1 } from './mg-popover-content2.js';
|
|
7
|
+
import { c as createPopper } from './popper.js';
|
|
8
8
|
|
|
9
9
|
const mgPopoverCss = "/*!\n * @prop --mg-c-popover-color-background: Defines the background color of the popover. Default value: `--mg-b-color-light`.\n * @prop --mg-c-popover-color-text: Defines the font color of the popover. Default value: `--mg-b-color-font-dark`.\n * @prop --mg-c-popover-title-font-size: Defines the font size of the popover title. Default value: `--mg-b-font-size-h5`.\n * @prop --mg-c-popover-padding-vertical: Defines the vertical padding of the popover. Default value: `unset`, fallback to `--mg-b-size-16`.\n * @prop --mg-c-popover-padding-horizontal: Defines the horizontal padding of the popover. Default value: `unset`, fallback to `--mg-b-size-16`.\n * @prop --mg-c-popover-max-width: Defines the max-width of the popover. Default value: `--mg-b-size-floating-element-max-width`.\n * @prop --mg-c-popover-min-width: Defines the min-width of the popover. Default value: `unset`.\n */:host{--mg-c-card-spacing:var(--mg-c-popover-padding-vertical, var(--mg-b-size-16)) var(--mg-c-popover-padding-horizontal, var(--mg-b-size-16));--mg-c-card-border:none;--mg-c-card-border-radius:var(--mg-b-size-radius);--mg-c-card-color-background:var(--mg-c-popover-color-background);position:relative;display:contents}:host::slotted(*){display:inline-block}";
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
19
19
|
* Sets an `id` attribute.
|
|
20
20
|
* Needed by the input for accessibility `aria-decribedby`.
|
|
21
21
|
*/
|
|
22
|
-
this.identifier =
|
|
22
|
+
this.identifier = Zt('mg-popover');
|
|
23
23
|
/**
|
|
24
24
|
* Popover placement
|
|
25
25
|
*/
|
|
@@ -49,16 +49,6 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
49
49
|
this.display = false;
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
/**
|
|
53
|
-
* Update aria-expanded attribute on interactive element
|
|
54
|
-
* @param expanded - expanded state
|
|
55
|
-
*/
|
|
56
|
-
this.updateAriaExpanded = (expanded) => {
|
|
57
|
-
const interactiveElement = this.element.querySelector(':not([slot])');
|
|
58
|
-
if (interactiveElement !== null) {
|
|
59
|
-
interactiveElement.setAttribute('aria-expanded', String(expanded));
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
52
|
/**
|
|
63
53
|
* Show popover
|
|
64
54
|
*/
|
|
@@ -66,7 +56,9 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
66
56
|
// Make the popover visible
|
|
67
57
|
this.mgPopover.dataset.show = '';
|
|
68
58
|
// Update aria-expanded
|
|
69
|
-
this.
|
|
59
|
+
this.interactiveElement.setAttribute('aria-expanded', 'true');
|
|
60
|
+
// Enable the event listeners
|
|
61
|
+
this.setPopperListeners(true);
|
|
70
62
|
// hide when click outside
|
|
71
63
|
// setTimeout is used to prevent event to trigger after creation
|
|
72
64
|
setTimeout(() => {
|
|
@@ -80,10 +72,19 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
80
72
|
// Hide the popover
|
|
81
73
|
this.mgPopover.removeAttribute('data-show');
|
|
82
74
|
// Update aria-expanded
|
|
83
|
-
this.
|
|
75
|
+
this.interactiveElement.setAttribute('aria-expanded', 'false');
|
|
76
|
+
// Disable the event listeners
|
|
77
|
+
this.setPopperListeners(false);
|
|
84
78
|
// Remove event listener
|
|
85
79
|
this.manageClickOutsideListeners('removeEventListener');
|
|
86
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Set popper listeners
|
|
83
|
+
* @param newValue - if true enable popper listners
|
|
84
|
+
*/
|
|
85
|
+
this.setPopperListeners = (newValue) => {
|
|
86
|
+
this.popper.setOptions(options => (Object.assign(Object.assign({}, options), { modifiers: [...options.modifiers, { name: 'eventListeners', enabled: newValue }] })));
|
|
87
|
+
};
|
|
87
88
|
/**
|
|
88
89
|
* Manage all clickOustside listeners
|
|
89
90
|
* @param action - top process on elements listeners
|
|
@@ -121,7 +122,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
121
122
|
this.mgPopoverContent.addEventListener('hide-content', this.handleHideContent);
|
|
122
123
|
const arrow = document.createElement('div');
|
|
123
124
|
arrow.setAttribute('slot', 'arrow');
|
|
124
|
-
arrow.dataset.
|
|
125
|
+
arrow.dataset.popperArrow = '';
|
|
125
126
|
this.mgPopoverContent.appendChild(arrow);
|
|
126
127
|
// insert elements in DOM
|
|
127
128
|
['[slot="title"]', '[slot="content"]:not(mg-popover-content)'].forEach(slotType => {
|
|
@@ -135,95 +136,14 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
135
136
|
mgPopoverContent.setAttribute('id', this.identifier);
|
|
136
137
|
}
|
|
137
138
|
};
|
|
138
|
-
/**
|
|
139
|
-
* Get alternative placements ordered by proximity to initial placement
|
|
140
|
-
* First check fallbackPlacement attribute, then generate alternatives:
|
|
141
|
-
* 1. Same side with different alignments (start, center, end)
|
|
142
|
-
* 2. Other sides in order
|
|
143
|
-
* @param placement - initial placement
|
|
144
|
-
* @returns array of alternative placements
|
|
145
|
-
*/
|
|
146
|
-
this.getClosestPlacements = (placement) => {
|
|
147
|
-
// First check if fallbackPlacement attribute is defined
|
|
148
|
-
const fallbackPlacements = (this.element.dataset.fallbackPlacement || '')
|
|
149
|
-
.split(',')
|
|
150
|
-
.map(t => t.trim())
|
|
151
|
-
.filter(isFloatingUIPlacement);
|
|
152
|
-
if (fallbackPlacements.length > 0)
|
|
153
|
-
return Array.from(new Set([...fallbackPlacements, ...sides]).values()).filter(isFloatingUIPlacement);
|
|
154
|
-
// Extract side from placement (e.g. "top" from "top-start")
|
|
155
|
-
const [side] = placement.split('-');
|
|
156
|
-
// Generate placements for same side with different alignments
|
|
157
|
-
const currentSidePlacements = alignments.map(alignment => (alignment !== null ? `${side}-${alignment}` : side));
|
|
158
|
-
// Return unique placements: current side variants first, then other sides
|
|
159
|
-
return Array.from(new Set([...currentSidePlacements, ...sides.filter(otherSide => otherSide !== side)])).filter(isFloatingUIPlacement);
|
|
160
|
-
};
|
|
161
|
-
/**
|
|
162
|
-
* Set up Floating UI positioning and arrow behavior
|
|
163
|
-
* @param interactiveElement - Element that triggers the popover
|
|
164
|
-
*/
|
|
165
|
-
this.setFloatingUI = (interactiveElement) => {
|
|
166
|
-
this.floatingUICleanup = autoUpdate(interactiveElement, this.mgPopover, () => {
|
|
167
|
-
computePosition(interactiveElement, this.mgPopover, {
|
|
168
|
-
placement: this.placement,
|
|
169
|
-
strategy: 'fixed',
|
|
170
|
-
middleware: [
|
|
171
|
-
offset(0),
|
|
172
|
-
flip({
|
|
173
|
-
fallbackPlacements: this.getClosestPlacements(this.placement),
|
|
174
|
-
}),
|
|
175
|
-
shift({
|
|
176
|
-
limiter: limitShift(),
|
|
177
|
-
}),
|
|
178
|
-
arrow({
|
|
179
|
-
element: this.mgPopover.querySelector('[data-floating-arrow]'),
|
|
180
|
-
}),
|
|
181
|
-
],
|
|
182
|
-
}).then(({ x, y, placement, middlewareData }) => {
|
|
183
|
-
Object.assign(this.mgPopover.style, {
|
|
184
|
-
position: 'fixed',
|
|
185
|
-
top: '0',
|
|
186
|
-
left: '0',
|
|
187
|
-
transform: `translate(${Math.round(x)}px, ${Math.round(y)}px)`,
|
|
188
|
-
});
|
|
189
|
-
// Update arrow style
|
|
190
|
-
const staticSide = {
|
|
191
|
-
top: 'bottom',
|
|
192
|
-
right: 'left',
|
|
193
|
-
bottom: 'top',
|
|
194
|
-
left: 'right',
|
|
195
|
-
}[placement.split('-')[0]];
|
|
196
|
-
const arrowElement = this.mgPopover.querySelector('[data-floating-arrow]');
|
|
197
|
-
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
198
|
-
// https://floating-ui.com/docs/arrow
|
|
199
|
-
// Unlike the floating element, which has both coordinates defined at all times, the arrow only has one defined.
|
|
200
|
-
// Due to this, either x or y will be undefined, depending on the side of placement.
|
|
201
|
-
// The above code uses `isNaN` to check for null and undefined simultaneously.
|
|
202
|
-
// Don't remove `isNaN`, because either value can be falsy (0), causing a bug!
|
|
203
|
-
const numberToPx = (number) => (!isNaN(number) ? `${number}px` : '');
|
|
204
|
-
if (arrowElement !== null)
|
|
205
|
-
Object.assign(arrowElement.style, {
|
|
206
|
-
position: 'absolute',
|
|
207
|
-
left: numberToPx(arrowX),
|
|
208
|
-
top: numberToPx(arrowY),
|
|
209
|
-
[staticSide]: '1px',
|
|
210
|
-
});
|
|
211
|
-
this.mgPopover.setAttribute('data-placement', placement);
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
};
|
|
215
139
|
}
|
|
216
140
|
validateIdentifier(newValue) {
|
|
217
|
-
if (!
|
|
218
|
-
throw new Error(`<mg-popover> prop "identifier" value is invalid. Passed value: ${
|
|
141
|
+
if (!Dt(newValue)) {
|
|
142
|
+
throw new Error(`<mg-popover> prop "identifier" value is invalid. Passed value: ${Xt(newValue)}.`);
|
|
219
143
|
}
|
|
220
144
|
// use renderPopoverContent to update popover-content id
|
|
221
145
|
this.renderPopoverContent();
|
|
222
146
|
}
|
|
223
|
-
watchPlacement(newValue) {
|
|
224
|
-
if (!isFloatingUIPlacement(newValue))
|
|
225
|
-
this.placement = 'bottom';
|
|
226
|
-
}
|
|
227
147
|
validateArrowHide(newValue) {
|
|
228
148
|
if (newValue)
|
|
229
149
|
this.mgPopoverContent.dataset.arrowHide = '';
|
|
@@ -249,20 +169,19 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
249
169
|
* update popper position after props change on component did update hook to benefit from render ended
|
|
250
170
|
*/
|
|
251
171
|
componentDidUpdate() {
|
|
252
|
-
this.
|
|
172
|
+
this.popper.update();
|
|
253
173
|
}
|
|
254
174
|
/**
|
|
255
175
|
* Check if component props are well configured on init
|
|
256
176
|
*/
|
|
257
177
|
componentWillLoad() {
|
|
258
178
|
// Get windows to attach events
|
|
259
|
-
this.windows =
|
|
179
|
+
this.windows = Jt(window);
|
|
260
180
|
// render mg-popover-content slot
|
|
261
181
|
this.renderPopoverContent();
|
|
262
182
|
this.validateCloseButton(this.closeButton);
|
|
263
183
|
this.validateIdentifier(this.identifier);
|
|
264
184
|
this.validateArrowHide(this.arrowHide);
|
|
265
|
-
this.watchPlacement(this.placement);
|
|
266
185
|
}
|
|
267
186
|
/**
|
|
268
187
|
* Check if component props are well configured on init
|
|
@@ -270,26 +189,42 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
270
189
|
componentDidLoad() {
|
|
271
190
|
// Get popover content
|
|
272
191
|
this.mgPopover = this.element.querySelector(`#${this.identifier}`);
|
|
273
|
-
//
|
|
274
|
-
|
|
192
|
+
//Get interactive element (first element without slot attribute)
|
|
193
|
+
this.interactiveElement = this.element.querySelector(':not([slot])');
|
|
275
194
|
// Add aria attributes
|
|
276
|
-
interactiveElement.setAttribute('aria-controls', this.identifier);
|
|
277
|
-
interactiveElement.setAttribute('aria-expanded', `${this.display}`);
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
195
|
+
this.interactiveElement.setAttribute('aria-controls', this.identifier);
|
|
196
|
+
this.interactiveElement.setAttribute('aria-expanded', `${this.display}`);
|
|
197
|
+
const fallbackPlacements = [];
|
|
198
|
+
if (this.element.dataset.fallbackPlacement !== undefined) {
|
|
199
|
+
fallbackPlacements.push(this.element.dataset.fallbackPlacement);
|
|
200
|
+
}
|
|
201
|
+
// Create popperjs popover
|
|
202
|
+
this.popper = createPopper(this.interactiveElement, this.mgPopover, {
|
|
203
|
+
placement: this.placement,
|
|
204
|
+
strategy: 'fixed',
|
|
205
|
+
modifiers: [
|
|
206
|
+
{
|
|
207
|
+
name: 'offset',
|
|
208
|
+
options: {
|
|
209
|
+
offset: [0, 0],
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: 'flip',
|
|
214
|
+
options: {
|
|
215
|
+
fallbackPlacements: [...fallbackPlacements, 'auto'],
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
],
|
|
281
219
|
});
|
|
282
|
-
//
|
|
283
|
-
this.
|
|
284
|
-
// Add resize observer
|
|
285
|
-
[interactiveElement, this.mgPopoverContent].forEach(element => {
|
|
220
|
+
// add resize observer
|
|
221
|
+
[this.interactiveElement, this.element.querySelector('mg-popover-content')].forEach(element => {
|
|
286
222
|
new ResizeObserver(() => {
|
|
287
|
-
this.
|
|
288
|
-
this.setFloatingUI(interactiveElement);
|
|
223
|
+
this.popper.update();
|
|
289
224
|
}).observe(element);
|
|
290
225
|
});
|
|
291
226
|
// Add events to toggle display
|
|
292
|
-
interactiveElement.addEventListener('click', () => {
|
|
227
|
+
this.interactiveElement.addEventListener('click', () => {
|
|
293
228
|
if (!this.disabled)
|
|
294
229
|
this.display = !this.display;
|
|
295
230
|
});
|
|
@@ -304,29 +239,21 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
304
239
|
if (!this.disabled && e.code === 'Escape') {
|
|
305
240
|
this.display = false;
|
|
306
241
|
this.componentClose.emit();
|
|
307
|
-
interactiveElement.focus();
|
|
242
|
+
this.interactiveElement.focus();
|
|
308
243
|
}
|
|
309
244
|
});
|
|
310
245
|
this.handleDisplay(this.display);
|
|
311
246
|
}
|
|
312
|
-
/**
|
|
313
|
-
* Cleanup when component is disconnected
|
|
314
|
-
*/
|
|
315
|
-
disconnectedCallback() {
|
|
316
|
-
// Cleanup Floating UI instance
|
|
317
|
-
this.floatingUICleanup();
|
|
318
|
-
}
|
|
319
247
|
/**
|
|
320
248
|
* Render
|
|
321
249
|
* @returns HTML Element
|
|
322
250
|
*/
|
|
323
251
|
render() {
|
|
324
|
-
return (h(Host, { key: '
|
|
252
|
+
return (h(Host, { key: '59f4be0c4d8f066a2f5c6197f237b4bb802fa4fa' }, h("slot", { key: 'bcaaa47052d360711722b9f617b93a4f0f148ca8' }), h("slot", { key: '598390c0e09b27edc2f2a77e29ee2a501a6ecdf8', name: "content" })));
|
|
325
253
|
}
|
|
326
254
|
get element() { return this; }
|
|
327
255
|
static get watchers() { return {
|
|
328
256
|
"identifier": ["validateIdentifier"],
|
|
329
|
-
"placement": ["watchPlacement"],
|
|
330
257
|
"arrowHide": ["validateArrowHide"],
|
|
331
258
|
"closeButton": ["validateCloseButton"],
|
|
332
259
|
"display": ["handleDisplay"]
|
|
@@ -334,14 +261,13 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
|
|
|
334
261
|
static get style() { return mgPopoverCss; }
|
|
335
262
|
}, [1, "mg-popover", {
|
|
336
263
|
"identifier": [1],
|
|
337
|
-
"placement": [
|
|
264
|
+
"placement": [1],
|
|
338
265
|
"arrowHide": [4, "arrow-hide"],
|
|
339
266
|
"closeButton": [4, "close-button"],
|
|
340
267
|
"display": [1028],
|
|
341
268
|
"disabled": [4]
|
|
342
269
|
}, undefined, {
|
|
343
270
|
"identifier": ["validateIdentifier"],
|
|
344
|
-
"placement": ["watchPlacement"],
|
|
345
271
|
"arrowHide": ["validateArrowHide"],
|
|
346
272
|
"closeButton": ["validateCloseButton"],
|
|
347
273
|
"display": ["handleDisplay"]
|