@sapudex/web-components 2.5.0 → 2.6.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/cypress/specs/Accordion.cy.tsx +18 -10
- package/cypress/specs/Divider.cy.tsx +16 -0
- package/cypress/support/component-imports.instrumented.ts +2 -0
- package/cypress/support/component-imports.src.ts +4 -2
- package/dist/Accordion.d.ts +6 -5
- package/dist/Accordion.js +21 -20
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +1 -3
- package/dist/AccordionItem.js +17 -19
- package/dist/AccordionItem.js.map +1 -1
- package/dist/AccordionItemTemplate.d.ts +2 -0
- package/dist/AccordionItemTemplate.js +14 -0
- package/dist/AccordionItemTemplate.js.map +1 -0
- package/dist/AccordionTemplate.d.ts +2 -0
- package/dist/AccordionTemplate.js +11 -0
- package/dist/AccordionTemplate.js.map +1 -0
- package/dist/AssetsVariables.js +5 -1
- package/dist/AssetsVariables.js.map +1 -1
- package/dist/Avatar.d.ts +2 -1
- package/dist/Avatar.js +7 -9
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarTemplate.d.ts +2 -0
- package/dist/AvatarTemplate.js +6 -0
- package/dist/AvatarTemplate.js.map +1 -0
- package/dist/Badge.d.ts +1 -2
- package/dist/Badge.js +6 -9
- package/dist/Badge.js.map +1 -1
- package/dist/BadgeTemplate.d.ts +2 -0
- package/dist/BadgeTemplate.js +8 -0
- package/dist/BadgeTemplate.js.map +1 -0
- package/dist/Carousel.d.ts +16 -4
- package/dist/Carousel.js +21 -11
- package/dist/Carousel.js.map +1 -1
- package/dist/CarouselTemplate.d.ts +2 -0
- package/dist/CarouselTemplate.js +15 -0
- package/dist/CarouselTemplate.js.map +1 -0
- package/dist/ContactItemTemplate.js +2 -1
- package/dist/ContactItemTemplate.js.map +1 -1
- package/dist/CountrySelector.d.ts +1 -1
- package/dist/CountrySelector.js +6 -7
- package/dist/CountrySelector.js.map +1 -1
- package/dist/Divider.d.ts +10 -2
- package/dist/Divider.js +11 -4
- package/dist/Divider.js.map +1 -1
- package/dist/DividerTemplate.d.ts +2 -0
- package/dist/DividerTemplate.js +5 -0
- package/dist/DividerTemplate.js.map +1 -0
- package/dist/Dropdown.js +2 -1
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +0 -7
- package/dist/FilterMenu.js +12 -12
- package/dist/FilterMenu.js.map +1 -1
- package/dist/List.js +1 -1
- package/dist/List.js.map +1 -1
- package/dist/MastheadCountrySelector.d.ts +5 -0
- package/dist/MastheadCountrySelector.js +17 -2
- package/dist/MastheadCountrySelector.js.map +1 -1
- package/dist/MastheadMenu.d.ts +1 -0
- package/dist/MastheadMenu.js +7 -3
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMobileMenu.js +6 -3
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +17 -0
- package/dist/MastheadShell.js +53 -15
- package/dist/MastheadShell.js.map +1 -1
- package/dist/Modal.js +2 -2
- package/dist/Modal.js.map +1 -1
- package/dist/Search.js +5 -4
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +24 -2
- package/dist/SearchableListBase.js +50 -4
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.js +1 -1
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.js +1 -2
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SegmentedButton.js +6 -4
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SelectBox.d.ts +0 -7
- package/dist/SelectBox.js +10 -13
- package/dist/SelectBox.js.map +1 -1
- package/dist/TabNavigation.d.ts +5 -0
- package/dist/TabNavigation.js +8 -0
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/TextArea.js +1 -1
- package/dist/TextArea.js.map +1 -1
- package/dist/assets/InputSuggestions-D_DpCFML.js +2 -0
- package/dist/assets/{ListItemStandardExpandableTextTemplate-ClcY2jB2.js → ListItemStandardExpandableTextTemplate-Cd1WOyFc.js} +3 -3
- package/dist/assets/bundle-S1uYREqT.css +1 -0
- package/dist/assets/bundle.esm-B9JnRRJp.js +475 -0
- package/dist/assets/messagebundle_en-CKeTZNW3.js +1 -0
- package/dist/assets/parameters-bundle.css-B168-DcZ.js +2 -0
- package/dist/assets/parameters-bundle.css-B4OkERQ9.js +2 -0
- package/dist/assets/parameters-bundle.css-D1Mp0DP7.js +2 -0
- package/dist/assets/parameters-bundle.css-DPQMdjrz.js +2 -0
- package/dist/assets/parameters-bundle.css-DW-8EaO7.js +2 -0
- package/dist/assets/parameters-bundle.css-DpI130zX.js +2 -0
- package/dist/assets/parameters-bundle.css-DsEtCihj.js +2 -0
- package/dist/assets/parameters-bundle.css-y5CBgtzD.js +2 -0
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/MastheadCountrySelector.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMenuItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SearchableList.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/custom-elements-internal.json +219 -41
- package/dist/custom-elements.json +211 -41
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/json-imports/Themes-fetch.js +1 -1
- package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
- package/dist/generated/json-imports/Themes-node.js +1 -1
- package/dist/generated/json-imports/Themes-node.js.map +1 -1
- package/dist/generated/json-imports/Themes.js +1 -1
- package/dist/generated/json-imports/Themes.js.map +1 -1
- package/dist/generated/json-imports/i18n-fetch.js +1 -1
- package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
- package/dist/generated/json-imports/i18n-node.js +1 -1
- package/dist/generated/json-imports/i18n-node.js.map +1 -1
- package/dist/generated/json-imports/i18n.js +1 -1
- package/dist/generated/json-imports/i18n.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadCountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js +2 -2
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Accordion.css.js +2 -2
- package/dist/generated/themes/Accordion.css.js.map +1 -1
- package/dist/generated/themes/AccordionItem.css.js +2 -2
- package/dist/generated/themes/AccordionItem.css.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +2 -2
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +2 -2
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +2 -2
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +2 -2
- package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +2 -2
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +2 -2
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/Checkbox.css.js +2 -2
- package/dist/generated/themes/Checkbox.css.js.map +1 -1
- package/dist/generated/themes/Contact.css.js +2 -2
- package/dist/generated/themes/Contact.css.js.map +1 -1
- package/dist/generated/themes/ContactItem.css.js +2 -2
- package/dist/generated/themes/ContactItem.css.js.map +1 -1
- package/dist/generated/themes/ControlButton.css.js +2 -2
- package/dist/generated/themes/ControlButton.css.js.map +1 -1
- package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/CountrySelector.css.js +3 -3
- package/dist/generated/themes/CountrySelector.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +2 -2
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +2 -2
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/Divider.css.js +2 -2
- package/dist/generated/themes/Divider.css.js.map +1 -1
- package/dist/generated/themes/Dropdown.css.js +2 -2
- package/dist/generated/themes/Dropdown.css.js.map +1 -1
- package/dist/generated/themes/EventRibbon.css.js +2 -2
- package/dist/generated/themes/EventRibbon.css.js.map +1 -1
- package/dist/generated/themes/FilterMenu.css.js +2 -2
- package/dist/generated/themes/FilterMenu.css.js.map +1 -1
- package/dist/generated/themes/Footer.css.js +2 -2
- package/dist/generated/themes/Footer.css.js.map +1 -1
- package/dist/generated/themes/HeroBanner.css.js +2 -2
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/InputGroup.css.js +2 -2
- package/dist/generated/themes/InputGroup.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +2 -2
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +2 -2
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListGroupHeader.css.js +2 -2
- package/dist/generated/themes/ListGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +2 -2
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js +3 -3
- package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +3 -3
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenu.css.js +2 -2
- package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMenuItem.css.js +3 -3
- package/dist/generated/themes/MastheadMenuItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.d.ts +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +3 -3
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadProfileMenu.css.js +2 -2
- package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
- package/dist/generated/themes/MastheadShell.css.js +3 -3
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +2 -2
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayerYoutube.css.js +2 -2
- package/dist/generated/themes/MediaPlayerYoutube.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +2 -2
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/Modal.css.js +2 -2
- package/dist/generated/themes/Modal.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.js +2 -2
- package/dist/generated/themes/Pagination.css.js.map +1 -1
- package/dist/generated/themes/PhoneNumberField.css.js +2 -2
- package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
- package/dist/generated/themes/ProgressBar.css.js +2 -2
- package/dist/generated/themes/ProgressBar.css.js.map +1 -1
- package/dist/generated/themes/Quote.css.js +2 -2
- package/dist/generated/themes/Quote.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +2 -2
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RatingBar.css.js +2 -2
- package/dist/generated/themes/RatingBar.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +3 -3
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Review.css.js +2 -2
- package/dist/generated/themes/Review.css.js.map +1 -1
- package/dist/generated/themes/ReviewItem.css.js +2 -2
- 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 +3 -3
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SearchSuggestions.css.js +2 -2
- package/dist/generated/themes/SearchSuggestions.css.js.map +1 -1
- package/dist/generated/themes/SearchableList.css.d.ts +1 -1
- package/dist/generated/themes/SearchableList.css.js +3 -3
- package/dist/generated/themes/SearchableList.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +2 -2
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js +2 -2
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +2 -2
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +2 -2
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +3 -3
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/SelectBox.css.js +2 -2
- package/dist/generated/themes/SelectBox.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.js +2 -2
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +2 -2
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +2 -2
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationMobile.css.js +2 -2
- package/dist/generated/themes/SideNavigationMobile.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js +2 -2
- package/dist/generated/themes/SideNavigationMobileDropdown.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +2 -2
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +3 -3
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/StatusBadge.css.js +2 -2
- package/dist/generated/themes/StatusBadge.css.js.map +1 -1
- package/dist/generated/themes/StatusMessage.css.js +2 -2
- package/dist/generated/themes/StatusMessage.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +2 -2
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +2 -2
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +2 -2
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabNavigation.css.js +2 -2
- package/dist/generated/themes/TabNavigation.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +2 -2
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +2 -2
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +2 -2
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +2 -2
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js +2 -2
- package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.js +2 -2
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +2 -2
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/TagGroup.css.js +2 -2
- 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 +3 -3
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.js +2 -2
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Tile.css.js +2 -2
- package/dist/generated/themes/Tile.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +2 -2
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/Tooltip.css.js +2 -2
- package/dist/generated/themes/Tooltip.css.js.map +1 -1
- package/dist/generated/themes/TruncatedText.css.js +2 -2
- package/dist/generated/themes/TruncatedText.css.js.map +1 -1
- package/dist/generated/themes/Upload.css.js +2 -2
- package/dist/generated/themes/Upload.css.js.map +1 -1
- package/dist/generated/themes/UploadItem.css.js +2 -2
- package/dist/generated/themes/UploadItem.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.js +2 -2
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.js +2 -2
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/messagebundle.properties +3 -0
- package/dist/messagebundle_en.properties +1 -0
- package/dist/types/SearchableListBase.d.ts +5 -0
- package/dist/types/SearchableListBase.js +6 -0
- package/dist/types/SearchableListBase.js.map +1 -1
- package/dist/utils/getEffectiveScrollbarStyle.d.ts +4 -0
- package/dist/utils/getEffectiveScrollbarStyle.js +45 -0
- package/dist/utils/getEffectiveScrollbarStyle.js.map +1 -0
- package/dist/vscode.html-custom-data.json +40 -15
- package/dist/web-types.json +73 -27
- package/package.json +7 -7
- package/src/Accordion.ts +38 -31
- package/src/AccordionItem.ts +23 -27
- package/src/AccordionItemTemplate.tsx +54 -0
- package/src/AccordionTemplate.tsx +37 -0
- package/src/AssetsVariables.ts +5 -1
- package/src/Avatar.ts +9 -11
- package/src/AvatarTemplate.tsx +22 -0
- package/src/Badge.ts +8 -12
- package/src/BadgeTemplate.tsx +22 -0
- package/src/Carousel.ts +30 -24
- package/src/CarouselTemplate.tsx +56 -0
- package/src/ContactItemTemplate.tsx +2 -1
- package/src/CountrySelector.ts +9 -10
- package/src/Divider.ts +13 -5
- package/src/DividerTemplate.tsx +11 -0
- package/src/Dropdown.ts +2 -1
- package/src/FilterMenu.ts +15 -18
- package/src/HeroBanner.hbs +1 -0
- package/src/List.ts +1 -1
- package/src/MastheadCountrySelector.hbs +5 -9
- package/src/MastheadCountrySelector.ts +19 -0
- package/src/MastheadMenu.hbs +3 -3
- package/src/MastheadMenu.ts +10 -3
- package/src/MastheadMobileMenu.hbs +1 -2
- package/src/MastheadMobileMenu.ts +7 -3
- package/src/MastheadShell.hbs +29 -29
- package/src/MastheadShell.ts +65 -16
- package/src/Modal.ts +2 -2
- package/src/Search.hbs +1 -1
- package/src/Search.ts +5 -4
- package/src/SearchableListBase.hbs +7 -1
- package/src/SearchableListBase.ts +65 -9
- package/src/SecondaryNavigation.ts +1 -1
- package/src/SecondaryNavigationItem.ts +1 -2
- package/src/SegmentedButton.ts +7 -4
- package/src/SelectBox.ts +13 -19
- package/src/TabNavigation.ts +13 -0
- package/src/Table.ts +1 -1
- package/src/TextArea.ts +1 -1
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/json-imports/Themes-fetch.ts +1 -1
- package/src/generated/json-imports/Themes-node.ts +1 -1
- package/src/generated/json-imports/Themes.ts +1 -1
- package/src/generated/json-imports/i18n-fetch.ts +1 -1
- package/src/generated/json-imports/i18n-node.ts +1 -1
- package/src/generated/json-imports/i18n.ts +1 -1
- package/src/generated/templates/HeroBannerTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadCountrySelectorTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchableListBaseTemplate.lit.ts +2 -2
- package/src/generated/themes/Accordion.css.ts +2 -2
- package/src/generated/themes/AccordionItem.css.ts +2 -2
- package/src/generated/themes/Avatar.css.ts +2 -2
- package/src/generated/themes/Badge.css.ts +2 -2
- package/src/generated/themes/Breadcrumbs.css.ts +2 -2
- package/src/generated/themes/BreadcrumbsPopover.css.ts +2 -2
- package/src/generated/themes/Button.css.ts +2 -2
- package/src/generated/themes/Carousel.css.ts +2 -2
- package/src/generated/themes/Checkbox.css.ts +2 -2
- package/src/generated/themes/Contact.css.ts +2 -2
- package/src/generated/themes/ContactItem.css.ts +2 -2
- package/src/generated/themes/ControlButton.css.ts +2 -2
- package/src/generated/themes/CountrySelector.css.ts +3 -3
- package/src/generated/themes/DatePicker.css.ts +2 -2
- package/src/generated/themes/DatePickerPopover.css.ts +2 -2
- package/src/generated/themes/Divider.css.ts +2 -2
- package/src/generated/themes/Dropdown.css.ts +2 -2
- package/src/generated/themes/EventRibbon.css.ts +2 -2
- package/src/generated/themes/FilterMenu.css.ts +2 -2
- package/src/generated/themes/Footer.css.ts +2 -2
- package/src/generated/themes/HeroBanner.css.ts +2 -2
- package/src/generated/themes/InputGroup.css.ts +2 -2
- package/src/generated/themes/Link.css.ts +2 -2
- package/src/generated/themes/List.css.ts +2 -2
- package/src/generated/themes/ListGroupHeader.css.ts +2 -2
- package/src/generated/themes/ListItem.css.ts +2 -2
- package/src/generated/themes/MastheadCountrySelector.css.ts +3 -3
- package/src/generated/themes/MastheadItem.css.ts +3 -3
- package/src/generated/themes/MastheadMenu.css.ts +2 -2
- package/src/generated/themes/MastheadMenuItem.css.ts +3 -3
- package/src/generated/themes/MastheadMobileMenu.css.ts +3 -3
- package/src/generated/themes/MastheadProfileMenu.css.ts +2 -2
- package/src/generated/themes/MastheadShell.css.ts +3 -3
- package/src/generated/themes/MediaPlayer.css.ts +2 -2
- package/src/generated/themes/MediaPlayerYoutube.css.ts +2 -2
- package/src/generated/themes/MessageStrip.css.ts +2 -2
- package/src/generated/themes/Modal.css.ts +2 -2
- package/src/generated/themes/Pagination.css.ts +2 -2
- package/src/generated/themes/PhoneNumberField.css.ts +2 -2
- package/src/generated/themes/ProgressBar.css.ts +2 -2
- package/src/generated/themes/Quote.css.ts +2 -2
- package/src/generated/themes/RadioButton.css.ts +2 -2
- package/src/generated/themes/RatingBar.css.ts +2 -2
- package/src/generated/themes/RatingIndicator.css.ts +3 -3
- package/src/generated/themes/Review.css.ts +2 -2
- package/src/generated/themes/ReviewItem.css.ts +2 -2
- package/src/generated/themes/Search.css.ts +3 -3
- package/src/generated/themes/SearchSuggestions.css.ts +2 -2
- package/src/generated/themes/SearchableList.css.ts +3 -3
- package/src/generated/themes/SecondaryNavigation.css.ts +2 -2
- package/src/generated/themes/SecondaryNavigationItem.css.ts +2 -2
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +2 -2
- package/src/generated/themes/SegmentedButton.css.ts +2 -2
- package/src/generated/themes/SegmentedButtonItem.css.ts +3 -3
- package/src/generated/themes/SelectBox.css.ts +2 -2
- package/src/generated/themes/SideNavigation.css.ts +2 -2
- package/src/generated/themes/SideNavigationGroup.css.ts +2 -2
- package/src/generated/themes/SideNavigationItem.css.ts +2 -2
- package/src/generated/themes/SideNavigationMobile.css.ts +2 -2
- package/src/generated/themes/SideNavigationMobileDropdown.css.ts +2 -2
- package/src/generated/themes/SideNavigationSubItem.css.ts +2 -2
- package/src/generated/themes/Slider.css.ts +3 -3
- package/src/generated/themes/StatusBadge.css.ts +2 -2
- package/src/generated/themes/StatusMessage.css.ts +2 -2
- package/src/generated/themes/StepInput.css.ts +2 -2
- package/src/generated/themes/Switch.css.ts +2 -2
- package/src/generated/themes/TabInOverflow.css.ts +2 -2
- package/src/generated/themes/TabNavigation.css.ts +2 -2
- package/src/generated/themes/Table.css.ts +2 -2
- package/src/generated/themes/TableCell.css.ts +2 -2
- package/src/generated/themes/TableCellBase.css.ts +2 -2
- package/src/generated/themes/TableGroupRow.css.ts +2 -2
- package/src/generated/themes/TableHeaderCell.css.ts +2 -2
- package/src/generated/themes/TableRowBase.css.ts +2 -2
- package/src/generated/themes/Tag.css.ts +2 -2
- package/src/generated/themes/TagGroup.css.ts +2 -2
- package/src/generated/themes/TextArea.css.ts +3 -3
- package/src/generated/themes/TextField.css.ts +2 -2
- package/src/generated/themes/Tile.css.ts +2 -2
- package/src/generated/themes/Toast.css.ts +2 -2
- package/src/generated/themes/Tooltip.css.ts +2 -2
- package/src/generated/themes/TruncatedText.css.ts +2 -2
- package/src/generated/themes/Upload.css.ts +2 -2
- package/src/generated/themes/UploadItem.css.ts +2 -2
- package/src/generated/themes/Wizard.css.ts +2 -2
- package/src/generated/themes/WizardTab.css.ts +2 -2
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_en.properties +1 -0
- package/src/themes/CountrySelector.css +11 -0
- package/src/themes/List.css +1 -0
- package/src/themes/MastheadCountrySelector.css +11 -0
- package/src/themes/MastheadItem.css +5 -2
- package/src/themes/MastheadMenuItem.css +5 -0
- package/src/themes/MastheadMobileMenu.css +1 -0
- package/src/themes/MastheadShell.css +4 -4
- package/src/themes/Search.css +3 -1
- package/src/themes/SearchableList.css +15 -0
- package/src/themes/SegmentedButtonItem.css +2 -2
- package/src/themes/TextArea.css +0 -7
- package/src/types/SearchableListBase.ts +6 -0
- package/src/utils/getEffectiveScrollbarStyle.ts +48 -0
- package/dist/assets/InputSuggestions-RQHqFxZ9.js +0 -2
- package/dist/assets/bundle-C9ZlnwwH.css +0 -1
- package/dist/assets/bundle.esm-DGH8Pvav.js +0 -399
- package/dist/assets/messagebundle_en-DXEe5nWA.js +0 -1
- package/dist/assets/parameters-bundle.css-1GGBOW8m.js +0 -2
- package/dist/assets/parameters-bundle.css-A9eeRg2R.js +0 -2
- package/dist/assets/parameters-bundle.css-COBI_9-U.js +0 -2
- package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +0 -2
- package/dist/assets/parameters-bundle.css-DuFHHRNK.js +0 -2
- package/dist/assets/parameters-bundle.css-Pf68NO0T.js +0 -2
- package/dist/assets/parameters-bundle.css-aX_t_-9o.js +0 -2
- package/dist/assets/parameters-bundle.css-rNSryFKH.js +0 -2
- package/dist/generated/templates/AccordionItemTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/AccordionItemTemplate.lit.js +0 -8
- package/dist/generated/templates/AccordionItemTemplate.lit.js.map +0 -1
- package/dist/generated/templates/AccordionTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/AccordionTemplate.lit.js +0 -10
- package/dist/generated/templates/AccordionTemplate.lit.js.map +0 -1
- package/dist/generated/templates/AvatarTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/AvatarTemplate.lit.js +0 -9
- package/dist/generated/templates/AvatarTemplate.lit.js.map +0 -1
- package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/BadgeTemplate.lit.js +0 -9
- package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
- package/dist/generated/templates/CarouselTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/CarouselTemplate.lit.js +0 -10
- package/dist/generated/templates/CarouselTemplate.lit.js.map +0 -1
- package/dist/generated/templates/DividerTemplate.lit.d.ts +0 -3
- package/dist/generated/templates/DividerTemplate.lit.js +0 -7
- package/dist/generated/templates/DividerTemplate.lit.js.map +0 -1
- package/src/Accordion.hbs +0 -25
- package/src/AccordionItem.hbs +0 -37
- package/src/Avatar.hbs +0 -19
- package/src/Badge.hbs +0 -16
- package/src/Carousel.hbs +0 -45
- package/src/Divider.hbs +0 -1
- package/src/generated/templates/AccordionItemTemplate.lit.ts +0 -12
- package/src/generated/templates/AccordionTemplate.lit.ts +0 -14
- package/src/generated/templates/AvatarTemplate.lit.ts +0 -13
- package/src/generated/templates/BadgeTemplate.lit.ts +0 -13
- package/src/generated/templates/CarouselTemplate.lit.ts +0 -14
- package/src/generated/templates/DividerTemplate.lit.ts +0 -11
package/src/MastheadShell.ts
CHANGED
|
@@ -46,6 +46,17 @@ type UDExMastheadShellAnalyticsNameEventDetail = {
|
|
|
46
46
|
analyticsName: AnalyticsName,
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
export enum UDExMastheadVariable {
|
|
50
|
+
mobileMenuHeight = "--udex-masthead-shell-mobile-menu-height",
|
|
51
|
+
itemButtonIconSize = "--udex-masthead-item-button-icon-size",
|
|
52
|
+
itemArrowIconSize = "--udex-masthead-item-arrow-icon-size",
|
|
53
|
+
rightMenuPadding = "--udex-masthead-right-menu-padding",
|
|
54
|
+
exploreMargin = "--udex-masthead-shell-explore-margin",
|
|
55
|
+
itemIconGap = "--udex-masthead-shell-item-icon-gap",
|
|
56
|
+
mastheadHeight = "--udex-masthead-shell-height",
|
|
57
|
+
itemGap = "--udex-masthead-shell-item-gap",
|
|
58
|
+
}
|
|
59
|
+
|
|
49
60
|
/**
|
|
50
61
|
* @class
|
|
51
62
|
*
|
|
@@ -453,6 +464,7 @@ class UDExMastheadShell extends UI5Element {
|
|
|
453
464
|
_handleResizeBound: ResizeObserverCallback;
|
|
454
465
|
_rootHolder!: HTMLElement | null | undefined;
|
|
455
466
|
_shouldHandleResize!: boolean;
|
|
467
|
+
_isVisible!: boolean;
|
|
456
468
|
|
|
457
469
|
constructor() {
|
|
458
470
|
super();
|
|
@@ -477,6 +489,8 @@ class UDExMastheadShell extends UI5Element {
|
|
|
477
489
|
if (this._closeBtnClicked) {
|
|
478
490
|
this.focusSearchBtn();
|
|
479
491
|
}
|
|
492
|
+
|
|
493
|
+
this.updateVisibility();
|
|
480
494
|
}
|
|
481
495
|
|
|
482
496
|
onEnterDOM(): void {
|
|
@@ -526,6 +540,8 @@ class UDExMastheadShell extends UI5Element {
|
|
|
526
540
|
} else {
|
|
527
541
|
this.removeMobileMode();
|
|
528
542
|
}
|
|
543
|
+
|
|
544
|
+
this._isVisible = true;
|
|
529
545
|
}
|
|
530
546
|
}
|
|
531
547
|
|
|
@@ -721,26 +737,40 @@ class UDExMastheadShell extends UI5Element {
|
|
|
721
737
|
const itemsIcon = [...this.shadowRoot!.querySelectorAll<HTMLDivElement>(".udex-masthead-shell__item_icon")];
|
|
722
738
|
const itemIconWidths = itemsIcon.length * this.getItemIconWidth();
|
|
723
739
|
const itemIconGaps = itemsIcon.length * this.getItemIconGap();
|
|
724
|
-
const
|
|
740
|
+
const exploreItem = this.exploreSAP[0];
|
|
741
|
+
const exploreItemIconWidth = exploreItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
|
|
742
|
+
const exploreSAPWidth = this.hasExploreSAP ? this.getItemWidth(exploreItem) : 0;
|
|
725
743
|
const rightMenuGaps = this.getRightMenuGap() + this.getExploreSapBtnGap() + itemIconGaps;
|
|
726
|
-
return exploreSAPWidth + itemIconWidths + rightMenuGaps;
|
|
744
|
+
return exploreSAPWidth + exploreItemIconWidth + itemIconWidths + rightMenuGaps;
|
|
727
745
|
}
|
|
728
746
|
|
|
729
|
-
|
|
747
|
+
getItemIconSize(cssVariableName: string): number {
|
|
730
748
|
const item = this.querySelector("[udex-masthead-item]");
|
|
731
749
|
|
|
732
|
-
if (!item) {
|
|
750
|
+
if (!item) {
|
|
751
|
+
return 0;
|
|
752
|
+
}
|
|
733
753
|
|
|
734
754
|
const style = window.getComputedStyle(item);
|
|
735
|
-
const
|
|
736
|
-
return parseInt(
|
|
755
|
+
const iconSizeVar = style.getPropertyValue(cssVariableName);
|
|
756
|
+
return parseInt(iconSizeVar);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
getItemIconWidth(): number {
|
|
760
|
+
return this.getItemIconSize(UDExMastheadVariable.itemButtonIconSize);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
getItemArrowIconWidth(): number {
|
|
764
|
+
return this.getItemIconSize(UDExMastheadVariable.itemArrowIconSize);
|
|
737
765
|
}
|
|
738
766
|
|
|
739
767
|
getMainMenuWidth(): number {
|
|
740
768
|
const mainItems = this.getSlottedNodes("menuItems");
|
|
741
|
-
const gapItemVar = this.getRootVar(
|
|
769
|
+
const gapItemVar = this.getRootVar(UDExMastheadVariable.itemGap);
|
|
742
770
|
return mainItems.reduce((accumulatedWidth, item, index) => {
|
|
743
|
-
|
|
771
|
+
const mainItem = item as UDExMastheadItem;
|
|
772
|
+
const arrowIconWidth = mainItem.hasArrowDown ? this.getItemArrowIconWidth() : 0;
|
|
773
|
+
return accumulatedWidth + this.getItemWidth(mainItem) + (index && parseInt(gapItemVar) + arrowIconWidth);
|
|
744
774
|
}, 0);
|
|
745
775
|
}
|
|
746
776
|
|
|
@@ -760,17 +790,17 @@ class UDExMastheadShell extends UI5Element {
|
|
|
760
790
|
}
|
|
761
791
|
|
|
762
792
|
getItemIconGap(): number {
|
|
763
|
-
const gapIconItemVar = this.getRootVar(
|
|
793
|
+
const gapIconItemVar = this.getRootVar(UDExMastheadVariable.itemIconGap);
|
|
764
794
|
return parseInt(gapIconItemVar);
|
|
765
795
|
}
|
|
766
796
|
|
|
767
797
|
getExploreSapBtnGap(): number {
|
|
768
|
-
const exploreSapBtnGapVar = this.getRootVar(
|
|
798
|
+
const exploreSapBtnGapVar = this.getRootVar(UDExMastheadVariable.exploreMargin);
|
|
769
799
|
return this.hasExploreSAP ? parseInt(exploreSapBtnGapVar) : 0;
|
|
770
800
|
}
|
|
771
801
|
|
|
772
802
|
getRightMenuGap(): number {
|
|
773
|
-
const rightMenuGapVar = this.getRootVar(
|
|
803
|
+
const rightMenuGapVar = this.getRootVar(UDExMastheadVariable.rightMenuPadding);
|
|
774
804
|
return parseInt(rightMenuGapVar);
|
|
775
805
|
}
|
|
776
806
|
|
|
@@ -803,9 +833,9 @@ class UDExMastheadShell extends UI5Element {
|
|
|
803
833
|
}
|
|
804
834
|
|
|
805
835
|
setMobileMenuHeight(): void {
|
|
806
|
-
const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue(
|
|
836
|
+
const mastheadHeight = parseInt(window.getComputedStyle(this).getPropertyValue(UDExMastheadVariable.mastheadHeight));
|
|
807
837
|
const mobileMenuHeight = `${window.innerHeight - mastheadHeight}px`;
|
|
808
|
-
this.style.setProperty(
|
|
838
|
+
this.style.setProperty(UDExMastheadVariable.mobileMenuHeight, mobileMenuHeight);
|
|
809
839
|
}
|
|
810
840
|
|
|
811
841
|
removeMobileMode(): void {
|
|
@@ -815,6 +845,10 @@ class UDExMastheadShell extends UI5Element {
|
|
|
815
845
|
});
|
|
816
846
|
}
|
|
817
847
|
|
|
848
|
+
updateVisibility(): void {
|
|
849
|
+
this.style.opacity = this.isVisible ? "1" : "0";
|
|
850
|
+
}
|
|
851
|
+
|
|
818
852
|
fireMastheadEvent(eventName: keyof this["eventDetails"], e?: PointerEvent): void {
|
|
819
853
|
const eventDetails = {
|
|
820
854
|
analyticsName: AnalyticsName.Header,
|
|
@@ -997,17 +1031,32 @@ class UDExMastheadShell extends UI5Element {
|
|
|
997
1031
|
return this.showSearchByDefault || this._isSearchOpened;
|
|
998
1032
|
}
|
|
999
1033
|
|
|
1034
|
+
get isVisible(): boolean {
|
|
1035
|
+
return this.isMobileMenuMode || !this.menuItems.length || this._isVisible;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1000
1038
|
get shouldHandleMobileView(): boolean {
|
|
1001
|
-
return !this.isAtMostBreakpointSizeM &&
|
|
1039
|
+
return !this.isAtMostBreakpointSizeM && this.isMainMenuVisible;
|
|
1002
1040
|
}
|
|
1003
1041
|
|
|
1004
1042
|
get mainNavigationAriaLabel(): string {
|
|
1005
1043
|
return UDExMastheadShell.i18nBundle.getText(MAIN_LINKS);
|
|
1006
1044
|
}
|
|
1007
1045
|
|
|
1046
|
+
get isSimpleExploreMode(): boolean {
|
|
1047
|
+
return !this.hasSearch && !this.hasProfile && !this.hasCart && !this.hasSupport && !this.hasCountrySelector;
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
get rightMenuClass(): string {
|
|
1051
|
+
const root = "udex-masthead-shell__right-menu";
|
|
1052
|
+
const simpleExploreClass = this.isSimpleExploreMode ? `${root}_simple-explore` : "";
|
|
1053
|
+
return `${root} ${simpleExploreClass}`.trim();
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1008
1056
|
get mainClass(): string {
|
|
1009
|
-
const
|
|
1010
|
-
|
|
1057
|
+
const root = "udex-masthead-shell";
|
|
1058
|
+
const coBrandWithoutNavClass = (!!this.coBrandImage && !this.menuItems.length) ? `${root}_co-brand-without-nav` : "";
|
|
1059
|
+
return `${root} ${coBrandWithoutNavClass}`.trim();
|
|
1011
1060
|
}
|
|
1012
1061
|
}
|
|
1013
1062
|
|
package/src/Modal.ts
CHANGED
|
@@ -5,10 +5,10 @@ import Dialog from "@ui5/webcomponents/dist/Dialog.js";
|
|
|
5
5
|
import Popup from "@ui5/webcomponents/dist/Popup.js";
|
|
6
6
|
|
|
7
7
|
// Styles
|
|
8
|
-
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
9
8
|
import PopupsCommonCss from "@ui5/webcomponents/dist/generated/themes/PopupsCommon.css.js";
|
|
10
9
|
import dialogCSS from "@ui5/webcomponents/dist/generated/themes/Dialog.css.js";
|
|
11
10
|
import ModalCss from "./generated/themes/Modal.css.js";
|
|
11
|
+
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
12
12
|
|
|
13
13
|
export enum UDExModalType {
|
|
14
14
|
default = "default",
|
|
@@ -32,10 +32,10 @@ export enum UDExModalType {
|
|
|
32
32
|
renderer: jsxRenderer,
|
|
33
33
|
styles: [
|
|
34
34
|
Popup.styles,
|
|
35
|
-
getEffectiveScrollbarStyle(),
|
|
36
35
|
PopupsCommonCss,
|
|
37
36
|
dialogCSS,
|
|
38
37
|
ModalCss,
|
|
38
|
+
getEffectiveScrollbarStyle(),
|
|
39
39
|
],
|
|
40
40
|
})
|
|
41
41
|
class UDExModal extends Dialog {
|
package/src/Search.hbs
CHANGED
package/src/Search.ts
CHANGED
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
isSpace,
|
|
20
20
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
21
21
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
22
|
-
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
23
22
|
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
24
23
|
import List from "./List.js";
|
|
25
24
|
import ControlButton from "./ControlButton.js";
|
|
@@ -45,13 +44,15 @@ import {
|
|
|
45
44
|
OF,
|
|
46
45
|
} from "./generated/i18n/i18n-defaults.js";
|
|
47
46
|
import type SearchInputSuggestion from "./features/SearchSuggestionsPopover.js";
|
|
47
|
+
import retryUntilSuccessful from "./utils/retryUntilSuccessful.js";
|
|
48
|
+
import UDExButton from "./Button.js";
|
|
48
49
|
|
|
49
50
|
import SearchTemplate from "./generated/templates/SearchTemplate.lit.js";
|
|
50
51
|
|
|
51
52
|
// Styles
|
|
52
53
|
import SearchCss from "./generated/themes/Search.css.js";
|
|
53
54
|
import SearchSuggestionsCss from "./generated/themes/SearchSuggestions.css.js";
|
|
54
|
-
import
|
|
55
|
+
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
55
56
|
|
|
56
57
|
const SearchIcon: string = "sap-icon://search";
|
|
57
58
|
|
|
@@ -129,11 +130,11 @@ export type UDExSearchKeydownEventDetail = {
|
|
|
129
130
|
@customElement({
|
|
130
131
|
tag: "udex-search",
|
|
131
132
|
renderer: litRender,
|
|
132
|
-
styles: [SearchCss, SearchSuggestionsCss],
|
|
133
|
+
styles: [SearchCss, SearchSuggestionsCss, getEffectiveScrollbarStyle()],
|
|
133
134
|
template: SearchTemplate,
|
|
134
135
|
get dependencies() {
|
|
135
136
|
const Suggestion = getFeature<typeof SearchInputSuggestion>("SearchInputSuggestion");
|
|
136
|
-
return ([ControlButton,
|
|
137
|
+
return ([ControlButton, UDExButton, Icon, List, Popover] as Array<typeof UI5Element>).concat(Suggestion ? [...Suggestion.dependencies] : []);
|
|
137
138
|
},
|
|
138
139
|
})
|
|
139
140
|
|
|
@@ -8,13 +8,19 @@
|
|
|
8
8
|
non-interactive-submit-button
|
|
9
9
|
show-submit-button>
|
|
10
10
|
</udex-search>
|
|
11
|
+
<span
|
|
12
|
+
aria-live="polite"
|
|
13
|
+
aria-atomic="true"
|
|
14
|
+
class="hidden">
|
|
15
|
+
{{_accSearchResultInfo}}
|
|
16
|
+
</span>
|
|
11
17
|
{{/if}}
|
|
12
18
|
{{#if isListEmpty}}
|
|
13
19
|
<div class="udex-no-result"><span>{{getNoResultText}}‎</span></div>
|
|
14
20
|
{{else if busy}}
|
|
15
21
|
<ui5-busy-indicator
|
|
16
22
|
class="udex-busy-indicator"
|
|
17
|
-
size="
|
|
23
|
+
size="M"
|
|
18
24
|
delay="{{busyDelay}}"
|
|
19
25
|
active>
|
|
20
26
|
</ui5-busy-indicator>
|
|
@@ -4,18 +4,17 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
4
4
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
5
5
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
6
6
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
7
|
+
import type Popover from "@ui5/webcomponents/dist/Popover.js";
|
|
8
|
+
import { isDown, isUp } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
10
9
|
import { cleanLabel } from "./utils/listItemLabelUtils.js";
|
|
11
|
-
import type
|
|
10
|
+
import type UDExSearch from "./Search.js";
|
|
12
11
|
import type UDExListItemBase from "./ListItemBase.js";
|
|
13
12
|
import type UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
|
|
14
13
|
import { UDExListMode } from "./types/List.js";
|
|
15
14
|
import type UDExFilterMenuItem from "./FilterMenuItem.js";
|
|
16
15
|
import type { UDExProcessedItem } from "./types/SearchableListBase.js";
|
|
17
|
-
import { SHOW_SEARCH_AFTER_COUNT } from "./types/SearchableListBase.js";
|
|
18
|
-
import { NO_MATCHES_FOUND } from "./generated/i18n/i18n-defaults.js";
|
|
16
|
+
import { SHOW_SEARCH_AFTER_COUNT, UDExPopoverPart } from "./types/SearchableListBase.js";
|
|
17
|
+
import { NO_MATCHES_FOUND, RESULT_RETURNED } from "./generated/i18n/i18n-defaults.js";
|
|
19
18
|
|
|
20
19
|
export type UDExItemFromList = UDExListItemBase | UDExListGroupHeaderBase | null | undefined;
|
|
21
20
|
|
|
@@ -88,6 +87,22 @@ export type UDExSearchableListBaseEvents = {
|
|
|
88
87
|
|
|
89
88
|
class UDExSearchableListBase extends UI5Element {
|
|
90
89
|
eventDetails!: UDExSearchableListBaseEvents;
|
|
90
|
+
/**
|
|
91
|
+
* Allows control over the height.
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
@property({ type: String })
|
|
95
|
+
height?: string;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Defines if page scrolling should be prevented within the list of items.
|
|
99
|
+
*
|
|
100
|
+
* @default false
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
@property({ type: Boolean })
|
|
104
|
+
preventPageScroll = false;
|
|
105
|
+
|
|
91
106
|
/**
|
|
92
107
|
* Defines if the component would display a loading indicator.
|
|
93
108
|
*
|
|
@@ -185,6 +200,7 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
185
200
|
static i18nBundle: I18nBundle;
|
|
186
201
|
|
|
187
202
|
_shouldFilterItems?: boolean;
|
|
203
|
+
_accSearchResultInfo?: string;
|
|
188
204
|
|
|
189
205
|
constructor() {
|
|
190
206
|
super();
|
|
@@ -280,6 +296,8 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
280
296
|
const searchValue: string = e.detail.value;
|
|
281
297
|
this._shouldFilterItems = true;
|
|
282
298
|
this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);
|
|
299
|
+
const items = this.getFlattenItemsArray(this._filteredItems);
|
|
300
|
+
this._accSearchResultInfo = items.length ? `${items.length} ${this.resultReturnedText}` : this.noMatchesFoundText;
|
|
283
301
|
this.fireDecoratorEvent("change-search", { value: searchValue });
|
|
284
302
|
}
|
|
285
303
|
|
|
@@ -440,12 +458,28 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
440
458
|
}
|
|
441
459
|
}
|
|
442
460
|
|
|
461
|
+
getFlattenItemsArray(array: Array<UDExProcessedItem>): (UDExProcessedItem | UDExListItemBase)[] {
|
|
462
|
+
return array.flatMap(item => {
|
|
463
|
+
if (item.isGroup) {
|
|
464
|
+
return [
|
|
465
|
+
item,
|
|
466
|
+
...item.groupItems.filter(groupItem => !groupItem.disabled),
|
|
467
|
+
];
|
|
468
|
+
}
|
|
469
|
+
return item.item.disabled ? [] : [item.item];
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
|
|
443
473
|
getCurrentIndex(item: Element): number {
|
|
444
474
|
return this.getDomListItems().indexOf(item);
|
|
445
475
|
}
|
|
446
476
|
|
|
447
|
-
getSearch():
|
|
448
|
-
return this.shadowRoot!.querySelector<
|
|
477
|
+
getSearch(): UDExSearch {
|
|
478
|
+
return this.shadowRoot!.querySelector<UDExSearch>("[udex-search]")!;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
getPopover(): Popover {
|
|
482
|
+
return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
|
|
449
483
|
}
|
|
450
484
|
|
|
451
485
|
getDomListItems(): Element[] {
|
|
@@ -480,9 +514,31 @@ class UDExSearchableListBase extends UI5Element {
|
|
|
480
514
|
});
|
|
481
515
|
}
|
|
482
516
|
|
|
517
|
+
getPopoverPart(part: UDExPopoverPart): HTMLElement {
|
|
518
|
+
return this.getPopover().shadowRoot!.querySelector<HTMLElement>(`[part=${part}]`)!;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
_managePopupListeners(part: UDExPopoverPart, action: "addEventListener" | "removeEventListener"): void {
|
|
522
|
+
const element = this.getPopoverPart(part);
|
|
523
|
+
element?.[action]("wheel", ((e: WheelEvent) => e.preventDefault()) as EventListener);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
_setContentHeight(): void {
|
|
527
|
+
const content = this.getPopoverPart(UDExPopoverPart.Content);
|
|
528
|
+
content.style.maxHeight = this.height || "";
|
|
529
|
+
}
|
|
530
|
+
|
|
483
531
|
get getNoResultText(): string {
|
|
484
532
|
const hasTextProperty = this.noResultText !== undefined && this.noResultText.length > 0;
|
|
485
|
-
return hasTextProperty ? this.noResultText :
|
|
533
|
+
return hasTextProperty ? this.noResultText : this.noMatchesFoundText;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
get noMatchesFoundText(): string {
|
|
537
|
+
return UDExSearchableListBase.i18nBundle.getText(NO_MATCHES_FOUND);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
get resultReturnedText(): string {
|
|
541
|
+
return UDExSearchableListBase.i18nBundle.getText(RESULT_RETURNED);
|
|
486
542
|
}
|
|
487
543
|
|
|
488
544
|
get isListEmpty(): boolean {
|
|
@@ -64,7 +64,7 @@ type UDExSecondaryNavigationHeadingClickEventDetail = {
|
|
|
64
64
|
@customElement({
|
|
65
65
|
tag: "udex-secondary-navigation",
|
|
66
66
|
renderer: litRender,
|
|
67
|
-
styles: SecondaryNavigationCss,
|
|
67
|
+
styles: [SecondaryNavigationCss],
|
|
68
68
|
template: SecondaryNavigationTemplate,
|
|
69
69
|
dependencies: [UDExSecondaryNavigationItem],
|
|
70
70
|
})
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
isHome,
|
|
16
16
|
isEnd, isTabNext, isTabPrevious,
|
|
17
17
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
18
|
-
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
19
18
|
import type { RelativeValue } from "./utils/parseRelativeUnits.js";
|
|
20
19
|
import parseRelativeUnits from "./utils/parseRelativeUnits.js";
|
|
21
20
|
import UDExSecondaryNavigationSubItem from "./SecondaryNavigationSubItem.js";
|
|
@@ -63,7 +62,7 @@ export type UDExSecondaryNavigationItemSubItemClickEventDetail = {
|
|
|
63
62
|
@customElement({
|
|
64
63
|
tag: "udex-secondary-navigation-item",
|
|
65
64
|
renderer: litRender,
|
|
66
|
-
styles: [SecondaryNavigationItemCss
|
|
65
|
+
styles: [SecondaryNavigationItemCss],
|
|
67
66
|
template: SecondaryNavigationItemTemplate,
|
|
68
67
|
dependencies: [UI5Icon, UDExSecondaryNavigationSubItem],
|
|
69
68
|
})
|
package/src/SegmentedButton.ts
CHANGED
|
@@ -47,15 +47,18 @@ class UDExSegmentedButton extends SegmentedButton {
|
|
|
47
47
|
onBeforeRendering() {
|
|
48
48
|
const items = this.getSlottedNodes<UDExSegmentedButtonItem>("items");
|
|
49
49
|
|
|
50
|
-
items.
|
|
50
|
+
const visibleItems = items.filter(item => !item.hidden);
|
|
51
|
+
let index = 1;
|
|
52
|
+
|
|
53
|
+
items.forEach(item => {
|
|
51
54
|
item.size = this.size;
|
|
52
|
-
item.posInSet =
|
|
53
|
-
item.sizeOfSet =
|
|
55
|
+
item.posInSet = item.hidden ? undefined : index++;
|
|
56
|
+
item.sizeOfSet = item.hidden ? undefined : visibleItems.length;
|
|
54
57
|
});
|
|
55
58
|
|
|
56
59
|
this.normalizeSelection();
|
|
57
60
|
|
|
58
|
-
this.style.setProperty(getScopedVarName("--udex-segmented-button-items-count"), `${
|
|
61
|
+
this.style.setProperty(getScopedVarName("--udex-segmented-button-items-count"), `${visibleItems.length}`);
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
_selectItem(e: MouseEvent | KeyboardEvent) {
|
package/src/SelectBox.ts
CHANGED
|
@@ -40,6 +40,7 @@ import UDExValueState from "./types/common.js";
|
|
|
40
40
|
import UDExStatusMessage from "./StatusMessage.js";
|
|
41
41
|
import UDExControlButton from "./ControlButton.js";
|
|
42
42
|
import { Placement } from "./types/Dropdown.js";
|
|
43
|
+
import { UDExPopoverPart } from "./types/SearchableListBase.js";
|
|
43
44
|
import UDExTagGroup from "./TagGroup.js";
|
|
44
45
|
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
45
46
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
@@ -51,6 +52,7 @@ import SearchableListBaseTemplate from "./generated/templates/SearchableListBase
|
|
|
51
52
|
import SelectBoxCss from "./generated/themes/SelectBox.css.js";
|
|
52
53
|
import TextFieldCss from "./generated/themes/TextField.css.js";
|
|
53
54
|
import SearchableListCss from "./generated/themes/SearchableList.css.js";
|
|
55
|
+
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
54
56
|
|
|
55
57
|
export type SelectBoxAccessibilityAttributes = {
|
|
56
58
|
controls?: string,
|
|
@@ -84,7 +86,7 @@ type UDExSelectBoxRemoveEventDetail = {
|
|
|
84
86
|
@customElement({
|
|
85
87
|
tag: "udex-select-box",
|
|
86
88
|
renderer: litRender,
|
|
87
|
-
styles: [TextFieldCss, SelectBoxCss, SearchableListCss],
|
|
89
|
+
styles: [TextFieldCss, SelectBoxCss, SearchableListCss, getEffectiveScrollbarStyle()],
|
|
88
90
|
template: SelectBoxTemplate,
|
|
89
91
|
dependencies: [
|
|
90
92
|
UDExSelectBoxGroupHeader,
|
|
@@ -102,7 +104,6 @@ type UDExSelectBoxRemoveEventDetail = {
|
|
|
102
104
|
Tokenizer,
|
|
103
105
|
Token,
|
|
104
106
|
Icon,
|
|
105
|
-
UDExStatusMessage,
|
|
106
107
|
Popover,
|
|
107
108
|
],
|
|
108
109
|
})
|
|
@@ -155,13 +156,6 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
155
156
|
@property({ type: Boolean })
|
|
156
157
|
disabled!: boolean;
|
|
157
158
|
|
|
158
|
-
/**
|
|
159
|
-
* Allows control over the height.
|
|
160
|
-
* @public
|
|
161
|
-
*/
|
|
162
|
-
@property({ type: String })
|
|
163
|
-
height?: string;
|
|
164
|
-
|
|
165
159
|
/**
|
|
166
160
|
* Defines label text for field container.
|
|
167
161
|
*
|
|
@@ -371,14 +365,22 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
371
365
|
}
|
|
372
366
|
|
|
373
367
|
handleDropdownBeforeOpen() {
|
|
368
|
+
if (this.preventPageScroll) {
|
|
369
|
+
this._managePopupListeners(UDExPopoverPart.Header, "addEventListener");
|
|
370
|
+
}
|
|
371
|
+
|
|
374
372
|
if (this.height) {
|
|
375
|
-
|
|
376
|
-
content.style.maxHeight = this.height;
|
|
373
|
+
this._setContentHeight();
|
|
377
374
|
}
|
|
375
|
+
|
|
378
376
|
this.fireDecoratorEvent("before-open");
|
|
379
377
|
}
|
|
380
378
|
|
|
381
379
|
handleDropdownAfterClose() {
|
|
380
|
+
if (this.preventPageScroll) {
|
|
381
|
+
this._managePopupListeners(UDExPopoverPart.Header, "removeEventListener");
|
|
382
|
+
}
|
|
383
|
+
|
|
382
384
|
if (this._tokenizer?._tokensCount > 0) {
|
|
383
385
|
this._tokenizer.expanded = false;
|
|
384
386
|
}
|
|
@@ -592,14 +594,6 @@ class UDExSelectBox extends UDExSearchableListBase {
|
|
|
592
594
|
this.fireDecoratorEvent("show-more");
|
|
593
595
|
}
|
|
594
596
|
|
|
595
|
-
getPopover(): Popover {
|
|
596
|
-
return this.shadowRoot!.querySelector<Popover>("[ui5-popover]")!;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
getSearch(): UDExSearch {
|
|
600
|
-
return this.shadowRoot!.querySelector<UDExSearch>("[udex-search]")!;
|
|
601
|
-
}
|
|
602
|
-
|
|
603
597
|
getTrigger(): HTMLElement {
|
|
604
598
|
return this.shadowRoot!.querySelector(".udex-text-field__input")!;
|
|
605
599
|
}
|
package/src/TabNavigation.ts
CHANGED
|
@@ -54,6 +54,11 @@ type UDExTabNavigationClickDetail = {
|
|
|
54
54
|
currentPage: number,
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
type UDExTabContainerTabSelectEventDetail = {
|
|
58
|
+
tab: Tab;
|
|
59
|
+
tabIndex: number;
|
|
60
|
+
}
|
|
61
|
+
|
|
57
62
|
/**
|
|
58
63
|
* @class
|
|
59
64
|
*
|
|
@@ -86,10 +91,17 @@ type UDExTabNavigationClickDetail = {
|
|
|
86
91
|
* @public
|
|
87
92
|
*/
|
|
88
93
|
@event("click", { bubbles: true })
|
|
94
|
+
/**
|
|
95
|
+
* Fired when a tab is selected.
|
|
96
|
+
*
|
|
97
|
+
* @public
|
|
98
|
+
*/
|
|
99
|
+
@event("tab-select", { bubbles: true })
|
|
89
100
|
|
|
90
101
|
class UDExTabNavigation extends UI5Element {
|
|
91
102
|
eventDetails!: {
|
|
92
103
|
"click": UDExTabNavigationClickDetail,
|
|
104
|
+
"tab-select": UDExTabContainerTabSelectEventDetail,
|
|
93
105
|
};
|
|
94
106
|
/**
|
|
95
107
|
* Defines the size of the "More" button.
|
|
@@ -320,6 +332,7 @@ class UDExTabNavigation extends UI5Element {
|
|
|
320
332
|
}
|
|
321
333
|
});
|
|
322
334
|
this.setTabsIndex(selectedTabIndex);
|
|
335
|
+
this.fireDecoratorEvent("tab-select", { tab: this._selectedTab, tabIndex: selectedTabIndex });
|
|
323
336
|
}
|
|
324
337
|
|
|
325
338
|
setItemsInHeader() {
|
package/src/Table.ts
CHANGED
|
@@ -4,7 +4,6 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
|
4
4
|
import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
|
|
5
5
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
6
6
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
7
|
-
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
8
7
|
import {
|
|
9
8
|
isUp, isDown, isLeft, isRight,
|
|
10
9
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
@@ -20,6 +19,7 @@ import TableTemplate from "./generated/templates/TableTemplate.lit.js";
|
|
|
20
19
|
|
|
21
20
|
// Styles
|
|
22
21
|
import TableCss from "./generated/themes/Table.css.js";
|
|
22
|
+
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
23
23
|
|
|
24
24
|
type TableBaseRow = UDExTableHeaderRow | UDExTableRow;
|
|
25
25
|
|
package/src/TextArea.ts
CHANGED
|
@@ -2,7 +2,6 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
2
2
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
3
3
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
4
4
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
5
|
-
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
6
5
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
7
6
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
8
7
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
@@ -27,6 +26,7 @@ import TextAreaTemplate from "./generated/templates/TextAreaTemplate.lit.js";
|
|
|
27
26
|
|
|
28
27
|
// Styles
|
|
29
28
|
import TextAreaCss from "./generated/themes/TextArea.css.js";
|
|
29
|
+
import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* @class
|