@mgdis/mg-components 4.1.1 → 4.2.1

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 (130) hide show
  1. package/dist/cjs/{index-dd2c7f7b.js → index-94497267.js} +455 -317
  2. package/dist/cjs/loader.cjs.js +3 -3
  3. package/dist/cjs/{mg-badge_24.cjs.entry.js → mg-badge_23.cjs.entry.js} +219 -2181
  4. package/dist/cjs/mg-components.cjs.js +3 -26
  5. package/dist/cjs/mg-modal.cjs.entry.js +15 -2
  6. package/dist/cjs/mg-popover.cjs.entry.js +171 -0
  7. package/dist/cjs/popper-11d5f714.js +1801 -0
  8. package/dist/collection/collection-manifest.json +2 -2
  9. package/dist/collection/components/atoms/mg-badge/mg-badge.js +118 -99
  10. package/dist/collection/components/atoms/mg-button/mg-button.js +221 -220
  11. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +72 -69
  12. package/dist/collection/components/atoms/mg-icon/doc/mg-icon.stories.js +1 -2
  13. package/dist/collection/components/atoms/mg-icon/mg-icon.js +102 -92
  14. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +85 -67
  15. package/dist/collection/components/atoms/mg-tag/mg-tag.js +64 -55
  16. package/dist/collection/components/atoms/mg-tooltip/doc/mg-tooltip.stories.js +3 -6
  17. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +122 -106
  18. package/dist/collection/components/molecules/inputs/MgInput.js +10 -17
  19. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +323 -318
  20. package/dist/collection/components/molecules/inputs/mg-input-date/doc/mg-input-date.stories.js +3 -2
  21. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +356 -361
  22. package/dist/collection/components/molecules/inputs/mg-input-numeric/doc/mg-input-numeric.stories.js +1 -2
  23. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +463 -457
  24. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +347 -340
  25. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +348 -343
  26. package/dist/collection/components/molecules/inputs/mg-input-select/doc/mg-input-select.stories.js +4 -3
  27. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +406 -401
  28. package/dist/collection/components/molecules/inputs/mg-input-text/doc/mg-input-text.stories.js +12 -15
  29. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +2 -0
  30. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +476 -473
  31. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +461 -456
  32. package/dist/collection/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.js +2 -8
  33. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +1 -0
  34. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +299 -298
  35. package/dist/collection/components/molecules/mg-details/doc/mg-details.stories.js +1 -3
  36. package/dist/collection/components/molecules/mg-details/mg-details.js +95 -93
  37. package/dist/collection/components/molecules/mg-form/doc/mg-form.stories.js +13 -27
  38. package/dist/collection/components/molecules/mg-form/mg-form.js +175 -166
  39. package/dist/collection/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.js +2 -6
  40. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +37 -37
  41. package/dist/collection/components/molecules/mg-message/doc/mg-message.stories.js +1 -3
  42. package/dist/collection/components/molecules/mg-message/mg-message.js +154 -153
  43. package/dist/collection/components/molecules/mg-modal/doc/mg-modal.stories.js +11 -15
  44. package/dist/collection/components/molecules/mg-modal/mg-modal.css +2 -2
  45. package/dist/collection/components/molecules/mg-modal/mg-modal.js +153 -134
  46. package/dist/collection/components/molecules/mg-pagination/mg-pagination.css +5 -6
  47. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +112 -117
  48. package/dist/collection/components/molecules/mg-panel/doc/mg-panel.stories.js +1 -8
  49. package/dist/collection/components/molecules/mg-panel/mg-panel.css +2 -2
  50. package/dist/collection/components/molecules/mg-panel/mg-panel.js +194 -189
  51. package/dist/collection/components/molecules/mg-popover/doc/mg-popover.stories.js +1 -4
  52. package/dist/collection/components/molecules/mg-popover/mg-popover.css +3 -5
  53. package/dist/collection/components/molecules/mg-popover/mg-popover.js +129 -127
  54. package/dist/collection/components/molecules/mg-tabs/doc/mg-tabs.stories.js +1 -5
  55. package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +1 -0
  56. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +152 -135
  57. package/dist/collection/fonts/OpenSans-Bold.ttf +0 -0
  58. package/dist/collection/locales/en/messages.json +50 -0
  59. package/dist/collection/locales/fr/messages.json +50 -0
  60. package/dist/collection/stories/grids.stories.js +1 -44
  61. package/dist/collection/stories/helpers.stories.js +1 -19
  62. package/dist/collection/stories/icons.stories.js +1 -4
  63. package/dist/collection/stories/typography.stories.js +1 -12
  64. package/dist/collection/variables.css +3 -2
  65. package/dist/collection/variables.scss +3 -2
  66. package/dist/components/MgInput.js +8 -3
  67. package/dist/components/mg-badge2.js +9 -0
  68. package/dist/components/mg-button2.js +2 -7
  69. package/dist/components/mg-input-checkbox.js +1 -6
  70. package/dist/components/mg-input-date.js +10 -27
  71. package/dist/components/mg-input-numeric.js +2 -7
  72. package/dist/components/mg-input-password.js +1 -6
  73. package/dist/components/mg-input-radio.js +1 -6
  74. package/dist/components/mg-input-select2.js +1 -6
  75. package/dist/components/mg-input-text2.js +3 -8
  76. package/dist/components/mg-input-textarea.js +2 -7
  77. package/dist/components/mg-input-title2.js +11 -0
  78. package/dist/components/mg-input-toggle.js +2 -7
  79. package/dist/components/mg-modal.js +14 -1
  80. package/dist/components/mg-pagination.js +3 -3
  81. package/dist/components/mg-panel.js +10 -4
  82. package/dist/components/mg-popover.js +1 -1
  83. package/dist/components/mg-tabs.js +10 -1
  84. package/dist/components/mg-tooltip2.js +9 -0
  85. package/dist/components/popper.js +60 -49
  86. package/dist/esm/{index-f58b769f.js → index-aad0184c.js} +456 -317
  87. package/dist/esm/loader.js +3 -3
  88. package/dist/esm/{mg-badge_24.entry.js → mg-badge_23.entry.js} +220 -2181
  89. package/dist/esm/mg-components.js +3 -26
  90. package/dist/esm/mg-modal.entry.js +15 -2
  91. package/dist/esm/mg-popover.entry.js +167 -0
  92. package/dist/esm/polyfills/css-shim.js +1 -1
  93. package/dist/esm/popper-f860750c.js +1799 -0
  94. package/dist/mg-components/fonts/OpenSans-Bold.ttf +0 -0
  95. package/dist/mg-components/locales/en/messages.json +50 -0
  96. package/dist/mg-components/locales/fr/messages.json +50 -0
  97. package/dist/mg-components/mg-components.css +1 -1
  98. package/dist/mg-components/mg-components.esm.js +1 -1
  99. package/dist/mg-components/p-25452f60.entry.js +1 -0
  100. package/dist/mg-components/p-3899d5d2.js +2 -0
  101. package/dist/mg-components/p-a20fc541.entry.js +1 -0
  102. package/dist/mg-components/p-e08bc19a.entry.js +1 -0
  103. package/dist/mg-components/p-ec26fc38.js +1 -0
  104. package/dist/mg-components/variables.css +3 -2
  105. package/dist/mg-components/variables.scss +3 -2
  106. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +1 -0
  107. package/dist/types/components/atoms/mg-button/mg-button.d.ts +0 -1
  108. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +1 -0
  109. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +1 -0
  110. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +0 -1
  111. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +1 -10
  112. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +0 -1
  113. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +0 -1
  114. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +0 -1
  115. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +0 -1
  116. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +0 -1
  117. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +0 -1
  118. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +0 -1
  119. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +2 -0
  120. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +1 -1
  121. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +1 -0
  122. package/dist/types/components.d.ts +29 -29
  123. package/dist/types/stencil-public-runtime.d.ts +15 -4
  124. package/loader/package.json +1 -0
  125. package/package.json +9 -9
  126. package/dist/collection/fonts/Poppins-Bold.ttf +0 -0
  127. package/dist/mg-components/fonts/Poppins-Bold.ttf +0 -0
  128. package/dist/mg-components/p-2a3d8f60.entry.js +0 -1
  129. package/dist/mg-components/p-b6df1cac.js +0 -2
  130. package/dist/mg-components/p-c8779533.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  import { createID } from '../../../utils/components.utils';
