@sapudex/web-components 0.117.1 → 0.138.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 +5 -0
- package/config/wdio.conf.js +19 -8
- package/dist/Accordion.d.ts +1 -1
- package/dist/Accordion.js +1 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AccordionItem.d.ts +3 -2
- package/dist/AccordionItem.js +4 -4
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Avatar.d.ts +12 -0
- package/dist/Avatar.js +22 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +28 -0
- package/dist/AvatarGroup.js +126 -0
- package/dist/AvatarGroup.js.map +1 -0
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/CountrySelector.d.ts +24 -6
- package/dist/CountrySelector.js +25 -7
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +1 -0
- package/dist/DatePicker.js +4 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.d.ts +12 -2
- package/dist/Dropdown.js +18 -6
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +26 -6
- package/dist/FilterMenu.js +61 -21
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +36 -1
- package/dist/Footer.js +35 -37
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.js +3 -0
- package/dist/HeroBanner.js.map +1 -1
- package/dist/Link.d.ts +1 -1
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +1 -1
- package/dist/List.js +17 -1
- package/dist/List.js.map +1 -1
- package/dist/ListGroupHeader.d.ts +2 -2
- package/dist/ListGroupHeader.js +2 -2
- package/dist/ListGroupHeader.js.map +1 -1
- package/dist/ListItem.d.ts +3 -3
- package/dist/ListItem.js +6 -7
- package/dist/ListItem.js.map +1 -1
- package/dist/ListSelectAll.d.ts +1 -1
- package/dist/ListSelectAll.js +1 -1
- package/dist/ListSelectAll.js.map +1 -1
- package/dist/MastheadItem.d.ts +10 -1
- package/dist/MastheadItem.js +29 -18
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadMenu.d.ts +5 -0
- package/dist/MastheadMenu.js +24 -0
- package/dist/MastheadMenu.js.map +1 -1
- package/dist/MastheadMenuItem.d.ts +2 -3
- package/dist/MastheadMenuItem.js +2 -17
- package/dist/MastheadMenuItem.js.map +1 -1
- package/dist/MastheadMobileMenu.d.ts +25 -5
- package/dist/MastheadMobileMenu.js +135 -21
- package/dist/MastheadMobileMenu.js.map +1 -1
- package/dist/MastheadProfileMenu.d.ts +13 -4
- package/dist/MastheadProfileMenu.js +40 -9
- package/dist/MastheadProfileMenu.js.map +1 -1
- package/dist/MastheadShell.d.ts +11 -0
- package/dist/MastheadShell.js +52 -8
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.d.ts +3 -3
- package/dist/MediaPlayer.js +115 -25
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MessageStrip.js +1 -1
- package/dist/MessageStrip.js.map +1 -1
- package/dist/Pagination.d.ts +3 -0
- package/dist/Pagination.js +16 -4
- package/dist/Pagination.js.map +1 -1
- package/dist/PasswordField.d.ts +14 -4
- package/dist/PasswordField.js +24 -15
- package/dist/PasswordField.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +32 -0
- package/dist/PhoneNumberField.js +51 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/RatingBar.d.ts +53 -0
- package/dist/RatingBar.js +96 -0
- package/dist/RatingBar.js.map +1 -0
- package/dist/Review.d.ts +71 -0
- package/dist/Review.js +108 -0
- package/dist/Review.js.map +1 -0
- package/dist/ReviewItem.d.ts +105 -0
- package/dist/ReviewItem.js +157 -0
- package/dist/ReviewItem.js.map +1 -0
- package/dist/Search.d.ts +64 -2
- package/dist/Search.js +62 -8
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +1 -1
- package/dist/SearchableListBase.js +1 -1
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +9 -8
- package/dist/SecondaryNavigation.js +59 -46
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +1 -1
- package/dist/SecondaryNavigationItem.js +15 -5
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +16 -2
- package/dist/SecondaryNavigationItemBase.js +27 -1
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +2 -1
- package/dist/SecondaryNavigationSubItem.js +5 -2
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SelectBox.d.ts +33 -9
- package/dist/SelectBox.js +121 -60
- package/dist/SelectBox.js.map +1 -1
- package/dist/StatusBadge.d.ts +5 -5
- package/dist/StatusBadge.js.map +1 -1
- package/dist/Switch.d.ts +20 -0
- package/dist/Switch.js +22 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +9 -1
- package/dist/Tab.js +4 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +21 -21
- package/dist/TabNavigation.js +83 -102
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +22 -7
- package/dist/Tag.js +52 -21
- package/dist/Tag.js.map +1 -1
- package/dist/TagGroup.d.ts +94 -0
- package/dist/TagGroup.js +174 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TextArea.d.ts +14 -1
- package/dist/TextArea.js +18 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +32 -13
- package/dist/TextField.js +32 -2
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +3 -3
- package/dist/Tooltip.js +4 -4
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/bundle.esm-bb1c7413.js +316 -0
- package/dist/assets/messagebundle_en-c677773a.js +1 -0
- package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
- package/dist/assets/video.es-60bfb78c.js +228 -0
- package/dist/css/themes/AccordionItem.css +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/Divider.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/ListItem.css +1 -1
- package/dist/css/themes/MastheadItem.css +1 -1
- package/dist/css/themes/MastheadMobileMenu.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/Modal.css +1 -1
- package/dist/css/themes/Pagination.css +1 -1
- package/dist/css/themes/PhoneNumberField.css +1 -1
- package/dist/css/themes/RatingBar.css +1 -0
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Review.css +1 -0
- package/dist/css/themes/ReviewItem.css +1 -0
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -1
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StepInput.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 -0
- 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/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1435 -444
- package/dist/custom-elements.json +1267 -358
- package/dist/data/CountryListISO3166.js +162 -162
- package/dist/data/CountryListISO3166.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +11 -1
- package/dist/generated/i18n/i18n-defaults.js +18 -8
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.js +1 -1
- package/dist/generated/templates/AccordionItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
- package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
- package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
- package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FooterTemplate.lit.js +26 -28
- package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
- package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -7
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
- package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
- package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
- package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MastheadShellTemplate.lit.js +8 -8
- package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
- package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js +1 -1
- package/dist/generated/templates/PaginationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PasswordFieldTemplate.lit.js +1 -2
- package/dist/generated/templates/PasswordFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +6 -3
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/RatingBarTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/RatingBarTemplate.lit.js +6 -0
- package/dist/generated/templates/RatingBarTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
- package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ReviewTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/ReviewTemplate.lit.js +10 -0
- package/dist/generated/templates/ReviewTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js +1 -1
- package/dist/generated/templates/SearchSuggestionsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +7 -7
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +3 -3
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +5 -4
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
- package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SwitchTemplate.lit.js +2 -2
- package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
- package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/TabNavigationPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabNavigationTemplate.lit.js +4 -2
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
- package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/TagTemplate.lit.js +13 -3
- package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
- package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TooltipTemplate.lit.js +1 -1
- package/dist/generated/templates/TooltipTemplate.lit.js.map +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/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +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/CountrySelector.css.js +1 -1
- package/dist/generated/themes/CountrySelector.css.js.map +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/FilterMenu.css.js +1 -1
- package/dist/generated/themes/FilterMenu.css.js.map +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.js +1 -1
- package/dist/generated/themes/HeroBanner.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
- package/dist/generated/themes/MastheadMobileMenu.css.js.map +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/Modal.css.js +1 -1
- package/dist/generated/themes/Modal.css.js.map +1 -1
- package/dist/generated/themes/Pagination.css.js +1 -1
- package/dist/generated/themes/Pagination.css.js.map +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/RatingBar.css.js +9 -0
- package/dist/generated/themes/RatingBar.css.js.map +1 -0
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Review.css.d.ts +3 -0
- package/dist/generated/themes/Review.css.js +9 -0
- package/dist/generated/themes/Review.css.js.map +1 -0
- package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
- package/dist/generated/themes/ReviewItem.css.js +9 -0
- package/dist/generated/themes/ReviewItem.css.js.map +1 -0
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +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/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +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/TabNavigation.css.js +1 -1
- package/dist/generated/themes/TabNavigation.css.js.map +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 +3 -0
- package/dist/generated/themes/TagGroup.css.js +9 -0
- package/dist/generated/themes/TagGroup.css.js.map +1 -0
- 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.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
- package/dist/i18n/messagebundle.properties +35 -7
- package/dist/i18n/messagebundle_en.properties +17 -7
- package/dist/vscode.html-custom-data.json +260 -95
- package/dist/web-types.json +605 -183
- package/package.json +9 -9
- package/src/Accordion.ts +1 -1
- package/src/AccordionItem.hbs +1 -4
- package/src/AccordionItem.ts +6 -5
- package/src/Avatar.ts +24 -1
- package/src/AvatarGroup.ts +135 -0
- package/src/Checkbox.ts +1 -1
- package/src/CountrySelector.hbs +19 -15
- package/src/CountrySelector.ts +42 -9
- package/src/DatePicker.hbs +7 -9
- package/src/DatePicker.ts +14 -10
- package/src/Dropdown.hbs +8 -2
- package/src/Dropdown.ts +27 -6
- package/src/FilterMenu.hbs +58 -56
- package/src/FilterMenu.ts +101 -39
- package/src/Footer.hbs +21 -37
- package/src/Footer.ts +74 -52
- package/src/HeroBanner.hbs +22 -15
- package/src/HeroBanner.ts +3 -0
- package/src/Link.ts +1 -1
- package/src/List.ts +43 -23
- package/src/ListGroupHeader.ts +2 -2
- package/src/ListItem.hbs +4 -2
- package/src/ListItem.ts +8 -10
- package/src/ListSelectAll.hbs +1 -1
- package/src/ListSelectAll.ts +1 -1
- package/src/MastheadItem.hbs +7 -5
- package/src/MastheadItem.ts +44 -11
- package/src/MastheadMenu.hbs +4 -2
- package/src/MastheadMenu.ts +30 -0
- package/src/MastheadMenuItem.hbs +0 -2
- package/src/MastheadMenuItem.ts +2 -16
- package/src/MastheadMobileMenu.hbs +36 -10
- package/src/MastheadMobileMenu.ts +162 -22
- package/src/MastheadProfileMenu.hbs +6 -2
- package/src/MastheadProfileMenu.ts +66 -20
- package/src/MastheadShell.hbs +14 -4
- package/src/MastheadShell.ts +67 -8
- package/src/MediaPlayer.hbs +1 -3
- package/src/MediaPlayer.ts +122 -26
- package/src/MessageStrip.ts +1 -1
- package/src/Pagination.hbs +4 -2
- package/src/Pagination.ts +19 -4
- package/src/PasswordField.hbs +6 -17
- package/src/PasswordField.ts +31 -23
- package/src/PhoneNumberField.hbs +26 -6
- package/src/PhoneNumberField.ts +77 -2
- package/src/RatingBar.hbs +11 -0
- package/src/RatingBar.ts +113 -0
- package/src/Review.hbs +44 -0
- package/src/Review.ts +140 -0
- package/src/ReviewItem.hbs +20 -0
- package/src/ReviewItem.ts +227 -0
- package/src/Search.hbs +19 -14
- package/src/Search.ts +113 -6
- package/src/SearchSuggestions.hbs +1 -0
- package/src/SearchableListBase.ts +1 -1
- package/src/SecondaryNavigation.hbs +14 -8
- package/src/SecondaryNavigation.ts +76 -56
- package/src/SecondaryNavigationItem.hbs +3 -2
- package/src/SecondaryNavigationItem.ts +15 -5
- package/src/SecondaryNavigationItemBase.ts +41 -3
- package/src/SecondaryNavigationSubItem.hbs +13 -10
- package/src/SecondaryNavigationSubItem.ts +6 -2
- package/src/SelectBox.hbs +84 -83
- package/src/SelectBox.ts +155 -72
- package/src/StatusBadge.ts +2 -2
- package/src/Switch.hbs +3 -3
- package/src/Switch.ts +25 -0
- package/src/Tab.ts +11 -1
- package/src/TabHeader.hbs +3 -1
- package/src/TabInOverflow.hbs +19 -6
- package/src/TabNavigation.hbs +22 -12
- package/src/TabNavigation.ts +93 -117
- package/src/TabNavigationPopover.hbs +1 -0
- package/src/Tag.hbs +76 -26
- package/src/Tag.ts +77 -36
- package/src/TagGroup.hbs +48 -0
- package/src/TagGroup.ts +222 -0
- package/src/TextArea.hbs +36 -34
- package/src/TextArea.ts +28 -0
- package/src/TextField.hbs +45 -39
- package/src/TextField.ts +73 -17
- package/src/Tooltip.hbs +2 -2
- package/src/Tooltip.ts +5 -5
- package/src/data/CountryListISO3166.ts +162 -162
- package/src/generated/i18n/i18n-defaults.ts +2 -2
- package/src/generated/templates/AccordionItemTemplate.lit.ts +1 -1
- package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
- package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
- package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
- package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
- package/src/generated/templates/FooterTemplate.lit.ts +26 -28
- package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -7
- package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
- package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
- package/src/generated/templates/MastheadShellTemplate.lit.ts +8 -8
- package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
- package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
- package/src/generated/templates/PasswordFieldTemplate.lit.ts +1 -2
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +6 -3
- package/src/generated/templates/RatingBarTemplate.lit.ts +11 -0
- package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
- package/src/generated/templates/ReviewTemplate.lit.ts +15 -0
- package/src/generated/templates/SearchSuggestionsTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchTemplate.lit.ts +7 -7
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +5 -4
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/SwitchTemplate.lit.ts +2 -2
- package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +4 -2
- package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
- package/src/generated/templates/TagTemplate.lit.ts +13 -3
- package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
- package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
- package/src/generated/templates/TooltipTemplate.lit.ts +1 -1
- package/src/generated/themes/AccordionItem.css.ts +1 -1
- package/src/generated/themes/Avatar.css.ts +1 -1
- package/src/generated/themes/Badge.css.ts +1 -1
- package/src/generated/themes/CountrySelector.css.ts +1 -1
- package/src/generated/themes/Divider.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/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadItem.css.ts +1 -1
- package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/Modal.css.ts +1 -1
- package/src/generated/themes/Pagination.css.ts +1 -1
- package/src/generated/themes/PhoneNumberField.css.ts +1 -1
- package/src/generated/themes/RatingBar.css.ts +13 -0
- package/src/generated/themes/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Review.css.ts +13 -0
- package/src/generated/themes/ReviewItem.css.ts +13 -0
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StepInput.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 +13 -0
- 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/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +35 -7
- package/src/i18n/messagebundle_en.properties +17 -7
- package/src/themes/AccordionItem.css +6 -4
- package/src/themes/Avatar.css +24 -7
- package/src/themes/Badge.css +1 -1
- package/src/themes/CountrySelector.css +49 -26
- package/src/themes/Divider.css +6 -2
- package/src/themes/FilterMenu.css +52 -15
- package/src/themes/Footer.css +93 -168
- package/src/themes/HeroBanner.css +52 -24
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadItem.css +12 -2
- package/src/themes/MastheadMobileMenu.css +4 -0
- package/src/themes/MastheadShell.css +25 -29
- package/src/themes/Modal.css +6 -0
- package/src/themes/Pagination.css +7 -0
- package/src/themes/PhoneNumberField.css +15 -1
- package/src/themes/RatingBar.css +52 -0
- package/src/themes/Review.css +196 -0
- package/src/themes/ReviewItem.css +121 -0
- package/src/themes/Search.css +46 -25
- package/src/themes/SecondaryNavigation.css +41 -13
- package/src/themes/SecondaryNavigationItem.css +6 -4
- package/src/themes/SecondaryNavigationSubItem.css +5 -5
- package/src/themes/SelectBox.css +51 -24
- package/src/themes/StepInput.css +5 -2
- package/src/themes/TabNavigation.css +7 -1
- package/src/themes/Tag.css +200 -148
- package/src/themes/TagGroup.css +90 -0
- package/src/themes/TextArea.css +13 -0
- package/src/themes/TextField.css +97 -60
- package/src/themes/Toast.css +4 -0
- package/dist/assets/bundle.esm-f65ae7da.js +0 -315
- package/dist/assets/messagebundle_en-7249941b.js +0 -1
- package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
- package/dist/assets/video.es-17aecf95.js +0 -219
- package/dist/css/themes/PasswordField.css +0 -1
- package/dist/generated/themes/PasswordField.css.js +0 -9
- package/dist/generated/themes/PasswordField.css.js.map +0 -1
- package/src/generated/themes/PasswordField.css.ts +0 -13
- package/src/themes/PasswordField.css +0 -29
- /package/dist/generated/themes/{PasswordField.css.d.ts → RatingBar.css.d.ts} +0 -0
package/dist/CountrySelector.js
CHANGED
|
@@ -14,6 +14,9 @@ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
|
14
14
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
15
15
|
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
16
16
|
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
17
|
+
import TextField from "./TextField.js";
|
|
18
|
+
import ValueState from "./types/common.js";
|
|
19
|
+
import StatusMessage from "./StatusMessage.js";
|
|
17
20
|
import { COUNTRY_SELECT } from "./generated/i18n/i18n-defaults.js";
|
|
18
21
|
import CountrySelectorTemplate from "./generated/templates/CountrySelectorTemplate.lit.js";
|
|
19
22
|
import SearchableListBaseTemplate from "./generated/templates/SearchableListBaseTemplate.lit.js";
|
|
@@ -26,7 +29,6 @@ import { CountryListDB } from "./data/CountryListISO3166.js";
|
|
|
26
29
|
import UDExSearchableListBase from "./SearchableListBase.js";
|
|
27
30
|
import UDExListItem from "./ListItem.js";
|
|
28
31
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
29
|
-
import TextField from "./TextField.js";
|
|
30
32
|
/**
|
|
31
33
|
* @class
|
|
32
34
|
*
|
|
@@ -38,7 +40,7 @@ import TextField from "./TextField.js";
|
|
|
38
40
|
* For the <code>udex-country-selector</code>
|
|
39
41
|
* <h3>ES6 Module Import</h3>
|
|
40
42
|
*
|
|
41
|
-
* <code>import @udex/web-components/dist/CountrySelector.js";</code>
|
|
43
|
+
* <code>import "@udex/web-components/dist/CountrySelector.js";</code>
|
|
42
44
|
*
|
|
43
45
|
* @constructor
|
|
44
46
|
* @author SAP SE
|
|
@@ -70,7 +72,7 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
70
72
|
this.countryList = this.countryList.filter(country => !blockedCountryCodesArray?.includes(country.iso.toUpperCase()));
|
|
71
73
|
}
|
|
72
74
|
if (!this.selectedCountry) {
|
|
73
|
-
this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase())
|
|
75
|
+
this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase());
|
|
74
76
|
}
|
|
75
77
|
this.prepareCountrySelectorItems();
|
|
76
78
|
if (!this._shouldFilterItems) {
|
|
@@ -118,6 +120,12 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
118
120
|
get selectedCountryName() {
|
|
119
121
|
return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName);
|
|
120
122
|
}
|
|
123
|
+
get flagAriaLabel() {
|
|
124
|
+
return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName) || "None";
|
|
125
|
+
}
|
|
126
|
+
get triggerIcon() {
|
|
127
|
+
return this._open ? "navigation-up-arrow" : "navigation-down-arrow";
|
|
128
|
+
}
|
|
121
129
|
get countrySelectorClasses() {
|
|
122
130
|
const baseClass = "udex-country-selector__dropdown";
|
|
123
131
|
return this.hideFlagImages ? `${baseClass} ${baseClass}--hide-flag` : baseClass;
|
|
@@ -146,7 +154,7 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
146
154
|
return this.hideFlagImages ? undefined : `<span class="udex-country-selector-item__image" style="background-position:${country.flagX}">`;
|
|
147
155
|
}
|
|
148
156
|
getCountryLabel(countryName, localName) {
|
|
149
|
-
return localName ? `${countryName} (${localName})` : countryName;
|
|
157
|
+
return localName ? `${countryName} (${localName})` : countryName || null;
|
|
150
158
|
}
|
|
151
159
|
handleCloseSearch() {
|
|
152
160
|
this._dropdown.onClose();
|
|
@@ -155,7 +163,7 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
155
163
|
this.onItemPress(e);
|
|
156
164
|
const target = e.target;
|
|
157
165
|
const item = this.getItemFromList(target?.getAttribute("data-token-id"));
|
|
158
|
-
this.selectedCountry = this.countryList.find(country => country.iso === item._id)
|
|
166
|
+
this.selectedCountry = this.countryList.find(country => country.iso === item._id);
|
|
159
167
|
this._dropdown.onClose();
|
|
160
168
|
}
|
|
161
169
|
handleKeyDown(e) {
|
|
@@ -179,6 +187,9 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
179
187
|
this.onValueSearch(key);
|
|
180
188
|
}
|
|
181
189
|
}
|
|
190
|
+
handleInputMouseDown(e) {
|
|
191
|
+
e.preventDefault();
|
|
192
|
+
}
|
|
182
193
|
onValueSearch(searchValue) {
|
|
183
194
|
this._shouldFilterItems = true;
|
|
184
195
|
this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);
|
|
@@ -204,7 +215,7 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
204
215
|
prepareCountrySelectorItems() {
|
|
205
216
|
this.items.length = 0;
|
|
206
217
|
this.countryList.forEach(country => {
|
|
207
|
-
const selected = country.iso.toUpperCase() === this.selectedCountry
|
|
218
|
+
const selected = country.iso.toUpperCase() === this.selectedCountry?.iso.toUpperCase();
|
|
208
219
|
this.items.push({
|
|
209
220
|
label: this.getCountryLabel(country.countryName, country.localName),
|
|
210
221
|
innerHTML: this.getItemTemplate(country),
|
|
@@ -223,7 +234,7 @@ let CountrySelector = CountrySelector_1 = class CountrySelector extends UDExSear
|
|
|
223
234
|
return this.shadowRoot.querySelector("udex-text-field");
|
|
224
235
|
}
|
|
225
236
|
get effectiveAriaLabel() {
|
|
226
|
-
return this.accessibleName || CountrySelector_1.i18nBundle.getText(COUNTRY_SELECT);
|
|
237
|
+
return this.label || this.accessibleName || CountrySelector_1.i18nBundle.getText(COUNTRY_SELECT);
|
|
227
238
|
}
|
|
228
239
|
};
|
|
229
240
|
__decorate([
|
|
@@ -259,6 +270,12 @@ __decorate([
|
|
|
259
270
|
__decorate([
|
|
260
271
|
property({ type: String })
|
|
261
272
|
], CountrySelector.prototype, "searchPlaceholder", void 0);
|
|
273
|
+
__decorate([
|
|
274
|
+
property({ type: ValueState, defaultValue: ValueState.Standard })
|
|
275
|
+
], CountrySelector.prototype, "valueState", void 0);
|
|
276
|
+
__decorate([
|
|
277
|
+
property({ type: String, defaultValue: "" })
|
|
278
|
+
], CountrySelector.prototype, "supportingText", void 0);
|
|
262
279
|
__decorate([
|
|
263
280
|
property({ type: Boolean })
|
|
264
281
|
], CountrySelector.prototype, "hideFlagImages", void 0);
|
|
@@ -278,6 +295,7 @@ CountrySelector = CountrySelector_1 = __decorate([
|
|
|
278
295
|
UDExDropdown,
|
|
279
296
|
TextField,
|
|
280
297
|
Button,
|
|
298
|
+
StatusMessage,
|
|
281
299
|
],
|
|
282
300
|
})
|
|
283
301
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CountrySelector.js","sourceRoot":"","sources":["../src/CountrySelector.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { COUNTRY_SELECT } from \"./generated/i18n/i18n-defaults.js\";\nimport CountrySelectorTemplate from \"./generated/templates/CountrySelectorTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport CountrySelectorCss from \"./generated/themes/CountrySelector.css.js\";\n\nimport Search from \"./Search.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExList from \"./List.js\";\nimport { Country, CountryListDB } from \"./data/CountryListISO3166.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport TextField from \"./TextField.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @udex/web-components/dist/CountrySelector.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExSearchableListBase\n * @tagname udex-country-selector\n * @public\n */\n@customElement({\n tag: \"udex-country-selector\",\n renderer: litRender,\n styles: CountrySelectorCss,\n template: CountrySelectorTemplate,\n dependencies: [\n Search,\n UDExList,\n UDExListItem,\n UDExDropdown,\n TextField,\n Button,\n ],\n})\n\n/**\n * Fired before the dropdown paneis opened.\n *\n * @event sap.ui.webc.web-components.CountrySelector#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.CountrySelector#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.CountrySelector#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.CountrySelector#afterClose\n * @public\n */\n@event(\"after-close\")\n\n/**\n * Fired event when the user submitted the value in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#changeSearch\n * @public\n */\n@event(\"change-search\", {\n detail: {\n value: { type: String },\n },\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#resetSearch\n * @public\n */\n@event(\"reset-search\")\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#submitSearch\n * @public\n */\n@event(\"submit-search\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\nclass CountrySelector extends UDExSearchableListBase {\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\n accessibleNameRef!: string;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Allows to define the initially preselected country.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n preselectedCountry!: string;\n\n /**\n * Allows to define the list of blocked country.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n blockedCountryCodes?: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n searchPlaceholder!: string;\n\n /**\n *\n * @public\n */\n @property({ type: Boolean })\n hideFlagImages?: boolean;\n\n @property({ type: Boolean })\n _open?: boolean = false;\n\n countryList: Country[] = CountryListDB;\n selectedCountry!: Country;\n\n _dropdown!: UDExDropdown;\n _search!: Search;\n\n _handleResizeBound: ResizeObserverCallback;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n CountrySelector.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._handleResizeBound = this._handleResize.bind(this);\n this._filteredItems = [];\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onBeforeRendering(): void {\n if (this.blockedCountryCodes?.length) {\n const blockedCountryCodesArray = this.blockedCountryCodes.split(\",\").map(code => code.trim().toUpperCase());\n this.countryList = this.countryList.filter(country => !blockedCountryCodesArray?.includes(country.iso.toUpperCase()));\n }\n\n if (!this.selectedCountry) {\n this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase()) || this.countryList[0];\n }\n\n this.prepareCountrySelectorItems();\n\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onAfterRendering() {\n this._dropdown = this.getDropdown();\n this._search = this.getSearch();\n }\n\n _dropdownBeforeOpen() {\n this.onResetSearch();\n this._open = true;\n this.fireEvent(\"before-open\");\n }\n\n _dropdownAfterClose() {\n this._open = false;\n this.fireEvent(\"after-close\");\n }\n\n _dropdownAfterOpen() {\n this.fireEvent(\"after-open\");\n }\n\n _dropdownBeforeClose() {\n this.fireEvent(\"before-close\");\n }\n\n get searchableList() {\n return executeTemplate(CountrySelector.searchableListBaseTemplate, this);\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n\n _handleResize() {\n this._dropdown.style.setProperty(\"--udex-dropdown-pane-width\", `${this.offsetWidth}px`);\n }\n\n get ariaControls(): string | null | undefined {\n const list = this.shadowRoot!.querySelector<UDExList>(\"udex-list\");\n return list?.getAttribute(\"id\");\n }\n\n get selectedCountryFlagX() {\n return this.selectedCountry?.flagX;\n }\n\n get selectedCountryFlagY() {\n return this.selectedCountry?.flagY;\n }\n\n get selectedCountryName() {\n return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName);\n }\n\n get countrySelectorClasses() {\n const baseClass = \"udex-country-selector__dropdown\";\n return this.hideFlagImages ? `${baseClass} ${baseClass}--hide-flag` : baseClass;\n }\n\n get countrySelectorTriggerClasses() {\n const baseClass = \"udex-country-selector__trigger\";\n const classes = [baseClass];\n\n if (this.disabled) {\n classes.push(`${baseClass}--disabled`);\n }\n\n if (this.readonly) {\n classes.push(`${baseClass}--readonly`);\n }\n\n if (this.displayonly) {\n classes.push(`${baseClass}--displayonly`);\n }\n\n return classes.join(\" \");\n }\n\n get showFlagImages() {\n return !this.hideFlagImages;\n }\n\n get isOpenerDisabled() {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n getItemTemplate(country: Country) {\n return this.hideFlagImages ? undefined : `<span class=\"udex-country-selector-item__image\" style=\"background-position:${country.flagX}\">`;\n }\n\n getCountryLabel(countryName: string, localName?: string) {\n return localName ? `${countryName} (${localName})` : countryName;\n }\n\n handleCloseSearch() {\n this._dropdown.onClose();\n }\n\n handleItemPress(e: CustomEvent) {\n this.onItemPress(e);\n const target = e.target as HTMLElement;\n const item: any = this.getItemFromList(target?.getAttribute(\"data-token-id\") as string);\n this.selectedCountry = this.countryList.find(country => country.iso === item._id) || this.countryList[0];\n this._dropdown.onClose();\n }\n\n handleKeyDown(e: CustomEvent) {\n if (this.disabled || this.readonly || this.displayonly) {\n return;\n }\n\n const keyEvent = e.detail as KeyboardEvent;\n const key = keyEvent.key;\n if (isEnter(keyEvent) || isSpace(keyEvent)) {\n if (this._dropdown.open) {\n this._dropdown.onClose();\n } else {\n this._dropdown.onTriggerClick();\n }\n } else if (this.isLetterKey(key)) {\n this._dropdown.onOpen(this.getInput());\n this._search.focus();\n this._search.value = key;\n this.onValueSearch(key);\n }\n }\n\n onValueSearch(searchValue: string) {\n this._shouldFilterItems = true;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n this.fireEvent(\"change-search\", { value: searchValue });\n }\n\n handleTriggerClick() {\n if (this._dropdown.open) {\n this._dropdown.onClose();\n }\n }\n\n isLetterKey(key: string) {\n return /^[a-zA-Z]$/.test(key);\n }\n\n handleValueSearch(e:CustomEvent) {\n this.onValueSearch(e.detail.value as string);\n }\n\n handleSubmitSearch() {\n this.onSubmitSearch();\n }\n\n handleResetSearch() {\n this.onResetSearch();\n }\n\n prepareCountrySelectorItems(): void {\n this.items.length = 0;\n this.countryList.forEach(country => {\n const selected = country.iso.toUpperCase() === this.selectedCountry.iso.toUpperCase();\n this.items.push({\n label: this.getCountryLabel(country.countryName, country.localName),\n innerHTML: this.getItemTemplate(country),\n selected,\n _id: country.iso.toUpperCase(),\n } as UDExListItem);\n });\n }\n\n getSearch(): Search {\n return this.shadowRoot!.querySelector<Search>(\"udex-search\")!;\n }\n\n getDropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-dropdown\")!;\n }\n\n getInput(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-text-field\")!;\n }\n\n get effectiveAriaLabel(): string {\n return this.accessibleName || CountrySelector.i18nBundle.getText(COUNTRY_SELECT);\n }\n}\n\nCountrySelector.define();\n\nexport default CountrySelector;\n"]}
|
|
1
|
+
{"version":3,"file":"CountrySelector.js","sourceRoot":"","sources":["../src/CountrySelector.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport { isEnter, isSpace } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport TextField from \"./TextField.js\";\nimport ValueState from \"./types/common.js\";\nimport StatusMessage from \"./StatusMessage.js\";\nimport { COUNTRY_SELECT } from \"./generated/i18n/i18n-defaults.js\";\nimport CountrySelectorTemplate from \"./generated/templates/CountrySelectorTemplate.lit.js\";\nimport SearchableListBaseTemplate from \"./generated/templates/SearchableListBaseTemplate.lit.js\";\n\n// Styles\nimport CountrySelectorCss from \"./generated/themes/CountrySelector.css.js\";\n\nimport Search from \"./Search.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExList from \"./List.js\";\nimport { Country, CountryListDB } from \"./data/CountryListISO3166.js\";\nimport UDExSearchableListBase from \"./SearchableListBase.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-country-selector</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/CountrySelector.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UDExSearchableListBase\n * @tagname udex-country-selector\n * @public\n */\n@customElement({\n tag: \"udex-country-selector\",\n renderer: litRender,\n styles: CountrySelectorCss,\n template: CountrySelectorTemplate,\n dependencies: [\n Search,\n UDExList,\n UDExListItem,\n UDExDropdown,\n TextField,\n Button,\n StatusMessage,\n ],\n})\n\n/**\n * Fired before the dropdown paneis opened.\n *\n * @event sap.ui.webc.web-components.CountrySelector#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown pane is opened.\n *\n * @event sap.ui.webc.web-components.CountrySelector#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.CountrySelector#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the dropdown pane is closed.\n *\n * @event sap.ui.webc.web-components.CountrySelector#afterClose\n * @public\n */\n@event(\"after-close\")\n\n/**\n * Fired event when the user submitted the value in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#changeSearch\n * @public\n */\n@event(\"change-search\", {\n detail: {\n value: { type: String },\n },\n})\n\n/**\n * Fired event when the user clicks on the reset button in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#resetSearch\n * @public\n */\n@event(\"reset-search\")\n\n/**\n * Fired event when the user clicks on the submitted icon in the search.\n *\n * @event sap.ui.webc.web-components.CountrySelector#submitSearch\n * @public\n */\n@event(\"submit-search\", {\n detail: {\n selectedItems: { type: Array },\n },\n})\n\nclass CountrySelector extends UDExSearchableListBase {\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label?: string;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\n accessibleNameRef!: string;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is display-only.\n * <br><br>\n * <b>Note:</b> A display-only component is not editable,\n * but still provides visual feedback upon user interaction, input border is not visible.\n *\n * @default false\n * @public\n */\n\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Allows to define the initially preselected country.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n preselectedCountry!: string;\n\n /**\n * Allows to define the list of blocked country.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n blockedCountryCodes?: string;\n\n /**\n * Defines the placeholder of the search.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n searchPlaceholder!: string;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: ValueState, defaultValue: ValueState.Standard })\n valueState!: `${ValueState}`;\n\n /**\n * Defines supporting text under the country selector.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n supportingText!: string;\n\n /**\n *\n * @public\n */\n @property({ type: Boolean })\n hideFlagImages?: boolean;\n\n @property({ type: Boolean })\n _open?: boolean = false;\n\n countryList: Country[] = CountryListDB;\n selectedCountry!: Country | undefined;\n\n _dropdown!: UDExDropdown;\n _search!: Search;\n\n _handleResizeBound: ResizeObserverCallback;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n CountrySelector.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n constructor() {\n super();\n this._shouldFilterItems = false;\n this._handleResizeBound = this._handleResize.bind(this);\n this._filteredItems = [];\n }\n\n onEnterDOM(): void {\n ResizeHandler.register(this, this._handleResizeBound);\n }\n\n onExitDOM(): void {\n ResizeHandler.deregister(this, this._handleResizeBound);\n }\n\n onBeforeRendering(): void {\n if (this.blockedCountryCodes?.length) {\n const blockedCountryCodesArray = this.blockedCountryCodes.split(\",\").map(code => code.trim().toUpperCase());\n this.countryList = this.countryList.filter(country => !blockedCountryCodesArray?.includes(country.iso.toUpperCase()));\n }\n\n if (!this.selectedCountry) {\n this.selectedCountry = this.countryList.find(country => country.iso.toUpperCase() === this.preselectedCountry.toUpperCase());\n }\n\n this.prepareCountrySelectorItems();\n\n if (!this._shouldFilterItems) {\n this._filteredItems = this.getProcessedItems();\n }\n }\n\n onAfterRendering() {\n this._dropdown = this.getDropdown();\n this._search = this.getSearch();\n }\n\n _dropdownBeforeOpen() {\n this.onResetSearch();\n this._open = true;\n this.fireEvent(\"before-open\");\n }\n\n _dropdownAfterClose() {\n this._open = false;\n this.fireEvent(\"after-close\");\n }\n\n _dropdownAfterOpen() {\n this.fireEvent(\"after-open\");\n }\n\n _dropdownBeforeClose() {\n this.fireEvent(\"before-close\");\n }\n\n get searchableList() {\n return executeTemplate(CountrySelector.searchableListBaseTemplate, this);\n }\n\n static get searchableListBaseTemplate() {\n return SearchableListBaseTemplate;\n }\n\n _handleResize() {\n this._dropdown.style.setProperty(\"--udex-dropdown-pane-width\", `${this.offsetWidth}px`);\n }\n\n get ariaControls(): string | null | undefined {\n const list = this.shadowRoot!.querySelector<UDExList>(\"udex-list\");\n return list?.getAttribute(\"id\");\n }\n\n get selectedCountryFlagX() {\n return this.selectedCountry?.flagX;\n }\n\n get selectedCountryFlagY() {\n return this.selectedCountry?.flagY;\n }\n\n get selectedCountryName() {\n return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName);\n }\n\n get flagAriaLabel():string {\n return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName) || \"None\";\n }\n\n get triggerIcon(): string {\n return this._open ? \"navigation-up-arrow\" : \"navigation-down-arrow\";\n }\n\n get countrySelectorClasses() {\n const baseClass = \"udex-country-selector__dropdown\";\n return this.hideFlagImages ? `${baseClass} ${baseClass}--hide-flag` : baseClass;\n }\n\n get countrySelectorTriggerClasses() {\n const baseClass = \"udex-country-selector__trigger\";\n const classes = [baseClass];\n\n if (this.disabled) {\n classes.push(`${baseClass}--disabled`);\n }\n\n if (this.readonly) {\n classes.push(`${baseClass}--readonly`);\n }\n\n if (this.displayonly) {\n classes.push(`${baseClass}--displayonly`);\n }\n\n return classes.join(\" \");\n }\n\n get showFlagImages() {\n return !this.hideFlagImages;\n }\n\n get isOpenerDisabled() {\n return this.readonly || this.displayonly || this.disabled;\n }\n\n getItemTemplate(country: Country) {\n return this.hideFlagImages ? undefined : `<span class=\"udex-country-selector-item__image\" style=\"background-position:${country.flagX}\">`;\n }\n\n getCountryLabel(countryName?: string, localName?: string): string | null {\n return localName ? `${countryName} (${localName})` : countryName || null;\n }\n\n handleCloseSearch() {\n this._dropdown.onClose();\n }\n\n handleItemPress(e: CustomEvent) {\n this.onItemPress(e);\n const target = e.target as HTMLElement;\n const item: any = this.getItemFromList(target?.getAttribute(\"data-token-id\") as string);\n this.selectedCountry = this.countryList.find(country => country.iso === item._id);\n this._dropdown.onClose();\n }\n\n handleKeyDown(e: CustomEvent) {\n if (this.disabled || this.readonly || this.displayonly) {\n return;\n }\n\n const keyEvent = e.detail as KeyboardEvent;\n const key = keyEvent.key;\n if (isEnter(keyEvent) || isSpace(keyEvent)) {\n if (this._dropdown.open) {\n this._dropdown.onClose();\n } else {\n this._dropdown.onTriggerClick();\n }\n } else if (this.isLetterKey(key)) {\n this._dropdown.onOpen(this.getInput());\n this._search.focus();\n this._search.value = key;\n this.onValueSearch(key);\n }\n }\n\n handleInputMouseDown(e: CustomEvent) {\n e.preventDefault();\n }\n\n onValueSearch(searchValue: string) {\n this._shouldFilterItems = true;\n this._filteredItems = this.filterItems(this.getProcessedItems(), searchValue);\n this.fireEvent(\"change-search\", { value: searchValue });\n }\n\n handleTriggerClick() {\n if (this._dropdown.open) {\n this._dropdown.onClose();\n }\n }\n\n isLetterKey(key: string) {\n return /^[a-zA-Z]$/.test(key);\n }\n\n handleValueSearch(e:CustomEvent) {\n this.onValueSearch(e.detail.value as string);\n }\n\n handleSubmitSearch() {\n this.onSubmitSearch();\n }\n\n handleResetSearch() {\n this.onResetSearch();\n }\n\n prepareCountrySelectorItems(): void {\n this.items.length = 0;\n this.countryList.forEach(country => {\n const selected = country.iso.toUpperCase() === this.selectedCountry?.iso.toUpperCase();\n this.items.push({\n label: this.getCountryLabel(country.countryName, country.localName),\n innerHTML: this.getItemTemplate(country),\n selected,\n _id: country.iso.toUpperCase(),\n } as UDExListItem);\n });\n }\n\n getSearch(): Search {\n return this.shadowRoot!.querySelector<Search>(\"udex-search\")!;\n }\n\n getDropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-dropdown\")!;\n }\n\n getInput(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\"udex-text-field\")!;\n }\n\n get effectiveAriaLabel(): string {\n return this.label || this.accessibleName || CountrySelector.i18nBundle.getText(COUNTRY_SELECT);\n }\n}\n\nCountrySelector.define();\n\nexport default CountrySelector;\n"]}
|
package/dist/DatePicker.d.ts
CHANGED
package/dist/DatePicker.js
CHANGED
|
@@ -16,7 +16,7 @@ import CalendarDate from "@ui5/webcomponents/dist/CalendarDate.js";
|
|
|
16
16
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
17
17
|
import "@ui5/webcomponents-icons/dist/appointment-2.js";
|
|
18
18
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
19
|
-
import { CALENDAR_ICON } from "./generated/i18n/i18n-defaults.js";
|
|
19
|
+
import { CALENDAR_ICON, DATEPICKER_DATE_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
|
|
20
20
|
// Template
|
|
21
21
|
import DatePickerTemplate from "./generated/templates/DatePickerTemplate.lit.js";
|
|
22
22
|
import DatePickerPopover from "./generated/templates/DatePickerPopoverTemplate.lit.js";
|
|
@@ -141,6 +141,9 @@ let UDExDatePicker = UDExDatePicker_1 = class UDExDatePicker extends UI5Element
|
|
|
141
141
|
get accessibleIconName() {
|
|
142
142
|
return UDExDatePicker_1.i18nBundle.getText(CALENDAR_ICON);
|
|
143
143
|
}
|
|
144
|
+
get dateAccessibleName() {
|
|
145
|
+
return this.accessibleName || UDExDatePicker_1.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);
|
|
146
|
+
}
|
|
144
147
|
};
|
|
145
148
|
__decorate([
|
|
146
149
|
property({ type: UDExDatePickerSelectionMode, defaultValue: "Single" })
|
package/dist/DatePicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n// eslint-disable-next-line\nimport Calendar, { CalendarSelectedDatesChangeEventDetail } from \"@ui5/webcomponents/dist/Calendar.js\";\nimport CalendarDate from \"@ui5/webcomponents/dist/CalendarDate.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { CALENDAR_ICON } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DatePickerTemplate from \"./generated/templates/DatePickerTemplate.lit.js\";\nimport DatePickerPopover from \"./generated/templates/DatePickerPopoverTemplate.lit.js\";\n\n// Styles\nimport DatePickerCss from \"./generated/themes/DatePicker.css\";\nimport UDExTextField from \"./TextField.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport DatePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport ValueState from \"./types/common.js\";\n\nexport enum UDExDatePickerSelectionMode {\n Single = \"Single\",\n Range = \"Range\",\n}\n\nexport type DatePickerSelectionChangeEventDetail = {\n selectedValues: Array<string>;\n selectedDates: Array<number>;\n timestamp: number | undefined;\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-date-picker</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/DatePicker.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-date-picker\n * @public\n */\n@customElement({\n tag: \"udex-date-picker\",\n renderer: litRender,\n styles: DatePickerCss,\n template: DatePickerTemplate,\n staticAreaTemplate: DatePickerPopover,\n staticAreaStyles: [DatePickerPopoverCss],\n dependencies: [CalendarDate, Calendar, UDExTextField, UDExDropdown, UDExStatusMessage],\n})\n/**\n * Fired when the selected dates change.\n *\n * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event<DatePickerSelectionChangeEventDetail>(\"selection-change\", {\n detail: {\n /**\n * @public\n */\n selectedDates: { type: Array },\n /**\n * @public\n */\n selectedValues: { type: Array },\n\n timestamp: { type: Number },\n },\n})\nclass UDExDatePicker extends UI5Element {\n /**\n * Defines selection mode of the calendar component.\n *\n * @default \"Single\"\n * @public\n */\n @property({ type: UDExDatePickerSelectionMode, defaultValue: \"Single\" })\n selectionMode?: `${UDExDatePickerSelectionMode}`;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the value of the input.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n value!: string;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\n accessibleNameRef!: string;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n label!: string;\n\n /**\n * Determines the minimum date available for selection.\n * <br/><br/>\n * <b>Note:</b> The minDate value must be provided in the ISO date format (YYYY-MM-dd).\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n minDate!: string;\n\n /**\n * Determines the maximum date available for selection.\n * <br/><br/>\n * <b>Note:</b> The maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n maxDate!: string;\n\n /**\n * Defines selected dates values.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: \"\" })\n selectedDates!: string;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: ValueState, defaultValue: \"Standard\" })\n valueState!: \"Standard\" | \"Warning\" | \"Error\" | \"Success\";\n\n /**\n * Defines the date format pattern (e.g., \\\"MMM dd, yyyy\\\" or \\\"MM/dd/yyyy\\\").\n * @default \"MMM dd, yyyy\"\n * @public\n */\n @property({ type: String, defaultValue: \"MMM dd, yyyy\" })\n formatPattern!: string;\n\n responsivePopover?: UDExDropdown;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExDatePicker.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n async _getCalendar() {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<Calendar>(\"#ui5-calendar\")!;\n }\n\n async _getResponsePopover() {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<UDExDropdown>(`#udex-${this.__id!}-calendar__popover`)!;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownTrigger() {\n return this.shadowRoot!.querySelector<UDExTextField>(\".udex-date-picker__trigger\")!;\n }\n\n _afterDropdownClose() {\n this._dropdownTrigger.active = false;\n this._dropdownTrigger.shadowRoot?.querySelector(\"input\")?.focus();\n }\n\n _afterDropdownOpen() {\n this._dropdownTrigger.active = true;\n }\n\n _closeRespPopover() {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover() {\n this._dropdownTrigger.active = true;\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover?.onOpen(this._dropdownTrigger);\n }\n\n hideCalendar(): void {\n this._closeRespPopover();\n }\n\n showCalendar(): void {\n this._openRespPopover();\n }\n\n handleCalendarChange(e: CustomEvent<CalendarSelectedDatesChangeEventDetail>): void {\n const { dates, timestamp, values } = e.detail;\n\n const formattedValues = values;\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n this.value = formattedValues[0];\n this.selectedDates = formattedValues[0];\n }\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n if (dates.length < 2) {\n return;\n }\n\n this.value = `${formattedValues[0]} - ${formattedValues[1]}`;\n this.selectedDates = `${formattedValues[0]}, ${formattedValues[1]}`;\n }\n\n this.fireEvent(\n \"selection-change\",\n {\n timestamp,\n selectedDates: [...dates],\n selectedValues: formattedValues,\n },\n true,\n );\n\n this.hideCalendar();\n }\n\n handleInputClick(e: MouseEvent | KeyboardEvent): void {\n e.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.showCalendar();\n }\n\n handleInputMouseDown(e: MouseEvent): void {\n e.preventDefault();\n }\n\n handleInputKeyDown(e: KeyboardEvent): void {\n if (e.key === \"Enter\") {\n this.handleInputClick(e);\n }\n }\n\n /**\n * Used to provide selectedDates to the calendar based on the component's state\n * Override in derivatives to provide different rules for setting the calendar's selected dates\n * @protected\n */\n get _calendarSelectedDates(): Array<string> {\n if (this.value) {\n return this.value.split(\" - \");\n }\n\n return [];\n }\n\n get accessibleIconName() {\n return UDExDatePicker.i18nBundle.getText(CALENDAR_ICON);\n }\n}\n\nUDExDatePicker.define();\n\nexport default UDExDatePicker;\n"]}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\n// eslint-disable-next-line\nimport Calendar, { CalendarSelectedDatesChangeEventDetail } from \"@ui5/webcomponents/dist/Calendar.js\";\nimport CalendarDate from \"@ui5/webcomponents/dist/CalendarDate.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { CALENDAR_ICON, DATEPICKER_DATE_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DatePickerTemplate from \"./generated/templates/DatePickerTemplate.lit.js\";\nimport DatePickerPopover from \"./generated/templates/DatePickerPopoverTemplate.lit.js\";\n\n// Styles\nimport DatePickerCss from \"./generated/themes/DatePicker.css\";\nimport UDExTextField from \"./TextField.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport DatePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\nimport ValueState from \"./types/common.js\";\n\nexport enum UDExDatePickerSelectionMode {\n Single = \"Single\",\n Range = \"Range\",\n}\n\nexport type DatePickerSelectionChangeEventDetail = {\n selectedValues: Array<string>;\n selectedDates: Array<number>;\n timestamp: number | undefined;\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-date-picker</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/DatePicker.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-date-picker\n * @public\n */\n@customElement({\n tag: \"udex-date-picker\",\n renderer: litRender,\n styles: DatePickerCss,\n template: DatePickerTemplate,\n staticAreaTemplate: DatePickerPopover,\n staticAreaStyles: [DatePickerPopoverCss],\n dependencies: [CalendarDate, Calendar, UDExTextField, UDExDropdown, UDExStatusMessage],\n})\n/**\n * Fired when the selected dates change.\n *\n * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event<DatePickerSelectionChangeEventDetail>(\"selection-change\", {\n detail: {\n /**\n * @public\n */\n selectedDates: { type: Array },\n /**\n * @public\n */\n selectedValues: { type: Array },\n\n timestamp: { type: Number },\n },\n})\nclass UDExDatePicker extends UI5Element {\n /**\n * Defines selection mode of the calendar component.\n *\n * @default \"Single\"\n * @public\n */\n @property({ type: UDExDatePickerSelectionMode, defaultValue: \"Single\" })\n selectionMode?: `${UDExDatePickerSelectionMode}`;\n\n /**\n * Defines whether the component is read-only.\n * <br><br>\n * <b>Note:</b> A read-only component is not editable,\n * but still provides visual feedback upon user interaction.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines whether the component is required.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n required!: boolean;\n\n /**\n * Defines whether the component is in disabled state.\n * <br><br>\n * <b>Note:</b> A disabled component is completely noninteractive.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disabled!: boolean;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the value of the input.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n value!: string;\n\n /**\n * Sets the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n accessibleName!: string;\n\n /**\n * Receives id (or many ids) of the elements that label the component.\n * @default \"\"\n * @public\n */\n @property({ defaultValue: \"\" })\n accessibleNameRef!: string;\n\n /**\n * Defines label text for the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n label!: string;\n\n /**\n * Determines the minimum date available for selection.\n * <br/><br/>\n * <b>Note:</b> The minDate value must be provided in the ISO date format (YYYY-MM-dd).\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n minDate!: string;\n\n /**\n * Determines the maximum date available for selection.\n * <br/><br/>\n * <b>Note:</b> The maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n maxDate!: string;\n\n /**\n * Defines selected dates values.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: \"\" })\n selectedDates!: string;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: ValueState, defaultValue: \"Standard\" })\n valueState!: \"Standard\" | \"Warning\" | \"Error\" | \"Success\";\n\n /**\n * Defines the date format pattern (e.g., \\\"MMM dd, yyyy\\\" or \\\"MM/dd/yyyy\\\").\n * @default \"MMM dd, yyyy\"\n * @public\n */\n @property({ type: String, defaultValue: \"MMM dd, yyyy\" })\n formatPattern!: string;\n\n responsivePopover?: UDExDropdown;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExDatePicker.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n async _getCalendar(): Promise<Calendar> {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<Calendar>(\"#ui5-calendar\")!;\n }\n\n async _getResponsePopover(): Promise<UDExDropdown> {\n const staticAreaItem = await this.getStaticAreaItemDomRef();\n return staticAreaItem!.querySelector<UDExDropdown>(`#udex-${this.__id!}-calendar__popover`)!;\n }\n\n /**\n * Getter for the interactive element that opens the overflow\n * @private\n */\n get _dropdownTrigger(): UDExTextField {\n return this.shadowRoot!.querySelector<UDExTextField>(\".udex-date-picker__trigger\")!;\n }\n\n _afterDropdownClose(): void {\n this._dropdownTrigger.active = false;\n this._dropdownTrigger.shadowRoot?.querySelector(\"input\")?.focus();\n }\n\n _afterDropdownOpen(): void {\n this._dropdownTrigger.active = true;\n }\n\n _closeRespPopover(): void {\n this.responsivePopover && this.responsivePopover.onClose();\n }\n\n async _openRespPopover(): Promise<void> {\n this._dropdownTrigger.active = true;\n this.responsivePopover = await this._getResponsePopover();\n this.responsivePopover?.onOpen(this._dropdownTrigger);\n }\n\n hideCalendar(): void {\n this._closeRespPopover();\n }\n\n showCalendar(): void {\n this._openRespPopover();\n }\n\n handleCalendarChange(e: CustomEvent<CalendarSelectedDatesChangeEventDetail>): void {\n const { dates, timestamp, values } = e.detail;\n\n const formattedValues = values;\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Single) {\n this.value = formattedValues[0];\n this.selectedDates = formattedValues[0];\n }\n\n if (this.selectionMode === UDExDatePickerSelectionMode.Range) {\n if (dates.length < 2) {\n return;\n }\n\n this.value = `${formattedValues[0]} - ${formattedValues[1]}`;\n this.selectedDates = `${formattedValues[0]}, ${formattedValues[1]}`;\n }\n\n this.fireEvent(\n \"selection-change\",\n {\n timestamp,\n selectedDates: [...dates],\n selectedValues: formattedValues,\n },\n true,\n );\n\n this.hideCalendar();\n }\n\n handleInputClick(e: MouseEvent | KeyboardEvent): void {\n e.preventDefault();\n\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.showCalendar();\n }\n\n handleInputMouseDown(e: MouseEvent): void {\n e.preventDefault();\n }\n\n handleInputKeyDown(e: KeyboardEvent): void {\n if (e.key === \"Enter\") {\n this.handleInputClick(e);\n }\n }\n\n /**\n * Used to provide selectedDates to the calendar based on the component's state\n * Override in derivatives to provide different rules for setting the calendar's selected dates\n * @protected\n */\n get _calendarSelectedDates(): Array<string> {\n if (this.value) {\n return this.value.split(\" - \");\n }\n\n return [];\n }\n\n get accessibleIconName(): string {\n return UDExDatePicker.i18nBundle.getText(CALENDAR_ICON);\n }\n\n get dateAccessibleName(): string {\n return this.accessibleName || UDExDatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);\n }\n}\n\nUDExDatePicker.define();\n\nexport default UDExDatePicker;\n"]}
|
package/dist/Dropdown.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import Popover from "@ui5/webcomponents/dist/Popover.js";
|
|
3
3
|
import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
|
|
4
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
5
|
import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
5
6
|
/**
|
|
6
7
|
* @class
|
|
@@ -13,7 +14,7 @@ import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
|
13
14
|
* For the <code>udex-dropdown</code>
|
|
14
15
|
* <h3>ES6 Module Import</h3>
|
|
15
16
|
*
|
|
16
|
-
* <code>import @udex/web-components/dist/Dropdown.js";</code>
|
|
17
|
+
* <code>import "@udex/web-components/dist/Dropdown.js";</code>
|
|
17
18
|
*
|
|
18
19
|
* @constructor
|
|
19
20
|
* @author SAP SE
|
|
@@ -51,10 +52,16 @@ declare class UDExDropdown extends UI5Element {
|
|
|
51
52
|
accessibleName: string;
|
|
52
53
|
/**
|
|
53
54
|
* Allows setting a custom role.
|
|
54
|
-
* @default "
|
|
55
|
+
* @default "None"
|
|
55
56
|
* @public
|
|
56
57
|
*/
|
|
57
58
|
accessibleRole: `${PopupAccessibleRole}`;
|
|
59
|
+
/**
|
|
60
|
+
* Allows setting a custom role for dropdown trigger.
|
|
61
|
+
* @default "combobox"
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
triggerAccessibleRole: string;
|
|
58
65
|
/**
|
|
59
66
|
* Defines the content of the Dropdown.
|
|
60
67
|
*
|
|
@@ -103,6 +110,8 @@ declare class UDExDropdown extends UI5Element {
|
|
|
103
110
|
* @private
|
|
104
111
|
*/
|
|
105
112
|
_direction?: string;
|
|
113
|
+
static i18nBundle: I18nBundle;
|
|
114
|
+
static onDefine(): Promise<void>;
|
|
106
115
|
onAfterRendering(): void;
|
|
107
116
|
handleDirection(): void;
|
|
108
117
|
getDropdownPane(): Popover;
|
|
@@ -128,5 +137,6 @@ declare class UDExDropdown extends UI5Element {
|
|
|
128
137
|
get hasHeaderSlot(): boolean;
|
|
129
138
|
get hasFooterSlot(): boolean;
|
|
130
139
|
get disableAllowTargetOverlap(): boolean;
|
|
140
|
+
get triggerAccessibleName(): string;
|
|
131
141
|
}
|
|
132
142
|
export default UDExDropdown;
|
package/dist/Dropdown.js
CHANGED
|
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var UDExDropdown_1;
|
|
7
8
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
8
9
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
10
|
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
@@ -13,8 +14,10 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
13
14
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
14
15
|
import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
|
|
15
16
|
import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
|
|
17
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
16
18
|
import DropdownTemplate from "./generated/templates/DropdownTemplate.lit.js";
|
|
17
19
|
import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
20
|
+
import { TRIGGER } from "./generated/i18n/i18n-defaults.js";
|
|
18
21
|
// Styles
|
|
19
22
|
import DropdownCss from "./generated/themes/Dropdown.css";
|
|
20
23
|
/**
|
|
@@ -28,7 +31,7 @@ import DropdownCss from "./generated/themes/Dropdown.css";
|
|
|
28
31
|
* For the <code>udex-dropdown</code>
|
|
29
32
|
* <h3>ES6 Module Import</h3>
|
|
30
33
|
*
|
|
31
|
-
* <code>import @udex/web-components/dist/Dropdown.js";</code>
|
|
34
|
+
* <code>import "@udex/web-components/dist/Dropdown.js";</code>
|
|
32
35
|
*
|
|
33
36
|
* @constructor
|
|
34
37
|
* @author SAP SE
|
|
@@ -36,7 +39,10 @@ import DropdownCss from "./generated/themes/Dropdown.css";
|
|
|
36
39
|
* @tagname udex-dropdown
|
|
37
40
|
* @public
|
|
38
41
|
*/
|
|
39
|
-
let UDExDropdown = class UDExDropdown extends UI5Element {
|
|
42
|
+
let UDExDropdown = UDExDropdown_1 = class UDExDropdown extends UI5Element {
|
|
43
|
+
static async onDefine() {
|
|
44
|
+
UDExDropdown_1.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
45
|
+
}
|
|
40
46
|
onAfterRendering() {
|
|
41
47
|
this.handleDirection();
|
|
42
48
|
}
|
|
@@ -77,6 +83,7 @@ let UDExDropdown = class UDExDropdown extends UI5Element {
|
|
|
77
83
|
onOpen(opener) {
|
|
78
84
|
const dropdown = this.getDropdownPane();
|
|
79
85
|
dropdown.showAt(opener);
|
|
86
|
+
this.open = true;
|
|
80
87
|
}
|
|
81
88
|
/**
|
|
82
89
|
* Close dropdown
|
|
@@ -84,8 +91,7 @@ let UDExDropdown = class UDExDropdown extends UI5Element {
|
|
|
84
91
|
* @public
|
|
85
92
|
*/
|
|
86
93
|
onClose() {
|
|
87
|
-
|
|
88
|
-
dropdown.close(true);
|
|
94
|
+
this.open = false;
|
|
89
95
|
}
|
|
90
96
|
afterDropdownClose() {
|
|
91
97
|
this.open = false;
|
|
@@ -119,6 +125,9 @@ let UDExDropdown = class UDExDropdown extends UI5Element {
|
|
|
119
125
|
get disableAllowTargetOverlap() {
|
|
120
126
|
return this.disableTargetOverlap?.toString() !== "true";
|
|
121
127
|
}
|
|
128
|
+
get triggerAccessibleName() {
|
|
129
|
+
return UDExDropdown_1.i18nBundle.getText(TRIGGER);
|
|
130
|
+
}
|
|
122
131
|
};
|
|
123
132
|
__decorate([
|
|
124
133
|
property({ type: String })
|
|
@@ -133,8 +142,11 @@ __decorate([
|
|
|
133
142
|
property()
|
|
134
143
|
], UDExDropdown.prototype, "accessibleName", void 0);
|
|
135
144
|
__decorate([
|
|
136
|
-
property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.
|
|
145
|
+
property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })
|
|
137
146
|
], UDExDropdown.prototype, "accessibleRole", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
property({ type: String, defaultValue: "combobox" })
|
|
149
|
+
], UDExDropdown.prototype, "triggerAccessibleRole", void 0);
|
|
138
150
|
__decorate([
|
|
139
151
|
slot({ type: HTMLElement, "default": true })
|
|
140
152
|
], UDExDropdown.prototype, "content", void 0);
|
|
@@ -156,7 +168,7 @@ __decorate([
|
|
|
156
168
|
__decorate([
|
|
157
169
|
property({ type: String })
|
|
158
170
|
], UDExDropdown.prototype, "_direction", void 0);
|
|
159
|
-
UDExDropdown = __decorate([
|
|
171
|
+
UDExDropdown = UDExDropdown_1 = __decorate([
|
|
160
172
|
customElement({
|
|
161
173
|
tag: "udex-dropdown",
|
|
162
174
|
renderer: litRender,
|
package/dist/Dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport DropdownTemplate from \"./generated/templates/DropdownTemplate.lit.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\n\n// Styles\nimport DropdownCss from \"./generated/themes/Dropdown.css\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-dropdown</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @udex/web-components/dist/Dropdown.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-dropdown\n * @public\n */\n@customElement({\n tag: \"udex-dropdown\",\n renderer: litRender,\n styles: [\n DropdownCss,\n getEffectiveScrollbarStyle(),\n ],\n template: DropdownTemplate,\n dependencies: [Popover],\n})\n\n/**\n * Fired event when the user clicks the trigger.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#clickTrigger\n * @public\n */\n@event(\"click-trigger\")\n\n/**\n * Fired before the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterClose\n * @public\n */\n@event(\"after-close\")\nclass UDExDropdown extends UI5Element {\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"Dialog\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.Dialog })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Defines the content of the Dropdown.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the header HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n header!: Array<HTMLElement>;\n\n /**\n * Defines the footer HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n footer!: Array<HTMLElement>;\n\n /**\n * Defines the trigger HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n trigger!: Array<HTMLElement>;\n\n /**\n * Indicates if the dropdown pane is open\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n open!: boolean;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n handleDirection() {\n const filterMenu = this.shadowRoot?.querySelector(\".udex-dropdown\");\n if (filterMenu) {\n const directionStyles: string = window\n .getComputedStyle(filterMenu)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n }\n\n getDropdownPane() {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getTrigger() {\n return this.querySelector<HTMLElement>(\"[slot=trigger]\")!;\n }\n\n onTriggerClick() {\n const dropdown = this.getDropdownPane();\n const opener = this.getTrigger();\n const isOpenerDisabled = opener.hasAttribute(\"disabled\");\n\n if (!isOpenerDisabled) {\n dropdown.showAt(opener);\n this.fireEvent(\"click-trigger\");\n }\n }\n\n /**\n * Open dropdown\n *\n * @public\n */\n onOpen(opener: HTMLElement): void {\n const dropdown = this.getDropdownPane();\n dropdown.showAt(opener);\n }\n\n /**\n * Close dropdown\n *\n * @public\n */\n onClose():void {\n const dropdown = this.getDropdownPane();\n dropdown.close(true);\n }\n\n afterDropdownClose() {\n this.open = false;\n this.fireEvent(\"after-close\");\n }\n\n afterDropdownOpen() {\n this.open = true;\n this.fireEvent(\"after-open\");\n }\n\n beforeDropdownOpen() {\n const dropdown = this.getDropdownPane();\n const hasContentHeight = !!this?.height?.length;\n\n if (hasContentHeight) {\n const content = dropdown.shadowRoot!.querySelector(\"[part=content]\") as HTMLElement;\n content.style.maxHeight = <string> this.height;\n }\n\n this.fireEvent(\"before-open\");\n }\n\n beforeDropdownClose() {\n this.fireEvent(\"before-close\");\n }\n\n get hasTriggerSlot(): boolean {\n return !!this.trigger.length;\n }\n\n get hasHeaderSlot(): boolean {\n return !!this.header.length;\n }\n\n get hasFooterSlot(): boolean {\n return !!this.footer.length;\n }\n\n get disableAllowTargetOverlap() {\n return this.disableTargetOverlap?.toString() !== \"true\";\n }\n}\n\nUDExDropdown.define();\n\nexport default UDExDropdown;\n"]}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../src/Dropdown.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport PopupAccessibleRole from \"@ui5/webcomponents/dist/types/PopupAccessibleRole.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport DropdownTemplate from \"./generated/templates/DropdownTemplate.lit.js\";\nimport { PlacementType, HorizontalAlign } from \"./types/Dropdown.js\";\nimport { TRIGGER } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport DropdownCss from \"./generated/themes/Dropdown.css\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * <h3>Usage</h3>\n *\n * For the <code>udex-dropdown</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/Dropdown.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @extends UI5Element\n * @tagname udex-dropdown\n * @public\n */\n@customElement({\n tag: \"udex-dropdown\",\n renderer: litRender,\n styles: [\n DropdownCss,\n getEffectiveScrollbarStyle(),\n ],\n template: DropdownTemplate,\n dependencies: [Popover],\n})\n\n/**\n * Fired event when the user clicks the trigger.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#clickTrigger\n * @public\n */\n@event(\"click-trigger\")\n\n/**\n * Fired before the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeOpen\n * @public\n */\n@event(\"before-open\")\n\n/**\n * Fired after the dropdown is opened.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterOpen\n * @public\n */\n@event(\"after-open\")\n\n/**\n * Fired before the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#beforeClose\n * @public\n */\n@event(\"before-close\")\n\n/**\n * Fired after the menu is closed.\n *\n * @event sap.ui.webc.web-components.UDExDropdown#afterClose\n * @public\n */\n@event(\"after-close\")\nclass UDExDropdown extends UI5Element {\n /**\n * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Determines on which side the component is placed at.\n *\n * @default \"Bottom\"\n * @public\n */\n @property({ type: PlacementType, defaultValue: PlacementType.Bottom })\n placementType!: `${PlacementType}`;\n\n /**\n * Determines the horizontal alignment of the component.\n *\n * @default \"Left\"\n * @public\n */\n @property({ type: HorizontalAlign, defaultValue: HorizontalAlign.Left })\n horizontalAlign!: `${HorizontalAlign}`;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property()\n accessibleName!: string;\n\n /**\n * Allows setting a custom role.\n * @default \"None\"\n * @public\n */\n @property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.None })\n accessibleRole!: `${PopupAccessibleRole}`;\n\n /**\n * Allows setting a custom role for dropdown trigger.\n * @default \"combobox\"\n * @public\n */\n @property({ type: String, defaultValue: \"combobox\" })\n triggerAccessibleRole!: string;\n\n /**\n * Defines the content of the Dropdown.\n *\n * @slot content\n * @public\n */\n @slot({ type: HTMLElement, \"default\": true })\n content!: Array<HTMLElement>;\n\n /**\n * Defines the header HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n header!: Array<HTMLElement>;\n\n /**\n * Defines the footer HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n footer!: Array<HTMLElement>;\n\n /**\n * Defines the trigger HTML Element.\n *\n * @slot\n * @public\n */\n @slot({ type: HTMLElement })\n trigger!: Array<HTMLElement>;\n\n /**\n * Indicates if the dropdown pane is open\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n open!: boolean;\n\n /**\n * Determines if there is no enough space, the component can be placed\n * over the target.\n * @default false\n * @public\n */\n @property({ type: Boolean })\n disableTargetOverlap?: boolean;\n\n /**\n * Defines direction of the component.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine(): Promise<void> {\n UDExDropdown.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n onAfterRendering() {\n this.handleDirection();\n }\n\n handleDirection() {\n const filterMenu = this.shadowRoot?.querySelector(\".udex-dropdown\");\n if (filterMenu) {\n const directionStyles: string = window\n .getComputedStyle(filterMenu)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n }\n\n getDropdownPane() {\n return this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n }\n\n getTrigger() {\n return this.querySelector<HTMLElement>(\"[slot=trigger]\")!;\n }\n\n onTriggerClick() {\n const dropdown = this.getDropdownPane();\n const opener = this.getTrigger();\n const isOpenerDisabled = opener.hasAttribute(\"disabled\");\n\n if (!isOpenerDisabled) {\n dropdown.showAt(opener);\n this.fireEvent(\"click-trigger\");\n }\n }\n\n /**\n * Open dropdown\n *\n * @public\n */\n onOpen(opener: HTMLElement): void {\n const dropdown = this.getDropdownPane();\n dropdown.showAt(opener);\n this.open = true;\n }\n\n /**\n * Close dropdown\n *\n * @public\n */\n onClose():void {\n this.open = false;\n }\n\n afterDropdownClose() {\n this.open = false;\n this.fireEvent(\"after-close\");\n }\n\n afterDropdownOpen() {\n this.open = true;\n this.fireEvent(\"after-open\");\n }\n\n beforeDropdownOpen() {\n const dropdown = this.getDropdownPane();\n const hasContentHeight = !!this?.height?.length;\n\n if (hasContentHeight) {\n const content = dropdown.shadowRoot!.querySelector(\"[part=content]\") as HTMLElement;\n content.style.maxHeight = <string> this.height;\n }\n\n this.fireEvent(\"before-open\");\n }\n\n beforeDropdownClose() {\n this.fireEvent(\"before-close\");\n }\n\n get hasTriggerSlot(): boolean {\n return !!this.trigger.length;\n }\n\n get hasHeaderSlot(): boolean {\n return !!this.header.length;\n }\n\n get hasFooterSlot(): boolean {\n return !!this.footer.length;\n }\n\n get disableAllowTargetOverlap(): boolean {\n return this.disableTargetOverlap?.toString() !== \"true\";\n }\n\n get triggerAccessibleName(): string {\n return UDExDropdown.i18nBundle.getText(TRIGGER);\n }\n}\n\nUDExDropdown.define();\n\nexport default UDExDropdown;\n"]}
|
package/dist/FilterMenu.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
2
2
|
import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
|
|
3
3
|
import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
|
|
4
|
-
import
|
|
4
|
+
import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
|
|
5
5
|
import UDExSearch from "./Search.js";
|
|
6
|
+
import UDExButton from "./Button.js";
|
|
6
7
|
import UDExSearchableListBase from "./SearchableListBase.js";
|
|
7
8
|
import { PlacementType, HorizontalAlign } from "./types/Dropdown.js";
|
|
8
9
|
import { ListMode } from "./types/List.js";
|
|
@@ -102,7 +103,13 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
102
103
|
* @public
|
|
103
104
|
*/
|
|
104
105
|
disabled: boolean;
|
|
105
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Defines whether the dropdown is open or not.
|
|
108
|
+
*
|
|
109
|
+
* @default false
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
_open: boolean;
|
|
106
113
|
/**
|
|
107
114
|
* Hides the result button in the footer.
|
|
108
115
|
*
|
|
@@ -130,13 +137,20 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
130
137
|
accessibleName: string;
|
|
131
138
|
/**
|
|
132
139
|
* Allows setting a custom role.
|
|
133
|
-
* @default "
|
|
140
|
+
* @default "None"
|
|
134
141
|
* @public
|
|
135
142
|
*/
|
|
136
143
|
accessibleRole: `${PopupAccessibleRole}`;
|
|
137
|
-
|
|
144
|
+
/**
|
|
145
|
+
* Allows setting a custom role for dropdown trigger.
|
|
146
|
+
* @default "combobox"
|
|
147
|
+
* @public
|
|
148
|
+
*/
|
|
149
|
+
triggerAccessibleRole: string;
|
|
150
|
+
_trigger: UDExButton;
|
|
138
151
|
_search: UDExSearch;
|
|
139
152
|
_hasFooterButtons: boolean;
|
|
153
|
+
_popover: ResponsivePopover;
|
|
140
154
|
onAfterRendering(): void;
|
|
141
155
|
onEnterDOM(): void;
|
|
142
156
|
onBeforeRendering(): void;
|
|
@@ -152,23 +166,29 @@ declare class UDExFilterMenu extends UDExSearchableListBase {
|
|
|
152
166
|
handleKeyDownSearch(e: CustomEvent): void;
|
|
153
167
|
handleKeyDownResultBtn(e: KeyboardEvent): void;
|
|
154
168
|
handleKeyDownResetBtn(e: KeyboardEvent): void;
|
|
155
|
-
|
|
156
|
-
|
|
169
|
+
handleTriggerClick(): void;
|
|
170
|
+
handleTriggerKeydown(e: KeyboardEvent): void;
|
|
171
|
+
toggleDropdown(): void;
|
|
172
|
+
onDropdownClose(e?: KeyboardEvent): void;
|
|
157
173
|
getSearch(): UDExSearch;
|
|
158
174
|
_dropdownBeforeOpen(): void;
|
|
159
175
|
_dropdownAfterOpen(): void;
|
|
160
176
|
_dropdownBeforeClose(): void;
|
|
161
177
|
_dropdownAfterClose(): void;
|
|
178
|
+
get disableAllowTargetOverlap(): boolean;
|
|
162
179
|
get hasFilterNamePrefix(): boolean;
|
|
163
180
|
get getResultLabelText(): string;
|
|
164
181
|
get getResetLabelText(): string;
|
|
165
182
|
get disabledResultBtn(): boolean;
|
|
166
183
|
get _iconAccessibleNameText(): string;
|
|
184
|
+
get triggerButtonAccessibleName(): string;
|
|
167
185
|
get searchableList(): object;
|
|
168
186
|
get hideActionBar(): boolean;
|
|
169
187
|
get hasFooterButtons(): boolean;
|
|
170
188
|
get hasResultBtn(): boolean;
|
|
171
189
|
get hasResetBtn(): boolean;
|
|
190
|
+
getTriggerButton(): UDExButton;
|
|
191
|
+
getPopover(): ResponsivePopover;
|
|
172
192
|
getItems(): Array<UDExListItemBase>;
|
|
173
193
|
static get searchableListBaseTemplate(): typeof SearchableListBaseTemplate;
|
|
174
194
|
}
|