@sapudex/web-components 2.1.1 → 2.3.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 +1 -0
- package/cypress/fixtures/event-ribbon-links.ts +5 -0
- package/cypress/specs/Accordion.cy.tsx +1 -2
- package/cypress/specs/AccordionItem.cy.tsx +1 -1
- package/cypress/specs/Avatar.cy.tsx +1 -1
- package/cypress/specs/AvatarGroup.cy.tsx +1 -2
- package/cypress/specs/Badge.cy.tsx +1 -1
- package/cypress/specs/CountrySelector.cy.tsx +10 -4
- package/cypress/specs/EventRibbon.cy.tsx +110 -0
- package/cypress/specs/Footer.cy.tsx +1 -1
- package/cypress/specs/ListItem.cy.tsx +5 -5
- package/cypress/specs/PhoneNumberField.cy.tsx +4 -2
- package/cypress/specs/Review.cy.tsx +1 -3
- package/cypress/specs/ReviewItem.cy.tsx +1 -1
- package/cypress/specs/SecondaryNavigationDesktop.cy.tsx +129 -131
- package/cypress/specs/SecondaryNavigationMobile.cy.tsx +27 -38
- package/cypress/specs/SelectBox.cy.tsx +93 -88
- package/cypress/specs/Slider.cy.tsx +5 -4
- package/cypress/specs/StatusBadge.cy.tsx +1 -1
- package/cypress/specs/StatusMessage.cy.tsx +1 -1
- package/cypress/specs/Switch.cy.tsx +1 -2
- package/cypress/specs/Table.cy.tsx +1 -9
- package/cypress/specs/Tag.cy.tsx +1 -1
- package/cypress/specs/TagGroup.cy.tsx +1 -2
- package/cypress/specs/TextField.cy.tsx +1 -1
- package/cypress/specs/Textarea.cy.tsx +1 -1
- package/cypress/specs/Toast.cy.tsx +1 -1
- package/cypress/specs/Tooltip.cy.tsx +1 -2
- package/cypress/specs/TruncatedText.cy.tsx +2 -1
- package/cypress/specs/Upload.cy.tsx +1 -2
- package/cypress/specs/UploadItem.cy.tsx +1 -1
- package/cypress/specs/Wizard.cy.tsx +7 -4
- package/cypress/support/component-imports.instrumented.ts +91 -0
- package/cypress/support/component-imports.src.ts +91 -0
- package/cypress/support/component.ts +1 -1
- package/cypress.config.ts +6 -0
- package/dist/AssetsVariables.js +4 -0
- package/dist/AssetsVariables.js.map +1 -1
- package/dist/Badge.d.ts +2 -2
- package/dist/Badge.js +4 -4
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +1 -0
- package/dist/Breadcrumbs.js +11 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.d.ts +19 -1
- package/dist/Button.js +15 -1
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.d.ts +1 -0
- package/dist/Checkbox.js +3 -0
- package/dist/Checkbox.js.map +1 -1
- package/dist/ControlButton.d.ts +2 -1
- package/dist/ControlButton.js +2 -1
- package/dist/ControlButton.js.map +1 -1
- package/dist/CountrySelector.d.ts +2 -2
- package/dist/CountrySelector.js +3 -1
- package/dist/CountrySelector.js.map +1 -1
- package/dist/DatePicker.d.ts +2 -2
- package/dist/DatePicker.js +2 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/EventRibbon.d.ts +80 -0
- package/dist/EventRibbon.js +111 -0
- package/dist/EventRibbon.js.map +1 -0
- package/dist/EventRibbonTemplate.d.ts +2 -0
- package/dist/EventRibbonTemplate.js +7 -0
- package/dist/EventRibbonTemplate.js.map +1 -0
- package/dist/HeroBanner.d.ts +1 -1
- package/dist/InputGroup.d.ts +5 -2
- package/dist/InputGroup.js +6 -0
- package/dist/InputGroup.js.map +1 -1
- package/dist/ListItem.d.ts +3 -2
- package/dist/ListItem.js +2 -2
- package/dist/ListItem.js.map +1 -1
- package/dist/MastheadItem.js +1 -1
- package/dist/MastheadItem.js.map +1 -1
- package/dist/MastheadShell.d.ts +4 -1
- package/dist/MastheadShell.js +21 -5
- package/dist/MastheadShell.js.map +1 -1
- package/dist/MediaPlayer.d.ts +2 -1
- package/dist/MediaPlayer.js.map +1 -1
- package/dist/MediaPlayerYoutube.d.ts +2 -1
- package/dist/MediaPlayerYoutube.js.map +1 -1
- package/dist/Pagination.d.ts +18 -4
- package/dist/Pagination.js +33 -31
- package/dist/Pagination.js.map +1 -1
- package/dist/PhoneNumberField.d.ts +10 -7
- package/dist/PhoneNumberField.js +8 -2
- package/dist/PhoneNumberField.js.map +1 -1
- package/dist/ProgressBar.d.ts +2 -2
- package/dist/ProgressBar.js +6 -6
- package/dist/ProgressBar.js.map +1 -1
- package/dist/RadioButton.d.ts +2 -2
- package/dist/RadioButton.js +6 -6
- package/dist/RadioButton.js.map +1 -1
- package/dist/Search.d.ts +0 -1
- package/dist/Search.js +1 -3
- package/dist/Search.js.map +1 -1
- package/dist/SearchableListBase.d.ts +9 -0
- package/dist/SearchableListBase.js +10 -2
- package/dist/SearchableListBase.js.map +1 -1
- package/dist/SecondaryNavigation.d.ts +4 -1
- package/dist/SecondaryNavigation.js +38 -10
- package/dist/SecondaryNavigation.js.map +1 -1
- package/dist/SecondaryNavigationItem.d.ts +10 -0
- package/dist/SecondaryNavigationItem.js +19 -0
- package/dist/SecondaryNavigationItem.js.map +1 -1
- package/dist/SecondaryNavigationItemBase.d.ts +1 -0
- package/dist/SecondaryNavigationItemBase.js +4 -0
- package/dist/SecondaryNavigationItemBase.js.map +1 -1
- package/dist/SecondaryNavigationSubItem.d.ts +0 -1
- package/dist/SecondaryNavigationSubItem.js +0 -4
- package/dist/SecondaryNavigationSubItem.js.map +1 -1
- package/dist/SegmentedButton.d.ts +1 -1
- package/dist/SegmentedButton.js +1 -1
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -1
- package/dist/SegmentedButtonItem.js +2 -2
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/StatusBadge.d.ts +8 -3
- package/dist/StatusBadge.js +9 -1
- package/dist/StatusBadge.js.map +1 -1
- package/dist/StepInput.d.ts +3 -3
- package/dist/StepInput.js.map +1 -1
- package/dist/TableCellBase.d.ts +2 -2
- package/dist/TableCellBase.js.map +1 -1
- package/dist/Tag.d.ts +2 -2
- package/dist/Tag.js +4 -4
- package/dist/Tag.js.map +1 -1
- package/dist/TextArea.d.ts +2 -2
- package/dist/TextArea.js +9 -9
- package/dist/TextArea.js.map +1 -1
- package/dist/TextField.d.ts +9 -2
- package/dist/TextField.js +8 -5
- package/dist/TextField.js.map +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Upload.d.ts +1 -1
- package/dist/Upload.js +1 -1
- package/dist/Upload.js.map +1 -1
- package/dist/UploadItem.d.ts +3 -3
- package/dist/UploadItem.js +9 -9
- package/dist/UploadItem.js.map +1 -1
- package/dist/Wizard.d.ts +20 -1
- package/dist/Wizard.js +22 -9
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardTemplate.js +1 -1
- package/dist/WizardTemplate.js.map +1 -1
- package/dist/assets/InputSuggestions-BgbbJ4tc.js +2 -0
- package/dist/assets/{ListItemStandardExpandableTextTemplate-CLBtdbBK.js → ListItemStandardExpandableTextTemplate-onAnn1Tj.js} +2 -2
- package/dist/assets/bundle.esm-CwUfibNQ.js +389 -0
- package/dist/assets/parameters-bundle.css-1GGBOW8m.js +2 -0
- package/dist/assets/parameters-bundle.css-A9eeRg2R.js +2 -0
- package/dist/assets/parameters-bundle.css-COBI_9-U.js +2 -0
- package/dist/assets/parameters-bundle.css-CgAoZ-Ir.js +2 -0
- package/dist/assets/parameters-bundle.css-DuFHHRNK.js +2 -0
- package/dist/assets/parameters-bundle.css-Pf68NO0T.js +2 -0
- package/dist/assets/parameters-bundle.css-aX_t_-9o.js +2 -0
- package/dist/assets/parameters-bundle.css-rNSryFKH.js +2 -0
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/EventRibbon.css +1 -0
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/MastheadCountrySelector.css +1 -1
- package/dist/css/themes/MastheadItem.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/RatingIndicator.css +1 -1
- package/dist/css/themes/Search.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Slider.css +1 -1
- package/dist/css/themes/TextField.css +1 -1
- package/dist/custom-elements-internal.json +471 -37
- package/dist/custom-elements.json +442 -35
- package/dist/data/CountryListISO3166.d.ts +13 -4
- package/dist/data/CountryListISO3166.js +8 -0
- package/dist/data/CountryListISO3166.js.map +1 -1
- package/dist/generated/json-imports/Themes-node.d.ts +1 -0
- package/dist/generated/json-imports/Themes-node.js +19 -0
- package/dist/generated/json-imports/Themes-node.js.map +1 -0
- package/dist/generated/json-imports/i18n-node.d.ts +1 -0
- package/dist/generated/json-imports/i18n-node.js +82 -0
- package/dist/generated/json-imports/i18n-node.js.map +1 -0
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.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/PhoneNumberFieldTemplate.lit.js +2 -2
- package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SearchTemplate.lit.js +3 -3
- package/dist/generated/templates/SearchTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SecondaryNavigationItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +1 -1
- package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/EventRibbon.css.d.ts +2 -0
- package/dist/generated/themes/EventRibbon.css.js +8 -0
- package/dist/generated/themes/EventRibbon.css.js.map +1 -0
- package/dist/generated/themes/ListItem.css.d.ts +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/MastheadCountrySelector.css.d.ts +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
- package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
- package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
- package/dist/generated/themes/MastheadItem.css.js +1 -1
- package/dist/generated/themes/MastheadItem.css.js.map +1 -1
- package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
- package/dist/generated/themes/MastheadShell.css.js +1 -1
- package/dist/generated/themes/MastheadShell.css.js.map +1 -1
- package/dist/generated/themes/Modal.css.d.ts +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.d.ts +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/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/Search.css.d.ts +1 -1
- package/dist/generated/themes/Search.css.js +1 -1
- package/dist/generated/themes/Search.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +1 -1
- package/dist/generated/themes/Slider.css.js +1 -1
- package/dist/generated/themes/Slider.css.js.map +1 -1
- package/dist/generated/themes/TextField.css.d.ts +1 -1
- package/dist/generated/themes/TextField.css.js +1 -1
- package/dist/generated/themes/TextField.css.js.map +1 -1
- package/dist/types/ButtonAccessibleRole.d.ts +8 -0
- package/dist/types/ButtonAccessibleRole.js +10 -0
- package/dist/types/ButtonAccessibleRole.js.map +1 -0
- package/dist/types/{Button.d.ts → ButtonDesign.d.ts} +1 -15
- package/dist/types/ButtonDesign.js +16 -0
- package/dist/types/ButtonDesign.js.map +1 -0
- package/dist/types/ButtonSize.d.ts +6 -0
- package/dist/types/ButtonSize.js +8 -0
- package/dist/types/ButtonSize.js.map +1 -0
- package/dist/types/ControlButtonDesign.d.ts +10 -0
- package/dist/types/ControlButtonDesign.js +12 -0
- package/dist/types/ControlButtonDesign.js.map +1 -0
- package/dist/types/EventRibbon.d.ts +37 -0
- package/dist/types/EventRibbon.js +43 -0
- package/dist/types/EventRibbon.js.map +1 -0
- package/dist/types/ProgressBar.d.ts +1 -1
- package/dist/types/ProgressBar.js +1 -1
- package/dist/types/ProgressBar.js.map +1 -1
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.js +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/vscode.html-custom-data.json +110 -10
- package/dist/web-types.json +159 -13
- package/filter-coverage.js +58 -0
- package/package.json +14 -9
- package/src/AssetsVariables.ts +4 -0
- package/src/Badge.ts +4 -4
- package/src/Breadcrumbs.hbs +7 -10
- package/src/Breadcrumbs.ts +14 -1
- package/src/BreadcrumbsPopover.hbs +3 -1
- package/src/Button.ts +21 -1
- package/src/Checkbox.ts +4 -0
- package/src/ControlButton.ts +2 -1
- package/src/CountrySelector.ts +5 -3
- package/src/DatePicker.ts +4 -3
- package/src/EventRibbon.ts +143 -0
- package/src/EventRibbonTemplate.tsx +18 -0
- package/src/InputGroup.ts +5 -2
- package/src/ListItem.ts +4 -4
- package/src/MastheadItem.ts +1 -1
- package/src/MastheadShell.ts +25 -5
- package/src/MediaPlayer.ts +3 -1
- package/src/MediaPlayerYoutube.ts +4 -2
- package/src/Pagination.hbs +7 -3
- package/src/Pagination.ts +49 -32
- package/src/PhoneNumberField.hbs +1 -1
- package/src/PhoneNumberField.ts +13 -5
- package/src/ProgressBar.ts +6 -6
- package/src/RadioButton.ts +6 -6
- package/src/Search.hbs +3 -2
- package/src/Search.ts +1 -3
- package/src/SearchableListBase.ts +18 -2
- package/src/SecondaryNavigation.hbs +1 -0
- package/src/SecondaryNavigation.ts +41 -12
- package/src/SecondaryNavigationItem.hbs +2 -1
- package/src/SecondaryNavigationItem.ts +31 -0
- package/src/SecondaryNavigationItemBase.ts +3 -0
- package/src/SecondaryNavigationSubItem.ts +0 -3
- package/src/SegmentedButton.ts +1 -1
- package/src/SegmentedButtonItem.ts +2 -2
- package/src/StatusBadge.ts +8 -3
- package/src/StepInput.ts +3 -3
- package/src/TableCellBase.ts +2 -2
- package/src/Tag.ts +4 -4
- package/src/TextArea.ts +9 -9
- package/src/TextField.ts +14 -5
- package/src/Toast.ts +1 -1
- package/src/Upload.ts +1 -1
- package/src/UploadItem.ts +9 -9
- package/src/Wizard.ts +39 -11
- package/src/WizardTemplate.tsx +5 -1
- package/src/data/CountryListISO3166.ts +10 -2
- package/src/generated/json-imports/Themes-node.ts +21 -0
- package/src/generated/json-imports/i18n-node.ts +85 -0
- package/src/generated/templates/BreadcrumbsPopoverTemplate.lit.ts +1 -1
- package/src/generated/templates/BreadcrumbsTemplate.lit.ts +1 -1
- package/src/generated/templates/PaginationTemplate.lit.ts +1 -1
- package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
- package/src/generated/templates/SearchTemplate.lit.ts +3 -3
- package/src/generated/templates/SecondaryNavigationItemTemplate.lit.ts +2 -2
- package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +1 -1
- package/src/generated/themes/Breadcrumbs.css.ts +1 -1
- package/src/generated/themes/Button.css.ts +1 -1
- package/src/generated/themes/DatePickerPopover.css.ts +1 -1
- package/src/generated/themes/EventRibbon.css.ts +9 -0
- package/src/generated/themes/ListItem.css.ts +1 -1
- package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
- package/src/generated/themes/MastheadItem.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/RatingIndicator.css.ts +1 -1
- package/src/generated/themes/Search.css.ts +1 -1
- package/src/generated/themes/SideNavigationItem.css.ts +1 -1
- package/src/generated/themes/SideNavigationSubItem.css.ts +1 -1
- package/src/generated/themes/Slider.css.ts +1 -1
- package/src/generated/themes/TextField.css.ts +1 -1
- package/src/themes/Breadcrumbs.css +3 -0
- package/src/themes/Button.css +71 -29
- package/src/themes/DatePickerPopover.css +64 -6
- package/src/themes/EventRibbon.css +411 -0
- package/src/themes/ListItem.css +4 -0
- package/src/themes/MastheadCountrySelector.css +8 -5
- package/src/themes/MastheadItem.css +12 -4
- package/src/themes/MastheadShell.css +5 -2
- package/src/themes/Modal.css +6 -1
- package/src/themes/Pagination.css +19 -0
- package/src/themes/Search.css +8 -1
- package/src/themes/SideNavigationItem.css +9 -1
- package/src/themes/SideNavigationSubItem.css +7 -0
- package/src/themes/TextField.css +2 -13
- package/src/types/ButtonAccessibleRole.ts +9 -0
- package/src/types/{Button.ts → ButtonDesign.ts} +1 -17
- package/src/types/ButtonSize.ts +7 -0
- package/src/types/ControlButtonDesign.ts +11 -0
- package/src/types/EventRibbon.ts +51 -0
- package/src/types/ProgressBar.ts +1 -1
- package/src/types/common.ts +1 -1
- package/swap-component-imports.js +18 -0
- package/dist/assets/InputSuggestions-CP3cBQsh.js +0 -2
- package/dist/assets/bundle.esm-jHcdiVfj.js +0 -380
- package/dist/assets/parameters-bundle.css-BU4Bi-ho.js +0 -2
- package/dist/assets/parameters-bundle.css-Beilb2gS.js +0 -2
- package/dist/assets/parameters-bundle.css-BzQMaZUt.js +0 -2
- package/dist/assets/parameters-bundle.css-Bzfv_Fox.js +0 -2
- package/dist/assets/parameters-bundle.css-CLwmjytB.js +0 -2
- package/dist/assets/parameters-bundle.css-CU3plTdF.js +0 -2
- package/dist/assets/parameters-bundle.css-DRX-o-Cb.js +0 -2
- package/dist/assets/parameters-bundle.css-DhFMZJhW.js +0 -2
- package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -1
- package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +0 -1
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.d.ts +0 -2
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +0 -3
- package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +0 -1
- package/dist/types/Button.js +0 -33
- package/dist/types/Button.js.map +0 -1
- package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +0 -2
- package/src/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +0 -195
package/dist/Pagination.js
CHANGED
|
@@ -12,7 +12,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
|
12
12
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
13
13
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
14
14
|
import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
|
|
15
|
-
import { OF, PAGINATION_PAGE, SELECTED, ACTIVATE_PAGE, FIRST_PAGE, LAST_PAGE, PREVIOUS_PAGE, NEXT_PAGE, CURRENT_PAGE, } from "./generated/i18n/i18n-defaults.js";
|
|
15
|
+
import { OF, PAGINATION_PAGE, SELECTED, ACTIVATE_PAGE, FIRST_PAGE, LAST_PAGE, PREVIOUS_PAGE, NEXT_PAGE, CURRENT_PAGE, DISABLED, } from "./generated/i18n/i18n-defaults.js";
|
|
16
16
|
import Button from "./Button.js";
|
|
17
17
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
18
18
|
import "@ui5/webcomponents-icons/dist/nav-back.js";
|
|
@@ -92,7 +92,7 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
|
|
|
92
92
|
onBeforeRendering() {
|
|
93
93
|
this.setupPages(this.pages);
|
|
94
94
|
}
|
|
95
|
-
get
|
|
95
|
+
get nextButtonDisabled() {
|
|
96
96
|
return this.currentPageIndex + 1 === this.pages;
|
|
97
97
|
}
|
|
98
98
|
get prevButtonDisabled() {
|
|
@@ -150,22 +150,26 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
|
|
|
150
150
|
return `${UDExPagination_1.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;
|
|
151
151
|
}
|
|
152
152
|
get previousPageAccessibleName() {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
const currentPageText = `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
|
|
154
|
+
if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {
|
|
155
|
+
const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination_1.i18nBundle.getText(DISABLED)}` : "";
|
|
156
|
+
return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;
|
|
155
157
|
}
|
|
156
|
-
return `${
|
|
158
|
+
return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;
|
|
157
159
|
}
|
|
158
160
|
get previousBtnTooltip() {
|
|
159
161
|
return !this.prevButtonDisabled ? `${UDExPagination_1.i18nBundle.getText(PREVIOUS_PAGE)}` : "";
|
|
160
162
|
}
|
|
161
163
|
get nextPageAccessibleName() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
+
const currentPageText = `${UDExPagination_1.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;
|
|
165
|
+
if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {
|
|
166
|
+
const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination_1.i18nBundle.getText(DISABLED)}` : "";
|
|
167
|
+
return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;
|
|
164
168
|
}
|
|
165
|
-
return `${
|
|
169
|
+
return `${currentPageText} ${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;
|
|
166
170
|
}
|
|
167
171
|
get nextBtnTooltip() {
|
|
168
|
-
return !this.
|
|
172
|
+
return !this.nextButtonDisabled ? `${UDExPagination_1.i18nBundle.getText(NEXT_PAGE)}` : "";
|
|
169
173
|
}
|
|
170
174
|
get pagination() {
|
|
171
175
|
return this._visiblePages;
|
|
@@ -209,8 +213,21 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
|
|
|
209
213
|
}
|
|
210
214
|
this.currentPageIndex = currentPage + 1;
|
|
211
215
|
this._pageFocusedManually = false;
|
|
216
|
+
this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);
|
|
212
217
|
this.emitChangeEvent();
|
|
213
218
|
}
|
|
219
|
+
get effectiveNextButtonDisabled() {
|
|
220
|
+
return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;
|
|
221
|
+
}
|
|
222
|
+
get effectivePrevButtonDisabled() {
|
|
223
|
+
return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;
|
|
224
|
+
}
|
|
225
|
+
handlePrevFocusOut() {
|
|
226
|
+
this._prevButtonPseudoDisabled = false;
|
|
227
|
+
}
|
|
228
|
+
handleNextFocusOut() {
|
|
229
|
+
this._nextButtonPseudoDisabled = false;
|
|
230
|
+
}
|
|
214
231
|
setPrevPage(e) {
|
|
215
232
|
e.preventDefault();
|
|
216
233
|
const currentPage = this.currentPageIndex ?? 1;
|
|
@@ -219,28 +236,7 @@ let UDExPagination = UDExPagination_1 = class UDExPagination extends UI5Element
|
|
|
219
236
|
}
|
|
220
237
|
this.currentPageIndex -= 1;
|
|
221
238
|
this._pageFocusedManually = false;
|
|
222
|
-
this.
|
|
223
|
-
}
|
|
224
|
-
setFirstPage(e) {
|
|
225
|
-
e.preventDefault();
|
|
226
|
-
const currentPage = this.currentPageIndex ?? 1;
|
|
227
|
-
if (currentPage === 0) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
this._firstPageIndex = 0;
|
|
231
|
-
this._lastPageIndex = this.displayNumber;
|
|
232
|
-
this.currentPageIndex = 0;
|
|
233
|
-
this.emitChangeEvent();
|
|
234
|
-
}
|
|
235
|
-
setLastPage(e) {
|
|
236
|
-
e.preventDefault();
|
|
237
|
-
const currentPage = this.currentPageIndex ?? 1;
|
|
238
|
-
if (!this.pages || currentPage >= this.pages - 1) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
this._firstPageIndex = this.pages - this.displayNumber;
|
|
242
|
-
this._lastPageIndex = this.pages;
|
|
243
|
-
this.currentPageIndex = this._lastPageIndex - 1;
|
|
239
|
+
this._prevButtonPseudoDisabled = this.currentPageIndex === 0;
|
|
244
240
|
this.emitChangeEvent();
|
|
245
241
|
}
|
|
246
242
|
setupPages(pages) {
|
|
@@ -352,6 +348,12 @@ __decorate([
|
|
|
352
348
|
__decorate([
|
|
353
349
|
property({ type: String })
|
|
354
350
|
], UDExPagination.prototype, "_direction", void 0);
|
|
351
|
+
__decorate([
|
|
352
|
+
property({ type: Boolean })
|
|
353
|
+
], UDExPagination.prototype, "_nextButtonPseudoDisabled", void 0);
|
|
354
|
+
__decorate([
|
|
355
|
+
property({ type: Boolean })
|
|
356
|
+
], UDExPagination.prototype, "_prevButtonPseudoDisabled", void 0);
|
|
355
357
|
__decorate([
|
|
356
358
|
i18n("@sapudex/web-components")
|
|
357
359
|
], UDExPagination, "i18nBundle", void 0);
|
package/dist/Pagination.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-left-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css.js\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum UDExPaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum UDExDisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\ntype UDExPaginationChangeEventDetail = {\n currentPage: number,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPagination extends UI5Element {\n eventDetails!: {\n \"change\": UDExPaginationChangeEventDetail,\n };\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ type: Number })\n pages: number = 0;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property()\n type: `${UDExPaginationType}` = UDExPaginationType.full;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.desktop;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ type: Number })\n currentPageIndex: number = 0;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisbled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisabled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === UDExPaginationType.full || this.display === UDExDisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === UDExPaginationType.short && this.display !== UDExDisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(PREVIOUS_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(NEXT_PAGE); }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}. ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisbled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === UDExDisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === UDExDisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this.emitChangeEvent();\n }\n\n setFirstPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (currentPage === 0) {\n return;\n }\n\n this._firstPageIndex = 0;\n this._lastPageIndex = this.displayNumber;\n\n this.currentPageIndex = 0;\n this.emitChangeEvent();\n }\n\n setLastPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (!this.pages || currentPage >= this.pages - 1) {\n return;\n }\n\n this._firstPageIndex = this.pages - this.displayNumber;\n this._lastPageIndex = this.pages;\n\n this.currentPageIndex = this._lastPageIndex - 1;\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireDecoratorEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === UDExPaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
|
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../src/Pagination.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EACL,EAAE,EACF,eAAe,EACf,QAAQ,EACR,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,GACT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,iCAAiC,CAAC;AACzC,OAAO,2CAA2C,CAAC;AACnD,OAAO,wDAAwD,CAAC;AAChE,OAAO,yDAAyD,CAAC;AACjE,OAAO,qDAAqD,CAAC;AAC7D,OAAO,sDAAsD,CAAC;AAE9D,WAAW;AACX,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AAEjF,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAOjE,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,qCAAe,CAAA;AACjB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;AACnB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAMD;;;;;;;;;;;GAWG;AAgBH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,UAAU;IA6ErC;QACE,KAAK,EAAE,CAAC;QA1EV;;;;;WAKG;QAED,UAAK,GAAW,CAAC,CAAC;QAEpB;;;;;WAKG;QAED,SAAI,GAA4B,kBAAkB,CAAC,IAAI,CAAC;QAE1D;;;;;WAKG;QAED,YAAO,GAAyB,eAAe,CAAC,OAAO,CAAC;QAE1D;;;;WAIG;QAED,qBAAgB,GAAW,CAAC,CAAC;QA0C7B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,UAAU;QACR,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,gBAAgB,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,MAAM,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,MAAM,CAClF,CAAC;IACJ,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC;IACtD,CAAC;IAED,IAAI,wBAAwB;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,6BAA6B,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,6BAA6B;QAC/B,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,uBAAuB;QACzB,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QAC1F,OAAO,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,0BAA0B,IAAI,CAAC;IAClG,CAAC;IAED,IAAI,sBAAsB;QACxB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QACtH,OAAO,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,0BAA0B;QAC5B,MAAM,eAAe,GAAG,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC;QAC3G,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9D,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrH,OAAO,GAAG,eAAe,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC3G,CAAC;QACD,OAAO,GAAG,eAAe,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/I,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,sBAAsB;QACxB,MAAM,eAAe,GAAG,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,CAAC;QAC3G,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9D,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrH,OAAO,GAAG,eAAe,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,qBAAqB,EAAE,CAAC;QACvG,CAAC;QACD,OAAO,GAAG,eAAe,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;IAC/I,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,OAAO,GAAG,iBAAiB,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,GAAG,GAAG,OAAO,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,OAAO,qBAAqB,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC;IACrF,CAAC;IAED,IAAI,aAAa;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACnH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,OAAoB;QAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,CAAQ;QAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,WAAW,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,CAAC;IACpE,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,CAAC;IACpE,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,CAAQ;QAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;IAED,cAAc;QACZ,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;YAC3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC;gBAClD,MAAM,WAAW,GAAG,MAAM,CAAC;gBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACzD,YAAY,CAAC,IAAI,CAAC;oBAChB,KAAK;oBACL,KAAK,EAAE,KAAK,GAAG,CAAC;oBAChB,MAAM,EAAE,SAAS;oBACjB,cAAc;oBACd,GAAG,CAAC,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,iBAA0B,KAAK;QAC/C,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;gBAClG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7G,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC;QAElD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;MACjC,IAAI,CAAC,kBAAkB,IAAI,KAAK,GAAG,CAAC,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;MAChJ,IAAI,CAAC,kBAAkB,IAAI,KAAK,GAAG,CAAC,IAAI,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEhG,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,CAAQ;QAClB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE,MAAM,CAAC,UAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;QACzF,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,gCAAgC,CAAC,CAAC;YACrG,cAAc,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAC3D,+BAA+B,CAChC,CAAC;QAEF,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAW,MAAM;aACnC,gBAAgB,CAAC,sBAAsB,CAAC;aACxC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAA;AAzXG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACP;AASlB;IADD,QAAQ,EAAE;4CAC+C;AASxD;IADD,QAAQ,EAAE;+CAC+C;AAQxD;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACI;AAQ7B;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACL;AAQpB;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iEACU;AAQpC;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iEACU;AAG/B;IADN,IAAI,CAAC,yBAAyB,CAAC;wCACF;AAhE1B,cAAc;IAfnB,aAAa,CAAC;QACb,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE,CAAC,MAAM,CAAC;KACvB,CAAC;IACF;;;;;;OAMG;;IACF,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;GAC7B,cAAc,CAoYnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n OF,\n PAGINATION_PAGE,\n SELECTED,\n ACTIVATE_PAGE,\n FIRST_PAGE,\n LAST_PAGE,\n PREVIOUS_PAGE,\n NEXT_PAGE,\n CURRENT_PAGE,\n DISABLED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Button from \"./Button.js\";\nimport \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-left-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/open-command-field.js\";\nimport \"@ui5/webcomponents-icons/dist/close-command-field.js\";\n\n// Template\nimport PaginationTemplate from \"./generated/templates/PaginationTemplate.lit.js\";\n\n// Styles\nimport PaginationCss from \"./generated/themes/Pagination.css.js\";\n\ninterface Page {\n value: number;\n active: boolean;\n}\n\nexport enum UDExPaginationType {\n full = \"full\",\n short = \"short\",\n}\n\nexport enum UDExDisplayType {\n desktop = \"desktop\",\n mobile = \"mobile\"\n}\n\nexport type UDExPaginationChangeEventDetail = {\n currentPage: number,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>udex-pagination</code> component is a pagination component used to navigate thought the pages.\n *\n * @constructor\n * @extends UI5Element\n * @tagname udex-pagination\n * @public\n */\n@customElement({\n tag: \"udex-pagination\",\n renderer: litRender,\n styles: PaginationCss,\n template: PaginationTemplate,\n dependencies: [Button],\n})\n/**\n * Fires when pagination item was clicked.\n *\n * @allowPreventDefault\n * @param {Number}\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPagination extends UI5Element {\n eventDetails!: {\n \"change\": UDExPaginationChangeEventDetail,\n };\n /**\n * Defines number of pages.\n *\n * @public\n * @default 0\n */\n @property({ type: Number })\n pages: number = 0;\n\n /**\n * Defines type of pagination.\n *\n * @public\n * @default \"full\"\n */\n @property()\n type: `${UDExPaginationType}` = UDExPaginationType.full;\n\n /**\n * Define display purpose.\n *\n * @public\n * @default \"desktop\"\n */\n @property()\n display: `${UDExDisplayType}` = UDExDisplayType.desktop;\n\n /**\n * Current index of pagination page.\n * @public\n * @default 0\n */\n @property({ type: Number })\n currentPageIndex: number = 0;\n\n /**\n * Defines direction of the input.\n *\n * @private\n */\n @property({ type: String })\n _direction?: string;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _nextButtonPseudoDisabled!: boolean;\n\n /**\n * Defines if the previous button is in pseudo-disabled.\n *\n * @private\n */\n @property({ type: Boolean })\n _prevButtonPseudoDisabled!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _pages: Page[];\n _visiblePages: Page[];\n\n _previousPageElement?: HTMLElement;\n\n _mobileDisplayNumber: number;\n _desktopDisplayNumber: number;\n _firstPageIndex!: number;\n _lastPageIndex!: number;\n _pageFocusedManually!: boolean;\n\n constructor() {\n super();\n this.pages = 0;\n this._pages = [];\n this._visiblePages = [];\n this.currentPageIndex = 0;\n this._mobileDisplayNumber = 5;\n this._desktopDisplayNumber = 10;\n this._pageFocusedManually = false;\n }\n\n onEnterDOM() {\n if (isDesktop()) {\n this.setAttribute(\"desktop\", \"\");\n }\n }\n\n onBeforeRendering(): void {\n this.setupPages(this.pages);\n }\n\n get nextButtonDisabled(): boolean {\n return this.currentPageIndex + 1 === this.pages;\n }\n\n get prevButtonDisabled(): boolean {\n return this.currentPageIndex === 0;\n }\n\n get typeFull(): boolean {\n return (\n this.type === UDExPaginationType.full || this.display === UDExDisplayType.mobile\n );\n }\n\n get typeShort(): boolean {\n return (\n this.type === UDExPaginationType.short && this.display !== UDExDisplayType.mobile\n );\n }\n\n get shortTextStart(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.currentPageIndex + 1}`;\n }\n\n get shortTextEnd(): string {\n if (!this.pages) {\n return \"\";\n }\n return `${this.pages}`;\n }\n\n get shortTextSeparator(): string {\n if (!this.pages) {\n return \"\";\n }\n return ` ${UDExPagination.i18nBundle.getText(OF)} `;\n }\n\n get paginationAccessibleName(): string {\n if (this.typeShort) {\n return this.paginationShortAccessibleName;\n }\n return `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}`;\n }\n\n get pageAccessibleName(): string {\n return UDExPagination.i18nBundle.getText(PAGINATION_PAGE);\n }\n\n get paginationShortAccessibleName(): string {\n return `${this.pageAccessibleName} ${this.shortTextStart} ${this.shortTextSeparator} ${this.shortTextEnd}`;\n }\n\n get activatePageAccessibleText() {\n return UDExPagination.i18nBundle.getText(ACTIVATE_PAGE);\n }\n\n get firstPageAccessibleName(): string {\n if (this.currentPageIndex === 0) { return UDExPagination.i18nBundle.getText(FIRST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(FIRST_PAGE)}. ${this.activatePageAccessibleText} 1`;\n }\n\n get lastPageAccessibleName(): string {\n if (this.pages && this.currentPageIndex === (this.pages - 1)) { return UDExPagination.i18nBundle.getText(LAST_PAGE); }\n return `${UDExPagination.i18nBundle.getText(LAST_PAGE)}. ${this.activatePageAccessibleText} ${this.pages}`;\n }\n\n get previousPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._prevButtonPseudoDisabled || this.prevButtonDisabled) {\n const effectiveDisabledText = this._prevButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex}`;\n }\n\n get previousBtnTooltip(): string {\n return !this.prevButtonDisabled ? `${UDExPagination.i18nBundle.getText(PREVIOUS_PAGE)}` : \"\";\n }\n\n get nextPageAccessibleName(): string {\n const currentPageText = `${UDExPagination.i18nBundle.getText(CURRENT_PAGE)} ${this.currentPageIndex + 1}.`;\n if (this._nextButtonPseudoDisabled || this.nextButtonDisabled) {\n const effectiveDisabledText = this._nextButtonPseudoDisabled ? `${UDExPagination.i18nBundle.getText(DISABLED)}` : \"\";\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)} ${effectiveDisabledText}`;\n }\n return `${currentPageText} ${UDExPagination.i18nBundle.getText(NEXT_PAGE)}. ${this.activatePageAccessibleText} ${this.currentPageIndex + 2}`;\n }\n\n get nextBtnTooltip(): string {\n return !this.nextButtonDisabled ? `${UDExPagination.i18nBundle.getText(NEXT_PAGE)}` : \"\";\n }\n\n get pagination(): Page[] {\n return this._visiblePages;\n }\n\n get paginationClass(): string {\n let classes = \"udex-pagination\";\n if (this._direction === \"rtl\") {\n classes = `${classes} udex-pagination--${this._direction}`;\n }\n if (!this.display) {\n return classes;\n }\n return `${classes} udex-pagination--${this.display} udex-pagination--${this.type}`;\n }\n\n get displayNumber(): number {\n const lastIndex = this.display === UDExDisplayType.mobile ? this._mobileDisplayNumber : this._desktopDisplayNumber;\n return lastIndex;\n }\n\n get pageOffset(): number {\n if (this.display === UDExDisplayType.mobile) {\n return Math.floor(this._mobileDisplayNumber / 2);\n }\n return this._desktopDisplayNumber / 2 - 1;\n }\n\n setActive(element: HTMLElement): void {\n const pageIndex = element.getAttribute(\"index\")\n ? parseInt(element.getAttribute(\"index\") || \"\")\n : null;\n if (pageIndex === null) {\n return;\n }\n\n this.currentPageIndex = pageIndex;\n this._pageFocusedManually = true;\n this._previousPageElement = element;\n }\n\n setNextPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage >= this.pages - 1) {\n return;\n }\n\n this.currentPageIndex = currentPage + 1;\n this._pageFocusedManually = false;\n\n this._nextButtonPseudoDisabled = this.currentPageIndex === (this.pages - 1);\n\n this.emitChangeEvent();\n }\n\n get effectiveNextButtonDisabled(): boolean {\n return !this._nextButtonPseudoDisabled && this.nextButtonDisabled;\n }\n\n get effectivePrevButtonDisabled(): boolean {\n return !this._prevButtonPseudoDisabled && this.prevButtonDisabled;\n }\n\n handlePrevFocusOut(): void {\n this._prevButtonPseudoDisabled = false;\n }\n\n handleNextFocusOut(): void {\n this._nextButtonPseudoDisabled = false;\n }\n\n setPrevPage(e: Event): void {\n e.preventDefault();\n const currentPage = this.currentPageIndex ?? 1;\n if (this.pages && currentPage <= 0) {\n return;\n }\n this.currentPageIndex -= 1;\n this._pageFocusedManually = false;\n\n this._prevButtonPseudoDisabled = this.currentPageIndex === 0;\n\n this.emitChangeEvent();\n }\n\n setupPages(pages: number) {\n if (!pages) {\n this._visiblePages = [];\n return;\n }\n\n if (!this._pages.length || this._visiblePages.length < this.displayNumber) {\n this._firstPageIndex = 0;\n this._lastPageIndex = pages > this.displayNumber ? this.displayNumber : pages;\n this._pageFocusedManually = false;\n }\n\n this._pages = this.setupPagesData();\n\n if (this.currentPageIndex < this._firstPageIndex || this.currentPageIndex - this._firstPageIndex <= this.pageOffset) {\n this._visiblePages = this.shiftVisiblePages(true);\n return;\n }\n\n this._visiblePages = this.shiftVisiblePages();\n }\n\n setupPagesData(): Page[] {\n const updatedPages = [];\n if (this.pages) {\n this._previousPageElement?.removeAttribute(\"aria-current\");\n for (let index = 0; index < this.pages; index++) {\n const isCurrent = index === this.currentPageIndex;\n const ariaCurrent = \"page\";\n const accessibleName = this.getPageAccessibleName(index);\n updatedPages.push({\n index,\n value: index + 1,\n active: isCurrent,\n accessibleName,\n ...(isCurrent && { ariaCurrent }),\n });\n }\n }\n return updatedPages;\n }\n\n shiftVisiblePages(shiftBackwards: boolean = false): Page[] {\n if (shiftBackwards) {\n while (this.currentPageIndex - this._firstPageIndex < this.pageOffset && this._firstPageIndex > 0) {\n this._firstPageIndex--;\n this._lastPageIndex--;\n }\n } else {\n while (this._lastPageIndex - this.currentPageIndex - 1 < this.pageOffset && this._lastPageIndex < this.pages) {\n this._firstPageIndex++;\n this._lastPageIndex++;\n }\n }\n return this._pages.slice(this._firstPageIndex, this._lastPageIndex);\n }\n\n getPageAccessibleName(index: number): string {\n const isCurrent = index === this.currentPageIndex;\n\n const accessibleName = isCurrent ? `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}, ${UDExPagination.i18nBundle.getText(SELECTED)}` : `\n ${this.pageAccessibleName} ${index + 1} ${UDExPagination.i18nBundle.getText(OF)} ${this.pages}`;\n\n return accessibleName;\n }\n\n onPageClick(e: Event) {\n e.preventDefault();\n const target = e.target as HTMLElement;\n const element = target !== e.currentTarget ? (target.parentNode as HTMLElement) : target;\n if (element.getAttribute(\"active\") !== null) {\n return;\n }\n this.setActive(element);\n this.emitChangeEvent();\n }\n\n emitChangeEvent() {\n this.fireDecoratorEvent(\"change\", { currentPage: this.currentPageIndex + 1 });\n }\n\n onAfterRendering() {\n if (this._pageFocusedManually) {\n const activePageItem = this.shadowRoot?.querySelector<HTMLElement>(\".udex-pagination__page[active]\");\n activePageItem?.focus();\n }\n\n if (this.type === UDExPaginationType.full) {\n return;\n }\n\n const shortPaginationElement = this.shadowRoot?.querySelector<HTMLElement>(\n \".udex-pagination__item--short\",\n );\n\n if (!shortPaginationElement) {\n return;\n }\n\n const directionStyles: string = window\n .getComputedStyle(shortPaginationElement)\n .getPropertyValue(\"direction\");\n if (!directionStyles) {\n this._direction = \"ltr\";\n } else {\n this._direction = directionStyles;\n }\n }\n}\n\nUDExPagination.define();\n\nexport default UDExPagination;\n"]}
|
|
@@ -8,7 +8,6 @@ import UDExButton from "./Button.js";
|
|
|
8
8
|
import "@ui5/webcomponents/dist/Icon.js";
|
|
9
9
|
import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
|
|
10
10
|
import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
11
|
-
import type UDExValueState from "./types/common.js";
|
|
12
11
|
export interface ExtendedCountriesListPhoneNumberData extends Country {
|
|
13
12
|
selected?: boolean;
|
|
14
13
|
}
|
|
@@ -16,7 +15,15 @@ export declare enum UDExOpenButtonIcon {
|
|
|
16
15
|
iconUp = "slim-arrow-up",
|
|
17
16
|
iconDown = "slim-arrow-down"
|
|
18
17
|
}
|
|
19
|
-
export
|
|
18
|
+
export declare enum UDExPhoneNumberFieldValueState {
|
|
19
|
+
Standard = "Standard",
|
|
20
|
+
Error = "Error",
|
|
21
|
+
Success = "Success"
|
|
22
|
+
}
|
|
23
|
+
export type BackgroundPosition = {
|
|
24
|
+
x?: string;
|
|
25
|
+
y?: string;
|
|
26
|
+
};
|
|
20
27
|
/**
|
|
21
28
|
* @class
|
|
22
29
|
*
|
|
@@ -216,11 +223,7 @@ declare class UDExPhoneNumberField extends UI5Element {
|
|
|
216
223
|
get selectedPhonePrefix(): string;
|
|
217
224
|
get selectedPlaceholder(): string;
|
|
218
225
|
get selectedCountryName(): string;
|
|
219
|
-
get selectedFlagBackgroundPosition():
|
|
220
|
-
backgroundPosition?: undefined;
|
|
221
|
-
} | {
|
|
222
|
-
backgroundPosition: string;
|
|
223
|
-
};
|
|
226
|
+
get selectedFlagBackgroundPosition(): BackgroundPosition;
|
|
224
227
|
get ariaInvalid(): string | null;
|
|
225
228
|
get isInputReadonly(): boolean;
|
|
226
229
|
get isButtonDisabled(): boolean;
|
package/dist/PhoneNumberField.js
CHANGED
|
@@ -32,6 +32,12 @@ export var UDExOpenButtonIcon;
|
|
|
32
32
|
UDExOpenButtonIcon["iconUp"] = "slim-arrow-up";
|
|
33
33
|
UDExOpenButtonIcon["iconDown"] = "slim-arrow-down";
|
|
34
34
|
})(UDExOpenButtonIcon || (UDExOpenButtonIcon = {}));
|
|
35
|
+
export var UDExPhoneNumberFieldValueState;
|
|
36
|
+
(function (UDExPhoneNumberFieldValueState) {
|
|
37
|
+
UDExPhoneNumberFieldValueState["Standard"] = "Standard";
|
|
38
|
+
UDExPhoneNumberFieldValueState["Error"] = "Error";
|
|
39
|
+
UDExPhoneNumberFieldValueState["Success"] = "Success";
|
|
40
|
+
})(UDExPhoneNumberFieldValueState || (UDExPhoneNumberFieldValueState = {}));
|
|
35
41
|
const initialPlaceholder = "+X XXX-XXX-XXXX";
|
|
36
42
|
/**
|
|
37
43
|
* Maximum number of possible digits based on international standard https://en.wikipedia.org/wiki/E.164
|
|
@@ -61,7 +67,7 @@ let UDExPhoneNumberField = UDExPhoneNumberField_1 = class UDExPhoneNumberField e
|
|
|
61
67
|
* @default "Standard"
|
|
62
68
|
* @public
|
|
63
69
|
*/
|
|
64
|
-
this.valueState =
|
|
70
|
+
this.valueState = UDExPhoneNumberFieldValueState.Standard;
|
|
65
71
|
/**
|
|
66
72
|
* Defines supporting text under the input field.
|
|
67
73
|
*
|
|
@@ -337,7 +343,7 @@ let UDExPhoneNumberField = UDExPhoneNumberField_1 = class UDExPhoneNumberField e
|
|
|
337
343
|
if (!selectedCountry) {
|
|
338
344
|
return {};
|
|
339
345
|
}
|
|
340
|
-
return {
|
|
346
|
+
return { x: selectedCountry?.flagX, y: selectedCountry?.flagY };
|
|
341
347
|
}
|
|
342
348
|
get ariaInvalid() {
|
|
343
349
|
return this.valueState === "Error" ? "true" : null;
|
|
@@ -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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n COUNTRY_SELECT, READ_ONLY, VALUE_STATE_ERROR, VALUE_STATE_INFORMATION, VALUE_STATE_SUCCESS,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { Country } from \"./data/CountryListISO3166.js\";\nimport { 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\";\nimport type UDExValueState from \"./types/common.js\";\n\n// Styles\nimport PhoneNumberFieldCss from \"./generated/themes/PhoneNumberField.css.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nexport interface ExtendedCountriesListPhoneNumberData extends Country {\n selected?: boolean;\n}\n\nexport enum UDExOpenButtonIcon {\n iconUp = \"slim-arrow-up\",\n iconDown = \"slim-arrow-down\",\n}\n\nexport type UDExPhoneNumberFieldValueState = Exclude<UDExValueState, \"Warning\">\n\nconst initialPlaceholder: string = \"+X XXX-XXX-XXXX\";\n/**\n * Maximum number of possible digits based on international standard https://en.wikipedia.org/wiki/E.164\n */\nconst digitsLimit: number = 15;\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\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPhoneNumberField extends UI5Element {\n eventDetails!: {\n \"input\": void,\n \"change\": void,\n };\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label: string = \"\";\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExPhoneNumberFieldValueState}` = \"Standard\";\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 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 })\n selectedIso: string = \"\";\n\n /**\n * Defines the autoselected country iso code\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\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 })\n value: string = \"\";\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: String, noAttribute: true })\n buttonIcon: string = UDExOpenButtonIcon.iconDown;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _dropdownExpanded: boolean = false;\n\n /**\n * Defines the phone format of the input\n *\n * @private\n */\n @property({ type: String, noAttribute: true })\n phoneFormat: string = initialPlaceholder;\n\n /**\n * Defines the maxlength of the input\n *\n * @private\n */\n @property({ type: Number })\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()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the allowed keys for the input\n *\n * @private\n */\n @property({ type: String, 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, noAttribute: true })\n previousKey!: string;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _dropdown!: UDExDropdown;\n _dropdownList!: UDExList;\n _handleResizeBound: ResizeObserverCallback;\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 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 onAfterRendering() {\n this._dropdown = this.getDropdown();\n this._dropdownList = this.getDropdownList();\n if (this.countryIso) {\n this._dropdownList.focusSelectedItem();\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 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\n openDropdown(): void {\n if (!this.isButtonDisabled) {\n this._dropdown.open = !this._dropdown.open;\n }\n }\n\n handleKeyDown = (e: KeyboardEvent) => {\n const isKeyAllowed = e.key && (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 if (isEnter(e)) {\n this.fireDecoratorEvent(\"change\");\n }\n\n e.stopPropagation();\n this.previousKey = e.key;\n };\n\n handleKeyUp() {\n if (this.isInputReadonly) {\n return;\n }\n\n this.value = this.value.replace(/[^\\d+ ()-]/g, \"\").trim();\n this.applyPhoneMask();\n }\n\n handleFocus() {\n this.active = !this.displayonly;\n if (this.countryIso.length === 0) {\n this.phoneFormat = initialPlaceholder;\n }\n\n if ((this.value.length === 0 || this.value === \"+\") && !this.isInputReadonly) {\n this.value = this.selectedPhonePrefix;\n }\n }\n\n handleClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n }\n\n handleBlur() {\n this.active = false;\n this._isTouched = false;\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 if (isIncorrectNumberEntered) {\n this.value = \"\";\n }\n\n if (!this.isInputReadonly) {\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n handleSelect(e: CustomEvent) {\n this._dropdown.open = false;\n this.selectedIso = e.detail.item.id;\n this.applyPhoneMask();\n this.getInputField().focus();\n this.fireDecoratorEvent(\"change\");\n }\n\n dropdownBeforeOpen() {\n this.buttonIcon = UDExOpenButtonIcon.iconUp;\n this._dropdownExpanded = true;\n }\n\n dropdownBeforeClose() {\n this.buttonIcon = UDExOpenButtonIcon.iconDown;\n this._dropdownExpanded = false;\n }\n\n calculateMaxLength(prefix: string, mask: string): number {\n const prefixNonDigitCount = prefix.replace(/[\\d]/g, \"\").length;\n const maskNonDigitCount = mask.replace(/X/g, \"\").length;\n\n const maxLength = digitsLimit + prefixNonDigitCount + maskNonDigitCount;\n\n return maxLength;\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.calculateMaxLength(this.selectedPhonePrefix, this.selectedPlaceholder);\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 maskLength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;\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 if (this.value.length >= maskLength) {\n return;\n }\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 getDropdownList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\n \"[udex-list]\",\n )!;\n }\n\n getDropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\n \"[udex-dropdown]\",\n )!;\n }\n\n getButton(): UDExButton {\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 inputTabIndex(): number | undefined {\n return this.displayonly || this.disabled ? -1 : undefined;\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 \"None\";\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(): string | null {\n return this.valueState === \"Error\" ? \"true\" : null;\n }\n\n get isInputReadonly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get isButtonDisabled(): boolean {\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 get valueStateTypeMappings(): Record<UDExPhoneNumberFieldValueState, string> {\n return {\n \"Success\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_SUCCESS),\n \"Standard\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_INFORMATION),\n \"Error\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_ERROR),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== \"Standard\";\n }\n\n get valueStateText(): string | undefined {\n return this.valueState !== \"Standard\" ? this.valueStateTypeMappings[this.valueState] : undefined;\n }\n\n get readOnlyStateText() {\n return UDExPhoneNumberField.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get countrySelectorAriaLabel(): string {\n return this.accessibleName || `${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)} ${this.label}`.trim();\n }\n\n get countryIso(): string {\n return this.selectedIso || this.autoSelectedIso;\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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n COUNTRY_SELECT, READ_ONLY, VALUE_STATE_ERROR, VALUE_STATE_INFORMATION, VALUE_STATE_SUCCESS,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { Country } from \"./data/CountryListISO3166.js\";\nimport { 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\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nexport interface ExtendedCountriesListPhoneNumberData extends Country {\n selected?: boolean;\n}\n\nexport enum UDExOpenButtonIcon {\n iconUp = \"slim-arrow-up\",\n iconDown = \"slim-arrow-down\",\n}\n\nexport enum UDExPhoneNumberFieldValueState {\n Standard = \"Standard\",\n Error = \"Error\",\n Success = \"Success\",\n}\n\nexport type BackgroundPosition = {\n x?: string,\n y?: string,\n};\n\nconst initialPlaceholder: string = \"+X XXX-XXX-XXXX\";\n/**\n * Maximum number of possible digits based on international standard https://en.wikipedia.org/wiki/E.164\n */\nconst digitsLimit: number = 15;\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\", { bubbles: true })\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n *\n * @public\n */\n@event(\"change\", { bubbles: true })\nclass UDExPhoneNumberField extends UI5Element {\n eventDetails!: {\n \"input\": void,\n \"change\": void,\n };\n /**\n * Defines label text for the textarea field.\n *\n * @default \"\"\n * @public\n */\n @property({ type: String })\n label: string = \"\";\n\n /**\n * Defines the value state of the component.\n *\n * @default \"Standard\"\n * @public\n */\n @property()\n valueState: `${UDExPhoneNumberFieldValueState}` = UDExPhoneNumberFieldValueState.Standard;\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 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 })\n selectedIso: string = \"\";\n\n /**\n * Defines the autoselected country iso code\n *\n * @default \"\"\n * @private\n */\n @property({ type: String, noAttribute: true })\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 })\n value: string = \"\";\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: String, noAttribute: true })\n buttonIcon: string = UDExOpenButtonIcon.iconDown;\n\n /**\n * Defines the open button icon\n *\n * @private\n */\n @property({ type: Boolean, noAttribute: true })\n _dropdownExpanded: boolean = false;\n\n /**\n * Defines the phone format of the input\n *\n * @private\n */\n @property({ type: String, noAttribute: true })\n phoneFormat: string = initialPlaceholder;\n\n /**\n * Defines the maxlength of the input\n *\n * @private\n */\n @property({ type: Number })\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()\n accessibleNameRef: string = \"\";\n\n /**\n * Defines the allowed keys for the input\n *\n * @private\n */\n @property({ type: String, 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, noAttribute: true })\n previousKey!: string;\n\n /**\n * Defines the active (focus)\n * @default false\n * @private\n */\n @property({ type: Boolean })\n active!: boolean;\n\n /**\n * Defines is it the touch of the input field (only for mobile devices).\n * @default false\n * @private\n */\n @property({ type: Boolean })\n _isTouched!: boolean;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n _dropdown!: UDExDropdown;\n _dropdownList!: UDExList;\n _handleResizeBound: ResizeObserverCallback;\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 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 onAfterRendering() {\n this._dropdown = this.getDropdown();\n this._dropdownList = this.getDropdownList();\n if (this.countryIso) {\n this._dropdownList.focusSelectedItem();\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 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\n openDropdown(): void {\n if (!this.isButtonDisabled) {\n this._dropdown.open = !this._dropdown.open;\n }\n }\n\n handleKeyDown = (e: KeyboardEvent) => {\n const isKeyAllowed = e.key && (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 if (isEnter(e)) {\n this.fireDecoratorEvent(\"change\");\n }\n\n e.stopPropagation();\n this.previousKey = e.key;\n };\n\n handleKeyUp() {\n if (this.isInputReadonly) {\n return;\n }\n\n this.value = this.value.replace(/[^\\d+ ()-]/g, \"\").trim();\n this.applyPhoneMask();\n }\n\n handleFocus() {\n this.active = !this.displayonly;\n if (this.countryIso.length === 0) {\n this.phoneFormat = initialPlaceholder;\n }\n\n if ((this.value.length === 0 || this.value === \"+\") && !this.isInputReadonly) {\n this.value = this.selectedPhonePrefix;\n }\n }\n\n handleClick(): void {\n if (!isDesktop()) {\n this._isTouched = true;\n }\n }\n\n handleBlur() {\n this.active = false;\n this._isTouched = false;\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 if (isIncorrectNumberEntered) {\n this.value = \"\";\n }\n\n if (!this.isInputReadonly) {\n this.fireDecoratorEvent(\"change\");\n }\n }\n\n handleSelect(e: CustomEvent) {\n this._dropdown.open = false;\n this.selectedIso = e.detail.item.id;\n this.applyPhoneMask();\n this.getInputField().focus();\n this.fireDecoratorEvent(\"change\");\n }\n\n dropdownBeforeOpen() {\n this.buttonIcon = UDExOpenButtonIcon.iconUp;\n this._dropdownExpanded = true;\n }\n\n dropdownBeforeClose() {\n this.buttonIcon = UDExOpenButtonIcon.iconDown;\n this._dropdownExpanded = false;\n }\n\n calculateMaxLength(prefix: string, mask: string): number {\n const prefixNonDigitCount = prefix.replace(/[\\d]/g, \"\").length;\n const maskNonDigitCount = mask.replace(/X/g, \"\").length;\n\n const maxLength = digitsLimit + prefixNonDigitCount + maskNonDigitCount;\n\n return maxLength;\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.calculateMaxLength(this.selectedPhonePrefix, this.selectedPlaceholder);\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 maskLength = this.selectedPhonePrefix.length + this.selectedPlaceholder.length;\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 if (this.value.length >= maskLength) {\n return;\n }\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 getDropdownList(): UDExList {\n return this.shadowRoot!.querySelector<UDExList>(\n \"[udex-list]\",\n )!;\n }\n\n getDropdown(): UDExDropdown {\n return this.shadowRoot!.querySelector<UDExDropdown>(\n \"[udex-dropdown]\",\n )!;\n }\n\n getButton(): UDExButton {\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 inputTabIndex(): number | undefined {\n return this.displayonly || this.disabled ? -1 : undefined;\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 \"None\";\n }\n\n return this.updatedCountriesList.filter(country => country.iso === this.countryIso)[0]?.countryName\n || this.updatedCountriesList[0]?.countryName;\n }\n\n get selectedFlagBackgroundPosition(): BackgroundPosition {\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 { x: selectedCountry?.flagX, y: selectedCountry?.flagY };\n }\n\n get ariaInvalid(): string | null {\n return this.valueState === \"Error\" ? \"true\" : null;\n }\n\n get isInputReadonly(): boolean {\n return this.readonly || this.displayonly;\n }\n\n get isButtonDisabled(): boolean {\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 get valueStateTypeMappings(): Record<UDExPhoneNumberFieldValueState, string> {\n return {\n \"Success\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_SUCCESS),\n \"Standard\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_INFORMATION),\n \"Error\": UDExPhoneNumberField.i18nBundle.getText(VALUE_STATE_ERROR),\n };\n }\n\n get hasValueState(): boolean {\n return this.valueState !== \"Standard\";\n }\n\n get valueStateText(): string | undefined {\n return this.valueState !== \"Standard\" ? this.valueStateTypeMappings[this.valueState] : undefined;\n }\n\n get readOnlyStateText() {\n return UDExPhoneNumberField.i18nBundle.getText(READ_ONLY);\n }\n\n get ariaDescribedById(): string {\n return `${this.supportingTextId} ${this.valueStateTextId} ${this.readOnlyStateTextId}`.trim();\n }\n\n get supportingTextId(): string {\n return this.supportingText ? `${this._id}-supportingTextDesc` : \"\";\n }\n\n get valueStateTextId(): string {\n return this.hasValueState ? `${this._id}-valueStateDesc` : \"\";\n }\n\n get readOnlyStateTextId(): string {\n return this.readonly ? `${this._id}-stateReadOnlyDesc` : \"\";\n }\n\n get countrySelectorAriaLabel(): string {\n return this.accessibleName || `${UDExPhoneNumberField.i18nBundle.getText(COUNTRY_SELECT)} ${this.label}`.trim();\n }\n\n get countryIso(): string {\n return this.selectedIso || this.autoSelectedIso;\n }\n}\n\nUDExPhoneNumberField.define();\n\nexport default UDExPhoneNumberField;\n"]}
|
package/dist/ProgressBar.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ProgressIndicator from "@ui5/webcomponents/dist/ProgressIndicator.js";
|
|
2
2
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
3
|
-
import
|
|
3
|
+
import UDExProgressBarValueState from "./types/ProgressBar.js";
|
|
4
4
|
/**
|
|
5
5
|
* @class
|
|
6
6
|
*
|
|
@@ -25,7 +25,7 @@ declare class UDExProgressBar extends ProgressIndicator {
|
|
|
25
25
|
* @public
|
|
26
26
|
*/
|
|
27
27
|
/** @ts-expect-error */
|
|
28
|
-
valueState: `${
|
|
28
|
+
valueState: `${UDExProgressBarValueState}`;
|
|
29
29
|
static i18nBundle: I18nBundle;
|
|
30
30
|
valueStateTextMappings(): Record<string, string>;
|
|
31
31
|
}
|
package/dist/ProgressBar.js
CHANGED
|
@@ -11,7 +11,7 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
|
11
11
|
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
12
12
|
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
13
13
|
import { VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, } from "./generated/i18n/i18n-defaults.js";
|
|
14
|
-
import
|
|
14
|
+
import UDExProgressBarValueState from "./types/ProgressBar.js";
|
|
15
15
|
// Styles
|
|
16
16
|
import ProgressBarCss from "./generated/themes/ProgressBar.css.js";
|
|
17
17
|
// Template
|
|
@@ -41,14 +41,14 @@ let UDExProgressBar = UDExProgressBar_1 = class UDExProgressBar extends Progress
|
|
|
41
41
|
* @default "None"
|
|
42
42
|
* @public
|
|
43
43
|
*/
|
|
44
|
-
this.valueState =
|
|
44
|
+
this.valueState = UDExProgressBarValueState.None;
|
|
45
45
|
}
|
|
46
46
|
valueStateTextMappings() {
|
|
47
47
|
return {
|
|
48
|
-
[
|
|
49
|
-
[
|
|
50
|
-
[
|
|
51
|
-
[
|
|
48
|
+
[UDExProgressBarValueState.Error]: UDExProgressBar_1.i18nBundle.getText(VALUE_STATE_ERROR),
|
|
49
|
+
[UDExProgressBarValueState.Warning]: UDExProgressBar_1.i18nBundle.getText(VALUE_STATE_WARNING),
|
|
50
|
+
[UDExProgressBarValueState.Success]: UDExProgressBar_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
|
|
51
|
+
[UDExProgressBarValueState.Information]: UDExProgressBar_1.i18nBundle.getText(VALUE_STATE_INFORMATION),
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
};
|
package/dist/ProgressBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../src/ProgressBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../src/ProgressBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAC7E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,uBAAuB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,yBAAyB,MAAM,wBAAwB,CAAC;AAE/D,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE,WAAW;AACX,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AAQH,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,iBAAiB;IAA/C;;QACE;;;;WAIG;QAGD,eAAU,GAAoC,yBAAyB,CAAC,IAAI,CAAC;IAajF,CAAC;IARC,sBAAsB;QACpB,OAAO;YACL,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,iBAAe,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACxF,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,iBAAe,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC5F,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,iBAAe,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC5F,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,iBAAe,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC;SACrG,CAAC;IACJ,CAAC;CACF,CAAA;AAbG;IAFD,QAAQ,EAAE;IACX,uBAAuB;mDACwD;AAGxE;IADN,IAAI,CAAC,yBAAyB,CAAC;yCACF;AAX1B,eAAe;IAPpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC;QAClD,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;GAEI,eAAe,CAqBpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ProgressIndicator from \"@ui5/webcomponents/dist/ProgressIndicator.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport UDExProgressBarValueState from \"./types/ProgressBar.js\";\n\n// Styles\nimport ProgressBarCss from \"./generated/themes/ProgressBar.css.js\";\n\n// Template\nimport ProgressBarTemplate from \"./ProgressBarTemplate.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-progress-bar</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/ProgressBar.js\";</code>\n *\n * @constructor\n * @extends ProgressIndicator\n * @public\n */\n@customElement({\n tag: \"udex-progress-bar\",\n renderer: jsxRenderer,\n styles: [ProgressIndicator.styles, ProgressBarCss],\n template: ProgressBarTemplate,\n})\n\nclass UDExProgressBar extends ProgressIndicator {\n /**\n * Defines the value state of the component.\n * @default \"None\"\n * @public\n */\n @property()\n /** @ts-expect-error */\n valueState!: `${UDExProgressBarValueState}` = UDExProgressBarValueState.None;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n valueStateTextMappings(): Record<string, string> {\n return {\n [UDExProgressBarValueState.Error]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_ERROR),\n [UDExProgressBarValueState.Warning]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_WARNING),\n [UDExProgressBarValueState.Success]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_SUCCESS),\n [UDExProgressBarValueState.Information]: UDExProgressBar.i18nBundle.getText(VALUE_STATE_INFORMATION),\n };\n }\n}\n\nUDExProgressBar.define();\n\nexport default UDExProgressBar;\n"]}
|
package/dist/RadioButton.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
2
2
|
import RadioButton from "@ui5/webcomponents/dist/RadioButton.js";
|
|
3
|
-
import
|
|
3
|
+
import UDExRadioButtonValueState from "./types/RadioButton.js";
|
|
4
4
|
/**
|
|
5
5
|
* @class
|
|
6
6
|
*
|
|
@@ -33,7 +33,7 @@ declare class UDExRadioButton extends RadioButton {
|
|
|
33
33
|
* @public
|
|
34
34
|
*/
|
|
35
35
|
/** @ts-expect-error */
|
|
36
|
-
valueState: `${
|
|
36
|
+
valueState: `${UDExRadioButtonValueState}`;
|
|
37
37
|
static i18nBundle: I18nBundle;
|
|
38
38
|
onAfterRendering(): void;
|
|
39
39
|
get valueStateText(): string;
|
package/dist/RadioButton.js
CHANGED
|
@@ -10,7 +10,7 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
|
10
10
|
import { VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING, } from "./generated/i18n/i18n-defaults.js";
|
|
11
11
|
import RadioButton from "@ui5/webcomponents/dist/RadioButton.js";
|
|
12
12
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
13
|
-
import
|
|
13
|
+
import UDExRadioButtonValueState from "./types/RadioButton.js";
|
|
14
14
|
// Styles
|
|
15
15
|
import RadioButtonCss from "./generated/themes/RadioButton.css.js";
|
|
16
16
|
/**
|
|
@@ -39,7 +39,7 @@ let UDExRadioButton = class UDExRadioButton extends RadioButton {
|
|
|
39
39
|
* @default "None"
|
|
40
40
|
* @public
|
|
41
41
|
*/
|
|
42
|
-
this.valueState =
|
|
42
|
+
this.valueState = UDExRadioButtonValueState.None;
|
|
43
43
|
}
|
|
44
44
|
onAfterRendering() {
|
|
45
45
|
this.readonly = this.readonly || this.displayOnly;
|
|
@@ -47,13 +47,13 @@ let UDExRadioButton = class UDExRadioButton extends RadioButton {
|
|
|
47
47
|
}
|
|
48
48
|
get valueStateText() {
|
|
49
49
|
switch (this.valueState) {
|
|
50
|
-
case
|
|
50
|
+
case UDExRadioButtonValueState.Error:
|
|
51
51
|
return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);
|
|
52
|
-
case
|
|
52
|
+
case UDExRadioButtonValueState.Success:
|
|
53
53
|
return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);
|
|
54
|
-
case
|
|
54
|
+
case UDExRadioButtonValueState.Information:
|
|
55
55
|
return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);
|
|
56
|
-
case
|
|
56
|
+
case UDExRadioButtonValueState.Warning:
|
|
57
57
|
return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);
|
|
58
58
|
default:
|
|
59
59
|
return "";
|
package/dist/RadioButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../src/RadioButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../src/RadioButton.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,GACrF,MAAM,mCAAmC,CAAC;AAC3C,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,yBAAyB,MAAM,wBAAwB,CAAC;AAE/D,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE;;;;;;;;;;;;;;;;;GAiBG;AAOH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IAAzC;;QAUE;;;;WAIG;QAGD,eAAU,GAAoC,yBAAyB,CAAC,IAAI,CAAC;IAwBjF,CAAC;IAnBC,gBAAgB;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,cAAc;QAChB,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,yBAAyB,CAAC,KAAK;gBAClC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3D,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7D,KAAK,yBAAyB,CAAC,WAAW;gBACxC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACjE,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAC7D;gBACE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF,CAAA;AAjCG;IADD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACJ;AAStB;IAFD,QAAQ,EAAE;IACX,uBAAuB;mDACwD;AAGxE;IADN,IAAI,CAAC,yBAAyB,CAAC;yCACF;AApB1B,eAAe;IANpB,aAAa,CAAC;QACb,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;KAC7C,CAAC;GAEI,eAAe,CAyCpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n VALUE_STATE_ERROR, VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_WARNING,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport RadioButton from \"@ui5/webcomponents/dist/RadioButton.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UDExRadioButtonValueState from \"./types/RadioButton.js\";\n\n// Styles\nimport RadioButtonCss from \"./generated/themes/RadioButton.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-radio-button</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@sapudex/web-components/dist/RadioButton.js\";</code>\n *\n * @constructor\n * @extends RadioButton\n * @tagname udex-radio-button\n * @public\n */\n@customElement({\n tag: \"udex-radio-button\",\n renderer: jsxRenderer,\n styles: [RadioButton.styles, RadioButtonCss],\n})\n\nclass UDExRadioButton extends RadioButton {\n /**\n * Define if arrow icons for last and first page are visible.\n *\n * @public\n * @default false\n */\n @property({ type: Boolean })\n displayOnly!: boolean;\n\n /**\n * Defines the value state of the component.\n * @default \"None\"\n * @public\n */\n @property()\n /** @ts-expect-error */\n valueState!: `${UDExRadioButtonValueState}` = UDExRadioButtonValueState.None;\n\n @i18n(\"@sapudex/web-components\")\n static i18nBundle: I18nBundle;\n\n onAfterRendering(): void {\n this.readonly = this.readonly || this.displayOnly;\n this.syncGroup();\n }\n\n get valueStateText(): string {\n switch (this.valueState) {\n case UDExRadioButtonValueState.Error:\n return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);\n case UDExRadioButtonValueState.Success:\n return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);\n case UDExRadioButtonValueState.Information:\n return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);\n case UDExRadioButtonValueState.Warning:\n return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);\n default:\n return \"\";\n }\n }\n}\n\nUDExRadioButton.define();\n\nexport default UDExRadioButton;\n"]}
|
package/dist/Search.d.ts
CHANGED
|
@@ -454,7 +454,6 @@ declare class UDExSearch extends UI5Element {
|
|
|
454
454
|
get isVoiceButton(): boolean;
|
|
455
455
|
get accInfo(): {
|
|
456
456
|
ariaLabel: string | undefined;
|
|
457
|
-
ariaDescription: string | undefined;
|
|
458
457
|
accessibleNameResetIcon: string;
|
|
459
458
|
accessibleNameSearchIcon: string;
|
|
460
459
|
};
|