@momentum-design/components 0.120.36 → 0.120.37

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.
@@ -37660,6 +37660,211 @@
37660
37660
  }
37661
37661
  ]
37662
37662
  },
37663
+ {
37664
+ "kind": "javascript-module",
37665
+ "path": "components/screenreaderannouncer/screenreaderannouncer.component.js",
37666
+ "declarations": [
37667
+ {
37668
+ "kind": "class",
37669
+ "description": "`mdc-screenreaderannouncer` can be used to announce messages with the screen reader.\n\nTo make an announcement set `announcement` attribute on the `mdc-screenreaderannouncer` element.\n\n**Internal logic**\n\nWhen the screenreader announcer is connected to the DOM, if the `identity` attribute is not\nprovided, it is set to `mdc-screenreaderannouncer-identity` and a `<div>` element with this id is created\nin the DOM. If the `identity` attribute is provided, the identity element is used and no new element\nis created in the DOM.\n\nWhen the `announcement` attribute is set, the screenreader announcer will create a `<div>` element with\n`aria-live` attribute set to the value of `data-aria-live` attribute and append it to the `identity` element.\nAfter delay of `delay` milliseconds, a <p> element with the announcement text is appended to the `<div>` element.\n\nThe announcement `<div>` element is removed from the DOM after `timeout` milliseconds.\n\nWhen the screen announcer component is disconnected from the DOM, all the timeouts are cleared and\nall the announcement elements added are removed from the DOM and timeouts cleared.\n\n**Note**\n1. The default delay of 150 miliseconds is used as we dynamically generate the\naria-live region in the DOM and add the announcement text to it.\n3. If no `identity` is provided, all the screen reader components will create and use only one\n`<div>` element with id `mdc-screenreaderannouncer-identity` in the DOM.\n\nReference: https://patrickhlauke.github.io/aria/tests/live-regions/",
37670
+ "name": "ScreenreaderAnnouncer",
37671
+ "members": [
37672
+ {
37673
+ "kind": "field",
37674
+ "name": "announcement",
37675
+ "type": {
37676
+ "text": "string"
37677
+ },
37678
+ "default": "''",
37679
+ "description": "The announcement attribute is a string that is used to announce messages to the screen reader.\nThe announcement is made when the announcement attribute is set to a non-empty string.",
37680
+ "attribute": "announcement",
37681
+ "reflects": true
37682
+ },
37683
+ {
37684
+ "kind": "field",
37685
+ "name": "identity",
37686
+ "type": {
37687
+ "text": "string"
37688
+ },
37689
+ "default": "''",
37690
+ "description": "The id of the element in the light dom, to which announcement elements will be appended.\n\nIf id is not provided, it will be set to `mdc-screenreaderannouncer-identity` and\na div element with this id will be created in the light dom.",
37691
+ "attribute": "identity",
37692
+ "reflects": true
37693
+ },
37694
+ {
37695
+ "kind": "field",
37696
+ "name": "dataAriaLive",
37697
+ "type": {
37698
+ "text": "AriaLive"
37699
+ },
37700
+ "description": "Aria live value for announcement.",
37701
+ "default": "'polite'",
37702
+ "attribute": "data-aria-live",
37703
+ "reflects": true
37704
+ },
37705
+ {
37706
+ "kind": "field",
37707
+ "name": "delay",
37708
+ "type": {
37709
+ "text": "number"
37710
+ },
37711
+ "description": "Milliseconds to wait before adding the announcement to the identiy region in\nDOM, which will announce the message to the screen reader.",
37712
+ "default": "150",
37713
+ "attribute": "delay",
37714
+ "reflects": true
37715
+ },
37716
+ {
37717
+ "kind": "field",
37718
+ "name": "timeout",
37719
+ "type": {
37720
+ "text": "number"
37721
+ },
37722
+ "description": "Milliseconds to wait after which the announcement element will be removed from\nidentity region in DOM, causing the screen reader to not announcing the message.",
37723
+ "default": "20_000",
37724
+ "attribute": "timeout",
37725
+ "reflects": true
37726
+ },
37727
+ {
37728
+ "kind": "field",
37729
+ "name": "debounceTime",
37730
+ "type": {
37731
+ "text": "number"
37732
+ },
37733
+ "description": "The debounce time delay in milliseconds for announcements.",
37734
+ "default": "500",
37735
+ "attribute": "debounce-time",
37736
+ "reflects": true
37737
+ },
37738
+ {
37739
+ "kind": "method",
37740
+ "name": "announce",
37741
+ "parameters": [
37742
+ {
37743
+ "name": "announcement",
37744
+ "type": {
37745
+ "text": "string"
37746
+ },
37747
+ "description": "The announcement to be made."
37748
+ },
37749
+ {
37750
+ "name": "delay",
37751
+ "type": {
37752
+ "text": "number"
37753
+ },
37754
+ "description": "The delay in milliseconds before announcing the message."
37755
+ },
37756
+ {
37757
+ "name": "timeout",
37758
+ "type": {
37759
+ "text": "number"
37760
+ },
37761
+ "description": "The timeout in milliseconds before removing the announcement."
37762
+ },
37763
+ {
37764
+ "name": "ariaLive",
37765
+ "type": {
37766
+ "text": "AriaLive"
37767
+ },
37768
+ "description": "The aria live value for the announcement."
37769
+ }
37770
+ ],
37771
+ "description": "Announces the given announcement to the screen reader.\n\nA div element with aria-live attribute set to the given ariaLive value is created\nand a p element with the announcement text is appended to it.\n\nThe div element is appended to the element in the DOM identified with id as\nidentity attribute."
37772
+ },
37773
+ {
37774
+ "kind": "method",
37775
+ "name": "clearTimeOutsAndAnnouncements",
37776
+ "privacy": "private",
37777
+ "description": "Clears all timeouts and removes all announcements from the screen reader."
37778
+ },
37779
+ {
37780
+ "kind": "method",
37781
+ "name": "createAnnouncementAriaLiveRegion",
37782
+ "privacy": "private",
37783
+ "description": "Creates a div element with id as identity attribute in the DOM.\n\nIf the identity attribute is not provided, it is set internally to\n`mdc-screenreaderannouncer-identity`."
37784
+ },
37785
+ {
37786
+ "kind": "method",
37787
+ "name": "setupDebouncedAnnounce",
37788
+ "privacy": "private",
37789
+ "description": "Creates a single debounced function that will read the latest this.announcement when executed.\n\nThis function is used to debounce the announcement so that it will only be made after\nthis.debounceTime milliseconds have passed since the last time this.announcement was updated."
37790
+ }
37791
+ ],
37792
+ "attributes": [
37793
+ {
37794
+ "name": "announcement",
37795
+ "type": {
37796
+ "text": "string"
37797
+ },
37798
+ "default": "''",
37799
+ "description": "The announcement attribute is a string that is used to announce messages to the screen reader.\nThe announcement is made when the announcement attribute is set to a non-empty string.",
37800
+ "fieldName": "announcement"
37801
+ },
37802
+ {
37803
+ "name": "identity",
37804
+ "type": {
37805
+ "text": "string"
37806
+ },
37807
+ "default": "''",
37808
+ "description": "The id of the element in the light dom, to which announcement elements will be appended.\n\nIf id is not provided, it will be set to `mdc-screenreaderannouncer-identity` and\na div element with this id will be created in the light dom.",
37809
+ "fieldName": "identity"
37810
+ },
37811
+ {
37812
+ "name": "data-aria-live",
37813
+ "type": {
37814
+ "text": "AriaLive"
37815
+ },
37816
+ "description": "Aria live value for announcement.",
37817
+ "default": "'polite'",
37818
+ "fieldName": "dataAriaLive"
37819
+ },
37820
+ {
37821
+ "name": "delay",
37822
+ "type": {
37823
+ "text": "number"
37824
+ },
37825
+ "description": "Milliseconds to wait before adding the announcement to the identiy region in\nDOM, which will announce the message to the screen reader.",
37826
+ "default": "150",
37827
+ "fieldName": "delay"
37828
+ },
37829
+ {
37830
+ "name": "timeout",
37831
+ "type": {
37832
+ "text": "number"
37833
+ },
37834
+ "description": "Milliseconds to wait after which the announcement element will be removed from\nidentity region in DOM, causing the screen reader to not announcing the message.",
37835
+ "default": "20_000",
37836
+ "fieldName": "timeout"
37837
+ },
37838
+ {
37839
+ "name": "debounce-time",
37840
+ "type": {
37841
+ "text": "number"
37842
+ },
37843
+ "description": "The debounce time delay in milliseconds for announcements.",
37844
+ "default": "500",
37845
+ "fieldName": "debounceTime"
37846
+ }
37847
+ ],
37848
+ "superclass": {
37849
+ "name": "Component",
37850
+ "module": "/src/models"
37851
+ },
37852
+ "tagName": "mdc-screenreaderannouncer",
37853
+ "jsDoc": "/**\n * `mdc-screenreaderannouncer` can be used to announce messages with the screen reader.\n *\n * To make an announcement set `announcement` attribute on the `mdc-screenreaderannouncer` element.\n *\n * **Internal logic**\n *\n * When the screenreader announcer is connected to the DOM, if the `identity` attribute is not\n * provided, it is set to `mdc-screenreaderannouncer-identity` and a `<div>` element with this id is created\n * in the DOM. If the `identity` attribute is provided, the identity element is used and no new element\n * is created in the DOM.\n *\n * When the `announcement` attribute is set, the screenreader announcer will create a `<div>` element with\n * `aria-live` attribute set to the value of `data-aria-live` attribute and append it to the `identity` element.\n * After delay of `delay` milliseconds, a <p> element with the announcement text is appended to the `<div>` element.\n *\n * The announcement `<div>` element is removed from the DOM after `timeout` milliseconds.\n *\n * When the screen announcer component is disconnected from the DOM, all the timeouts are cleared and\n * all the announcement elements added are removed from the DOM and timeouts cleared.\n *\n * **Note**\n * 1. The default delay of 150 miliseconds is used as we dynamically generate the\n * aria-live region in the DOM and add the announcement text to it.\n * 3. If no `identity` is provided, all the screen reader components will create and use only one\n * `<div>` element with id `mdc-screenreaderannouncer-identity` in the DOM.\n *\n * Reference: https://patrickhlauke.github.io/aria/tests/live-regions/\n *\n * @tagname mdc-screenreaderannouncer\n */",
37854
+ "customElement": true
37855
+ }
37856
+ ],
37857
+ "exports": [
37858
+ {
37859
+ "kind": "js",
37860
+ "name": "default",
37861
+ "declaration": {
37862
+ "name": "ScreenreaderAnnouncer",
37863
+ "module": "components/screenreaderannouncer/screenreaderannouncer.component.js"
37864
+ }
37865
+ }
37866
+ ]
37867
+ },
37663
37868
  {
37664
37869
  "kind": "javascript-module",
37665
37870
  "path": "components/searchfield/searchfield.component.js",
@@ -40423,195 +40628,213 @@
40423
40628
  },
