@mgdis/mg-components 5.20.0 → 5.21.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 (96) hide show
  1. package/dist/cjs/{index-8532b5e9.js → index-b4c6ee30.js} +25 -17
  2. package/dist/cjs/index-b4c6ee30.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/mg-action-more_34.cjs.entry.js +268 -219
  5. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
  6. package/dist/cjs/mg-components.cjs.js +3 -3
  7. package/dist/cjs/mg-components.cjs.js.map +1 -1
  8. package/dist/cjs/mg-item-more.cjs.entry.js +31 -16
  9. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  10. package/dist/collection/assets/icons/index.js +189 -189
  11. package/dist/collection/assets/icons/index.js.map +1 -1
  12. package/dist/collection/collection-manifest.json +1 -1
  13. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +25 -8
  14. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  15. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +12 -12
  16. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  17. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +6 -10
  18. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  19. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +6 -10
  20. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  21. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +6 -10
  22. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  23. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +6 -10
  24. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
  25. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +6 -10
  26. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  27. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +6 -10
  28. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  29. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +6 -10
  30. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  31. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +6 -10
  32. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  33. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +1 -1
  34. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  35. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +1 -1
  36. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  37. package/dist/collection/components/molecules/mg-form/mg-form.conf.js +9 -0
  38. package/dist/collection/components/molecules/mg-form/mg-form.conf.js.map +1 -0
  39. package/dist/collection/components/molecules/mg-form/mg-form.js +81 -8
  40. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  41. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +30 -15
  42. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  43. package/dist/collection/components/molecules/mg-popover/mg-popover.js +27 -10
  44. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  45. package/dist/collection/utils/behaviors.utils.spec.js +5 -1
  46. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
  47. package/dist/collection/utils/components.utils.spec.js +1 -1
  48. package/dist/collection/utils/components.utils.spec.js.map +1 -1
  49. package/dist/components/mg-action-more.js.map +1 -1
  50. package/dist/components/mg-form.js +40 -8
  51. package/dist/components/mg-form.js.map +1 -1
  52. package/dist/components/mg-icon2.js +189 -189
  53. package/dist/components/mg-icon2.js.map +1 -1
  54. package/dist/components/mg-input-checkbox-paginated2.js +8 -8
  55. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  56. package/dist/components/mg-input-checkbox.js +7 -3
  57. package/dist/components/mg-input-checkbox.js.map +1 -1
  58. package/dist/components/mg-item-more.js +30 -15
  59. package/dist/components/mg-item-more.js.map +1 -1
  60. package/dist/components/mg-menu-item2.js +2 -2
  61. package/dist/components/mg-menu-item2.js.map +1 -1
  62. package/dist/components/mg-popover2.js +27 -10
  63. package/dist/components/mg-popover2.js.map +1 -1
  64. package/dist/esm/{index-f34a3a2c.js → index-61c7cfb5.js} +25 -17
  65. package/dist/esm/index-61c7cfb5.js.map +1 -0
  66. package/dist/esm/loader.js +3 -3
  67. package/dist/esm/mg-action-more_34.entry.js +268 -219
  68. package/dist/esm/mg-action-more_34.entry.js.map +1 -1
  69. package/dist/esm/mg-components.js +4 -4
  70. package/dist/esm/mg-components.js.map +1 -1
  71. package/dist/esm/mg-item-more.entry.js +31 -16
  72. package/dist/esm/mg-item-more.entry.js.map +1 -1
  73. package/dist/mg-components/mg-components.esm.js +1 -1
  74. package/dist/mg-components/mg-components.esm.js.map +1 -1
  75. package/dist/mg-components/p-1c17516a.entry.js +2 -0
  76. package/dist/mg-components/p-1c17516a.entry.js.map +1 -0
  77. package/dist/mg-components/p-5b4eb029.entry.js +2 -0
  78. package/dist/mg-components/p-5b4eb029.entry.js.map +1 -0
  79. package/dist/mg-components/p-6e7aebeb.js +3 -0
  80. package/dist/mg-components/p-6e7aebeb.js.map +1 -0
  81. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +4 -4
  82. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +1 -1
  83. package/dist/types/components/molecules/mg-form/mg-form.conf.d.ts +16 -0
  84. package/dist/types/components/molecules/mg-form/mg-form.d.ts +18 -1
  85. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +13 -7
  86. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +10 -0
  87. package/dist/types/components.d.ts +28 -2
  88. package/package.json +7 -7
  89. package/dist/cjs/index-8532b5e9.js.map +0 -1
  90. package/dist/esm/index-f34a3a2c.js.map +0 -1
  91. package/dist/mg-components/p-629454f7.entry.js +0 -2
  92. package/dist/mg-components/p-629454f7.entry.js.map +0 -1
  93. package/dist/mg-components/p-7444ff40.js +0 -3
  94. package/dist/mg-components/p-7444ff40.js.map +0 -1
  95. package/dist/mg-components/p-e0fb0f3c.entry.js +0 -2
  96. package/dist/mg-components/p-e0fb0f3c.entry.js.map +0 -1
