@momentum-design/components 0.123.5 → 0.124.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 (35) hide show
  1. package/dist/browser/index.js +469 -318
  2. package/dist/browser/index.js.map +3 -3
  3. package/dist/components/menubar/menubar.component.js +1 -1
  4. package/dist/components/menuitem/menuitem.styles.js +1 -1
  5. package/dist/components/menusection/menusection.component.d.ts +5 -0
  6. package/dist/components/menusection/menusection.component.js +5 -0
  7. package/dist/components/menusection/menusection.styles.js +10 -7
  8. package/dist/components/navmenuitem/navmenuitem.component.d.ts +74 -27
  9. package/dist/components/navmenuitem/navmenuitem.component.js +135 -87
  10. package/dist/components/navmenuitem/navmenuitem.constants.d.ts +1 -0
  11. package/dist/components/navmenuitem/navmenuitem.constants.js +1 -0
  12. package/dist/components/navmenuitem/navmenuitem.styles.js +64 -29
  13. package/dist/components/popover/popover.component.js +4 -2
  14. package/dist/components/sidenavigation/sidenavigation.component.d.ts +50 -6
  15. package/dist/components/sidenavigation/sidenavigation.component.js +132 -25
  16. package/dist/components/sidenavigation/sidenavigation.constants.d.ts +1 -0
  17. package/dist/components/sidenavigation/sidenavigation.constants.js +1 -0
  18. package/dist/components/sidenavigation/sidenavigation.context.d.ts +1 -2
  19. package/dist/components/sidenavigation/sidenavigation.context.js +8 -9
  20. package/dist/components/sidenavigation/sidenavigation.styles.js +76 -8
  21. package/dist/components/textarea/textarea.component.d.ts +56 -0
  22. package/dist/components/textarea/textarea.component.js +122 -2
  23. package/dist/components/textarea/textarea.styles.js +25 -0
  24. package/dist/custom-elements.json +481 -160
  25. package/dist/react/index.d.ts +1 -1
  26. package/dist/react/index.js +1 -1
  27. package/dist/react/menusection/index.d.ts +5 -0
  28. package/dist/react/menusection/index.js +5 -0
  29. package/dist/react/navmenuitem/index.d.ts +9 -3
  30. package/dist/react/navmenuitem/index.js +9 -3
  31. package/dist/react/sidenavigation/index.d.ts +12 -2
  32. package/dist/react/sidenavigation/index.js +12 -2
  33. package/dist/react/textarea/index.d.ts +20 -0
  34. package/dist/react/textarea/index.js +20 -0
  35. package/package.json +1 -1
@@ -9,8 +9,8 @@ export { default as Avatar } from './avatar';
9
9
  export { default as AvatarButton } from './avatarbutton';
10
10
  export { default as Badge } from './badge';
11
11
  export { default as Banner } from './banner';
12
- export { default as Brandvisual } from './brandvisual';
13
12
  export { default as Bullet } from './bullet';
13
+ export { default as Brandvisual } from './brandvisual';
14
14
  export { default as Button } from './button';
15
15
  export { default as ButtonGroup } from './buttongroup';
16
16
  export { default as ButtonLink } from './buttonlink';
@@ -9,8 +9,8 @@ export { default as Avatar } from './avatar';
9
9
  export { default as AvatarButton } from './avatarbutton';
10
10
  export { default as Badge } from './badge';
11
11
  export { default as Banner } from './banner';
12
- export { default as Brandvisual } from './brandvisual';
13
12
  export { default as Bullet } from './bullet';
13
+ export { default as Brandvisual } from './brandvisual';
14
14
  export { default as Button } from './button';
15
15
  export { default as ButtonGroup } from './buttongroup';
16
16
  export { default as ButtonLink } from './buttonlink';
@@ -21,6 +21,11 @@ import type { Events } from '../../components/menusection/menusection.types';
21
21
  * @csspart align-header - The header of the menusection when it is aligned to the start.
22
22
  * @csspart container - The container of the menusection.
23
23
  * @csspart divider - The divider of the menusection.
24
+ *
25
+ * @cssproperty --mdc-menusection-divider-margin-block - Sets the margin block of the divider.
26
+ * @cssproperty --mdc-menusection-gap - Sets the gap between items in the menusection.
27
+ * @cssproperty --mdc-menusection-divider-width - Sets the width of the divider.
28
+ * @cssproperty --mdc-menusection-header-padding - Sets the padding of the header, if present.
24
29
  */
25
30
  declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
