@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
@@ -23,9 +23,11 @@ const titlePositions = ['left', 'right'];
23
23
  const mgPanelCss = "/*!\n * @prop --mg-c-panel-border-radius: Defines the border radius of the panel. Default value: `--mg-b-size-radius`.\n * @prop --mg-c-panel-color-background: Defines the background of the panel.\n * @prop --mg-c-panel-box-shadow: Defines the box shadow of the panel. Default value: `--mg-b-box-shadow`.\n * @prop --mg-c-panel-content-spacing: Defines the padding of the panel content. Default value: `--mg-b-size-16`.\n */:host{--mg-c-card-spacing:0;--mg-c-card-border-radius:var(--mg-c-panel-border-radius);--mg-c-card-color-background:var(--mg-c-panel-color-background);--mg-c-card-box-shadow:var(--mg-c-panel-box-shadow)}.mg-c-panel__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;padding:0 var(--mg-b-size-4)}.mg-c-panel__header-title,.mg-c-panel__header-content{display:flex;margin:var(--mg-b-size-4) 0}.mg-c-panel__header-content{min-height:var(--mg-b-size-min-height);flex:1 auto;align-items:center;padding-left:var(--mg-b-size-4)}.mg-c-panel__header-title mg-input-text{flex-grow:1;margin-left:var(--mg-b-size-4)}.mg-c-panel__header-title mg-button+mg-button:not([slot=append-input]){margin-left:var(--mg-b-size-4)}.mg-c-panel__header-title.mg-c-panel__header-title--full{flex:1 1 auto}.mg-c-panel__collapse-button-content{--mg-b-font-size:var(--mg-b-font-size-h5);--mg-c-button-font-weight:600}.mg-c-panel__collapse-button-icon.mg-c-panel__collapse-button-icon--reverse{transform:rotate(180deg)}.mg-c-panel__content{padding:var(--mg-c-panel-content-spacing)}.mg-c-panel ::slotted([slot=header-right]){display:flex;flex-wrap:wrap;margin-left:auto;gap:var(--mg-b-spacing-actions)}.mg-c-panel ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border:var(--mg-c-card-border-default);--mg-c-card-spacing:var(--mg-c-card-spacing-default);--mg-c-card-border-radius:var(--mg-c-card-border-radius-default);--mg-c-card-color-background:var(--mg-c-card-color-background-default);--mg-c-card-box-shadow:var(--mg-c-card-box-shadow-default);--mg-c-card-max-width:unset;--mg-c-card-min-width:unset}";
24
24
 
