@ui5/webcomponents 2.0.0-rc.2 → 2.0.0-rc.3
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 +657 -0
- package/README.md +3 -8
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +16 -7
- package/dist/Avatar.js +5 -4
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +15 -10
- package/dist/AvatarGroup.js +3 -6
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +2 -1
- package/dist/Breadcrumbs.js +4 -5
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.d.ts +15 -24
- package/dist/Button.js +4 -4
- package/dist/Button.js.map +1 -1
- package/dist/CalendarLegend.js +1 -1
- package/dist/CalendarLegend.js.map +1 -1
- package/dist/Carousel.d.ts +11 -16
- package/dist/Carousel.js +29 -16
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +3 -3
- package/dist/CheckBox.js +3 -3
- package/dist/CheckBox.js.map +1 -1
- package/dist/ComboBox.d.ts +3 -2
- package/dist/ComboBox.js +20 -16
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxGroupItem.d.ts +1 -0
- package/dist/ComboBoxGroupItem.js +3 -0
- package/dist/ComboBoxGroupItem.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +1 -0
- package/dist/ComboBoxItem.js +3 -0
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/DatePicker.d.ts +12 -21
- package/dist/DatePicker.js +24 -50
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.js +1 -1
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +3 -6
- package/dist/DateTimePicker.js +12 -13
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/Dialog.d.ts +1 -1
- package/dist/Dialog.js +4 -4
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +2 -0
- package/dist/FileUploader.js +26 -10
- package/dist/FileUploader.js.map +1 -1
- package/dist/Icon.d.ts +8 -22
- package/dist/Icon.js +15 -29
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +45 -53
- package/dist/Input.js +133 -188
- package/dist/Input.js.map +1 -1
- package/dist/Link.d.ts +13 -21
- package/dist/Link.js +1 -2
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +22 -13
- package/dist/List.js +59 -8
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +17 -49
- package/dist/ListItem.js +8 -17
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +1 -1
- package/dist/ListItemBase.js +1 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemGroup.d.ts +51 -0
- package/dist/ListItemGroup.js +80 -0
- package/dist/ListItemGroup.js.map +1 -0
- package/dist/{GroupHeaderListItem.d.ts → ListItemGroupHeader.d.ts} +4 -5
- package/dist/{GroupHeaderListItem.js → ListItemGroupHeader.js} +17 -17
- package/dist/ListItemGroupHeader.js.map +1 -0
- package/dist/Menu.d.ts +4 -4
- package/dist/Menu.js +10 -10
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.d.ts +4 -4
- package/dist/MenuItem.js +3 -3
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuListItem.js +3 -3
- package/dist/MenuListItem.js.map +1 -1
- package/dist/MessageStrip.d.ts +4 -4
- package/dist/MessageStrip.js +4 -4
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MultiComboBox.js +39 -48
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxItem.d.ts +3 -1
- package/dist/MultiComboBoxItem.js +6 -2
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiInput.d.ts +7 -11
- package/dist/MultiInput.js +32 -60
- package/dist/MultiInput.js.map +1 -1
- package/dist/Option.d.ts +4 -4
- package/dist/Option.js +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Popover.js +4 -0
- package/dist/Popover.js.map +1 -1
- package/dist/ProgressIndicator.js +6 -6
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.js +3 -3
- package/dist/RadioButton.js.map +1 -1
- package/dist/ResponsivePopover.js +1 -1
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +4 -14
- package/dist/SegmentedButton.js +12 -31
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +62 -26
- package/dist/SegmentedButtonItem.js +71 -20
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +7 -7
- package/dist/Select.js +14 -14
- package/dist/Select.js.map +1 -1
- package/dist/SelectMenu.js +6 -6
- package/dist/SelectMenu.js.map +1 -1
- package/dist/SelectMenuOption.d.ts +3 -2
- package/dist/SelectMenuOption.js.map +1 -1
- package/dist/SplitButton.d.ts +0 -20
- package/dist/SplitButton.js +0 -15
- package/dist/SplitButton.js.map +1 -1
- package/dist/StandardListItem.d.ts +1 -1
- package/dist/StandardListItem.js.map +1 -1
- package/dist/StepInput.d.ts +6 -1
- package/dist/StepInput.js +55 -14
- package/dist/StepInput.js.map +1 -1
- package/dist/SuggestionGroupItem.js +2 -2
- package/dist/SuggestionGroupItem.js.map +1 -1
- package/dist/Tab.d.ts +5 -3
- package/dist/Tab.js +11 -8
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +5 -3
- package/dist/TabContainer.js +30 -25
- package/dist/TabContainer.js.map +1 -1
- package/dist/TabSeparator.d.ts +5 -1
- package/dist/TabSeparator.js.map +1 -1
- package/dist/{Badge.d.ts → Tag.d.ts} +23 -17
- package/dist/{Badge.js → Tag.js} +53 -49
- package/dist/Tag.js.map +1 -0
- package/dist/Text.d.ts +1 -1
- package/dist/Text.js +1 -1
- package/dist/Text.js.map +1 -1
- package/dist/TextArea.d.ts +6 -6
- package/dist/TextArea.js +13 -13
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePicker.d.ts +171 -13
- package/dist/TimePicker.js +462 -20
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerInternals.d.ts +1 -1
- package/dist/TimePickerInternals.js +3 -3
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelectionClocks.js +2 -4
- package/dist/TimeSelectionClocks.js.map +1 -1
- package/dist/TimeSelectionInputs.js +0 -2
- package/dist/TimeSelectionInputs.js.map +1 -1
- package/dist/Title.d.ts +1 -2
- package/dist/Title.js +7 -10
- package/dist/Title.js.map +1 -1
- package/dist/Toast.d.ts +11 -8
- package/dist/Toast.js +36 -30
- package/dist/Toast.js.map +1 -1
- package/dist/ToggleSpinButton.d.ts +4 -0
- package/dist/ToggleSpinButton.js +6 -0
- package/dist/ToggleSpinButton.js.map +1 -1
- package/dist/Token.d.ts +8 -8
- package/dist/Token.js +11 -11
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +128 -47
- package/dist/Tokenizer.js +356 -172
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.js +6 -5
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +14 -17
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/Tree.d.ts +2 -8
- package/dist/Tree.js +2 -4
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItemBase.d.ts +3 -3
- package/dist/TreeItemBase.js +2 -2
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/bundle.common.bootstrap.js +3 -0
- package/dist/bundle.esm.d.ts +1 -0
- package/dist/bundle.esm.js +284 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/bundle.scoped.esm.js +8 -0
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/CustomListItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -0
- package/dist/css/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuListItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.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/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -0
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SelectMenu.css +1 -1
- package/dist/css/themes/SelectPopover.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- 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/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Tag.css +1 -0
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Title.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.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_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1918 -3358
- package/dist/custom-elements.json +1413 -2627
- package/dist/features/InputSuggestions.d.ts +14 -19
- package/dist/features/InputSuggestions.js +28 -72
- package/dist/features/InputSuggestions.js.map +1 -1
- 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_cnr.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_in.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_mk.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_sr.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_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_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +9 -8
- package/dist/generated/i18n/i18n-defaults.js +11 -10
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/json-imports/Themes.js +1 -4
- package/dist/generated/json-imports/Themes.js.map +1 -1
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +1 -1
- package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +2 -2
- package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerInputTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerTemplate.lit.js +3 -3
- package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
- package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
- package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputPopoverTemplate.lit.js +16 -16
- package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputTemplate.lit.js +20 -20
- package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.d.ts → ListItemGroupHeaderTemplate.lit.d.ts} +2 -2
- package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js → ListItemGroupHeaderTemplate.lit.js} +1 -1
- package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js.map → ListItemGroupHeaderTemplate.lit.js.map} +1 -1
- package/dist/generated/templates/{TimeSelectionTemplate.lit.d.ts → ListItemGroupTemplate.lit.d.ts} +2 -2
- package/dist/generated/templates/ListItemGroupTemplate.lit.js +8 -0
- package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MenuListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MenuListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MenuTemplate.lit.js +6 -6
- package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +3 -3
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiInputTemplate.lit.js +27 -30
- package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NavigationMenuTemplate.lit.js +7 -7
- package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +2 -2
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SelectTemplate.lit.js +2 -2
- package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/StandardListItemTemplate.lit.js +3 -3
- package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
- package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +3 -3
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
- package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TagTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/TagTemplate.lit.js +11 -0
- package/dist/generated/templates/TagTemplate.lit.js.map +1 -0
- package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +1 -1
- package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js +1 -1
- package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
- package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +2 -2
- package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TokenTemplate.lit.js +2 -2
- package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +5 -10
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -11
- package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeItemBaseTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeItemCustomTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeItemTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/{TableCell.css.js → ListItemGroup.css.js} +2 -2
- package/dist/generated/themes/{TimeSelection.css.js.map → ListItemGroup.css.js.map} +1 -1
- package/dist/generated/themes/{GroupHeaderListItem.css.js → ListItemGroupHeader.css.js} +2 -2
- package/dist/generated/themes/{GroupHeaderListItem.css.js.map → ListItemGroupHeader.css.js.map} +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuListItem.css.js +1 -1
- package/dist/generated/themes/MenuListItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +9 -0
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -0
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SelectMenu.css.js +1 -1
- package/dist/generated/themes/SelectMenu.css.js.map +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +9 -0
- package/dist/generated/themes/Tag.css.js.map +1 -0
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Title.css.js +1 -1
- package/dist/generated/themes/Title.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/HighlightTypes.d.ts +3 -3
- package/dist/types/HighlightTypes.js +3 -3
- package/dist/types/HighlightTypes.js.map +1 -1
- package/dist/types/IconMode.d.ts +28 -0
- package/dist/types/IconMode.js +30 -0
- package/dist/types/IconMode.js.map +1 -0
- package/dist/types/ListAccessibleRole.d.ts +28 -0
- package/dist/types/ListAccessibleRole.js +30 -0
- package/dist/types/ListAccessibleRole.js.map +1 -0
- package/dist/types/ListItemAccessibleRole.d.ts +33 -0
- package/dist/types/ListItemAccessibleRole.js +35 -0
- package/dist/types/ListItemAccessibleRole.js.map +1 -0
- package/dist/types/MessageStripDesign.d.ts +1 -1
- package/dist/types/MessageStripDesign.js +1 -1
- package/dist/types/MessageStripDesign.js.map +1 -1
- package/dist/types/{SegmentedButtonMode.d.ts → SegmentedButtonSelectionMode.d.ts} +5 -5
- package/dist/types/SegmentedButtonSelectionMode.js +19 -0
- package/dist/types/SegmentedButtonSelectionMode.js.map +1 -0
- package/dist/types/{BadgeDesign.d.ts → TagDesign.d.ts} +3 -3
- package/dist/types/{BadgeDesign.js → TagDesign.js} +14 -14
- package/dist/types/TagDesign.js.map +1 -0
- package/dist/types/TagSize.d.ts +17 -0
- package/dist/types/TagSize.js +19 -0
- package/dist/types/TagSize.js.map +1 -0
- package/dist/vscode.html-custom-data.json +300 -469
- package/dist/web-types.json +498 -815
- package/package.json +10 -10
- package/src/AvatarGroup.hbs +1 -1
- package/src/Breadcrumbs.hbs +2 -2
- package/src/Button.hbs +1 -1
- package/src/ColorPalettePopover.hbs +1 -0
- package/src/ComboBoxPopover.hbs +2 -1
- package/src/DatePickerInput.hbs +4 -4
- package/src/DatePickerPopover.hbs +4 -1
- package/src/FileUploader.hbs +2 -0
- package/src/Input.hbs +7 -6
- package/src/InputPopover.hbs +31 -11
- package/src/List.hbs +1 -2
- package/src/ListItem.hbs +0 -1
- package/src/ListItemGroup.hbs +12 -0
- package/src/Menu.hbs +10 -10
- package/src/MultiComboBox.hbs +2 -2
- package/src/MultiComboBoxPopover.hbs +2 -2
- package/src/MultiInput.hbs +4 -15
- package/src/NavigationMenu.hbs +11 -11
- package/src/ResponsivePopover.hbs +8 -2
- package/src/SegmentedButtonItem.hbs +5 -15
- package/src/Select.hbs +1 -1
- package/src/SelectPopover.hbs +1 -1
- package/src/SplitButton.hbs +1 -3
- package/src/StandardListItem.hbs +2 -2
- package/src/StepInput.hbs +1 -1
- package/src/TabContainer.hbs +2 -2
- package/src/TabInStrip.hbs +1 -1
- package/src/{Badge.hbs → Tag.hbs} +5 -5
- package/src/TimeSelectionClocks.hbs +1 -1
- package/src/TimeSelectionInputs.hbs +1 -1
- package/src/ToggleSpinButton.hbs +0 -1
- package/src/Token.hbs +3 -1
- package/src/Tokenizer.hbs +11 -6
- package/src/TokenizerPopover.hbs +25 -38
- package/src/Tree.hbs +0 -1
- package/src/i18n/messagebundle.properties +17 -14
- package/src/i18n/messagebundle_ar.properties +9 -7
- package/src/i18n/messagebundle_bg.properties +9 -7
- package/src/i18n/messagebundle_ca.properties +9 -7
- package/src/i18n/messagebundle_cnr.properties +9 -7
- package/src/i18n/messagebundle_cs.properties +9 -7
- package/src/i18n/messagebundle_cy.properties +9 -7
- package/src/i18n/messagebundle_da.properties +9 -7
- package/src/i18n/messagebundle_de.properties +9 -7
- package/src/i18n/messagebundle_el.properties +9 -7
- package/src/i18n/messagebundle_en.properties +9 -7
- package/src/i18n/messagebundle_en_GB.properties +9 -7
- package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
- package/src/i18n/messagebundle_en_US_saprigi.properties +9 -7
- package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
- package/src/i18n/messagebundle_es.properties +9 -7
- package/src/i18n/messagebundle_es_MX.properties +9 -7
- package/src/i18n/messagebundle_et.properties +9 -7
- package/src/i18n/messagebundle_fi.properties +9 -7
- package/src/i18n/messagebundle_fr.properties +9 -7
- package/src/i18n/messagebundle_fr_CA.properties +9 -7
- package/src/i18n/messagebundle_hi.properties +9 -7
- package/src/i18n/messagebundle_hr.properties +9 -7
- package/src/i18n/messagebundle_hu.properties +9 -7
- package/src/i18n/messagebundle_id.properties +9 -7
- package/src/i18n/messagebundle_in.properties +1 -1
- package/src/i18n/messagebundle_it.properties +9 -7
- package/src/i18n/messagebundle_iw.properties +9 -7
- package/src/i18n/messagebundle_ja.properties +9 -7
- package/src/i18n/messagebundle_kk.properties +9 -7
- package/src/i18n/messagebundle_ko.properties +9 -7
- package/src/i18n/messagebundle_lt.properties +9 -7
- package/src/i18n/messagebundle_lv.properties +9 -7
- package/src/i18n/messagebundle_mk.properties +9 -7
- package/src/i18n/messagebundle_ms.properties +9 -7
- package/src/i18n/messagebundle_nl.properties +9 -7
- package/src/i18n/messagebundle_no.properties +9 -7
- package/src/i18n/messagebundle_pl.properties +9 -7
- package/src/i18n/messagebundle_pt.properties +9 -7
- package/src/i18n/messagebundle_pt_PT.properties +9 -7
- package/src/i18n/messagebundle_ro.properties +9 -7
- package/src/i18n/messagebundle_ru.properties +9 -7
- package/src/i18n/messagebundle_sh.properties +32 -30
- package/src/i18n/messagebundle_sk.properties +9 -7
- package/src/i18n/messagebundle_sl.properties +9 -7
- package/src/i18n/messagebundle_sr.properties +9 -7
- package/src/i18n/messagebundle_sv.properties +9 -7
- package/src/i18n/messagebundle_th.properties +9 -7
- package/src/i18n/messagebundle_tr.properties +9 -7
- package/src/i18n/messagebundle_uk.properties +9 -7
- package/src/i18n/messagebundle_vi.properties +9 -7
- package/src/i18n/messagebundle_zh_CN.properties +9 -7
- package/src/i18n/messagebundle_zh_TW.properties +9 -7
- package/src/themes/Avatar.css +9 -9
- package/src/themes/CheckBox.css +12 -12
- package/src/themes/Dialog.css +11 -6
- package/src/themes/FileUploader.css +3 -3
- package/src/themes/Icon.css +3 -3
- package/src/themes/Input.css +51 -51
- package/src/themes/InputSharedStyles.css +14 -14
- package/src/themes/Link.css +2 -2
- package/src/themes/ListItem.css +6 -6
- package/src/themes/ListItemGroup.css +13 -0
- package/src/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +4 -0
- package/src/themes/MessageStrip.css +2 -2
- package/src/themes/MultiComboBox.css +4 -0
- package/src/themes/PopupsCommon.css +1 -1
- package/src/themes/ProgressIndicator.css +18 -19
- package/src/themes/RadioButton.css +18 -18
- package/src/themes/ResponsivePopoverCommon.css +17 -17
- package/src/themes/SegmentedButton.css +2 -2
- package/src/themes/SegmentedButtonItem.css +158 -0
- package/src/themes/SplitButton.css +2 -1
- package/src/themes/StepInput.css +20 -20
- package/src/themes/Tag.css +616 -0
- package/src/themes/TextArea.css +34 -34
- package/src/themes/TimePicker.css +1 -1
- package/src/themes/Title.css +10 -3
- package/src/themes/Token.css +10 -15
- package/src/themes/Tokenizer.css +24 -10
- package/src/themes/TokenizerPopover.css +14 -2
- package/src/themes/base/Link-parameters.css +1 -2
- package/src/themes/base/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/base/Tag-parameters.css +170 -0
- package/src/themes/base/sizes-parameters.css +0 -24
- package/src/themes/sap_fiori_3/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +3 -7
- package/src/themes/sap_fiori_3_dark/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_fiori_3_dark/Tag-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +3 -7
- package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -2
- package/src/themes/sap_fiori_3_hcb/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +46 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -7
- package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -2
- package/src/themes/sap_fiori_3_hcw/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +46 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -7
- package/src/themes/sap_horizon/Link-parameters.css +1 -2
- package/src/themes/sap_horizon/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_horizon/Tag-parameters.css +46 -0
- package/src/themes/sap_horizon/parameters-bundle.css +3 -9
- package/src/themes/sap_horizon_dark/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_dark/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_horizon_dark/Tag-parameters.css +46 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +4 -10
- package/src/themes/sap_horizon_dark_exp/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +43 -0
- package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +2 -9
- package/src/themes/sap_horizon_exp/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_exp/Tag-parameters.css +43 -0
- package/src/themes/sap_horizon_exp/parameters-bundle.css +2 -9
- package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_hcb/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_horizon_hcb/Tag-parameters.css +151 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +3 -7
- package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +43 -0
- package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +2 -7
- package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_hcw/SegmentedButtonItem-parameters.css +1 -0
- package/src/themes/sap_horizon_hcw/Tag-parameters.css +154 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +3 -7
- package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +1 -2
- package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +43 -0
- package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +2 -7
- package/.eslintrc.cjs +0 -3
- package/config/wdio.conf.cjs +0 -15
- package/customI18n.js +0 -50
- package/dist/Badge.js.map +0 -1
- package/dist/GroupHeaderListItem.js.map +0 -1
- package/dist/Table.d.ts +0 -362
- package/dist/Table.js +0 -868
- package/dist/Table.js.map +0 -1
- package/dist/TableCell.d.ts +0 -37
- package/dist/TableCell.js +0 -63
- package/dist/TableCell.js.map +0 -1
- package/dist/TableColumn.d.ts +0 -63
- package/dist/TableColumn.js +0 -59
- package/dist/TableColumn.js.map +0 -1
- package/dist/TableGroupRow.d.ts +0 -44
- package/dist/TableGroupRow.js +0 -102
- package/dist/TableGroupRow.js.map +0 -1
- package/dist/TableRow.d.ts +0 -120
- package/dist/TableRow.js +0 -323
- package/dist/TableRow.js.map +0 -1
- package/dist/TimePickerBase.d.ts +0 -174
- package/dist/TimePickerBase.js +0 -476
- package/dist/TimePickerBase.js.map +0 -1
- package/dist/TimeSelection.d.ts +0 -144
- package/dist/TimeSelection.js +0 -376
- package/dist/TimeSelection.js.map +0 -1
- package/dist/WheelSlider.d.ts +0 -101
- package/dist/WheelSlider.js +0 -338
- package/dist/WheelSlider.js.map +0 -1
- package/dist/css/themes/Badge.css +0 -1
- package/dist/css/themes/Table.css +0 -1
- package/dist/css/themes/TableCell.css +0 -1
- package/dist/css/themes/TableColumn.css +0 -1
- package/dist/css/themes/TableGroupRow.css +0 -1
- package/dist/css/themes/TableRow.css +0 -1
- package/dist/css/themes/TimeSelection.css +0 -1
- package/dist/css/themes/WheelSlider.css +0 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
- package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/BadgeTemplate.lit.js +0 -11
- package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +0 -5
- package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableColumnTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +0 -5
- package/dist/generated/templates/TableColumnTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -5
- package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableRowTemplate.lit.js +0 -16
- package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TableTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/TableTemplate.lit.js +0 -15
- package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +0 -9
- package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +0 -1
- package/dist/generated/templates/WheelSliderTemplate.lit.d.ts +0 -4
- package/dist/generated/templates/WheelSliderTemplate.lit.js +0 -8
- package/dist/generated/templates/WheelSliderTemplate.lit.js.map +0 -1
- package/dist/generated/themes/Badge.css.js +0 -9
- package/dist/generated/themes/Badge.css.js.map +0 -1
- package/dist/generated/themes/Table.css.js +0 -9
- package/dist/generated/themes/Table.css.js.map +0 -1
- package/dist/generated/themes/TableCell.css.js.map +0 -1
- package/dist/generated/themes/TableColumn.css.d.ts +0 -3
- package/dist/generated/themes/TableColumn.css.js +0 -9
- package/dist/generated/themes/TableColumn.css.js.map +0 -1
- package/dist/generated/themes/TableGroupRow.css.d.ts +0 -3
- package/dist/generated/themes/TableGroupRow.css.js +0 -9
- package/dist/generated/themes/TableGroupRow.css.js.map +0 -1
- package/dist/generated/themes/TableRow.css.d.ts +0 -3
- package/dist/generated/themes/TableRow.css.js +0 -9
- package/dist/generated/themes/TableRow.css.js.map +0 -1
- package/dist/generated/themes/TimeSelection.css.d.ts +0 -3
- package/dist/generated/themes/TimeSelection.css.js +0 -9
- package/dist/generated/themes/WheelSlider.css.d.ts +0 -3
- package/dist/generated/themes/WheelSlider.css.js +0 -9
- package/dist/generated/themes/WheelSlider.css.js.map +0 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
- package/dist/types/BadgeDesign.js.map +0 -1
- package/dist/types/HasPopup.d.ts +0 -32
- package/dist/types/HasPopup.js +0 -34
- package/dist/types/HasPopup.js.map +0 -1
- package/dist/types/SegmentedButtonMode.js +0 -19
- package/dist/types/SegmentedButtonMode.js.map +0 -1
- package/dist/types/TableColumnPopinDisplay.d.ts +0 -17
- package/dist/types/TableColumnPopinDisplay.js +0 -19
- package/dist/types/TableColumnPopinDisplay.js.map +0 -1
- package/dist/types/TableGrowingMode.d.ts +0 -23
- package/dist/types/TableGrowingMode.js +0 -25
- package/dist/types/TableGrowingMode.js.map +0 -1
- package/dist/types/TableMode.d.ts +0 -22
- package/dist/types/TableMode.js +0 -24
- package/dist/types/TableMode.js.map +0 -1
- package/dist/types/TableRowType.d.ts +0 -17
- package/dist/types/TableRowType.js +0 -19
- package/dist/types/TableRowType.js.map +0 -1
- package/src/Table.hbs +0 -121
- package/src/TableCell.hbs +0 -7
- package/src/TableColumn.hbs +0 -7
- package/src/TableGroupRow.hbs +0 -11
- package/src/TableRow.hbs +0 -85
- package/src/TimeSelection.hbs +0 -64
- package/src/WheelSlider.hbs +0 -49
- package/src/themes/Badge.css +0 -594
- package/src/themes/Table.css +0 -106
- package/src/themes/TableCell.css +0 -27
- package/src/themes/TableColumn.css +0 -25
- package/src/themes/TableGroupRow.css +0 -32
- package/src/themes/TableRow.css +0 -130
- package/src/themes/TimeSelection.css +0 -27
- package/src/themes/WheelSlider.css +0 -203
- package/src/themes/base/Badge-parameters.css +0 -160
- package/src/themes/base/Table-parameters.css +0 -10
- package/src/themes/base/TableColumn-parameters.css +0 -3
- package/src/themes/base/TableGroupRow-parameters.css +0 -4
- package/src/themes/base/TableRow-parameters.css +0 -4
- package/src/themes/base/WheelSlider-parameters.css +0 -15
- package/src/themes/sap_belize/BrowserScrollbar-parameters.css +0 -4
- package/src/themes/sap_belize/BusyIndicator-parameters.css +0 -5
- package/src/themes/sap_belize/Button-parameters.css +0 -9
- package/src/themes/sap_belize/Card-parameters.css +0 -5
- package/src/themes/sap_belize/Carousel-parameters.css +0 -9
- package/src/themes/sap_belize/DayPicker-parameters.css +0 -25
- package/src/themes/sap_belize/Dialog-parameters.css +0 -5
- package/src/themes/sap_belize/Input-parameters.css +0 -22
- package/src/themes/sap_belize/InputIcon-parameters.css +0 -5
- package/src/themes/sap_belize/Panel-parameters.css +0 -14
- package/src/themes/sap_belize/PopupsCommon-parameters.css +0 -8
- package/src/themes/sap_belize/ProgressIndicator-parameters.css +0 -8
- package/src/themes/sap_belize/SliderBase-parameters.css +0 -23
- package/src/themes/sap_belize/SplitButton-parameters.css +0 -6
- package/src/themes/sap_belize/TabContainer-parameters.css +0 -10
- package/src/themes/sap_belize/Table-parameters.css +0 -7
- package/src/themes/sap_belize/TableRow-parameters.css +0 -6
- package/src/themes/sap_belize/TextArea-parameters.css +0 -23
- package/src/themes/sap_belize/TimePicker-parameters.css +0 -5
- package/src/themes/sap_belize/ToggleButton-parameters.css +0 -5
- package/src/themes/sap_belize/Token-parameters.css +0 -8
- package/src/themes/sap_belize/Tokenizer-parameters.css +0 -5
- package/src/themes/sap_belize/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_belize/parameters-bundle.css +0 -62
- package/src/themes/sap_belize/sizes-parameters.css +0 -17
- package/src/themes/sap_belize_hcb/Avatar-parameters.css +0 -20
- package/src/themes/sap_belize_hcb/Badge-parameters.css +0 -43
- package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +0 -4
- package/src/themes/sap_belize_hcb/Button-parameters.css +0 -12
- package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +0 -11
- package/src/themes/sap_belize_hcb/Card-parameters.css +0 -7
- package/src/themes/sap_belize_hcb/Carousel-parameters.css +0 -9
- package/src/themes/sap_belize_hcb/CheckBox-parameters.css +0 -12
- package/src/themes/sap_belize_hcb/DatePicker-parameters.css +0 -6
- package/src/themes/sap_belize_hcb/DayPicker-parameters.css +0 -23
- package/src/themes/sap_belize_hcb/FileUploader-parameters.css +0 -5
- package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +0 -8
- package/src/themes/sap_belize_hcb/Input-parameters.css +0 -37
- package/src/themes/sap_belize_hcb/InputIcon-parameters.css +0 -5
- package/src/themes/sap_belize_hcb/Link-parameters.css +0 -8
- package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +0 -31
- package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +0 -10
- package/src/themes/sap_belize_hcb/Panel-parameters.css +0 -13
- package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +0 -5
- package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +0 -11
- package/src/themes/sap_belize_hcb/RadioButton-parameters.css +0 -14
- package/src/themes/sap_belize_hcb/Select-parameters.css +0 -10
- package/src/themes/sap_belize_hcb/SliderBase-parameters.css +0 -17
- package/src/themes/sap_belize_hcb/SplitButton-parameters.css +0 -13
- package/src/themes/sap_belize_hcb/Switch-parameters.css +0 -16
- package/src/themes/sap_belize_hcb/TabContainer-parameters.css +0 -44
- package/src/themes/sap_belize_hcb/Table-parameters.css +0 -7
- package/src/themes/sap_belize_hcb/TableRow-parameters.css +0 -7
- package/src/themes/sap_belize_hcb/TextArea-parameters.css +0 -39
- package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +0 -7
- package/src/themes/sap_belize_hcb/Token-parameters.css +0 -10
- package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +0 -10
- package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_belize_hcb/YearPicker-parameters.css +0 -10
- package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -60
- package/src/themes/sap_belize_hcb/sizes-parameters.css +0 -15
- package/src/themes/sap_belize_hcw/Avatar-parameters.css +0 -20
- package/src/themes/sap_belize_hcw/Badge-parameters.css +0 -43
- package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +0 -4
- package/src/themes/sap_belize_hcw/Button-parameters.css +0 -12
- package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +0 -11
- package/src/themes/sap_belize_hcw/Card-parameters.css +0 -7
- package/src/themes/sap_belize_hcw/Carousel-parameters.css +0 -9
- package/src/themes/sap_belize_hcw/CheckBox-parameters.css +0 -12
- package/src/themes/sap_belize_hcw/DatePicker-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/DayPicker-parameters.css +0 -24
- package/src/themes/sap_belize_hcw/FileUploader-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +0 -8
- package/src/themes/sap_belize_hcw/Input-parameters.css +0 -37
- package/src/themes/sap_belize_hcw/InputIcon-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/Link-parameters.css +0 -8
- package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +0 -31
- package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +0 -10
- package/src/themes/sap_belize_hcw/Panel-parameters.css +0 -13
- package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +0 -11
- package/src/themes/sap_belize_hcw/RadioButton-parameters.css +0 -14
- package/src/themes/sap_belize_hcw/Select-parameters.css +0 -10
- package/src/themes/sap_belize_hcw/SliderBase-parameters.css +0 -17
- package/src/themes/sap_belize_hcw/SplitButton-parameters.css +0 -13
- package/src/themes/sap_belize_hcw/Switch-parameters.css +0 -16
- package/src/themes/sap_belize_hcw/TabContainer-parameters.css +0 -44
- package/src/themes/sap_belize_hcw/Table-parameters.css +0 -7
- package/src/themes/sap_belize_hcw/TableRow-parameters.css +0 -7
- package/src/themes/sap_belize_hcw/TextArea-parameters.css +0 -39
- package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +0 -6
- package/src/themes/sap_belize_hcw/Token-parameters.css +0 -10
- package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +0 -10
- package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_belize_hcw/YearPicker-parameters.css +0 -10
- package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -60
- package/src/themes/sap_belize_hcw/sizes-parameters.css +0 -15
- package/src/themes/sap_fiori_3/WheelSlider-parameters.css +0 -16
- package/src/themes/sap_fiori_3_dark/Badge-parameters.css +0 -5
- package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +0 -15
- package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +0 -46
- package/src/themes/sap_fiori_3_hcb/Table-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +0 -46
- package/src/themes/sap_fiori_3_hcw/Table-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +0 -5
- package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_horizon/Badge-parameters.css +0 -46
- package/src/themes/sap_horizon/Table-parameters.css +0 -9
- package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
- package/src/themes/sap_horizon/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon/WheelSlider-parameters.css +0 -19
- package/src/themes/sap_horizon_dark/Badge-parameters.css +0 -46
- package/src/themes/sap_horizon_dark/Table-parameters.css +0 -9
- package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
- package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_dark/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_dark/WheelSlider-parameters.css +0 -19
- package/src/themes/sap_horizon_dark_exp/Badge-parameters.css +0 -43
- package/src/themes/sap_horizon_dark_exp/Table-parameters.css +0 -8
- package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +0 -5
- package/src/themes/sap_horizon_dark_exp/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_dark_exp/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_dark_exp/WheelSlider-parameters.css +0 -19
- package/src/themes/sap_horizon_exp/Badge-parameters.css +0 -43
- package/src/themes/sap_horizon_exp/Table-parameters.css +0 -8
- package/src/themes/sap_horizon_exp/TableColumn-parameters.css +0 -5
- package/src/themes/sap_horizon_exp/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_exp/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +0 -19
- package/src/themes/sap_horizon_hcb/Badge-parameters.css +0 -151
- package/src/themes/sap_horizon_hcb/Table-parameters.css +0 -10
- package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_hcb/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_hcb/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_horizon_hcb_exp/Badge-parameters.css +0 -43
- package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +0 -9
- package/src/themes/sap_horizon_hcb_exp/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_hcb_exp/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_hcb_exp/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_horizon_hcw/Badge-parameters.css +0 -154
- package/src/themes/sap_horizon_hcw/Table-parameters.css +0 -10
- package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_hcw/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_hcw/WheelSlider-parameters.css +0 -17
- package/src/themes/sap_horizon_hcw_exp/Badge-parameters.css +0 -43
- package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +0 -9
- package/src/themes/sap_horizon_hcw_exp/TableGroupRow-parameters.css +0 -7
- package/src/themes/sap_horizon_hcw_exp/TableRow-parameters.css +0 -5
- package/src/themes/sap_horizon_hcw_exp/WheelSlider-parameters.css +0 -17
- /package/dist/generated/themes/{Badge.css.d.ts → ListItemGroup.css.d.ts} +0 -0
- /package/dist/generated/themes/{GroupHeaderListItem.css.d.ts → ListItemGroupHeader.css.d.ts} +0 -0
- /package/dist/generated/themes/{Table.css.d.ts → SegmentedButtonItem.css.d.ts} +0 -0
- /package/dist/generated/themes/{TableCell.css.d.ts → Tag.css.d.ts} +0 -0
- /package/src/{GroupHeaderListItem.hbs → ListItemGroupHeader.hbs} +0 -0
- /package/src/themes/base/{GroupHeaderListItem-parameters.css → ListItemGroupHeader-parameters.css} +0 -0
package/dist/MultiInput.js
CHANGED
|
@@ -10,14 +10,14 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
|
10
10
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
11
11
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
12
12
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
13
|
-
import { isShow, isBackSpace, isLeft, isRight, isRightCtrl, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
13
|
+
import { isShow, isBackSpace, isLeft, isRight, isRightCtrl, isHome, isEnd, isDown, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
14
14
|
import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
|
|
15
15
|
import { MULTIINPUT_ROLEDESCRIPTION_TEXT } from "./generated/i18n/i18n-defaults.js";
|
|
16
16
|
import Input from "./Input.js";
|
|
17
17
|
import MultiInputTemplate from "./generated/templates/MultiInputTemplate.lit.js";
|
|
18
18
|
import styles from "./generated/themes/MultiInput.css.js";
|
|
19
19
|
import Token from "./Token.js";
|
|
20
|
-
import Tokenizer
|
|
20
|
+
import Tokenizer from "./Tokenizer.js";
|
|
21
21
|
import Icon from "./Icon.js";
|
|
22
22
|
import "@ui5/webcomponents-icons/dist/value-help.js";
|
|
23
23
|
/**
|
|
@@ -29,7 +29,8 @@ import "@ui5/webcomponents-icons/dist/value-help.js";
|
|
|
29
29
|
* Fiori Guidelines say that user should create tokens when:
|
|
30
30
|
*
|
|
31
31
|
* - Type a value in the input and press enter or focus out the input field (`change` event is fired)
|
|
32
|
-
* -
|
|
32
|
+
* - Move between suggestion items (`selection-change` event is fired)
|
|
33
|
+
* - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )
|
|
33
34
|
*
|
|
34
35
|
* ### ES6 Module Import
|
|
35
36
|
*
|
|
@@ -47,13 +48,9 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
47
48
|
this._valueHelpIconPressed = false;
|
|
48
49
|
}
|
|
49
50
|
valueHelpPress() {
|
|
50
|
-
this.
|
|
51
|
+
this.closeValueStatePopover();
|
|
51
52
|
this.fireEvent("value-help-trigger");
|
|
52
53
|
}
|
|
53
|
-
showMorePress() {
|
|
54
|
-
this.expandedTokenizer = false;
|
|
55
|
-
this.focus();
|
|
56
|
-
}
|
|
57
54
|
tokenDelete(e) {
|
|
58
55
|
const focusedToken = e.detail.ref;
|
|
59
56
|
const selectedTokens = this.tokens.filter(token => token.selected);
|
|
@@ -77,8 +74,8 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
77
74
|
}
|
|
78
75
|
valueHelpMouseDown(e) {
|
|
79
76
|
const target = e.target;
|
|
80
|
-
this.
|
|
81
|
-
this.tokenizer.
|
|
77
|
+
this.closeValueStatePopover();
|
|
78
|
+
this.tokenizer.open = false;
|
|
82
79
|
this._valueHelpIconPressed = true;
|
|
83
80
|
target.focus();
|
|
84
81
|
}
|
|
@@ -87,9 +84,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
87
84
|
this.tokenizer._tokens.forEach(token => { token.selected = false; });
|
|
88
85
|
this.tokenizer.scrollToStart();
|
|
89
86
|
}
|
|
90
|
-
if (e.relatedTarget === this.nativeInput) {
|
|
91
|
-
this.tokenizer.closeMorePopover();
|
|
92
|
-
}
|
|
93
87
|
}
|
|
94
88
|
valueHelpMouseUp() {
|
|
95
89
|
setTimeout(() => {
|
|
@@ -97,10 +91,10 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
97
91
|
}, 0);
|
|
98
92
|
}
|
|
99
93
|
innerFocusIn() {
|
|
100
|
-
this.
|
|
94
|
+
this.tokenizer.expanded = true;
|
|
101
95
|
this.focused = true;
|
|
102
96
|
this.tokenizer.scrollToEnd();
|
|
103
|
-
this.
|
|
97
|
+
this.tokens.forEach(token => {
|
|
104
98
|
token.selected = false;
|
|
105
99
|
});
|
|
106
100
|
}
|
|
@@ -108,8 +102,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
108
102
|
super._onkeydown(e);
|
|
109
103
|
const target = e.target;
|
|
110
104
|
const isHomeInBeginning = isHome(e) && target.selectionStart === 0;
|
|
111
|
-
const isCtrl = e.metaKey || e.ctrlKey;
|
|
112
|
-
const tokens = this.tokens;
|
|
113
105
|
if (isHomeInBeginning) {
|
|
114
106
|
this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens
|
|
115
107
|
return this._focusFirstToken(e);
|
|
@@ -122,17 +114,10 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
122
114
|
if (isShow(e)) {
|
|
123
115
|
this.valueHelpPress();
|
|
124
116
|
}
|
|
125
|
-
if (isCtrl && e.key.toLowerCase() === "i" && tokens.length > 0) {
|
|
126
|
-
e.preventDefault();
|
|
127
|
-
this.closePopover();
|
|
128
|
-
this.tokenizer.openMorePopover();
|
|
129
|
-
}
|
|
130
117
|
}
|
|
131
118
|
_onTokenizerKeydown(e) {
|
|
132
119
|
const rightCtrl = isRightCtrl(e);
|
|
133
|
-
|
|
134
|
-
const tokens = this.tokens;
|
|
135
|
-
if (isRight(e) || isEnd(e) || rightCtrl) {
|
|
120
|
+
if (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {
|
|
136
121
|
e.preventDefault();
|
|
137
122
|
const lastTokenIndex = this.tokens.length - 1;
|
|
138
123
|
if (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {
|
|
@@ -140,35 +125,14 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
140
125
|
this.focus();
|
|
141
126
|
}, 0);
|
|
142
127
|
}
|
|
143
|
-
else if (rightCtrl) {
|
|
144
|
-
e.preventDefault();
|
|
145
|
-
return this.tokenizer._handleArrowCtrl(e, e.target, this.tokens, true);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (isCtrl && ["c", "x"].includes(e.key.toLowerCase())) {
|
|
149
|
-
e.preventDefault();
|
|
150
|
-
const isCut = e.key.toLowerCase() === "x";
|
|
151
|
-
const selectedTokens = tokens.filter(token => token.selected);
|
|
152
|
-
if (isCut) {
|
|
153
|
-
const cutResult = this.tokenizer._fillClipboard(ClipboardDataOperation.cut, selectedTokens);
|
|
154
|
-
selectedTokens.forEach(token => {
|
|
155
|
-
this.fireEvent("token-delete", { token });
|
|
156
|
-
});
|
|
157
|
-
this.focus();
|
|
158
|
-
return cutResult;
|
|
159
|
-
}
|
|
160
|
-
return this.tokenizer._fillClipboard(ClipboardDataOperation.copy, selectedTokens);
|
|
161
|
-
}
|
|
162
|
-
if (isCtrl && e.key.toLowerCase() === "i" && tokens.length > 0) {
|
|
163
|
-
e.preventDefault();
|
|
164
|
-
this.tokenizer.openMorePopover();
|
|
165
128
|
}
|
|
166
129
|
}
|
|
167
130
|
_handleLeft(e) {
|
|
168
131
|
const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
|
|
169
132
|
const tokens = this.tokens;
|
|
170
133
|
const lastToken = tokens.length && tokens[tokens.length - 1];
|
|
171
|
-
|
|
134
|
+
// selectionStart property applies only to inputs of types text, search, URL, tel, and password
|
|
135
|
+
if (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {
|
|
172
136
|
e.preventDefault();
|
|
173
137
|
lastToken.focus();
|
|
174
138
|
this.tokenizer._itemNav.setCurrentItem(lastToken);
|
|
@@ -189,18 +153,16 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
189
153
|
const insideDOM = this.contains(relatedTarget);
|
|
190
154
|
const insideShadowDom = this.shadowRoot.contains(relatedTarget);
|
|
191
155
|
if (!insideDOM && !insideShadowDom) {
|
|
192
|
-
this.
|
|
193
|
-
// we need to reset tabindex setting by tokenizer
|
|
194
|
-
this.tokenizer._itemNav._currentIndex = -1;
|
|
156
|
+
this.tokenizer.expanded = false;
|
|
195
157
|
}
|
|
196
158
|
}
|
|
197
159
|
/**
|
|
198
160
|
* @override
|
|
199
161
|
*/
|
|
200
|
-
|
|
201
|
-
const inputDomRef =
|
|
162
|
+
_onfocusin(e) {
|
|
163
|
+
const inputDomRef = this.getInputDOMRef();
|
|
202
164
|
if (e.target === inputDomRef) {
|
|
203
|
-
|
|
165
|
+
super._onfocusin(e);
|
|
204
166
|
}
|
|
205
167
|
}
|
|
206
168
|
lastItemDeleted() {
|
|
@@ -213,12 +175,25 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
213
175
|
this.style.setProperty(getScopedVarName("--_ui5-input-icons-count"), `${this.iconsCount}`);
|
|
214
176
|
this.tokenizerAvailable = this.tokens && this.tokens.length > 0;
|
|
215
177
|
}
|
|
178
|
+
onAfterRendering() {
|
|
179
|
+
super.onAfterRendering();
|
|
180
|
+
this.tokenizer.preventInitialFocus = true;
|
|
181
|
+
if (this.tokenizer.expanded) {
|
|
182
|
+
this.tokenizer.scrollToEnd();
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
this.tokenizer.scrollToStart();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
216
188
|
get iconsCount() {
|
|
217
189
|
return super.iconsCount + (this.showValueHelpIcon ? 1 : 0);
|
|
218
190
|
}
|
|
219
191
|
get tokenizer() {
|
|
220
192
|
return this.shadowRoot.querySelector("[ui5-tokenizer]");
|
|
221
193
|
}
|
|
194
|
+
get tokenizerExpanded() {
|
|
195
|
+
return this.tokenizer && this.tokenizer.expanded;
|
|
196
|
+
}
|
|
222
197
|
get _tokensCountText() {
|
|
223
198
|
if (!this.tokenizer) {
|
|
224
199
|
return;
|
|
@@ -226,14 +201,14 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
226
201
|
return this.tokenizer._tokensCountText();
|
|
227
202
|
}
|
|
228
203
|
get _tokensCountTextId() {
|
|
229
|
-
return
|
|
204
|
+
return `hiddenText-nMore`;
|
|
230
205
|
}
|
|
231
206
|
/**
|
|
232
207
|
* Returns the placeholder value when there are no tokens.
|
|
233
208
|
* @protected
|
|
234
209
|
*/
|
|
235
210
|
get _placeholder() {
|
|
236
|
-
if (this.
|
|
211
|
+
if (this.tokens.length) {
|
|
237
212
|
return "";
|
|
238
213
|
}
|
|
239
214
|
return this.placeholder;
|
|
@@ -258,15 +233,12 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
|
|
|
258
233
|
return this;
|
|
259
234
|
}
|
|
260
235
|
get shouldDisplayOnlyValueStateMessage() {
|
|
261
|
-
return this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.
|
|
236
|
+
return this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;
|
|
262
237
|
}
|
|
263
238
|
};
|
|
264
239
|
__decorate([
|
|
265
240
|
property({ type: Boolean })
|
|
266
241
|
], MultiInput.prototype, "showValueHelpIcon", void 0);
|
|
267
|
-
__decorate([
|
|
268
|
-
property({ type: Boolean })
|
|
269
|
-
], MultiInput.prototype, "expandedTokenizer", void 0);
|
|
270
242
|
__decorate([
|
|
271
243
|
property({ type: Boolean })
|
|
272
244
|
], MultiInput.prototype, "tokenizerAvailable", void 0);
|
package/dist/MultiInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer, { ClipboardDataOperation } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSuggestionItemSelectEventDetail as MultiInputSuggestionItemSelectEventDetail,\n\tInputSuggestionItemPreviewEventDetail as MultiInputSuggestionItemPreviewEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttoken: IToken;\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Select a value from the suggestion list (`suggestion-item-select` event is fired)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: litRender,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tdependencies: [\n\t\t...Input.dependencies,\n\t\tTokenizer,\n\t\tToken,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\")\n\n/**\n * Fired when a token is about to be deleted.\n * @param {HTMLElement} token deleted token.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttoken: { type: HTMLElement },\n\t},\n})\n\nclass MultiInput extends Input {\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer is expanded or collapsed(shows the n more label)\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpandedTokenizer!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable!: boolean;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot()\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closePopover();\n\t\tthis.fireEvent(\"value-help-trigger\");\n\t}\n\n\tshowMorePress() {\n\t\tthis.expandedTokenizer = false;\n\t\tthis.focus();\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst focusedToken = e.detail.ref;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (focusedToken) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token: focusedToken });\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedTokens.indexOf(focusedToken) === -1) {\n\t\t\tselectedTokens.push(focusedToken);\n\t\t}\n\n\t\tselectedTokens.forEach(token => {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t});\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closePopover();\n\t\tthis.tokenizer.closeMorePopover();\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\n\t\tif (e.relatedTarget === this.nativeInput) {\n\t\t\tthis.tokenizer.closeMorePopover();\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.expandedTokenizer = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokenizer._getTokens().forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\t\tconst isCtrl: boolean = e.metaKey || e.ctrlKey;\n\t\tconst tokens = this.tokens;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e) || isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && tokens.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tthis.closePopover();\n\t\t\tthis.tokenizer.openMorePopover();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\t\tconst tokens = this.tokens;\n\n\t\tif (isRight(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t} else if (rightCtrl) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn this.tokenizer._handleArrowCtrl(e, e.target as Token, this.tokens, true);\n\t\t\t}\n\t\t}\n\n\t\tif (isCtrl && [\"c\", \"x\"].includes(e.key.toLowerCase())) {\n\t\t\te.preventDefault();\n\n\t\t\tconst isCut = e.key.toLowerCase() === \"x\";\n\t\t\tconst selectedTokens = tokens.filter(token => token.selected);\n\n\t\t\tif (isCut) {\n\t\t\t\tconst cutResult = this.tokenizer._fillClipboard(ClipboardDataOperation.cut, selectedTokens);\n\n\t\t\t\tselectedTokens.forEach(token => {\n\t\t\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t\t\t});\n\n\t\t\t\tthis.focus();\n\n\t\t\t\treturn cutResult;\n\t\t\t}\n\n\t\t\treturn this.tokenizer._fillClipboard(ClipboardDataOperation.copy, selectedTokens);\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && tokens.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tthis.tokenizer.openMorePopover();\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\tif (cursorPosition === 0 && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.expandedTokenizer = false;\n\n\t\t\t// we need to reset tabindex setting by tokenizer\n\t\t\tthis.tokenizer._itemNav._currentIndex = -1;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\tasync _onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = await this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tawait super._onfocusin(e);\n\t\t}\n\t}\n\n\tlastItemDeleted() {\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget _tokensCountText() {\n\t\tif (!this.tokenizer) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.tokenizer._tokensCountText();\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `${this._id}-hiddenText-nMore`;\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokenizer && this.tokenizer._tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer._isOpen;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSuggestionItemSelectEventDetail,\n\tMultiInputSuggestionItemPreviewEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttoken: IToken;\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: litRender,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tdependencies: [\n\t\t...Input.dependencies,\n\t\tTokenizer,\n\t\tToken,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\")\n\n/**\n * Fired when a token is about to be deleted.\n * @param {HTMLElement} token deleted token.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttoken: { type: HTMLElement },\n\t},\n})\n\nclass MultiInput extends Input {\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable!: boolean;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot()\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst focusedToken = e.detail.ref;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (focusedToken) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token: focusedToken });\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedTokens.indexOf(focusedToken) === -1) {\n\t\t\tselectedTokens.push(focusedToken);\n\t\t}\n\n\t\tselectedTokens.forEach(token => {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t});\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e) || isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tlastItemDeleted() {\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\n\t\tif (this.tokenizer.expanded) {\n\t\t\tthis.tokenizer.scrollToEnd();\n\t\t} else {\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\tif (!this.tokenizer) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.tokenizer._tokensCountText();\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
|
package/dist/Option.d.ts
CHANGED
|
@@ -24,12 +24,12 @@ declare class Option extends UI5Element implements IOption {
|
|
|
24
24
|
*/
|
|
25
25
|
selected: boolean;
|
|
26
26
|
/**
|
|
27
|
-
* Defines the
|
|
27
|
+
* Defines the text of the tooltip that would be displayed for the option component.
|
|
28
28
|
* @default ""
|
|
29
|
-
* @
|
|
30
|
-
* @since
|
|
29
|
+
* @public
|
|
30
|
+
* @since 2.0.0
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
tooltip: string;
|
|
33
33
|
/**
|
|
34
34
|
* Defines the `icon` source URI.
|
|
35
35
|
*
|
package/dist/Option.js
CHANGED
|
@@ -34,7 +34,7 @@ __decorate([
|
|
|
34
34
|
], Option.prototype, "selected", void 0);
|
|
35
35
|
__decorate([
|
|
36
36
|
property()
|
|
37
|
-
], Option.prototype, "
|
|
37
|
+
], Option.prototype, "tooltip", void 0);
|
|
38
38
|
__decorate([
|
|
39
39
|
property({ defaultValue: null })
|
|
40
40
|
], Option.prototype, "icon", void 0);
|
package/dist/Option.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AAEH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAkE9B,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AA9DA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AASnB;IADC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AAEH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAkE9B,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AA9DA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AASnB;IADC,QAAQ,EAAE;uCACM;AAYjB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;oCACZ;AASrB;IADC,QAAQ,EAAE;qCACI;AASf;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACV;AASlB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAClD;AAhEd,MAAM;IADX,aAAa,CAAC,YAAY,CAAC;GACtB,MAAM,CAqEX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-option` component defines the content of an option in the `ui5-select`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Option.js\";`\n * @constructor\n * @extends UI5Element\n * @implements {IOption}\n * @public\n * @abstract\n */\n@customElement(\"ui5-option\")\nclass Option extends UI5Element implements IOption {\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines the text of the tooltip that would be displayed for the option component.\n\t * @default \"\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\ttooltip!: string;\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:**\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default null\n\t * @public\n\t */\n\t@property({ defaultValue: null })\n\ticon?: string | null;\n\n\t/**\n\t * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the `name` property of `ui5-select`.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the additional text displayed at the end of the option element.\n\t * @default \"\"\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the focused state of the component.\n\t * @default false\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: Array<Node>;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nOption.define();\n\nexport default Option;\n"]}
|
package/dist/Popover.js
CHANGED
|
@@ -111,6 +111,10 @@ let Popover = Popover_1 = class Popover extends Popup {
|
|
|
111
111
|
console.warn("Valid opener id is required. It must be defined before opening the popover."); // eslint-disable-line
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
|
+
if (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {
|
|
115
|
+
this.fireEvent("after-close", {}, false, false);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
114
118
|
await this.showAt(opener);
|
|
115
119
|
}
|
|
116
120
|
isOpenerClicked(e) {
|
package/dist/Popover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tlet opener;\n\n\t\tif (this.opener instanceof HTMLElement) {\n\t\t\topener = this.opener;\n\t\t} else if (typeof this.opener === \"string\") {\n\t\t\tconst rootNode = this.getRootNode();\n\t\t\tif (rootNode instanceof Document) {\n\t\t\t\topener = rootNode.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\topener = document.getElementById(this.opener);\n\t\t\t}\n\t\t}\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.showAt(opener);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise<void> {\n\t\tif (!opener || this._isOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\n\t\tif (!this._isOpened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tlet opener;\n\n\t\tif (this.opener instanceof HTMLElement) {\n\t\t\topener = this.opener;\n\t\t} else if (typeof this.opener === \"string\") {\n\t\t\tconst rootNode = this.getRootNode();\n\t\t\tif (rootNode instanceof Document) {\n\t\t\t\topener = rootNode.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\topener = document.getElementById(this.opener);\n\t\t\t}\n\t\t}\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.showAt(opener);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise<void> {\n\t\tif (!opener || this._isOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\n\t\tif (!this._isOpened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
|
|
@@ -52,17 +52,17 @@ let ProgressIndicator = ProgressIndicator_1 = class ProgressIndicator extends UI
|
|
|
52
52
|
}
|
|
53
53
|
valueStateTextMappings() {
|
|
54
54
|
return {
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
55
|
+
"Negative": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_ERROR),
|
|
56
|
+
"Critical": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_WARNING),
|
|
57
|
+
"Positive": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
|
|
58
58
|
"Information": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_INFORMATION),
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
valueStateIconMappings() {
|
|
62
62
|
return {
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
63
|
+
"Negative": "status-negative",
|
|
64
|
+
"Critical": "status-critical",
|
|
65
|
+
"Positive": "status-positive",
|
|
66
66
|
"Information": "information",
|
|
67
67
|
};
|
|
68
68
|
}
|