@mgdis/mg-components 6.20.0 → 6.22.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.
Files changed (205) hide show
  1. package/dist/cjs/{index-TUElr4Wv.js → index-BxB20_Vw.js} +54 -0
  2. package/dist/cjs/{index-Bp6wZzau.js → index-C2viYwrR.js} +1761 -80
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/mg-action-more_37.cjs.entry.js +761 -371
  5. package/dist/cjs/mg-alert.cjs.entry.js +17 -9
  6. package/dist/cjs/mg-breadcrumb.cjs.entry.js +63 -0
  7. package/dist/cjs/mg-components.cjs.js +3 -3
  8. package/dist/cjs/mg-fieldset.cjs.entry.js +24 -7
  9. package/dist/cjs/mg-input-combobox.cjs.entry.js +49 -19
  10. package/dist/cjs/mg-input-file.cjs.entry.js +384 -0
  11. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +40096 -15821
  12. package/dist/cjs/{mg-input.conf-D7jmj_lh.js → mg-input.conf-BNpeATnq.js} +7 -0
  13. package/dist/cjs/mg-loader.cjs.entry.js +8 -6
  14. package/dist/cjs/mg-progress.cjs.entry.js +19 -9
  15. package/dist/collection/assets/icons/index.js +1 -1
  16. package/dist/collection/collection-manifest.json +5 -3
  17. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js +1 -1
  18. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js +1 -1
  19. package/dist/collection/components/atoms/mg-card/mg-card.js +1 -1
  20. package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
  21. package/dist/collection/components/atoms/mg-icon/mg-icon.js +2 -2
  22. package/dist/collection/components/atoms/mg-tag/mg-tag.js +1 -1
  23. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +1 -1
  24. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +1 -1
  25. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +6 -0
  26. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +1 -1
  27. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +2 -2
  28. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +2 -2
  29. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +1 -1
  30. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +1 -1
  31. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
  32. package/dist/collection/components/molecules/inputs/mg-input-file/mg-input-file.js +877 -0
  33. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +1 -1
  34. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +2 -2
  35. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
  36. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/custom-properties.scss +212 -0
  37. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.conf.js +1 -0
  38. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js +300 -94
  39. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.conf.js +29 -0
  40. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +163 -53
  41. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
  42. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +2 -2
  43. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
  44. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +1 -1
  45. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +3 -36
  46. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js +0 -4
  47. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +21 -43
  48. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +65 -38
  49. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -2
  50. package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
  51. package/dist/collection/components/molecules/mg-breadcrumb/mg-breadcrumb.conf.js +1 -0
  52. package/dist/collection/components/molecules/mg-breadcrumb/mg-breadcrumb.js +92 -0
  53. package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
  54. package/dist/collection/components/molecules/mg-fieldset/mg-fieldset.js +12 -3
  55. package/dist/collection/components/molecules/mg-form/mg-form.js +12 -2
  56. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
  57. package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
  58. package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
  59. package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
  60. package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
  61. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
  62. package/dist/collection/components/molecules/mg-popover/mg-popover.js +1 -1
  63. package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
  64. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
  65. package/dist/collection/components/molecules/mg-table/mg-table.js +37 -0
  66. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +0 -4
  67. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +13 -33
  68. package/dist/collection/locales/en/messages.json +14 -0
  69. package/dist/collection/locales/fr/messages.json +14 -0
  70. package/dist/components/events.utils.js +1 -23
  71. package/dist/components/index.d.ts +2 -0
  72. package/dist/components/index.js +1 -1
  73. package/dist/components/index2.js +1 -408
  74. package/dist/components/index3.js +1 -476
  75. package/dist/components/mg-action-more.js +1 -254
  76. package/dist/components/mg-alert.js +1 -224
  77. package/dist/components/mg-badge.js +1 -6
  78. package/dist/components/mg-badge2.js +1 -113
  79. package/dist/components/mg-breadcrumb.d.ts +11 -0
  80. package/dist/components/mg-breadcrumb.js +1 -0
  81. package/dist/components/mg-button.js +1 -6
  82. package/dist/components/mg-button2.js +1 -275
  83. package/dist/components/mg-card.js +1 -6
  84. package/dist/components/mg-card2.js +1 -92
  85. package/dist/components/mg-character-left.js +1 -6
  86. package/dist/components/mg-character-left2.js +1 -75
  87. package/dist/components/mg-details.js +1 -104
  88. package/dist/components/mg-divider.js +1 -6
  89. package/dist/components/mg-divider2.js +1 -49
  90. package/dist/components/mg-fieldset.js +1 -209
  91. package/dist/components/mg-form.js +1 -302
  92. package/dist/components/mg-icon.js +1 -6
  93. package/dist/components/mg-icon2.js +1 -188
  94. package/dist/components/mg-illustrated-message.js +1 -129
  95. package/dist/components/mg-input-checkbox-paginated.js +1 -6
  96. package/dist/components/mg-input-checkbox-paginated2.js +1 -135
  97. package/dist/components/mg-input-checkbox.js +1 -762
  98. package/dist/components/mg-input-combobox.js +1 -940
  99. package/dist/components/mg-input-date.js +1 -463
  100. package/dist/components/mg-input-file.d.ts +11 -0
  101. package/dist/components/mg-input-file.js +1 -0
  102. package/dist/components/mg-input-numeric.js +1 -592
  103. package/dist/components/mg-input-password.js +1 -360
  104. package/dist/components/mg-input-radio.js +1 -392
  105. package/dist/components/mg-input-rich-text-editor.js +1663 -16797
  106. package/dist/components/mg-input-select.js +1 -6
  107. package/dist/components/mg-input-select2.js +1 -481
  108. package/dist/components/mg-input-text.js +1 -6
  109. package/dist/components/mg-input-text2.js +1 -514
  110. package/dist/components/mg-input-textarea.js +1 -412
  111. package/dist/components/mg-input-title.js +1 -6
  112. package/dist/components/mg-input-title2.js +1 -81
  113. package/dist/components/mg-input-toggle.js +1 -371
  114. package/dist/components/mg-input.conf.js +1 -0
  115. package/dist/components/mg-input.js +1 -6
  116. package/dist/components/mg-input2.js +1 -459
  117. package/dist/components/mg-item-more.js +1 -6
  118. package/dist/components/mg-item-more2.js +1 -505
  119. package/dist/components/mg-loader.js +1 -6
  120. package/dist/components/mg-loader2.js +1 -74
  121. package/dist/components/mg-menu-item.js +1 -6
  122. package/dist/components/mg-menu-item2.js +1 -485
  123. package/dist/components/mg-menu.js +1 -6
  124. package/dist/components/mg-message.js +1 -6
  125. package/dist/components/mg-message2.js +1 -146
  126. package/dist/components/mg-modal.js +1 -184
  127. package/dist/components/mg-pagination.js +1 -234
  128. package/dist/components/mg-panel.js +1 -350
  129. package/dist/components/mg-popover-content.js +1 -6
  130. package/dist/components/mg-popover-content2.js +1 -96
  131. package/dist/components/mg-popover.js +1 -6
  132. package/dist/components/mg-popover2.js +1 -312
  133. package/dist/components/mg-progress.js +1 -123
  134. package/dist/components/mg-skip-links.js +1 -78
  135. package/dist/components/mg-table.js +1 -319
  136. package/dist/components/mg-tabs.js +1 -6
  137. package/dist/components/mg-tabs2.js +1 -315
  138. package/dist/components/mg-tag.js +1 -133
  139. package/dist/components/mg-tooltip-content.js +1 -6
  140. package/dist/components/mg-tooltip-content2.js +1 -42
  141. package/dist/components/mg-tooltip.js +1 -6
  142. package/dist/components/mg-tooltip2.js +1 -421
  143. package/dist/components/popper.js +1 -1790
  144. package/dist/esm/{index-BluNKQ3L.js → index-DFwaH2hS.js} +1761 -80
  145. package/dist/esm/{index-CNX6lq0x.js → index-DSEloqPn.js} +54 -1
  146. package/dist/esm/loader.js +3 -3
  147. package/dist/esm/mg-action-more_37.entry.js +761 -371
  148. package/dist/esm/mg-alert.entry.js +17 -9
  149. package/dist/esm/mg-breadcrumb.entry.js +61 -0
  150. package/dist/esm/mg-components.js +4 -4
  151. package/dist/esm/mg-fieldset.entry.js +24 -7
  152. package/dist/esm/mg-input-combobox.entry.js +49 -19
  153. package/dist/esm/mg-input-file.entry.js +382 -0
  154. package/dist/esm/mg-input-rich-text-editor.entry.js +40083 -15808
  155. package/dist/esm/{mg-input.conf-DDnrE1hD.js → mg-input.conf-C9rmNQIL.js} +7 -1
  156. package/dist/esm/mg-loader.entry.js +8 -6
  157. package/dist/esm/mg-progress.entry.js +19 -9
  158. package/dist/mg-components/locales/en/messages.json +14 -0
  159. package/dist/mg-components/locales/fr/messages.json +14 -0
  160. package/dist/mg-components/mg-components.esm.js +1 -1
  161. package/dist/mg-components/p-0482eb9f.entry.js +1 -0
  162. package/dist/mg-components/{p-7132bca1.entry.js → p-2ee92f38.entry.js} +1 -1
  163. package/dist/mg-components/{p-916dfb6d.entry.js → p-3b653226.entry.js} +1 -1
  164. package/dist/mg-components/p-5745fbea.entry.js +1 -0
  165. package/dist/mg-components/p-C9rmNQIL.js +1 -0
  166. package/dist/mg-components/p-DFwaH2hS.js +2 -0
  167. package/dist/mg-components/p-DSEloqPn.js +1 -0
  168. package/dist/mg-components/p-adec7fcc.entry.js +1 -0
  169. package/dist/mg-components/p-c63f97f0.entry.js +1658 -0
  170. package/dist/mg-components/p-c8c8cfc1.entry.js +1 -0
  171. package/dist/mg-components/p-cc793586.entry.js +1 -0
  172. package/dist/mg-components/p-d5e69c95.entry.js +1 -0
  173. package/dist/types/assets/icons/index.d.ts +2 -0
  174. package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +7 -1
  175. package/dist/types/components/molecules/inputs/mg-input-file/mg-input-file.d.ts +210 -0
  176. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.conf.d.ts +17 -0
  177. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/editor/index.d.ts +27 -19
  178. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.conf.d.ts +3 -0
  179. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +50 -16
  180. package/dist/types/components/molecules/internals/mg-item-more/mg-item-more.conf.d.ts +0 -5
  181. package/dist/types/components/molecules/internals/mg-item-more/mg-item-more.d.ts +1 -6
  182. package/dist/types/components/molecules/menus/mg-menu/mg-menu.conf.d.ts +2 -10
  183. package/dist/types/components/molecules/menus/mg-menu/mg-menu.d.ts +7 -7
  184. package/dist/types/components/molecules/menus/mg-menu-item/mg-menu-item.d.ts +12 -8
  185. package/dist/types/components/molecules/mg-breadcrumb/mg-breadcrumb.conf.d.ts +18 -0
  186. package/dist/types/components/molecules/mg-breadcrumb/mg-breadcrumb.d.ts +34 -0
  187. package/dist/types/components/molecules/mg-table/mg-table.d.ts +6 -0
  188. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +1 -9
  189. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +4 -4
  190. package/dist/types/components.d.ts +302 -46
  191. package/dist/types/stencil-public-runtime.d.ts +76 -12
  192. package/ide/intellij/web-types.json +483 -51
  193. package/ide/vscode/css-custom-data.json +10 -2
  194. package/ide/vscode/html-custom-data.json +445 -104
  195. package/package.json +24 -23
  196. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.scss +0 -1
  197. package/dist/mg-components/p-016bd291.entry.js +0 -1
  198. package/dist/mg-components/p-186a6139.entry.js +0 -1
  199. package/dist/mg-components/p-BluNKQ3L.js +0 -2
  200. package/dist/mg-components/p-CNX6lq0x.js +0 -1
  201. package/dist/mg-components/p-DDnrE1hD.js +0 -1
  202. package/dist/mg-components/p-cd061b38.entry.js +0 -1
  203. package/dist/mg-components/p-d2c72f09.entry.js +0 -1
  204. package/dist/mg-components/p-d5a276eb.entry.js +0 -1
  205. package/ide/vscode/custom.css-data.json +0 -425