25
25
  const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLElement {
26
- constructor() {
26
+ constructor(registerHost) {
27
27
  super();
28
- this.__registerHost();
28
+ if (registerHost !== false) {
29
+ this.__registerHost();
30
+ }
29
31
  this.__attachShadow();
30
32
  this.titleChange = createEvent(this, "title-change", 7);
31
33
  this.expandedChange = createEvent(this, "expanded-change", 7);
@@ -69,6 +71,13 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
69
71
  /************
70
72
  * Methods *
71
73
  ************/
74
+ /**
75
+ * Check if panel-title slot is used
76
+ * @returns true if slot is used
77
+ */
78
+ this.hasPanelTitleSlot = () => {
79
+ return this.element.querySelector('[slot="panel-title"]') !== null;
80
+ };
72
81
  /**
73
82
  * Toggle is editing state
74
83
  */
@@ -122,7 +131,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
122
131
  * Render collapse button
123
132
  * @returns collpase button
124
133
  */
125
- this.renderCollapseButton = () => (h("mg-button", { onClick: this.handleCollapseButton, variant: "flat", "aria-expanded": this.expanded.toString(), "aria-controls": `${this.identifier}-content`, disabled: this.expandToggleDisabled, isIcon: this.expandToggleDisplay === 'icon', label: this.panelTitle }, h("span", { class: "mg-c-panel__collapse-button-content" }, h("mg-icon", { icon: "chevron-up", class: { 'mg-c-panel__collapse-button-icon': true, 'mg-c-panel__collapse-button-icon--reverse': !this.expanded } }), !this.isEditing && this.expandToggleDisplay !== 'icon' && this.panelTitle)));
134
+ this.renderCollapseButton = () => (h("mg-button", { onClick: this.handleCollapseButton, variant: "flat", "aria-expanded": this.expanded.toString(), "aria-controls": `${this.identifier}-content`, disabled: this.expandToggleDisabled, isIcon: this.expandToggleDisplay === 'icon', label: this.expandToggleDisplay === 'icon' ? this.panelTitle : undefined }, h("span", { class: "mg-c-panel__collapse-button-content" }, h("mg-icon", { icon: "chevron-up", class: { 'mg-c-panel__collapse-button-icon': true, 'mg-c-panel__collapse-button-icon--reverse': !this.expanded } }), !this.isEditing && this.expandToggleDisplay !== 'icon' && (this.hasPanelTitleSlot() ? h("slot", { name: "panel-title" }) : this.panelTitle))));
126
135
  /**
127
136
  * Render edit button
128
137
  * @returns edit Button
@@ -139,7 +148,8 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
139
148
  */
140
149
  this.renderTitle = () => {
141
150
  const elementsToRender = [this.renderCollapseButton()];
142
- if (this.titleEditable) {
151
+ // Add edit functionality only if not using slot and title is editable
152
+ if (this.titleEditable && !this.hasPanelTitleSlot()) {
143
153
  if (!this.isEditing)
144
154
  elementsToRender.push(this.renderEditButton());
145
155
  else
@@ -165,14 +175,24 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
165
175
  }
166
176
  }
167
177
  validatePanelTitle(newValue) {
168
- if (!isValidString(newValue))
169
- throw new Error(`<mg-panel> prop "panelTitle" is required and must be a string. Passed value: ${toString(newValue)}.`);
170
- this.titleChange.emit(newValue);
178
+ if (newValue !== undefined) {
179
+ if (!isValidString(newValue)) {
180
+ throw new Error(`<mg-panel> prop "panelTitle" must be a string. Passed value: ${toString(newValue)}.`);
181
+ }
182
+ else {
183
+ this.titleChange.emit(newValue);
184
+ }
185
+ }
171
186
  }
172
187
  validateTitlePattern(newValue) {
173
188
  if (newValue !== undefined && !this.titleEditable)
174
189
  throw new Error(`<mg-panel> prop "titleEditable" must be set to "true".`);
175
190
  }
191
+ validateTitleEditable(newValue) {
192
+ if (newValue && this.hasPanelTitleSlot()) {
193
+ throw new Error(`<mg-panel> prop "titleEditable" cannot be used with panel-title slot.`);
194
+ }
195
+ }
176
196
  validateTitlePosition(newValue) {
177
197
  if (!titlePositions.includes(newValue))
178
198
  throw new Error(`<mg-panel> prop "titlePosition" must be one of: ${titlePositions.join(', ')}. Passed value: ${toString(newValue)}.`);
@@ -185,6 +205,9 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
185
205
  throw new Error(`<mg-panel> prop "expandToggleDisplay" must be one of: ${expandToggleDisplays.join(', ')}. Passed value: ${toString(newValue)}.`);
186
206
  if (newValue === 'icon' && this.titleEditable)
187
207
  this.titleEditable = false;
208
+ if (newValue === 'icon' && this.hasPanelTitleSlot()) {
209
+ throw new Error(`<mg-panel> prop "expandToggleDisplay" cannot be "icon" when panel-title slot is used.`);
210
+ }
188
211
  }
189
212
  /*************
190
213
  * Lifecycle *
@@ -199,9 +222,15 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
199
222
  this.watchIdentifier(this.identifier);
200
223
  this.validateTitlePattern(this.titlePattern);
201
224
  this.validateTitlePattern(this.titlePatternErrorMessage);
202
- this.validatePanelTitle(this.panelTitle);
225
+ // Only validate panelTitle if slot is not used
226
+ if (!this.hasPanelTitleSlot()) {
227
+ if (!isValidString(this.panelTitle))
228
+ throw new Error(`<mg-panel> prop "panelTitle" is required when panel-title slot is not used.`);
229
+ this.validatePanelTitle(this.panelTitle);
230
+ }
203
231
  this.validateExpandToggleDisplay(this.expandToggleDisplay);
204
232
  this.validateTitlePosition(this.titlePosition);
233
+ this.validateTitleEditable(this.titleEditable);
205
234
  }
206
235
  /**
207
236
  * Edit DOM after render
@@ -217,7 +246,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
217
246
  */
218
247
  render() {
219
248
  const headerId = `${this.identifier}-header`;
220
- return (h("section", { key: '6d9b0759cf8d6a8e94a1a6598f45fc00288ca22a', class: this.classCollection.join(), id: this.identifier }, h("mg-card", { key: '21b0d991daf053506097333df58d3b98ec2e5b0e', shadow: this.shadow }, h("header", { key: 'abd9dbeb13d85c9a66aac13e7b32e6a83e2ded57', class: { 'mg-c-panel__header': true, 'mg-c-panel__header--reverse': this.titlePosition === 'right' }, id: headerId }, this.renderHeaderChildren()), h("article", { key: '23c74b70bd275fb18c853a1b7a0a4b4ff5a4c605', class: "mg-c-panel__content", id: `${this.identifier}-content`, "aria-labelledby": headerId, hidden: !this.expanded }, h("slot", { key: '15561936437c960768c4954f45df4045ac3dee03' })))));
249
+ return (h("section", { key: '3662204d763051c34ea13de4b7b3f7abc7914b81', class: this.classCollection.join(), id: this.identifier }, h("mg-card", { key: '46f113258172b1d040f65a4d312554b0c0551489', shadow: this.shadow }, h("header", { key: '1d7e7a48a5c4f89d141a5a7e46b220d4f9c082a5', class: { 'mg-c-panel__header': true, 'mg-c-panel__header--reverse': this.titlePosition === 'right' }, id: headerId }, this.renderHeaderChildren()), h("article", { key: 'ab0aec831cc79d982b7556d6e245c80ae2979083', class: "mg-c-panel__content", id: `${this.identifier}-content`, "aria-labelledby": headerId, hidden: !this.expanded }, h("slot", { key: 'e831573fe9d5ff783073d123b7e2a54baad73bfc' })))));
221
250
  }
222
251
  get element() { return this; }
223
252
  static get watchers() { return {
@@ -225,6 +254,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
225
254
  "panelTitle": ["validatePanelTitle"],
226
255
  "titlePattern": ["validateTitlePattern"],
227
256
  "titlePatternErrorMessage": ["validateTitlePattern"],
257
+ "titleEditable": ["validateTitleEditable"],
228
258
  "titlePosition": ["validateTitlePosition"],
229
259
  "expanded": ["handleExpanded"],
230
260
  "expandToggleDisplay": ["validateExpandToggleDisplay"]
@@ -249,6 +279,7 @@ const MgPanel$1 = /*@__PURE__*/ proxyCustomElement(class MgPanel extends HTMLEle
249
279
  "panelTitle": ["validatePanelTitle"],
250
280
  "titlePattern": ["validateTitlePattern"],
251
281
  "titlePatternErrorMessage": ["validateTitlePattern"],
282
+ "titleEditable": ["validateTitleEditable"],
252
283
  "titlePosition": ["validateTitlePosition"],
253
284
  "expanded": ["handleExpanded"],
254
285
  "expandToggleDisplay": ["validateExpandToggleDisplay"]
@@ -8,9 +8,11 @@ import { d as defineCustomElement$1 } from './mg-icon2.js';
8
8
  const mgPopoverContentCss = ":host{position:relative;z-index:2000;display:none;padding:var(--mg-b-size-8);color:var(--mg-c-popover-color-text)}:host([data-show]){display:block}:host([data-popper-placement^=left-start]),:host([data-popper-placement^=left-end]),:host([data-popper-placement^=right-start]),:host([data-popper-placement^=right-end]){padding:0 var(--mg-b-size-8)}.mg-c-popover-content{--mg-c-card-max-width:var(--mg-c-popover-max-width);--mg-c-card-min-width:var(--mg-c-popover-min-width)}.mg-c-popover-content mg-button{margin-top:calc(-1*(var(--mg-b-size-min-height) - var(--mg-c-popover-title-font-size)*var(--mg-b-line-height))/2);margin-right:calc(-1*(var(--mg-b-size-min-height) - var(--mg-b-size-16))/2);margin-left:var(--mg-b-size-32);float:right}.mg-c-popover-content__title ::slotted([slot=title]){margin:0 0 var(--mg-b-size-12) !important;font-size:var(--mg-c-popover-title-font-size) !important;font-weight:600 !important}.mg-c-popover-content ::slotted(*:not(mg-panel,mg-message,mg-modal)){--mg-c-card-border:var(--mg-c-card-border-default);--mg-c-card-spacing:var(--mg-c-card-spacing-default);--mg-c-card-border-radius:var(--mg-c-card-border-radius-default);--mg-c-card-color-background:var(--mg-c-card-color-background-default);--mg-c-card-box-shadow:var(--mg-c-card-box-shadow-default);--mg-c-card-max-width:unset;--mg-c-card-min-width:unset}:host([data-popper-placement^=top][data-arrow-hide]){padding-bottom:0}:host([data-popper-placement^=bottom][data-arrow-hide]){padding-top:0}:host([data-popper-placement$=end][data-arrow-hide]),:host([data-popper-placement^=left][data-arrow-hide]){padding-right:0}:host([data-popper-placement$=start][data-arrow-hide]),:host([data-popper-placement^=right][data-arrow-hide]){padding-left:0}::slotted([slot=arrow]){position:absolute;width:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius) + 2*var(--mg-b-size-8));visibility:hidden}::slotted([slot=arrow])::before{position:absolute;content:\"\";visibility:visible}:host([data-arrow-hide]) ::slotted([slot=arrow]){display:none}:host([data-popper-placement^=top]) ::slotted([slot=arrow]),:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){height:var(--mg-b-size-8)}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{left:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-right:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-left:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=top]) ::slotted([slot=arrow]){bottom:var(--mg-b-size-border);filter:drop-shadow(0 0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=top]) ::slotted([slot=arrow])::before{border-top:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow]){top:var(--mg-b-size-border);filter:drop-shadow(0 -0.5rem 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=bottom]) ::slotted([slot=arrow])::before{border-bottom:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]),:host([data-popper-placement^=right]) ::slotted([slot=arrow]){width:var(--mg-b-size-8)}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{top:calc(var(--mg-c-card-border-radius) + var(--mg-b-size-8));border-top:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0);border-bottom:calc(var(--mg-b-size-24)/2) solid rgba(0,0,0,0)}:host([data-popper-placement^=left]) ::slotted([slot=arrow]){right:var(--mg-b-size-border);filter:drop-shadow(0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=left]) ::slotted([slot=arrow])::before{border-left:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=right]) ::slotted([slot=arrow]){left:var(--mg-b-size-border);filter:drop-shadow(-0.5rem 0 0.25rem color-mix(in srgb, var(--mg-b-color-dark), transparent 85%))}:host([data-popper-placement^=right]) ::slotted([slot=arrow])::before{border-right:var(--mg-b-size-8) solid var(--mg-c-popover-color-background)}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=left-end]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-start]) ::slotted([slot=arrow]),:host([data-popper-placement^=right-end]) ::slotted([slot=arrow]){height:calc(var(--mg-b-size-24) + 2*var(--mg-c-card-border-radius))}:host([data-popper-placement^=left-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=left-end]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-start]) ::slotted([slot=arrow])::before,:host([data-popper-placement^=right-end]) ::slotted([slot=arrow])::before{top:var(--mg-c-card-border-radius)}";
9
9
 
10
10
  const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent extends HTMLElement {
11
- constructor() {
11
+ constructor(registerHost) {
12
12
  super();
13
- this.__registerHost();
13
+ if (registerHost !== false) {
14
+ this.__registerHost();
15
+ }
14
16
  this.__attachShadow();
15
17
  this.hideContent = createEvent(this, "hide-content", 7);
16
18
  /**
@@ -53,7 +55,7 @@ const MgPopoverContent = /*@__PURE__*/ proxyCustomElement(class MgPopoverContent
53
55
  * @returns HTML Element
54
56
  */
55
57
  render() {
56
- return (h(Host, { key: '2746e72f636c1a702d2b15836343ca8503f233e5' }, h("mg-card", { key: '84e28550627969d4e15ded5a5f8b6d19584eb891', class: this.classCollection.join(), shadow: true }, this.closeButton && (h("mg-button", { key: 'f25c773593441597e81330997df3175cd9a963e4', "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, h("mg-icon", { key: '723f3d1e8a85356d7aa9be9c875b273d7c9c1f72', icon: "cross" }))), h("div", { key: '283316f2a66212d9afc128aaec3fb24e4a40c0eb', class: "mg-c-popover-content__title" }, h("slot", { key: 'a1839a9a3259ccb221b90e82f786eb0e7c3d2a19', name: "title" })), h("slot", { key: '708903013417e27f4a9ed9811fde886d6b697dec', name: "content" })), h("slot", { key: 'fad6024a2474ffd5f46925101baa0e6ab9f2e951', name: "arrow" })));
58
+ return (h(Host, { key: '054fc82954b39a488f7fe5cb391d89b5fa4a61fe' }, h("mg-card", { key: 'bb89bada37069b50295bd93d988667c3b85eada3', class: this.classCollection.join(), shadow: true }, this.closeButton && (h("mg-button", { key: 'a59d6610574b964be1e2ce34ccd8e31c1395b6ff', "is-icon": true, variant: "flat", label: this.messages.general.close, onClick: this.handleCloseButton }, h("mg-icon", { key: '5bcc9e4eb21396f4fc66a6f1e4d6c5cdf68ec1f4', icon: "cross" }))), h("div", { key: '57be2022f3b61220e1249faeaf2acee9960027fe', class: "mg-c-popover-content__title" }, h("slot", { key: 'c7870e86a9f105cf6b9d4520c77874bce9235d72', name: "title" })), h("slot", { key: '5af8462232625d9c7d694bab46351d5e646f62ca', name: "content" })), h("slot", { key: '599863410dd7d751e82c440cd6c4fb7f2c48d9f3', name: "arrow" })));
57
59
  }
58
60
  get element() { return this; }
59
61
  static get style() { return mgPopoverContentCss; }
@@ -9,9 +9,11 @@ import { c as createPopper } from './popper.js';
9
9
  const mgPopoverCss = "/*!\n * @prop --mg-c-popover-color-background: Defines the background color of the popover. Default value: `--mg-b-color-light`.\n * @prop --mg-c-popover-color-text: Defines the font color of the popover. Default value: `--mg-b-color-font-dark`.\n * @prop --mg-c-popover-title-font-size: Defines the font size of the popover title. Default value: `--mg-b-font-size-h5`.\n * @prop --mg-c-popover-padding-vertical: Defines the vertical padding of the popover. Default value: `unset`, fallback to `--mg-b-size-16`.\n * @prop --mg-c-popover-padding-horizontal: Defines the horizontal padding of the popover. Default value: `unset`, fallback to `--mg-b-size-16`.\n * @prop --mg-c-popover-max-width: Defines the max-width of the popover. Default value: `--mg-b-size-floating-element-max-width`.\n * @prop --mg-c-popover-min-width: Defines the min-width of the popover. Default value: `unset`.\n */:host{--mg-c-card-spacing:var(--mg-c-popover-padding-vertical, var(--mg-b-size-16)) var(--mg-c-popover-padding-horizontal, var(--mg-b-size-16));--mg-c-card-border:none;--mg-c-card-border-radius:var(--mg-b-size-radius);--mg-c-card-color-background:var(--mg-c-popover-color-background);position:relative;display:contents}:host::slotted(*){display:inline-block}";
10
10
 
11
11
  const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLElement {
12
- constructor() {
12
+ constructor(registerHost) {
13
13
  super();
14
- this.__registerHost();
14
+ if (registerHost !== false) {
15
+ this.__registerHost();
16
+ }
15
17
  this.__attachShadow();
16
18
  this.displayChange = createEvent(this, "display-change", 7);
17
19
  this.componentClose = createEvent(this, "component-close", 7);
@@ -249,7 +251,7 @@ const MgPopover = /*@__PURE__*/ proxyCustomElement(class MgPopover extends HTMLE
249
251
  * @returns HTML Element
250
252
  */
251
253
  render() {
252
- return (h(Host, { key: '7ea28f19a5a61f6191c2aece439e85da8f067270' }, h("slot", { key: 'aa6a627b90246ca327e2971329ab58b02eeb1d04' }), h("slot", { key: '1851353a6b4de659d6027a0bf3ba5f2120f7137d', name: "content" })));
254
+ return (h(Host, { key: '2c1506b8e2da100519aeeae75fc5c378a81c473c' }, h("slot", { key: 'f9aea885e8cbc168614c05761829f0a0740eba9e' }), h("slot", { key: 'fa6106a660a73b3761d4783f8d46d401c47b4eb6', name: "content" })));
253
255
  }
254
256
  get element() { return this; }
255
257
  static get watchers() { return {
@@ -9,9 +9,11 @@ const roles = ['progressbar', 'meter'];
9
9
  const mgProgressCss = "/*!\n * @prop --mg-c-progress-size: Defines the size of the progress bar. Default value is `--mg-b-size-8`.\n * @prop --mg-c-progress-border-color: Defines the color of the progress bar border. Default value is `--mg-b-color-neutral-80`.\n * @prop --mg-c-progress-bar-color-background: Defines the color of the progress bar. Default value is `--mg-b-color-neutral-30`.\n * @prop --mg-c-progress-fill-color-background: Defines the color of the progress bar fill background. Default value is `--mg-b-color-app`.\n */.mg-c-progress{min-width:calc(var(--mg-b-size-16)*4)}.mg-c-progress__bar{position:relative;overflow:hidden;height:var(--mg-c-progress-size);border-width:var(--mg-b-size-border);border-style:solid;border-color:var(--mg-c-progress-border-color);border-radius:calc((var(--mg-c-progress-size) + var(--mg-b-size-border)*2)/2);background-color:var(--mg-c-progress-bar-color-background)}.mg-c-progress__fill{height:100%;border-radius:calc((var(--mg-c-progress-size) + var(--mg-b-size-border)*2)/2);transition:width 300ms ease-in-out}.mg-c-progress__bar.mg-c-progress__bar--active .mg-c-progress__fill{background-color:var(--mg-c-progress-fill-color-background)}";
10
10
 
11
11
  const MgProgress$1 = /*@__PURE__*/ proxyCustomElement(class MgProgress extends HTMLElement {
12
- constructor() {
12
+ constructor(registerHost) {
13
13
  super();
14
- this.__registerHost();
14
+ if (registerHost !== false) {
15
+ this.__registerHost();
16
+ }
15
17
  this.__attachShadow();
16
18
  /**
17
19
  * Define progress role
@@ -75,7 +77,7 @@ const MgProgress$1 = /*@__PURE__*/ proxyCustomElement(class MgProgress extends H
75
77
  * @returns HTML Element
76
78
  */
77
79
  render() {
78
- return (h(Host, { key: '62c66dbd93249bfde3eb8ff449b49884edfe49c3', role: this.ariaRole, "aria-label": this.label, "aria-valuenow": this.value, "aria-valuemin": this.min, "aria-valuemax": this.max }, h("div", { key: 'b349c9d7358086ca4668705a1935fd8bbdb86afa', class: "mg-c-progress" }, h("div", { key: '57cc19d07c0f006f8ecf3a1f86ec12e37ffd8d6b', class: { 'mg-c-progress__bar': true, 'mg-c-progress__bar--active': this.value > this.min } }, h("div", { key: 'b4c49d94d9cfe2e1a6d8013aa4a39cde51b36d04', class: "mg-c-progress__fill", style: {
80
+ return (h(Host, { key: '8e6c727e9416fa777fd94b32d618a9137e8e08f7', role: this.ariaRole, "aria-label": this.label, "aria-valuenow": this.value, "aria-valuemin": this.min, "aria-valuemax": this.max }, h("div", { key: 'ac42ee9c5dda55d70aad7391895e4a013aaa27f9', class: "mg-c-progress" }, h("div", { key: '34c77bc6c133bc59b9daa68d7d6c8534f13f7d37', class: { 'mg-c-progress__bar': true, 'mg-c-progress__bar--active': this.value > this.min } }, h("div", { key: '7ea03a3f0c54ca0c81616c7c070d178a510dd7e1', class: "mg-c-progress__fill", style: {
79
81
  width: `${Math.round(((this.value - this.min) / (this.max - this.min)) * 100)}%`,
80
82
  } })))));
81
83
  }
@@ -5,9 +5,11 @@ import { i as isValidString } from './index2.js';
5
5
  const mgSkipLinksCss = ".mg-c-skip-links{position:absolute;display:flex;min-height:var(--mg-b-size-56);align-items:center;background:var(--mg-b-color-light);opacity:0;transform:translateY(-100%)}.mg-c-skip-links:focus-within{position:relative;opacity:1;transform:translateY(0)}.mg-c-skip-links__list{display:flex;flex-wrap:wrap;align-items:center;padding:0 var(--mg-b-size-16);margin:0;gap:var(--mg-b-spacing-actions);list-style:none}.mg-c-skip-links__link{display:inline-block;padding:var(--mg-b-size-8) var(--mg-b-size-16);color:var(--mg-b-color-dark)}.mg-c-skip-links__link:hover{background:hsl(var(--mg-b-color-dark-h), var(--mg-b-color-dark-s), var(--mg-b-color-dark-l), 10%)}";
6
6
 
7
7
  const MgSkipLinks$1 = /*@__PURE__*/ proxyCustomElement(class MgSkipLinks extends HTMLElement {
8
- constructor() {
8
+ constructor(registerHost) {
9
9
  super();
10
- this.__registerHost();
10
+ if (registerHost !== false) {
11
+ this.__registerHost();
12
+ }
11
13
  this.__attachShadow();
12
14
  this.goToAnchor = createEvent(this, "go-to-anchor", 7);
13
15
  /***********
@@ -43,7 +45,7 @@ const MgSkipLinks$1 = /*@__PURE__*/ proxyCustomElement(class MgSkipLinks extends
43
45
  * @returns HTML Element
44
46
  */
45
47
  render() {
46
- return (h("nav", { key: '66ea9a2abfd1db7a1c7c46e9cdcd15af013ea406', class: "mg-c-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, h("ul", { key: '07f404865c3ad0d815b87e32a46716136ed77d7d', class: "mg-c-skip-links__list", role: "list" }, this.links.map(link => (h("li", { key: link.href }, h("a", { class: "mg-c-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
48
+ return (h("nav", { key: '5bf4427662bdca6512969bee91aa03f43a126743', class: "mg-c-skip-links", role: "navigation", "aria-label": this.messages.skipLinks.navLabel }, h("ul", { key: '1d2b2a56b3960f70a3d37b333c77bf686643e0fd', class: "mg-c-skip-links__list", role: "list" }, this.links.map(link => (h("li", { key: link.href }, h("a", { class: "mg-c-skip-links__link", href: link.href, onClick: this.handleLinkCLick }, link.label)))))));
47
49
  }
48
50
  get element() { return this; }
49
51
  static get watchers() { return {
@@ -62,9 +62,11 @@ const compareValues = (firstValue, secondValue, descending, datatype) => {
62
62
  return firstValue.localeCompare(secondValue, undefined, { numeric: datatype === 'numeric' });
63
63
  };
64
64
  const MgTable$1 = /*@__PURE__*/ proxyCustomElement(class MgTable extends HTMLElement {
65
- constructor() {
65
+ constructor(registerHost) {
66
66
  super();
67
- this.__registerHost();
67
+ if (registerHost !== false) {
68
+ this.__registerHost();
69
+ }
68
70
  this.__attachShadow();
69
71
  // Classes
70
72
  this.componentClass = 'mg-c-table';
@@ -27,9 +27,11 @@ const mgTabsCss = "/*!\n * @prop --mg-c-tabs-color: Defines tabs global color, u
27
27
  */
28
28
  const isTabItem = (tab) => typeof tab === 'object' && typeof tab.label === 'string';
29
29
  const MgTabs = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLElement {
30
- constructor() {
30
+ constructor(registerHost) {
31
31
  super();
32
- this.__registerHost();
32
+ if (registerHost !== false) {
33
+ this.__registerHost();
34
+ }
33
35
  this.__attachShadow();
34
36
  this.activeTabChange = createEvent(this, "active-tab-change", 7);
35
37
  /************
@@ -253,7 +255,7 @@ const MgTabs = /*@__PURE__*/ proxyCustomElement(class MgTabs extends HTMLElement
253
255
  * @returns HTML Element
254
256
  */
255
257
  render() {
256
- return (h("div", { key: '97f18baca4ae45b85401fd38570fe16d8df46c2b', class: this.classCollection.join() }, h("header", { key: '46cffaf2e14dde2a4994e894358caee7553b3bd6', role: "tablist", "aria-label": this.label, class: "mg-c-tabs__header" }, this.tabs.map((tab, index) => (h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index), class: {
258
+ return (h("div", { key: 'ae71d21c9ce3acb07b3adf67bbe25f205d382abc', class: this.classCollection.join() }, h("header", { key: 'cf6cdae863602c956aa450a34e91a6d8b950d8f5', role: "tablist", "aria-label": this.label, class: "mg-c-tabs__header" }, this.tabs.map((tab, index) => (h("button", { key: tab.label, role: "tab", id: this.getElementId(this.identifier, index), class: {
257
259
  [`${this.buttonTabBaseClass}`]: true,
258
260
  [`${this.buttonTabBaseClass}--horizontal`]: true,
259
261
  [`${this.getNavigationButtonClass(Status.ACTIVE)}`]: this.tabHasStatus(tab, Status.ACTIVE),
@@ -9,9 +9,11 @@ const variants = ['primary', 'secondary', 'success', 'warning', 'danger', 'info'
9
9
  const mgTagCss = "/*!\n * @prop --mg-c-tag-height: Defines the height of the tag. Default value is `--mg-b-size-24`.\n * @prop --mg-c-tag-border-radius: Defines the border radius of the tag. Default value is `--mg-b-size-radius`.\n * @prop --mg-c-tag-font-size: Defines the font size of the tag. Default value is `--mg-b-font-size-small`.\n */:host{display:inline-block}.mg-c-tag{display:inline-flex;min-height:var(--mg-c-tag-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-c-tag-height) - 2*var(--mg-b-size-border) - var(--mg-c-tag-font-size)*var(--mg-b-line-height))/2) calc(var(--mg-b-size-8) - var(--mg-b-size-border));border:var(--mg-b-size-border) solid;border-radius:var(--mg-c-tag-border-radius);font-size:var(--mg-c-tag-font-size);font-weight:600;vertical-align:middle}.mg-c-tag.mg-c-tag--primary{border-color:var(--mg-b-color-neutral-110);background-color:var(--mg-b-color-neutral-110);color:var(--mg-b-color-text-on-primary)}.mg-c-tag.mg-c-tag--primary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-neutral-110)}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft{border-color:var(--mg-b-color-neutral-20);background-color:var(--mg-b-color-neutral-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--primary.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-neutral-110)}.mg-c-tag.mg-c-tag--secondary{border-color:var(--mg-b-color-neutral-10);background-color:var(--mg-b-color-neutral-10);color:var(--mg-b-color-text-on-secondary)}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-neutral-10)}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft{border-color:var(--mg-b-color-neutral-20);background-color:var(--mg-b-color-neutral-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--secondary.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-text-on-secondary)}.mg-c-tag.mg-c-tag--danger{border-color:var(--mg-b-color-danger);background-color:var(--mg-b-color-danger);color:var(--mg-b-color-text-on-danger)}.mg-c-tag.mg-c-tag--danger.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-danger)}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft{border-color:var(--mg-b-color-red-20);background-color:var(--mg-b-color-red-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--danger.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-danger)}.mg-c-tag.mg-c-tag--info{border-color:var(--mg-b-color-info);background-color:var(--mg-b-color-info);color:var(--mg-b-color-text-on-info)}.mg-c-tag.mg-c-tag--info.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-info)}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft{border-color:var(--mg-b-color-blue-20);background-color:var(--mg-b-color-blue-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--info.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-info)}.mg-c-tag.mg-c-tag--success{border-color:var(--mg-b-color-success);background-color:var(--mg-b-color-success);color:var(--mg-b-color-text-on-success)}.mg-c-tag.mg-c-tag--success.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-success)}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft{border-color:var(--mg-b-color-green-20);background-color:var(--mg-b-color-green-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--success.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-success)}.mg-c-tag.mg-c-tag--warning{border-color:var(--mg-b-color-warning);background-color:var(--mg-b-color-warning);color:var(--mg-b-color-text-on-warning)}.mg-c-tag.mg-c-tag--warning.mg-c-tag--outline{background-color:rgba(0,0,0,0);color:var(--mg-b-color-warning)}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft{border-color:var(--mg-b-color-yellow-20);background-color:var(--mg-b-color-yellow-20);color:var(--mg-b-color-dark);font-weight:400}.mg-c-tag.mg-c-tag--warning.mg-c-tag--soft ::slotted(mg-icon){color:var(--mg-b-color-warning)}::slotted(mg-icon){align-self:start;margin-right:var(--mg-b-size-4)}::slotted(mg-icon[size=small]){margin-top:calc(var(--mg-b-line-height)*1rem - var(--mg-b-size-12))}slot{display:inline-flex;align-items:center}";
10
10
 
11
11
  const MgTag$1 = /*@__PURE__*/ proxyCustomElement(class MgTag extends HTMLElement {
12
- constructor() {
12
+ constructor(registerHost) {
13
13
  super();
14
- this.__registerHost();
14
+ if (registerHost !== false) {
15
+ this.__registerHost();
16
+ }
15
17
  this.__attachShadow();
16
18
  /************
17
19
  * Internal *
@@ -3,9 +3,11 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
3
3
  const mgTooltipContentCss = ":host{z-index:1000;display:none;max-width:var(--mg-b-size-floating-element-max-width);box-sizing:border-box;padding:var(--mg-b-size-4) var(--mg-b-size-8);border-radius:var(--mg-c-tooltip-border-radius);background-color:var(--mg-c-tooltip-color-background);color:var(--mg-c-tooltip-color-text);font-family:var(--mg-b-font-family);font-size:var(--mg-b-font-size);font-weight:400;text-align:start}:host([data-show]){display:block}::slotted([slot=arrow]){visibility:hidden}::slotted([slot=arrow])::before{content:\"\";transform:rotate(45deg);visibility:visible}::slotted([slot=arrow]),::slotted([slot=arrow])::before{position:absolute;z-index:9999;width:var(--mg-b-size-8);height:var(--mg-b-size-8);background-color:var(--mg-c-tooltip-color-background)}:host([data-popper-placement^=top])>::slotted([slot=arrow]){bottom:calc(-1*var(--mg-b-size-4))}:host([data-popper-placement^=bottom])>::slotted([slot=arrow]){top:calc(-1*var(--mg-b-size-4))}:host([data-popper-placement^=left])>::slotted([slot=arrow]){right:calc(-1*var(--mg-b-size-4))}:host([data-popper-placement^=right])>::slotted([slot=arrow]){left:calc(-1*var(--mg-b-size-4))}";
4
4
 
5
5
  const MgTooltipContent = /*@__PURE__*/ proxyCustomElement(class MgTooltipContent extends HTMLElement {
6
- constructor() {
6
+ constructor(registerHost) {
7
7
  super();
8
- this.__registerHost();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
9
11
  this.__attachShadow();
10
12
  }
11
13
  /*************
@@ -19,9 +19,11 @@ const mgTooltipCss = "/*!\n * @prop --mg-c-tooltip-border-radius: Defines the bo
19
19
  */
20
20
  const isButton = (element) => typeof element === 'object' && ['MG-BUTTON', 'BUTTON'].includes(element.tagName);
21
21
  const MgTooltip = /*@__PURE__*/ proxyCustomElement(class MgTooltip extends HTMLElement {
22
- constructor() {
22
+ constructor(registerHost) {
23
23
  super();
24
- this.__registerHost();
24
+ if (registerHost !== false) {
25
+ this.__registerHost();
26
+ }
25
27
  this.__attachShadow();
26
28
  /**
27
29
  * Sets an `id` attribute.
@@ -405,4 +405,4 @@ const getChildWindows = (localWindow, windows = []) => {
405
405
  return windows;
406
406
  };
407
407
 
408
- export { ClassList as C, Paginate as P, Cursor as a, allItemsAreString as b, isValidString as c, Page as d, isValidNumber as e, formatID as f, getObjectValueFromKey as g, createID as h, isObject as i, isValideID as j, isTagName as k, cleanString as l, dateRegExp as m, nextTick as n, dateToString as o, getWindows as p, focusableElements as q, toString as t };
408
+ export { ClassList as C, Paginate as P, Cursor as a, allItemsAreString as b, isObject as c, Page as d, isValidNumber as e, formatID as f, getObjectValueFromKey as g, createID as h, isValidString as i, isValideID as j, isTagName as k, cleanString as l, dateRegExp as m, nextTick as n, dateToString as o, getWindows as p, focusableElements as q, toString as t };
@@ -46,17 +46,17 @@ const input$1 = {
46
46
  yyyy: "yyyy"
47
47
  },
48
48
  helpText: {
49
- expectedFormat: "Expected format: {pattern} (ex: {date})",
49
+ expectedFormat: "Expected format: {pattern} (ex: {date})"
50
+ },
51
+ error: {
52
+ badInput: "The date is inexistent or incorrect, the expected format is {pattern} (ex: {date})",
50
53
  min: "The date must be after or equal to {min}",
51
54
  max: "The date must be before or equal to {max}",
52
55
  minMax: "The date must be between {min} and {max}"
53
- },
54
- error: {
55
- badInput: "The date is inexistent or incorrect, the expected format is {pattern} (ex: {date})"
56
56
  }
57
57
  },
58
58
  numeric: {
59
- helpText: {
59
+ error: {
60
60
  min: "The value must be greater than or equal to {min}",
61
61
  max: "The value must be less than or equal to {max}",
62
62
  minMax: "The value must be between {min} and {max}"
@@ -202,17 +202,17 @@ const input = {
202
202
  yyyy: "aaaa"
203
203
  },
204
204
  helpText: {
205
- expectedFormat: "Format attendu&nbsp;: {pattern} (ex&nbsp;: {date})",
205
+ expectedFormat: "Format attendu&nbsp;: {pattern} (ex&nbsp;: {date})"
206
+ },
207
+ error: {
208
+ badInput: "La date est inexistante ou incorrecte, le format attendu est {pattern} (ex&nbsp;: {date})",
206
209
  min: "La date doit être postérieure ou égale au {min}",
207
210
  max: "La date doit être antérieure ou égale au {max}",
208
211
  minMax: "La date doit être comprise entre le {min} et le {max}"
209
- },
210
- error: {
211
- badInput: "La date est inexistante ou incorrecte, le format attendu est {pattern} (ex&nbsp;: {date})"
212
212
  }
213
213
  },
214
214
  numeric: {
215
- helpText: {
215
+ error: {
216
216
  min: "La valeur doit être supérieure ou égale à {min}",
217
217
  max: "La valeur doit être inférieure ou égale à {max}",
218
218
  minMax: "La valeur doit être comprise entre {min} et {max}"
@@ -1,11 +1,11 @@
1
1
  const NAMESPACE = 'mg-components';
2
- const BUILD = /* mg-components */ { hydratedSelectorName: "hydrated", lazyLoad: true, slotRelocation: true, updatable: true};
2
+ const BUILD = /* mg-components */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, slotRelocation: true, updatable: true};
3
3
 
4
4
  const globalScripts = () => {};
5
5
  const globalStyles = ":root{--mg-b-size-4:0.4rem;--mg-b-size-8:0.8rem;--mg-b-size-12:1.2rem;--mg-b-size-16:1.6rem;--mg-b-size-20:2rem;--mg-b-size-24:2.4rem;--mg-b-size-32:3.2rem;--mg-b-size-40:4rem;--mg-b-size-48:4.8rem;--mg-b-size-56:5.6rem;--mg-b-size-64:6.4rem;--mg-b-size-72:7.2rem;--mg-b-size-120:12rem;--mg-b-size-border:0.1rem;--mg-b-size-radius:var(--mg-b-size-4);--mg-b-size-floating-element-max-width:40rem;--mg-b-size-min-height:3.5rem;--mg-b-spacing-actions:var(--mg-b-size-8);--mg-b-color-blue-10:rgb(227, 244, 255);--mg-b-color-blue-20:rgb(209, 237, 255);--mg-b-color-blue-30:rgb(166, 219, 255);--mg-b-color-blue-40:rgb(106, 195, 255);--mg-b-color-blue-50:rgb(64, 179, 255);--mg-b-color-blue-60:rgb(22, 162, 255);--mg-b-color-blue-70:rgb(0, 132, 220);--mg-b-color-blue-80:rgb(0, 94, 156);--mg-b-color-blue-90:rgb(0, 67, 111);--mg-b-color-blue-100:rgb(0, 39, 66);--mg-b-color-green-10:rgb(234, 251, 244);--mg-b-color-green-20:rgb(212, 247, 234);--mg-b-color-green-30:rgb(181, 240, 219);--mg-b-color-green-40:rgb(144, 232, 202);--mg-b-color-green-50:rgb(97, 223, 179);--mg-b-color-green-60:rgb(50, 213, 156);--mg-b-color-green-70:rgb(46, 194, 142);--mg-b-color-green-80:rgb(36, 151, 111);--mg-b-color-green-90:rgb(21, 89, 66);--mg-b-color-green-100:rgb(13, 54, 40);--mg-b-color-red-10:rgb(251, 233, 234);--mg-b-color-red-20:rgb(248, 216, 217);--mg-b-color-red-30:rgb(242, 174, 178);--mg-b-color-red-40:rgb(236, 134, 139);--mg-b-color-red-50:rgb(229, 96, 103);--mg-b-color-red-60:rgb(221, 42, 52);--mg-b-color-red-70:rgb(219, 31, 41);--mg-b-color-red-80:rgb(152, 21, 28);--mg-b-color-red-90:rgb(120, 17, 23);--mg-b-color-red-100:rgb(92, 13, 13);--mg-b-color-yellow-10:rgb(255, 247, 230);--mg-b-color-yellow-20:rgb(255, 240, 207);--mg-b-color-yellow-30:rgb(255, 226, 162);--mg-b-color-yellow-40:rgb(255, 212, 118);--mg-b-color-yellow-50:rgb(255, 195, 62);--mg-b-color-yellow-60:rgb(232, 177, 56);--mg-b-color-yellow-70:rgb(181, 138, 44);--mg-b-color-yellow-80:rgb(140, 107, 34);--mg-b-color-yellow-90:rgb(86, 66, 21);--mg-b-color-yellow-100:rgb(53, 41, 13);--mg-b-color-neutral-0:rgb(255, 255, 255);--mg-b-color-neutral-10:rgb(250, 251, 251);--mg-b-color-neutral-20:rgb(236, 238, 238);--mg-b-color-neutral-30:rgb(225, 227, 228);--mg-b-color-neutral-40:rgb(197, 201, 203);--mg-b-color-neutral-50:rgb(182, 188, 190);--mg-b-color-neutral-60:rgb(157, 165, 167);--mg-b-color-neutral-70:rgb(129, 139, 142);--mg-b-color-neutral-80:rgb(101, 113, 117);--mg-b-color-neutral-90:rgb(75, 89, 94);--mg-b-color-neutral-100:rgb(47, 64, 69);--mg-b-color-neutral-110:rgb(21, 40, 46);--mg-b-color-neutral-120:rgb(5, 9, 11);--mg-b-color-dark:var(--mg-b-color-neutral-110);--mg-b-color-light:var(--mg-b-color-neutral-0);--mg-b-color-danger:var(--mg-b-color-red-70);--mg-b-color-text-on-danger:var(--mg-b-color-light);--mg-b-color-info:var(--mg-b-color-blue-80);--mg-b-color-text-on-info:var(--mg-b-color-light);--mg-b-color-success:var(--mg-b-color-green-60);--mg-b-color-text-on-success:var(--mg-b-color-dark);--mg-b-color-warning:var(--mg-b-color-yellow-50);--mg-b-color-text-on-warning:var(--mg-b-color-dark);--mg-b-color-app:var(--mg-b-color-blue-80);--mg-b-color-primary:var(--mg-b-color-neutral-110);--mg-b-color-text-on-primary:var(--mg-b-color-light);--mg-b-color-secondary:var(--mg-b-color-neutral-10);--mg-b-color-text-on-secondary:var(--mg-b-color-dark);--mg-b-font-size:1.3rem;--mg-b-font-size-small:1.17rem;--mg-b-font-size-h1:calc(var(--mg-b-font-size) * 1.85);--mg-b-font-size-h2:calc(var(--mg-b-font-size) * 1.65);--mg-b-font-size-h3:calc(var(--mg-b-font-size) * 1.35);--mg-b-font-size-h4:calc(var(--mg-b-font-size) * 1.2);--mg-b-font-size-h5:calc(var(--mg-b-font-size) * 1.1);--mg-b-font-size-h6:calc(var(--mg-b-font-size) * 0.8);--mg-b-small-font-size:0.9em;--mg-b-font-family:\"Open Sans\", sans-serif;--mg-b-font-family-heading:var(--mg-b-font-family);--mg-b-line-height:1.4;--mg-b-box-shadow:0 0.3rem 0.8rem 0 color-mix(in srgb, var(--mg-b-color-dark), transparent 85%);--mg-b-opacity-element-disabled:0.4}:root{--mg-c-badge-size:var(--mg-b-size-16);--mg-c-badge-font-size:var(--mg-b-font-size-small);--mg-c-button-border-radius:var(--mg-b-size-radius);--mg-c-button-icon-border-radius:var(--mg-b-size-min-height);--mg-c-button-color-background-danger:var(--mg-b-color-danger);--mg-c-button-color-border-danger:var(--mg-b-color-red-80);--mg-c-button-color-gradient-danger:var(--mg-b-color-red-80);--mg-c-button-color-text-danger:var(--mg-b-color-text-on-danger);--mg-c-button-color-background-info:var(--mg-b-color-info);--mg-c-button-color-border-info:var(--mg-b-color-blue-90);--mg-c-button-color-gradient-info:var(--mg-b-color-blue-90);--mg-c-button-color-text-info:var(--mg-b-color-text-on-info);--mg-c-button-color-background-success:var(--mg-b-color-success);--mg-c-button-color-border-success:var(--mg-b-color-green-70);--mg-c-button-color-gradient-success:var(--mg-b-color-green-70);--mg-c-button-color-text-success:var(--mg-b-color-text-on-success);--mg-c-button-color-background-warning:var(--mg-b-color-warning);--mg-c-button-color-border-warning:var(--mg-b-color-yellow-60);--mg-c-button-color-gradient-warning:var(--mg-b-color-yellow-60);--mg-c-button-color-text-warning:var(--mg-b-color-text-on-warning);--mg-c-button-color-background-primary:var(--mg-b-color-primary);--mg-c-button-color-border-primary:var(--mg-b-color-neutral-120);--mg-c-button-color-gradient-primary:var(--mg-b-color-neutral-120);--mg-c-button-color-text-primary:var(--mg-b-color-text-on-primary);--mg-c-button-color-background-secondary:var(--mg-b-color-secondary);--mg-c-button-color-border-secondary:var(--mg-b-color-neutral-20);--mg-c-button-color-gradient-secondary:var(--mg-b-color-neutral-20);--mg-c-button-color-text-secondary:var(--mg-b-color-text-on-secondary);--mg-c-button-color-background-danger-alt:var(--mg-b-color-neutral-10);--mg-c-button-color-border-danger-alt:var(--mg-b-color-neutral-20);--mg-c-button-color-gradient-danger-alt:var(--mg-b-color-neutral-20);--mg-c-button-color-text-danger-alt:var(--mg-b-color-danger);--mg-c-card-spacing-default:var(--mg-b-size-16);--mg-c-card-border-radius-default:var(--mg-b-size-12);--mg-c-card-color-background-default:var(--mg-b-color-light);--mg-c-card-border-default:var(--mg-b-size-border) solid var(--mg-b-color-neutral-30);--mg-c-card-box-shadow-default:var(--mg-b-box-shadow);--mg-c-divider-color-background:color-mix(in srgb, var(--mg-b-color-dark), transparent 85%);--mg-c-divider-thickness:var(--mg-b-size-border);--mg-c-divider-spacing-vertical:var(--mg-b-size-40);--mg-c-icon-border-radius:50%;--mg-c-tag-height:var(--mg-b-size-24);--mg-c-tag-border-radius:var(--mg-b-size-radius);--mg-c-tag-font-size:var(--mg-b-font-size-small);--mg-c-tooltip-border-radius:var(--mg-b-size-radius);--mg-c-tooltip-color-background:var(--mg-b-color-dark);--mg-c-tooltip-color-text:var(--mg-b-color-light);--mg-c-details-spacing:var(--mg-b-size-8);--mg-c-illustrated-message-spacing-vertical:var(--mg-b-size-40);--mg-c-input-border-width:var(--mg-b-size-border);--mg-c-input-border-radius:var(--mg-b-size-radius);--mg-c-input-color-border:rgb(181 194 201);--mg-c-input-placeholder-color-text:rgb(181 194 201);--mg-c-input-color-icon:rgb(181 194 201);--mg-c-input-color-box-shadow-focus:rgb(0 221 255 / 50%);--mg-c-input-error-color-background:color-mix(in srgb, var(--mg-b-color-danger), white 95%);--mg-c-input-toggle-border-radius-ratio:2;--mg-c-input-check-size:var(--mg-b-size-16);--mg-c-menu-item-color:var(--mg-b-color-app);--mg-c-message-border-radius:var(--mg-b-size-radius);--mg-c-modal-border-radius:var(--mg-b-size-radius);--mg-c-modal-title-font-size:var(--mg-b-font-size-h3);--mg-c-panel-border-radius:var(--mg-b-size-radius);--mg-c-panel-box-shadow:var(--mg-b-box-shadow);--mg-c-panel-content-spacing:var(--mg-b-size-16);--mg-c-popover-color-background:var(--mg-b-color-light);--mg-c-popover-color-text:var(--mg-b-color-dark);--mg-c-popover-title-font-size:var(--mg-b-font-size-h5);--mg-c-popover-max-width:var(--mg-b-size-floating-element-max-width);--mg-c-progress-size:var(--mg-b-size-8);--mg-c-progress-border-color:var(--mg-b-color-neutral-80);--mg-c-progress-bar-color-background:var(--mg-b-color-neutral-30);--mg-c-progress-fill-color-background:var(--mg-b-color-app);--mg-c-tabs-color:var(--mg-b-color-app)}html{font-size:62.5%}body{font-family:var(--mg-b-font-family);font-size:var(--mg-b-font-size);-webkit-font-smoothing:antialiased;line-height:var(--mg-b-line-height)}:root{--mg-b-font-family:system-ui, sans-serif}";
6
6
 
7
7
  /*
8
- Stencil Client Platform v4.36.3 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Platform v4.38.0 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  var __defProp = Object.defineProperty;
11
11
  var __export = (target, all) => {
@@ -21,6 +21,7 @@ var getHostRef = (ref) => {
21
21
  return void 0;
22
22
  };
23
23
  var registerInstance = (lazyInstance, hostRef) => {
24
+ if (!hostRef) return;
24
25
  lazyInstance.__stencil__getHostRef = () => hostRef;
25
26
  hostRef.$lazyInstance$ = lazyInstance;
26
27
  };
@@ -29,7 +30,8 @@ var registerHost = (hostElement, cmpMeta) => {
29
30
  $flags$: 0,
30
31
  $hostElement$: hostElement,
31
32
  $cmpMeta$: cmpMeta,
32
- $instanceValues$: /* @__PURE__ */ new Map()
33
+ $instanceValues$: /* @__PURE__ */ new Map(),
34
+ $serializerValues$: /* @__PURE__ */ new Map()
33
35
  };
34
36
  {
35
37
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
@@ -39,6 +41,9 @@ var registerHost = (hostElement, cmpMeta) => {
39
41
  hostElement["s-p"] = [];
40
42
  hostElement["s-rc"] = [];
41
43
  }
44
+ {
45
+ hostRef.$fetchedCbList$ = [];
46
+ }
42
47
  const ref = hostRef;
43
48
  hostElement.__stencil__getHostRef = () => ref;
44
49
  return ref;
@@ -66,6 +71,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
66
71
  }
67
72
  switch(bundleId) {
68
73
 
74
+ case 'mg-fieldset':
75
+ return import(
76
+ /* webpackMode: "lazy" */
77
+ './mg-fieldset.entry.js').then(processMod, consoleError);
69
78
  case 'mg-input-combobox':
70
79
  return import(
71
80
  /* webpackMode: "lazy" */
@@ -626,12 +635,6 @@ createSupportsRuleRe("::slotted");
626
635
  createSupportsRuleRe(":host");
627
636
  createSupportsRuleRe(":host-context");
628
637
  var parsePropertyValue = (propValue, propType, isFormAssociated) => {
629
- if (typeof propValue === "string" && (propType & 16 /* Unknown */ || propType & 8 /* Any */) && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
630
- try {
631
- return JSON.parse(propValue);
632
- } catch (e) {
633
- }
634
- }
635
638
  if (propValue != null && !isComplexType(propValue)) {
636
639
  if (propType & 4 /* Boolean */) {
637
640
  {
@@ -1196,9 +1199,11 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1196
1199
  hostTagName = hostElm.tagName;
1197
1200
  if (cmpMeta.$attrsToReflect$) {
1198
1201
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1199
- cmpMeta.$attrsToReflect$.map(
1200
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1201
- );
1202
+ cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
1203
+ {
1204
+ rootVnode.$attrs$[attribute] = hostElm[propName];
1205
+ }
1206
+ });
1202
1207
  }
1203
1208
  if (isInitialLoad && rootVnode.$attrs$) {
1204
1209
  for (const key of Object.keys(rootVnode.$attrs$)) {
@@ -1331,10 +1336,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
1331
1336
  let maybePromise;
1332
1337
  if (isInitialLoad) {
1333
1338
  {
1334
- hostRef.$flags$ |= 256 /* isListenReady */;
1335
- if (hostRef.$queuedListeners$) {
1336
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1337
- hostRef.$queuedListeners$ = void 0;
1339
+ {
1340
+ hostRef.$flags$ |= 256 /* isListenReady */;
1341
+ if (hostRef.$queuedListeners$) {
1342
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1343
+ hostRef.$queuedListeners$ = void 0;
1344
+ }
1345
+ }
1346
+ if (hostRef.$fetchedCbList$.length) {
1347
+ hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
1338
1348
  }
1339
1349
  }
1340
1350
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -1520,9 +1530,17 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1520
1530
  var proxyComponent = (Cstr, cmpMeta, flags) => {
1521
1531
  var _a, _b;
1522
1532
  const prototype = Cstr.prototype;
1523
- if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
1524
- if (Cstr.watchers && !cmpMeta.$watchers$) {
1525
- cmpMeta.$watchers$ = Cstr.watchers;
1533
+ if (cmpMeta.$members$ || BUILD.propChangeCallback) {
1534
+ {
1535
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1536
+ cmpMeta.$watchers$ = Cstr.watchers;
1537
+ }
1538
+ if (Cstr.deserializers && !cmpMeta.$deserializers$) {
1539
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1540
+ }
1541
+ if (Cstr.serializers && !cmpMeta.$serializers$) {
1542
+ cmpMeta.$serializers$ = Cstr.serializers;
1543
+ }
1526
1544
  }
1527
1545
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1528
1546
  members.map(([memberName, [memberFlags]]) => {
@@ -1557,8 +1575,6 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1557
1575
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1558
1576
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1559
1577
  newValue = ref.$instanceValues$.get(memberName);
1560
- } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
1561
- ref.$instanceValues$.set(memberName, currentValue);
1562
1578
  }
1563
1579
  origSetter.apply(this, [
1564
1580
  parsePropertyValue(
@@ -1573,7 +1589,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1573
1589
  if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
1574
1590
  setValue(this, memberName, newValue, cmpMeta);
1575
1591
  if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
1576
- ref.$onReadyPromise$.then(() => {
1592
+ ref.$fetchedCbList$.push(() => {
1577
1593
  if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
1578
1594
  ref.$lazyInstance$[memberName] = newValue;
1579
1595
  }
@@ -1594,7 +1610,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1594
1610
  if (ref.$lazyInstance$) {
1595
1611
  setterSetVal();
1596
1612
  } else {
1597
- ref.$onReadyPromise$.then(() => setterSetVal());
1613
+ ref.$fetchedCbList$.push(() => {
1614
+ setterSetVal();
1615
+ });
1598
1616
  }
1599
1617
  }
1600
1618
  }
@@ -1618,14 +1636,15 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1618
1636
  plt.jmp(() => {
1619
1637
  var _a2;
1620
1638
  const propName = attrNameToPropName.get(attrName);
1639
+ const hostRef = getHostRef(this);
1621
1640
  if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1622
1641
  newValue = this[propName];
1623
1642
  delete this[propName];
1624
- } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
1643
+ }
1644
+ if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
1625
1645
  this[propName] == newValue) {
1626
1646
  return;
1627
1647
  } else if (propName == null) {
1628
- const hostRef = getHostRef(this);
1629
1648
  const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
1630
1649
  if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {
1631
1650
  const instance = hostRef.$lazyInstance$ ;
@@ -1640,7 +1659,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1640
1659
  }
1641
1660
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1642
1661
  newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1643
- if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
1662
+ if (newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
1644
1663
  this[propName] = newValue;
1645
1664
  }
1646
1665
  });
@@ -1685,6 +1704,8 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1685
1704
  if (!Cstr.isProxied) {
1686
1705
  {
1687
1706
  cmpMeta.$watchers$ = Cstr.watchers;
1707
+ cmpMeta.$serializers$ = Cstr.serializers;
1708
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1688
1709
  }
1689
1710
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1690
1711
  Cstr.isProxied = true;
@@ -1766,7 +1787,7 @@ var connectedCallback = (elm) => {
1766
1787
  }
1767
1788
  if (cmpMeta.$members$) {
1768
1789
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1769
- if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {
1790
+ if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
1770
1791
  const value = elm[memberName];
1771
1792
  delete elm[memberName];
1772
1793
  elm[memberName] = value;
@@ -1847,7 +1868,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1847
1868
  let hasSlotRelocation = false;
1848
1869
  lazyBundles.map((lazyBundle) => {
1849
1870
  lazyBundle[1].map((compactMeta) => {
1850
- var _a2;
1871
+ var _a2, _b, _c;
1851
1872
  const cmpMeta = {
1852
1873
  $flags$: compactMeta[0],
1853
1874
  $tagName$: compactMeta[1],
@@ -1868,6 +1889,8 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1868
1889
  }
1869
1890
  {
1870
1891
  cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1892
+ cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
1893
+ cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
1871
1894
  }
1872
1895
  const tagName = cmpMeta.$tagName$;
1873
1896
  const HostElement = class extends HTMLElement {