3
3
  import { createPopper } from '@popperjs/core';
4
4
  import { Guard } from './mg-tooltip.conf';
@@ -88,6 +88,13 @@ export class MgTooltip {
88
88
  this.guard = undefined;
89
89
  };
90
90
  }
91
+ validateMessage(newValue) {
92
+ if (typeof newValue !== 'string' || newValue.trim() === '') {
93
+ // TODO: throw new Error on next major (5.0.0)
94
+ // throw new Error('<mg-tooltip> prop "message" is required.');
95
+ console.error('<mg-tooltip> prop "message" is required.');
96
+ }
97
+ }
91
98
  handleDisplay(newValue) {
92
99
  if (newValue) {
93
100
  this.show();
@@ -168,6 +175,7 @@ export class MgTooltip {
168
175
  });
169
176
  });
170
177
  this.handleDisplay(this.display);
178
+ this.validateMessage(this.message);
171
179
  }
172
180
  /**
173
181
  * Render
@@ -175,118 +183,126 @@ export class MgTooltip {
175
183
  * @returns {HTMLElement} HTML Element
176
184
  */
177
185
  render() {
178
- return (h(Host, null,
179
- h("slot", null),
180
- h("div", { role: "tooltip", id: this.identifier, class: "mg-tooltip", innerHTML: this.message },
181
- h("div", { class: "mg-tooltip__arrow", "data-popper-arrow": true }))));
186
+ return (h(Host, null, h("slot", null), h("div", { role: "tooltip", id: this.identifier, class: "mg-tooltip", innerHTML: this.message }, h("div", { class: "mg-tooltip__arrow", "data-popper-arrow": true }))));
182
187
  }