26
31
  onChange: EventName<Events["onChangeEvent"]>;
@@ -22,6 +22,11 @@ import { TAG_NAME } from '../../components/menusection/menusection.constants';
22
22
  * @csspart align-header - The header of the menusection when it is aligned to the start.
23
23
  * @csspart container - The container of the menusection.
24
24
  * @csspart divider - The divider of the menusection.
25
+ *
26
+ * @cssproperty --mdc-menusection-divider-margin-block - Sets the margin block of the divider.
27
+ * @cssproperty --mdc-menusection-gap - Sets the gap between items in the menusection.
28
+ * @cssproperty --mdc-menusection-divider-width - Sets the width of the divider.
29
+ * @cssproperty --mdc-menusection-header-padding - Sets the padding of the header, if present.
25
30
  */
26
31
  const reactWrapper = createComponent({
27
32
  tagName: TAG_NAME,
@@ -6,6 +6,8 @@ import type { Events as EventsInherited } from '../../components/listitem/listit
6
6
  * `mdc-navmenuitem` is a menuitem styled to work as a navigation tab.
7
7
  * It supports a leading icon, optional badge and dynamic text rendering.
8
8
  *
9
+ * The navmenuitem can be in an active or inactive state, indicating whether it is currently selected.
10
+ *
9
11
  * Note: `mdc-navmenuitem` is intended to be used inside `mdc-menubar` as part of the sideNavigation
10
12
  * component. Its structure, spacing, and interactions are designed to align with
11
13
  * the visual and functional requirements of side navigation layouts.
@@ -25,17 +27,21 @@ import type { Events as EventsInherited } from '../../components/listitem/listit
25
27
  * @event focus - (React: onFocus) This event is dispatched when the navmenuitem receives focus.
26
28
  * @event activechange - (React: onActiveChange) Dispatched when the active state of the navmenuitem changes.
27
29
  *
30
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-width - Width of the navmenuitem when expanded.
31
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-margin-left - Left margin of the navmenuitem, when expanded.
32
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-margin-right - Right margin of the navmenuitem, when expanded.
33
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-width - Width of the navmenuitem when collapsed.
34
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-margin-left - Left margin of the navmenuitem, when collapsed.
35
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-margin-right - Right margin of the navmenuitem, when collapsed.
28
36
  * @cssproperty --mdc-navmenuitem-color - Text color of the navmenuitem in its normal state.
29
- * @cssproperty --mdc-navmenuitem-border-color - Border color of the navmenuitem in its normal state.
30
37
  * @cssproperty --mdc-navmenuitem-disabled-color - Text color of the navmenuitem when disabled.
31
- * @cssproperty --mdc-navmenuitem-expanded-width - Width of the navmenuitem when expanded.
38
+ * @cssproperty --mdc-navmenuitem-rest-active-background-color - Background color of the active nav item in its rest state.
32
39
  * @cssproperty --mdc-navmenuitem-hover-background-color - Background color of the navmenuitem when hovered.
33
40
  * @cssproperty --mdc-navmenuitem-hover-active-background-color - Background color of the active navmenuitem when hovered.
34
41
  * @cssproperty --mdc-navmenuitem-pressed-background-color - Background color of the navmenuitem when pressed.
35
42
  * @cssproperty --mdc-navmenuitem-pressed-active-background-color - Background color of the active navmenuitem when pressed.
36
43
  * @cssproperty --mdc-navmenuitem-disabled-background-color - Background color of the navmenuitem when disabled.
37
44
  * @cssproperty --mdc-navmenuitem-disabled-active-background-color - Background color of the active navmenuitem when disabled.
38
- * @cssproperty --mdc-navmenuitem-rest-active-background-color - Background color of the active nav item in its rest state.
39
45
  *
40
46
  * @csspart arrow - The arrow of the navmenuitem.
41
47
  * @csspart badge - The badge of the navmenuitem.
@@ -6,6 +6,8 @@ import { TAG_NAME } from '../../components/navmenuitem/navmenuitem.constants';
6
6
  * `mdc-navmenuitem` is a menuitem styled to work as a navigation tab.
7
7
  * It supports a leading icon, optional badge and dynamic text rendering.
8
8
  *
9
+ * The navmenuitem can be in an active or inactive state, indicating whether it is currently selected.
10
+ *
9
11
  * Note: `mdc-navmenuitem` is intended to be used inside `mdc-menubar` as part of the sideNavigation
10
12
  * component. Its structure, spacing, and interactions are designed to align with
11
13
  * the visual and functional requirements of side navigation layouts.
@@ -25,17 +27,21 @@ import { TAG_NAME } from '../../components/navmenuitem/navmenuitem.constants';
25
27
  * @event focus - (React: onFocus) This event is dispatched when the navmenuitem receives focus.
26
28
  * @event activechange - (React: onActiveChange) Dispatched when the active state of the navmenuitem changes.
27
29
  *
30
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-width - Width of the navmenuitem when expanded.
31
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-margin-left - Left margin of the navmenuitem, when expanded.
32
+ * @cssproperty --mdc-navmenuitem-in-sidenav-expanded-margin-right - Right margin of the navmenuitem, when expanded.
33
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-width - Width of the navmenuitem when collapsed.
34
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-margin-left - Left margin of the navmenuitem, when collapsed.
35
+ * @cssproperty --mdc-navmenuitem-in-sidenav-collapsed-margin-right - Right margin of the navmenuitem, when collapsed.
28
36
  * @cssproperty --mdc-navmenuitem-color - Text color of the navmenuitem in its normal state.
29
- * @cssproperty --mdc-navmenuitem-border-color - Border color of the navmenuitem in its normal state.
30
37
  * @cssproperty --mdc-navmenuitem-disabled-color - Text color of the navmenuitem when disabled.
31
- * @cssproperty --mdc-navmenuitem-expanded-width - Width of the navmenuitem when expanded.
38
+ * @cssproperty --mdc-navmenuitem-rest-active-background-color - Background color of the active nav item in its rest state.
32
39
  * @cssproperty --mdc-navmenuitem-hover-background-color - Background color of the navmenuitem when hovered.
33
40
  * @cssproperty --mdc-navmenuitem-hover-active-background-color - Background color of the active navmenuitem when hovered.
34
41
  * @cssproperty --mdc-navmenuitem-pressed-background-color - Background color of the navmenuitem when pressed.
35
42
  * @cssproperty --mdc-navmenuitem-pressed-active-background-color - Background color of the active navmenuitem when pressed.
36
43
  * @cssproperty --mdc-navmenuitem-disabled-background-color - Background color of the navmenuitem when disabled.
37
44
  * @cssproperty --mdc-navmenuitem-disabled-active-background-color - Background color of the active navmenuitem when disabled.
38
- * @cssproperty --mdc-navmenuitem-rest-active-background-color - Background color of the active nav item in its rest state.
39
45
  *
40
46
  * @csspart arrow - The arrow of the navmenuitem.
41
47
  * @csspart badge - The badge of the navmenuitem.
@@ -6,7 +6,7 @@ import type { Events } from '../../components/sidenavigation/sidenavigation.type
6
6
  * typically used in layouts with persistent or collapsible sidebars.
7
7
  *
8
8
  * ## Features:
9
- * - Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`
9
+ * - Supports five layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, `flexible-on-hover`, and `hidden`
10
10
  * - Toggleable expand/collapse behavior
11
11
  * - Displays brand logo and customer name
12
12
  * - Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`
@@ -46,13 +46,17 @@ import type { Events } from '../../components/sidenavigation/sidenavigation.type
46
46
  * @tagname mdc-sidenavigation
47
47
  *
48
48
  * @slot scrollable-section - Slot for the scrollable content area of the side navigation.
49
+ * @slot scrollable-menubar - Slot for the menubar inside the scrollable section.
49
50
  * @slot fixed-section - Slot for the fixed content area of the side navigation.
51
+ * @slot fixed-menubar - Slot for the menubar inside the fixed section.
50
52
  * @slot brand-logo - Slot for the brand logo (e.g., icon or img).
51
53
  *
52
54
  * @csspart side-navigation-container - The main container wrapping the entire side navigation.
53
55
  * @csspart scrollable-section - The scrollable section of the side navigation.
54
- * @csspart fixed-section - The fixed section of the side navigation.
56
+ * @csspart scrollable-menubar - The menubar inside the scrollable section.
55
57
  * @csspart separator - The divider between the scrollable and fixed sections.
58
+ * @csspart fixed-section - The fixed section of the side navigation.
59
+ * @csspart fixed-menubar - The menubar inside the fixed section.
56
60
  * @csspart brand-logo-container - The container wrapping the brand logo and footer text.
57
61
  * @csspart footer-text - The footer text label in the fixed section.
58
62
  * @csspart vertical-divider - The vertical divider between the scrollable and fixed sections.
@@ -62,7 +66,13 @@ import type { Events } from '../../components/sidenavigation/sidenavigation.type
62
66
  * @event activechange - (React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.
63
67
  *
64
68
  * @cssproperty --mdc-sidenavigation-expanded-width - width of the sideNavigation when expanded
69
+ * @cssproperty --mdc-sidenavigation-expanded-left-padding - padding for the left side of navmenuitems, when expanded
70
+ * @cssproperty --mdc-sidenavigation-expanded-right-padding - padding for the right side of navmenuitems, when expanded
65
71
  * @cssproperty --mdc-sidenavigation-collapsed-width - width of the sideNavigation when collapsed
72
+ * @cssproperty --mdc-sidenavigation-collapsed-left-padding - padding for the left side of navmenuitems, when collapsed
73
+ * @cssproperty --mdc-sidenavigation-collapsed-right-padding - padding for the right side of navmenuitems, when collapsed
74
+ * @cssproperty --mdc-sidenavigation-top-padding - padding for the top of the scrollable section - note: if setting to 0 focus ring might be cut off
75
+ * @cssproperty --mdc-sidenavigation-bottom-padding - padding for the bottom of the scrollable section
66
76
  * @cssproperty --mdc-sidenavigation-vertical-divider-button-z-index - z-index of the vertical divider button
67
77
  */
68
78
  declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
@@ -7,7 +7,7 @@ import { TAG_NAME } from '../../components/sidenavigation/sidenavigation.constan
7
7
  * typically used in layouts with persistent or collapsible sidebars.
8
8
  *
9
9
  * ## Features:
10
- * - Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`
10
+ * - Supports five layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, `flexible-on-hover`, and `hidden`
11
11
  * - Toggleable expand/collapse behavior
12
12
  * - Displays brand logo and customer name
13
13
  * - Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`
@@ -47,13 +47,17 @@ import { TAG_NAME } from '../../components/sidenavigation/sidenavigation.constan
47
47
  * @tagname mdc-sidenavigation
48
48
  *
49
49
  * @slot scrollable-section - Slot for the scrollable content area of the side navigation.
50
+ * @slot scrollable-menubar - Slot for the menubar inside the scrollable section.
50
51
  * @slot fixed-section - Slot for the fixed content area of the side navigation.
52
+ * @slot fixed-menubar - Slot for the menubar inside the fixed section.
51
53
  * @slot brand-logo - Slot for the brand logo (e.g., icon or img).
52
54
  *
53
55
  * @csspart side-navigation-container - The main container wrapping the entire side navigation.
54
56
  * @csspart scrollable-section - The scrollable section of the side navigation.
55
- * @csspart fixed-section - The fixed section of the side navigation.
57
+ * @csspart scrollable-menubar - The menubar inside the scrollable section.
56
58
  * @csspart separator - The divider between the scrollable and fixed sections.
59
+ * @csspart fixed-section - The fixed section of the side navigation.
60
+ * @csspart fixed-menubar - The menubar inside the fixed section.
57
61
  * @csspart brand-logo-container - The container wrapping the brand logo and footer text.
58
62
  * @csspart footer-text - The footer text label in the fixed section.
59
63
  * @csspart vertical-divider - The vertical divider between the scrollable and fixed sections.
@@ -63,7 +67,13 @@ import { TAG_NAME } from '../../components/sidenavigation/sidenavigation.constan
63
67
  * @event activechange - (React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.
64
68
  *
65
69
  * @cssproperty --mdc-sidenavigation-expanded-width - width of the sideNavigation when expanded
70
+ * @cssproperty --mdc-sidenavigation-expanded-left-padding - padding for the left side of navmenuitems, when expanded
71
+ * @cssproperty --mdc-sidenavigation-expanded-right-padding - padding for the right side of navmenuitems, when expanded
66
72
  * @cssproperty --mdc-sidenavigation-collapsed-width - width of the sideNavigation when collapsed
73
+ * @cssproperty --mdc-sidenavigation-collapsed-left-padding - padding for the left side of navmenuitems, when collapsed
74
+ * @cssproperty --mdc-sidenavigation-collapsed-right-padding - padding for the right side of navmenuitems, when collapsed
75
+ * @cssproperty --mdc-sidenavigation-top-padding - padding for the top of the scrollable section - note: if setting to 0 focus ring might be cut off
76
+ * @cssproperty --mdc-sidenavigation-bottom-padding - padding for the bottom of the scrollable section
67
77
  * @cssproperty --mdc-sidenavigation-vertical-divider-button-z-index - z-index of the vertical divider button
68
78
  */
69
79
  const reactWrapper = createComponent({
@@ -21,6 +21,21 @@ import type { Events } from '../../components/textarea/textarea.types';
21
21
  * help-text attribute with the error message using limitexceeded event.
22
22
  * The same help-text value will be used for the validation message to be displayed.
23
23
  *
24
+ * ### Accessibility
25
+ *
26
+ * #### Resize
27
+ *
28
+ * Accessible text area resizing can be turned on with the `resizable`.
29
+ * It is strongly recommended to set the `resize-button-aria-label` attribute as well to describe what it is and what are the shortcuts (up/down arrows) of the button.
30
+ *
31
+ * #### Best practices
32
+ *
33
+ * - Always provide a `label` for screen readers to identify the textarea's purpose
34
+ * - Use `help-text` to provide additional context or instructions
35
+ * - When using `max-character-limit`, consider providing `character-limit-announcement` for screen reader updates
36
+ * - Use appropriate `help-text-type` (error, warning, success) to convey validation state
37
+ * - Ensure `validation-message` is set for form validation errors
38
+ *
24
39
  * @tagname mdc-textarea
25
40
  *
26
41
  * @event input - (React: onInput) This event is dispatched when the value of the textarea field changes (every press).
@@ -45,6 +60,11 @@ import type { Events } from '../../components/textarea/textarea.types';
45
60
  * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.
46
61
  * @csspart info-icon-btn - The info icon button element that is displayed next to the label when the `toggletip-text` property is set.
47
62
  * @csspart label-toggletip - The toggletip element that is displayed when the info icon button is clicked.
63
+ * @csspart textarea - The textarea element.
64
+ * @csspart textarea-container - The container element that wraps the textarea and resize button.
65
+ * @csspart textarea-footer - The footer element that contains the character counter.
66
+ * @csspart character-counter - The character counter element.
67
+ * @csspart resize-button - The resize button element (shown when `resizable` is true).
48
68
  * @csspart help-text - The helper/validation text element.
49
69
  * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.
50
70
  * @csspart help-text-container - The container for the helper/validation icon and text elements.
@@ -22,6 +22,21 @@ import { TAG_NAME } from '../../components/textarea/textarea.constants';
22
22
  * help-text attribute with the error message using limitexceeded event.
23
23
  * The same help-text value will be used for the validation message to be displayed.
24
24
  *
25
+ * ### Accessibility
26
+ *
27
+ * #### Resize
28
+ *
29
+ * Accessible text area resizing can be turned on with the `resizable`.
30
+ * It is strongly recommended to set the `resize-button-aria-label` attribute as well to describe what it is and what are the shortcuts (up/down arrows) of the button.
31
+ *
32
+ * #### Best practices
33
+ *
34
+ * - Always provide a `label` for screen readers to identify the textarea's purpose
35
+ * - Use `help-text` to provide additional context or instructions
36
+ * - When using `max-character-limit`, consider providing `character-limit-announcement` for screen reader updates
37
+ * - Use appropriate `help-text-type` (error, warning, success) to convey validation state
38
+ * - Ensure `validation-message` is set for form validation errors
39
+ *
25
40
  * @tagname mdc-textarea
26
41
  *
27
42
  * @event input - (React: onInput) This event is dispatched when the value of the textarea field changes (every press).
@@ -46,6 +61,11 @@ import { TAG_NAME } from '../../components/textarea/textarea.constants';
46
61
  * @csspart required-indicator - The required indicator element that is displayed next to the label when the `required` property is set to true.
47
62
  * @csspart info-icon-btn - The info icon button element that is displayed next to the label when the `toggletip-text` property is set.
48
63
  * @csspart label-toggletip - The toggletip element that is displayed when the info icon button is clicked.
64
+ * @csspart textarea - The textarea element.
65
+ * @csspart textarea-container - The container element that wraps the textarea and resize button.
66
+ * @csspart textarea-footer - The footer element that contains the character counter.
67
+ * @csspart character-counter - The character counter element.
68
+ * @csspart resize-button - The resize button element (shown when `resizable` is true).
49
69
  * @csspart help-text - The helper/validation text element.
50
70
  * @csspart helper-icon - The helper/validation icon element that is displayed next to the helper/validation text.
51
71
  * @csspart help-text-container - The container for the helper/validation icon and text elements.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@momentum-design/components",
3
3
  "packageManager": "yarn@3.2.4",
4
- "version": "0.123.5",
4
+ "version": "0.124.1",
5
5
  "engines": {
6
6
  "node": ">=20.0.0",
7
7
  "npm": ">=8.0.0"