@ui5/webcomponents 1.1.0 → 1.2.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/CHANGELOG.md +89 -0
- package/README.md +1 -0
- package/dist/Avatar.js +1 -1
- package/dist/AvatarGroup.js +2 -2
- package/dist/Breadcrumbs.js +11 -4
- package/dist/BusyIndicator.js +1 -1
- package/dist/Button.js +42 -28
- package/dist/Calendar.js +1 -1
- package/dist/Card.js +2 -2
- package/dist/CheckBox.js +3 -3
- package/dist/ColorPalette.js +1 -1
- package/dist/ColorPaletteItem.js +2 -2
- package/dist/ColorPalettePopover.js +28 -5
- package/dist/ColorPicker.js +42 -4
- package/dist/ComboBox.js +10 -4
- package/dist/DatePicker.js +10 -8
- package/dist/DateRangePicker.js +7 -1
- package/dist/Dialog.js +35 -5
- package/dist/FileUploader.js +2 -1
- package/dist/Icon.js +1 -0
- package/dist/Input.js +87 -19
- package/dist/Interfaces.js +1 -1
- package/dist/Label.js +7 -1
- package/dist/Link.js +16 -5
- package/dist/List.js +6 -16
- package/dist/ListItem.js +1 -1
- package/dist/MessageStrip.js +0 -8
- package/dist/MultiComboBox.js +166 -27
- package/dist/MultiInput.js +55 -8
- package/dist/Panel.js +7 -8
- package/dist/Popover.js +39 -9
- package/dist/Popup.js +61 -26
- package/dist/ProgressIndicator.js +5 -0
- package/dist/RadioButton.js +1 -1
- package/dist/RangeSlider.js +6 -1
- package/dist/RatingIndicator.js +2 -2
- package/dist/ResponsivePopover.js +14 -10
- package/dist/SegmentedButton.js +2 -2
- package/dist/SegmentedButtonItem.js +7 -2
- package/dist/Select.js +9 -5
- package/dist/Slider.js +5 -0
- package/dist/SliderBase.js +4 -3
- package/dist/SplitButton.js +16 -6
- package/dist/StepInput.js +4 -4
- package/dist/Switch.js +13 -1
- package/dist/TabContainer.js +44 -3
- package/dist/Table.js +243 -4
- package/dist/TableColumn.js +0 -7
- package/dist/TableGroupRow.js +4 -0
- package/dist/TableRow.js +87 -8
- package/dist/TextArea.js +9 -4
- package/dist/Tokenizer.js +159 -10
- package/dist/Tree.js +5 -1
- package/dist/TreeItem.js +2 -2
- package/dist/TreeListItem.js +5 -2
- package/dist/api.json +171 -69
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/PopupGlobal.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/SelectPopover.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/Suggestions.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TimePickerPopover.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -0
- 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 +4 -0
- 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/AvatarGroupTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
- package/dist/generated/templates/CarouselTemplate.lit.js +3 -3
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ColorPickerTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/CustomListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DialogTemplate.lit.js +3 -3
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +5 -4
- package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/InputTemplate.lit.js +6 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/ListTemplate.lit.js +1 -1
- 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 +7 -6
- package/dist/generated/templates/PanelTemplate.lit.js +2 -2
- package/dist/generated/templates/PopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/PopupTemplate.lit.js +1 -1
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +1 -1
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +5 -5
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/StandardListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
- 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 +1 -1
- package/dist/generated/templates/TabContainerTemplate.lit.js +4 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +1 -1
- package/dist/generated/templates/TableRowTemplate.lit.js +2 -2
- package/dist/generated/templates/TableTemplate.lit.js +3 -3
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/TokenizerTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeListItemTemplate.lit.js +2 -2
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.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/ListItemBase.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/PopupGlobal.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/Suggestions.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +8 -0
- 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 +3 -0
- package/dist/i18n/messagebundle_ar.properties +5 -0
- package/dist/i18n/messagebundle_bg.properties +5 -0
- package/dist/i18n/messagebundle_ca.properties +5 -0
- package/dist/i18n/messagebundle_cs.properties +5 -0
- package/dist/i18n/messagebundle_cy.properties +5 -0
- package/dist/i18n/messagebundle_da.properties +5 -0
- package/dist/i18n/messagebundle_de.properties +5 -0
- package/dist/i18n/messagebundle_el.properties +5 -0
- package/dist/i18n/messagebundle_en.properties +5 -0
- package/dist/i18n/messagebundle_en_GB.properties +5 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +5 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +7 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +5 -0
- package/dist/i18n/messagebundle_es.properties +5 -0
- package/dist/i18n/messagebundle_es_MX.properties +5 -0
- package/dist/i18n/messagebundle_et.properties +5 -0
- package/dist/i18n/messagebundle_fi.properties +5 -0
- package/dist/i18n/messagebundle_fr.properties +5 -0
- package/dist/i18n/messagebundle_fr_CA.properties +5 -0
- package/dist/i18n/messagebundle_hi.properties +5 -0
- package/dist/i18n/messagebundle_hr.properties +5 -0
- package/dist/i18n/messagebundle_hu.properties +5 -0
- package/dist/i18n/messagebundle_id.properties +5 -0
- package/dist/i18n/messagebundle_it.properties +5 -0
- package/dist/i18n/messagebundle_iw.properties +5 -0
- package/dist/i18n/messagebundle_ja.properties +7 -2
- package/dist/i18n/messagebundle_kk.properties +5 -0
- package/dist/i18n/messagebundle_ko.properties +5 -0
- package/dist/i18n/messagebundle_lt.properties +5 -0
- package/dist/i18n/messagebundle_lv.properties +5 -0
- package/dist/i18n/messagebundle_ms.properties +5 -0
- package/dist/i18n/messagebundle_nl.properties +5 -0
- package/dist/i18n/messagebundle_no.properties +5 -0
- package/dist/i18n/messagebundle_pl.properties +5 -0
- package/dist/i18n/messagebundle_pt.properties +5 -0
- package/dist/i18n/messagebundle_pt_PT.properties +5 -0
- package/dist/i18n/messagebundle_ro.properties +5 -0
- package/dist/i18n/messagebundle_ru.properties +5 -0
- package/dist/i18n/messagebundle_sh.properties +5 -0
- package/dist/i18n/messagebundle_sk.properties +5 -0
- package/dist/i18n/messagebundle_sl.properties +5 -0
- package/dist/i18n/messagebundle_sv.properties +5 -0
- package/dist/i18n/messagebundle_th.properties +5 -0
- package/dist/i18n/messagebundle_tr.properties +5 -0
- package/dist/i18n/messagebundle_uk.properties +5 -0
- package/dist/i18n/messagebundle_vi.properties +5 -0
- package/dist/i18n/messagebundle_zh_CN.properties +5 -0
- package/dist/i18n/messagebundle_zh_TW.properties +5 -0
- package/package.json +10 -8
- package/src/Avatar.js +1 -1
- package/src/AvatarGroup.hbs +1 -1
- package/src/AvatarGroup.js +2 -2
- package/src/Breadcrumbs.hbs +2 -2
- package/src/Breadcrumbs.js +11 -4
- package/src/BreadcrumbsPopover.hbs +0 -1
- package/src/BusyIndicator.js +1 -1
- package/src/Button.hbs +4 -4
- package/src/Button.js +42 -28
- package/src/Calendar.hbs +1 -1
- package/src/Calendar.js +1 -1
- package/src/Card.js +2 -2
- package/src/Carousel.hbs +2 -2
- package/src/CheckBox.js +3 -3
- package/src/ColorPalette.js +1 -1
- package/src/ColorPaletteItem.js +2 -2
- package/src/ColorPalettePopover.hbs +1 -1
- package/src/ColorPalettePopover.js +28 -5
- package/src/ColorPicker.hbs +1 -0
- package/src/ColorPicker.js +42 -4
- package/src/ComboBox.js +10 -4
- package/src/ComboBoxPopover.hbs +0 -1
- package/src/DatePicker.hbs +1 -1
- package/src/DatePicker.js +10 -8
- package/src/DatePickerPopover.hbs +0 -2
- package/src/DateRangePicker.js +7 -1
- package/src/Dialog.hbs +3 -2
- package/src/Dialog.js +35 -5
- package/src/FileUploader.js +2 -1
- package/src/FileUploaderPopover.hbs +3 -2
- package/src/Icon.js +1 -0
- package/src/Input.hbs +5 -1
- package/src/Input.js +87 -19
- package/src/InputPopover.hbs +3 -4
- package/src/Interfaces.js +1 -1
- package/src/Label.js +7 -1
- package/src/Link.js +16 -5
- package/src/List.hbs +1 -1
- package/src/List.js +6 -16
- package/src/ListItem.hbs +1 -1
- package/src/ListItem.js +1 -1
- package/src/MessageStrip.hbs +1 -1
- package/src/MessageStrip.js +0 -8
- package/src/MultiComboBox.js +166 -27
- package/src/MultiComboBoxPopover.hbs +0 -1
- package/src/MultiInput.js +55 -8
- package/src/Panel.hbs +4 -3
- package/src/Panel.js +7 -8
- package/src/Popover.hbs +2 -2
- package/src/Popover.js +39 -9
- package/src/Popup.hbs +1 -1
- package/src/Popup.js +61 -26
- package/src/ProgressIndicator.js +5 -0
- package/src/RadioButton.js +1 -1
- package/src/RangeSlider.js +6 -1
- package/src/RatingIndicator.hbs +2 -0
- package/src/RatingIndicator.js +2 -2
- package/src/ResponsivePopover.hbs +3 -3
- package/src/ResponsivePopover.js +14 -10
- package/src/SegmentedButton.js +2 -2
- package/src/SegmentedButtonItem.hbs +1 -1
- package/src/SegmentedButtonItem.js +7 -2
- package/src/Select.js +9 -5
- package/src/SelectPopover.hbs +0 -1
- package/src/Slider.js +5 -0
- package/src/SliderBase.js +4 -3
- package/src/SplitButton.js +16 -6
- package/src/StepInput.hbs +4 -3
- package/src/StepInput.js +4 -4
- package/src/Switch.hbs +1 -1
- package/src/Switch.js +13 -1
- package/src/TabContainer.hbs +3 -3
- package/src/TabContainer.js +44 -3
- package/src/TabContainerPopover.hbs +1 -1
- package/src/Table.hbs +11 -1
- package/src/Table.js +243 -4
- package/src/TableColumn.js +0 -7
- package/src/TableGroupRow.hbs +1 -0
- package/src/TableGroupRow.js +4 -0
- package/src/TableRow.hbs +2 -0
- package/src/TableRow.js +87 -8
- package/src/TextArea.hbs +1 -1
- package/src/TextArea.js +9 -4
- package/src/TextAreaPopover.hbs +0 -1
- package/src/TimePickerPopover.hbs +0 -1
- package/src/Tokenizer.hbs +2 -1
- package/src/Tokenizer.js +159 -10
- package/src/Tree.js +5 -1
- package/src/TreeItem.js +2 -2
- package/src/TreeListItem.js +5 -2
- package/src/features/InputSuggestions.js +4 -0
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_ar.properties +5 -0
- package/src/i18n/messagebundle_bg.properties +5 -0
- package/src/i18n/messagebundle_ca.properties +5 -0
- package/src/i18n/messagebundle_cs.properties +5 -0
- package/src/i18n/messagebundle_cy.properties +5 -0
- package/src/i18n/messagebundle_da.properties +5 -0
- package/src/i18n/messagebundle_de.properties +5 -0
- package/src/i18n/messagebundle_el.properties +5 -0
- package/src/i18n/messagebundle_en.properties +5 -0
- package/src/i18n/messagebundle_en_GB.properties +5 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +5 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +7 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +5 -0
- package/src/i18n/messagebundle_es.properties +5 -0
- package/src/i18n/messagebundle_es_MX.properties +5 -0
- package/src/i18n/messagebundle_et.properties +5 -0
- package/src/i18n/messagebundle_fi.properties +5 -0
- package/src/i18n/messagebundle_fr.properties +5 -0
- package/src/i18n/messagebundle_fr_CA.properties +5 -0
- package/src/i18n/messagebundle_hi.properties +5 -0
- package/src/i18n/messagebundle_hr.properties +5 -0
- package/src/i18n/messagebundle_hu.properties +5 -0
- package/src/i18n/messagebundle_id.properties +5 -0
- package/src/i18n/messagebundle_it.properties +5 -0
- package/src/i18n/messagebundle_iw.properties +5 -0
- package/src/i18n/messagebundle_ja.properties +7 -2
- package/src/i18n/messagebundle_kk.properties +5 -0
- package/src/i18n/messagebundle_ko.properties +5 -0
- package/src/i18n/messagebundle_lt.properties +5 -0
- package/src/i18n/messagebundle_lv.properties +5 -0
- package/src/i18n/messagebundle_ms.properties +5 -0
- package/src/i18n/messagebundle_nl.properties +5 -0
- package/src/i18n/messagebundle_no.properties +5 -0
- package/src/i18n/messagebundle_pl.properties +5 -0
- package/src/i18n/messagebundle_pt.properties +5 -0
- package/src/i18n/messagebundle_pt_PT.properties +5 -0
- package/src/i18n/messagebundle_ro.properties +5 -0
- package/src/i18n/messagebundle_ru.properties +5 -0
- package/src/i18n/messagebundle_sh.properties +5 -0
- package/src/i18n/messagebundle_sk.properties +5 -0
- package/src/i18n/messagebundle_sl.properties +5 -0
- package/src/i18n/messagebundle_sv.properties +5 -0
- package/src/i18n/messagebundle_th.properties +5 -0
- package/src/i18n/messagebundle_tr.properties +5 -0
- package/src/i18n/messagebundle_uk.properties +5 -0
- package/src/i18n/messagebundle_vi.properties +5 -0
- package/src/i18n/messagebundle_zh_CN.properties +5 -0
- package/src/i18n/messagebundle_zh_TW.properties +5 -0
- package/src/themes/Avatar.css +1 -0
- package/src/themes/Button.css +1 -1
- package/src/themes/Calendar.css +6 -1
- package/src/themes/ColorPalettePopover.css +6 -5
- package/src/themes/DatePickerPopover.css +4 -0
- package/src/themes/Dialog.css +1 -5
- package/src/themes/Input.css +1 -0
- package/src/themes/ListItemBase.css +11 -5
- package/src/themes/MultiComboBox.css +0 -1
- package/src/themes/Popover.css +1 -1
- package/src/themes/PopupGlobal.css +1 -4
- package/src/themes/PopupsCommon.css +44 -4
- package/src/themes/ResponsivePopover.css +2 -7
- package/src/themes/ResponsivePopoverCommon.css +1 -0
- package/src/themes/SelectPopover.css +11 -2
- package/src/themes/SplitButton.css +1 -1
- package/src/themes/Suggestions.css +15 -1
- package/src/themes/TabInOverflow.css +5 -1
- package/src/themes/TableRow.css +1 -0
- package/src/themes/TimePickerPopover.css +4 -0
- package/src/themes/Tokenizer.css +1 -0
- package/src/themes/TokenizerPopover.css +4 -0
- package/src/themes/ValueStateMessage.css +10 -0
- package/src/themes/base/Badge-parameters.css +10 -10
- package/src/themes/base/DayPicker-parameters.css +2 -2
- package/src/themes/base/Dialog-parameters.css +1 -1
- package/src/themes/base/ListItemBase-parameters.css +1 -0
- package/src/themes/base/PopupsCommon-parameters.css +6 -1
- package/src/themes/base/SliderBase-parameters.css +7 -0
- package/src/themes/base/Switch-parameters.css +2 -13
- package/src/themes/base/Title-parameters.css +6 -6
- package/src/themes/base/sizes-parameters.css +7 -7
- package/src/themes/sap_belize_hcb/Switch-parameters.css +2 -4
- package/src/themes/sap_belize_hcw/Switch-parameters.css +2 -4
- package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +0 -2
- package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +2 -4
- package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +0 -2
- package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +2 -4
- package/src/themes/sap_horizon/Dialog-parameters.css +1 -1
- package/src/themes/sap_horizon/ListItemBase-parameters.css +1 -2
- package/src/themes/sap_horizon/PopupsCommon-parameters.css +0 -1
- package/src/themes/sap_horizon/Switch-parameters.css +7 -7
- package/src/themes/sap_horizon_exp/Switch-parameters.css +1 -1
package/dist/MultiComboBox.js
CHANGED
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
isShow,
|
|
7
7
|
isDown,
|
|
8
8
|
isUp,
|
|
9
|
-
isBackSpace,
|
|
10
9
|
isSpace,
|
|
11
|
-
isLeft,
|
|
12
10
|
isRight,
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
isHome,
|
|
12
|
+
isTabNext,
|
|
13
|
+
isTabPrevious,
|
|
14
|
+
isCtrlA,
|
|
15
15
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
16
16
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
17
17
|
import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
@@ -20,6 +20,10 @@ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
|
20
20
|
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
21
21
|
import "@ui5/webcomponents-icons/dist/multiselect-all.js";
|
|
22
22
|
import "@ui5/webcomponents-icons/dist/not-editable.js";
|
|
23
|
+
import "@ui5/webcomponents-icons/dist/error.js";
|
|
24
|
+
import "@ui5/webcomponents-icons/dist/alert.js";
|
|
25
|
+
import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
26
|
+
import "@ui5/webcomponents-icons/dist/information.js";
|
|
23
27
|
import MultiComboBoxItem from "./MultiComboBoxItem.js";
|
|
24
28
|
import Tokenizer from "./Tokenizer.js";
|
|
25
29
|
import Token from "./Token.js";
|
|
@@ -413,6 +417,7 @@ class MultiComboBox extends UI5Element {
|
|
|
413
417
|
this._deleting = false;
|
|
414
418
|
this._validationTimeout = null;
|
|
415
419
|
this._handleResizeBound = this._handleResize.bind(this);
|
|
420
|
+
this.currentItemIdx = -1;
|
|
416
421
|
}
|
|
417
422
|
|
|
418
423
|
onEnterDOM() {
|
|
@@ -524,7 +529,7 @@ class MultiComboBox extends UI5Element {
|
|
|
524
529
|
return this.placeholder;
|
|
525
530
|
}
|
|
526
531
|
|
|
527
|
-
|
|
532
|
+
_handleArrowLeft() {
|
|
528
533
|
const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
|
|
529
534
|
|
|
530
535
|
if (cursorPosition === 0) {
|
|
@@ -535,14 +540,17 @@ class MultiComboBox extends UI5Element {
|
|
|
535
540
|
_tokenizerFocusOut(event) {
|
|
536
541
|
this._tokenizerFocused = false;
|
|
537
542
|
|
|
538
|
-
const tokensCount = this._tokenizer.tokens.length
|
|
543
|
+
const tokensCount = this._tokenizer.tokens.length;
|
|
544
|
+
const selectedTokens = this._selectedTokensCount;
|
|
545
|
+
const lastTokenBeingDeleted = tokensCount - 1 === 0 && this._deleting;
|
|
546
|
+
const allTokensAreBeingDeleted = selectedTokens === tokensCount && this._deleting;
|
|
539
547
|
|
|
540
548
|
if (!event.relatedTarget || !event.relatedTarget.hasAttribute("ui5-token")) {
|
|
541
549
|
this._tokenizer.tokens.forEach(token => { token.selected = false; });
|
|
542
550
|
this._tokenizer.scrollToStart();
|
|
543
551
|
}
|
|
544
552
|
|
|
545
|
-
if (
|
|
553
|
+
if (allTokensAreBeingDeleted || lastTokenBeingDeleted) {
|
|
546
554
|
setTimeout(() => {
|
|
547
555
|
if (!isPhone()) {
|
|
548
556
|
this.shadowRoot.querySelector("input").focus();
|
|
@@ -563,41 +571,77 @@ class MultiComboBox extends UI5Element {
|
|
|
563
571
|
}
|
|
564
572
|
|
|
565
573
|
async _onkeydown(event) {
|
|
566
|
-
if (isLeft(event)) {
|
|
567
|
-
this._handleLeft(event);
|
|
568
|
-
}
|
|
569
|
-
|
|
570
574
|
if (isShow(event) && !this.readonly && !this.disabled) {
|
|
571
575
|
event.preventDefault();
|
|
572
576
|
this.togglePopover();
|
|
573
577
|
}
|
|
574
578
|
|
|
575
|
-
if (
|
|
579
|
+
if (isUp(event) || isDown(event)) {
|
|
576
580
|
this._handleArrowNavigation(event);
|
|
581
|
+
return;
|
|
577
582
|
}
|
|
578
583
|
|
|
579
|
-
|
|
580
|
-
|
|
584
|
+
this._keyDown = true;
|
|
585
|
+
this[`_handle${event.key}`] && this[`_handle${event.key}`](event);
|
|
586
|
+
}
|
|
581
587
|
|
|
588
|
+
_handleBackspace(event) {
|
|
589
|
+
if (event.target.value === "") {
|
|
590
|
+
event.preventDefault();
|
|
582
591
|
this._tokenizer._focusLastToken();
|
|
583
592
|
}
|
|
593
|
+
}
|
|
584
594
|
|
|
585
|
-
|
|
586
|
-
if (
|
|
595
|
+
_handleEscape(event) {
|
|
596
|
+
if (!this.allowCustomValues || (!this.open && this.allowCustomValues)) {
|
|
587
597
|
this.value = this._lastValue;
|
|
588
598
|
}
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
_handleHome(event) {
|
|
602
|
+
const shouldFocusToken = this._isFocusInside && event.target.selectionStart === 0 && this._tokenizer.tokens.length > 0;
|
|
589
603
|
|
|
590
|
-
if (
|
|
591
|
-
|
|
604
|
+
if (shouldFocusToken) {
|
|
605
|
+
event.preventDefault();
|
|
606
|
+
this._tokenizer.tokens[0].focus();
|
|
592
607
|
}
|
|
608
|
+
}
|
|
593
609
|
|
|
594
|
-
|
|
610
|
+
_handleEnd(event) {
|
|
611
|
+
const tokens = this._tokenizer.tokens;
|
|
612
|
+
const lastTokenIdx = tokens.length - 1;
|
|
613
|
+
const shouldFocusInput = event.target === tokens[lastTokenIdx] && tokens[lastTokenIdx] === this.shadowRoot.activeElement;
|
|
614
|
+
|
|
615
|
+
if (shouldFocusInput) {
|
|
616
|
+
event.preventDefault();
|
|
617
|
+
this._inputDom.focus();
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
_handleTab(event) {
|
|
622
|
+
this.allItemsPopover.close();
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
_handleSelectAll(event) {
|
|
626
|
+
const filteredItems = this._filteredItems;
|
|
627
|
+
const allItemsSelected = filteredItems.every(item => item.selected);
|
|
628
|
+
|
|
629
|
+
filteredItems.forEach(item => {
|
|
630
|
+
item.selected = !allItemsSelected;
|
|
631
|
+
});
|
|
632
|
+
|
|
633
|
+
this.fireSelectionChange();
|
|
595
634
|
}
|
|
596
635
|
|
|
597
636
|
_onValueStateKeydown(event) {
|
|
598
637
|
const isArrowDown = isDown(event);
|
|
599
638
|
const isArrowUp = isUp(event);
|
|
600
639
|
|
|
640
|
+
if (isTabNext(event) || isTabPrevious(event)) {
|
|
641
|
+
this._onItemTab(event);
|
|
642
|
+
return;
|
|
643
|
+
}
|
|
644
|
+
|
|
601
645
|
event.preventDefault();
|
|
602
646
|
|
|
603
647
|
if (isArrowDown) {
|
|
@@ -612,23 +656,36 @@ class MultiComboBox extends UI5Element {
|
|
|
612
656
|
_onItemKeydown(event) {
|
|
613
657
|
const isFirstItem = this.list.items[0] === event.target;
|
|
614
658
|
|
|
659
|
+
if (isTabNext(event) || isTabPrevious(event)) {
|
|
660
|
+
this._onItemTab(event);
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
|
|
615
664
|
event.preventDefault();
|
|
616
665
|
|
|
617
|
-
if (
|
|
666
|
+
if (isCtrlA(event)) {
|
|
667
|
+
this._handleSelectAll(event);
|
|
618
668
|
return;
|
|
619
669
|
}
|
|
620
670
|
|
|
621
|
-
if (this.valueStateHeader) {
|
|
671
|
+
if (((isUp(event) && isFirstItem) || isHome(event)) && this.valueStateHeader) {
|
|
622
672
|
this.valueStateHeader.focus();
|
|
623
|
-
return;
|
|
624
673
|
}
|
|
625
674
|
|
|
675
|
+
if (!this.valueStateHeader && isUp(event) && isFirstItem) {
|
|
676
|
+
this._inputDom.focus();
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
_onItemTab(event) {
|
|
626
681
|
this._inputDom.focus();
|
|
682
|
+
this.allItemsPopover.close();
|
|
627
683
|
}
|
|
628
684
|
|
|
629
685
|
async _handleArrowNavigation(event) {
|
|
630
686
|
const isArrowDown = isDown(event);
|
|
631
|
-
const hasSuggestions = this.
|
|
687
|
+
const hasSuggestions = this.items.length;
|
|
688
|
+
const isOpen = this.allItemsPopover.opened;
|
|
632
689
|
|
|
633
690
|
event.preventDefault();
|
|
634
691
|
|
|
@@ -636,7 +693,7 @@ class MultiComboBox extends UI5Element {
|
|
|
636
693
|
await this._setValueStateHeader();
|
|
637
694
|
}
|
|
638
695
|
|
|
639
|
-
if (isArrowDown && this.focused && this.valueStateHeader) {
|
|
696
|
+
if (isArrowDown && isOpen && this.focused && this.valueStateHeader) {
|
|
640
697
|
this.valueStateHeader.focus();
|
|
641
698
|
return;
|
|
642
699
|
}
|
|
@@ -644,16 +701,91 @@ class MultiComboBox extends UI5Element {
|
|
|
644
701
|
if (isArrowDown && this.focused && hasSuggestions) {
|
|
645
702
|
this._handleArrowDown(event);
|
|
646
703
|
}
|
|
704
|
+
|
|
705
|
+
if (!isArrowDown && !isOpen && !this.readonly) {
|
|
706
|
+
this._navigateToPrevItem();
|
|
707
|
+
}
|
|
647
708
|
}
|
|
648
709
|
|
|
649
710
|
_handleArrowDown(event) {
|
|
711
|
+
const isOpen = this.allItemsPopover.opened;
|
|
650
712
|
const firstListItem = this.list.items[0];
|
|
651
713
|
|
|
652
|
-
|
|
653
|
-
|
|
714
|
+
if (isOpen) {
|
|
715
|
+
this.list._itemNavigation.setCurrentItem(firstListItem);
|
|
716
|
+
firstListItem.focus();
|
|
717
|
+
} else if (!this.readonly) {
|
|
718
|
+
this._navigateToNextItem();
|
|
719
|
+
}
|
|
654
720
|
}
|
|
655
721
|
|
|
656
|
-
|
|
722
|
+
_navigateToNextItem() {
|
|
723
|
+
const items = this.items;
|
|
724
|
+
const itemsCount = items.length;
|
|
725
|
+
const previousItemIdx = this.currentItemIdx;
|
|
726
|
+
|
|
727
|
+
if (previousItemIdx > -1 && items[previousItemIdx].text !== this.value) {
|
|
728
|
+
this.currentItemIdx = -1;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
if (previousItemIdx >= itemsCount - 1) {
|
|
732
|
+
return;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
let currentItem = this.items[++this.currentItemIdx];
|
|
736
|
+
|
|
737
|
+
while (this.currentItemIdx < itemsCount - 1 && currentItem.selected) {
|
|
738
|
+
currentItem = this.items[++this.currentItemIdx];
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
if (currentItem.selected === true) {
|
|
742
|
+
this.currentItemIdx = previousItemIdx;
|
|
743
|
+
return;
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
this.value = currentItem.text;
|
|
747
|
+
this._innerInput.value = currentItem.text;
|
|
748
|
+
this._innerInput.setSelectionRange(0, currentItem.text.length);
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
_navigateToPrevItem() {
|
|
752
|
+
const items = this.items;
|
|
753
|
+
let previousItemIdx = this.currentItemIdx;
|
|
754
|
+
|
|
755
|
+
if ((!this.value && previousItemIdx !== -1) || (previousItemIdx !== -1 && this.value && this.value !== items[previousItemIdx].text)) {
|
|
756
|
+
previousItemIdx = -1;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
if (previousItemIdx === -1) {
|
|
760
|
+
this.currentItemIdx = items.length;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
if (previousItemIdx === 0) {
|
|
764
|
+
this.currentItemIdx = 0;
|
|
765
|
+
return;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
let currentItem = this.items[--this.currentItemIdx];
|
|
769
|
+
|
|
770
|
+
while (currentItem && currentItem.selected && this.currentItemIdx > 0) {
|
|
771
|
+
currentItem = this.items[--this.currentItemIdx];
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
if (!currentItem) {
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
if (currentItem.selected) {
|
|
779
|
+
this.currentItemIdx = previousItemIdx;
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
this.value = currentItem.text;
|
|
784
|
+
this._innerInput.value = currentItem.text;
|
|
785
|
+
this._innerInput.setSelectionRange(0, currentItem.text.length);
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
_handleEnter() {
|
|
657
789
|
const lowerCaseValue = this.value.toLowerCase();
|
|
658
790
|
const matchingItem = this.items.find(item => item.text.toLowerCase() === lowerCaseValue);
|
|
659
791
|
const oldValueState = this.valueState;
|
|
@@ -698,6 +830,8 @@ class MultiComboBox extends UI5Element {
|
|
|
698
830
|
}, 0);
|
|
699
831
|
}
|
|
700
832
|
}
|
|
833
|
+
|
|
834
|
+
this[`_handle${event.key}`] && this[`_handle${event.key}`](event);
|
|
701
835
|
}
|
|
702
836
|
|
|
703
837
|
_filterItems(str) {
|
|
@@ -918,6 +1052,7 @@ class MultiComboBox extends UI5Element {
|
|
|
918
1052
|
this._innerInput.blur();
|
|
919
1053
|
}
|
|
920
1054
|
|
|
1055
|
+
!isPhone() && this._innerInput.setSelectionRange(0, this.value.length);
|
|
921
1056
|
this._lastValue = this.value;
|
|
922
1057
|
}
|
|
923
1058
|
|
|
@@ -1003,6 +1138,10 @@ class MultiComboBox extends UI5Element {
|
|
|
1003
1138
|
return `${this._id}-hiddenText-nMore`;
|
|
1004
1139
|
}
|
|
1005
1140
|
|
|
1141
|
+
get _selectedTokensCount() {
|
|
1142
|
+
return this._tokenizer.tokens.filter(token => token.selected).length;
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1006
1145
|
get ariaDescribedByText() {
|
|
1007
1146
|
return this.valueStateTextId ? `${this._tokensCountTextId} ${this.valueStateTextId}` : `${this._tokensCountTextId}`;
|
|
1008
1147
|
}
|
package/dist/MultiInput.js
CHANGED
|
@@ -4,6 +4,9 @@ import {
|
|
|
4
4
|
isBackSpace,
|
|
5
5
|
isLeft,
|
|
6
6
|
isRight,
|
|
7
|
+
isRightCtrl,
|
|
8
|
+
isHome,
|
|
9
|
+
isEnd,
|
|
7
10
|
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
8
11
|
import { MULTIINPUT_ROLEDESCRIPTION_TEXT } from "./generated/i18n/i18n-defaults.js";
|
|
9
12
|
import Input from "./Input.js";
|
|
@@ -136,8 +139,15 @@ class MultiInput extends Input {
|
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
tokenDelete(event) {
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
const focusedToken = event.detail.ref;
|
|
143
|
+
const selectedTokens = this.tokens.filter(token => token.selected);
|
|
144
|
+
|
|
145
|
+
if (selectedTokens.indexOf(focusedToken) === -1) {
|
|
146
|
+
selectedTokens.push(focusedToken);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
selectedTokens.forEach(token => {
|
|
150
|
+
this.fireEvent("token-delete", { token });
|
|
141
151
|
});
|
|
142
152
|
|
|
143
153
|
this.focus();
|
|
@@ -170,7 +180,9 @@ class MultiInput extends Input {
|
|
|
170
180
|
_onkeydown(event) {
|
|
171
181
|
super._onkeydown(event);
|
|
172
182
|
|
|
173
|
-
|
|
183
|
+
const isHomeInBeginning = isHome(event) && event.target.selectionStart === 0;
|
|
184
|
+
|
|
185
|
+
if (isLeft(event) || isHomeInBeginning) {
|
|
174
186
|
this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens.
|
|
175
187
|
|
|
176
188
|
return this._handleLeft(event);
|
|
@@ -189,22 +201,57 @@ class MultiInput extends Input {
|
|
|
189
201
|
}
|
|
190
202
|
|
|
191
203
|
_onTokenizerKeydown(event) {
|
|
192
|
-
|
|
193
|
-
|
|
204
|
+
const rightCtrl = isRightCtrl(event);
|
|
205
|
+
const isCtrl = !!(event.metaKey || event.ctrlKey);
|
|
206
|
+
const tokens = this.tokens;
|
|
194
207
|
|
|
195
|
-
|
|
208
|
+
if (isRight(event) || isEnd(event) || rightCtrl) {
|
|
209
|
+
event.preventDefault();
|
|
210
|
+
const lastTokenIndex = this.tokens.length - 1;
|
|
211
|
+
|
|
212
|
+
if (event.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {
|
|
196
213
|
setTimeout(() => {
|
|
197
214
|
this.focus();
|
|
198
215
|
}, 0);
|
|
216
|
+
} else if (rightCtrl) {
|
|
217
|
+
event.preventDefault();
|
|
218
|
+
return this.tokenizer._handleArrowCtrl(event.target, this.tokens, true);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
this.tokenizer._handleItemNavigation(event, tokens);
|
|
223
|
+
|
|
224
|
+
if (isCtrl && ["c", "x"].includes(event.key.toLowerCase())) {
|
|
225
|
+
event.preventDefault();
|
|
226
|
+
|
|
227
|
+
const isCut = event.key.toLowerCase() === "x";
|
|
228
|
+
const selectedTokens = tokens.filter(token => token.selected);
|
|
229
|
+
|
|
230
|
+
if (isCut) {
|
|
231
|
+
const cutResult = this.tokenizer._fillClipboard("cut", selectedTokens);
|
|
232
|
+
|
|
233
|
+
selectedTokens.forEach(token => {
|
|
234
|
+
this.fireEvent("token-delete", { token });
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
this.focus();
|
|
238
|
+
|
|
239
|
+
return cutResult;
|
|
199
240
|
}
|
|
241
|
+
|
|
242
|
+
return this.tokenizer._fillClipboard("copy", selectedTokens);
|
|
200
243
|
}
|
|
201
244
|
}
|
|
202
245
|
|
|
203
246
|
_handleLeft() {
|
|
204
247
|
const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
|
|
248
|
+
const tokens = this.tokens;
|
|
249
|
+
const lastToken = tokens.length && tokens[tokens.length - 1];
|
|
205
250
|
|
|
206
|
-
if (cursorPosition === 0) {
|
|
207
|
-
this.tokenizer._focusLastToken();
|
|
251
|
+
if (cursorPosition === 0 && lastToken) {
|
|
252
|
+
// this.tokenizer._focusLastToken(); won't work as the tokens in the MultiInput use different slot and are not resolved properly
|
|
253
|
+
lastToken.focus();
|
|
254
|
+
this.tokenizer._itemNav.setCurrentItem(lastToken);
|
|
208
255
|
}
|
|
209
256
|
}
|
|
210
257
|
|
package/dist/Panel.js
CHANGED
|
@@ -8,6 +8,7 @@ import { getAnimationMode } from "@ui5/webcomponents-base/dist/config/AnimationM
|
|
|
8
8
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
9
9
|
import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
|
|
10
10
|
import Button from "./Button.js";
|
|
11
|
+
import Icon from "./Icon.js";
|
|
11
12
|
import TitleLevel from "./types/TitleLevel.js";
|
|
12
13
|
import PanelAccessibleRole from "./types/PanelAccessibleRole.js";
|
|
13
14
|
import PanelTemplate from "./generated/templates/PanelTemplate.lit.js";
|
|
@@ -132,7 +133,7 @@ const metadata = {
|
|
|
132
133
|
},
|
|
133
134
|
|
|
134
135
|
/**
|
|
135
|
-
*
|
|
136
|
+
* Defines the accessible aria name of the component.
|
|
136
137
|
*
|
|
137
138
|
* @type {string}
|
|
138
139
|
* @defaultvalue ""
|
|
@@ -175,10 +176,6 @@ const metadata = {
|
|
|
175
176
|
type: Boolean,
|
|
176
177
|
noAttribute: true,
|
|
177
178
|
},
|
|
178
|
-
|
|
179
|
-
_buttonAccInfo: {
|
|
180
|
-
type: Object,
|
|
181
|
-
},
|
|
182
179
|
},
|
|
183
180
|
events: /** @lends sap.ui.webcomponents.main.Panel.prototype */ {
|
|
184
181
|
|
|
@@ -409,8 +406,10 @@ class Panel extends UI5Element {
|
|
|
409
406
|
get accInfo() {
|
|
410
407
|
return {
|
|
411
408
|
"button": {
|
|
412
|
-
"
|
|
413
|
-
|
|
409
|
+
"accessibilityAttributes": {
|
|
410
|
+
"expanded": this.expanded,
|
|
411
|
+
"controls": `${this._id}-content`,
|
|
412
|
+
},
|
|
414
413
|
"title": this.toggleButtonTitle,
|
|
415
414
|
"ariaLabelButton": !this.nonFocusableButton && this.useAccessibleNameForToggleButton ? this.effectiveAccessibleName : undefined,
|
|
416
415
|
},
|
|
@@ -458,7 +457,7 @@ class Panel extends UI5Element {
|
|
|
458
457
|
}
|
|
459
458
|
|
|
460
459
|
static get dependencies() {
|
|
461
|
-
return [Button];
|
|
460
|
+
return [Button, Icon];
|
|
462
461
|
}
|
|
463
462
|
|
|
464
463
|
static async onDefine() {
|
package/dist/Popover.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
2
2
|
import { isIOS } from "@ui5/webcomponents-base/dist/Device.js";
|
|
3
|
-
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
4
3
|
import { getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
|
|
5
4
|
import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
|
|
6
5
|
import Popup from "./Popup.js";
|
|
@@ -145,6 +144,17 @@ const metadata = {
|
|
|
145
144
|
type: Boolean,
|
|
146
145
|
},
|
|
147
146
|
|
|
147
|
+
/**
|
|
148
|
+
* Defines the opener id of the element that the popover is shown at
|
|
149
|
+
* @public
|
|
150
|
+
* @type {String}
|
|
151
|
+
* @defaultvalue ""
|
|
152
|
+
* @since 1.2.0
|
|
153
|
+
*/
|
|
154
|
+
opener: {
|
|
155
|
+
type: String,
|
|
156
|
+
},
|
|
157
|
+
|
|
148
158
|
/**
|
|
149
159
|
* Defines whether the content is scrollable.
|
|
150
160
|
*
|
|
@@ -249,6 +259,17 @@ const metadata = {
|
|
|
249
259
|
* or selects an action within the popover. You can prevent this with the
|
|
250
260
|
* <code>modal</code> property.
|
|
251
261
|
*
|
|
262
|
+
* <h3>CSS Shadow Parts</h3>
|
|
263
|
+
*
|
|
264
|
+
* <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
|
|
265
|
+
* <br>
|
|
266
|
+
* The <code>ui5-popover</code> exposes the following CSS Shadow Parts:
|
|
267
|
+
* <ul>
|
|
268
|
+
* <li>header - Used to style the header of the component</li>
|
|
269
|
+
* <li>content - Used to style the content of the component</li>
|
|
270
|
+
* <li>footer - Used to style the footer of the component</li>
|
|
271
|
+
* </ul>
|
|
272
|
+
*
|
|
252
273
|
* <h3>ES6 Module Import</h3>
|
|
253
274
|
*
|
|
254
275
|
* <code>import "@ui5/webcomponents/dist/Popover.js";</code>
|
|
@@ -264,8 +285,6 @@ const metadata = {
|
|
|
264
285
|
class Popover extends Popup {
|
|
265
286
|
constructor() {
|
|
266
287
|
super();
|
|
267
|
-
|
|
268
|
-
this._handleResize = this.handleResize.bind(this);
|
|
269
288
|
}
|
|
270
289
|
|
|
271
290
|
static get metadata() {
|
|
@@ -288,12 +307,18 @@ class Popover extends Popup {
|
|
|
288
307
|
return 6; // px
|
|
289
308
|
}
|
|
290
309
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
310
|
+
onAfterRendering() {
|
|
311
|
+
if (!this.isOpen() && this.open) {
|
|
312
|
+
const opener = document.getElementById(this.opener);
|
|
313
|
+
if (!opener) {
|
|
314
|
+
console.warn("Valid opener id is required."); // eslint-disable-line
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
294
317
|
|
|
295
|
-
|
|
296
|
-
|
|
318
|
+
this.showAt(opener);
|
|
319
|
+
} else if (this.isOpen() && !this.open) {
|
|
320
|
+
this.close();
|
|
321
|
+
}
|
|
297
322
|
}
|
|
298
323
|
|
|
299
324
|
isOpenerClicked(event) {
|
|
@@ -365,7 +390,12 @@ class Popover extends Popup {
|
|
|
365
390
|
&& openerRect.right === 0;
|
|
366
391
|
}
|
|
367
392
|
|
|
368
|
-
|
|
393
|
+
/**
|
|
394
|
+
* @override
|
|
395
|
+
*/
|
|
396
|
+
_resize() {
|
|
397
|
+
super._resize();
|
|
398
|
+
|
|
369
399
|
if (this.opened) {
|
|
370
400
|
this.reposition();
|
|
371
401
|
}
|