@@ -27,6 +27,10 @@ export declare class MgInputCheckboxPaginated implements IMgInputCheckboxBase {
27
27
  * Define mg-input-checkbox input invalid
28
28
  */
29
29
  invalid: boolean;
30
+ /**
31
+ * Current page
32
+ */
33
+ currentPage: number;
30
34
  /**
31
35
  * Define checkboxes to paginate
32
36
  */
@@ -50,10 +54,6 @@ export declare class MgInputCheckboxPaginated implements IMgInputCheckboxBase {
50
54
  * Define section title
51
55
  */
52
56
  titleKind: SectionTitleKind;
53
- /**
54
- * Current page
55
- */
56
- currentPage: number;
57
57
  /**
58
58
  * Is checked items values expanded
59
59
  */
@@ -15,7 +15,7 @@ export declare class MgActionMore {
15
15
  */
16
16
  element: HTMLMgActionMoreElement;
17
17
  /**
18
- * Define displaied icon
18
+ * Define displayed icon
19
19
  */
20
20
  icon: MgActionMoreIconType;
21
21
  validateIcon(newValue: MgActionMore['icon']): void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * List of all possibles roles
3
+ */
4
+ export declare const roles: readonly ["form", "search", "none", "presentation"];
5
+ /**
6
+ * Aria Role type from roles
7
+ */
8
+ export type AriaRoleType = (typeof roles)[number];
9
+ /**
10
+ * List of all possibles required message status
11
+ */
12
+ export declare const requiredMessageStatus: readonly ["default", "hide"];
13
+ /**
14
+ * RequiredMessageStatus type from requiredMessageStatus
15
+ */
16
+ export type RequiredMessageStatusType = (typeof requiredMessageStatus)[number];
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
2
  import { ClassList } from '../../../utils/components.utils';
3
+ import { AriaRoleType, RequiredMessageStatusType } from './mg-form.conf';
3
4
  export declare class MgForm {
4
5
  /************
5
6
  * Internal *
@@ -29,6 +30,22 @@ export declare class MgForm {
29
30
  * Define if form is readonly
30
31
  */
31
32
  readonly: boolean;
33
+ /**
34
+ * Define when required message is display.
35
+ * When it is unset, component use it internal logic to manage "required message" help text display.
36
+ * When you set the prop to `default`, you override the component internal logique to torce it display "required message" help text.
37
+ * When you set the prop to `hide`, it will prevent the rendering of the message in the component's DOM.
38
+ * As **this element is an accessibility requirement in the view**,
39
+ * you **MUST*** re-implement this message on your own and display it when your form contains required inputs.
40
+ */
41
+ requiredMessage: RequiredMessageStatusType;
42
+ validateRequiredMessage(newValue: any): void;
43
+ /**
44
+ * Define `<form/>` element aria role
45
+ * see more about aria roles use case: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles
46
+ */
47
+ ariaRole: AriaRoleType;
48
+ validateAriaRole(newValue: MgForm['ariaRole']): void;
32
49
  /**
33
50
  * Define if form is disabled
34
51
  */
@@ -49,7 +66,7 @@ export declare class MgForm {
49
66
  /**
50
67
  * Required message
51
68
  */
52
- requiredMessage: string;
69
+ requiredMessageText: string;
53
70
  /**
54
71
  * Emitted event on form validity check
55
72
  * Tells if form is valid or not
@@ -5,8 +5,10 @@ export declare class MgItemMore {
5
5
  ************/
6
6
  private readonly name;
7
7
  private messages;
8
- private menuItems;
8
+ private parentMenuItems;
9
+ private moreElementMenuItem;
9
10
  private overflowBehavior;
11
+ private canRenderMgMenuItemOverflowElement;
10
12
  /**************
11
13
  * Decorators *
12
14
  **************/
@@ -44,18 +46,22 @@ export declare class MgItemMore {
44
46
  /*************
45
47
  * Lifecycle *
46
48
  *************/
47
- /**
48
- * Disconnect overflow ResizeObserver
49
- */
50
- disconnectedCallback(): void;
51
49
  /**
52
50
  * Set variables and validate props
53
51
  */
54
52
  componentWillLoad(): void;
55
53
  /**
56
- * Add overflow behavior
54
+ * Ensure parent DOM is fully rendered with timeout method before parse elements
55
+ */
56
+ componentDidLoad(): ReturnType<typeof setTimeout>;
57
+ /**
58
+ * Set OverflowBehavior when parentMenu state is upate AND defined
57
59
  */
58
- componentDidLoad(): void;
60
+ componentDidUpdate(): void;
61
+ /**
62
+ * Disconnect overflow ResizeObserver
63
+ */
64
+ disconnectedCallback(): void;
59
65
  /**
60
66
  * Render
61
67
  * @returns HTML Element
@@ -61,6 +61,16 @@ export declare class MgPopover {
61
61
  * Hide popover
62
62
  */
63
63
  private hide;
64
+ /**
65
+ * Set popper listeners
66
+ * @param newValue - if true enable popper listners
67
+ */
68
+ private setPopperListeners;
69
+ /**
70
+ * Manage all clickOustside listeners
71
+ * @param action top process on elements listeners
72
+ */
73
+ private manageClickOutsideListeners;
64
74
  /**
65
75
  * Handle content hide event
66
76
  */
@@ -9,6 +9,7 @@ import { MgActionMoreButtonType, MgActionMoreIconType, MgActionMoreItemType } fr
9
9
  import { BadgeVariantType } from "./components/atoms/mg-badge/mg-badge.conf";
10
10
  import { ButtonType, VariantType } from "./components/atoms/mg-button/mg-button.conf";
11
11
  import { VariantStyleType, VariantType as VariantType1 } from "./components/atoms/mg-card/mg-card.conf";
12
+ import { AriaRoleType, RequiredMessageStatusType } from "./components/molecules/mg-form/mg-form.conf";
12
13
  import { IconSizeType, IconVariantStyleType, IconVariantType } from "./components/atoms/mg-icon/mg-icon.conf";
13
14
  import { CheckboxItem, CheckboxType, CheckboxValue, SectionKind } from "./components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf";
14
15
  import { Width } from "./components/molecules/inputs/MgInput.conf";
@@ -30,6 +31,7 @@ export { MgActionMoreButtonType, MgActionMoreIconType, MgActionMoreItemType } fr
30
31
  export { BadgeVariantType } from "./components/atoms/mg-badge/mg-badge.conf";
31
32
  export { ButtonType, VariantType } from "./components/atoms/mg-button/mg-button.conf";
32
33
  export { VariantStyleType, VariantType as VariantType1 } from "./components/atoms/mg-card/mg-card.conf";
34
+ export { AriaRoleType, RequiredMessageStatusType } from "./components/molecules/mg-form/mg-form.conf";
33
35
  export { IconSizeType, IconVariantStyleType, IconVariantType } from "./components/atoms/mg-icon/mg-icon.conf";
34
36
  export { CheckboxItem, CheckboxType, CheckboxValue, SectionKind } from "./components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf";
35
37
  export { Width } from "./components/molecules/inputs/MgInput.conf";
@@ -58,7 +60,7 @@ export namespace Components {
58
60
  */
59
61
  "displayChevron": boolean;
60
62
  /**
61
- * Define displaied icon
63
+ * Define displayed icon
62
64
  */
63
65
  "icon": MgActionMoreIconType;
64
66
  /**
@@ -171,6 +173,10 @@ export namespace Components {
171
173
  "size": 'regular' | 'full';
172
174
  }
173
175
  interface MgForm {
176
+ /**
177
+ * Define `<form/>` element aria role see more about aria roles use case: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles
178
+ */
179
+ "ariaRole": AriaRoleType;
174
180
  /**
175
181
  * Define if form is disabled
176
182
  */
@@ -195,6 +201,10 @@ export namespace Components {
195
201
  * Define if form is readonly
196
202
  */
197
203
  "readonly": boolean;
204
+ /**
205
+ * Define when required message is display. When it is unset, component use it internal logic to manage "required message" help text display. When you set the prop to `default`, you override the component internal logique to torce it display "required message" help text. When you set the prop to `hide`, it will prevent the rendering of the message in the component's DOM. As **this element is an accessibility requirement in the view**, you **MUST*** re-implement this message on your own and display it when your form contains required inputs.
206
+ */
207
+ "requiredMessage": RequiredMessageStatusType;
198
208
  /**
199
209
  * Define form valid state
200
210
  */
@@ -316,6 +326,10 @@ export namespace Components {
316
326
  * Define checkboxes to paginate
317
327
  */
318
328
  "checkboxes": CheckboxItem[];
329
+ /**
330
+ * Current page
331
+ */
332
+ "currentPage": number;
319
333
  /**
320
334
  * Define if mg-input-checkbox-list is disabled
321
335
  */
@@ -1887,7 +1901,7 @@ declare namespace LocalJSX {
1887
1901
  */
1888
1902
  "displayChevron"?: boolean;
1889
1903
  /**
1890
- * Define displaied icon
1904
+ * Define displayed icon
1891
1905
  */
1892
1906
  "icon"?: MgActionMoreIconType;
1893
1907
  /**
@@ -2008,6 +2022,10 @@ declare namespace LocalJSX {
2008
2022
  "size"?: 'regular' | 'full';
2009
2023
  }
2010
2024
  interface MgForm {
2025
+ /**
2026
+ * Define `<form/>` element aria role see more about aria roles use case: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles
2027
+ */
2028
+ "ariaRole"?: AriaRoleType;
2011
2029
  /**
2012
2030
  * Define if form is disabled
2013
2031
  */
@@ -2036,6 +2054,10 @@ declare namespace LocalJSX {
2036
2054
  * Define if form is readonly
2037
2055
  */
2038
2056
  "readonly"?: boolean;
2057
+ /**
2058
+ * Define when required message is display. When it is unset, component use it internal logic to manage "required message" help text display. When you set the prop to `default`, you override the component internal logique to torce it display "required message" help text. When you set the prop to `hide`, it will prevent the rendering of the message in the component's DOM. As **this element is an accessibility requirement in the view**, you **MUST*** re-implement this message on your own and display it when your form contains required inputs.
2059
+ */
2060
+ "requiredMessage"?: RequiredMessageStatusType;
2039
2061
  /**
2040
2062
  * Define form valid state
2041
2063
  */
@@ -2155,6 +2177,10 @@ declare namespace LocalJSX {
2155
2177
  * Define checkboxes to paginate
2156
2178
  */
2157
2179
  "checkboxes"?: CheckboxItem[];
2180
+ /**
2181
+ * Current page
2182
+ */
2183
+ "currentPage"?: number;
2158
2184
  /**
2159
2185
  * Define if mg-input-checkbox-list is disabled
2160
2186
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mgdis/mg-components",
3
- "version": "5.20.0",
3
+ "version": "5.21.1",
4
4
  "description": "MG Components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -24,9 +24,9 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@popperjs/core": "^2.11.8",
27
- "@stencil/core": "4.8.2",
28
- "@mgdis/img": "1.5.0",
29
- "@mgdis/styles": "1.0.0"
27
+ "@stencil/core": "4.9.0",
28
+ "@mgdis/img": "1.6.0",
29
+ "@mgdis/styles": "1.0.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@playwright/test": "1.40.1",
@@ -58,11 +58,11 @@
58
58
  "sass": "^1.69.5",
59
59
  "storybook": "^7.5.3",
60
60
  "ts-node": "^10.9.1",
61
- "typescript": "5.2.2",
61
+ "typescript": "5.3.3",
62
+ "@mgdis/linting-stencil": "1.1.0",
62
63
  "@mgdis/playwright-helpers": "1.0.0",
63
64
  "tsconfig": "1.0.0",
64
- "eslint-config-stencil": "1.1.1",
65
- "@mgdis/linting-stencil": "1.1.0"
65
+ "eslint-config-stencil": "1.1.1"
66
66
  },
67
67
  "license": "BSD-3-Clause",
68
68
  "scripts": {