40424
40629
  {
40425
40630
  "kind": "javascript-module",
40426
- "path": "components/screenreaderannouncer/screenreaderannouncer.component.js",
40631
+ "path": "components/sidenavigation/sidenavigation.component.js",
40427
40632
  "declarations": [
40428
40633
  {
40429
40634
  "kind": "class",
40430
- "description": "`mdc-screenreaderannouncer` can be used to announce messages with the screen reader.\n\nTo make an announcement set `announcement` attribute on the `mdc-screenreaderannouncer` element.\n\n**Internal logic**\n\nWhen the screenreader announcer is connected to the DOM, if the `identity` attribute is not\nprovided, it is set to `mdc-screenreaderannouncer-identity` and a `<div>` element with this id is created\nin the DOM. If the `identity` attribute is provided, the identity element is used and no new element\nis created in the DOM.\n\nWhen the `announcement` attribute is set, the screenreader announcer will create a `<div>` element with\n`aria-live` attribute set to the value of `data-aria-live` attribute and append it to the `identity` element.\nAfter delay of `delay` milliseconds, a <p> element with the announcement text is appended to the `<div>` element.\n\nThe announcement `<div>` element is removed from the DOM after `timeout` milliseconds.\n\nWhen the screen announcer component is disconnected from the DOM, all the timeouts are cleared and\nall the announcement elements added are removed from the DOM and timeouts cleared.\n\n**Note**\n1. The default delay of 150 miliseconds is used as we dynamically generate the\naria-live region in the DOM and add the announcement text to it.\n3. If no `identity` is provided, all the screen reader components will create and use only one\n`<div>` element with id `mdc-screenreaderannouncer-identity` in the DOM.\n\nReference: https://patrickhlauke.github.io/aria/tests/live-regions/",
40431
- "name": "ScreenreaderAnnouncer",
40432
- "members": [
40635
+ "description": "The `mdc-sidenavigation` component provides a vertically stacked navigation experience,\ntypically used in layouts with persistent or collapsible sidebars.\n\n## Features:\n- Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`\n- Toggleable expand/collapse behavior\n- Displays brand logo and customer name\n- Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`\n\n### Usage:\nIn a sidenavigation, navmenuitems can be used in the following ways:\n\n1. **Simple navmenuitem** No submenu or interaction beyond selection.\n\n2. **NavMenuItem with submenu**:\n - Provide an `id` on the `mdc-navmenuitem`\n - Set the `triggerId` on the corresponding `mdc-menupopover` to match the navmenuitem's `id`\n - Set `parent-nav-tooltip-text` with appropriate text that will display when a child menu item\n inside the nested menupopover is active, conveying which submenu item is currently selected\n\n3. **Actionable navmenuitem (no submenu)**:\n - Performs an action such as navigation or alert trigger\n - Set `disable-aria-current=\"true\"` to maintain visual active state without navigation behavior\n\n### Recommendations:\n- Use `mdc-text` for section headers\n- Use `mdc-divider` with the attribute `variant=\"gradient\"` for section dividers\n- For the brand logo, use an informative icon. Refer to `Momentum Informative Icons`\n\n#### Accessibility Notes:\n- Always provide meaningful `aria-label` attributes for both `mdc-navmenuitem` and `mdc-menubar`\nto ensure screen reader support\n- Set `grabber-btn-aria-label` to provide accessible labels for the expand/collapse grabber button",
40636
+ "name": "SideNavigation",
40637
+ "cssProperties": [
40433
40638
  {
40434
- "kind": "field",
40435
- "name": "announcement",
40436
- "type": {
40437
- "text": "string"
40438
- },
40439
- "default": "''",
40440
- "description": "The announcement attribute is a string that is used to announce messages to the screen reader.\nThe announcement is made when the announcement attribute is set to a non-empty string.",
40441
- "attribute": "announcement",
40442
- "reflects": true
40639
+ "description": "width of the sideNavigation when expanded",
40640
+ "name": "--mdc-sidenavigation-expanded-width"
40443
40641
  },
40444
40642
  {
40445
- "kind": "field",
40446
- "name": "identity",
40447
- "type": {
40448
- "text": "string"
40449
- },
40450
- "default": "''",
40451
- "description": "The id of the element in the light dom, to which announcement elements will be appended.\n\nIf id is not provided, it will be set to `mdc-screenreaderannouncer-identity` and\na div element with this id will be created in the light dom.",
40452
- "attribute": "identity",
40453
- "reflects": true
40643
+ "description": "width of the sideNavigation when collapsed",
40644
+ "name": "--mdc-sidenavigation-collapsed-width"
40454
40645
  },
40455
40646
  {
40456
- "kind": "field",
40457
- "name": "dataAriaLive",
40458
- "type": {
40459
- "text": "AriaLive"
40460
- },
40461
- "description": "Aria live value for announcement.",
40462
- "default": "'polite'",
40463
- "attribute": "data-aria-live",
40464
- "reflects": true
40647
+ "description": "z-index of the vertical divider button",
40648
+ "name": "--mdc-sidenavigation-vertical-divider-button-z-index"
40649
+ }
40650
+ ],
40651
+ "cssParts": [
40652
+ {
40653
+ "description": "The main container wrapping the entire side navigation.",
40654
+ "name": "side-navigation-container"
40465
40655
  },
40466
40656
  {
40467
- "kind": "field",
40468
- "name": "delay",
40469
- "type": {
40470
- "text": "number"
40657
+ "description": "The scrollable section of the side navigation.",
40658
+ "name": "scrollable-section"
40659
+ },
40660
+ {
40661
+ "description": "The fixed section of the side navigation.",
40662
+ "name": "fixed-section"
40663
+ },
40664
+ {
40665
+ "description": "The divider between the scrollable and fixed sections.",
40666
+ "name": "separator"
40667
+ },
40668
+ {
40669
+ "description": "The container wrapping the brand logo and footer text.",
40670
+ "name": "brand-logo-container"
40671
+ },
40672
+ {
40673
+ "description": "The footer text label in the fixed section.",
40674
+ "name": "footer-text"
40675
+ },
40676
+ {
40677
+ "description": "The vertical divider between the scrollable and fixed sections.",
40678
+ "name": "vertical-divider"
40679
+ },
40680
+ {
40681
+ "description": "The button inside the vertical divider used to toggle expand/collapse.",
40682
+ "name": "vertical-divider-button"
40683
+ }
40684
+ ],
40685
+ "slots": [
40686
+ {
40687
+ "description": "Slot for the scrollable content area of the side navigation.",
40688
+ "name": "scrollable-section"
40689
+ },
40690
+ {
40691
+ "description": "Slot for the fixed content area of the side navigation.",
40692
+ "name": "fixed-section"
40693
+ },
40694
+ {
40695
+ "description": "Slot for the brand logo (e.g., icon or img).",
40696
+ "name": "brand-logo"
40697
+ }
40698
+ ],
40699
+ "members": [
40700
+ {
40701
+ "kind": "field",
40702
+ "name": "variant",
40703
+ "type": {
40704
+ "text": "SideNavigationVariant"
40471
40705
  },
40472
- "description": "Milliseconds to wait before adding the announcement to the identiy region in\nDOM, which will announce the message to the screen reader.",
40473
- "default": "150",
40474
- "attribute": "delay",
40706
+ "description": "Four variants of the sideNavigation\n- **fixed-collapsed**: Shows icons without labels and has fixed width, 4.5rem.\n- **fixed-expanded**: Shows icons with labels and has fixed width, 15rem.\n- **flexible**: Toggles between collapsed/expanded states.\n- **hidden**: Removes the sidenavigation from the DOM.",
40707
+ "default": "flexible",
40708
+ "attribute": "variant",
40475
40709
  "reflects": true
40476
40710
  },
40477
40711
  {
40478
40712
  "kind": "field",
40479
- "name": "timeout",
40713
+ "name": "footerText",
40480
40714
  "type": {
40481
- "text": "number"
40715
+ "text": "string"
40482
40716
  },
40483
- "description": "Milliseconds to wait after which the announcement element will be removed from\nidentity region in DOM, causing the screen reader to not announcing the message.",
40484
- "default": "20_000",
40485
- "attribute": "timeout",
40717
+ "default": "''",
40718
+ "description": "Displays footer text in the bottom section of the sidenavigation.",
40719
+ "attribute": "footer-text",
40486
40720
  "reflects": true
40487
40721
  },
40488
40722
  {
40489
40723
  "kind": "field",
40490
- "name": "debounceTime",
40724
+ "name": "grabberBtnAriaLabel",
40491
40725
  "type": {
40492
- "text": "number"
40726
+ "text": "string | undefined"
40493
40727
  },
40494
- "description": "The debounce time delay in milliseconds for announcements.",
40495
- "default": "500",
40496
- "attribute": "debounce-time",
40728
+ "description": "Provides an accessible label for the grabber button.\nThis value is used to set the `aria-label` attribute for the button.",
40729
+ "default": "''",
40730
+ "attribute": "grabber-btn-aria-label",
40497
40731
  "reflects": true
40498
40732
  },
40499
40733
  {
40500
- "kind": "method",
40501
- "name": "announce",
40502
- "parameters": [
40503
- {
40504
- "name": "announcement",
40505
- "type": {
40506
- "text": "string"
40507
- },
40508
- "description": "The announcement to be made."
40509
- },
40510
- {
40511
- "name": "delay",
40512
- "type": {
40513
- "text": "number"
40514
- },
40515
- "description": "The delay in milliseconds before announcing the message."
40516
- },
40517
- {
40518
- "name": "timeout",
40519
- "type": {
40520
- "text": "number"
40521
- },
40522
- "description": "The timeout in milliseconds before removing the announcement."
40523
- },
40524
- {
40525
- "name": "ariaLive",
40526
- "type": {
40527
- "text": "AriaLive"
40528
- },
40529
- "description": "The aria live value for the announcement."
40530
- }
40531
- ],
40532
- "description": "Announces the given announcement to the screen reader.\n\nA div element with aria-live attribute set to the given ariaLive value is created\nand a p element with the announcement text is appended to it.\n\nThe div element is appended to the element in the DOM identified with id as\nidentity attribute."
40734
+ "kind": "field",
40735
+ "name": "parentNavTooltipText",
40736
+ "type": {
40737
+ "text": "string | undefined"
40738
+ },
40739
+ "description": "Tooltip text shown on parent nav items when a child is active.",
40740
+ "attribute": "parent-nav-tooltip-text",
40741
+ "reflects": true
40533
40742
  },
40534
40743
  {
40535
- "kind": "method",
40536
- "name": "clearTimeOutsAndAnnouncements",
40537
- "privacy": "private",
40538
- "description": "Clears all timeouts and removes all announcements from the screen reader."
40744
+ "kind": "field",
40745
+ "name": "Context",
40746
+ "privacy": "public",
40747
+ "static": true,
40748
+ "readonly": true
40539
40749
  },
40540
40750
  {
40541
40751
  "kind": "method",
40542
- "name": "createAnnouncementAriaLiveRegion",
40543
- "privacy": "private",
40544
- "description": "Creates a div element with id as identity attribute in the DOM.\n\nIf the identity attribute is not provided, it is set internally to\n`mdc-screenreaderannouncer-identity`."
40752
+ "name": "updateContext",
40753
+ "privacy": "protected",
40754
+ "return": {
40755
+ "type": {
40756
+ "text": "void"
40757
+ }
40758
+ },
40759
+ "description": "Update all observing components of this\nprovider to update the values\n\nIs called on every re-render, see Provider class"
40545
40760
  },
40546
40761
  {
40547
40762
  "kind": "method",
40548
- "name": "setupDebouncedAnnounce",
40763
+ "name": "preventScrollOnSpace",
40549
40764
  "privacy": "private",
40550
- "description": "Creates a single debounced function that will read the latest this.announcement when executed.\n\nThis function is used to debounce the announcement so that it will only be made after\nthis.debounceTime milliseconds have passed since the last time this.announcement was updated."
40765
+ "return": {
40766
+ "type": {
40767
+ "text": "void"
40768
+ }
40769
+ },
40770
+ "parameters": [
40771
+ {
40772
+ "name": "event",
40773
+ "type": {
40774
+ "text": "KeyboardEvent"
40775
+ }
40776
+ }
40777
+ ]
40551
40778
  }
40552
40779
  ],
40553
- "attributes": [
40780
+ "events": [
40554
40781
  {
40555
- "name": "announcement",
40782
+ "name": "toggle",
40556
40783
  "type": {
40557
- "text": "string"
40784
+ "text": "CustomEvent"
40558
40785
  },
40559
- "default": "''",
40560
- "description": "The announcement attribute is a string that is used to announce messages to the screen reader.\nThe announcement is made when the announcement attribute is set to a non-empty string.",
40561
- "fieldName": "announcement"
40786
+ "description": "(React: onToggle) Dispatched when the grabber button is clicked to expand/collapse the sidenavigation.",
40787
+ "reactName": "onToggle"
40562
40788
  },
40563
40789
  {
40564
- "name": "identity",
40565
- "type": {
40566
- "text": "string"
40567
- },
40568
- "default": "''",
40569
- "description": "The id of the element in the light dom, to which announcement elements will be appended.\n\nIf id is not provided, it will be set to `mdc-screenreaderannouncer-identity` and\na div element with this id will be created in the light dom.",
40570
- "fieldName": "identity"
40571
- },
40790
+ "description": "(React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.",
40791
+ "name": "activechange",
40792
+ "reactName": "onActiveChange"
40793
+ }
40794
+ ],
40795
+ "attributes": [
40572
40796
  {
40573
- "name": "data-aria-live",
40797
+ "name": "variant",
40574
40798
  "type": {
40575
- "text": "AriaLive"
40799
+ "text": "SideNavigationVariant"
40576
40800
  },
40577
- "description": "Aria live value for announcement.",
40578
- "default": "'polite'",
40579
- "fieldName": "dataAriaLive"
40801
+ "description": "Four variants of the sideNavigation\n- **fixed-collapsed**: Shows icons without labels and has fixed width, 4.5rem.\n- **fixed-expanded**: Shows icons with labels and has fixed width, 15rem.\n- **flexible**: Toggles between collapsed/expanded states.\n- **hidden**: Removes the sidenavigation from the DOM.",
40802
+ "default": "flexible",
40803
+ "fieldName": "variant"
40580
40804
  },
40581
40805
  {
40582
- "name": "delay",
40806
+ "name": "footer-text",
40583
40807
  "type": {
40584
- "text": "number"
40808
+ "text": "string"
40585
40809
  },
40586
- "description": "Milliseconds to wait before adding the announcement to the identiy region in\nDOM, which will announce the message to the screen reader.",
40587
- "default": "150",
40588
- "fieldName": "delay"
40810
+ "default": "''",
40811
+ "description": "Displays footer text in the bottom section of the sidenavigation.",
40812
+ "fieldName": "footerText"
40589
40813
  },
40590
40814
  {
40591
- "name": "timeout",
40815
+ "name": "grabber-btn-aria-label",
40592
40816
  "type": {
40593
- "text": "number"
40817
+ "text": "string | undefined"
40594
40818
  },
40595
- "description": "Milliseconds to wait after which the announcement element will be removed from\nidentity region in DOM, causing the screen reader to not announcing the message.",
40596
- "default": "20_000",
40597
- "fieldName": "timeout"
40819
+ "description": "Provides an accessible label for the grabber button.\nThis value is used to set the `aria-label` attribute for the button.",
40820
+ "default": "''",
40821
+ "fieldName": "grabberBtnAriaLabel"
40598
40822
  },
40599
40823
  {
40600
- "name": "debounce-time",
40824
+ "name": "parent-nav-tooltip-text",
40601
40825
  "type": {
40602
- "text": "number"
40826
+ "text": "string | undefined"
40603
40827
  },
40604
- "description": "The debounce time delay in milliseconds for announcements.",
40605
- "default": "500",
40606
- "fieldName": "debounceTime"
40828
+ "description": "Tooltip text shown on parent nav items when a child is active.",
40829
+ "fieldName": "parentNavTooltipText"
40607
40830
  }
40608
40831
  ],
40609
40832
  "superclass": {
40610
- "name": "Component",
40833
+ "name": "Provider",
40611
40834
  "module": "/src/models"
40612
40835
  },
40613
- "tagName": "mdc-screenreaderannouncer",
40614
- "jsDoc": "/**\n * `mdc-screenreaderannouncer` can be used to announce messages with the screen reader.\n *\n * To make an announcement set `announcement` attribute on the `mdc-screenreaderannouncer` element.\n *\n * **Internal logic**\n *\n * When the screenreader announcer is connected to the DOM, if the `identity` attribute is not\n * provided, it is set to `mdc-screenreaderannouncer-identity` and a `<div>` element with this id is created\n * in the DOM. If the `identity` attribute is provided, the identity element is used and no new element\n * is created in the DOM.\n *\n * When the `announcement` attribute is set, the screenreader announcer will create a `<div>` element with\n * `aria-live` attribute set to the value of `data-aria-live` attribute and append it to the `identity` element.\n * After delay of `delay` milliseconds, a <p> element with the announcement text is appended to the `<div>` element.\n *\n * The announcement `<div>` element is removed from the DOM after `timeout` milliseconds.\n *\n * When the screen announcer component is disconnected from the DOM, all the timeouts are cleared and\n * all the announcement elements added are removed from the DOM and timeouts cleared.\n *\n * **Note**\n * 1. The default delay of 150 miliseconds is used as we dynamically generate the\n * aria-live region in the DOM and add the announcement text to it.\n * 3. If no `identity` is provided, all the screen reader components will create and use only one\n * `<div>` element with id `mdc-screenreaderannouncer-identity` in the DOM.\n *\n * Reference: https://patrickhlauke.github.io/aria/tests/live-regions/\n *\n * @tagname mdc-screenreaderannouncer\n */",
40836
+ "tagName": "mdc-sidenavigation",
40837
+ "jsDoc": "/**\n * The `mdc-sidenavigation` component provides a vertically stacked navigation experience,\n * typically used in layouts with persistent or collapsible sidebars.\n *\n * ## Features:\n * - Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`\n * - Toggleable expand/collapse behavior\n * - Displays brand logo and customer name\n * - Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`\n *\n * ### Usage:\n * In a sidenavigation, navmenuitems can be used in the following ways:\n *\n * 1. **Simple navmenuitem** No submenu or interaction beyond selection.\n *\n * 2. **NavMenuItem with submenu**:\n * - Provide an `id` on the `mdc-navmenuitem`\n * - Set the `triggerId` on the corresponding `mdc-menupopover` to match the navmenuitem's `id`\n * - Set `parent-nav-tooltip-text` with appropriate text that will display when a child menu item\n * inside the nested menupopover is active, conveying which submenu item is currently selected\n *\n * 3. **Actionable navmenuitem (no submenu)**:\n * - Performs an action such as navigation or alert trigger\n * - Set `disable-aria-current=\"true\"` to maintain visual active state without navigation behavior\n *\n * ### Recommendations:\n * - Use `mdc-text` for section headers\n * - Use `mdc-divider` with the attribute `variant=\"gradient\"` for section dividers\n * - For the brand logo, use an informative icon. Refer to `Momentum Informative Icons`\n *\n * #### Accessibility Notes:\n * - Always provide meaningful `aria-label` attributes for both `mdc-navmenuitem` and `mdc-menubar`\n * to ensure screen reader support\n * - Set `grabber-btn-aria-label` to provide accessible labels for the expand/collapse grabber button\n *\n * @dependency mdc-text\n * @dependency mdc-button\n * @dependency mdc-divider\n * @dependency mdc-menubar\n *\n * @event activechange - (React: onActiveChange) Dispatched when the active state of the navmenuitem changes.\n *\n * @tagname mdc-sidenavigation\n *\n * @slot scrollable-section - Slot for the scrollable content area of the side navigation.\n * @slot fixed-section - Slot for the fixed content area of the side navigation.\n * @slot brand-logo - Slot for the brand logo (e.g., icon or img).\n *\n * @csspart side-navigation-container - The main container wrapping the entire side navigation.\n * @csspart scrollable-section - The scrollable section of the side navigation.\n * @csspart fixed-section - The fixed section of the side navigation.\n * @csspart separator - The divider between the scrollable and fixed sections.\n * @csspart brand-logo-container - The container wrapping the brand logo and footer text.\n * @csspart footer-text - The footer text label in the fixed section.\n * @csspart vertical-divider - The vertical divider between the scrollable and fixed sections.\n * @csspart vertical-divider-button - The button inside the vertical divider used to toggle expand/collapse.\n *\n * @event toggle - (React: onToggle) Dispatched when the grabber button is clicked to expand/collapse the sidenavigation.\n * @event activechange - (React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.\n *\n * @cssproperty --mdc-sidenavigation-expanded-width - width of the sideNavigation when expanded\n * @cssproperty --mdc-sidenavigation-collapsed-width - width of the sideNavigation when collapsed\n * @cssproperty --mdc-sidenavigation-vertical-divider-button-z-index - z-index of the vertical divider button\n */",
40615
40838
  "customElement": true
40616
40839
  }
40617
40840
  ],
@@ -40620,8 +40843,8 @@
40620
40843
  "kind": "js",
40621
40844
  "name": "default",
40622
40845
  "declaration": {
40623
- "name": "ScreenreaderAnnouncer",
40624
- "module": "components/screenreaderannouncer/screenreaderannouncer.component.js"
40846
+ "name": "SideNavigation",
40847
+ "module": "components/sidenavigation/sidenavigation.component.js"
40625
40848
  }
40626
40849
  }
40627
40850
  ]
@@ -41628,229 +41851,6 @@
41628
41851
  }
