@mgdis/mg-components 6.16.0 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-T3-qWqFE.js → index-DCZEYvlH.js} +51 -28
- package/dist/cjs/{index-YM1EJx9X.js → index-TUElr4Wv.js} +10 -10
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mg-action-more_37.cjs.entry.js +443 -228
- package/dist/cjs/mg-alert.cjs.entry.js +3 -3
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/cjs/mg-fieldset.cjs.entry.js +141 -0
- package/dist/cjs/mg-input-combobox.cjs.entry.js +73 -57
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +36 -23
- package/dist/cjs/{mg-input.conf-WTsvDfpC.js → mg-input.conf-HYIzRsy7.js} +5 -0
- package/dist/cjs/mg-loader.cjs.entry.js +3 -3
- package/dist/cjs/mg-progress.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js +5 -5
- package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js +7 -7
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +6 -6
- package/dist/collection/components/atoms/mg-button/mg-button.js +13 -13
- package/dist/collection/components/atoms/mg-card/mg-card.js +2 -2
- package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +32 -26
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -3
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +2 -2
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +6 -6
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +4 -0
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +193 -33
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +7 -9
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +65 -46
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +106 -86
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +67 -65
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +71 -66
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +56 -38
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +53 -35
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +66 -47
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +58 -40
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +77 -59
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +63 -45
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +54 -30
- package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +2 -4
- package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +9 -6
- package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +7 -7
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -5
- package/dist/collection/components/molecules/mg-alert/mg-alert.js +5 -5
- package/dist/collection/components/molecules/mg-details/mg-details.js +7 -7
- package/dist/collection/components/molecules/mg-fieldset/mg-fieldset.js +404 -0
- package/dist/collection/components/molecules/mg-form/mg-form.js +26 -17
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -3
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +4 -4
- package/dist/collection/components/molecules/mg-message/mg-message.js +4 -4
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +8 -8
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +7 -8
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +53 -22
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +2 -2
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +7 -7
- package/dist/collection/components/molecules/mg-progress/mg-progress.js +7 -7
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -2
- package/dist/collection/components/molecules/mg-table/mg-table.js +2 -3
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +7 -8
- package/dist/collection/locales/en/messages.json +5 -5
- package/dist/collection/locales/fr/messages.json +5 -5
- package/dist/components/index3.js +10 -10
- package/dist/components/mg-action-more.js +5 -3
- package/dist/components/mg-alert.js +5 -3
- package/dist/components/mg-badge2.js +4 -2
- package/dist/components/mg-button2.js +4 -2
- package/dist/components/mg-card2.js +4 -2
- package/dist/components/mg-character-left2.js +4 -2
- package/dist/components/mg-details.js +5 -3
- package/dist/components/mg-divider2.js +4 -2
- package/dist/components/mg-fieldset.d.ts +11 -0
- package/dist/components/mg-fieldset.js +209 -0
- package/dist/components/mg-form.js +8 -5
- package/dist/components/mg-icon2.js +29 -21
- package/dist/components/mg-illustrated-message.js +5 -3
- package/dist/components/mg-input-checkbox-paginated2.js +6 -6
- package/dist/components/mg-input-checkbox.js +32 -17
- package/dist/components/mg-input-combobox.js +75 -57
- package/dist/components/mg-input-date.js +39 -42
- package/dist/components/mg-input-numeric.js +30 -30
- package/dist/components/mg-input-password.js +26 -13
- package/dist/components/mg-input-radio.js +27 -13
- package/dist/components/mg-input-rich-text-editor.js +37 -22
- package/dist/components/mg-input-select2.js +28 -14
- package/dist/components/mg-input-text2.js +40 -26
- package/dist/components/mg-input-textarea.js +27 -14
- package/dist/components/mg-input-title2.js +4 -2
- package/dist/components/mg-input-toggle.js +39 -12
- package/dist/components/mg-input2.js +121 -20
- package/dist/components/mg-item-more2.js +13 -5
- package/dist/components/mg-loader2.js +5 -3
- package/dist/components/mg-menu-item2.js +4 -2
- package/dist/components/mg-message2.js +6 -4
- package/dist/components/mg-modal.js +6 -4
- package/dist/components/mg-pagination.js +4 -2
- package/dist/components/mg-panel.js +40 -9
- package/dist/components/mg-popover-content2.js +5 -3
- package/dist/components/mg-popover2.js +5 -3
- package/dist/components/mg-progress.js +5 -3
- package/dist/components/mg-skip-links.js +5 -3
- package/dist/components/mg-table.js +4 -2
- package/dist/components/mg-tabs2.js +5 -3
- package/dist/components/mg-tag.js +4 -2
- package/dist/components/mg-tooltip-content2.js +4 -2
- package/dist/components/mg-tooltip2.js +4 -2
- package/dist/esm/{index-WtiuOkLj.js → index-C7xjtdiw.js} +1 -1
- package/dist/esm/{index-Bab8_u8S.js → index-CNX6lq0x.js} +10 -10
- package/dist/esm/{index-JHj_9FSs.js → index-T6kOJXP1.js} +51 -28
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-action-more_37.entry.js +444 -229
- package/dist/esm/mg-alert.entry.js +4 -4
- package/dist/esm/mg-components.js +4 -4
- package/dist/esm/mg-fieldset.entry.js +139 -0
- package/dist/esm/mg-input-combobox.entry.js +74 -58
- package/dist/esm/mg-input-rich-text-editor.entry.js +37 -24
- package/dist/esm/{mg-input.conf-CNgv8hc5.js → mg-input.conf-D9V2v4n2.js} +5 -1
- package/dist/esm/mg-loader.entry.js +4 -4
- package/dist/esm/mg-progress.entry.js +3 -3
- package/dist/mg-components/locales/en/messages.json +5 -5
- package/dist/mg-components/locales/fr/messages.json +5 -5
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-2bab89c2.entry.js +1 -0
- package/dist/mg-components/{p-658f828c.entry.js → p-5abc77cd.entry.js} +1 -1
- package/dist/mg-components/p-7d2e43b2.entry.js +1 -0
- package/dist/mg-components/{p-c85b5d10.entry.js → p-92e5e5a6.entry.js} +1 -1
- package/dist/mg-components/{p-42a90251.entry.js → p-952288bd.entry.js} +1 -1
- package/dist/mg-components/{p-WtiuOkLj.js → p-C7xjtdiw.js} +1 -1
- package/dist/mg-components/p-CNX6lq0x.js +1 -0
- package/dist/mg-components/p-D9V2v4n2.js +1 -0
- package/dist/mg-components/p-T6kOJXP1.js +2 -0
- package/dist/mg-components/p-f2cddd52.entry.js +1 -0
- package/dist/mg-components/{p-82455ac7.entry.js → p-f6afaeb8.entry.js} +1 -1
- package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +1 -1
- package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +0 -5
- package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +5 -0
- package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +32 -1
- package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +4 -3
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +4 -2
- package/dist/types/components/molecules/mg-fieldset/mg-fieldset.d.ts +105 -0
- package/dist/types/components/molecules/mg-form/mg-form.d.ts +1 -1
- package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +8 -1
- package/dist/types/components.d.ts +168 -18
- package/dist/types/stencil-public-runtime.d.ts +39 -2
- package/dist/types/types/index.d.ts +1 -1
- package/ide/intellij/web-types.json +289 -181
- package/ide/vscode/html-custom-data.json +259 -18
- package/package.json +23 -23
- package/dist/mg-components/p-54156253.entry.js +0 -1
- package/dist/mg-components/p-Bab8_u8S.js +0 -1
- package/dist/mg-components/p-CNgv8hc5.js +0 -1
- package/dist/mg-components/p-JHj_9FSs.js +0 -2
- package/dist/mg-components/p-abbd151c.entry.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { isValideID, isValidString, toString } from "@mgdis/core-ui-helpers/dist/utils";
|
|
3
|
-
import { tooltipPositions, classFieldset, classReadonly, classDisabled, classVerticalList } from "./mg-input.conf";
|
|
3
|
+
import { tooltipPositions, classFieldset, classReadonly, classDisabled, classVerticalList, labelHeadings } from "./mg-input.conf";
|
|
4
4
|
/**
|
|
5
5
|
* @slot - Input content
|
|
6
6
|
*/
|
|
@@ -13,6 +13,9 @@ export class MgInput {
|
|
|
13
13
|
this.classInput = 'mg-c-input';
|
|
14
14
|
this.classHasError = 'mg-c-input--has-error';
|
|
15
15
|
this.classLabelOnTop = 'mg-c-input--label-on-top';
|
|
16
|
+
this.classHasHeading = 'mg-c-input--has-heading';
|
|
17
|
+
this.classLabelBorderDisplay = 'mg-c-input--label-border-display';
|
|
18
|
+
this.classInputsOnBottom = 'mg-c-input--inputs-on-bottom';
|
|
16
19
|
/**
|
|
17
20
|
* Define if label is displayed on top
|
|
18
21
|
*/
|
|
@@ -21,6 +24,11 @@ export class MgInput {
|
|
|
21
24
|
* Define if label is visible
|
|
22
25
|
*/
|
|
23
26
|
this.labelHide = false;
|
|
27
|
+
/**
|
|
28
|
+
* Define if label border is visible
|
|
29
|
+
* You must pair this mode with `labelOnTop`and `fieldset` class
|
|
30
|
+
*/
|
|
31
|
+
this.labelBorderDisplay = false;
|
|
24
32
|
/**
|
|
25
33
|
* Define tooltip position
|
|
26
34
|
*/
|
|
@@ -29,6 +37,10 @@ export class MgInput {
|
|
|
29
37
|
* Define if input is required
|
|
30
38
|
*/
|
|
31
39
|
this.required = false;
|
|
40
|
+
/**
|
|
41
|
+
* Display inputs after help-text and error message
|
|
42
|
+
*/
|
|
43
|
+
this.inputsOnBottom = false;
|
|
32
44
|
/**
|
|
33
45
|
* Define aria-describedby ids to link with
|
|
34
46
|
*/
|
|
@@ -49,11 +61,44 @@ export class MgInput {
|
|
|
49
61
|
* Element is disabled
|
|
50
62
|
*/
|
|
51
63
|
this.isVerticalList = false;
|
|
64
|
+
/************
|
|
65
|
+
* Methods *
|
|
66
|
+
************/
|
|
67
|
+
/**
|
|
68
|
+
* Update element aria-describedby
|
|
69
|
+
* @param element - element to update
|
|
70
|
+
* @param ariaDescribedbyIDs - ariaDescribedbyIDs references
|
|
71
|
+
*/
|
|
72
|
+
this.updateElementAriaDescribedby = (element, ariaDescribedbyIDs) => {
|
|
73
|
+
if (ariaDescribedbyIDs.size > 0) {
|
|
74
|
+
element.setAttribute('aria-describedby', Array.from(ariaDescribedbyIDs).join(' '));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
element.removeAttribute('aria-describedby');
|
|
78
|
+
}
|
|
79
|
+
};
|
|
52
80
|
/**
|
|
53
81
|
* Get tooltip node
|
|
54
82
|
* @returns mg-tooltip
|
|
55
83
|
*/
|
|
56
84
|
this.renderTooltip = () => (h("mg-tooltip", { identifier: `${this.identifier}-tooltip`, message: this.tooltip }, h("mg-icon", { icon: "info-circle" })));
|
|
85
|
+
/**
|
|
86
|
+
* Get input container element
|
|
87
|
+
* @returns ordered elements
|
|
88
|
+
*/
|
|
89
|
+
this.inputContainerElements = () => {
|
|
90
|
+
const elements = [
|
|
91
|
+
this.helptextMessageSlotElement && (h("div", { class: "mg-c-input__help-text" }, h("slot", { name: this.slotHelpText }))),
|
|
92
|
+
!this.isDisabled && this.errorMessage && (h("div", { class: "mg-c-input__error", "aria-live": "assertive" }, h("slot", { name: this.slotError }))),
|
|
93
|
+
];
|
|
94
|
+
const inputSlot = (h("div", { class: "mg-c-input__input" }, h("slot", null), this.tooltip && !this.labelOnTop && (this.tooltipPosition === 'input' || this.labelHide) && this.renderTooltip()));
|
|
95
|
+
if (this.inputsOnBottom) {
|
|
96
|
+
return [...elements, inputSlot];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return [inputSlot, ...elements];
|
|
100
|
+
}
|
|
101
|
+
};
|
|
57
102
|
}
|
|
58
103
|
watchIdentifier(newValue) {
|
|
59
104
|
if (!isValidString(newValue)) {
|
|
@@ -80,6 +125,26 @@ export class MgInput {
|
|
|
80
125
|
throw new Error('<mg-input> prop "labelOnTop" must not be paired with the prop "labelHide".');
|
|
81
126
|
}
|
|
82
127
|
}
|
|
128
|
+
watchlabelHeading(newValue) {
|
|
129
|
+
if (this.isFieldset && this.labelOnTop && labelHeadings.includes(newValue)) {
|
|
130
|
+
this.element.classList.add(this.classHasHeading);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
if ((!this.isFieldset && newValue !== undefined) || typeof newValue === 'string') {
|
|
134
|
+
throw new Error(`<mg-input> prop "labelHeading" must be used with a fieldset and be one of: ${labelHeadings.join(', ')}. Passed value: ${toString(newValue)}.`);
|
|
135
|
+
}
|
|
136
|
+
this.labelHeading = undefined;
|
|
137
|
+
this.element.classList.remove(this.classHasHeading);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
watchLabelBorderDisplay(newValue) {
|
|
141
|
+
if (this.isFieldset && this.labelOnTop && newValue) {
|
|
142
|
+
this.element.classList.add(this.classLabelBorderDisplay);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.element.classList.remove(this.classLabelBorderDisplay);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
83
148
|
watchTooltipPosition(newValue) {
|
|
84
149
|
if (!tooltipPositions.includes(newValue)) {
|
|
85
150
|
throw new Error(`<mg-input> prop "tooltipPosition" must be one of: ${tooltipPositions.join(', ')}. Passed value: ${toString(newValue)}.`);
|
|
@@ -99,7 +164,7 @@ export class MgInput {
|
|
|
99
164
|
}
|
|
100
165
|
watchHelpText(newValue) {
|
|
101
166
|
var _a;
|
|
102
|
-
if (newValue && !this.isReadonly) {
|
|
167
|
+
if (isValidString(newValue) && !this.isReadonly) {
|
|
103
168
|
this.renderHelpText();
|
|
104
169
|
}
|
|
105
170
|
else {
|
|
@@ -107,6 +172,14 @@ export class MgInput {
|
|
|
107
172
|
this.helptextMessageSlotElement = undefined;
|
|
108
173
|
}
|
|
109
174
|
}
|
|
175
|
+
watchInputsOnBottom(newValue) {
|
|
176
|
+
if (newValue) {
|
|
177
|
+
this.element.classList.add(this.classInputsOnBottom);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.element.classList.remove(this.classInputsOnBottom);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
110
183
|
watchAriaDescribedbyIDs() {
|
|
111
184
|
if (this.isReadonly) {
|
|
112
185
|
return;
|
|
@@ -122,23 +195,26 @@ export class MgInput {
|
|
|
122
195
|
// a11y IDs
|
|
123
196
|
const ariaDescribedbyIDs = new Set(this.ariaDescribedbyIDs);
|
|
124
197
|
// Help text
|
|
125
|
-
if (this.helpText
|
|
198
|
+
if (isValidString(this.helpText)) {
|
|
126
199
|
this.renderHelpText();
|
|
127
200
|
if (!ariaDescribedbyIDs.has(this.helpTextId))
|
|
128
201
|
ariaDescribedbyIDs.add(this.helpTextId);
|
|
129
202
|
}
|
|
130
203
|
// Error Message
|
|
131
|
-
if (this.errorMessage
|
|
204
|
+
if (isValidString(this.errorMessage)) {
|
|
132
205
|
this.renderErrorMessage();
|
|
133
206
|
if (!ariaDescribedbyIDs.has(this.helpTextErrorId))
|
|
134
207
|
ariaDescribedbyIDs.add(this.helpTextErrorId);
|
|
135
208
|
}
|
|
136
|
-
this.element.querySelectorAll('input,select,textarea,[role="switch"]')
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
209
|
+
const inputs = this.element.querySelectorAll('input,select,textarea,[role="switch"]');
|
|
210
|
+
inputs.forEach((element) => {
|
|
211
|
+
this.updateElementAriaDescribedby(element, ariaDescribedbyIDs);
|
|
212
|
+
});
|
|
213
|
+
// use timeout to await for legend render for componentWillLoad hook
|
|
214
|
+
setTimeout(() => {
|
|
215
|
+
const legend = this.element.querySelector('legend');
|
|
216
|
+
if (legend !== null) {
|
|
217
|
+
this.updateElementAriaDescribedby(legend, ariaDescribedbyIDs);
|
|
142
218
|
}
|
|
143
219
|
});
|
|
144
220
|
}
|
|
@@ -168,9 +244,6 @@ export class MgInput {
|
|
|
168
244
|
this.renderLabel();
|
|
169
245
|
}
|
|
170
246
|
}
|
|
171
|
-
/************
|
|
172
|
-
* Methods *
|
|
173
|
-
************/
|
|
174
247
|
/**
|
|
175
248
|
* Render input label
|
|
176
249
|
*/
|
|
@@ -190,11 +263,21 @@ export class MgInput {
|
|
|
190
263
|
labelSlotElement.setAttribute(attr, val);
|
|
191
264
|
});
|
|
192
265
|
// create label element
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
266
|
+
if (labelHeadings.includes(this.labelHeading)) {
|
|
267
|
+
let label = this.element.shadowRoot.querySelector(this.labelHeading);
|
|
268
|
+
if (label === null) {
|
|
269
|
+
label = document.createElement(this.labelHeading);
|
|
270
|
+
label.classList.add('mg-c-input-title__text');
|
|
271
|
+
labelSlotElement.appendChild(label);
|
|
272
|
+
}
|
|
273
|
+
label.textContent = this.label;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
labelSlotElement.textContent = this.label;
|
|
277
|
+
}
|
|
197
278
|
this.element.appendChild(labelSlotElement);
|
|
279
|
+
// update aria-describedby
|
|
280
|
+
this.watchAriaDescribedbyIDs();
|
|
198
281
|
}
|
|
199
282
|
/**
|
|
200
283
|
* Render error message
|
|
@@ -237,6 +320,9 @@ export class MgInput {
|
|
|
237
320
|
this.watchTooltipPosition(this.tooltipPosition);
|
|
238
321
|
this.watchHelpText(this.helpText);
|
|
239
322
|
this.watchErrorMessage(this.errorMessage);
|
|
323
|
+
this.watchInputsOnBottom(this.inputsOnBottom);
|
|
324
|
+
this.watchlabelHeading(this.labelHeading);
|
|
325
|
+
this.watchLabelBorderDisplay(this.labelBorderDisplay);
|
|
240
326
|
}
|
|
241
327
|
/**
|
|
242
328
|
* Validate slots
|
|
@@ -253,7 +339,7 @@ export class MgInput {
|
|
|
253
339
|
*/
|
|
254
340
|
render() {
|
|
255
341
|
const isGroup = this.isFieldset && !this.isReadonly;
|
|
256
|
-
return (h(Host, { key: '
|
|
342
|
+
return (h(Host, { key: 'fbab18280a709407c83f324127e8de6cbb05fe7c', class: this.element.classList.toString(), role: isGroup ? 'group' : undefined, "aria-labelledby": isGroup ? `${this.identifier}-title` : undefined }, h("div", { key: 'ac0924c244b9fa87d02e659a5710ee93d12a202f', class: { 'mg-c-input__title': true, 'mg-u-visually-hidden': this.labelHide } }, h("slot", { key: 'c825af33ba0a6c209d02d6487422347f7d8acfed', name: this.slotLabel }), this.tooltip && (this.tooltipPosition === 'label' || this.labelOnTop) && !this.labelHide && this.renderTooltip()), h("div", { key: '805e1eedfdea132f3ea4fd11da761810a3d7c939', class: "mg-c-input__input-container" }, this.inputContainerElements())));
|
|
257
343
|
}
|
|
258
344
|
static get is() { return "mg-input"; }
|
|
259
345
|
static get encapsulation() { return "shadow"; }
|
|
@@ -271,7 +357,6 @@ export class MgInput {
|
|
|
271
357
|
return {
|
|
272
358
|
"identifier": {
|
|
273
359
|
"type": "string",
|
|
274
|
-
"attribute": "identifier",
|
|
275
360
|
"mutable": false,
|
|
276
361
|
"complexType": {
|
|
277
362
|
"original": "string",
|
|
@@ -286,11 +371,11 @@ export class MgInput {
|
|
|
286
371
|
},
|
|
287
372
|
"getter": false,
|
|
288
373
|
"setter": false,
|
|
289
|
-
"reflect": false
|
|
374
|
+
"reflect": false,
|
|
375
|
+
"attribute": "identifier"
|
|
290
376
|
},
|
|
291
377
|
"label": {
|
|
292
378
|
"type": "string",
|
|
293
|
-
"attribute": "label",
|
|
294
379
|
"mutable": false,
|
|
295
380
|
"complexType": {
|
|
296
381
|
"original": "string",
|
|
@@ -305,11 +390,11 @@ export class MgInput {
|
|
|
305
390
|
},
|
|
306
391
|
"getter": false,
|
|
307
392
|
"setter": false,
|
|
308
|
-
"reflect": false
|
|
393
|
+
"reflect": false,
|
|
394
|
+
"attribute": "label"
|
|
309
395
|
},
|
|
310
396
|
"labelOnTop": {
|
|
311
397
|
"type": "boolean",
|
|
312
|
-
"attribute": "label-on-top",
|
|
313
398
|
"mutable": false,
|
|
314
399
|
"complexType": {
|
|
315
400
|
"original": "boolean",
|
|
@@ -325,11 +410,11 @@ export class MgInput {
|
|
|
325
410
|
"getter": false,
|
|
326
411
|
"setter": false,
|
|
327
412
|
"reflect": false,
|
|
413
|
+
"attribute": "label-on-top",
|
|
328
414
|
"defaultValue": "false"
|
|
329
415
|
},
|
|
330
416
|
"labelHide": {
|
|
331
417
|
"type": "boolean",
|
|
332
|
-
"attribute": "label-hide",
|
|
333
418
|
"mutable": false,
|
|
334
419
|
"complexType": {
|
|
335
420
|
"original": "boolean",
|
|
@@ -345,11 +430,56 @@ export class MgInput {
|
|
|
345
430
|
"getter": false,
|
|
346
431
|
"setter": false,
|
|
347
432
|
"reflect": false,
|
|
433
|
+
"attribute": "label-hide",
|
|
434
|
+
"defaultValue": "false"
|
|
435
|
+
},
|
|
436
|
+
"labelHeading": {
|
|
437
|
+
"type": "string",
|
|
438
|
+
"mutable": true,
|
|
439
|
+
"complexType": {
|
|
440
|
+
"original": "labelHeading",
|
|
441
|
+
"resolved": "\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
|
|
442
|
+
"references": {
|
|
443
|
+
"labelHeading": {
|
|
444
|
+
"location": "import",
|
|
445
|
+
"path": "./mg-input.conf",
|
|
446
|
+
"id": "src/components/molecules/inputs/mg-input/mg-input.conf.ts::labelHeading"
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
"required": false,
|
|
451
|
+
"optional": true,
|
|
452
|
+
"docs": {
|
|
453
|
+
"tags": [],
|
|
454
|
+
"text": "Define label heading, use to define label with associated semantic\nYou must pair this mode with `labelOnTop`and `fieldset` class"
|
|
455
|
+
},
|
|
456
|
+
"getter": false,
|
|
457
|
+
"setter": false,
|
|
458
|
+
"reflect": false,
|
|
459
|
+
"attribute": "label-heading"
|
|
460
|
+
},
|
|
461
|
+
"labelBorderDisplay": {
|
|
462
|
+
"type": "boolean",
|
|
463
|
+
"mutable": false,
|
|
464
|
+
"complexType": {
|
|
465
|
+
"original": "boolean",
|
|
466
|
+
"resolved": "boolean",
|
|
467
|
+
"references": {}
|
|
468
|
+
},
|
|
469
|
+
"required": false,
|
|
470
|
+
"optional": false,
|
|
471
|
+
"docs": {
|
|
472
|
+
"tags": [],
|
|
473
|
+
"text": "Define if label border is visible\nYou must pair this mode with `labelOnTop`and `fieldset` class"
|
|
474
|
+
},
|
|
475
|
+
"getter": false,
|
|
476
|
+
"setter": false,
|
|
477
|
+
"reflect": false,
|
|
478
|
+
"attribute": "label-border-display",
|
|
348
479
|
"defaultValue": "false"
|
|
349
480
|
},
|
|
350
481
|
"tooltip": {
|
|
351
482
|
"type": "string",
|
|
352
|
-
"attribute": "tooltip",
|
|
353
483
|
"mutable": false,
|
|
354
484
|
"complexType": {
|
|
355
485
|
"original": "string",
|
|
@@ -364,11 +494,11 @@ export class MgInput {
|
|
|
364
494
|
},
|
|
365
495
|
"getter": false,
|
|
366
496
|
"setter": false,
|
|
367
|
-
"reflect": false
|
|
497
|
+
"reflect": false,
|
|
498
|
+
"attribute": "tooltip"
|
|
368
499
|
},
|
|
369
500
|
"tooltipPosition": {
|
|
370
501
|
"type": "string",
|
|
371
|
-
"attribute": "tooltip-position",
|
|
372
502
|
"mutable": false,
|
|
373
503
|
"complexType": {
|
|
374
504
|
"original": "TooltipPosition",
|
|
@@ -390,11 +520,11 @@ export class MgInput {
|
|
|
390
520
|
"getter": false,
|
|
391
521
|
"setter": false,
|
|
392
522
|
"reflect": false,
|
|
523
|
+
"attribute": "tooltip-position",
|
|
393
524
|
"defaultValue": "'input'"
|
|
394
525
|
},
|
|
395
526
|
"required": {
|
|
396
527
|
"type": "boolean",
|
|
397
|
-
"attribute": "required",
|
|
398
528
|
"mutable": false,
|
|
399
529
|
"complexType": {
|
|
400
530
|
"original": "boolean",
|
|
@@ -410,11 +540,11 @@ export class MgInput {
|
|
|
410
540
|
"getter": false,
|
|
411
541
|
"setter": false,
|
|
412
542
|
"reflect": false,
|
|
543
|
+
"attribute": "required",
|
|
413
544
|
"defaultValue": "false"
|
|
414
545
|
},
|
|
415
546
|
"errorMessage": {
|
|
416
547
|
"type": "string",
|
|
417
|
-
"attribute": "error-message",
|
|
418
548
|
"mutable": false,
|
|
419
549
|
"complexType": {
|
|
420
550
|
"original": "string",
|
|
@@ -429,11 +559,11 @@ export class MgInput {
|
|
|
429
559
|
},
|
|
430
560
|
"getter": false,
|
|
431
561
|
"setter": false,
|
|
432
|
-
"reflect": false
|
|
562
|
+
"reflect": false,
|
|
563
|
+
"attribute": "error-message"
|
|
433
564
|
},
|
|
434
565
|
"helpText": {
|
|
435
566
|
"type": "string",
|
|
436
|
-
"attribute": "help-text",
|
|
437
567
|
"mutable": false,
|
|
438
568
|
"complexType": {
|
|
439
569
|
"original": "string",
|
|
@@ -448,11 +578,31 @@ export class MgInput {
|
|
|
448
578
|
},
|
|
449
579
|
"getter": false,
|
|
450
580
|
"setter": false,
|
|
451
|
-
"reflect": false
|
|
581
|
+
"reflect": false,
|
|
582
|
+
"attribute": "help-text"
|
|
583
|
+
},
|
|
584
|
+
"inputsOnBottom": {
|
|
585
|
+
"type": "boolean",
|
|
586
|
+
"mutable": false,
|
|
587
|
+
"complexType": {
|
|
588
|
+
"original": "boolean",
|
|
589
|
+
"resolved": "boolean",
|
|
590
|
+
"references": {}
|
|
591
|
+
},
|
|
592
|
+
"required": false,
|
|
593
|
+
"optional": true,
|
|
594
|
+
"docs": {
|
|
595
|
+
"tags": [],
|
|
596
|
+
"text": "Display inputs after help-text and error message"
|
|
597
|
+
},
|
|
598
|
+
"getter": false,
|
|
599
|
+
"setter": false,
|
|
600
|
+
"reflect": false,
|
|
601
|
+
"attribute": "inputs-on-bottom",
|
|
602
|
+
"defaultValue": "false"
|
|
452
603
|
},
|
|
453
604
|
"ariaDescribedbyIDs": {
|
|
454
605
|
"type": "string",
|
|
455
|
-
"attribute": "aria-describedby-i-ds",
|
|
456
606
|
"mutable": true,
|
|
457
607
|
"complexType": {
|
|
458
608
|
"original": "string[] | string",
|
|
@@ -468,6 +618,7 @@ export class MgInput {
|
|
|
468
618
|
"getter": false,
|
|
469
619
|
"setter": false,
|
|
470
620
|
"reflect": false,
|
|
621
|
+
"attribute": "aria-describedby-i-ds",
|
|
471
622
|
"defaultValue": "[]"
|
|
472
623
|
}
|
|
473
624
|
};
|
|
@@ -494,6 +645,12 @@ export class MgInput {
|
|
|
494
645
|
}, {
|
|
495
646
|
"propName": "labelOnTop",
|
|
496
647
|
"methodName": "watchLabelConfig"
|
|
648
|
+
}, {
|
|
649
|
+
"propName": "labelHeading",
|
|
650
|
+
"methodName": "watchlabelHeading"
|
|
651
|
+
}, {
|
|
652
|
+
"propName": "labelBorderDisplay",
|
|
653
|
+
"methodName": "watchLabelBorderDisplay"
|
|
497
654
|
}, {
|
|
498
655
|
"propName": "tooltipPosition",
|
|
499
656
|
"methodName": "watchTooltipPosition"
|
|
@@ -503,6 +660,9 @@ export class MgInput {
|
|
|
503
660
|
}, {
|
|
504
661
|
"propName": "helpText",
|
|
505
662
|
"methodName": "watchHelpText"
|
|
663
|
+
}, {
|
|
664
|
+
"propName": "inputsOnBottom",
|
|
665
|
+
"methodName": "watchInputsOnBottom"
|
|
506
666
|
}, {
|
|
507
667
|
"propName": "identifier",
|
|
508
668
|
"methodName": "watchAriaDescribedbyIDs"
|
|
@@ -76,7 +76,7 @@ export class MgInputCheckboxPaginated {
|
|
|
76
76
|
render() {
|
|
77
77
|
const listId = formatID(this.messages.label);
|
|
78
78
|
const tabId = 'tab-info';
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '233ab4fca3f4a3121bc60650ac2f8ae06d47e6e5' }, h("slot", { key: '7d1af8c712928c06953743fc5c182e51d9a6256b', name: "header-action" }), h("div", { key: '95641bd218e36422a6b5b4ead8dd5498e8ac5fa4', class: "mg-c-input__tabs-content" }, h("p", { key: '34814dd1afc9f871cd032500b931e692d63cbd25', id: tabId, class: { 'mg-c-input__popover-info': true, 'mg-u-visually-hidden': this.items.length !== 0 }, "aria-live": this.items.length !== 0 ? 'polite' : undefined }, this.items.length === 0 ? this.messages.noValue : this.messages.values.replace('{count}', this.items.length.toString())), this.items.length > 0 && (h(MgInputCheckboxList, { key: '621077f291a401737157ad0cd9b9348537ef8bdc', checkboxes: this.items, labelledby: tabId, id: listId, disabled: this.disabled, name: this.name, invalid: this.invalid })), this.hasNext() && (h("mg-button", { key: "load-more", variant: "flat", class: "mg-c-input__load-more", tabIndex: -1, "full-width": true, onClick: this.handleLoadMore, "aria-controls": listId }, h("mg-icon", { key: 'cb00bbeb1575475b184cc9623db6c4cefc56c26a', icon: "chevron-down" }), this.messages.showMore)))));
|
|
80
80
|
}
|
|
81
81
|
static get is() { return "mg-input-checkbox-paginated"; }
|
|
82
82
|
static get encapsulation() { return "scoped"; }
|
|
@@ -84,7 +84,6 @@ export class MgInputCheckboxPaginated {
|
|
|
84
84
|
return {
|
|
85
85
|
"readonly": {
|
|
86
86
|
"type": "boolean",
|
|
87
|
-
"attribute": "readonly",
|
|
88
87
|
"mutable": false,
|
|
89
88
|
"complexType": {
|
|
90
89
|
"original": "boolean",
|
|
@@ -100,11 +99,11 @@ export class MgInputCheckboxPaginated {
|
|
|
100
99
|
"getter": false,
|
|
101
100
|
"setter": false,
|
|
102
101
|
"reflect": false,
|
|
102
|
+
"attribute": "readonly",
|
|
103
103
|
"defaultValue": "false"
|
|
104
104
|
},
|
|
105
105
|
"disabled": {
|
|
106
106
|
"type": "boolean",
|
|
107
|
-
"attribute": "disabled",
|
|
108
107
|
"mutable": false,
|
|
109
108
|
"complexType": {
|
|
110
109
|
"original": "boolean",
|
|
@@ -120,11 +119,11 @@ export class MgInputCheckboxPaginated {
|
|
|
120
119
|
"getter": false,
|
|
121
120
|
"setter": false,
|
|
122
121
|
"reflect": false,
|
|
122
|
+
"attribute": "disabled",
|
|
123
123
|
"defaultValue": "false"
|
|
124
124
|
},
|
|
125
125
|
"name": {
|
|
126
126
|
"type": "string",
|
|
127
|
-
"attribute": "name",
|
|
128
127
|
"mutable": false,
|
|
129
128
|
"complexType": {
|
|
130
129
|
"original": "string",
|
|
@@ -139,11 +138,11 @@ export class MgInputCheckboxPaginated {
|
|
|
139
138
|
},
|
|
140
139
|
"getter": false,
|
|
141
140
|
"setter": false,
|
|
142
|
-
"reflect": false
|
|
141
|
+
"reflect": false,
|
|
142
|
+
"attribute": "name"
|
|
143
143
|
},
|
|
144
144
|
"invalid": {
|
|
145
145
|
"type": "boolean",
|
|
146
|
-
"attribute": "invalid",
|
|
147
146
|
"mutable": false,
|
|
148
147
|
"complexType": {
|
|
149
148
|
"original": "boolean",
|
|
@@ -158,11 +157,11 @@ export class MgInputCheckboxPaginated {
|
|
|
158
157
|
},
|
|
159
158
|
"getter": false,
|
|
160
159
|
"setter": false,
|
|
161
|
-
"reflect": false
|
|
160
|
+
"reflect": false,
|
|
161
|
+
"attribute": "invalid"
|
|
162
162
|
},
|
|
163
163
|
"checkboxes": {
|
|
164
164
|
"type": "unknown",
|
|
165
|
-
"attribute": "checkboxes",
|
|
166
165
|
"mutable": false,
|
|
167
166
|
"complexType": {
|
|
168
167
|
"original": "CheckboxItem[]",
|
|
@@ -186,7 +185,6 @@ export class MgInputCheckboxPaginated {
|
|
|
186
185
|
},
|
|
187
186
|
"messages": {
|
|
188
187
|
"type": "unknown",
|
|
189
|
-
"attribute": "messages",
|
|
190
188
|
"mutable": false,
|
|
191
189
|
"complexType": {
|
|
192
190
|
"original": "Record<string, string>",
|