@@ -1,6 +1 @@
1
- import { M as MgDivider$1, d as defineCustomElement$1 } from './mg-divider2.js';
2
-
3
- const MgDivider = MgDivider$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { MgDivider, defineCustomElement };
1
+ import{M as o,d as r}from"./mg-divider2.js";const s=o,d=r;export{s as MgDivider,d as defineCustomElement}
@@ -1,49 +1 @@
1
- import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
-
3
- const mgDividerCss = "/*!\n * @prop --mg-c-divider-color-background: Defines the background color of the divider. The default value is `color-mix(in srgb, var(--mg-b-color-dark), transparent 85%)`.\n * @prop --mg-c-divider-thickness: Defines the thickness of the divider. The default value is `--mg-b-size-border`.\n * @prop --mg-c-divider-spacing-vertical: Defines the vertical spacing of the divider. The default value is `--mg-b-size-40`.\n */.mg-c-divider{width:var(--mg-b-size-120);height:var(--mg-c-divider-thickness);margin:var(--mg-c-divider-spacing-vertical) auto;background-color:var(--mg-c-divider-color-background)}.mg-c-divider.mg-c-divider--full-width{width:100%}";
4
-
5
- const MgDivider = /*@__PURE__*/ proxyCustomElement(class MgDivider extends HTMLElement {
6
- constructor(registerHost) {
7
- super();
8
- if (registerHost !== false) {
9
- this.__registerHost();
10
- }
11
- this.__attachShadow();
12
- /**************
13
- * Decorators *
14
- **************/
15
- /**
16
- * Define component size
17
- */
18
- this.fullWidth = false;
19
- }
20
- /**
21
- * Render
22
- * @returns HTML Element
23
- */
24
- render() {
25
- return (h("div", { key: '60b987cb329c6db14c2cc4a665e7f32b2696a3ee', class: {
26
- 'mg-c-divider': true,
27
- 'mg-c-divider--full-width': this.fullWidth,
28
- } }));
29
- }
30
- static get style() { return mgDividerCss; }
31
- }, [257, "mg-divider", {
32
- "fullWidth": [4, "full-width"]
33
- }]);
34
- function defineCustomElement() {
35
- if (typeof customElements === "undefined") {
36
- return;
37
- }
38
- const components = ["mg-divider"];
39
- components.forEach(tagName => { switch (tagName) {
40
- case "mg-divider":
41
- if (!customElements.get(tagName)) {
42
- customElements.define(tagName, MgDivider);
43
- }
44
- break;
45
- } });
46
- }
47
- defineCustomElement();
48
-
49
- export { MgDivider as M, defineCustomElement as d };
1
+ import{transformTag as i,proxyCustomElement as e,HTMLElement as d,h as t}from"@stencil/core/internal/client";const r=e(class extends d{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.fullWidth=!1}render(){return t("div",{key:"a1b0e3b95ed9f52febab9f8d50b4053d1c13f7fb",class:{"mg-c-divider":!0,"mg-c-divider--full-width":this.fullWidth}})}static get style(){return".mg-c-divider{width:var(--mg-b-size-120);height:var(--mg-c-divider-thickness);margin:var(--mg-c-divider-spacing-vertical) auto;background-color:var(--mg-c-divider-color-background)}.mg-c-divider.mg-c-divider--full-width{width:100%}"}},[1,"mg-divider",{fullWidth:[4,"full-width"]}]);function c(){"undefined"!=typeof customElements&&["mg-divider"].forEach((e=>{"mg-divider"===e&&(customElements.get(i(e))||customElements.define(i(e),r))}))}c();export{r as M,c as d}
@@ -1,209 +1 @@
1
- import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { C as ClassList, i as isValidString } from './index2.js';
3
- import { d as defineCustomElement$5, c as classReadonly } from './mg-input2.js';
4
- import { d as defineCustomElement$6 } from './mg-icon2.js';
5
- import { d as defineCustomElement$4 } from './mg-input-title2.js';
6
- import { d as defineCustomElement$3 } from './mg-tooltip2.js';
7
- import { d as defineCustomElement$2 } from './mg-tooltip-content2.js';
8
-
9
- const MgFieldset$1 = /*@__PURE__*/ proxyCustomElement(class MgFieldset extends HTMLElement {
10
- constructor(registerHost) {
11
- super();
12
- if (registerHost !== false) {
13
- this.__registerHost();
14
- }
15
- this.__attachShadow();
16
- /**
17
- * Fieldset name
18
- * If not set the value equals the identifier
19
- */
20
- this.name = this.identifier;
21
- /**
22
- * Define if legend is visible
23
- */
24
- this.legendHide = false;
25
- /**
26
- * Define if legend border is visible.
27
- */
28
- this.legendBorderDisplay = false;
29
- /**
30
- * Define if inputs are readonly
31
- */
32
- this.readonly = false;
33
- /**
34
- * Define if inputs are disabled
35
- */
36
- this.disabled = false;
37
- /**
38
- * Component classes
39
- */
40
- this.classCollection = new ClassList(['mg-c-input--fieldset']);
41
- /**
42
- * Check if fieldset is valid
43
- */
44
- this.checkValidity = () => {
45
- var _a;
46
- this.valid = !(this.mgInputs.some(input => input.invalid) || ((_a = this.errorMessage) === null || _a === void 0 ? void 0 : _a.length) > 0);
47
- };
48
- /**
49
- * Set mgInputs
50
- */
51
- this.setMgInputs = () => {
52
- // Get slotted mgInputs
53
- this.mgInputs = Array.from(this.element.querySelectorAll('*')).filter((node) => node.nodeName.startsWith('MG-INPUT'));
54
- // Set inputs readonly or disabled based on form configuration
55
- // Othewise listen to events
56
- this.mgInputs.forEach(input => {
57
- if (this.readonly) {
58
- input.readonly = true;
59
- }
60
- else if (this.disabled) {
61
- input.disabled = true;
62
- }
63
- else {
64
- input.addEventListener('input-valid', this.checkValidity);
65
- }
66
- });
67
- };
68
- }
69
- watchLegendBorderDisplay(newValue) {
70
- if (newValue && !isValidString(this.legendHeading)) {
71
- throw new Error('<mg-fieldset> prop "legendBorderDisplay" must not be paired with the prop "legendHeading".');
72
- }
73
- }
74
- watchReadonly(newValue) {
75
- if (newValue) {
76
- this.classCollection.add(classReadonly);
77
- }
78
- else {
79
- this.classCollection.delete(classReadonly);
80
- }
81
- }
82
- handleAttributeChange() {
83
- this.setMgInputs();
84
- }
85
- /**
86
- * Component is not a candidate for constraint validation.
87
- * You can use this method to define the `errorMessage` and set the `valid` state to `false`.
88
- * @param errorMessage - error message to display. Use a valid `string` to define an error or `undefined` to delete the error
89
- */
90
- async setCustomValidity(errorMessage) {
91
- if (isValidString(errorMessage)) {
92
- this.errorMessage = errorMessage;
93
- }
94
- else {
95
- this.errorMessage = undefined;
96
- }
97
- this.checkValidity();
98
- }
99
- /**
100
- * Display inputs error if it exists.
101
- */
102
- async displayError() {
103
- if (!this.readonly) {
104
- this.mgInputs.forEach(input => {
105
- input.displayError();
106
- });
107
- }
108
- }
109
- /*************
110
- * Lifecycle *
111
- *************/
112
- /**
113
- * Check if component props are well configured on init
114
- */
115
- componentWillLoad() {
116
- this.watchReadonly(this.readonly);
117
- this.watchLegendBorderDisplay(this.legendBorderDisplay);
118
- this.setMgInputs();
119
- }
120
- /**
121
- * Add slot listeners
122
- */
123
- componentDidLoad() {
124
- // Update mgInputs when mgForm content change
125
- const observerOptions = { childList: true, subtree: true };
126
- new MutationObserver(mutations => {
127
- if (mutations.some(mutation => Object.keys(observerOptions).includes(mutation.type))) {
128
- this.setMgInputs();
129
- }
130
- }).observe(this.element, observerOptions);
131
- }
132
- /**
133
- * Render
134
- * @returns HTML Element
135
- */
136
- render() {
137
- return (h("mg-input", { key: 'b8b7c203bb2ed22cc9344389af5a6ae8d85af6d5', label: this.legend, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: !this.legendHide, labelHeading: this.legendHeading, labelBorderDisplay: this.legendHeading && this.legendBorderDisplay, labelHide: this.legendHide, inputsOnBottom: this.legendHeading !== undefined, tooltip: this.tooltip, tooltipPosition: 'label', helpText: this.helpText, errorMessage: !this.valid && isValidString(this.errorMessage) ? this.errorMessage : undefined }, h("span", { key: 'c0e7480b14b0a8e136dd951bdce7275b65b59b48', class: "mg-c-input__input-group" }, h("slot", { key: '021e7b126cef9437e64622d8ef59219b09c06e9f' }))));
138
- }
139
- get element() { return this; }
140
- static get watchers() { return {
141
- "legendBorderDisplay": ["watchLegendBorderDisplay"],
142
- "readonly": ["watchReadonly", "handleAttributeChange"],
143
- "disabled": ["handleAttributeChange"]
144
- }; }
145
- }, [257, "mg-fieldset", {
146
- "identifier": [1],
147
- "name": [1],
148
- "legend": [1],
149
- "legendHide": [4, "legend-hide"],
150
- "legendHeading": [1, "legend-heading"],
151
- "legendBorderDisplay": [4, "legend-border-display"],
152
- "readonly": [4],
153
- "disabled": [4],
154
- "tooltip": [1],
155
- "helpText": [1, "help-text"],
156
- "errorMessage": [32],
157
- "valid": [32],
158
- "classCollection": [32],
159
- "setCustomValidity": [64],
160
- "displayError": [64]
161
- }, undefined, {
162
- "legendBorderDisplay": ["watchLegendBorderDisplay"],
163
- "readonly": ["watchReadonly", "handleAttributeChange"],
164
- "disabled": ["handleAttributeChange"]
165
- }]);
166
- function defineCustomElement$1() {
167
- if (typeof customElements === "undefined") {
168
- return;
169
- }
170
- const components = ["mg-fieldset", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
171
- components.forEach(tagName => { switch (tagName) {
172
- case "mg-fieldset":
173
- if (!customElements.get(tagName)) {
174
- customElements.define(tagName, MgFieldset$1);
175
- }
176
- break;
177
- case "mg-icon":
178
- if (!customElements.get(tagName)) {
179
- defineCustomElement$6();
180
- }
181
- break;
182
- case "mg-input":
183
- if (!customElements.get(tagName)) {
184
- defineCustomElement$5();
185
- }
186
- break;
187
- case "mg-input-title":
188
- if (!customElements.get(tagName)) {
189
- defineCustomElement$4();
190
- }
191
- break;
192
- case "mg-tooltip":
193
- if (!customElements.get(tagName)) {
194
- defineCustomElement$3();
195
- }
196
- break;
197
- case "mg-tooltip-content":
198
- if (!customElements.get(tagName)) {
199
- defineCustomElement$2();
200
- }
201
- break;
202
- } });
203
- }
204
- defineCustomElement$1();
205
-
206
- const MgFieldset = MgFieldset$1;
207
- const defineCustomElement = defineCustomElement$1;
208
-
209
- export { MgFieldset, defineCustomElement };
1
+ import{transformTag as t,proxyCustomElement as e,HTMLElement as i,h as s}from"@stencil/core/internal/client";import{C as o,i as n}from"./index2.js";import{i as d,c as a}from"./mg-input.conf.js";import{d as l}from"./mg-icon2.js";import{d as r}from"./mg-input2.js";import{d as h}from"./mg-input-title2.js";import{d as m}from"./mg-tooltip2.js";import{d as c}from"./mg-tooltip-content2.js";const p=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.name=this.identifier,this.legendHide=!1,this.legendBorderDisplay=!1,this.readonly=!1,this.disabled=!1,this.classCollection=new o(["mg-c-input--fieldset"]),this.checkValidity=()=>{var t;this.valid=!(this.mgInputs.some((t=>t.invalid))||(null===(t=this.errorMessage)||void 0===t?void 0:t.length)>0)},this.setMgInputs=()=>{this.mgInputs=Array.from(this.element.querySelectorAll("*")).filter((t=>t.nodeName.startsWith("MG-INPUT"))),this.mgInputs.forEach((t=>{"MG-INPUT-FILE"===t.nodeName&&(this.readonly?t.setAttribute("hidden",""):t.removeAttribute("hidden")),this.readonly&&!d(t)?t.readonly=!0:this.disabled?t.disabled=!0:t.addEventListener("input-valid",this.checkValidity)}))}}watchLegendBorderDisplay(t){if(t&&!n(this.legendHeading))throw Error('<mg-fieldset> prop "legendBorderDisplay" must not be paired with the prop "legendHeading".')}watchReadonly(t){t?this.classCollection.add(a):this.classCollection.delete(a)}handleAttributeChange(){this.setMgInputs()}async setCustomValidity(t){this.errorMessage=n(t)?t:void 0,this.checkValidity()}async displayError(){this.readonly||this.mgInputs.forEach((t=>{t.displayError()}))}componentWillLoad(){this.watchReadonly(this.readonly),this.watchLegendBorderDisplay(this.legendBorderDisplay),this.setMgInputs()}componentDidLoad(){const t={childList:!0,subtree:!0};new MutationObserver((e=>{e.some((e=>Object.keys(t).includes(e.type)))&&this.setMgInputs()})).observe(this.element,t)}render(){return s("mg-input",{key:"b0b16a170de87de91fa02a38371eb3dd6fe995d7",label:this.legend,identifier:this.identifier,class:this.classCollection.join(),labelOnTop:!this.legendHide,labelHeading:this.legendHeading,labelBorderDisplay:this.legendHeading&&this.legendBorderDisplay,labelHide:this.legendHide,inputsOnBottom:void 0!==this.legendHeading,tooltip:this.tooltip,tooltipPosition:"label",helpText:this.helpText,errorMessage:!this.valid&&n(this.errorMessage)?this.errorMessage:void 0},s("span",{key:"c449a5235da7b190d8d311469d15cebcfaf3badc",class:"mg-c-input__input-group"},s("slot",{key:"6d8c60e2555bfd65c8c146233dc840a2d73597d5"})))}get element(){return this}static get watchers(){return{legendBorderDisplay:[{watchLegendBorderDisplay:0}],readonly:[{watchReadonly:0},{handleAttributeChange:0}],disabled:[{handleAttributeChange:0}]}}},[257,"mg-fieldset",{identifier:[1],name:[1],legend:[1],legendHide:[4,"legend-hide"],legendHeading:[1,"legend-heading"],legendBorderDisplay:[4,"legend-border-display"],readonly:[4],disabled:[4],tooltip:[1],helpText:[1,"help-text"],errorMessage:[32],valid:[32],classCollection:[32],setCustomValidity:[64],displayError:[64]},void 0,{legendBorderDisplay:[{watchLegendBorderDisplay:0}],readonly:[{watchReadonly:0},{handleAttributeChange:0}],disabled:[{handleAttributeChange:0}]}]);function g(){"undefined"!=typeof customElements&&["mg-fieldset","mg-icon","mg-input","mg-input-title","mg-tooltip","mg-tooltip-content"].forEach((e=>{switch(e){case"mg-fieldset":customElements.get(t(e))||customElements.define(t(e),p);break;case"mg-icon":customElements.get(t(e))||l();break;case"mg-input":customElements.get(t(e))||r();break;case"mg-input-title":customElements.get(t(e))||h();break;case"mg-tooltip":customElements.get(t(e))||m();break;case"mg-tooltip-content":customElements.get(t(e))||c()}}))}g();const u=p,b=g;export{u as MgFieldset,b as defineCustomElement}
@@ -1,302 +1 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { c as createID, C as ClassList, a as isValideID, t as toString } from './index2.js';
3
- import { i as initLocales } from './index3.js';
4
-
5
- /**
6
- * List of all possibles roles
7
- */
8
- const roles = ['form', 'search', 'none', 'presentation'];
9
- /**
10
- * List of all possibles required message status
11
- */
12
- const requiredMessageStatus = ['default', 'hide'];
13
-
14
- const mgFormCss = ".mg-u-form-legacy{--mg-c-form-inputs-title-width:calc(100% / 3 - 20px)}.mg-u-is-asterisk{color:var(--mg-b-color-danger)}/*!\n * @prop --mg-c-form-inputs-title-width: Defines the width of the input title. Fallback on `calc(28 * var(--mg-b-size-8))`.\n */.mg-c-form{--mg-c-input-title-width:var(--mg-c-form-inputs-title-width, calc(28 * var(--mg-b-size-8)));--mg-c-input-margin-bottom:var(--mg-b-size-16);--mg-c-input-title-horizontal-space:var(--mg-b-size-32)}.mg-c-form.mg-c-form--all-required{--mg-c-input-title-display:none}.mg-c-form.mg-c-form--label-on-top{--mg-c-input-margin-bottom:var(--mg-b-size-24)}.mg-c-form>p{font-size:var(--mg-b-font-size-small)}";
15
-
16
- const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLElement {
17
- constructor(registerHost) {
18
- super();
19
- if (registerHost !== false) {
20
- this.__registerHost();
21
- }
22
- this.__attachShadow();
23
- this.formValid = createEvent(this, "form-valid", 7);
24
- this.formSubmit = createEvent(this, "form-submit", 7);
25
- this.formReset = createEvent(this, "form-reset", 7);
26
- // Classes
27
- this.classAllRequired = 'mg-c-form--all-required';
28
- this.classLabelOnTop = 'mg-c-form--label-on-top';
29
- /**
30
- * Identifier is used for the element ID (id is a reserved prop in Stencil.js)
31
- * If not set, it will be created.
32
- */
33
- this.identifier = createID('mg-form');
34
- /**
35
- * Input name
36
- * If not set the value equals the identifier
37
- */
38
- this.name = this.identifier;
39
- /**
40
- * Define if form is readonly
41
- */
42
- this.readonly = false;
43
- /**
44
- * Define if slotted mg-component's label are displayed on top
45
- */
46
- this.labelOnTop = false;
47
- /**
48
- * Define if form is disabled
49
- */
50
- this.disabled = false;
51
- /**
52
- * Component classes
53
- */
54
- this.classCollection = new ClassList(['mg-c-form']);
55
- /**
56
- * Define required message based on mg-inputs required elements
57
- */
58
- this.setRequiredMessage = () => {
59
- // init required message
60
- this.requiredMessageText = null;
61
- this.classCollection.delete(this.classAllRequired);
62
- if (this.requiredMessage === 'hide')
63
- return;
64
- else if (this.requiredMessage === 'default') {
65
- this.requiredMessageText = this.messages.form.required;
66
- return;
67
- }
68
- // If the form is disabled or readonly none of them are required
69
- // Check if all fields are not editable (readonly or disabled)
70
- const isEditable = input => !(input.disabled || input.readonly);
71
- const isMgInputToggle = input => input.nodeName === 'MG-INPUT-TOGGLE';
72
- if (!this.disabled && !this.readonly && this.mgInputs.some(input => isEditable(input) && !isMgInputToggle(input))) {
73
- // Get editable inputs
74
- const editableInputs = this.mgInputs.filter(isEditable);
75
- // Get required inputs
76
- // mg-input-toggle can not be required
77
- const requiredInputs = editableInputs.filter(input => !isMgInputToggle(input) && input.required);
78
- // All inputs are required
79
- if ([requiredInputs.length, editableInputs.length].every(length => length === 1) ||
80
- (requiredInputs.length > 1 && requiredInputs.length === editableInputs.filter(input => !isMgInputToggle(input)).length)) {
81
- this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'allRequiredSingle', 'allRequired');
82
- this.classCollection.add(this.classAllRequired);
83
- }
84
- // Some fields are required
85
- else if (requiredInputs.length > 0) {
86
- this.requiredMessageText = this.getRequiredMessageBasedOnCount(requiredInputs, 'requiredSingle', 'required');
87
- }
88
- }
89
- };
90
- /**
91
- * Returns a required message based on the count of required inputs.
92
- * @param requiredInputs - An array of required input elements.
93
- * @param keySingle - The key for the singular message format.
94
- * @param keyPlural - The key for the plural message format.
95
- * @returns The appropriate required message based on the count of required inputs.
96
- */
97
- this.getRequiredMessageBasedOnCount = (requiredInputs, keySingle, keyPlural) => this.messages.form[requiredInputs.length === 1 ? keySingle : keyPlural];
98
- /**
99
- * Check if form is valid
100
- */
101
- this.checkValidity = () => {
102
- // Update required on input event
103
- this.setRequiredMessage();
104
- this.valid = !this.mgInputs.some(input => input.invalid);
105
- this.invalid = !this.valid;
106
- // We need to send valid event if it is the same value
107
- this.formValid.emit(this.valid);
108
- };
109
- /**
110
- * Handle Form Submit
111
- * @param event - submit event
112
- */
113
- this.handleFormSubmit = (event) => {
114
- event.preventDefault();
115
- this.formSubmit.emit();
116
- };
117
- /**
118
- * Set mgInputs
119
- */
120
- this.setMgInputs = () => {
121
- // Get slotted mgInputs
122
- this.mgInputs = Array.from(this.element.querySelectorAll('*')).filter((node) => node.nodeName.startsWith('MG-INPUT'));
123
- // Set inputs readonly or disabled based on form configuration
124
- // Othewise listen to events
125
- this.mgInputs.forEach(input => {
126
- if (this.labelOnTop) {
127
- input.labelOnTop = true;
128
- }
129
- if (this.readonly) {
130
- input.readonly = true;
131
- }
132
- else if (this.disabled) {
133
- input.disabled = true;
134
- }
135
- else {
136
- input.addEventListener('input-valid', this.checkValidity);
137
- }
138
- });
139
- };
140
- }
141
- watchIdentifier(newValue) {
142
- if (!isValideID(newValue)) {
143
- console.error(`<mg-form> prop "identifier" value is invalid. Passed value: ${toString(newValue)}.`);
144
- }
145
- }
146
- validateRequiredMessage(newValue) {
147
- if (newValue && !requiredMessageStatus.includes(newValue)) {
148
- throw new Error(`<mg-form> prop "requiredMessage" must be one of: ${requiredMessageStatus.join(', ')}. Passed value: ${toString(newValue)}.`);
149
- }
150
- }
151
- validateAriaRole(newValue) {
152
- if (newValue && !roles.includes(newValue)) {
153
- throw new Error(`<mg-form> prop "ariaRole" must be one of: ${roles.join(', ')}. Passed value: ${toString(newValue)}.`);
154
- }
155
- }
156
- handlelabelOnTop(newValue) {
157
- if (newValue) {
158
- this.classCollection.add(this.classLabelOnTop);
159
- }
160
- else {
161
- this.classCollection.delete(this.classLabelOnTop);
162
- }
163
- }
164
- handleAttributeChange() {
165
- this.setMgInputs();
166
- this.setRequiredMessage();
167
- }
168
- /**
169
- * Display inputs/fieldsets errors if it exists.
170
- */
171
- async displayError() {
172
- if (!this.readonly) {
173
- const mgFieldsets = Array.from(this.element.querySelectorAll('*')).filter((node) => node.nodeName.startsWith('MG-FIELDSET'));
174
- [...mgFieldsets, ...this.mgInputs].forEach(input => {
175
- var _a;
176
- (_a = input.displayError) === null || _a === void 0 ? void 0 : _a.call(input);
177
- });
178
- this.checkValidity();
179
- }
180
- }
181
- /**
182
- * Reset form inputs values, validity and error state
183
- */
184
- async reset() {
185
- if (!this.readonly) {
186
- await Promise.all(this.mgInputs.map(async (input) => {
187
- if (input.reset !== undefined) {
188
- await input.reset();
189
- }
190
- }));
191
- this.checkValidity();
192
- this.formReset.emit(true);
193
- }
194
- }
195
- /*************
196
- * Lifecycle *
197
- *************/
198
- /**
199
- * Check if component props are well configured on init
200
- */
201
- componentWillLoad() {
202
- // Get locales
203
- this.messages = initLocales(this.element).messages;
204
- this.watchIdentifier(this.identifier);
205
- this.validateAriaRole(this.ariaRole);
206
- this.validateRequiredMessage(this.requiredMessage);
207
- this.handlelabelOnTop(this.labelOnTop);
208
- // Get slotted mgButtons
209
- this.mgButtons = Array.from(this.element.querySelectorAll('mg-button'));
210
- // Set button form identifier
211
- this.mgButtons.forEach(mgButton => {
212
- mgButton.setAttribute('form', this.identifier);
213
- if (mgButton.type === 'reset') {
214
- mgButton.addEventListener('click', () => {
215
- this.reset();
216
- });
217
- }
218
- });
219
- // Set mgInputs
220
- this.setMgInputs();
221
- // Check validity when slotted mgInputs are ready
222
- Promise.all(this.mgInputs.map(async (input) => {
223
- try {
224
- await input.componentOnReady();
225
- }
226
- catch (_a) { } // prevent error with VueJS first render
227
- })).then(() => {
228
- // Define required message and check validity
229
- this.checkValidity();
230
- });
231
- }
232
- /**
233
- * Add slot listeners
234
- */
235
- componentDidLoad() {
236
- // Update mgInputs when mgForm content change
237
- const observerOptions = { childList: true, subtree: true };
238
- new MutationObserver(mutations => {
239
- if (mutations.some(mutation => Object.keys(observerOptions).includes(mutation.type))) {
240
- this.setMgInputs();
241
- this.checkValidity();
242
- }
243
- }).observe(this.element, observerOptions);
244
- }
245
- /**
246
- * Render
247
- * @returns HTML Element
248
- */
249
- render() {
250
- return (h("form", { key: '8b698b2a33af00e36691abab5adff5488b736218', class: this.classCollection.join(), id: this.identifier, name: this.name, onSubmit: this.handleFormSubmit, role: this.ariaRole }, this.requiredMessageText && h("p", { key: '2e1fb5c4030ecb99d1f18c57d5c3fe238db4d12e', innerHTML: this.requiredMessageText }), h("slot", { key: '568fb8ac9ab0e3521899c05472592ebd15cc91fa' }), !this.readonly && !this.disabled && h("slot", { key: 'd4f38320de58f3b1d491083a34d1b5366d22b935', name: "actions" })));
251
- }
252
- get element() { return this; }
253
- static get watchers() { return {
254
- "identifier": ["watchIdentifier"],
255
- "requiredMessage": ["validateRequiredMessage", "handleAttributeChange"],
256
- "ariaRole": ["validateAriaRole"],
257
- "labelOnTop": ["handlelabelOnTop"],
258
- "readonly": ["handleAttributeChange"],
259
- "disabled": ["handleAttributeChange"]
260
- }; }
261
- static get style() { return mgFormCss; }
262
- }, [257, "mg-form", {
263
- "identifier": [1],
264
- "name": [1],
265
- "readonly": [4],
266
- "requiredMessage": [1, "required-message"],
267
- "ariaRole": [1, "aria-role"],
268
- "labelOnTop": [4, "label-on-top"],
269
- "disabled": [4],
270
- "valid": [1028],
271
- "invalid": [1028],
272
- "classCollection": [32],
273
- "requiredMessageText": [32],
274
- "displayError": [64],
275
- "reset": [64]
276
- }, undefined, {
277
- "identifier": ["watchIdentifier"],
278
- "requiredMessage": ["validateRequiredMessage", "handleAttributeChange"],
279
- "ariaRole": ["validateAriaRole"],
280
- "labelOnTop": ["handlelabelOnTop"],
281
- "readonly": ["handleAttributeChange"],
282
- "disabled": ["handleAttributeChange"]
283
- }]);
284
- function defineCustomElement$1() {
285
- if (typeof customElements === "undefined") {
286
- return;
287
- }
288
- const components = ["mg-form"];
289
- components.forEach(tagName => { switch (tagName) {
290
- case "mg-form":
291
- if (!customElements.get(tagName)) {
292
- customElements.define(tagName, MgForm$1);
293
- }
294
- break;
295
- } });
296
- }
297
- defineCustomElement$1();
298
-
299
- const MgForm = MgForm$1;
300
- const defineCustomElement = defineCustomElement$1;
301
-
302
- export { MgForm, defineCustomElement };
1
+ import{transformTag as i,proxyCustomElement as t,HTMLElement as e,createEvent as s,h as r}from"@stencil/core/internal/client";import{c as a,C as h,a as o,t as n}from"./index2.js";import{i as l}from"./index3.js";import{i as d}from"./mg-input.conf.js";const m=["form","search","none","presentation"],c=["default","hide"],f=t(class extends e{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.formValid=s(this,"form-valid",7),this.formSubmit=s(this,"form-submit",7),this.formReset=s(this,"form-reset",7),this.classAllRequired="mg-c-form--all-required",this.classLabelOnTop="mg-c-form--label-on-top",this.identifier=a("mg-form"),this.name=this.identifier,this.readonly=!1,this.labelOnTop=!1,this.disabled=!1,this.classCollection=new h(["mg-c-form"]),this.setRequiredMessage=()=>{if(this.requiredMessageText=null,this.classCollection.delete(this.classAllRequired),"hide"===this.requiredMessage)return;if("default"===this.requiredMessage)return void(this.requiredMessageText=this.messages.form.required);const i=i=>!(i.disabled||i.readonly),t=i=>"MG-INPUT-TOGGLE"===i.nodeName;if(!this.disabled&&!this.readonly&&this.mgInputs.some((e=>i(e)&&!t(e)))){const e=this.mgInputs.filter(i),s=e.filter((i=>!t(i)&&i.required));[s.length,e.length].every((i=>1===i))||s.length>1&&s.length===e.filter((i=>!t(i))).length?(this.requiredMessageText=this.getRequiredMessageBasedOnCount(s,"allRequiredSingle","allRequired"),this.classCollection.add(this.classAllRequired)):s.length>0&&(this.requiredMessageText=this.getRequiredMessageBasedOnCount(s,"requiredSingle","required"))}},this.getRequiredMessageBasedOnCount=(i,t,e)=>this.messages.form[1===i.length?t:e],this.checkValidity=()=>{this.setRequiredMessage(),this.valid=!this.mgInputs.some((i=>i.invalid)),this.invalid=!this.valid,this.formValid.emit(this.valid)},this.handleFormSubmit=i=>{i.preventDefault(),this.formSubmit.emit()},this.setMgInputs=()=>{this.mgInputs=Array.from(this.element.querySelectorAll("*")).filter((i=>i.nodeName.startsWith("MG-INPUT"))),this.mgInputs.forEach((i=>{this.labelOnTop&&(i.labelOnTop=!0),"MG-INPUT-FILE"===i.nodeName&&(this.readonly?i.setAttribute("hidden",""):i.removeAttribute("hidden")),this.readonly&&!d(i)?i.readonly=!0:this.disabled?i.disabled=!0:i.addEventListener("input-valid",this.checkValidity)}))}}watchIdentifier(i){o(i)||console.error(`<mg-form> prop "identifier" value is invalid. Passed value: ${n(i)}.`)}validateRequiredMessage(i){if(i&&!c.includes(i))throw Error(`<mg-form> prop "requiredMessage" must be one of: ${c.join(", ")}. Passed value: ${n(i)}.`)}validateAriaRole(i){if(i&&!m.includes(i))throw Error(`<mg-form> prop "ariaRole" must be one of: ${m.join(", ")}. Passed value: ${n(i)}.`)}handlelabelOnTop(i){i?this.classCollection.add(this.classLabelOnTop):this.classCollection.delete(this.classLabelOnTop)}handleAttributeChange(){this.setMgInputs(),this.setRequiredMessage()}async displayError(){this.readonly||([...Array.from(this.element.querySelectorAll("*")).filter((i=>i.nodeName.startsWith("MG-FIELDSET"))),...this.mgInputs].forEach((i=>{var t;null===(t=i.displayError)||void 0===t||t.call(i)})),this.checkValidity())}async reset(){this.readonly||(await Promise.all(this.mgInputs.map((async i=>{void 0!==i.reset&&await i.reset()}))),this.checkValidity(),this.formReset.emit(!0))}componentWillLoad(){this.messages=l(this.element).messages,this.watchIdentifier(this.identifier),this.validateAriaRole(this.ariaRole),this.validateRequiredMessage(this.requiredMessage),this.handlelabelOnTop(this.labelOnTop),this.mgButtons=Array.from(this.element.querySelectorAll("mg-button")),this.mgButtons.forEach((i=>{i.setAttribute("form",this.identifier),"reset"===i.type&&i.addEventListener("click",(()=>{this.reset()}))})),this.setMgInputs(),Promise.all(this.mgInputs.map((async i=>{try{await i.componentOnReady()}catch(i){}}))).then((()=>{this.checkValidity()}))}componentDidLoad(){const i={childList:!0,subtree:!0};new MutationObserver((t=>{t.some((t=>Object.keys(i).includes(t.type)))&&(this.setMgInputs(),this.checkValidity())})).observe(this.element,i)}render(){return r("form",{key:"b1a6b50f2bbb9b71cecd23d419771cf1b40e13b4",class:this.classCollection.join(),id:this.identifier,name:this.name,onSubmit:this.handleFormSubmit,role:this.ariaRole},this.requiredMessageText&&r("p",{key:"9c878f3730a06e1b683240057511b588edf5e887",innerHTML:this.requiredMessageText}),r("slot",{key:"3cf5ca0f07e2f3573615cf6566e230f4d5678b31"}),!this.readonly&&!this.disabled&&r("slot",{key:"6cbfd58e9600f7a9d9b55ec23bdd64877c03f0d7",name:"actions"}))}get element(){return this}static get watchers(){return{identifier:[{watchIdentifier:0}],requiredMessage:[{validateRequiredMessage:0},{handleAttributeChange:0}],ariaRole:[{validateAriaRole:0}],labelOnTop:[{handlelabelOnTop:0}],readonly:[{handleAttributeChange:0}],disabled:[{handleAttributeChange:0}]}}static get style(){return".mg-u-form-legacy{--mg-c-form-inputs-title-width:calc(100% / 3 - 20px)}.mg-u-is-asterisk{color:var(--mg-b-color-danger)}.mg-c-form{--mg-c-input-title-width:var(--mg-c-form-inputs-title-width, calc(28 * var(--mg-b-size-8)));--mg-c-input-margin-bottom:var(--mg-b-size-16);--mg-c-input-title-horizontal-space:var(--mg-b-size-32)}.mg-c-form.mg-c-form--all-required{--mg-c-input-title-display:none}.mg-c-form.mg-c-form--label-on-top{--mg-c-input-margin-bottom:var(--mg-b-size-24)}.mg-c-form>p{font-size:var(--mg-b-font-size-small)}"}},[257,"mg-form",{identifier:[1],name:[1],readonly:[4],requiredMessage:[1,"required-message"],ariaRole:[1,"aria-role"],labelOnTop:[4,"label-on-top"],disabled:[4],valid:[1028],invalid:[1028],classCollection:[32],requiredMessageText:[32],displayError:[64],reset:[64]},void 0,{identifier:[{watchIdentifier:0}],requiredMessage:[{validateRequiredMessage:0},{handleAttributeChange:0}],ariaRole:[{validateAriaRole:0}],labelOnTop:[{handlelabelOnTop:0}],readonly:[{handleAttributeChange:0}],disabled:[{handleAttributeChange:0}]}]);function u(){"undefined"!=typeof customElements&&["mg-form"].forEach((t=>{"mg-form"===t&&(customElements.get(i(t))||customElements.define(i(t),f))}))}u();const g=f,b=u;export{g as MgForm,b as defineCustomElement}
@@ -1,6 +1 @@
1
- import { M as MgIcon$1, d as defineCustomElement$1 } from './mg-icon2.js';
2
-
3
- const MgIcon = MgIcon$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { MgIcon, defineCustomElement };
1
+ import{M as o,d as s}from"./mg-icon2.js";const m=o,r=s;export{m as MgIcon,r as defineCustomElement}