@sapudex/web-components 0.114.2 → 0.127.6
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 +6 -0
- package/config/wdio.conf.js +19 -8
- package/dist/AccordionItem.d.ts +2 -1
- package/dist/AccordionItem.js +3 -3
- package/dist/AccordionItem.js.map +1 -1
- package/dist/Avatar.d.ts +20 -1
- package/dist/Avatar.js +26 -2
- 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/CountrySelector.d.ts +1 -0
- package/dist/CountrySelector.js +3 -0
- package/dist/CountrySelector.js.map +1 -1
- package/dist/Dropdown.d.ts +11 -1
- package/dist/Dropdown.js +15 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/FilterMenu.d.ts +21 -5
- package/dist/FilterMenu.js +50 -8
- package/dist/FilterMenu.js.map +1 -1
- package/dist/Footer.d.ts +27 -0
- package/dist/Footer.js +27 -36
- package/dist/Footer.js.map +1 -1
- package/dist/HeroBanner.js +3 -0
- package/dist/HeroBanner.js.map +1 -1
- package/dist/InputGroup.js.map +1 -1
- package/dist/List.d.ts +7 -0
- package/dist/List.js +78 -18
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +0 -1
- package/dist/ListItem.js +0 -6
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +3 -0
- package/dist/ListItemBase.js +12 -0
- package/dist/ListItemBase.js.map +1 -1
- package/dist/MastheadItem.d.ts +1 -0
- package/dist/MastheadItem.js +5 -11
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadShell.d.ts +8 -0
- package/dist/MastheadShell.js +10 -0
- package/dist/MastheadShell.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 +6 -0
- package/dist/PhoneNumberField.js +6 -1
- 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/Search.d.ts +51 -0
- package/dist/Search.js +65 -11
- 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 +35 -47
- package/dist/SecondaryNavigation.js +158 -167
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +101 -0
- package/dist/SecondaryNavigationItem.js +297 -0
- package/dist/SecondaryNavigationItem.js.map +1 -0
- package/dist/SecondaryNavigationItemBase.d.ts +82 -0
- package/dist/SecondaryNavigationItemBase.js +104 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -0
- package/dist/SecondaryNavigationSubItem.d.ts +53 -0
- package/dist/SecondaryNavigationSubItem.js +105 -0
- package/dist/SecondaryNavigationSubItem.js.map +1 -0
- package/dist/SelectBox.d.ts +1 -0
- package/dist/SelectBox.js +15 -1
- package/dist/SelectBox.js.map +1 -1
- package/dist/StatusBadge.d.ts +67 -0
- package/dist/StatusBadge.js +104 -0
- package/dist/StatusBadge.js.map +1 -0
- package/dist/Switch.d.ts +1 -0
- package/dist/Switch.js +3 -0
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +8 -0
- package/dist/Tab.js +4 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabNavigation.d.ts +20 -20
- package/dist/TabNavigation.js +82 -101
- package/dist/TabNavigation.js.map +1 -1
- package/dist/Tag.d.ts +13 -6
- package/dist/Tag.js +34 -20
- package/dist/Tag.js.map +1 -1
- package/dist/TextArea.d.ts +1 -1
- package/dist/TextArea.js +3 -0
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +9 -0
- package/dist/TextField.js +16 -0
- package/dist/TextField.js.map +1 -1
- package/dist/Tooltip.d.ts +2 -2
- package/dist/Tooltip.js +3 -3
- package/dist/Tooltip.js.map +1 -1
- package/dist/assets/bundle.esm-7d53f4f2.js +314 -0
- package/dist/assets/messagebundle_en-6dcc9ab4.js +1 -0
- package/dist/assets/parameters-bundle.css-de55cf62.js +2 -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/Checkbox.css +1 -1
- package/dist/css/themes/CountrySelector.css +1 -1
- package/dist/css/themes/Divider.css +1 -1
- package/dist/css/themes/Dropdown.css +1 -1
- package/dist/css/themes/FilterMenu.css +1 -1
- package/dist/css/themes/Footer.css +1 -1
- package/dist/css/themes/HeroBanner.css +1 -1
- package/dist/css/themes/MastheadShell.css +1 -1
- package/dist/css/themes/MediaPlayer.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/Search.css +1 -1
- package/dist/css/themes/SecondaryNavigation.css +1 -1
- package/dist/css/themes/SecondaryNavigationItem.css +1 -0
- package/dist/css/themes/SecondaryNavigationSubItem.css +1 -0
- package/dist/css/themes/SelectBox.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/StatusBadge.css +1 -0
- 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/TextField.css +1 -1
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1291 -119
- package/dist/custom-elements.json +1298 -199
- 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 +16 -1
- package/dist/generated/i18n/i18n-defaults.js +20 -5
- 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 +1 -1
- 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 +3 -3
- 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 +9 -8
- package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js +4 -4
- package/dist/generated/templates/ListGroupHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- 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/MastheadShellTemplate.lit.js +2 -2
- package/dist/generated/templates/MastheadShellTemplate.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 +3 -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/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/SearchableListBaseTemplate.lit.js +2 -2
- package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +11 -0
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js +10 -0
- package/dist/generated/templates/SecondaryNavigationSubItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -10
- 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/StatusBadgeTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js +5 -0
- package/dist/generated/templates/StatusBadgeTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +2 -2
- package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +2 -2
- 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 +2 -2
- package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagTemplate.lit.js +9 -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/Checkbox.css.js +1 -1
- package/dist/generated/themes/Checkbox.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/Dropdown.css.js +1 -1
- package/dist/generated/themes/Dropdown.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/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/MediaPlayer.css.js +1 -1
- package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
- package/dist/generated/themes/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/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.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.d.ts +3 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js +9 -0
- package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -0
- 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/StatusBadge.css.d.ts +3 -0
- package/dist/generated/themes/StatusBadge.css.js +9 -0
- package/dist/generated/themes/StatusBadge.css.js.map +1 -0
- 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/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.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 +40 -5
- package/dist/i18n/messagebundle_en.properties +20 -5
- package/dist/vscode.html-custom-data.json +239 -16
- package/dist/web-types.json +405 -25
- package/package.json +8 -8
- package/src/AccordionItem.hbs +1 -4
- package/src/AccordionItem.ts +5 -4
- package/src/Avatar.ts +35 -3
- package/src/AvatarGroup.ts +135 -0
- package/src/CountrySelector.hbs +2 -1
- package/src/CountrySelector.ts +4 -1
- package/src/DatePicker.hbs +0 -1
- package/src/Dropdown.hbs +5 -3
- package/src/Dropdown.ts +24 -3
- package/src/FilterMenu.hbs +8 -1
- package/src/FilterMenu.ts +70 -12
- package/src/Footer.hbs +12 -37
- package/src/Footer.ts +64 -51
- package/src/HeroBanner.hbs +28 -21
- package/src/HeroBanner.ts +3 -0
- package/src/InputGroup.ts +6 -5
- package/src/List.ts +92 -21
- package/src/ListGroupHeader.hbs +9 -5
- package/src/ListItem.hbs +2 -1
- package/src/ListItem.ts +0 -7
- package/src/ListItemBase.ts +14 -0
- package/src/ListSelectAll.hbs +1 -0
- package/src/MastheadItem.hbs +3 -3
- package/src/MastheadItem.ts +10 -4
- package/src/MastheadShell.hbs +4 -0
- package/src/MastheadShell.ts +18 -0
- 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 +8 -3
- package/src/PhoneNumberField.ts +12 -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/Search.hbs +20 -14
- package/src/Search.ts +107 -10
- package/src/SearchSuggestions.hbs +2 -1
- package/src/SearchableListBase.hbs +2 -0
- package/src/SearchableListBase.ts +1 -1
- package/src/SecondaryNavigation.hbs +53 -71
- package/src/SecondaryNavigation.ts +192 -198
- package/src/SecondaryNavigationItem.hbs +64 -0
- package/src/SecondaryNavigationItem.ts +368 -0
- package/src/SecondaryNavigationItemBase.ts +153 -0
- package/src/SecondaryNavigationSubItem.hbs +44 -0
- package/src/SecondaryNavigationSubItem.ts +127 -0
- package/src/SelectBox.hbs +76 -76
- package/src/SelectBox.ts +18 -1
- package/src/StatusBadge.hbs +9 -0
- package/src/StatusBadge.ts +129 -0
- package/src/Switch.hbs +3 -3
- package/src/Switch.ts +4 -0
- package/src/Tab.ts +11 -1
- package/src/TabInOverflow.hbs +3 -2
- package/src/TabNavigation.hbs +12 -10
- package/src/TabNavigation.ts +92 -116
- package/src/TabNavigationPopover.hbs +1 -0
- package/src/Tag.hbs +60 -26
- package/src/Tag.ts +54 -34
- package/src/TextArea.hbs +3 -4
- package/src/TextArea.ts +3 -0
- package/src/TextField.hbs +40 -36
- package/src/TextField.ts +24 -0
- package/src/Tooltip.hbs +2 -2
- package/src/Tooltip.ts +4 -4
- 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 +1 -1
- 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 +3 -3
- package/src/generated/templates/FooterTemplate.lit.ts +26 -28
- package/src/generated/templates/HeroBannerTemplate.lit.ts +9 -8
- package/src/generated/templates/ListGroupHeaderTemplate.lit.ts +4 -4
- package/src/generated/templates/ListItemTemplate.lit.ts +1 -1
- package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
- package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
- package/src/generated/templates/MastheadShellTemplate.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 +3 -3
- package/src/generated/templates/RatingBarTemplate.lit.ts +11 -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/SearchableListBaseTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +16 -0
- package/src/generated/templates/SecondaryNavigationSubItemTemplate.lit.ts +15 -0
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -10
- package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
- package/src/generated/templates/StatusBadgeTemplate.lit.ts +10 -0
- package/src/generated/templates/SwitchTemplate.lit.ts +2 -2
- package/src/generated/templates/TabInOverflowTemplate.lit.ts +2 -2
- package/src/generated/templates/TabNavigationPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/TabNavigationTemplate.lit.ts +2 -2
- package/src/generated/templates/TagTemplate.lit.ts +9 -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/Checkbox.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/Dropdown.css.ts +1 -1
- package/src/generated/themes/FilterMenu.css.ts +1 -1
- package/src/generated/themes/Footer.css.ts +1 -1
- package/src/generated/themes/HeroBanner.css.ts +1 -1
- package/src/generated/themes/MastheadShell.css.ts +1 -1
- package/src/generated/themes/MediaPlayer.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/Search.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
- package/src/generated/themes/SecondaryNavigationItem.css.ts +13 -0
- package/src/generated/themes/SecondaryNavigationSubItem.css.ts +13 -0
- package/src/generated/themes/SelectBox.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/StatusBadge.css.ts +13 -0
- 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/TextField.css.ts +1 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
- package/src/i18n/messagebundle.properties +40 -5
- package/src/i18n/messagebundle_en.properties +20 -5
- package/src/themes/AccordionItem.css +6 -4
- package/src/themes/Avatar.css +43 -6
- package/src/themes/Badge.css +1 -1
- package/src/themes/Checkbox.css +12 -0
- package/src/themes/CountrySelector.css +4 -0
- package/src/themes/Divider.css +6 -2
- package/src/themes/Dropdown.css +2 -0
- package/src/themes/FilterMenu.css +10 -0
- package/src/themes/Footer.css +93 -168
- package/src/themes/HeroBanner.css +84 -20
- package/src/themes/MastheadShell.css +25 -29
- package/src/themes/MediaPlayer.css +3 -2
- package/src/themes/Modal.css +6 -0
- package/src/themes/Pagination.css +7 -0
- package/src/themes/PhoneNumberField.css +5 -0
- package/src/themes/RatingBar.css +52 -0
- package/src/themes/Review.css +196 -0
- package/src/themes/Search.css +37 -21
- package/src/themes/SecondaryNavigation.css +64 -293
- package/src/themes/SecondaryNavigationItem.css +221 -0
- package/src/themes/SecondaryNavigationSubItem.css +118 -0
- package/src/themes/SelectBox.css +17 -24
- package/src/themes/StatusBadge.css +135 -0
- package/src/themes/StepInput.css +5 -2
- package/src/themes/TabNavigation.css +7 -1
- package/src/themes/Tag.css +180 -148
- package/src/themes/TextField.css +75 -55
- package/dist/assets/bundle.esm-ab45813e.js +0 -312
- package/dist/assets/messagebundle_en-26cd7a92.js +0 -1
- package/dist/assets/parameters-bundle.css-76ef62fa.js +0 -2
- 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/PasswordField.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
|
+
import ValueState from "./types/common.js";
|
|
4
|
+
export declare enum InputType {
|
|
5
|
+
Password = "password",
|
|
6
|
+
Text = "text"
|
|
7
|
+
}
|
|
8
|
+
export declare enum IconType {
|
|
9
|
+
Hide = "hide",
|
|
10
|
+
Show = "show"
|
|
11
|
+
}
|
|
3
12
|
/**
|
|
4
13
|
* @class
|
|
5
14
|
*
|
|
@@ -23,9 +32,9 @@ declare class UDExPasswordField extends UI5Element {
|
|
|
23
32
|
* Defines supporting text under the input field.
|
|
24
33
|
*
|
|
25
34
|
* @default ""
|
|
26
|
-
* @
|
|
35
|
+
* @private
|
|
27
36
|
*/
|
|
28
|
-
type:
|
|
37
|
+
type: InputType;
|
|
29
38
|
/**
|
|
30
39
|
* Defines whether the component is in disabled state.
|
|
31
40
|
* <br><br>
|
|
@@ -74,7 +83,7 @@ declare class UDExPasswordField extends UI5Element {
|
|
|
74
83
|
* @default "Standard"
|
|
75
84
|
* @public
|
|
76
85
|
*/
|
|
77
|
-
valueState:
|
|
86
|
+
valueState: ValueState;
|
|
78
87
|
/**
|
|
79
88
|
* Defines supporting text under the input field.
|
|
80
89
|
*
|
|
@@ -95,7 +104,7 @@ declare class UDExPasswordField extends UI5Element {
|
|
|
95
104
|
* @default "show"
|
|
96
105
|
* @private
|
|
97
106
|
*/
|
|
98
|
-
icon:
|
|
107
|
+
icon: IconType;
|
|
99
108
|
/**
|
|
100
109
|
* Defines the inner stored show password button tooltip.
|
|
101
110
|
*
|
|
@@ -135,5 +144,6 @@ declare class UDExPasswordField extends UI5Element {
|
|
|
135
144
|
handleShowPassword(): void;
|
|
136
145
|
get passwordLabel(): string;
|
|
137
146
|
get renderShowButton(): boolean;
|
|
147
|
+
get iconButton(): IconType | null;
|
|
138
148
|
}
|
|
139
149
|
export default UDExPasswordField;
|
package/dist/PasswordField.js
CHANGED
|
@@ -12,11 +12,18 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
|
12
12
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
13
13
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
14
14
|
import UDExTextField from "./TextField.js";
|
|
15
|
-
import UDExControlButton from "./ControlButton.js";
|
|
16
15
|
import ValueState from "./types/common.js";
|
|
17
16
|
import PasswordFieldTemplate from "./generated/templates/PasswordFieldTemplate.lit.js";
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
export var InputType;
|
|
18
|
+
(function (InputType) {
|
|
19
|
+
InputType["Password"] = "password";
|
|
20
|
+
InputType["Text"] = "text";
|
|
21
|
+
})(InputType || (InputType = {}));
|
|
22
|
+
export var IconType;
|
|
23
|
+
(function (IconType) {
|
|
24
|
+
IconType["Hide"] = "hide";
|
|
25
|
+
IconType["Show"] = "show";
|
|
26
|
+
})(IconType || (IconType = {}));
|
|
20
27
|
/**
|
|
21
28
|
* @class
|
|
22
29
|
*
|
|
@@ -40,19 +47,22 @@ let UDExPasswordField = UDExPasswordField_1 = class UDExPasswordField extends UI
|
|
|
40
47
|
UDExPasswordField_1.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
41
48
|
}
|
|
42
49
|
handleShowPassword() {
|
|
43
|
-
const isPassword = this.type ===
|
|
44
|
-
this.icon = isPassword ?
|
|
45
|
-
this.type = isPassword ?
|
|
50
|
+
const isPassword = this.type === InputType.Password;
|
|
51
|
+
this.icon = isPassword ? IconType.Hide : IconType.Show;
|
|
52
|
+
this.type = isPassword ? InputType.Text : InputType.Password;
|
|
46
53
|
}
|
|
47
54
|
get passwordLabel() {
|
|
48
|
-
return `${this.label} ${this.showAsterisk
|
|
55
|
+
return `${this.label} ${this.showAsterisk ? "*" : ""}`;
|
|
49
56
|
}
|
|
50
57
|
get renderShowButton() {
|
|
51
58
|
return !this.disabled && !this.readonly && !this.displayonly && this.showButtonEnabled;
|
|
52
59
|
}
|
|
60
|
+
get iconButton() {
|
|
61
|
+
return this.renderShowButton ? this.icon : null;
|
|
62
|
+
}
|
|
53
63
|
};
|
|
54
64
|
__decorate([
|
|
55
|
-
property({ type: String, noAttribute: true, defaultValue:
|
|
65
|
+
property({ type: String, noAttribute: true, defaultValue: InputType.Password })
|
|
56
66
|
], UDExPasswordField.prototype, "type", void 0);
|
|
57
67
|
__decorate([
|
|
58
68
|
property({ type: Boolean })
|
|
@@ -70,7 +80,7 @@ __decorate([
|
|
|
70
80
|
property({ type: Boolean })
|
|
71
81
|
], UDExPasswordField.prototype, "showAsterisk", void 0);
|
|
72
82
|
__decorate([
|
|
73
|
-
property({ type: ValueState, defaultValue:
|
|
83
|
+
property({ type: ValueState, defaultValue: ValueState.Standard })
|
|
74
84
|
], UDExPasswordField.prototype, "valueState", void 0);
|
|
75
85
|
__decorate([
|
|
76
86
|
property({ type: String })
|
|
@@ -79,10 +89,10 @@ __decorate([
|
|
|
79
89
|
property({ type: Boolean })
|
|
80
90
|
], UDExPasswordField.prototype, "showButtonEnabled", void 0);
|
|
81
91
|
__decorate([
|
|
82
|
-
property({ type: String, noAttribute: true, defaultValue:
|
|
92
|
+
property({ type: String, noAttribute: true, defaultValue: IconType.Show })
|
|
83
93
|
], UDExPasswordField.prototype, "icon", void 0);
|
|
84
94
|
__decorate([
|
|
85
|
-
property({ type: String
|
|
95
|
+
property({ type: String })
|
|
86
96
|
], UDExPasswordField.prototype, "showButtonTooltip", void 0);
|
|
87
97
|
__decorate([
|
|
88
98
|
property({ type: Boolean })
|
|
@@ -91,18 +101,17 @@ __decorate([
|
|
|
91
101
|
property({ type: Boolean })
|
|
92
102
|
], UDExPasswordField.prototype, "displayonly", void 0);
|
|
93
103
|
__decorate([
|
|
94
|
-
property()
|
|
104
|
+
property({ type: String })
|
|
95
105
|
], UDExPasswordField.prototype, "accessibleName", void 0);
|
|
96
106
|
__decorate([
|
|
97
|
-
property({
|
|
107
|
+
property({ type: String })
|
|
98
108
|
], UDExPasswordField.prototype, "accessibleNameRef", void 0);
|
|
99
109
|
UDExPasswordField = UDExPasswordField_1 = __decorate([
|
|
100
110
|
customElement({
|
|
101
111
|
tag: "udex-password-field",
|
|
102
112
|
renderer: litRender,
|
|
103
|
-
styles: PasswordFieldCss,
|
|
104
113
|
template: PasswordFieldTemplate,
|
|
105
|
-
dependencies: [UDExTextField
|
|
114
|
+
dependencies: [UDExTextField],
|
|
106
115
|
})
|
|
107
116
|
], UDExPasswordField);
|
|
108
117
|
UDExPasswordField.define();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../src/PasswordField.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../src/PasswordField.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UDExTextField from \"./TextField.js\";\nimport ValueState from \"./types/common.js\";\n\nimport PasswordFieldTemplate from \"./generated/templates/PasswordFieldTemplate.lit.js\";\n\nexport enum InputType {\n Password = \"password\",\n Text = \"text\",\n}\n\nexport enum IconType {\n Hide = \"hide\",\n Show = \"show\",\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-password-field</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/UDExPasswordField.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-password-field\n * @public\n */\n@customElement({\n tag: \"udex-password-field\",\n renderer: litRender,\n template: PasswordFieldTemplate,\n dependencies: [UDExTextField],\n})\n\nclass UDExPasswordField extends UI5Element {\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: InputType.Password })\n type!: InputType;\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 the value of the component.\n * <br><br>\n * <b>Note:</b> The property is updated upon typing.\n *\n * @default \"\"\n * @formEvents input\n * @formProperty\n * @public\n */\n @property({ type: String })\n value!: string;\n\n /**\n * Sets the maximum number of characters available in the input field.\n * <br><br>\n * <b>Note:</b> This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n *\n * @public\n */\n @property({ validator: Integer })\n maxlength?: number;\n\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 asterisk for the input field's label text.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showAsterisk!: boolean;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n\n @property({ type: ValueState, defaultValue: ValueState.Standard })\n valueState!: ValueState;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n\n @property({ type: String })\n supportingText!: string;\n\n /**\n * Defines the inner stored show password button visibility state.\n *\n * @default false\n * @public\n */\n\n @property({ type: Boolean })\n showButtonEnabled!: boolean;\n\n /**\n * Defines the inner stored show password button icon.\n *\n * @default \"show\"\n * @private\n */\n\n @property({ type: String, noAttribute: true, defaultValue: IconType.Show })\n icon!: IconType;\n\n /**\n * Defines the inner stored show password button tooltip.\n *\n * @default \"\"\n * @public\n */\n\n @property({ type: String })\n showButtonTooltip!: string;\n\n /**\n * Defines the inner stored readonly state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n readonly!: boolean;\n\n /**\n * Defines the inner stored displayonly state.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the accessible ARIA name of the component.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\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({ type: String })\n accessibleNameRef!: string;\n\n static i18nBundle: I18nBundle;\n\n static async onDefine() {\n UDExPasswordField.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n handleShowPassword(): void {\n const isPassword = this.type === InputType.Password;\n\n this.icon = isPassword ? IconType.Hide : IconType.Show;\n this.type = isPassword ? InputType.Text : InputType.Password;\n }\n\n get passwordLabel(): string {\n return `${this.label} ${this.showAsterisk ? \"*\" : \"\"}`;\n }\n\n get renderShowButton(): boolean {\n return !this.disabled && !this.readonly && !this.displayonly && this.showButtonEnabled;\n }\n\n get iconButton(): IconType | null {\n return this.renderShowButton ? this.icon : null;\n }\n}\n\nUDExPasswordField.define();\n\nexport default UDExPasswordField;\n"]}
|
|
@@ -126,6 +126,12 @@ declare class UDExPhoneNumberField extends UI5Element {
|
|
|
126
126
|
* @private
|
|
127
127
|
*/
|
|
128
128
|
buttonIcon: string;
|
|
129
|
+
/**
|
|
130
|
+
* Defines the open button icon
|
|
131
|
+
*
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
_dropdownExpanded: boolean;
|
|
129
135
|
/**
|
|
130
136
|
* Defines the phone format of the input
|
|
131
137
|
*
|
package/dist/PhoneNumberField.js
CHANGED
|
@@ -51,7 +51,7 @@ let UDExPhoneNumberField = UDExPhoneNumberField_1 = class UDExPhoneNumberField e
|
|
|
51
51
|
UDExPhoneNumberField_1.i18nBundle = await getI18nBundle("sap-ui-webcomponents-bundle");
|
|
52
52
|
}
|
|
53
53
|
get countrySelectorAriaLabel() {
|
|
54
|
-
return this.accessibleName || UDExPhoneNumberField_1.i18nBundle.getText(COUNTRY_SELECT)
|
|
54
|
+
return this.accessibleName || `${this.label} ${UDExPhoneNumberField_1.i18nBundle.getText(COUNTRY_SELECT)}`;
|
|
55
55
|
}
|
|
56
56
|
get countryIso() {
|
|
57
57
|
return this.selectedIso || this.autoSelectedIso;
|
|
@@ -162,9 +162,11 @@ let UDExPhoneNumberField = UDExPhoneNumberField_1 = class UDExPhoneNumberField e
|
|
|
162
162
|
}
|
|
163
163
|
handleDropdownOpen() {
|
|
164
164
|
this.buttonIcon = OpenButtonIcon.iconUp;
|
|
165
|
+
this._dropdownExpanded = true;
|
|
165
166
|
}
|
|
166
167
|
handleDropdownClose() {
|
|
167
168
|
this.buttonIcon = OpenButtonIcon.iconDown;
|
|
169
|
+
this._dropdownExpanded = false;
|
|
168
170
|
}
|
|
169
171
|
autoSelectCountry(value) {
|
|
170
172
|
const countryToSelect = this.updatedCountriesList.find(country => {
|
|
@@ -318,6 +320,9 @@ __decorate([
|
|
|
318
320
|
__decorate([
|
|
319
321
|
property({ type: String, noAttribute: true, defaultValue: OpenButtonIcon.iconDown })
|
|
320
322
|
], UDExPhoneNumberField.prototype, "buttonIcon", void 0);
|
|
323
|
+
__decorate([
|
|
324
|
+
property({ type: Boolean, noAttribute: true })
|
|
325
|
+
], UDExPhoneNumberField.prototype, "_dropdownExpanded", void 0);
|
|
321
326
|
__decorate([
|
|
322
327
|
property({ type: String, defaultValue: initialPlaceholder, noAttribute: true })
|
|
323
328
|
], UDExPhoneNumberField.prototype, "phoneFormat", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../src/PhoneNumberField.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { COUNTRY_SELECT } from \"./generated/i18n/i18n-defaults.js\";\nimport { Country, CountryListDB } from \"./data/CountryListISO3166.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport PhoneNumberFieldTemplate from \"./generated/templates/PhoneNumberFieldTemplate.lit.js\";\n\n// Styles\nimport PhoneNumberFieldCss from \"./generated/themes/PhoneNumberField.css.js\";\n\nexport interface ExtendedCountriesListPhoneNumberData extends Country {\n selected?: boolean;\n}\n\nexport enum OpenButtonIcon {\n iconUp = \"slim-arrow-up\",\n iconDown = \"slim-arrow-down\",\n}\n\nexport enum FieldState {\n Standard = \"Standard\",\n Success = \"Success\",\n Error = \"Error\",\n}\n\nconst initialPlaceholder: string = \"+X XXX-XXX-XXXX\";\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-phone-number-field\n * @public\n */\n@customElement({\n tag: \"udex-phone-number-field\",\n renderer: litRender,\n styles: PhoneNumberFieldCss,\n template: PhoneNumberFieldTemplate,\n dependencies: [\n UDExDropdown,\n UDExList,\n UDExListItem,\n UDExButton,\n UDExStatusMessage,\n ],\n})\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\")\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\")\nclass UDExPhoneNumberField extends UI5Element {\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n label!: string;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: FieldState, defaultValue: FieldState.Standard })\n fieldState!: `${FieldState}`;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n supportingText!: 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 * 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 @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the country iso code selected by the user\n * <br><br>\n * Note: should be used two-letter country codes, e.g.: \"DE\" | \"PL\" | \"UA\" | \"US\"\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n selectedIso!: string;\n\n /**\n * Defines the autoselected country iso code\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: \"\" })\n autoSelectedIso!: 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 * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n value!: string;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: OpenButtonIcon.iconDown })\n buttonIcon!: string;\n\n /**\n * Defines the phone format of the input\n *\n * @private\n */\n @property({ type: String, defaultValue: initialPlaceholder, noAttribute: true })\n phoneFormat!: string;\n\n /**\n * Defines the maxlength of the input\n *\n * @private\n */\n @property({ validator: Integer })\n maxlength!: number;\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 the allowed keys for the input\n *\n * @private\n */\n @property({ type: String, multiple: true, noAttribute: true })\n allowedKeys: string[] = [\n \"Backspace\",\n \"Delete\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Tab\",\n \"Enter\",\n \"Home\",\n \"End\",\n \"Escape\",\n ];\n\n /**\n * Keeps the value of previously pressed key\n *\n * @private\n */\n @property({ type: String, multiple: false, noAttribute: true })\n previousKey!: string;\n\n static i18nBundle: I18nBundle;\n _dropdown!: UDExDropdown;\n _handleResizeBound: ResizeObserverCallback\n\n static async onDefine() {\n UDExPhoneNumberField.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n get countrySelectorAriaLabel() {\n return this.accessibleName || UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT);\n }\n\n get countryIso() {\n return this.selectedIso || this.autoSelectedIso;\n }\n\n countriesList: ExtendedCountriesListPhoneNumberData[] = CountryListDB;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\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 onAfterRendering() {\n this._dropdown = this.getDropdown();\n }\n\n onClick(): void {\n if (this.isButtonDisabled) {\n return;\n }\n const button = this.getButton();\n const dropdown = this.getDropdown();\n\n if (dropdown.open) {\n dropdown.onClose();\n } else {\n dropdown.onOpen(button);\n }\n }\n\n _handleResize() {\n this._dropdown.style.setProperty(\"--udex-dropdown-pane-width\", `${this.offsetWidth}px`);\n }\n\n handleInput(e: InputEvent) {\n this.value = (e.target as HTMLInputElement)?.value.trim();\n\n this.applyPhoneMask();\n\n if (!this.value.startsWith(this.selectedPhonePrefix)) {\n this.selectedIso = \"\";\n }\n\n if (this.value.length === 0 || this.value === \"+\") {\n this.autoSelectedIso = \"\";\n this.selectedIso = \"\";\n }\n\n this.fireEvent(\"input\");\n }\n\n handleChange() {\n this.fireEvent(\"change\");\n }\n\n handleKeyDown = (e: KeyboardEvent) => {\n const isKeyAllowed = e.key.match(/\\d/)\n || this.allowedKeys.includes(e.key)\n || e.metaKey\n || e.ctrlKey;\n\n if (!isKeyAllowed) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n this.previousKey = e.key;\n };\n\n handleKeyUp() {\n this.value = this.value.replace(/[^\\d+ ()-]/g, \"\").trim();\n this.applyPhoneMask();\n }\n\n handleFocus() {\n if (this.countryIso.length === 0) {\n this.phoneFormat = initialPlaceholder;\n }\n\n if (this.value.length === 0 || this.value === \"+\") {\n this.value = this.selectedPhonePrefix;\n }\n }\n\n handleBlur() {\n this.applyPlaceholder();\n\n const prefixLength = this.selectedPhonePrefix.length;\n const enteredPrefix = this.value.substring(0, prefixLength);\n const isIncorrectPrefixEntered = enteredPrefix !== this.selectedPhonePrefix;\n\n const isIncorrectNumberEntered = !this.countryIso || this.value.length <= prefixLength || isIncorrectPrefixEntered;\n\n if (isIncorrectNumberEntered) {\n this.value = \"\";\n }\n\n this.fireEvent(\"change\");\n }\n\n handleSelect(e: CustomEvent) {\n const dropdown = this.getDropdown();\n\n dropdown.onClose();\n\n this.selectedIso = e.detail.item.id;\n this.value = this.selectedPhonePrefix;\n this.phoneFormat = this.value + this.selectedPlaceholder;\n this.maxlength = this.phoneFormat.length;\n this.getInputField().focus();\n }\n\n handleDropdownOpen() {\n this.buttonIcon = OpenButtonIcon.iconUp;\n }\n handleDropdownClose() {\n this.buttonIcon = OpenButtonIcon.iconDown;\n }\n\n autoSelectCountry(value: string) {\n const countryToSelect = this.updatedCountriesList.find(country => {\n const valuePhonePrefix = value.substring(0, country.phonePrefix.length);\n\n return country.phonePrefix === valuePhonePrefix;\n });\n\n if (countryToSelect) {\n this.autoSelectedIso = countryToSelect.iso;\n }\n\n if (this.selectedPhonePrefix && this.selectedPlaceholder) {\n this.maxlength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;\n }\n }\n\n applyPhoneMask() {\n const isNewPrefixEntered = this.value.substring(0, this.selectedPhonePrefix.length) !== this.selectedPhonePrefix;\n if (this.value.split(\"\")[0] !== \"+\") {\n this.value = `+${this.value}`;\n }\n\n this.autoSelectCountry(this.value);\n\n if (isNewPrefixEntered) {\n return;\n }\n\n const mask = this.selectedPhonePrefix + this.selectedPlaceholder;\n const maskSymbols = [\" \", \"-\", \"(\", \")\"];\n\n const valueWithMask = this.value.split(\"\").map((char, index) => {\n if (maskSymbols.includes(char) && char === mask[index]) {\n return char;\n }\n if (maskSymbols.includes(char) && char !== mask[index]) {\n return \"\";\n }\n if (maskSymbols.includes(mask[index]) && char !== mask[index]) {\n return `${mask[index]}${char}`;\n }\n return char;\n }).join(\"\");\n\n this.value = valueWithMask;\n\n if (this.value.length > this.maxlength) {\n this.value = this.value.substring(0, this.maxlength);\n }\n }\n\n applyPlaceholder() {\n this.phoneFormat = this.countryIso.length > 0\n ? this.selectedPhonePrefix + this.selectedPlaceholder : initialPlaceholder;\n }\n\n getDropdown() {\n return this.shadowRoot!.querySelector<UDExDropdown>(\n \"[udex-dropdown]\",\n )!;\n }\n\n getButton() {\n return this.shadowRoot!.querySelector<UDExButton>(\n \"[udex-button]\",\n )!;\n }\n\n getInputField() {\n return this.shadowRoot!.querySelector<HTMLFormElement>(\n \"input\",\n )!;\n }\n\n get selectedPhonePrefix(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.phonePrefix\n || this.updatedCountriesList[0]?.phonePrefix;\n }\n\n get selectedPlaceholder(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.phoneFmt\n || this.updatedCountriesList[0]?.phoneFmt;\n }\n\n get selectedCountryName(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.countryName\n || this.updatedCountriesList[0]?.countryName;\n }\n\n get selectedFlagBackgroundPosition() {\n if (!this.countryIso) {\n return {};\n }\n\n const selectedCountry = this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0];\n\n if (!selectedCountry) {\n return {};\n }\n\n return { \"backgroundPosition\": `${selectedCountry.flagX} ${selectedCountry.flagY}` };\n }\n\n get ariaInvalid() {\n return this.fieldState === FieldState.Error ? \"true\" : null;\n }\n\n get isInputReadonly() {\n return this.readonly || this.displayonly;\n }\n\n get isButtonDisabled() {\n return this.disabled || this.isInputReadonly;\n }\n\n get updatedCountriesList(): ExtendedCountriesListPhoneNumberData[] {\n return this.countriesList.map(country => {\n if (country.selected) {\n delete country.selected;\n }\n\n if (country.iso === this.countryIso) {\n country.selected = true;\n }\n\n return country;\n });\n }\n\n onBeforeRendering() {\n this.applyPlaceholder();\n\n if (this.blockedCountryCodes?.length) {\n const blockedCountryCodesArray = this.blockedCountryCodes.split(\",\").map(code => code.trim().toUpperCase());\n this.countriesList = this.countriesList\n .filter(country => !blockedCountryCodesArray?.includes(country.iso.toUpperCase()));\n }\n }\n}\n\nUDExPhoneNumberField.define();\n\nexport default UDExPhoneNumberField;\n"]}
|
|
1
|
+
{"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../src/PhoneNumberField.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ResizeHandler, { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { COUNTRY_SELECT } from \"./generated/i18n/i18n-defaults.js\";\nimport { Country, CountryListDB } from \"./data/CountryListISO3166.js\";\nimport UDExDropdown from \"./Dropdown.js\";\nimport UDExList from \"./List.js\";\nimport UDExListItem from \"./ListItem.js\";\nimport UDExButton from \"./Button.js\";\nimport UDExStatusMessage from \"./StatusMessage.js\";\n\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\n\nimport PhoneNumberFieldTemplate from \"./generated/templates/PhoneNumberFieldTemplate.lit.js\";\n\n// Styles\nimport PhoneNumberFieldCss from \"./generated/themes/PhoneNumberField.css.js\";\n\nexport interface ExtendedCountriesListPhoneNumberData extends Country {\n selected?: boolean;\n}\n\nexport enum OpenButtonIcon {\n iconUp = \"slim-arrow-up\",\n iconDown = \"slim-arrow-down\",\n}\n\nexport enum FieldState {\n Standard = \"Standard\",\n Success = \"Success\",\n Error = \"Error\",\n}\n\nconst initialPlaceholder: string = \"+X XXX-XXX-XXXX\";\n\n/**\n * @class\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-phone-number-field\n * @public\n */\n@customElement({\n tag: \"udex-phone-number-field\",\n renderer: litRender,\n styles: PhoneNumberFieldCss,\n template: PhoneNumberFieldTemplate,\n dependencies: [\n UDExDropdown,\n UDExList,\n UDExListItem,\n UDExButton,\n UDExStatusMessage,\n ],\n})\n/**\n * Fired when the value of the component changes at each keystroke.\n *\n * @public\n */\n@event(\"input\")\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\")\nclass UDExPhoneNumberField extends UI5Element {\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n label!: string;\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property({ type: FieldState, defaultValue: FieldState.Standard })\n fieldState!: `${FieldState}`;\n\n /**\n * Defines supporting text under the input field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n supportingText!: 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 * 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 @property({ type: Boolean })\n displayonly!: boolean;\n\n /**\n * Defines the country iso code selected by the user\n * <br><br>\n * Note: should be used two-letter country codes, e.g.: \"DE\" | \"PL\" | \"UA\" | \"US\"\n *\n * @default \"\"\n * @public\n */\n @property({ type: String, defaultValue: \"\" })\n selectedIso!: string;\n\n /**\n * Defines the autoselected country iso code\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: \"\" })\n autoSelectedIso!: 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 * Allows control over the height.\n *\n * @public\n */\n @property({ type: String })\n height?: string;\n\n /**\n * Defines the value of the component.\n *\n * @default \"\"\n */\n @property({ type: String, defaultValue: \"\" })\n value!: string;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: String, noAttribute: true, defaultValue: OpenButtonIcon.iconDown })\n buttonIcon!: string;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _dropdownExpanded!: boolean;\n\n /**\n * Defines the phone format of the input\n *\n * @private\n */\n @property({ type: String, defaultValue: initialPlaceholder, noAttribute: true })\n phoneFormat!: string;\n\n /**\n * Defines the maxlength of the input\n *\n * @private\n */\n @property({ validator: Integer })\n maxlength!: number;\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 the allowed keys for the input\n *\n * @private\n */\n @property({ type: String, multiple: true, noAttribute: true })\n allowedKeys: string[] = [\n \"Backspace\",\n \"Delete\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Tab\",\n \"Enter\",\n \"Home\",\n \"End\",\n \"Escape\",\n ];\n\n /**\n * Keeps the value of previously pressed key\n *\n * @private\n */\n @property({ type: String, multiple: false, noAttribute: true })\n previousKey!: string;\n\n static i18nBundle: I18nBundle;\n _dropdown!: UDExDropdown;\n _handleResizeBound: ResizeObserverCallback;\n\n static async onDefine() {\n UDExPhoneNumberField.i18nBundle = await getI18nBundle(\"sap-ui-webcomponents-bundle\");\n }\n\n get countrySelectorAriaLabel() {\n return this.accessibleName || `${this.label} ${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)}`;\n }\n\n get countryIso() {\n return this.selectedIso || this.autoSelectedIso;\n }\n\n countriesList: ExtendedCountriesListPhoneNumberData[] = CountryListDB;\n\n constructor() {\n super();\n this._handleResizeBound = this._handleResize.bind(this);\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 onAfterRendering() {\n this._dropdown = this.getDropdown();\n }\n\n onClick(): void {\n if (this.isButtonDisabled) {\n return;\n }\n const button = this.getButton();\n const dropdown = this.getDropdown();\n\n if (dropdown.open) {\n dropdown.onClose();\n } else {\n dropdown.onOpen(button);\n }\n }\n\n _handleResize() {\n this._dropdown.style.setProperty(\"--udex-dropdown-pane-width\", `${this.offsetWidth}px`);\n }\n\n handleInput(e: InputEvent) {\n this.value = (e.target as HTMLInputElement)?.value.trim();\n\n this.applyPhoneMask();\n\n if (!this.value.startsWith(this.selectedPhonePrefix)) {\n this.selectedIso = \"\";\n }\n\n if (this.value.length === 0 || this.value === \"+\") {\n this.autoSelectedIso = \"\";\n this.selectedIso = \"\";\n }\n\n this.fireEvent(\"input\");\n }\n\n handleChange() {\n this.fireEvent(\"change\");\n }\n\n handleKeyDown = (e: KeyboardEvent) => {\n const isKeyAllowed = e.key.match(/\\d/)\n || this.allowedKeys.includes(e.key)\n || e.metaKey\n || e.ctrlKey;\n\n if (!isKeyAllowed) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n this.previousKey = e.key;\n };\n\n handleKeyUp() {\n this.value = this.value.replace(/[^\\d+ ()-]/g, \"\").trim();\n this.applyPhoneMask();\n }\n\n handleFocus() {\n if (this.countryIso.length === 0) {\n this.phoneFormat = initialPlaceholder;\n }\n\n if (this.value.length === 0 || this.value === \"+\") {\n this.value = this.selectedPhonePrefix;\n }\n }\n\n handleBlur() {\n this.applyPlaceholder();\n\n const prefixLength = this.selectedPhonePrefix.length;\n const enteredPrefix = this.value.substring(0, prefixLength);\n const isIncorrectPrefixEntered = enteredPrefix !== this.selectedPhonePrefix;\n\n const isIncorrectNumberEntered = !this.countryIso || this.value.length <= prefixLength || isIncorrectPrefixEntered;\n\n if (isIncorrectNumberEntered) {\n this.value = \"\";\n }\n\n this.fireEvent(\"change\");\n }\n\n handleSelect(e: CustomEvent) {\n const dropdown = this.getDropdown();\n\n dropdown.onClose();\n\n this.selectedIso = e.detail.item.id;\n this.value = this.selectedPhonePrefix;\n this.phoneFormat = this.value + this.selectedPlaceholder;\n this.maxlength = this.phoneFormat.length;\n this.getInputField().focus();\n }\n\n handleDropdownOpen() {\n this.buttonIcon = OpenButtonIcon.iconUp;\n this._dropdownExpanded = true;\n }\n handleDropdownClose() {\n this.buttonIcon = OpenButtonIcon.iconDown;\n this._dropdownExpanded = false;\n }\n\n autoSelectCountry(value: string) {\n const countryToSelect = this.updatedCountriesList.find(country => {\n const valuePhonePrefix = value.substring(0, country.phonePrefix.length);\n\n return country.phonePrefix === valuePhonePrefix;\n });\n\n if (countryToSelect) {\n this.autoSelectedIso = countryToSelect.iso;\n }\n\n if (this.selectedPhonePrefix && this.selectedPlaceholder) {\n this.maxlength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;\n }\n }\n\n applyPhoneMask() {\n const isNewPrefixEntered = this.value.substring(0, this.selectedPhonePrefix.length) !== this.selectedPhonePrefix;\n if (this.value.split(\"\")[0] !== \"+\") {\n this.value = `+${this.value}`;\n }\n\n this.autoSelectCountry(this.value);\n\n if (isNewPrefixEntered) {\n return;\n }\n\n const mask = this.selectedPhonePrefix + this.selectedPlaceholder;\n const maskSymbols = [\" \", \"-\", \"(\", \")\"];\n\n const valueWithMask = this.value.split(\"\").map((char, index) => {\n if (maskSymbols.includes(char) && char === mask[index]) {\n return char;\n }\n if (maskSymbols.includes(char) && char !== mask[index]) {\n return \"\";\n }\n if (maskSymbols.includes(mask[index]) && char !== mask[index]) {\n return `${mask[index]}${char}`;\n }\n return char;\n }).join(\"\");\n\n this.value = valueWithMask;\n\n if (this.value.length > this.maxlength) {\n this.value = this.value.substring(0, this.maxlength);\n }\n }\n\n applyPlaceholder() {\n this.phoneFormat = this.countryIso.length > 0\n ? this.selectedPhonePrefix + this.selectedPlaceholder : initialPlaceholder;\n }\n\n getDropdown() {\n return this.shadowRoot!.querySelector<UDExDropdown>(\n \"[udex-dropdown]\",\n )!;\n }\n\n getButton() {\n return this.shadowRoot!.querySelector<UDExButton>(\n \"[udex-button]\",\n )!;\n }\n\n getInputField() {\n return this.shadowRoot!.querySelector<HTMLFormElement>(\n \"input\",\n )!;\n }\n\n get selectedPhonePrefix(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.phonePrefix\n || this.updatedCountriesList[0]?.phonePrefix;\n }\n\n get selectedPlaceholder(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.phoneFmt\n || this.updatedCountriesList[0]?.phoneFmt;\n }\n\n get selectedCountryName(): string {\n if (!this.countryIso) {\n return \"\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.countryName\n || this.updatedCountriesList[0]?.countryName;\n }\n\n get selectedFlagBackgroundPosition() {\n if (!this.countryIso) {\n return {};\n }\n\n const selectedCountry = this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0];\n\n if (!selectedCountry) {\n return {};\n }\n\n return { \"backgroundPosition\": `${selectedCountry.flagX} ${selectedCountry.flagY}` };\n }\n\n get ariaInvalid() {\n return this.fieldState === FieldState.Error ? \"true\" : null;\n }\n\n get isInputReadonly() {\n return this.readonly || this.displayonly;\n }\n\n get isButtonDisabled() {\n return this.disabled || this.isInputReadonly;\n }\n\n get updatedCountriesList(): ExtendedCountriesListPhoneNumberData[] {\n return this.countriesList.map(country => {\n if (country.selected) {\n delete country.selected;\n }\n\n if (country.iso === this.countryIso) {\n country.selected = true;\n }\n\n return country;\n });\n }\n\n onBeforeRendering() {\n this.applyPlaceholder();\n\n if (this.blockedCountryCodes?.length) {\n const blockedCountryCodesArray = this.blockedCountryCodes.split(\",\").map(code => code.trim().toUpperCase());\n this.countriesList = this.countriesList\n .filter(country => !blockedCountryCodesArray?.includes(country.iso.toUpperCase()));\n }\n }\n}\n\nUDExPhoneNumberField.define();\n\nexport default UDExPhoneNumberField;\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
|
+
/**
|
|
4
|
+
* @class
|
|
5
|
+
*
|
|
6
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
* <h3>Usage</h3>
|
|
10
|
+
*
|
|
11
|
+
* For the <code>udex-rating-bar</code>
|
|
12
|
+
* <h3>ES6 Module Import</h3>
|
|
13
|
+
*
|
|
14
|
+
* <code>import "@udex/web-components/dist/RatingBar.js";</code>
|
|
15
|
+
*
|
|
16
|
+
* @constructor
|
|
17
|
+
* @extends UI5Element
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
declare class UDExRatingBar extends UI5Element {
|
|
21
|
+
/**
|
|
22
|
+
* Defines the associated rating.
|
|
23
|
+
*
|
|
24
|
+
* @default 0
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
rating: number;
|
|
28
|
+
/**
|
|
29
|
+
* Defines the percentage.
|
|
30
|
+
*
|
|
31
|
+
* @default 0
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
percentage: number;
|
|
35
|
+
/**
|
|
36
|
+
* Defines wether the percentage is shown or not.
|
|
37
|
+
*
|
|
38
|
+
* @default false
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
showPercentage: boolean;
|
|
42
|
+
static i18nBundle: I18nBundle;
|
|
43
|
+
_minRating: number;
|
|
44
|
+
_maxRating: number;
|
|
45
|
+
_minPercentage: number;
|
|
46
|
+
_maxPercentage: number;
|
|
47
|
+
static onDefine(): Promise<void>;
|
|
48
|
+
onBeforeRendering(): void;
|
|
49
|
+
get validatedRating(): number;
|
|
50
|
+
get validatedPercentage(): string;
|
|
51
|
+
get _ratingDescription(): string;
|
|
52
|
+
}
|
|
53
|
+
export default UDExRatingBar;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var UDExRatingBar_1;
|
|
8
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
10
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
11
|
+
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
12
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
13
|
+
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
14
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
15
|
+
import { STARS } from "./generated/i18n/i18n-defaults.js";
|
|
16
|
+
import RatingBarTemplate from "./generated/templates/RatingBarTemplate.lit.js";
|
|
17
|
+
// Styles
|
|
18
|
+
import RatingBarCss from "./generated/themes/RatingBar.css.js";
|
|
19
|
+
/**
|
|
20
|
+
* @class
|
|
21
|
+
*
|
|
22
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
23
|
+
*
|
|
24
|
+
*
|
|
25
|
+
* <h3>Usage</h3>
|
|
26
|
+
*
|
|
27
|
+
* For the <code>udex-rating-bar</code>
|
|
28
|
+
* <h3>ES6 Module Import</h3>
|
|
29
|
+
*
|
|
30
|
+
* <code>import "@udex/web-components/dist/RatingBar.js";</code>
|
|
31
|
+
*
|
|
32
|
+
* @constructor
|
|
33
|
+
* @extends UI5Element
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
let UDExRatingBar = UDExRatingBar_1 = class UDExRatingBar extends UI5Element {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
this._minRating = 0;
|
|
40
|
+
this._maxRating = 5;
|
|
41
|
+
this._minPercentage = 0;
|
|
42
|
+
this._maxPercentage = 100;
|
|
43
|
+
}
|
|
44
|
+
static async onDefine() {
|
|
45
|
+
UDExRatingBar_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
46
|
+
}
|
|
47
|
+
onBeforeRendering() {
|
|
48
|
+
this.style.setProperty("--udex-rating-bar-progress", `${this.percentage}%`);
|
|
49
|
+
}
|
|
50
|
+
get validatedRating() {
|
|
51
|
+
if (this.rating > this._maxRating) {
|
|
52
|
+
console.warn("UDEx RatingBar: The rating shouldn't be more than 5.");
|
|
53
|
+
return this._maxRating;
|
|
54
|
+
}
|
|
55
|
+
if (this.rating < this._minRating) {
|
|
56
|
+
console.warn("UDEx RatingBar: The rating shouldn't be less than 0.");
|
|
57
|
+
return this._minRating;
|
|
58
|
+
}
|
|
59
|
+
return this.rating;
|
|
60
|
+
}
|
|
61
|
+
get validatedPercentage() {
|
|
62
|
+
if (this.percentage > this._maxPercentage) {
|
|
63
|
+
console.warn("UDEx RatingBar: The percentage shouldn't be more than 100.");
|
|
64
|
+
return `${this._maxPercentage}%`;
|
|
65
|
+
}
|
|
66
|
+
if (this.percentage < this._minPercentage) {
|
|
67
|
+
console.warn("UDEx RatingBar: The percentage shouldn't be less than 0.");
|
|
68
|
+
return `${this._minPercentage}%`;
|
|
69
|
+
}
|
|
70
|
+
return `${this.percentage}%`;
|
|
71
|
+
}
|
|
72
|
+
get _ratingDescription() {
|
|
73
|
+
return `${this.validatedRating} ${UDExRatingBar_1.i18nBundle.getText(STARS)}`;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
__decorate([
|
|
77
|
+
property({ type: Number, defaultValue: 0, validator: Integer })
|
|
78
|
+
], UDExRatingBar.prototype, "rating", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
property({ type: Number, defaultValue: 0, validator: Integer })
|
|
81
|
+
], UDExRatingBar.prototype, "percentage", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
property({ type: Boolean })
|
|
84
|
+
], UDExRatingBar.prototype, "showPercentage", void 0);
|
|
85
|
+
UDExRatingBar = UDExRatingBar_1 = __decorate([
|
|
86
|
+
customElement({
|
|
87
|
+
tag: "udex-rating-bar",
|
|
88
|
+
renderer: litRender,
|
|
89
|
+
styles: RatingBarCss,
|
|
90
|
+
template: RatingBarTemplate,
|
|
91
|
+
dependencies: [Icon],
|
|
92
|
+
})
|
|
93
|
+
], UDExRatingBar);
|
|
94
|
+
UDExRatingBar.define();
|
|
95
|
+
export default UDExRatingBar;
|
|
96
|
+
//# sourceMappingURL=RatingBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RatingBar.js","sourceRoot":"","sources":["../src/RatingBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAmB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAE/E,SAAS;AACT,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAE/D;;;;;;;;;;;;;;;;GAgBG;AASH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QA8BE,eAAU,GAAW,CAAC,CAAC;QACvB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,mBAAc,GAAW,GAAG,CAAC;IAqC/B,CAAC;IAnCC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,eAAa,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE;YACjC,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC;SAClC;QACD,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9E,CAAC;CACF,CAAA;AA9DG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;6CAC9C;AAShB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;iDAC1C;AASpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACD;AA1BvB,aAAa;IARlB,aAAa,CAAC;QACb,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE,CAAC,IAAI,CAAC;KACrB,CAAC;GAEI,aAAa,CAsElB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { STARS } from \"./generated/i18n/i18n-defaults.js\";\nimport RatingBarTemplate from \"./generated/templates/RatingBarTemplate.lit.js\";\n\n// Styles\nimport RatingBarCss from \"./generated/themes/RatingBar.css.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-rating-bar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@udex/web-components/dist/RatingBar.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n tag: \"udex-rating-bar\",\n renderer: litRender,\n styles: RatingBarCss,\n template: RatingBarTemplate,\n dependencies: [Icon],\n})\n\nclass UDExRatingBar extends UI5Element {\n /**\n * Defines the associated rating.\n *\n * @default 0\n * @public\n */\n @property({ type: Number, defaultValue: 0, validator: Integer })\n rating!: number;\n\n /**\n * Defines the percentage.\n *\n * @default 0\n * @public\n */\n @property({ type: Number, defaultValue: 0, validator: Integer })\n percentage!: number;\n\n /**\n * Defines wether the percentage is shown or not.\n *\n * @default false\n * @public\n */\n @property({ type: Boolean })\n showPercentage!: boolean;\n\n static i18nBundle: I18nBundle;\n\n _minRating: number = 0;\n _maxRating: number = 5;\n _minPercentage: number = 0;\n _maxPercentage: number = 100;\n\n static async onDefine() {\n UDExRatingBar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n }\n\n onBeforeRendering(): void {\n this.style.setProperty(\"--udex-rating-bar-progress\", `${this.percentage}%`);\n }\n\n get validatedRating(): number {\n if (this.rating > this._maxRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be more than 5.\");\n return this._maxRating;\n }\n if (this.rating < this._minRating) {\n console.warn(\"UDEx RatingBar: The rating shouldn't be less than 0.\");\n return this._minRating;\n }\n return this.rating;\n }\n\n get validatedPercentage(): string {\n if (this.percentage > this._maxPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be more than 100.\");\n return `${this._maxPercentage}%`;\n }\n if (this.percentage < this._minPercentage) {\n console.warn(\"UDEx RatingBar: The percentage shouldn't be less than 0.\");\n return `${this._minPercentage}%`;\n }\n return `${this.percentage}%`;\n }\n\n get _ratingDescription(): string {\n return `${this.validatedRating} ${UDExRatingBar.i18nBundle.getText(STARS)}`;\n }\n}\n\nUDExRatingBar.define();\n\nexport default UDExRatingBar;\n"]}
|
package/dist/Review.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
|
+
import UDExRatingBar from "./RatingBar.js";
|
|
4
|
+
import UDExButton from "./Button.js";
|
|
5
|
+
import "@ui5/webcomponents-icons/dist/favorite.js";
|
|
6
|
+
/**
|
|
7
|
+
* @class
|
|
8
|
+
*
|
|
9
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* <h3>Usage</h3>
|
|
13
|
+
*
|
|
14
|
+
* For the <code>udex-review</code>
|
|
15
|
+
* <h3>ES6 Module Import</h3>
|
|
16
|
+
*
|
|
17
|
+
* <code>import "@udex/web-components/dist/Review.js";</code>
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
* @extends UI5Element
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
declare class UDExReview extends UI5Element {
|
|
24
|
+
/**
|
|
25
|
+
* Defines the rating.
|
|
26
|
+
*
|
|
27
|
+
* @default 0
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
rating: number;
|
|
31
|
+
/**
|
|
32
|
+
* Defines the total number of reviews.
|
|
33
|
+
*
|
|
34
|
+
* @default 0
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
reviews: number;
|
|
38
|
+
/**
|
|
39
|
+
* Slot for a button for writing a review.
|
|
40
|
+
*
|
|
41
|
+
* @slot
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
reviewButton: UDExButton;
|
|
45
|
+
/**
|
|
46
|
+
* Slot for the default text when there are no reviews or rating.
|
|
47
|
+
*
|
|
48
|
+
* @slot
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
defaultText: HTMLElement;
|
|
52
|
+
/**
|
|
53
|
+
* Slot for rating bars.
|
|
54
|
+
*
|
|
55
|
+
* @slot
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
bars: Array<UDExRatingBar>;
|
|
59
|
+
static i18nBundle: I18nBundle;
|
|
60
|
+
_minRating: number;
|
|
61
|
+
_maxRating: number;
|
|
62
|
+
_maxRatingBars: number;
|
|
63
|
+
static onDefine(): Promise<void>;
|
|
64
|
+
get reviewsText(): string;
|
|
65
|
+
get withoutBreakdown(): boolean;
|
|
66
|
+
get isEmpty(): boolean;
|
|
67
|
+
get validatedRating(): number;
|
|
68
|
+
get validatedRatingBars(): Array<UDExRatingBar>;
|
|
69
|
+
get _ratingDescription(): string;
|
|
70
|
+
}
|
|
71
|
+
export default UDExReview;
|