@ui5/webcomponents 1.0.1 → 1.1.2
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/CHANGELOG.md +118 -0
- package/dist/Breadcrumbs.js +8 -6
- package/dist/BreadcrumbsItem.js +1 -1
- package/dist/BusyIndicator.js +2 -3
- package/dist/Button.js +28 -1
- package/dist/Calendar.js +7 -0
- package/dist/Carousel.js +9 -0
- package/dist/CheckBox.js +34 -1
- package/dist/ColorPalette.js +5 -4
- package/dist/ColorPalettePopover.js +27 -2
- package/dist/ComboBox.js +91 -23
- package/dist/DateComponentBase.js +6 -8
- package/dist/DatePicker.js +10 -2
- package/dist/DateRangePicker.js +22 -0
- package/dist/Dialog.js +5 -22
- package/dist/Icon.js +11 -8
- package/dist/Input.js +107 -15
- package/dist/Link.js +32 -14
- package/dist/List.js +14 -4
- package/dist/MessageStrip.js +39 -2
- package/dist/MultiComboBox.js +7 -3
- package/dist/MultiComboBoxItem.js +1 -1
- package/dist/MultiInput.js +55 -8
- package/dist/Option.js +12 -1
- package/dist/Panel.js +9 -0
- package/dist/Popover.js +106 -57
- package/dist/Popup.js +16 -2
- package/dist/RadioButton.js +15 -3
- package/dist/RatingIndicator.js +37 -7
- package/dist/ResponsivePopover.js +1 -0
- package/dist/SegmentedButton.js +14 -1
- package/dist/Select.js +2 -1
- package/dist/SliderBase.js +4 -0
- package/dist/SplitButton.js +425 -0
- package/dist/Switch.js +18 -0
- package/dist/Tab.js +10 -6
- package/dist/TabContainer.js +480 -108
- package/dist/TabSeparator.js +42 -3
- package/dist/Table.js +15 -5
- package/dist/TextArea.js +9 -3
- package/dist/ToggleButton.js +5 -0
- package/dist/Tokenizer.js +134 -7
- package/dist/TreeItem.js +21 -0
- package/dist/TreeListItem.js +8 -0
- package/dist/api.json +299 -26
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BrowserScrollbar.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/CustomListItem.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -0
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
- package/dist/css/themes/TabSeparatorInStrip.css +1 -0
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimeSelection.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/features/InputSuggestions.js +88 -15
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +1 -1
- package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/CardHeaderTemplate.lit.js +1 -1
- package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
- package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/CustomListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/DialogTemplate.lit.js +1 -1
- package/dist/generated/templates/InputPopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/InputTemplate.lit.js +1 -1
- package/dist/generated/templates/LinkTemplate.lit.js +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
- package/dist/generated/templates/PanelTemplate.lit.js +1 -1
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +1 -1
- package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/SliderBaseTemplate.lit.js +1 -1
- package/dist/generated/templates/SliderTemplate.lit.js +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +4 -2
- package/dist/generated/templates/TabContainerTemplate.lit.js +9 -10
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
- package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
- package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
- package/dist/generated/templates/TableTemplate.lit.js +1 -1
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/TreeTemplate.lit.js +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js +8 -0
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
- package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TimeSelection.css.js +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/i18n/messagebundle.properties +26 -1
- package/dist/i18n/messagebundle_ar.properties +13 -1
- package/dist/i18n/messagebundle_bg.properties +13 -1
- package/dist/i18n/messagebundle_ca.properties +13 -1
- package/dist/i18n/messagebundle_cs.properties +13 -1
- package/dist/i18n/messagebundle_cy.properties +13 -1
- package/dist/i18n/messagebundle_da.properties +13 -1
- package/dist/i18n/messagebundle_de.properties +13 -1
- package/dist/i18n/messagebundle_el.properties +13 -1
- package/dist/i18n/messagebundle_en.properties +13 -1
- package/dist/i18n/messagebundle_en_GB.properties +13 -1
- package/dist/i18n/messagebundle_en_US_sappsd.properties +18 -1
- package/dist/i18n/messagebundle_en_US_saprigi.properties +18 -1
- package/dist/i18n/messagebundle_en_US_saptrc.properties +18 -1
- package/dist/i18n/messagebundle_es.properties +13 -1
- package/dist/i18n/messagebundle_es_MX.properties +13 -1
- package/dist/i18n/messagebundle_et.properties +13 -1
- package/dist/i18n/messagebundle_fi.properties +14 -2
- package/dist/i18n/messagebundle_fr.properties +13 -1
- package/dist/i18n/messagebundle_fr_CA.properties +13 -1
- package/dist/i18n/messagebundle_hi.properties +13 -1
- package/dist/i18n/messagebundle_hr.properties +13 -1
- package/dist/i18n/messagebundle_hu.properties +13 -1
- package/dist/i18n/messagebundle_id.properties +13 -1
- package/dist/i18n/messagebundle_it.properties +13 -1
- package/dist/i18n/messagebundle_iw.properties +13 -1
- package/dist/i18n/messagebundle_ja.properties +13 -1
- package/dist/i18n/messagebundle_kk.properties +13 -1
- package/dist/i18n/messagebundle_ko.properties +13 -1
- package/dist/i18n/messagebundle_lt.properties +13 -1
- package/dist/i18n/messagebundle_lv.properties +13 -1
- package/dist/i18n/messagebundle_ms.properties +13 -1
- package/dist/i18n/messagebundle_nl.properties +13 -1
- package/dist/i18n/messagebundle_no.properties +13 -1
- package/dist/i18n/messagebundle_pl.properties +13 -1
- package/dist/i18n/messagebundle_pt.properties +13 -1
- package/dist/i18n/messagebundle_pt_PT.properties +13 -1
- package/dist/i18n/messagebundle_ro.properties +13 -1
- package/dist/i18n/messagebundle_ru.properties +13 -1
- package/dist/i18n/messagebundle_sh.properties +13 -1
- package/dist/i18n/messagebundle_sk.properties +13 -1
- package/dist/i18n/messagebundle_sl.properties +13 -1
- package/dist/i18n/messagebundle_sv.properties +13 -1
- package/dist/i18n/messagebundle_th.properties +12 -0
- package/dist/i18n/messagebundle_tr.properties +13 -1
- package/dist/i18n/messagebundle_uk.properties +13 -1
- package/dist/i18n/messagebundle_vi.properties +13 -1
- package/dist/i18n/messagebundle_zh_CN.properties +13 -1
- package/dist/i18n/messagebundle_zh_TW.properties +12 -0
- package/dist/types/HasPopup.js +62 -0
- package/dist/types/TabsOverflowMode.js +40 -0
- package/package.json +9 -9
- package/src/Breadcrumbs.hbs +3 -2
- package/src/Breadcrumbs.js +8 -6
- package/src/BreadcrumbsItem.js +1 -1
- package/src/BreadcrumbsPopover.hbs +2 -2
- package/src/BusyIndicator.hbs +1 -1
- package/src/BusyIndicator.js +2 -3
- package/src/Button.hbs +1 -1
- package/src/Button.js +28 -1
- package/src/Calendar.js +7 -0
- package/src/CardHeader.hbs +12 -5
- package/src/Carousel.hbs +1 -0
- package/src/Carousel.js +9 -0
- package/src/CheckBox.hbs +1 -0
- package/src/CheckBox.js +34 -1
- package/src/ColorPalette.js +5 -4
- package/src/ColorPalettePopover.hbs +7 -5
- package/src/ColorPalettePopover.js +27 -2
- package/src/ComboBox.hbs +1 -0
- package/src/ComboBox.js +91 -23
- package/src/ComboBoxPopover.hbs +1 -0
- package/src/DateComponentBase.js +6 -8
- package/src/DatePicker.js +10 -2
- package/src/DateRangePicker.js +22 -0
- package/src/Dialog.hbs +1 -1
- package/src/Dialog.js +5 -22
- package/src/Icon.js +11 -8
- package/src/Input.hbs +1 -1
- package/src/Input.js +107 -15
- package/src/InputPopover.hbs +2 -3
- package/src/Link.hbs +2 -1
- package/src/Link.js +32 -14
- package/src/List.js +14 -4
- package/src/ListItem.hbs +1 -0
- package/src/MessageStrip.hbs +1 -1
- package/src/MessageStrip.js +39 -2
- package/src/MultiComboBox.js +7 -3
- package/src/MultiComboBoxItem.js +1 -1
- package/src/MultiComboBoxPopover.hbs +1 -1
- package/src/MultiInput.js +55 -8
- package/src/Option.js +12 -1
- package/src/Panel.hbs +1 -1
- package/src/Panel.js +9 -0
- package/src/Popover.js +106 -57
- package/src/Popup.js +16 -2
- package/src/PopupBlockLayer.hbs +1 -1
- package/src/RadioButton.js +15 -3
- package/src/RatingIndicator.js +37 -7
- package/src/ResponsivePopover.hbs +2 -0
- package/src/ResponsivePopover.js +1 -0
- package/src/SegmentedButton.hbs +1 -0
- package/src/SegmentedButton.js +14 -1
- package/src/Select.js +2 -1
- package/src/SelectPopover.hbs +2 -1
- package/src/SliderBase.hbs +1 -1
- package/src/SliderBase.js +4 -0
- package/src/SplitButton.hbs +53 -0
- package/src/SplitButton.js +425 -0
- package/src/Switch.hbs +1 -0
- package/src/Switch.js +18 -0
- package/src/Tab.js +10 -6
- package/src/TabContainer.hbs +48 -58
- package/src/TabContainer.js +480 -108
- package/src/TabContainerPopover.hbs +9 -6
- package/src/TabInOverflow.hbs +0 -1
- package/src/TabInStrip.hbs +3 -8
- package/src/TabSeparator.js +42 -3
- package/src/TabSeparatorInOverflow.hbs +8 -0
- package/src/TabSeparatorInStrip.hbs +6 -0
- package/src/Table.hbs +1 -1
- package/src/Table.js +15 -5
- package/src/TextArea.js +9 -3
- package/src/TextAreaPopover.hbs +1 -1
- package/src/ToggleButton.js +5 -0
- package/src/Tokenizer.js +134 -7
- package/src/Tree.hbs +1 -0
- package/src/TreeItem.js +21 -0
- package/src/TreeListItem.js +8 -0
- package/src/features/InputSuggestions.js +88 -15
- package/src/i18n/messagebundle.properties +26 -1
- package/src/i18n/messagebundle_ar.properties +13 -1
- package/src/i18n/messagebundle_bg.properties +13 -1
- package/src/i18n/messagebundle_ca.properties +13 -1
- package/src/i18n/messagebundle_cs.properties +13 -1
- package/src/i18n/messagebundle_cy.properties +13 -1
- package/src/i18n/messagebundle_da.properties +13 -1
- package/src/i18n/messagebundle_de.properties +13 -1
- package/src/i18n/messagebundle_el.properties +13 -1
- package/src/i18n/messagebundle_en.properties +13 -1
- package/src/i18n/messagebundle_en_GB.properties +13 -1
- package/src/i18n/messagebundle_en_US_sappsd.properties +18 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +18 -1
- package/src/i18n/messagebundle_en_US_saptrc.properties +18 -1
- package/src/i18n/messagebundle_es.properties +13 -1
- package/src/i18n/messagebundle_es_MX.properties +13 -1
- package/src/i18n/messagebundle_et.properties +13 -1
- package/src/i18n/messagebundle_fi.properties +14 -2
- package/src/i18n/messagebundle_fr.properties +13 -1
- package/src/i18n/messagebundle_fr_CA.properties +13 -1
- package/src/i18n/messagebundle_hi.properties +13 -1
- package/src/i18n/messagebundle_hr.properties +13 -1
- package/src/i18n/messagebundle_hu.properties +13 -1
- package/src/i18n/messagebundle_id.properties +13 -1
- package/src/i18n/messagebundle_it.properties +13 -1
- package/src/i18n/messagebundle_iw.properties +13 -1
- package/src/i18n/messagebundle_ja.properties +13 -1
- package/src/i18n/messagebundle_kk.properties +13 -1
- package/src/i18n/messagebundle_ko.properties +13 -1
- package/src/i18n/messagebundle_lt.properties +13 -1
- package/src/i18n/messagebundle_lv.properties +13 -1
- package/src/i18n/messagebundle_ms.properties +13 -1
- package/src/i18n/messagebundle_nl.properties +13 -1
- package/src/i18n/messagebundle_no.properties +13 -1
- package/src/i18n/messagebundle_pl.properties +13 -1
- package/src/i18n/messagebundle_pt.properties +13 -1
- package/src/i18n/messagebundle_pt_PT.properties +13 -1
- package/src/i18n/messagebundle_ro.properties +13 -1
- package/src/i18n/messagebundle_ru.properties +13 -1
- package/src/i18n/messagebundle_sh.properties +13 -1
- package/src/i18n/messagebundle_sk.properties +13 -1
- package/src/i18n/messagebundle_sl.properties +13 -1
- package/src/i18n/messagebundle_sv.properties +13 -1
- package/src/i18n/messagebundle_th.properties +12 -0
- package/src/i18n/messagebundle_tr.properties +13 -1
- package/src/i18n/messagebundle_uk.properties +13 -1
- package/src/i18n/messagebundle_vi.properties +13 -1
- package/src/i18n/messagebundle_zh_CN.properties +13 -1
- package/src/i18n/messagebundle_zh_TW.properties +12 -0
- package/src/themes/Badge.css +3 -1
- package/src/themes/Breadcrumbs.css +100 -99
- package/src/themes/BrowserScrollbar.css +2 -0
- package/src/themes/BusyIndicator.css +3 -3
- package/src/themes/CardHeader.css +7 -3
- package/src/themes/CheckBox.css +15 -7
- package/src/themes/CustomListItem.css +2 -1
- package/src/themes/Dialog.css +1 -0
- package/src/themes/Input.css +14 -0
- package/src/themes/List.css +1 -0
- package/src/themes/Panel.css +4 -0
- package/src/themes/Popover.css +4 -0
- package/src/themes/PopupsCommon.css +0 -1
- package/src/themes/RadioButton.css +4 -3
- package/src/themes/RatingIndicator.css +0 -1
- package/src/themes/SliderBase.css +3 -2
- package/src/themes/SplitButton.css +98 -0
- package/src/themes/TabContainer.css +17 -53
- package/src/themes/TabInOverflow.css +25 -21
- package/src/themes/TabInStrip.css +124 -100
- package/src/themes/TabSeparatorInOverflow.css +8 -0
- package/src/themes/TabSeparatorInStrip.css +5 -0
- package/src/themes/Table.css +1 -1
- package/src/themes/TableColumn.css +0 -1
- package/src/themes/TextArea.css +9 -1
- package/src/themes/TimeSelection.css +4 -0
- package/src/themes/Token.css +2 -1
- package/src/themes/Tokenizer.css +1 -1
- package/src/themes/ValueStateMessage.css +3 -3
- package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/base/Card-parameters.css +1 -1
- package/src/themes/base/Input-parameters.css +5 -0
- package/src/themes/base/TabContainer-parameters.css +1 -1
- package/src/themes/base/TextArea-parameters.css +1 -0
- package/src/themes/base/Title-parameters.css +6 -6
- package/src/themes/base/Token-parameters.css +1 -0
- package/src/themes/base/sizes-parameters.css +2 -2
- package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize/Table-parameters.css +3 -0
- package/src/themes/sap_belize/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize_hcb/Input-parameters.css +1 -0
- package/src/themes/sap_belize_hcb/Table-parameters.css +1 -0
- package/src/themes/sap_belize_hcb/Token-parameters.css +1 -0
- package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize_hcw/Input-parameters.css +1 -0
- package/src/themes/sap_belize_hcw/Table-parameters.css +1 -0
- package/src/themes/sap_belize_hcw/Token-parameters.css +1 -0
- package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3/TabContainer-parameters.css +1 -1
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcb/Input-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +2 -0
- package/src/themes/sap_fiori_3_hcb/Token-parameters.css +2 -1
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcw/Input-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +2 -0
- package/src/themes/sap_fiori_3_hcw/Token-parameters.css +2 -1
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon/Card-parameters.css +0 -1
- package/src/themes/sap_horizon/Table-parameters.css +1 -0
- package/src/themes/sap_horizon/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -0
- package/src/types/HasPopup.js +62 -0
- package/src/types/TabsOverflowMode.js +40 -0
- package/csp.js +0 -7
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
- package/src/TabSeparator.hbs +0 -1
package/src/BreadcrumbsItem.js
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
with-padding
|
|
7
7
|
_hide-header
|
|
8
8
|
@keydown="{{_onkeydown}}">
|
|
9
|
-
<ui5-list mode="
|
|
9
|
+
<ui5-list mode="SingleSelect"
|
|
10
10
|
separators="None"
|
|
11
|
-
@ui5-
|
|
11
|
+
@ui5-selection-change="{{_onOverflowListItemSelect}}">
|
|
12
12
|
|
|
13
13
|
{{#each _overflowItemsData}}
|
|
14
14
|
<ui5-li
|
package/src/BusyIndicator.hbs
CHANGED
package/src/BusyIndicator.js
CHANGED
|
@@ -98,7 +98,6 @@ const metadata = {
|
|
|
98
98
|
*/
|
|
99
99
|
_isBusy: {
|
|
100
100
|
type: Boolean,
|
|
101
|
-
noAttribute: true,
|
|
102
101
|
},
|
|
103
102
|
},
|
|
104
103
|
};
|
|
@@ -231,7 +230,7 @@ class BusyIndicator extends UI5Element {
|
|
|
231
230
|
}
|
|
232
231
|
|
|
233
232
|
_handleKeydown(event) {
|
|
234
|
-
if (!this.
|
|
233
|
+
if (!this._isBusy) {
|
|
235
234
|
return;
|
|
236
235
|
}
|
|
237
236
|
|
|
@@ -246,7 +245,7 @@ class BusyIndicator extends UI5Element {
|
|
|
246
245
|
}
|
|
247
246
|
|
|
248
247
|
_preventEvent(event) {
|
|
249
|
-
if (this.
|
|
248
|
+
if (this._isBusy) {
|
|
250
249
|
event.stopImmediatePropagation();
|
|
251
250
|
}
|
|
252
251
|
}
|
package/src/Button.hbs
CHANGED
package/src/Button.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
3
|
import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
4
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
4
5
|
import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
|
|
5
6
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
6
7
|
import isLegacyBrowser from "@ui5/webcomponents-base/dist/isLegacyBrowser.js";
|
|
7
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
isPhone,
|
|
10
|
+
isTablet,
|
|
11
|
+
isCombi,
|
|
12
|
+
isSafari,
|
|
13
|
+
} from "@ui5/webcomponents-base/dist/Device.js";
|
|
8
14
|
import ButtonDesign from "./types/ButtonDesign.js";
|
|
9
15
|
import ButtonTemplate from "./generated/templates/ButtonTemplate.lit.js";
|
|
10
16
|
import Icon from "./Icon.js";
|
|
@@ -163,6 +169,19 @@ const metadata = {
|
|
|
163
169
|
defaultValue: undefined,
|
|
164
170
|
},
|
|
165
171
|
|
|
172
|
+
/**
|
|
173
|
+
* Receives id(or many ids) of the elements that label the component.
|
|
174
|
+
*
|
|
175
|
+
* @type {String}
|
|
176
|
+
* @defaultvalue ""
|
|
177
|
+
* @public
|
|
178
|
+
* @since 1.1.0
|
|
179
|
+
*/
|
|
180
|
+
accessibleNameRef: {
|
|
181
|
+
type: String,
|
|
182
|
+
defaultValue: "",
|
|
183
|
+
},
|
|
184
|
+
|
|
166
185
|
/**
|
|
167
186
|
* @type {String}
|
|
168
187
|
* @defaultvalue ""
|
|
@@ -343,6 +362,10 @@ class Button extends UI5Element {
|
|
|
343
362
|
if (FormSupport) {
|
|
344
363
|
FormSupport.triggerFormSubmit(this);
|
|
345
364
|
}
|
|
365
|
+
|
|
366
|
+
if (isSafari()) {
|
|
367
|
+
this.getDomRef().focus();
|
|
368
|
+
}
|
|
346
369
|
}
|
|
347
370
|
|
|
348
371
|
_onmousedown(event) {
|
|
@@ -453,6 +476,10 @@ class Button extends UI5Element {
|
|
|
453
476
|
return this.iconOnly && !this.title;
|
|
454
477
|
}
|
|
455
478
|
|
|
479
|
+
get ariaLabelText() {
|
|
480
|
+
return getEffectiveAriaLabelText(this);
|
|
481
|
+
}
|
|
482
|
+
|
|
456
483
|
static async onDefine() {
|
|
457
484
|
Button.i18nBundle = await getI18nBundle("@ui5/webcomponents");
|
|
458
485
|
}
|
package/src/Calendar.js
CHANGED
|
@@ -29,6 +29,7 @@ import calendarCSS from "./generated/themes/Calendar.css.js";
|
|
|
29
29
|
*/
|
|
30
30
|
const metadata = {
|
|
31
31
|
tag: "ui5-calendar",
|
|
32
|
+
fastNavigation: true,
|
|
32
33
|
properties: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
|
|
33
34
|
/**
|
|
34
35
|
* Defines the type of selection used in the calendar component.
|
|
@@ -194,6 +195,12 @@ const metadata = {
|
|
|
194
195
|
* </ul>
|
|
195
196
|
* <br>
|
|
196
197
|
*
|
|
198
|
+
* <h4>Fast Navigation</h4>
|
|
199
|
+
* This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.
|
|
200
|
+
* In order to use this functionality, you need to import the following module:
|
|
201
|
+
* <code>import "@ui5/webcomponents-base/dist/features/F6Navigation.js"</code>
|
|
202
|
+
* <br><br>
|
|
203
|
+
*
|
|
197
204
|
* <h3>Calendar types</h3>
|
|
198
205
|
* The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.
|
|
199
206
|
* By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,
|
package/src/CardHeader.hbs
CHANGED
|
@@ -27,9 +27,16 @@
|
|
|
27
27
|
{{/if}}
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
<div class="ui5-card-header-action">
|
|
31
|
+
{{#if hasAction}}
|
|
32
|
+
<slot name="action"></slot>
|
|
33
|
+
{{else}}
|
|
34
|
+
<span
|
|
35
|
+
id="{{_id}}-status"
|
|
36
|
+
part="status"
|
|
37
|
+
class="ui5-card-header-status"
|
|
38
|
+
dir="auto"
|
|
39
|
+
>{{status}}</span>
|
|
40
|
+
{{/if}}
|
|
41
|
+
</div>
|
|
35
42
|
</div>
|
package/src/Carousel.hbs
CHANGED
package/src/Carousel.js
CHANGED
|
@@ -38,6 +38,7 @@ import CarouselCss from "./generated/themes/Carousel.css.js";
|
|
|
38
38
|
const metadata = {
|
|
39
39
|
tag: "ui5-carousel",
|
|
40
40
|
languageAware: true,
|
|
41
|
+
fastNavigation: true,
|
|
41
42
|
properties: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
|
|
42
43
|
/**
|
|
43
44
|
* Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.
|
|
@@ -231,10 +232,18 @@ const metadata = {
|
|
|
231
232
|
* </ul>
|
|
232
233
|
*
|
|
233
234
|
* <h3>Keyboard Handling</h3>
|
|
235
|
+
*
|
|
236
|
+
* <h4>Basic Navigation</h4>
|
|
234
237
|
* When the <code>ui5-carousel</code> is focused the user can navigate between the items
|
|
235
238
|
* with the following keyboard shortcuts:
|
|
236
239
|
* <br>
|
|
237
240
|
*
|
|
241
|
+
* * <h4>Fast Navigation</h4>
|
|
242
|
+
* This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.
|
|
243
|
+
* In order to use this functionality, you need to import the following module:
|
|
244
|
+
* <code>import "@ui5/webcomponents-base/dist/features/F6Navigation.js"</code>
|
|
245
|
+
* <br><br>
|
|
246
|
+
*
|
|
238
247
|
* <ul>
|
|
239
248
|
* <li>[UP/DOWN] - Navigates to previous and next item</li>
|
|
240
249
|
* <li>[LEFT/RIGHT] - Navigates to previous and next item</li>
|
package/src/CheckBox.hbs
CHANGED
package/src/CheckBox.js
CHANGED
|
@@ -4,6 +4,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
|
4
4
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
5
5
|
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
6
6
|
import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
|
|
7
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
7
8
|
import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
8
9
|
import "@ui5/webcomponents-icons/dist/accept.js";
|
|
9
10
|
import Icon from "./Icon.js";
|
|
@@ -32,6 +33,30 @@ const metadata = {
|
|
|
32
33
|
languageAware: true,
|
|
33
34
|
properties: /** @lends sap.ui.webcomponents.main.CheckBox.prototype */ {
|
|
34
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Receives id(or many ids) of the elements that label the component
|
|
38
|
+
* @type {String}
|
|
39
|
+
* @defaultvalue ""
|
|
40
|
+
* @public
|
|
41
|
+
* @since 1.1.0
|
|
42
|
+
*/
|
|
43
|
+
accessibleNameRef: {
|
|
44
|
+
type: String,
|
|
45
|
+
defaultValue: "",
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Sets the accessible aria name of the component.
|
|
50
|
+
*
|
|
51
|
+
* @type {String}
|
|
52
|
+
* @public
|
|
53
|
+
* @defaultvalue ""
|
|
54
|
+
* @since 1.1.0
|
|
55
|
+
*/
|
|
56
|
+
accessibleName: {
|
|
57
|
+
type: String,
|
|
58
|
+
},
|
|
59
|
+
|
|
35
60
|
/**
|
|
36
61
|
* Defines whether the component is disabled.
|
|
37
62
|
* <br><br>
|
|
@@ -362,6 +387,10 @@ class CheckBox extends UI5Element {
|
|
|
362
387
|
};
|
|
363
388
|
}
|
|
364
389
|
|
|
390
|
+
get ariaLabelText() {
|
|
391
|
+
return getEffectiveAriaLabelText(this);
|
|
392
|
+
}
|
|
393
|
+
|
|
365
394
|
get classes() {
|
|
366
395
|
return {
|
|
367
396
|
main: {
|
|
@@ -383,7 +412,11 @@ class CheckBox extends UI5Element {
|
|
|
383
412
|
}
|
|
384
413
|
|
|
385
414
|
get ariaLabelledBy() {
|
|
386
|
-
|
|
415
|
+
if (!this.ariaLabelText) {
|
|
416
|
+
return this.text ? `${this._id}-label` : undefined;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
return undefined;
|
|
387
420
|
}
|
|
388
421
|
|
|
389
422
|
get ariaDescribedBy() {
|
package/src/ColorPalette.js
CHANGED
|
@@ -16,6 +16,7 @@ import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
|
|
|
16
16
|
import ColorPaletteTemplate from "./generated/templates/ColorPaletteTemplate.lit.js";
|
|
17
17
|
import ColorPaletteDialogTemplate from "./generated/templates/ColorPaletteDialogTemplate.lit.js";
|
|
18
18
|
import ColorPaletteItem from "./ColorPaletteItem.js";
|
|
19
|
+
import Button from "./Button.js";
|
|
19
20
|
import {
|
|
20
21
|
COLORPALETTE_CONTAINER_LABEL,
|
|
21
22
|
COLOR_PALETTE_MORE_COLORS_TEXT,
|
|
@@ -178,7 +179,7 @@ class ColorPalette extends UI5Element {
|
|
|
178
179
|
|
|
179
180
|
static get dependencies() {
|
|
180
181
|
const ColorPaletteMoreColors = getFeature("ColorPaletteMoreColors");
|
|
181
|
-
return [ColorPaletteItem].concat(ColorPaletteMoreColors ? ColorPaletteMoreColors.dependencies : []);
|
|
182
|
+
return [ColorPaletteItem, Button].concat(ColorPaletteMoreColors ? ColorPaletteMoreColors.dependencies : []);
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
static async onDefine() {
|
|
@@ -252,20 +253,20 @@ class ColorPalette extends UI5Element {
|
|
|
252
253
|
}
|
|
253
254
|
|
|
254
255
|
_onclick(event) {
|
|
255
|
-
if (event.target.
|
|
256
|
+
if (event.target.hasAttribute("ui5-color-palette-item")) {
|
|
256
257
|
this.selectColor(event.target);
|
|
257
258
|
}
|
|
258
259
|
}
|
|
259
260
|
|
|
260
261
|
_onkeyup(event) {
|
|
261
|
-
if (isSpace(event) && event.target.
|
|
262
|
+
if (isSpace(event) && event.target.hasAttribute("ui5-color-palette-item")) {
|
|
262
263
|
event.preventDefault();
|
|
263
264
|
this.selectColor(event.target);
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
_onkeydown(event) {
|
|
268
|
-
if (isEnter(event) && event.target.
|
|
269
|
+
if (isEnter(event) && event.target.hasAttribute("ui5-color-palette-item")) {
|
|
269
270
|
this.selectColor(event.target);
|
|
270
271
|
}
|
|
271
272
|
}
|
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
hide-arrow
|
|
3
3
|
content-only-on-desktop
|
|
4
4
|
placement-type="Bottom"
|
|
5
|
-
|
|
5
|
+
>
|
|
6
6
|
<div slot="header" class="ui5-cp-header">
|
|
7
7
|
<ui5-title
|
|
8
|
-
class="ui5-cp-title"
|
|
8
|
+
class="ui5-cp-title"
|
|
9
|
+
>{{_colorPaletteTitle}}</ui5-title>
|
|
9
10
|
</div>
|
|
10
11
|
<div>
|
|
11
|
-
<ui5-color-palette
|
|
12
|
+
<ui5-color-palette
|
|
12
13
|
?show-more-colors="{{this.showMoreColors}}"
|
|
13
14
|
?show-recent-colors="{{this.showRecentColors}}"
|
|
14
15
|
?show-default-color="{{this.defaultColor}}"
|
|
15
16
|
default-color="{{this.defaultColor}}"
|
|
16
17
|
popup-mode
|
|
17
|
-
@item-click="{{onSelectedColor}}"
|
|
18
|
+
@ui5-item-click="{{onSelectedColor}}"
|
|
19
|
+
>
|
|
18
20
|
{{#each colorPaletteColors}}
|
|
19
21
|
<slot name="{{this._individualSlot}}"></slot>
|
|
20
22
|
{{/each}}
|
|
@@ -26,4 +28,4 @@
|
|
|
26
28
|
@click="{{closePopover}}"
|
|
27
29
|
>{{_cancelButtonLabel}}</ui5-button>
|
|
28
30
|
</div>
|
|
29
|
-
</ui5-responsive-popover>
|
|
31
|
+
</ui5-responsive-popover>
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from "./generated/i18n/i18n-defaults.js";
|
|
14
14
|
|
|
15
15
|
import Button from "./Button.js";
|
|
16
|
+
import Title from "./Title.js";
|
|
16
17
|
import ResponsivePopover from "./ResponsivePopover.js";
|
|
17
18
|
import ColorPalette from "./ColorPalette.js";
|
|
18
19
|
|
|
@@ -145,6 +146,7 @@ class ColorPalettePopover extends UI5Element {
|
|
|
145
146
|
return [
|
|
146
147
|
ResponsivePopover,
|
|
147
148
|
Button,
|
|
149
|
+
Title,
|
|
148
150
|
ColorPalette,
|
|
149
151
|
];
|
|
150
152
|
}
|
|
@@ -167,11 +169,30 @@ class ColorPalettePopover extends UI5Element {
|
|
|
167
169
|
return this.responsivePopover.content[0].querySelector("[ui5-color-palette]");
|
|
168
170
|
}
|
|
169
171
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
+
/**
|
|
173
|
+
* Shows the ColorPalettePopover.
|
|
174
|
+
* @param {HTMLElement} opener the element that the popover is shown at
|
|
175
|
+
* @public
|
|
176
|
+
* @since 1.1.1
|
|
177
|
+
*/
|
|
178
|
+
showAt(opener) {
|
|
179
|
+
this._openPopover(opener);
|
|
172
180
|
}
|
|
173
181
|
|
|
182
|
+
/**
|
|
183
|
+
* Shows the ColorPalettePopover.
|
|
184
|
+
* <b>Note:</b> The method is deprecated and will be removed in future, use <code>showAt</code> instead.
|
|
185
|
+
* @param {HTMLElement} opener the element that the popover is shown at
|
|
186
|
+
* @public
|
|
187
|
+
* @since 1.0.0-rc.16
|
|
188
|
+
* @deprecated The method is deprecated in favour of <code>showAt</code>.
|
|
189
|
+
*/
|
|
174
190
|
openPopover(opener) {
|
|
191
|
+
console.warn("The method 'openPopover' is deprecated and will be removed in future, use 'showAt' instead."); // eslint-disable-line
|
|
192
|
+
this._openPopover(opener);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
_openPopover(opener) {
|
|
175
196
|
this._respPopover();
|
|
176
197
|
|
|
177
198
|
this.responsivePopover.showAt(opener, true);
|
|
@@ -183,6 +204,10 @@ class ColorPalettePopover extends UI5Element {
|
|
|
183
204
|
}
|
|
184
205
|
}
|
|
185
206
|
|
|
207
|
+
closePopover() {
|
|
208
|
+
this.responsivePopover.close();
|
|
209
|
+
}
|
|
210
|
+
|
|
186
211
|
onSelectedColor(event) {
|
|
187
212
|
this.closePopover();
|
|
188
213
|
this.fireEvent("item-click", event.detail);
|
package/src/ComboBox.hbs
CHANGED
package/src/ComboBox.js
CHANGED
|
@@ -19,6 +19,10 @@ import {
|
|
|
19
19
|
isEscape,
|
|
20
20
|
isTabNext,
|
|
21
21
|
isTabPrevious,
|
|
22
|
+
isPageUp,
|
|
23
|
+
isPageDown,
|
|
24
|
+
isHome,
|
|
25
|
+
isEnd,
|
|
22
26
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
23
27
|
import * as Filters from "./ComboBoxFilters.js";
|
|
24
28
|
|
|
@@ -215,7 +219,7 @@ const metadata = {
|
|
|
215
219
|
},
|
|
216
220
|
|
|
217
221
|
/**
|
|
218
|
-
* Receives id(or many ids) of the elements that label the
|
|
222
|
+
* Receives id(or many ids) of the elements that label the component
|
|
219
223
|
* @type {String}
|
|
220
224
|
* @defaultvalue ""
|
|
221
225
|
* @public
|
|
@@ -326,6 +330,7 @@ const metadata = {
|
|
|
326
330
|
* The <code>ui5-combobox</code> component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.
|
|
327
331
|
*
|
|
328
332
|
* It is commonly used to enable users to select an option from a predefined list.
|
|
333
|
+
*
|
|
329
334
|
* <h3>Structure</h3>
|
|
330
335
|
* The <code>ui5-combobox</code> consists of the following elements:
|
|
331
336
|
* <ul>
|
|
@@ -333,15 +338,24 @@ const metadata = {
|
|
|
333
338
|
* <li> Drop-down arrow - expands\collapses the option list.</li>
|
|
334
339
|
* <li> Option list - the list of available options.</li>
|
|
335
340
|
* </ul>
|
|
341
|
+
*
|
|
336
342
|
* <h3>Keyboard Handling</h3>
|
|
337
343
|
*
|
|
338
344
|
* The <code>ui5-combobox</code> provides advanced keyboard handling.
|
|
339
|
-
*
|
|
340
|
-
* <h4>Picker</h4>
|
|
341
|
-
* If the <code>ui5-combobox</code> is focused,
|
|
342
|
-
* you can open or close the drop-down by pressing <code>F4</code>, <code>ALT+UP</code> or <code>ALT+DOWN</code> keys.
|
|
343
345
|
* <br>
|
|
344
346
|
*
|
|
347
|
+
* <ul>
|
|
348
|
+
* <li>[F4], [ALT]+[UP], or [ALT]+[DOWN] - Toggles the picker.</li>
|
|
349
|
+
* <li>[ESC] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.</li>
|
|
350
|
+
* <li>[ENTER] or [RETURN] - If picker is open, takes over the currently selected item and closes it.</li>
|
|
351
|
+
* <li>[DOWN] - Selects the next matching item in the picker.</li>
|
|
352
|
+
* <li>[UP] - Selects the previous matching item in the picker.</li>
|
|
353
|
+
* <li>[PAGEDOWN] - Moves selection down by page size (10 items by default).</li>
|
|
354
|
+
* <li>[PAGEUP] - Moves selection up by page size (10 items by default). </li>
|
|
355
|
+
* <li>[HOME] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.</li>
|
|
356
|
+
* <li>[END] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.</li>
|
|
357
|
+
* </ul>
|
|
358
|
+
*
|
|
345
359
|
*
|
|
346
360
|
* <h3>ES6 Module Import</h3>
|
|
347
361
|
*
|
|
@@ -517,6 +531,8 @@ class ComboBox extends UI5Element {
|
|
|
517
531
|
}
|
|
518
532
|
|
|
519
533
|
_resetFilter() {
|
|
534
|
+
this._userTypedValue = null;
|
|
535
|
+
this.inner.setSelectionRange(0, this.value.length);
|
|
520
536
|
this._filteredItems = this._filterItems("");
|
|
521
537
|
this._selectMatchingItem();
|
|
522
538
|
}
|
|
@@ -588,14 +604,12 @@ class ComboBox extends UI5Element {
|
|
|
588
604
|
});
|
|
589
605
|
}
|
|
590
606
|
|
|
591
|
-
|
|
592
|
-
if (this.
|
|
607
|
+
handleNavKeyPress(event) {
|
|
608
|
+
if (this.focused && (isHome(event) || isEnd(event)) && this.value) {
|
|
593
609
|
return;
|
|
594
610
|
}
|
|
595
611
|
|
|
596
612
|
const isOpen = this.open;
|
|
597
|
-
const isArrowDown = isDown(event);
|
|
598
|
-
const isArrowUp = isUp(event);
|
|
599
613
|
const currentItem = this._filteredItems.find(item => {
|
|
600
614
|
return isOpen ? item.focused : item.selected;
|
|
601
615
|
});
|
|
@@ -603,19 +617,17 @@ class ComboBox extends UI5Element {
|
|
|
603
617
|
|
|
604
618
|
event.preventDefault();
|
|
605
619
|
|
|
606
|
-
if (
|
|
620
|
+
if (this.focused && isOpen && (isUp(event) || isPageUp(event) || isPageDown(event))) {
|
|
607
621
|
return;
|
|
608
622
|
}
|
|
609
623
|
|
|
610
|
-
this.
|
|
611
|
-
|
|
612
|
-
if (isArrowDown) {
|
|
613
|
-
this._handleArrowDown(event, indexOfItem);
|
|
624
|
+
if (this._filteredItems.length - 1 === indexOfItem && isDown(event)) {
|
|
625
|
+
return;
|
|
614
626
|
}
|
|
615
627
|
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
}
|
|
628
|
+
this._isKeyNavigation = true;
|
|
629
|
+
|
|
630
|
+
this[`_handle${event.key}`](event, indexOfItem);
|
|
619
631
|
}
|
|
620
632
|
|
|
621
633
|
_handleItemNavigation(event, indexOfItem, isForward) {
|
|
@@ -632,7 +644,7 @@ class ComboBox extends UI5Element {
|
|
|
632
644
|
|
|
633
645
|
if (isOpen) {
|
|
634
646
|
this._itemFocused = true;
|
|
635
|
-
this.value = isGroupItem ?
|
|
647
|
+
this.value = isGroupItem ? "" : currentItem.text;
|
|
636
648
|
this.focused = false;
|
|
637
649
|
currentItem.focused = true;
|
|
638
650
|
} else {
|
|
@@ -652,7 +664,7 @@ class ComboBox extends UI5Element {
|
|
|
652
664
|
|
|
653
665
|
// autocomplete
|
|
654
666
|
const item = this._getFirstMatchingItem(this.value);
|
|
655
|
-
this._applyAtomicValueAndSelection(item,
|
|
667
|
+
this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : null), true);
|
|
656
668
|
|
|
657
669
|
if ((item && !item.selected)) {
|
|
658
670
|
this.fireEvent("selection-change", {
|
|
@@ -706,13 +718,59 @@ class ComboBox extends UI5Element {
|
|
|
706
718
|
this._handleItemNavigation(event, --indexOfItem, false /* isForward */);
|
|
707
719
|
}
|
|
708
720
|
|
|
721
|
+
_handlePageUp(event, indexOfItem) {
|
|
722
|
+
const isProposedIndexValid = indexOfItem - ComboBox.SKIP_ITEMS_SIZE > -1;
|
|
723
|
+
indexOfItem = isProposedIndexValid ? indexOfItem - ComboBox.SKIP_ITEMS_SIZE : 0;
|
|
724
|
+
const shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;
|
|
725
|
+
|
|
726
|
+
if (!isProposedIndexValid && this.hasValueStateText && this.open) {
|
|
727
|
+
this._clearFocus();
|
|
728
|
+
this._itemFocused = false;
|
|
729
|
+
this._isValueStateFocused = true;
|
|
730
|
+
return;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
this._handleItemNavigation(event, indexOfItem, shouldMoveForward);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
_handlePageDown(event, indexOfItem) {
|
|
737
|
+
const itemsLength = this._filteredItems.length;
|
|
738
|
+
const isProposedIndexValid = indexOfItem + ComboBox.SKIP_ITEMS_SIZE < itemsLength;
|
|
739
|
+
|
|
740
|
+
indexOfItem = isProposedIndexValid ? indexOfItem + ComboBox.SKIP_ITEMS_SIZE : itemsLength - 1;
|
|
741
|
+
const shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;
|
|
742
|
+
|
|
743
|
+
this._handleItemNavigation(event, indexOfItem, shouldMoveForward);
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
_handleHome(event, indexOfItem) {
|
|
747
|
+
const shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;
|
|
748
|
+
|
|
749
|
+
if (this.hasValueStateText && this.open) {
|
|
750
|
+
this._clearFocus();
|
|
751
|
+
this._itemFocused = false;
|
|
752
|
+
this._isValueStateFocused = true;
|
|
753
|
+
return;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
this._handleItemNavigation(event, indexOfItem = 0, shouldMoveForward);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
_handleEnd(event, indexOfItem) {
|
|
760
|
+
this._handleItemNavigation(event, indexOfItem = this._filteredItems.length - 1, true /* isForward */);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
_keyup(event) {
|
|
764
|
+
this._userTypedValue = this.value.substring(0, this.inner.selectionStart);
|
|
765
|
+
}
|
|
766
|
+
|
|
709
767
|
_keydown(event) {
|
|
710
|
-
const
|
|
768
|
+
const isNavKey = isDown(event) || isUp(event) || isPageUp(event) || isPageDown(event) || isHome(event) || isEnd(event);
|
|
711
769
|
this._autocomplete = !(isBackSpace(event) || isDelete(event));
|
|
712
770
|
this._isKeyNavigation = false;
|
|
713
771
|
|
|
714
|
-
if (
|
|
715
|
-
this.
|
|
772
|
+
if (isNavKey && !this.readonly && this._filteredItems.length) {
|
|
773
|
+
this.handleNavKeyPress(event);
|
|
716
774
|
}
|
|
717
775
|
|
|
718
776
|
if (isEnter(event)) {
|
|
@@ -745,6 +803,9 @@ class ComboBox extends UI5Element {
|
|
|
745
803
|
this._itemFocused = true;
|
|
746
804
|
selectedItem.focused = true;
|
|
747
805
|
this.focused = false;
|
|
806
|
+
} else if (this.open && this._filteredItems.length) {
|
|
807
|
+
// If no item is selected, select the first one on "Show" (F4, Alt+Up/Down)
|
|
808
|
+
this._handleItemNavigation(event, 0, true /* isForward */);
|
|
748
809
|
} else {
|
|
749
810
|
this.focused = true;
|
|
750
811
|
}
|
|
@@ -822,6 +883,7 @@ class ComboBox extends UI5Element {
|
|
|
822
883
|
const value = (item && item.text) || "";
|
|
823
884
|
this.inner.value = value;
|
|
824
885
|
if (highlightValue) {
|
|
886
|
+
filterValue = filterValue || "";
|
|
825
887
|
this.inner.setSelectionRange(filterValue.length, value.length);
|
|
826
888
|
}
|
|
827
889
|
this.value = value;
|
|
@@ -950,7 +1012,7 @@ class ComboBox extends UI5Element {
|
|
|
950
1012
|
}
|
|
951
1013
|
|
|
952
1014
|
get shouldOpenValueStateMessagePopover() {
|
|
953
|
-
return this.focused && this.hasValueStateText && !this._iconPressed
|
|
1015
|
+
return this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed
|
|
954
1016
|
&& !this.open && !this._isPhone;
|
|
955
1017
|
}
|
|
956
1018
|
|
|
@@ -958,6 +1020,10 @@ class ComboBox extends UI5Element {
|
|
|
958
1020
|
return !this.valueStateMessage.length && this.hasValueStateText;
|
|
959
1021
|
}
|
|
960
1022
|
|
|
1023
|
+
get _valueStatePopoverHorizontalAlign() {
|
|
1024
|
+
return this.effectiveDir !== "rtl" ? "Left" : "Right";
|
|
1025
|
+
}
|
|
1026
|
+
|
|
961
1027
|
/**
|
|
962
1028
|
* This method is relevant for sap_horizon theme only
|
|
963
1029
|
*/
|
|
@@ -1036,6 +1102,8 @@ class ComboBox extends UI5Element {
|
|
|
1036
1102
|
}
|
|
1037
1103
|
}
|
|
1038
1104
|
|
|
1105
|
+
ComboBox.SKIP_ITEMS_SIZE = 10;
|
|
1106
|
+
|
|
1039
1107
|
ComboBox.define();
|
|
1040
1108
|
|
|
1041
1109
|
export default ComboBox;
|
package/src/ComboBoxPopover.hbs
CHANGED
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
no-padding
|
|
106
106
|
hide-arrow
|
|
107
107
|
class="ui5-valuestatemessage-popover"
|
|
108
|
+
horizontal-align="{{_valueStatePopoverHorizontalAlign}}"
|
|
108
109
|
placement-type="Bottom"
|
|
109
110
|
>
|
|
110
111
|
<div slot="header" class="{{classes.popoverValueState}}" style="{{styles.popoverHeader}}">
|