41629
41852
  ]
41630
41853
  },
41631
- {
41632
- "kind": "javascript-module",
41633
- "path": "components/sidenavigation/sidenavigation.component.js",
41634
- "declarations": [
41635
- {
41636
- "kind": "class",
41637
- "description": "The `mdc-sidenavigation` component provides a vertically stacked navigation experience,\ntypically used in layouts with persistent or collapsible sidebars.\n\n## Features:\n- Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`\n- Toggleable expand/collapse behavior\n- Displays brand logo and customer name\n- Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`\n\n### Usage:\nIn a sidenavigation, navmenuitems can be used in the following ways:\n\n1. **Simple navmenuitem** – No submenu or interaction beyond selection.\n\n2. **NavMenuItem with submenu**:\n - Provide an `id` on the `mdc-navmenuitem`\n - Set the `triggerId` on the corresponding `mdc-menupopover` to match the navmenuitem's `id`\n - Set `parent-nav-tooltip-text` with appropriate text that will display when a child menu item\n inside the nested menupopover is active, conveying which submenu item is currently selected\n\n3. **Actionable navmenuitem (no submenu)**:\n - Performs an action such as navigation or alert trigger\n - Set `disable-aria-current=\"true\"` to maintain visual active state without navigation behavior\n\n### Recommendations:\n- Use `mdc-text` for section headers\n- Use `mdc-divider` with the attribute `variant=\"gradient\"` for section dividers\n- For the brand logo, use an informative icon. Refer to `Momentum Informative Icons`\n\n#### Accessibility Notes:\n- Always provide meaningful `aria-label` attributes for both `mdc-navmenuitem` and `mdc-menubar`\nto ensure screen reader support\n- Set `grabber-btn-aria-label` to provide accessible labels for the expand/collapse grabber button",
41638
- "name": "SideNavigation",
41639
- "cssProperties": [
41640
- {
41641
- "description": "width of the sideNavigation when expanded",
41642
- "name": "--mdc-sidenavigation-expanded-width"
41643
- },
41644
- {
41645
- "description": "width of the sideNavigation when collapsed",
41646
- "name": "--mdc-sidenavigation-collapsed-width"
41647
- },
41648
- {
41649
- "description": "z-index of the vertical divider button",
41650
- "name": "--mdc-sidenavigation-vertical-divider-button-z-index"
41651
- }
41652
- ],
41653
- "cssParts": [
41654
- {
41655
- "description": "The main container wrapping the entire side navigation.",
41656
- "name": "side-navigation-container"
41657
- },
41658
- {
41659
- "description": "The scrollable section of the side navigation.",
41660
- "name": "scrollable-section"
41661
- },
41662
- {
41663
- "description": "The fixed section of the side navigation.",
41664
- "name": "fixed-section"
41665
- },
41666
- {
41667
- "description": "The divider between the scrollable and fixed sections.",
41668
- "name": "separator"
41669
- },
41670
- {
41671
- "description": "The container wrapping the brand logo and footer text.",
41672
- "name": "brand-logo-container"
41673
- },
41674
- {
41675
- "description": "The footer text label in the fixed section.",
41676
- "name": "footer-text"
41677
- },
41678
- {
41679
- "description": "The vertical divider between the scrollable and fixed sections.",
41680
- "name": "vertical-divider"
41681
- },
41682
- {
41683
- "description": "The button inside the vertical divider used to toggle expand/collapse.",
41684
- "name": "vertical-divider-button"
41685
- }
41686
- ],
41687
- "slots": [
41688
- {
41689
- "description": "Slot for the scrollable content area of the side navigation.",
41690
- "name": "scrollable-section"
41691
- },
41692
- {
41693
- "description": "Slot for the fixed content area of the side navigation.",
41694
- "name": "fixed-section"
41695
- },
41696
- {
41697
- "description": "Slot for the brand logo (e.g., icon or img).",
41698
- "name": "brand-logo"
41699
- }
41700
- ],
41701
- "members": [
41702
- {
41703
- "kind": "field",
41704
- "name": "variant",
41705
- "type": {
41706
- "text": "SideNavigationVariant"
41707
- },
41708
- "description": "Four variants of the sideNavigation\n- **fixed-collapsed**: Shows icons without labels and has fixed width, 4.5rem.\n- **fixed-expanded**: Shows icons with labels and has fixed width, 15rem.\n- **flexible**: Toggles between collapsed/expanded states.\n- **hidden**: Removes the sidenavigation from the DOM.",
41709
- "default": "flexible",
41710
- "attribute": "variant",
41711
- "reflects": true
41712
- },
41713
- {
41714
- "kind": "field",
41715
- "name": "footerText",
41716
- "type": {
41717
- "text": "string"
41718
- },
41719
- "default": "''",
41720
- "description": "Displays footer text in the bottom section of the sidenavigation.",
41721
- "attribute": "footer-text",
41722
- "reflects": true
41723
- },
41724
- {
41725
- "kind": "field",
41726
- "name": "grabberBtnAriaLabel",
41727
- "type": {
41728
- "text": "string | undefined"
41729
- },
41730
- "description": "Provides an accessible label for the grabber button.\nThis value is used to set the `aria-label` attribute for the button.",
41731
- "default": "''",
41732
- "attribute": "grabber-btn-aria-label",
41733
- "reflects": true
41734
- },
41735
- {
41736
- "kind": "field",
41737
- "name": "parentNavTooltipText",
41738
- "type": {
41739
- "text": "string | undefined"
41740
- },
41741
- "description": "Tooltip text shown on parent nav items when a child is active.",
41742
- "attribute": "parent-nav-tooltip-text",
41743
- "reflects": true
41744
- },
41745
- {
41746
- "kind": "field",
41747
- "name": "Context",
41748
- "privacy": "public",
41749
- "static": true,
41750
- "readonly": true
41751
- },
41752
- {
41753
- "kind": "method",
41754
- "name": "updateContext",
41755
- "privacy": "protected",
41756
- "return": {
41757
- "type": {
41758
- "text": "void"
41759
- }
41760
- },
41761
- "description": "Update all observing components of this\nprovider to update the values\n\nIs called on every re-render, see Provider class"
41762
- },
41763
- {
41764
- "kind": "method",
41765
- "name": "preventScrollOnSpace",
41766
- "privacy": "private",
41767
- "return": {
41768
- "type": {
41769
- "text": "void"
41770
- }
41771
- },
41772
- "parameters": [
41773
- {
41774
- "name": "event",
41775
- "type": {
41776
- "text": "KeyboardEvent"
41777
- }
41778
- }
41779
- ]
41780
- }
41781
- ],
41782
- "events": [
41783
- {
41784
- "name": "toggle",
41785
- "type": {
41786
- "text": "CustomEvent"
41787
- },
41788
- "description": "(React: onToggle) Dispatched when the grabber button is clicked to expand/collapse the sidenavigation.",
41789
- "reactName": "onToggle"
41790
- },
41791
- {
41792
- "description": "(React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.",
41793
- "name": "activechange",
41794
- "reactName": "onActiveChange"
41795
- }
41796
- ],
41797
- "attributes": [
41798
- {
41799
- "name": "variant",
41800
- "type": {
41801
- "text": "SideNavigationVariant"
41802
- },
41803
- "description": "Four variants of the sideNavigation\n- **fixed-collapsed**: Shows icons without labels and has fixed width, 4.5rem.\n- **fixed-expanded**: Shows icons with labels and has fixed width, 15rem.\n- **flexible**: Toggles between collapsed/expanded states.\n- **hidden**: Removes the sidenavigation from the DOM.",
41804
- "default": "flexible",
41805
- "fieldName": "variant"
41806
- },
41807
- {
41808
- "name": "footer-text",
41809
- "type": {
41810
- "text": "string"
41811
- },
41812
- "default": "''",
41813
- "description": "Displays footer text in the bottom section of the sidenavigation.",
41814
- "fieldName": "footerText"
41815
- },
41816
- {
41817
- "name": "grabber-btn-aria-label",
41818
- "type": {
41819
- "text": "string | undefined"
41820
- },
41821
- "description": "Provides an accessible label for the grabber button.\nThis value is used to set the `aria-label` attribute for the button.",
41822
- "default": "''",
41823
- "fieldName": "grabberBtnAriaLabel"
41824
- },
41825
- {
41826
- "name": "parent-nav-tooltip-text",
41827
- "type": {
41828
- "text": "string | undefined"
41829
- },
41830
- "description": "Tooltip text shown on parent nav items when a child is active.",
41831
- "fieldName": "parentNavTooltipText"
41832
- }
41833
- ],
41834
- "superclass": {
41835
- "name": "Provider",
41836
- "module": "/src/models"
41837
- },
41838
- "tagName": "mdc-sidenavigation",
41839
- "jsDoc": "/**\n * The `mdc-sidenavigation` component provides a vertically stacked navigation experience,\n * typically used in layouts with persistent or collapsible sidebars.\n *\n * ## Features:\n * - Supports four layout variants: `fixed-collapsed`, `fixed-expanded`, `flexible`, and `hidden`\n * - Toggleable expand/collapse behavior\n * - Displays brand logo and customer name\n * - Serves as a context provider for descendant components - `mdc-menubar` and `mdc-navmenuitem`\n *\n * ### Usage:\n * In a sidenavigation, navmenuitems can be used in the following ways:\n *\n * 1. **Simple navmenuitem** – No submenu or interaction beyond selection.\n *\n * 2. **NavMenuItem with submenu**:\n * - Provide an `id` on the `mdc-navmenuitem`\n * - Set the `triggerId` on the corresponding `mdc-menupopover` to match the navmenuitem's `id`\n * - Set `parent-nav-tooltip-text` with appropriate text that will display when a child menu item\n * inside the nested menupopover is active, conveying which submenu item is currently selected\n *\n * 3. **Actionable navmenuitem (no submenu)**:\n * - Performs an action such as navigation or alert trigger\n * - Set `disable-aria-current=\"true\"` to maintain visual active state without navigation behavior\n *\n * ### Recommendations:\n * - Use `mdc-text` for section headers\n * - Use `mdc-divider` with the attribute `variant=\"gradient\"` for section dividers\n * - For the brand logo, use an informative icon. Refer to `Momentum Informative Icons`\n *\n * #### Accessibility Notes:\n * - Always provide meaningful `aria-label` attributes for both `mdc-navmenuitem` and `mdc-menubar`\n * to ensure screen reader support\n * - Set `grabber-btn-aria-label` to provide accessible labels for the expand/collapse grabber button\n *\n * @dependency mdc-text\n * @dependency mdc-button\n * @dependency mdc-divider\n * @dependency mdc-menubar\n *\n * @event activechange - (React: onActiveChange) Dispatched when the active state of the navmenuitem changes.\n *\n * @tagname mdc-sidenavigation\n *\n * @slot scrollable-section - Slot for the scrollable content area of the side navigation.\n * @slot fixed-section - Slot for the fixed content area of the side navigation.\n * @slot brand-logo - Slot for the brand logo (e.g., icon or img).\n *\n * @csspart side-navigation-container - The main container wrapping the entire side navigation.\n * @csspart scrollable-section - The scrollable section of the side navigation.\n * @csspart fixed-section - The fixed section of the side navigation.\n * @csspart separator - The divider between the scrollable and fixed sections.\n * @csspart brand-logo-container - The container wrapping the brand logo and footer text.\n * @csspart footer-text - The footer text label in the fixed section.\n * @csspart vertical-divider - The vertical divider between the scrollable and fixed sections.\n * @csspart vertical-divider-button - The button inside the vertical divider used to toggle expand/collapse.\n *\n * @event toggle - (React: onToggle) Dispatched when the grabber button is clicked to expand/collapse the sidenavigation.\n * @event activechange - (React: onActiveChange) Dispatched when the active state of a nested navmenuitem changes.\n *\n * @cssproperty --mdc-sidenavigation-expanded-width - width of the sideNavigation when expanded\n * @cssproperty --mdc-sidenavigation-collapsed-width - width of the sideNavigation when collapsed\n * @cssproperty --mdc-sidenavigation-vertical-divider-button-z-index - z-index of the vertical divider button\n */",
41840
- "customElement": true
41841
- }
41842
- ],
41843
- "exports": [
41844
- {
41845
- "kind": "js",
41846
- "name": "default",
41847
- "declaration": {
41848
- "name": "SideNavigation",
41849
- "module": "components/sidenavigation/sidenavigation.component.js"
41850
- }
41851
- }
41852
- ]
41853
- },
41854
41854
  {
41855
41855
  "kind": "javascript-module",
41856
41856
  "path": "components/staticcheckbox/staticcheckbox.component.js",