183
188
  static get is() { return "mg-tooltip"; }
184
189
  static get encapsulation() { return "scoped"; }
185
- static get originalStyleUrls() { return {
186
- "$": ["mg-tooltip.scss"]
187
- }; }
188
- static get styleUrls() { return {
189
- "$": ["mg-tooltip.css"]
190
- }; }
191
- static get properties() { return {
192
- "identifier": {
193
- "type": "string",
194
- "mutable": false,
195
- "complexType": {
196
- "original": "string",
197
- "resolved": "string",
198
- "references": {}
199
- },
200
- "required": false,
201
- "optional": false,
202
- "docs": {
203
- "tags": [],
204
- "text": "Sets an `id` attribute.\nNeeded by the input for accessibility `aria-decribedby`."
205
- },
206
- "attribute": "identifier",
207
- "reflect": false,
208
- "defaultValue": "createID('mg-tooltip')"
209
- },
210
- "message": {
211
- "type": "string",
212
- "mutable": false,
213
- "complexType": {
214
- "original": "string",
215
- "resolved": "string",
216
- "references": {}
190
+ static get originalStyleUrls() {
191
+ return {
192
+ "$": ["mg-tooltip.scss"]
193
+ };
194
+ }
195
+ static get styleUrls() {
196
+ return {
197
+ "$": ["mg-tooltip.css"]
198
+ };
199
+ }
200
+ static get properties() {
201
+ return {
202
+ "identifier": {
203
+ "type": "string",
204
+ "mutable": false,
205
+ "complexType": {
206
+ "original": "string",
207
+ "resolved": "string",
208
+ "references": {}
209
+ },
210
+ "required": false,
211
+ "optional": false,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": "Sets an `id` attribute.\nNeeded by the input for accessibility `aria-decribedby`."
215
+ },
216
+ "attribute": "identifier",
217
+ "reflect": false,
218
+ "defaultValue": "createID('mg-tooltip')"
217
219
  },
218
- "required": true,
219
- "optional": false,
220
- "docs": {
221
- "tags": [],
222
- "text": "Displayed message in the tooltip"
220
+ "message": {
221
+ "type": "string",
222
+ "mutable": false,
223
+ "complexType": {
224
+ "original": "string",
225
+ "resolved": "string",
226
+ "references": {}
227
+ },
228
+ "required": true,
229
+ "optional": false,
230
+ "docs": {
231
+ "tags": [],
232
+ "text": "Displayed message in the tooltip"
233
+ },
234
+ "attribute": "message",
235
+ "reflect": false
223
236
  },
224
- "attribute": "message",
225
- "reflect": false
226
- },
227
- "placement": {
228
- "type": "string",
229
- "mutable": false,
230
- "complexType": {
231
- "original": "Placement",
232
- "resolved": "\"auto\" | \"auto-end\" | \"auto-start\" | \"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
233
- "references": {
234
- "Placement": {
235
- "location": "import",
236
- "path": "./mg-tooltip.conf"
237
+ "placement": {
238
+ "type": "string",
239
+ "mutable": false,
240
+ "complexType": {
241
+ "original": "Placement",
242
+ "resolved": "\"auto\" | \"auto-end\" | \"auto-start\" | \"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
243
+ "references": {
244
+ "Placement": {
245
+ "location": "import",
246
+ "path": "./mg-tooltip.conf"
247
+ }
237
248
  }
238
- }
239
- },
240
- "required": false,
241
- "optional": false,
242
- "docs": {
243
- "tags": [],
244
- "text": "Tooltip placement"
245
- },
246
- "attribute": "placement",
247
- "reflect": false,
248
- "defaultValue": "'bottom'"
249
- },
250
- "display": {
251
- "type": "boolean",
252
- "mutable": true,
253
- "complexType": {
254
- "original": "boolean",
255
- "resolved": "boolean",
256
- "references": {}
257
- },
258
- "required": false,
259
- "optional": false,
260
- "docs": {
261
- "tags": [],
262
- "text": "Display tooltip"
263
- },
264
- "attribute": "display",
265
- "reflect": false,
266
- "defaultValue": "false"
267
- },
268
- "disabled": {
269
- "type": "boolean",
270
- "mutable": true,
271
- "complexType": {
272
- "original": "boolean",
273
- "resolved": "boolean",
274
- "references": {}
249
+ },
250
+ "required": false,
251
+ "optional": false,
252
+ "docs": {
253
+ "tags": [],
254
+ "text": "Tooltip placement"
255
+ },
256
+ "attribute": "placement",
257
+ "reflect": false,
258
+ "defaultValue": "'bottom'"
275
259
  },
276
- "required": false,
277
- "optional": false,
278
- "docs": {
279
- "tags": [],
280
- "text": "Disable tooltip"
260
+ "display": {
261
+ "type": "boolean",
262
+ "mutable": true,
263
+ "complexType": {
264
+ "original": "boolean",
265
+ "resolved": "boolean",
266
+ "references": {}
267
+ },
268
+ "required": false,
269
+ "optional": false,
270
+ "docs": {
271
+ "tags": [],
272
+ "text": "Display tooltip"
273
+ },
274
+ "attribute": "display",
275
+ "reflect": false,
276
+ "defaultValue": "false"
281
277
  },
282
- "attribute": "disabled",
283
- "reflect": false,
284
- "defaultValue": "false"
285
- }
286
- }; }
278
+ "disabled": {
279
+ "type": "boolean",
280
+ "mutable": true,
281
+ "complexType": {
282
+ "original": "boolean",
283
+ "resolved": "boolean",
284
+ "references": {}
285
+ },
286
+ "required": false,
287
+ "optional": false,
288
+ "docs": {
289
+ "tags": [],
290
+ "text": "Disable tooltip"
291
+ },
292
+ "attribute": "disabled",
293
+ "reflect": false,
294
+ "defaultValue": "false"
295
+ }
296
+ };
297
+ }
287
298
  static get elementRef() { return "element"; }
288
- static get watchers() { return [{
289
- "propName": "display",
290
- "methodName": "handleDisplay"
291
- }]; }
299
+ static get watchers() {
300
+ return [{
301
+ "propName": "message",
302
+ "methodName": "validateMessage"
303
+ }, {
304
+ "propName": "display",
305
+ "methodName": "handleDisplay"
306
+ }];
307
+ }
292
308
  }
@@ -49,11 +49,16 @@ export const MgInput = (props, children, utils) => {
49
49
  /**
50
50
  * Check required properties
51
51
  */
52
- if (typeof props.label !== 'string' || props.label === '') {
53
- throw new Error('<mg-input> prop "label" is required');
52
+ if (typeof props.identifier !== 'string' || props.identifier.trim() === '') {
53
+ // TODO: throw new Error on next major (5.0.0)
54
+ // throw new Error('<mg-input> prop "identifier" is required.');
55
+ console.error('<mg-input> prop "identifier" is required.');
56
+ }
57
+ if (typeof props.label !== 'string' || props.label.trim() === '') {
58
+ throw new Error('<mg-input> prop "label" is required.');
54
59
  }
55
60
  if (props.labelOnTop && props.labelHide) {
56
- throw new Error('<mg-input> prop "labelOnTop" must not be paired with the prop "labelHide"');
61
+ throw new Error('<mg-input> prop "labelOnTop" must not be paired with the prop "labelHide".');
57
62
  }
58
63
  /**
59
64
  * Component classes
@@ -103,24 +108,12 @@ export const MgInput = (props, children, utils) => {
103
108
  *
104
109
  * @returns {VNode[]} mg-tooltip
105
110
  */
106
- const getTooltip = () => (h("mg-tooltip", { identifier: `${props.identifier}-tooltip`, message: props.tooltip },
107
- h("mg-icon", { icon: "info-circle" })));
111
+ const getTooltip = () => (h("mg-tooltip", { identifier: `${props.identifier}-tooltip`, message: props.tooltip }, h("mg-icon", { icon: "info-circle" })));
108
112
  /**
109
113
  * Get input title (label) node
110
114
  *
111
115
  * @returns {VNode[]} mg-input-title
112
116
  */
113
117
  const getInputTitle = () => (h("mg-input-title", { identifier: props.identifier, class: props.labelHide ? 'sr-only' : undefined, required: props.required && !props.disabled, "is-legend": props.isFieldset }, props.label));
114
- return (h(TagName, { class: props.classList.join() },
115
- props.labelOnTop ? (h("div", { class: "mg-input__title" },
116
- getInputTitle(),
117
- !props.readonly && props.tooltip && getTooltip())) : (getInputTitle()),
118
- props.readonly ? (h("div", { class: "mg-input__input-container" },
119
- h("strong", null, props.readonlyValue || props.value),
120
- children)) : (h("div", { class: "mg-input__input-container" },
121
- h("div", { class: { 'mg-input__input': true, 'mg-input__input--has-error': props.errorMessage !== undefined } },
122
- children,
123
- !props.labelOnTop && props.tooltip && getTooltip()),
124
- props.helpText && h("div", { id: helpTextId, class: "mg-input__help-text", innerHTML: props.helpText }),
125
- props.errorMessage && !props.readonly && !props.disabled && (h("div", { id: helpTextErrorId, class: "mg-input__error", innerHTML: props.errorMessage, "aria-live": "assertive" }))))));
118
+ return (h(TagName, { class: props.classList.join() }, props.labelOnTop ? (h("div", { class: "mg-input__title" }, getInputTitle(), !props.readonly && props.tooltip && getTooltip())) : (getInputTitle()), props.readonly ? (h("div", { class: "mg-input__input-container" }, h("strong", null, props.readonlyValue || props.value), children)) : (h("div", { class: "mg-input__input-container" }, h("div", { class: { 'mg-input__input': true, 'mg-input__input--has-error': props.errorMessage !== undefined } }, children, !props.labelOnTop && props.tooltip && getTooltip()), props.helpText && h("div", { id: helpTextId, class: "mg-input__help-text", innerHTML: props.helpText }), props.errorMessage && !props.readonly && !props.disabled && (h("div", { id: helpTextErrorId, class: "mg-input__error", innerHTML: props.errorMessage, "aria-live": "assertive" }))))));
126
119
  };