@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.
Files changed (160) hide show
  1. package/dist/cjs/{index-T3-qWqFE.js → index-DCZEYvlH.js} +51 -28
  2. package/dist/cjs/{index-YM1EJx9X.js → index-TUElr4Wv.js} +10 -10
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/mg-action-more_37.cjs.entry.js +443 -228
  5. package/dist/cjs/mg-alert.cjs.entry.js +3 -3
  6. package/dist/cjs/mg-components.cjs.js +3 -3
  7. package/dist/cjs/mg-fieldset.cjs.entry.js +141 -0
  8. package/dist/cjs/mg-input-combobox.cjs.entry.js +73 -57
  9. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +36 -23
  10. package/dist/cjs/{mg-input.conf-WTsvDfpC.js → mg-input.conf-HYIzRsy7.js} +5 -0
  11. package/dist/cjs/mg-loader.cjs.entry.js +3 -3
  12. package/dist/cjs/mg-progress.cjs.entry.js +2 -2
  13. package/dist/collection/collection-manifest.json +2 -1
  14. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js +5 -5
  15. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js +7 -7
  16. package/dist/collection/components/atoms/mg-badge/mg-badge.js +6 -6
  17. package/dist/collection/components/atoms/mg-button/mg-button.js +13 -13
  18. package/dist/collection/components/atoms/mg-card/mg-card.js +2 -2
  19. package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -1
  20. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +1 -1
  21. package/dist/collection/components/atoms/mg-icon/mg-icon.js +32 -26
  22. package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -3
  23. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +2 -2
  24. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +6 -6
  25. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +4 -0
  26. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +193 -33
  27. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +7 -9
  28. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +65 -46
  29. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +106 -86
  30. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +67 -65
  31. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +71 -66
  32. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +56 -38
  33. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +53 -35
  34. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +66 -47
  35. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +58 -40
  36. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +77 -59
  37. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +63 -45
  38. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +54 -30
  39. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +2 -4
  40. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +9 -6
  41. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +7 -7
  42. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -5
  43. package/dist/collection/components/molecules/mg-alert/mg-alert.js +5 -5
  44. package/dist/collection/components/molecules/mg-details/mg-details.js +7 -7
  45. package/dist/collection/components/molecules/mg-fieldset/mg-fieldset.js +404 -0
  46. package/dist/collection/components/molecules/mg-form/mg-form.js +26 -17
  47. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -3
  48. package/dist/collection/components/molecules/mg-loader/mg-loader.js +4 -4
  49. package/dist/collection/components/molecules/mg-message/mg-message.js +4 -4
  50. package/dist/collection/components/molecules/mg-modal/mg-modal.js +8 -8
  51. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +7 -8
  52. package/dist/collection/components/molecules/mg-panel/mg-panel.js +53 -22
  53. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +2 -2
  54. package/dist/collection/components/molecules/mg-popover/mg-popover.js +7 -7
  55. package/dist/collection/components/molecules/mg-progress/mg-progress.js +7 -7
  56. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -2
  57. package/dist/collection/components/molecules/mg-table/mg-table.js +2 -3
  58. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +7 -8
  59. package/dist/collection/locales/en/messages.json +5 -5
  60. package/dist/collection/locales/fr/messages.json +5 -5
  61. package/dist/components/index3.js +10 -10
  62. package/dist/components/mg-action-more.js +5 -3
  63. package/dist/components/mg-alert.js +5 -3
  64. package/dist/components/mg-badge2.js +4 -2
  65. package/dist/components/mg-button2.js +4 -2
  66. package/dist/components/mg-card2.js +4 -2
  67. package/dist/components/mg-character-left2.js +4 -2
  68. package/dist/components/mg-details.js +5 -3
  69. package/dist/components/mg-divider2.js +4 -2
  70. package/dist/components/mg-fieldset.d.ts +11 -0
  71. package/dist/components/mg-fieldset.js +209 -0
  72. package/dist/components/mg-form.js +8 -5
  73. package/dist/components/mg-icon2.js +29 -21
  74. package/dist/components/mg-illustrated-message.js +5 -3
  75. package/dist/components/mg-input-checkbox-paginated2.js +6 -6
  76. package/dist/components/mg-input-checkbox.js +32 -17
  77. package/dist/components/mg-input-combobox.js +75 -57
  78. package/dist/components/mg-input-date.js +39 -42
  79. package/dist/components/mg-input-numeric.js +30 -30
  80. package/dist/components/mg-input-password.js +26 -13
  81. package/dist/components/mg-input-radio.js +27 -13
  82. package/dist/components/mg-input-rich-text-editor.js +37 -22
  83. package/dist/components/mg-input-select2.js +28 -14
  84. package/dist/components/mg-input-text2.js +40 -26
  85. package/dist/components/mg-input-textarea.js +27 -14
  86. package/dist/components/mg-input-title2.js +4 -2
  87. package/dist/components/mg-input-toggle.js +39 -12
  88. package/dist/components/mg-input2.js +121 -20
  89. package/dist/components/mg-item-more2.js +13 -5
  90. package/dist/components/mg-loader2.js +5 -3
  91. package/dist/components/mg-menu-item2.js +4 -2
  92. package/dist/components/mg-message2.js +6 -4
  93. package/dist/components/mg-modal.js +6 -4
  94. package/dist/components/mg-pagination.js +4 -2
  95. package/dist/components/mg-panel.js +40 -9
  96. package/dist/components/mg-popover-content2.js +5 -3
  97. package/dist/components/mg-popover2.js +5 -3
  98. package/dist/components/mg-progress.js +5 -3
  99. package/dist/components/mg-skip-links.js +5 -3
  100. package/dist/components/mg-table.js +4 -2
  101. package/dist/components/mg-tabs2.js +5 -3
  102. package/dist/components/mg-tag.js +4 -2
  103. package/dist/components/mg-tooltip-content2.js +4 -2
  104. package/dist/components/mg-tooltip2.js +4 -2
  105. package/dist/esm/{index-WtiuOkLj.js → index-C7xjtdiw.js} +1 -1
  106. package/dist/esm/{index-Bab8_u8S.js → index-CNX6lq0x.js} +10 -10
  107. package/dist/esm/{index-JHj_9FSs.js → index-T6kOJXP1.js} +51 -28
  108. package/dist/esm/loader.js +3 -3
  109. package/dist/esm/mg-action-more_37.entry.js +444 -229
  110. package/dist/esm/mg-alert.entry.js +4 -4
  111. package/dist/esm/mg-components.js +4 -4
  112. package/dist/esm/mg-fieldset.entry.js +139 -0
  113. package/dist/esm/mg-input-combobox.entry.js +74 -58
  114. package/dist/esm/mg-input-rich-text-editor.entry.js +37 -24
  115. package/dist/esm/{mg-input.conf-CNgv8hc5.js → mg-input.conf-D9V2v4n2.js} +5 -1
  116. package/dist/esm/mg-loader.entry.js +4 -4
  117. package/dist/esm/mg-progress.entry.js +3 -3
  118. package/dist/mg-components/locales/en/messages.json +5 -5
  119. package/dist/mg-components/locales/fr/messages.json +5 -5
  120. package/dist/mg-components/mg-components.esm.js +1 -1
  121. package/dist/mg-components/p-2bab89c2.entry.js +1 -0
  122. package/dist/mg-components/{p-658f828c.entry.js → p-5abc77cd.entry.js} +1 -1
  123. package/dist/mg-components/p-7d2e43b2.entry.js +1 -0
  124. package/dist/mg-components/{p-c85b5d10.entry.js → p-92e5e5a6.entry.js} +1 -1
  125. package/dist/mg-components/{p-42a90251.entry.js → p-952288bd.entry.js} +1 -1
  126. package/dist/mg-components/{p-WtiuOkLj.js → p-C7xjtdiw.js} +1 -1
  127. package/dist/mg-components/p-CNX6lq0x.js +1 -0
  128. package/dist/mg-components/p-D9V2v4n2.js +1 -0
  129. package/dist/mg-components/p-T6kOJXP1.js +2 -0
  130. package/dist/mg-components/p-f2cddd52.entry.js +1 -0
  131. package/dist/mg-components/{p-82455ac7.entry.js → p-f6afaeb8.entry.js} +1 -1
  132. package/dist/types/components/atoms/mg-icon/mg-icon.conf.d.ts +1 -1
  133. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +0 -5
  134. package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +5 -0
  135. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +32 -1
  136. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +4 -3
  137. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +4 -2
  138. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +4 -2
  139. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +4 -2
  140. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +4 -2
  141. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +4 -2
  142. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +4 -2
  143. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +4 -2
  144. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +4 -2
  145. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +4 -2
  146. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +4 -2
  147. package/dist/types/components/molecules/mg-fieldset/mg-fieldset.d.ts +105 -0
  148. package/dist/types/components/molecules/mg-form/mg-form.d.ts +1 -1
  149. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +8 -1
  150. package/dist/types/components.d.ts +168 -18
  151. package/dist/types/stencil-public-runtime.d.ts +39 -2
  152. package/dist/types/types/index.d.ts +1 -1
  153. package/ide/intellij/web-types.json +289 -181
  154. package/ide/vscode/html-custom-data.json +259 -18
  155. package/package.json +23 -23
  156. package/dist/mg-components/p-54156253.entry.js +0 -1
  157. package/dist/mg-components/p-Bab8_u8S.js +0 -1
  158. package/dist/mg-components/p-CNgv8hc5.js +0 -1
  159. package/dist/mg-components/p-JHj_9FSs.js +0 -2
  160. package/dist/mg-components/p-abbd151c.entry.js +0 -1
