@mgdis/mg-components 5.14.0 → 5.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{mg-action-more_32.cjs.entry.js → mg-action-more_34.cjs.entry.js} +342 -115
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-item-more.cjs.entry.js +4 -2
- package/dist/collection/assets/icons/index.js +179 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.css +43 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +49 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +0 -43
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +57 -12
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +2 -2
- 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.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +35 -15
- 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-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/menu/mg-menu-item/mg-menu-item.js +2 -2
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +9 -2
- package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +21 -8
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +4 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js +4 -0
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +37 -5
- 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.css +135 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +100 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +0 -111
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +42 -43
- package/dist/collection/utils/components.utils.js +8 -7
- package/dist/collection/utils/unit.test.utils.js +6 -5
- package/dist/components/components.utils.js +8 -7
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +2 -0
- package/dist/components/mg-action-more.js +29 -16
- package/dist/components/mg-details.js +1 -1
- package/dist/components/mg-form.js +21 -8
- package/dist/components/mg-icon2.js +77 -17
- package/dist/components/mg-input-checkbox-paginated2.js +18 -12
- package/dist/components/mg-input-checkbox.js +36 -24
- package/dist/components/mg-input-date.js +13 -7
- package/dist/components/mg-input-numeric.js +47 -21
- package/dist/components/mg-input-password.js +13 -7
- package/dist/components/mg-input-radio.js +13 -7
- package/dist/components/mg-input-select2.js +13 -7
- package/dist/components/mg-input-text2.js +15 -9
- package/dist/components/mg-input-textarea.js +15 -9
- package/dist/components/mg-input-toggle.js +12 -6
- package/dist/components/mg-item-more.js +24 -16
- package/dist/components/mg-menu-item2.js +18 -12
- package/dist/components/mg-modal.js +16 -3
- package/dist/components/mg-pagination2.js +16 -10
- package/dist/components/mg-panel.js +21 -15
- package/dist/components/mg-popover-content.d.ts +11 -0
- package/dist/components/mg-popover-content.js +6 -0
- package/dist/components/mg-popover-content2.js +88 -0
- package/dist/components/mg-popover2.js +54 -47
- package/dist/components/mg-tooltip-content.d.ts +11 -0
- package/dist/components/mg-tooltip-content.js +6 -0
- package/dist/components/mg-tooltip-content2.js +41 -0
- package/dist/components/mg-tooltip2.js +64 -15
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{mg-action-more_32.entry.js → mg-action-more_34.entry.js} +341 -116
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-item-more.entry.js +4 -2
- package/dist/mg-components/mg-components.css +1 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-3286bc46.entry.js +1 -0
- package/dist/mg-components/p-91f4a30d.entry.js +1 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +14 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +7 -1
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +19 -0
- package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +6 -1
- package/dist/types/components/molecules/mg-form/mg-form.d.ts +8 -0
- package/dist/types/components/molecules/mg-modal/mg-modal.conf.d.ts +8 -0
- package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +8 -2
- package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +47 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +8 -11
- package/dist/types/components.d.ts +59 -0
- package/package.json +18 -18
- package/dist/mg-components/p-4ae1130f.entry.js +0 -1
- package/dist/mg-components/p-aa298e17.entry.js +0 -1
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { i as initLocales } from './index2.js';
|
|
3
|
-
import { S as Status, d as defineCustomElement$
|
|
3
|
+
import { S as Status, d as defineCustomElement$4 } from './mg-menu-item2.js';
|
|
4
4
|
import { D as Direction } from './mg-menu.conf.js';
|
|
5
5
|
import { c as createID } from './components.utils.js';
|
|
6
|
-
import { d as defineCustomElement$
|
|
7
|
-
import { d as defineCustomElement$
|
|
8
|
-
import { d as defineCustomElement$
|
|
9
|
-
import { d as defineCustomElement$
|
|
10
|
-
import { d as defineCustomElement$
|
|
11
|
-
import { d as defineCustomElement$
|
|
6
|
+
import { d as defineCustomElement$9 } from './mg-badge2.js';
|
|
7
|
+
import { d as defineCustomElement$8 } from './mg-button2.js';
|
|
8
|
+
import { d as defineCustomElement$7 } from './mg-card2.js';
|
|
9
|
+
import { d as defineCustomElement$6 } from './mg-icon2.js';
|
|
10
|
+
import { d as defineCustomElement$5 } from './mg-menu2.js';
|
|
11
|
+
import { d as defineCustomElement$3 } from './mg-popover2.js';
|
|
12
|
+
import { d as defineCustomElement$2 } from './mg-popover-content2.js';
|
|
12
13
|
|
|
13
14
|
const mgActionMoreCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}.mg-action-more__chevron{transition:200ms}.mg-action-more__chevron--rotate.mg-action-more__chevron{transform:rotate(180deg)}";
|
|
14
15
|
|
|
@@ -50,7 +51,7 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
50
51
|
this.name = 'mg-action-more';
|
|
51
52
|
this.mgPopoverIdentifier = createID(this.name);
|
|
52
53
|
/************
|
|
53
|
-
*
|
|
54
|
+
* Methods *
|
|
54
55
|
***********/
|
|
55
56
|
/**
|
|
56
57
|
* Toogle expanded props
|
|
@@ -58,6 +59,13 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
58
59
|
this.toggleExpanded = () => {
|
|
59
60
|
this.expanded = !this.expanded;
|
|
60
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* Handle popover display change value
|
|
64
|
+
* @param event - display change updated value
|
|
65
|
+
*/
|
|
66
|
+
this.handleDisplayChange = (event) => {
|
|
67
|
+
this.expanded = event.detail;
|
|
68
|
+
};
|
|
61
69
|
/**
|
|
62
70
|
* Button click handler
|
|
63
71
|
*/
|
|
@@ -126,7 +134,7 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
|
|
|
126
134
|
'mg-a11y-animation': true,
|
|
127
135
|
} }, h("mg-icon", { icon: "chevron-down", size: "small" })));
|
|
128
136
|
}
|
|
129
|
-
return (h(Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, h("span", { class: "mg-action-more" }, h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded }, h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), h("div", { slot: "content" }, h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
|
|
137
|
+
return (h(Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, h("span", { class: "mg-action-more" }, h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded, "onDisplay-change": this.handleDisplayChange }, h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), h("div", { slot: "content" }, h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
|
|
130
138
|
var _a;
|
|
131
139
|
return (
|
|
132
140
|
// eslint-disable-next-line react/jsx-no-bind
|
|
@@ -152,7 +160,7 @@ function defineCustomElement$1() {
|
|
|
152
160
|
if (typeof customElements === "undefined") {
|
|
153
161
|
return;
|
|
154
162
|
}
|
|
155
|
-
const components = ["mg-action-more", "mg-badge", "mg-button", "mg-card", "mg-icon", "mg-menu", "mg-menu-item", "mg-popover"];
|
|
163
|
+
const components = ["mg-action-more", "mg-badge", "mg-button", "mg-card", "mg-icon", "mg-menu", "mg-menu-item", "mg-popover", "mg-popover-content"];
|
|
156
164
|
components.forEach(tagName => { switch (tagName) {
|
|
157
165
|
case "mg-action-more":
|
|
158
166
|
if (!customElements.get(tagName)) {
|
|
@@ -161,35 +169,40 @@ function defineCustomElement$1() {
|
|
|
161
169
|
break;
|
|
162
170
|
case "mg-badge":
|
|
163
171
|
if (!customElements.get(tagName)) {
|
|
164
|
-
defineCustomElement$
|
|
172
|
+
defineCustomElement$9();
|
|
165
173
|
}
|
|
166
174
|
break;
|
|
167
175
|
case "mg-button":
|
|
168
176
|
if (!customElements.get(tagName)) {
|
|
169
|
-
defineCustomElement$
|
|
177
|
+
defineCustomElement$8();
|
|
170
178
|
}
|
|
171
179
|
break;
|
|
172
180
|
case "mg-card":
|
|
173
181
|
if (!customElements.get(tagName)) {
|
|
174
|
-
defineCustomElement$
|
|
182
|
+
defineCustomElement$7();
|
|
175
183
|
}
|
|
176
184
|
break;
|
|
177
185
|
case "mg-icon":
|
|
178
186
|
if (!customElements.get(tagName)) {
|
|
179
|
-
defineCustomElement$
|
|
187
|
+
defineCustomElement$6();
|
|
180
188
|
}
|
|
181
189
|
break;
|
|
182
190
|
case "mg-menu":
|
|
183
191
|
if (!customElements.get(tagName)) {
|
|
184
|
-
defineCustomElement$
|
|
192
|
+
defineCustomElement$5();
|
|
185
193
|
}
|
|
186
194
|
break;
|
|
187
195
|
case "mg-menu-item":
|
|
188
196
|
if (!customElements.get(tagName)) {
|
|
189
|
-
defineCustomElement$
|
|
197
|
+
defineCustomElement$4();
|
|
190
198
|
}
|
|
191
199
|
break;
|
|
192
200
|
case "mg-popover":
|
|
201
|
+
if (!customElements.get(tagName)) {
|
|
202
|
+
defineCustomElement$3();
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
case "mg-popover-content":
|
|
193
206
|
if (!customElements.get(tagName)) {
|
|
194
207
|
defineCustomElement$2();
|
|
195
208
|
}
|
|
@@ -43,7 +43,7 @@ const MgDetails$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
43
43
|
* @returns HTML Element
|
|
44
44
|
*/
|
|
45
45
|
render() {
|
|
46
|
-
return (h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: el => (this.details = el) }, h("summary", null, h("slot", { name: "summary" }), h("span", { class: "mg-details__toggle" }, h("mg-icon", { icon: "chevron-up", size: "small", class: { 'mg-details__toggle-icon': true, 'mg-details__toggle-icon--reverse': !this.expanded } }), h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), h("div", { class: "mg-details__details" }, h("slot", { name: "details" }))));
|
|
46
|
+
return (h("details", { class: "mg-details", onToggle: this.handleToggle, open: this.expanded, ref: (el) => (this.details = el) }, h("summary", null, h("slot", { name: "summary" }), h("span", { class: "mg-details__toggle" }, h("mg-icon", { icon: "chevron-up", size: "small", class: { 'mg-details__toggle-icon': true, 'mg-details__toggle-icon--reverse': !this.expanded } }), h("span", { class: { 'sr-only': this.hideSummary } }, this.expanded ? this.toggleOpened : this.toggleClosed))), h("div", { class: "mg-details__details" }, h("slot", { name: "details" }))));
|
|
47
47
|
}
|
|
48
48
|
static get watchers() { return {
|
|
49
49
|
"toggleClosed": ["validateTitles"],
|
|
@@ -22,21 +22,34 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
22
22
|
this.classCollection.delete(this.classAllRequired);
|
|
23
23
|
// If the form is disabled or readonly none of them are required
|
|
24
24
|
// Check if all fields are not editable (readonly or disabled)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
25
|
+
const isEditable = input => !(input.disabled || input.readonly);
|
|
26
|
+
const isMgInputToggle = input => input.nodeName === 'MG-INPUT-TOGGLE';
|
|
27
|
+
if (!this.disabled && !this.readonly && this.mgInputs.some(input => isEditable(input) && !isMgInputToggle(input))) {
|
|
28
|
+
// Get editable inputs
|
|
29
|
+
const editableInputs = this.mgInputs.filter(isEditable);
|
|
30
|
+
// Get required inputs
|
|
29
31
|
// mg-input-toggle can not be required
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
const requiredInputs = editableInputs.filter(input => !isMgInputToggle(input) && input.required);
|
|
33
|
+
// All inputs are required
|
|
34
|
+
if ([requiredInputs.length, editableInputs.length].every(length => length === 1) ||
|
|
35
|
+
(requiredInputs.length > 1 && requiredInputs.length === editableInputs.filter(input => !isMgInputToggle(input)).length)) {
|
|
36
|
+
this.requiredMessage = this.getRequiredMessageBasedOnCount(requiredInputs, 'allRequiredSingle', 'allRequired');
|
|
32
37
|
this.classCollection.add(this.classAllRequired);
|
|
33
38
|
}
|
|
34
39
|
// Some fields are required
|
|
35
40
|
else if (requiredInputs.length > 0) {
|
|
36
|
-
this.requiredMessage = requiredInputs
|
|
41
|
+
this.requiredMessage = this.getRequiredMessageBasedOnCount(requiredInputs, 'requiredSingle', 'required');
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Returns a required message based on the count of required inputs.
|
|
47
|
+
* @param requiredInputs - An array of required input elements.
|
|
48
|
+
* @param keySingle - The key for the singular message format.
|
|
49
|
+
* @param keyPlural - The key for the plural message format.
|
|
50
|
+
* @returns The appropriate required message based on the count of required inputs.
|
|
51
|
+
*/
|
|
52
|
+
this.getRequiredMessageBasedOnCount = (requiredInputs, keySingle, keyPlural) => this.messages.form[requiredInputs.length === 1 ? keySingle : keyPlural];
|
|
40
53
|
/**
|
|
41
54
|
* Check if form is valid
|
|
42
55
|
*/
|
|
@@ -148,7 +161,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
148
161
|
* @returns HTML Element
|
|
149
162
|
*/
|
|
150
163
|
render() {
|
|
151
|
-
return (h("form", { class: this.classCollection.join(), id: this.identifier, name: this.name, ref: el => (this.form = el), onSubmit: this.handleFormSubmit }, this.requiredMessage && h("p", { innerHTML: this.requiredMessage }), h("slot", null), !this.readonly && !this.disabled && h("slot", { name: "actions" })));
|
|
164
|
+
return (h("form", { class: this.classCollection.join(), id: this.identifier, name: this.name, ref: (el) => (this.form = el), onSubmit: this.handleFormSubmit }, this.requiredMessage && h("p", { innerHTML: this.requiredMessage }), h("slot", null), !this.readonly && !this.disabled && h("slot", { name: "actions" })));
|
|
152
165
|
}
|
|
153
166
|
get element() { return this; }
|
|
154
167
|
static get watchers() { return {
|