@sapudex/web-components 2.48.0 → 2.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.esm.js +2 -0
- package/cypress/specs/AccordionSpotlight.cy.tsx +402 -0
- package/cypress/specs/BusyIndicator.cy.tsx +15 -0
- package/cypress/specs/Carousel.cy.tsx +142 -0
- package/cypress/specs/FilterMenu.cy.tsx +968 -10
- package/cypress/specs/List.cy.tsx +106 -0
- package/cypress/specs/ListItem.cy.tsx +291 -1
- package/cypress/specs/MediaPlayer.cy.tsx +32 -0
- package/cypress/specs/SelectBox.cy.tsx +134 -3
- package/cypress/specs/TabNavigation.cy.tsx +56 -0
- package/cypress/support/component-imports.instrumented.ts +6 -0
- package/cypress/support/component-imports.src.ts +6 -0
- package/dist/AccordionSpotlight.d.ts +149 -0
- package/dist/AccordionSpotlight.js +284 -0
- package/dist/AccordionSpotlight.js.map +1 -0
- package/dist/AccordionSpotlightItem.d.ts +76 -0
- package/dist/AccordionSpotlightItem.js +115 -0
- package/dist/AccordionSpotlightItem.js.map +1 -0
- package/dist/AccordionSpotlightItemTemplate.d.ts +2 -0
- package/dist/AccordionSpotlightItemTemplate.js +5 -0
- package/dist/AccordionSpotlightItemTemplate.js.map +1 -0
- package/dist/AccordionSpotlightTemplate.d.ts +2 -0
- package/dist/AccordionSpotlightTemplate.js +10 -0
- package/dist/AccordionSpotlightTemplate.js.map +1 -0
- package/dist/BusyIndicator.d.ts +9 -0
- package/dist/BusyIndicator.js +7 -1
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Carousel.d.ts +26 -15
- package/dist/Carousel.js +71 -55
- package/dist/Carousel.js.map +1 -1
- package/dist/FilterMenu.d.ts +12 -2
- package/dist/FilterMenu.js +24 -4
- package/dist/FilterMenu.js.map +1 -1
- package/dist/FilterMenuTemplate.js +1 -1
- package/dist/FilterMenuTemplate.js.map +1 -1
- package/dist/HeroBanner.d.ts +18 -9
- package/dist/HeroBanner.js +38 -35
- package/dist/HeroBanner.js.map +1 -1
- package/dist/HeroBannerTemplate.js +2 -2
- package/dist/HeroBannerTemplate.js.map +1 -1
- package/dist/List.d.ts +1 -0
- package/dist/List.js +24 -11
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.js +5 -1
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListGroupHeaderBase.d.ts +22 -0
- package/dist/ListGroupHeaderBase.js +44 -0
- package/dist/ListGroupHeaderBase.js.map +1 -1
- package/dist/ListItem.d.ts +4 -0
- package/dist/ListItem.js +32 -0
- package/dist/ListItem.js.map +1 -1
- package/dist/MediaPlayer.d.ts +2 -0
- package/dist/MediaPlayer.js +12 -0
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/PromoTile.js +1 -1
- package/dist/PromoTile.js.map +1 -1
- package/dist/SearchableListBase.d.ts +10 -1
- package/dist/SearchableListBase.js +23 -7
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SearchableListBaseTemplate.js +3 -2
- package/dist/SearchableListBaseTemplate.js.map +1 -1
- package/dist/SelectBase.d.ts +14 -0
- package/dist/SelectBase.js +56 -3
- package/dist/SelectBase.js.map +1 -1
- package/dist/SelectBoxTemplate.js +1 -1
- package/dist/SelectBoxTemplate.js.map +1 -1
- package/dist/TabNavigation.d.ts +7 -1
- package/dist/TabNavigation.js +8 -2
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Wizard.d.ts +5 -0
- package/dist/Wizard.js +11 -0
- package/dist/Wizard.js.map +1 -1
- package/dist/assets/{InputSuggestions-BcK6O4Bk.js → InputSuggestions-DZR626c7.js} +1 -1
- package/dist/assets/{ListItemStandardExpandableTextTemplate-u600dmHC.js → ListItemStandardExpandableTextTemplate-D_5VXMzU.js} +1 -1
- package/dist/assets/{bundle-JYo3bV8v.css → bundle-CkxyEA8c.css} +1 -1
- package/dist/assets/{bundle.esm-C6Ie2WeI.js → bundle.esm-DuQLY8Jz.js} +241 -238
- package/dist/assets/messagebundle_ar-BUZ_gTvQ.js +1 -0
- package/dist/assets/messagebundle_no-BZQfeWxT.js +1 -0
- package/dist/css/themes/Accordion.css +1 -1
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/AccordionSpotlight.css +1 -0
- package/dist/css/themes/AccordionSpotlightItem.css +1 -0
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -0
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/Dropdown.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/ImageGridTableItem.css +1 -1
- package/dist/css/themes/InputGroup.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/MediaPlayer.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/ProgressBar.css +1 -1
- package/dist/css/themes/PromoTile.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/Review.css +1 -1
- package/dist/css/themes/ReviewItem.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SelectBase.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationGroup.css +1 -1
- package/dist/css/themes/SocialMediaButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabNavigation.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/TagGroup.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/custom-elements-internal.json +508 -42
- package/dist/custom-elements.json +407 -52
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +24 -21
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Accordion.css.d.ts +1 -1
- package/dist/generated/themes/Accordion.css.js +1 -1
- package/dist/generated/themes/Accordion.css.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
- package/dist/generated/themes/AccordionItem.css.js +1 -1
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/AccordionSpotlight.css.d.ts +2 -0
- package/dist/generated/themes/AccordionSpotlight.css.js +8 -0
- package/dist/generated/themes/AccordionSpotlight.css.js.map +1 -0
- package/dist/generated/themes/AccordionSpotlightItem.css.d.ts +2 -0
- package/dist/generated/themes/AccordionSpotlightItem.css.js +8 -0
- package/dist/generated/themes/AccordionSpotlightItem.css.js.map +1 -0
- package/dist/generated/themes/Badge.css.d.ts +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +2 -0
- package/dist/generated/themes/BusyIndicator.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -0
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Divider.css.d.ts +1 -1
- package/dist/generated/themes/Divider.css.js +1 -1
- package/dist/generated/themes/Divider.css.js.map +1 -1
- package/dist/generated/themes/Dropdown.css.d.ts +1 -1
- package/dist/generated/themes/Dropdown.css.js +1 -1
- package/dist/generated/themes/Dropdown.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
- package/dist/generated/themes/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/Footer.css.d.ts +1 -1
- package/dist/generated/themes/Footer.css.js +1 -1
- package/dist/generated/themes/Footer.css.js.map +1 -1
- package/dist/generated/themes/HeroBanner.css.d.ts +1 -1
- package/dist/generated/themes/HeroBanner.css.js +1 -1
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/ImageGridTableItem.css.d.ts +1 -1
- package/dist/generated/themes/ImageGridTableItem.css.js +1 -1
- package/dist/generated/themes/ImageGridTableItem.css.js.map +1 -1
- package/dist/generated/themes/InputGroup.css.d.ts +1 -1
- package/dist/generated/themes/InputGroup.css.js +1 -1
- package/dist/generated/themes/InputGroup.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/PhoneNumberField.css.d.ts +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
- package/dist/generated/themes/ProgressBar.css.d.ts +1 -1
- package/dist/generated/themes/ProgressBar.css.js +1 -1
- package/dist/generated/themes/ProgressBar.css.js.map +1 -1
- package/dist/generated/themes/PromoTile.css.d.ts +1 -1
- package/dist/generated/themes/PromoTile.css.js +1 -1
- package/dist/generated/themes/PromoTile.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/Review.css.d.ts +1 -1
- package/dist/generated/themes/Review.css.js +1 -1
- package/dist/generated/themes/Review.css.js.map +1 -1
- package/dist/generated/themes/ReviewItem.css.d.ts +1 -1
- package/dist/generated/themes/ReviewItem.css.js +1 -1
- package/dist/generated/themes/ReviewItem.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SelectBase.css.d.ts +1 -1
- package/dist/generated/themes/SelectBase.css.js +1 -1
- package/dist/generated/themes/SelectBase.css.js.map +1 -1
- package/dist/generated/themes/SelectBox.css.d.ts +1 -1
- package/dist/generated/themes/SelectBox.css.js +1 -1
- package/dist/generated/themes/SelectBox.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SocialMediaButton.css.d.ts +1 -1
- package/dist/generated/themes/SocialMediaButton.css.js +1 -1
- package/dist/generated/themes/SocialMediaButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.d.ts +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
- package/dist/generated/themes/TabNavigation.css.js +1 -1
- package/dist/generated/themes/TabNavigation.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.d.ts +1 -1
- package/dist/generated/themes/TagGroup.css.js +1 -1
- package/dist/generated/themes/TagGroup.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.d.ts +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/messagebundle_ar.properties +99 -0
- package/dist/messagebundle_no.properties +126 -1
- package/dist/vscode.html-custom-data.json +79 -14
- package/dist/web-types.json +211 -32
- package/package.json +1 -1
- package/src/AccordionSpotlight.ts +321 -0
- package/src/AccordionSpotlightItem.ts +117 -0
- package/src/AccordionSpotlightItemTemplate.tsx +7 -0
- package/src/AccordionSpotlightTemplate.tsx +107 -0
- package/src/BusyIndicator.ts +17 -2
- package/src/Carousel.ts +118 -80
- package/src/FilterMenu.ts +25 -4
- package/src/FilterMenuTemplate.tsx +1 -1
- package/src/HeroBanner.ts +60 -46
- package/src/HeroBannerTemplate.tsx +35 -22
- package/src/List.ts +23 -11
- package/src/ListGroupHeader.hbs +11 -10
- package/src/ListGroupHeader.ts +5 -1
- package/src/ListGroupHeaderBase.ts +48 -0
- package/src/ListItem.hbs +5 -1
- package/src/ListItem.ts +36 -0
- package/src/MediaPlayer.ts +11 -0
- package/src/PromoTile.ts +1 -1
- package/src/SearchableListBase.ts +24 -7
- package/src/SearchableListBaseTemplate.tsx +5 -2
- package/src/SelectBase.ts +58 -3
- package/src/SelectBoxTemplate.tsx +1 -0
- package/src/TabNavigation.hbs +1 -1
- package/src/TabNavigation.ts +8 -1
- package/src/Wizard.ts +15 -1
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +24 -21
- package/src/generated/templates/ListItemTemplate.lit.ts +2 -2
- package/src/generated/templates/TabNavigationTemplate.lit.ts +1 -1
- package/src/generated/themes/Accordion.css.ts +1 -1
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/AccordionSpotlight.css.ts +9 -0
- package/src/generated/themes/AccordionSpotlightItem.css.ts +9 -0
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/BusyIndicator.css.ts +9 -0
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/Divider.css.ts +1 -1
- package/src/generated/themes/Dropdown.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/HeroBanner.css.ts +1 -1
- package/src/generated/themes/ImageGridTableItem.css.ts +1 -1
- package/src/generated/themes/InputGroup.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/ProgressBar.css.ts +1 -1
- package/src/generated/themes/PromoTile.css.ts +1 -1
- package/src/generated/themes/RadioButton.css.ts +1 -1
- package/src/generated/themes/Review.css.ts +1 -1
- package/src/generated/themes/ReviewItem.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SelectBase.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/SideNavigation.css.ts +1 -1
- package/src/generated/themes/SideNavigationGroup.css.ts +1 -1
- package/src/generated/themes/SocialMediaButton.css.ts +1 -1
- package/src/generated/themes/StepInput.css.ts +1 -1
- package/src/generated/themes/Switch.css.ts +1 -1
- package/src/generated/themes/TabNavigation.css.ts +1 -1
- package/src/generated/themes/Tag.css.ts +1 -1
- package/src/generated/themes/TagGroup.css.ts +1 -1
- package/src/generated/themes/TextArea.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/generated/themes/Toast.css.ts +1 -1
- package/src/i18n/messagebundle_ar.properties +99 -0
- package/src/i18n/messagebundle_no.properties +126 -1
- package/src/themes/Accordion.css +1 -1
- package/src/themes/AccordionItem.css +4 -4
- package/src/themes/AccordionSpotlight.css +264 -0
- package/src/themes/AccordionSpotlightItem.css +3 -0
- package/src/themes/Badge.css +7 -7
- package/src/themes/BusyIndicator.css +24 -0
- package/src/themes/Button.css +57 -57
- package/src/themes/Divider.css +1 -1
- package/src/themes/Dropdown.css +1 -1
- package/src/themes/FilterMenu.css +2 -2
- package/src/themes/Footer.css +1 -1
- package/src/themes/HeroBanner.css +2 -0
- package/src/themes/ImageGridTableItem.css +1 -1
- package/src/themes/InputGroup.css +1 -1
- package/src/themes/MastheadShell.css +2 -2
- package/src/themes/MediaPlayer.css +5 -34
- package/src/themes/PhoneNumberField.css +6 -6
- package/src/themes/ProgressBar.css +4 -0
- package/src/themes/PromoTile.css +160 -4
- package/src/themes/RadioButton.css +2 -2
- package/src/themes/Review.css +2 -2
- package/src/themes/ReviewItem.css +2 -2
- package/src/themes/Search.css +5 -5
- package/src/themes/SelectBase.css +14 -14
- package/src/themes/SelectBox.css +1 -1
- package/src/themes/SideNavigation.css +1 -1
- package/src/themes/SideNavigationGroup.css +1 -1
- package/src/themes/SocialMediaButton.css +2 -2
- package/src/themes/StepInput.css +8 -8
- package/src/themes/Switch.css +9 -9
- package/src/themes/TabNavigation.css +1 -1
- package/src/themes/Tag.css +4 -4
- package/src/themes/TagGroup.css +1 -0
- package/src/themes/TextArea.css +4 -4
- package/src/themes/TextField.css +13 -13
- package/src/themes/Toast.css +1 -1
- package/dist/assets/messagebundle_ar-BNhVFt1-.js +0 -1
- package/dist/assets/messagebundle_no-BIUfmTWJ.js +0 -1
|
@@ -704,18 +704,21 @@ describe("SelectBox", () => {
|
|
|
704
704
|
|
|
705
705
|
cy.get("#select-box").shadow()
|
|
706
706
|
.find("udex-list-item").eq(0)
|
|
707
|
+
.shadow().find("[part=item]")
|
|
707
708
|
.should("be.focused");
|
|
708
709
|
|
|
709
710
|
cy.realPress("ArrowDown");
|
|
710
711
|
|
|
711
712
|
cy.get("#select-box").shadow()
|
|
712
713
|
.find("udex-list-item").eq(1)
|
|
714
|
+
.shadow().find("[part=item]")
|
|
713
715
|
.should("be.focused");
|
|
714
716
|
|
|
715
717
|
cy.realPress("ArrowUp");
|
|
716
718
|
|
|
717
719
|
cy.get("#select-box").shadow()
|
|
718
720
|
.find("udex-list-item").eq(0)
|
|
721
|
+
.shadow().find("[part=item]")
|
|
719
722
|
.should("be.focused");
|
|
720
723
|
});
|
|
721
724
|
|
|
@@ -727,34 +730,88 @@ describe("SelectBox", () => {
|
|
|
727
730
|
|
|
728
731
|
cy.get("#select-box").shadow()
|
|
729
732
|
.find("udex-list-group-header").shadow()
|
|
730
|
-
.find(".udex-list__group-header-wrap")
|
|
733
|
+
.find(".udex-list__group-header-wrap").shadow()
|
|
734
|
+
.find("[part=item]")
|
|
731
735
|
.should("be.focused");
|
|
732
736
|
|
|
733
737
|
cy.realPress("ArrowDown");
|
|
734
738
|
|
|
735
739
|
cy.get("#select-box").shadow()
|
|
736
740
|
.find("udex-list-item").eq(0)
|
|
741
|
+
.shadow().find("[part=item]")
|
|
737
742
|
.should("be.focused");
|
|
738
743
|
|
|
739
744
|
cy.realPress("ArrowDown");
|
|
740
745
|
|
|
741
746
|
cy.get("#select-box").shadow()
|
|
742
747
|
.find("udex-list-item").eq(1)
|
|
748
|
+
.shadow().find("[part=item]")
|
|
743
749
|
.should("be.focused");
|
|
744
750
|
|
|
745
751
|
cy.realPress("ArrowUp");
|
|
746
752
|
|
|
747
753
|
cy.get("#select-box").shadow()
|
|
748
754
|
.find("udex-list-item").eq(0)
|
|
755
|
+
.shadow().find("[part=item]")
|
|
749
756
|
.should("be.focused");
|
|
750
757
|
|
|
751
758
|
cy.realPress("ArrowUp");
|
|
752
759
|
|
|
753
760
|
cy.get("#select-box").shadow()
|
|
754
761
|
.find("udex-list-group-header").shadow()
|
|
755
|
-
.find(".udex-list__group-header-wrap")
|
|
762
|
+
.find(".udex-list__group-header-wrap").shadow()
|
|
763
|
+
.find("[part=item]")
|
|
756
764
|
.should("be.focused");
|
|
757
765
|
});
|
|
766
|
+
|
|
767
|
+
it("MultiSelect mode - Left arrow collapses a collapsible group header, Right arrow expands it", () => {
|
|
768
|
+
cy.mount(groupHeaderCollapsible);
|
|
769
|
+
|
|
770
|
+
cy.get("#select-box").shadow().find(".udex-text-field__search").click();
|
|
771
|
+
cy.realPress("ArrowDown");
|
|
772
|
+
|
|
773
|
+
// Focus the collapsible group header wrapper.
|
|
774
|
+
cy.get("#select-box").shadow()
|
|
775
|
+
.find("udex-list-group-header").shadow()
|
|
776
|
+
.find(".udex-list__group-header-wrap").shadow()
|
|
777
|
+
.find("[part=item]")
|
|
778
|
+
.should("be.focused");
|
|
779
|
+
|
|
780
|
+
// Fixture starts expanded: neither the header host nor its children are collapsed.
|
|
781
|
+
cy.get("#select-box").shadow()
|
|
782
|
+
.find("udex-list-group-header")
|
|
783
|
+
.should("not.have.attr", "collapsed");
|
|
784
|
+
cy.get("#select-box").shadow()
|
|
785
|
+
.find("udex-list-item")
|
|
786
|
+
.should("have.length", 2)
|
|
787
|
+
.each($item => {
|
|
788
|
+
cy.wrap($item).should("not.have.attr", "collapsed");
|
|
789
|
+
});
|
|
790
|
+
|
|
791
|
+
// Left arrow collapses the group.
|
|
792
|
+
cy.realPress("ArrowLeft");
|
|
793
|
+
|
|
794
|
+
cy.get("#select-box").shadow()
|
|
795
|
+
.find("udex-list-group-header")
|
|
796
|
+
.should("have.attr", "collapsed");
|
|
797
|
+
cy.get("#select-box").shadow()
|
|
798
|
+
.find("udex-list-item")
|
|
799
|
+
.each($item => {
|
|
800
|
+
cy.wrap($item).should("have.attr", "collapsed");
|
|
801
|
+
});
|
|
802
|
+
|
|
803
|
+
// Right arrow expands the group again.
|
|
804
|
+
cy.realPress("ArrowRight");
|
|
805
|
+
|
|
806
|
+
cy.get("#select-box").shadow()
|
|
807
|
+
.find("udex-list-group-header")
|
|
808
|
+
.should("not.have.attr", "collapsed");
|
|
809
|
+
cy.get("#select-box").shadow()
|
|
810
|
+
.find("udex-list-item")
|
|
811
|
+
.each($item => {
|
|
812
|
+
cy.wrap($item).should("not.have.attr", "collapsed");
|
|
813
|
+
});
|
|
814
|
+
});
|
|
758
815
|
});
|
|
759
816
|
|
|
760
817
|
describe("Select Box focus tests", () => {
|
|
@@ -1488,6 +1545,7 @@ describe("SelectBox", () => {
|
|
|
1488
1545
|
cy.get("#select-box").shadow()
|
|
1489
1546
|
.find("udex-list-item")
|
|
1490
1547
|
.last()
|
|
1548
|
+
.shadow().find("[part=item]")
|
|
1491
1549
|
.should("be.focused");
|
|
1492
1550
|
});
|
|
1493
1551
|
|
|
@@ -1508,7 +1566,8 @@ describe("SelectBox", () => {
|
|
|
1508
1566
|
|
|
1509
1567
|
// A list item should now be focused (not the search input).
|
|
1510
1568
|
cy.get("#select-box").shadow()
|
|
1511
|
-
.find("udex-list-item").eq(0)
|
|
1569
|
+
.find("udex-list-item").eq(0).shadow()
|
|
1570
|
+
.find("[part=item]")
|
|
1512
1571
|
.should("be.focused");
|
|
1513
1572
|
|
|
1514
1573
|
// Tab should be intercepted and focus redirected into the footer.
|
|
@@ -1883,6 +1942,7 @@ describe("SelectBox", () => {
|
|
|
1883
1942
|
|
|
1884
1943
|
cy.get("#select-box").shadow()
|
|
1885
1944
|
.find("udex-list-item").eq(0)
|
|
1945
|
+
.shadow().find("[part=item]")
|
|
1886
1946
|
.should("be.focused");
|
|
1887
1947
|
});
|
|
1888
1948
|
|
|
@@ -1895,6 +1955,7 @@ describe("SelectBox", () => {
|
|
|
1895
1955
|
|
|
1896
1956
|
cy.get("#select-box").shadow()
|
|
1897
1957
|
.find("udex-list-item").eq(1)
|
|
1958
|
+
.shadow().find("[part=item]")
|
|
1898
1959
|
.should("be.focused");
|
|
1899
1960
|
});
|
|
1900
1961
|
|
|
@@ -1907,6 +1968,7 @@ describe("SelectBox", () => {
|
|
|
1907
1968
|
|
|
1908
1969
|
cy.get("#select-box").shadow()
|
|
1909
1970
|
.find("udex-list-item").last()
|
|
1971
|
+
.shadow().find("[part=item]")
|
|
1910
1972
|
.should("be.focused");
|
|
1911
1973
|
});
|
|
1912
1974
|
|
|
@@ -1920,6 +1982,7 @@ describe("SelectBox", () => {
|
|
|
1920
1982
|
|
|
1921
1983
|
cy.get("#select-box").shadow()
|
|
1922
1984
|
.find("udex-list-item").eq(1)
|
|
1985
|
+
.shadow().find("[part=item]")
|
|
1923
1986
|
.should("be.focused");
|
|
1924
1987
|
});
|
|
1925
1988
|
|
|
@@ -2304,4 +2367,72 @@ describe("SelectBox", () => {
|
|
|
2304
2367
|
.should("be.greaterThan", 0);
|
|
2305
2368
|
});
|
|
2306
2369
|
});
|
|
2370
|
+
|
|
2371
|
+
// Added: regression coverage for the WCAG 4.1.2 Treeview Checkbox pattern
|
|
2372
|
+
// in SearchableListBase. SelectBox sets defaultAccessibleRole = "listbox",
|
|
2373
|
+
// so it must NOT switch to the tree pattern even in MultiSelect + groups.
|
|
2374
|
+
describe("Tree accessibility pattern regression", () => {
|
|
2375
|
+
const selectBoxMultiSelectGroup = <div style="width: 350px; position:relative;">
|
|
2376
|
+
<UDExSelectBox
|
|
2377
|
+
id="select-box-tree-regression"
|
|
2378
|
+
mode={UDExListMode.MultiSelect}
|
|
2379
|
+
label="Programming languages">
|
|
2380
|
+
<UDExSelectBoxGroupHeader label="Programming Languages">
|
|
2381
|
+
<UDExSelectBoxItem label="JavaScript"></UDExSelectBoxItem>
|
|
2382
|
+
<UDExSelectBoxItem label="Python"></UDExSelectBoxItem>
|
|
2383
|
+
</UDExSelectBoxGroupHeader>
|
|
2384
|
+
</UDExSelectBox>
|
|
2385
|
+
</div>;
|
|
2386
|
+
|
|
2387
|
+
beforeEach(() => {
|
|
2388
|
+
cy.mount(selectBoxMultiSelectGroup);
|
|
2389
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2390
|
+
.find(".udex-text-field__trigger").click();
|
|
2391
|
+
});
|
|
2392
|
+
|
|
2393
|
+
it("host [udex-list] has NO aria-multiselectable attribute", () => {
|
|
2394
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2395
|
+
.find("[udex-list]").should("not.have.attr", "aria-multiselectable");
|
|
2396
|
+
});
|
|
2397
|
+
|
|
2398
|
+
// Updated: `accessibleRoleForList` no longer collapses to `"group"` for grouped
|
|
2399
|
+
// non-tree mode — it now returns `defaultAccessibleRole` (`"listbox"` for SelectBox)
|
|
2400
|
+
// in every non-tree case. This aligns with the test's original intent (title says
|
|
2401
|
+
// "keeps role=\"listbox\""); the prior `role="group"` assertion was already stale.
|
|
2402
|
+
it("inner list div keeps role=\"listbox\" (not \"tree\")", () => {
|
|
2403
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2404
|
+
.find("[udex-list]").shadow()
|
|
2405
|
+
.find("#udex-list").should("have.attr", "role", "listbox");
|
|
2406
|
+
});
|
|
2407
|
+
|
|
2408
|
+
// Updated: `accessibleRole` string property on udex-list-group-header was replaced
|
|
2409
|
+
// by a `_treeMode` boolean (reflected as the `_tree-mode` attribute). SelectBox is
|
|
2410
|
+
// not tree-capable so the boolean must stay false and the attribute must be absent.
|
|
2411
|
+
it("group header host has NO _tree-mode attribute", () => {
|
|
2412
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2413
|
+
.find("udex-list-group-header")
|
|
2414
|
+
.should("not.have.attr", "_tree-mode");
|
|
2415
|
+
});
|
|
2416
|
+
|
|
2417
|
+
it("child items have role=\"option\", not \"treeitem\"", () => {
|
|
2418
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2419
|
+
.find("udex-list-group-header")
|
|
2420
|
+
.find("udex-list-item").eq(0).shadow()
|
|
2421
|
+
.find("[part=item]").should("have.attr", "role", "option");
|
|
2422
|
+
});
|
|
2423
|
+
|
|
2424
|
+
it("child items have NO aria-checked (roleItem !== treeitem)", () => {
|
|
2425
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2426
|
+
.find("udex-list-group-header")
|
|
2427
|
+
.find("udex-list-item").eq(0).shadow()
|
|
2428
|
+
.find("[part=item]").should("not.have.attr", "aria-checked");
|
|
2429
|
+
});
|
|
2430
|
+
|
|
2431
|
+
it("child items' checkbox is NOT aria-hidden (JAWS double-announce guard only applies to tree)", () => {
|
|
2432
|
+
cy.get("#select-box-tree-regression").shadow()
|
|
2433
|
+
.find("udex-list-group-header")
|
|
2434
|
+
.find("udex-list-item").eq(0).shadow()
|
|
2435
|
+
.find("udex-checkbox").should("not.have.attr", "aria-hidden");
|
|
2436
|
+
});
|
|
2437
|
+
});
|
|
2307
2438
|
});
|
|
@@ -1927,6 +1927,62 @@ describe("Tab Navigation component", () => {
|
|
|
1927
1927
|
});
|
|
1928
1928
|
});
|
|
1929
1929
|
|
|
1930
|
+
describe("Overflow menu — tab-select event", () => {
|
|
1931
|
+
const mountOverflowNav = (onTabSelect: (...args: any[]) => void) => {
|
|
1932
|
+
cy.mount(
|
|
1933
|
+
<UDExTabNavigation id="overflow-tab-nav" onTabSelect={onTabSelect}>
|
|
1934
|
+
<UDExTab text="Tab 1" selected><div>Content 1</div></UDExTab>
|
|
1935
|
+
<UDExTab text="Tab 2"><div>Content 2</div></UDExTab>
|
|
1936
|
+
<UDExTab text="Tab 3"><div>Content 3</div></UDExTab>
|
|
1937
|
+
</UDExTabNavigation>
|
|
1938
|
+
);
|
|
1939
|
+
};
|
|
1940
|
+
|
|
1941
|
+
it("fires tab-select when onItemSelect is called (overflow click path)", () => {
|
|
1942
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1943
|
+
mountOverflowNav(tabSelectHandler);
|
|
1944
|
+
|
|
1945
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1946
|
+
const nav = $el[0] as any;
|
|
1947
|
+
nav.onItemSelect(nav.items[1].__id);
|
|
1948
|
+
});
|
|
1949
|
+
|
|
1950
|
+
cy.get("@tabSelect").should("have.been.called");
|
|
1951
|
+
});
|
|
1952
|
+
|
|
1953
|
+
it("tab-select detail contains tab and tabIndex when triggered via onItemSelect", () => {
|
|
1954
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1955
|
+
mountOverflowNav(tabSelectHandler);
|
|
1956
|
+
|
|
1957
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1958
|
+
const nav = $el[0] as any;
|
|
1959
|
+
nav.onItemSelect(nav.items[1].__id);
|
|
1960
|
+
});
|
|
1961
|
+
|
|
1962
|
+
cy.get("@tabSelect").should("have.been.calledOnce").then(() => {
|
|
1963
|
+
const event: CustomEvent = tabSelectHandler.firstCall.args[0];
|
|
1964
|
+
expect(event.detail).to.have.property("tab");
|
|
1965
|
+
expect(event.detail).to.have.property("tabIndex");
|
|
1966
|
+
expect(event.detail.tabIndex).to.equal(1);
|
|
1967
|
+
});
|
|
1968
|
+
});
|
|
1969
|
+
|
|
1970
|
+
it("tab-select fires with correct tabIndex for each tab via onItemSelect", () => {
|
|
1971
|
+
const tabSelectHandler = cy.stub().as("tabSelect");
|
|
1972
|
+
mountOverflowNav(tabSelectHandler);
|
|
1973
|
+
|
|
1974
|
+
cy.get("[udex-tab-navigation]").then($el => {
|
|
1975
|
+
const nav = $el[0] as any;
|
|
1976
|
+
nav.onItemSelect(nav.items[2].__id);
|
|
1977
|
+
});
|
|
1978
|
+
|
|
1979
|
+
cy.get("@tabSelect").should("have.been.calledOnce").then(() => {
|
|
1980
|
+
const event: CustomEvent = tabSelectHandler.firstCall.args[0];
|
|
1981
|
+
expect(event.detail.tabIndex).to.equal(2);
|
|
1982
|
+
});
|
|
1983
|
+
});
|
|
1984
|
+
});
|
|
1985
|
+
|
|
1930
1986
|
// ── Process Tab variant ──────────────────────────────────────────────────────
|
|
1931
1987
|
|
|
1932
1988
|
describe("TabNavigation - Process Tab variant", () => {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import UDExAccordion from "../../instrumented/Accordion.js";
|
|
2
2
|
import UDExAccordionItem from "../../instrumented/AccordionItem.js";
|
|
3
|
+
import UDExAccordionSpotlight from "../../instrumented/AccordionSpotlight.js";
|
|
4
|
+
import UDExAccordionSpotlightItem from "../../instrumented/AccordionSpotlightItem.js";
|
|
3
5
|
import UDExAvatar from "../../instrumented/Avatar.js";
|
|
4
6
|
import UDExAvatarGroup from "../../instrumented/AvatarGroup.js";
|
|
5
7
|
import UDExBadge from "../../instrumented/Badge.js";
|
|
@@ -7,6 +9,7 @@ import UDExBreadcrumbs from "../../instrumented/Breadcrumbs.js";
|
|
|
7
9
|
import UDExBreadcrumbsItem from "../../instrumented/BreadcrumbsItem.js";
|
|
8
10
|
import UDExBusyIndicator from "../../instrumented/BusyIndicator.js";
|
|
9
11
|
import UDExButton from "../../instrumented/Button.js";
|
|
12
|
+
import UDExCarousel from "../../instrumented/Carousel.js";
|
|
10
13
|
import UDExCheckbox from "../../instrumented/Checkbox.js";
|
|
11
14
|
import UDExContact from "../../instrumented/Contact.js";
|
|
12
15
|
import UDExContactItem from "../../instrumented/ContactItem.js";
|
|
@@ -89,6 +92,8 @@ import UDExWizardStep from "../../instrumented/WizardStep.js";
|
|
|
89
92
|
export {
|
|
90
93
|
UDExAccordion,
|
|
91
94
|
UDExAccordionItem,
|
|
95
|
+
UDExAccordionSpotlight,
|
|
96
|
+
UDExAccordionSpotlightItem,
|
|
92
97
|
UDExAvatar,
|
|
93
98
|
UDExAvatarGroup,
|
|
94
99
|
UDExBadge,
|
|
@@ -96,6 +101,7 @@ export {
|
|
|
96
101
|
UDExBreadcrumbsItem,
|
|
97
102
|
UDExBusyIndicator,
|
|
98
103
|
UDExButton,
|
|
104
|
+
UDExCarousel,
|
|
99
105
|
UDExCheckbox,
|
|
100
106
|
UDExContact,
|
|
101
107
|
UDExContactItem,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import UDExAccordion from "../../src/Accordion.js";
|
|
2
2
|
import UDExAccordionItem from "../../src/AccordionItem.js";
|
|
3
|
+
import UDExAccordionSpotlight from "../../src/AccordionSpotlight.js";
|
|
4
|
+
import UDExAccordionSpotlightItem from "../../src/AccordionSpotlightItem.js";
|
|
3
5
|
import UDExAvatar from "../../src/Avatar.js";
|
|
4
6
|
import UDExAvatarGroup from "../../src/AvatarGroup.js";
|
|
5
7
|
import UDExBadge from "../../src/Badge.js";
|
|
@@ -7,6 +9,7 @@ import UDExBreadcrumbs from "../../src/Breadcrumbs.js";
|
|
|
7
9
|
import UDExBreadcrumbsItem from "../../src/BreadcrumbsItem.js";
|
|
8
10
|
import UDExBusyIndicator from "../../src/BusyIndicator.js";
|
|
9
11
|
import UDExButton from "../../src/Button.js";
|
|
12
|
+
import UDExCarousel from "../../src/Carousel.js";
|
|
10
13
|
import UDExCheckbox from "../../src/Checkbox.js";
|
|
11
14
|
import UDExContact from "../../src/Contact.js";
|
|
12
15
|
import UDExContactItem from "../../src/ContactItem.js";
|
|
@@ -89,6 +92,8 @@ import UDExWizardStep from "../../src/WizardStep.js";
|
|
|
89
92
|
export {
|
|
90
93
|
UDExAccordion,
|
|
91
94
|
UDExAccordionItem,
|
|
95
|
+
UDExAccordionSpotlight,
|
|
96
|
+
UDExAccordionSpotlightItem,
|
|
92
97
|
UDExAvatar,
|
|
93
98
|
UDExAvatarGroup,
|
|
94
99
|
UDExBadge,
|
|
@@ -96,6 +101,7 @@ export {
|
|
|
96
101
|
UDExBreadcrumbsItem,
|
|
97
102
|
UDExBusyIndicator,
|
|
98
103
|
UDExButton,
|
|
104
|
+
UDExCarousel,
|
|
99
105
|
UDExCheckbox,
|
|
100
106
|
UDExContact,
|
|
101
107
|
UDExContactItem,
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { DefaultSlot, Slot } from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
3
|
+
import AccordionSpotlightItem from "./AccordionSpotlightItem.js";
|
|
4
|
+
import "@ui5/webcomponents-icons/dist/play.js";
|
|
5
|
+
import "@ui5/webcomponents-icons/dist/pause.js";
|
|
6
|
+
import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
7
|
+
export declare enum UDExAccordionSpotlightVerticalAlignment {
|
|
8
|
+
Top = "Top",
|
|
9
|
+
Center = "Center"
|
|
10
|
+
}
|
|
11
|
+
export declare enum UDExAccordionSpotlightPlacement {
|
|
12
|
+
Start = "Start",
|
|
13
|
+
End = "End"
|
|
14
|
+
}
|
|
15
|
+
export declare enum UDExAccordionSpotlightMediaMode {
|
|
16
|
+
Dynamic = "Dynamic",
|
|
17
|
+
Static = "Static"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @class
|
|
21
|
+
*
|
|
22
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
23
|
+
*
|
|
24
|
+
* Vertical accordion navigation with spotlight layout. Items are listed on the
|
|
25
|
+
* left; the expanded panel is displayed on the right (desktop) or inline below
|
|
26
|
+
* the heading (mobile). Follows the WAI-ARIA APG Accordion pattern.
|
|
27
|
+
*
|
|
28
|
+
* <h3>Usage</h3>
|
|
29
|
+
*
|
|
30
|
+
* For the <code>udex-accordion-spotlight</code>
|
|
31
|
+
* <h3>ES6 Module Import</h3>
|
|
32
|
+
*
|
|
33
|
+
* <code>import "@sapudex/web-components/dist/AccordionSpotlight.js";</code>
|
|
34
|
+
*
|
|
35
|
+
* @constructor
|
|
36
|
+
* @extends UI5Element
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
declare class UDExAccordionSpotlight extends UI5Element {
|
|
40
|
+
eventDetails: {
|
|
41
|
+
"item-click": {
|
|
42
|
+
item: AccordionSpotlightItem;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The index of the currently expanded item (0-based).
|
|
47
|
+
* Derived from items' <code>selected</code> attribute; kept in sync by the parent.
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
_selectedIndex: number;
|
|
52
|
+
/**
|
|
53
|
+
* Vertical alignment of the navigation sidebar relative to the content panel.
|
|
54
|
+
*
|
|
55
|
+
* @default "Top"
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
verticalAlignment: `${UDExAccordionSpotlightVerticalAlignment}`;
|
|
59
|
+
/**
|
|
60
|
+
* Placement of the navigation sidebar — "Start" (left) or "End" (right).
|
|
61
|
+
*
|
|
62
|
+
* @default "Start"
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
placement: `${UDExAccordionSpotlightPlacement}`;
|
|
66
|
+
/**
|
|
67
|
+
* Enables automatic cycling through items on an interval.
|
|
68
|
+
*
|
|
69
|
+
* @default false
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
autoPlay: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Interval in milliseconds between automatic item advances. Applies only when autoPlay is enabled.
|
|
75
|
+
*
|
|
76
|
+
* @default 5000
|
|
77
|
+
* @public
|
|
78
|
+
*/
|
|
79
|
+
autoPlayInterval: number;
|
|
80
|
+
/**
|
|
81
|
+
* Defines the width of the navigation panel.
|
|
82
|
+
*
|
|
83
|
+
* @default "auto"
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
tabWidth: string;
|
|
87
|
+
/**
|
|
88
|
+
* Controls how the media area behaves. In <code>Static</code> mode a single
|
|
89
|
+
* persistent media element (image or video) is displayed alongside the nav
|
|
90
|
+
* list and never changes when items are expanded. In <code>Dynamic</code>
|
|
91
|
+
* mode (default) each item provides its own content panel.
|
|
92
|
+
*
|
|
93
|
+
* @default "Dynamic"
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
mediaMode: `${UDExAccordionSpotlightMediaMode}`;
|
|
97
|
+
/**
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
_isMobile: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* @private
|
|
103
|
+
*/
|
|
104
|
+
_isPaused: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* The slotted AccordionSpotlightItem elements.
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
items: DefaultSlot<AccordionSpotlightItem>;
|
|
111
|
+
/**
|
|
112
|
+
* Defines optional content rendered below the navigation items.
|
|
113
|
+
* Use to place a button or any action element beneath the items.
|
|
114
|
+
*
|
|
115
|
+
* @slot footer
|
|
116
|
+
* @public
|
|
117
|
+
*/
|
|
118
|
+
footer: Slot<HTMLElement>;
|
|
119
|
+
/**
|
|
120
|
+
* Persistent media area shown in <code>Static</code> media mode.
|
|
121
|
+
* Place an <code><img></code> or <code><video></code> element here;
|
|
122
|
+
* it remains visible regardless of which item is currently expanded.
|
|
123
|
+
*
|
|
124
|
+
* @slot media
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
127
|
+
media: Slot<HTMLElement>;
|
|
128
|
+
_handleResizeBound: ResizeObserverCallback;
|
|
129
|
+
_autoPlayTimer?: number;
|
|
130
|
+
constructor();
|
|
131
|
+
onBeforeRendering(): void;
|
|
132
|
+
onAfterRendering(): void;
|
|
133
|
+
onEnterDOM(): void;
|
|
134
|
+
onExitDOM(): void;
|
|
135
|
+
_handleResize(): void;
|
|
136
|
+
_checkMobile(): void;
|
|
137
|
+
_syncItemStates(): void;
|
|
138
|
+
_startAutoPlay(): void;
|
|
139
|
+
_stopAutoPlay(): void;
|
|
140
|
+
_advanceItem(): void;
|
|
141
|
+
onPlayButtonClick(): void;
|
|
142
|
+
handleNavItemClick(e: MouseEvent): void;
|
|
143
|
+
private _selectItem;
|
|
144
|
+
get playBtnIcon(): string;
|
|
145
|
+
get showFooterSlot(): boolean;
|
|
146
|
+
get isStaticMedia(): boolean;
|
|
147
|
+
get showMediaSlot(): boolean;
|
|
148
|
+
}
|
|
149
|
+
export default UDExAccordionSpotlight;
|