@@ -0,0 +1,209 @@
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 };
@@ -14,9 +14,11 @@ const requiredMessageStatus = ['default', 'hide'];
14
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
15
 
16
16
  const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLElement {
17
- constructor() {
17
+ constructor(registerHost) {
18
18
  super();
19
- this.__registerHost();
19
+ if (registerHost !== false) {
20
+ this.__registerHost();
21
+ }
20
22
  this.__attachShadow();
21
23
  this.formValid = createEvent(this, "form-valid", 7);
22
24
  this.formSubmit = createEvent(this, "form-submit", 7);
@@ -164,11 +166,12 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
164
166
  this.setRequiredMessage();
165
167
  }
166
168
  /**
167
- * Display input error if it exists.
169
+ * Display inputs/fieldsets errors if it exists.
168
170
  */
169
171
  async displayError() {
170
172
  if (!this.readonly) {
171
- this.mgInputs.forEach(input => {
173
+ const mgFieldsets = Array.from(this.element.querySelectorAll('*')).filter((node) => node.nodeName.startsWith('MG-FIELDSET'));
174
+ [...mgFieldsets, ...this.mgInputs].forEach(input => {
172
175
  var _a;
173
176
  (_a = input.displayError) === null || _a === void 0 ? void 0 : _a.call(input);
174
177
  });
@@ -244,7 +247,7 @@ const MgForm$1 = /*@__PURE__*/ proxyCustomElement(class MgForm extends HTMLEleme
244
247
  * @returns HTML Element
245
248
  */
246
249
  render() {
247
- return (h("form", { key: 'd6842c8daef22c0a3747147d99d7bf6920f7623e', class: this.classCollection.join(), id: this.identifier, name: this.name, onSubmit: this.handleFormSubmit, role: this.ariaRole }, this.requiredMessageText && h("p", { key: 'cf5d9f380dfce313811df2dec390543ee19dffcb', innerHTML: this.requiredMessageText }), h("slot", { key: '2f03dd98f92469bc34b8bf9b8a8ef79cf8adf25c' }), !this.readonly && !this.disabled && h("slot", { key: 'c0f38f24c59d70703accf5fc63a2b58a92a952f0', name: "actions" })));
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" })));
248
251
  }
249
252
  get element() { return this; }
250
253
  static get watchers() { return {