@ui5/webcomponents 1.24.2 → 1.24.4
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 +31 -0
- package/LICENSE.txt +201 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Calendar.js +6 -4
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarHeader.js +8 -8
- package/dist/CalendarHeader.js.map +1 -1
- package/dist/ComboBox.d.ts +3 -2
- package/dist/ComboBox.js +5 -1
- 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/DayPicker.js +1 -1
- package/dist/DayPicker.js.map +1 -1
- package/dist/MenuListItem.js +2 -0
- package/dist/MenuListItem.js.map +1 -1
- package/dist/MultiComboBox.d.ts +1 -1
- package/dist/MultiComboBox.js +4 -1
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxItem.d.ts +1 -1
- package/dist/MultiComboBoxItem.js +2 -2
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiInput.d.ts +1 -0
- package/dist/MultiInput.js +19 -1
- package/dist/MultiInput.js.map +1 -1
- package/dist/NavigationMenu.d.ts +1 -1
- package/dist/NavigationMenu.js +1 -0
- package/dist/NavigationMenu.js.map +1 -1
- package/dist/Select.js +1 -0
- package/dist/Select.js.map +1 -1
- package/dist/TabContainer.d.ts +1 -1
- package/dist/TabContainer.js +2 -0
- package/dist/TabContainer.js.map +1 -1
- package/dist/TimeSelectionClocks.js +2 -0
- package/dist/TimeSelectionClocks.js.map +1 -1
- package/dist/TimeSelectionInputs.js +2 -0
- package/dist/TimeSelectionInputs.js.map +1 -1
- package/dist/Tokenizer.js +2 -0
- package/dist/Tokenizer.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Badge.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/GroupHeaderListItem.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/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/PopupStaticAreaStyles.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/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/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.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/WheelSlider.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_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 +6 -6
- package/dist/custom-elements.json +6 -6
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_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/templates/CalendarTemplate.lit.js +1 -1
- package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DatePickerPopoverTemplate.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/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/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.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/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.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/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/PopupStaticAreaStyles.css.js +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.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/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/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.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/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/WheelSlider.css.js +1 -1
- package/dist/generated/themes/WheelSlider.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_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.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/popup-utils/PopoverRegistry.js +2 -1
- package/dist/popup-utils/PopoverRegistry.js.map +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +12 -11
- package/src/Calendar.hbs +2 -2
- package/src/ComboBoxPopover.hbs +1 -0
- package/src/DatePickerPopover.hbs +2 -2
- package/src/DateTimePickerPopover.hbs +2 -2
- package/src/themes/sap_belize/Switch-parameters.css +8 -0
- package/src/themes/sap_belize/parameters-bundle.css +1 -1
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\tconst isFocusingMorePopover = e.relatedTarget === this.tokenizer.staticAreaItem;\n\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !isFocusingMorePopover) {\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.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\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.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":";;;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EACN,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,KAAK,GACL,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AACjF,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAC1D,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,SAAS,EAAE,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,6CAA6C,CAAC;AAkBrD;;;;;;;;;;;;;;;;;;GAkBG;AAmCH,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,KAAK;IAoC7B;QACC,KAAK,EAAE,CAAC;QAER,gCAAgC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,cAAc;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,WAAW,CAAC,CAA+C;QAC1D,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;QAEtG,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACP;QAED,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,SAAS,CAAmC,cAAc,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC1F,IAAI,gBAAgB,EAAE;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;aACb;YAED,OAAO;SACP;QAED,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;YAChD,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClC;QAED,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,SAAS,CAAmC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,CAAa;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAc,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,CAAa;QAC/B,MAAM,qBAAqB,GAAG,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAEhF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAA4B,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;SAClC;IACF,CAAC;IAED,gBAAgB;QACf,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY;QACX,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3C,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,iBAAiB,EAAE;YACtB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,yDAAyD;YAC3F,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC3B;QAED,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;QAED,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;SACjC;IACF,CAAC;IAED,mBAAmB,CAAC,CAAgB;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;YACxC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,aAAa,EAAE;gBACvG,UAAU,CAAC,GAAG,EAAE;oBACf,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,CAAC,EAAE,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,SAAS,EAAE;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAChF;SACD;QAED,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE;YACvD,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;YAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE9D,IAAI,KAAK,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAsB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAE5F,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAmC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,OAAO,SAAS,CAAC;aACjB;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SAClF;QAED,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;SACjC;IACF,CAAC;IAED,WAAW,CAAC,CAAgB;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,cAAc,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7D,+FAA+F;QAC/F,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE;YACpF,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAClD;IACF,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,cAAc,CAAC;QAChF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAG,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,YAAY,CAAC;QAC5E,MAAM,eAAe,GAAG,cAAc,KAAK,CAAC,IAAI,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7D,+FAA+F;QAC/F,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,SAAS,EAAE;YAC3F,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAClD;IACF,CAAC;IAED,gBAAgB,CAAC,CAAgB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9C,IAAI,UAAU,EAAE;YACf,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;SACnD;IACF,CAAC;IAED,WAAW,CAAC,CAAa;QACxB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,CAAC,aAA4B,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE;YACnC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAE/B,iDAAiD;YACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;SAC3C;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,CAAa;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7B,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC1B;IACF,CAAC;IAED,eAAe;QACd,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,UAAU;QACb,OAAO,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAY,iBAAiB,CAAE,CAAC;IACtE,CAAC;IAED,IAAI,gBAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,OAAO;SACP;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,GAAG,IAAI,CAAC,GAAG,mBAAmB,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YACpD,OAAO,EAAE,CAAC;SACV;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,OAAO;QACV,MAAM,eAAe,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/G,OAAO;YACN,OAAO,EAAE;gBACR,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK;gBACtB,qBAAqB,EAAE,IAAI,CAAC,mBAAmB;gBAC/C,iBAAiB,EAAE,eAAe;aAClC;SACD,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,iBAAiB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;YAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;IAC7G,CAAC;CACD,CAAA;AAtUA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACA;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACA;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACC;AAO7B;IADC,IAAI,EAAE;0CACgB;AA/BlB,UAAU;IAlCf,aAAa,CAAC;QACd,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9B,YAAY,EAAE;YACb,GAAG,KAAK,CAAC,YAAY;YACrB,KAAK;YACL,SAAS;YACT,KAAK;YACL,IAAI;SACJ;KACD,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,oBAAoB,CAAC;IAE5B;;;;OAIG;;IACF,KAAK,CAAmC,cAAc,EAAE;QACxD,MAAM,EAAE;YACP;;eAEG;YACH,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC5B;KACD,CAAC;GAEI,UAAU,CA8Uf;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","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\tInput,\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\tconst isFocusingMorePopover = e.relatedTarget === this.tokenizer.staticAreaItem;\n\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !isFocusingMorePopover) {\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)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(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.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\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_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\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 ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && 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"]}
|
package/dist/NavigationMenu.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ListItemClickEventDetail } from "./List.js";
|
|
2
2
|
import Menu from "./Menu.js";
|
|
3
3
|
import MenuItem from "./MenuItem.js";
|
|
4
|
-
import
|
|
4
|
+
import NavigationMenuItem from "./NavigationMenuItem.js";
|
|
5
5
|
/**
|
|
6
6
|
* @class
|
|
7
7
|
*
|
package/dist/NavigationMenu.js
CHANGED
|
@@ -12,6 +12,7 @@ import { isDesktop, } from "@ui5/webcomponents-base/dist/Device.js";
|
|
|
12
12
|
import Menu from "./Menu.js";
|
|
13
13
|
import "./StandardListItem.js";
|
|
14
14
|
import "./MenuItem.js";
|
|
15
|
+
import "./NavigationMenuItem.js";
|
|
15
16
|
import staticAreaMenuTemplate from "./generated/templates/NavigationMenuTemplate.lit.js";
|
|
16
17
|
// Styles
|
|
17
18
|
import staticAreaNavigationMenuCss from "./generated/themes/NavigationMenu.css.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationMenu.js","sourceRoot":"","sources":["../src/NavigationMenu.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EACN,SAAS,GACT,MAAM,wCAAwC,CAAC;AAEhD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAA6B,uBAAuB,CAAC;AACrD,OAAqB,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationMenu.js","sourceRoot":"","sources":["../src/NavigationMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport Menu from \"./Menu.js\";\nimport type { MenuItemClickEventDetail } from \"./Menu.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport MenuItem from \"./MenuItem.js\";\nimport NavigationMenuItem from \"./NavigationMenuItem.js\";\nimport staticAreaMenuTemplate from \"./generated/templates/NavigationMenuTemplate.lit.js\";\n\n// Styles\nimport staticAreaNavigationMenuCss from \"./generated/themes/NavigationMenu.css.js\";\nimport staticAreaMenuCss from \"./generated/themes/Menu.css.js\";\n\nimport {\n\tNAVIGATION_MENU_POPOVER_HIDDEN_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-navigation-menu` component represents a hierarchical menu structure, inherits all the functionality of `ui5-menu`.\n *\n * ### Usage\n *\n * `ui5-navigation-menu` contains `ui5-navigation-menu-item` components.\n * An arbitrary hierarchy structure can be represented by recursively nesting navigation menu items.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NavigationMenu.js\";`\n * @constructor\n * @extends Menu\n * @since 1.22.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-navigation-menu\",\n\trenderer: litRender,\n\tstaticAreaStyles: [staticAreaMenuCss, staticAreaNavigationMenuCss],\n\tstaticAreaTemplate: staticAreaMenuTemplate,\n})\n\nclass NavigationMenu extends Menu {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-navigation-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: Array<NavigationMenuItem>;\n\n\t_isMenu(element: HTMLElement) {\n\t\treturn element.hasAttribute(\"ui5-navigation-menu\");\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tlet item = opener.associatedItem;\n\n\t\t\tif (!item) {\n\t\t\t\t// for nested <a>\n\t\t\t\tconst test = opener.parentElement as any;\n\t\t\t\tif (opener.parentElement) {\n\t\t\t\t\titem = test.associatedItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener);\n\t\t}\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst subItem = item.items[i] as any;\n\n\t\t\tconst clonedItem = item.items[i].cloneNode(true) as any;\n\t\t\tif (subItem.associatedItem) {\n\t\t\t\tclonedItem.associatedItem = subItem.associatedItem;\n\t\t\t}\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\"item\": item,\n\t\t\t\"text\": item.text,\n\t\t}, true, false);\n\n\t\tif (!prevented) {\n\t\t\tlet openerMenuItem = item;\n\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\tdo {\n\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\tmainMenu._popover!.close();\n\t\t}\n\n\t\tthis._prepareSubMenu(item, opener);\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn NavigationMenu.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);\n\t}\n}\n\nNavigationMenu.define();\n\nexport default NavigationMenu;\n"]}
|
package/dist/Select.js
CHANGED
package/dist/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport connectToComponent from \"@ui5/webcomponents-base/dist/connectToComponent.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Option from \"./Option.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\nimport SelectPopoverTemplate from \"./generated/templates/SelectPopoverTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport type SelectMenu from \"./SelectMenu.js\";\nimport type { SelectMenuOptionClick, SelectMenuChange } from \"./SelectMenu.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends UI5Element {\n\tselected: boolean,\n\tdisabled: boolean,\n\ttitle: string,\n\ticon?: string | null,\n\tvalue: string,\n\tadditionalText?: string,\n\tfocused?: boolean,\n\ttext?: Array<Node>,\n\tstableDomRef: string,\n\tdisplayText?: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With SelectMenu (`ui5-select-menu`) and SelectMenuOption (`ui5-select-menu-option`) web components:\n *\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the `menu` property of the Select to reference SelectMenu by its ID.\n * The component gives the possibility to customize the Select's dropdown\n * by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles.\n *\n * **Note:** SelectMenu is a popover and placing it top-level in the HTML page is recommended,\n * because some page styles (for example transitions) can misplace the SelectMenu.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";` (comes with `ui5-select`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstaticAreaTemplate: SelectPopoverTemplate,\n\tstyles: selectCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tOption,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event<SelectChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event<SelectLiveChangeEventDetail>(\"live-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass Select extends UI5Element implements IFormElement {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines a reference (ID or DOM element) of component's menu of options\n\t * as alternative to define the select's dropdown.\n\t *\n\t * **Note:** Usage of `ui5-select-menu` is recommended.\n\t * @default undefined\n\t * @public\n\t * @since 1.17.0\n\t */\n\t@property({ validator: DOMReference })\n\tmenu?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t * The value of the component will be the value of the currently selected `ui5-option`.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the `ui5-select` so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default \"\"\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true })\n\t_text?: string | null;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedIndex!: number;\n\n\t_syncedOptions: Array<IOption>;\n\t_selectedIndexBeforeOpen: number;\n\t_escapePressed: boolean;\n\t_lastSelectedOption: IOption | null;\n\t_typedChars: string;\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tselectedItem?: string | null;\n\tvalueStatePopover?: Popover;\n\n\tselectMenu?: SelectMenu;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-select-menu-option` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t_onMenuClick: (e: CustomEvent<SelectMenuOptionClick>) => void;\n\t_onMenuClose: () => void;\n\t_onMenuOpen: () => void;\n\t_onMenuBeforeOpen: () => void;\n\t_onMenuChange: (e: CustomEvent<SelectMenuChange>) => void;\n\t_attachMenuListeners: (menu: HTMLElement) => void;\n\t_detachMenuListeners: (menu: HTMLElement) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._syncedOptions = [];\n\t\tthis._selectedIndexBeforeOpen = -1;\n\t\tthis._escapePressed = false;\n\t\tthis._lastSelectedOption = null;\n\t\tthis._typedChars = \"\";\n\n\t\tthis._onMenuClick = this.onMenuClick.bind(this);\n\t\tthis._onMenuClose = this.onMenuClose.bind(this);\n\t\tthis._onMenuOpen = this.onMenuOpen.bind(this);\n\t\tthis._onMenuBeforeOpen = this.onMenuBeforeOpen.bind(this);\n\t\tthis._onMenuChange = this.onMenuChange.bind(this);\n\t\tthis._attachMenuListeners = this.attachMenuListeners.bind(this);\n\t\tthis._detachMenuListeners = this.detachMenuListeners.bind(this);\n\n\t\tthis._upgradeProperty(\"value\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\tmenu.value = this.value;\n\t\t\t// To cause invalidation when the menu is used for another Select that could have the same value as the previous.\n\t\t\t// Otherwise, the menu won't re-render.\n\t\t\tmenu.selectId = this.__id;\n\t\t} else {\n\t\t\tthis._syncSelection();\n\t\t}\n\n\t\tthis._enableFormSupport();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis._attachRealDomRefs();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\treturn menu.open;\n\t\t}\n\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\tset value(newValue: string) {\n\t\tconst menu = this._getSelectMenu();\n\t\tconst selectOptions = Array.from(menu ? menu.children : this.children).filter(option => !option.getAttribute(\"disabled\")) as Array<IOption>;\n\n\t\tselectOptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.selectOptions.find(option => option.selected);\n\t}\n\n\tonMenuClick(e: CustomEvent<SelectMenuOptionClick>) {\n\t\tconst optionIndex: number = e.detail.optionIndex;\n\t\tthis._handleSelectionChange(optionIndex);\n\t}\n\n\tonMenuBeforeOpen() {\n\t\tthis._beforeOpen();\n\t}\n\n\tonMenuOpen() {\n\t\tthis._afterOpen();\n\t}\n\n\tonMenuClose() {\n\t\tthis._afterClose();\n\t}\n\n\tonMenuChange(e: CustomEvent<SelectMenuChange>) {\n\t\tthis._text = e.detail.text;\n\t\tthis._selectedIndex = e.detail.selectedIndex;\n\t}\n\n\t_toggleSelectMenu() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (!menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.open) {\n\t\t\tmenu.close();\n\t\t} else {\n\t\t\tmenu.showAt(this, this.offsetWidth);\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._detachMenuListeners(menu);\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._toggleSelectMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis.responsivePopover.showAt(this);\n\t\t}\n\t}\n\n\tasync _attachRealDomRefs() {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tthis.options.forEach(option => {\n\t\t\toption._getRealDomRef = () => this.responsivePopover.querySelector<HTMLElement>(`*[data-ui5-stable=${option.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1;\n\t\tconst options = this._filteredItems;\n\t\tconst syncOpts = options.map((opt, index) => {\n\t\t\tif (opt.selected) {\n\t\t\t\tlastSelectedOptionIndex = index;\n\t\t\t}\n\t\t\tif (firstEnabledOptionIndex === -1) {\n\t\t\t\tfirstEnabledOptionIndex = index;\n\t\t\t}\n\n\t\t\topt.selected = false;\n\t\t\topt.focused = false;\n\n\t\t\treturn {\n\t\t\t\tselected: false,\n\t\t\t\tfocused: false,\n\t\t\t\ticon: opt.icon,\n\t\t\t\tvalue: opt.value,\n\t\t\t\ttextContent: opt.textContent,\n\t\t\t\ttitle: opt.title,\n\t\t\t\tadditionalText: opt.additionalText,\n\t\t\t\tid: opt._id,\n\t\t\t\tstableDomRef: opt.stableDomRef,\n\t\t\t};\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tsyncOpts[lastSelectedOptionIndex].selected = true;\n\t\t\tsyncOpts[lastSelectedOptionIndex].focused = true;\n\t\t\toptions[lastSelectedOptionIndex].selected = true;\n\t\t\toptions[lastSelectedOptionIndex].focused = true;\n\t\t\tthis._text = syncOpts[lastSelectedOptionIndex].textContent;\n\t\t\tthis._selectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\tthis._text = \"\";\n\t\t\tthis._selectedIndex = -1;\n\t\t\tif (syncOpts[firstEnabledOptionIndex]) {\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].selected = true;\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].focused = true;\n\t\t\t\toptions[firstEnabledOptionIndex].selected = true;\n\t\t\t\toptions[firstEnabledOptionIndex].focused = true;\n\t\t\t\tthis._selectedIndex = firstEnabledOptionIndex;\n\t\t\t\tthis._text = options[firstEnabledOptionIndex].textContent;\n\t\t\t}\n\t\t}\n\n\t\tthis._syncedOptions = syncOpts as Array<IOption>;\n\t}\n\n\t_getSelectMenu(): SelectMenu | undefined {\n\t\treturn connectToComponent({\n\t\t\thost: this,\n\t\t\tpropName: \"menu\",\n\t\t\tonConnect: this._attachMenuListeners,\n\t\t\tonDisconnect: this._detachMenuListeners,\n\t\t}) as SelectMenu;\n\t}\n\n\tattachMenuListeners(menu: HTMLElement) {\n\t\tmenu.addEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.addEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.addEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\tdetachMenuListeners(menu: HTMLElement) {\n\t\tmenu.removeEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.removeEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.removeEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tconst selectElement = (element as Select);\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\tnativeInput.value = selectElement.value;\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tconst menu = this._getSelectMenu();\n\t\t\tif (menu) {\n\t\t\t\tmenu.close(false, false, true /* preventFocusRestore */);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.selectOptions.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.selectOptions.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => (option.displayText || option.textContent || \"\").toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.selectOptions.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getSelectedItemIndex(item: ListItemBase) {\n\t\treturn this.selectOptions.findIndex(option => `${option._id}-li` === item.id);\n\t}\n\n\t_select(index: number) {\n\t\tthis.selectOptions[this._selectedIndex].selected = false;\n\n\t\tif (this._selectedIndex !== index) {\n\t\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: this.selectOptions[index] });\n\t\t}\n\n\t\tthis._selectedIndex = index;\n\t\tthis.selectOptions[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item;\n\t\tconst selectedItemIndex = this._getSelectedItemIndex(item);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.selectOptions;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis._selectedIndex = newIndex;\n\n\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn this._selectedIndex === (menu.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t\t}\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireEvent<CustomEvent>(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.selectOptions[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.selectOptions[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t\t}\n\t\tthis.fireEvent<CustomEvent>(\"close\");\n\t}\n\n\tget selectOptions(): Array<IOption> {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn menu.options;\n\t\t}\n\t\treturn this._filteredItems;\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireEvent<SelectChangeEventDetail>(\"change\", { selectedOption }, true);\n\n\t\t// Angular two way data binding\n\t\tthis.selectedItem = selectedOption.textContent;\n\t\tthis.fireEvent(\"selected-item-changed\");\n\n\t\tif (changePrevented) {\n\t\t\tthis.selectedItem = this._lastSelectedOption!.textContent;\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.selectOptions[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.opened) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this._filteredItems.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._filteredItems.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessageText.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _filteredItems() {\n\t\treturn this.options.filter(option => !option.disabled);\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.selectOptions.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\tthis.valueStatePopover = await this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.showAt(this);\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && this.valueStatePopover.close();\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n\n\tstatic async onDefine() {\n\t\tSelect.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n\tIOption,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport connectToComponent from \"@ui5/webcomponents-base/dist/connectToComponent.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Option from \"./Option.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\nimport SelectPopoverTemplate from \"./generated/templates/SelectPopoverTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport type SelectMenu from \"./SelectMenu.js\";\nimport type { SelectMenuOptionClick, SelectMenuChange } from \"./SelectMenu.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends UI5Element {\n\tselected: boolean,\n\tdisabled: boolean,\n\ttitle: string,\n\ticon?: string | null,\n\tvalue: string,\n\tadditionalText?: string,\n\tfocused?: boolean,\n\ttext?: Array<Node>,\n\tstableDomRef: string,\n\tdisplayText?: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With SelectMenu (`ui5-select-menu`) and SelectMenuOption (`ui5-select-menu-option`) web components:\n *\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the `menu` property of the Select to reference SelectMenu by its ID.\n * The component gives the possibility to customize the Select's dropdown\n * by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles.\n *\n * **Note:** SelectMenu is a popover and placing it top-level in the HTML page is recommended,\n * because some page styles (for example transitions) can misplace the SelectMenu.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";` (comes with `ui5-select`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstaticAreaTemplate: SelectPopoverTemplate,\n\tstyles: selectCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tOption,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event<SelectChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event<SelectLiveChangeEventDetail>(\"live-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass Select extends UI5Element implements IFormElement {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines a reference (ID or DOM element) of component's menu of options\n\t * as alternative to define the select's dropdown.\n\t *\n\t * **Note:** Usage of `ui5-select-menu` is recommended.\n\t * @default undefined\n\t * @public\n\t * @since 1.17.0\n\t */\n\t@property({ validator: DOMReference })\n\tmenu?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t * The value of the component will be the value of the currently selected `ui5-option`.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the `ui5-select` so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default \"\"\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true })\n\t_text?: string | null;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedIndex!: number;\n\n\t_syncedOptions: Array<IOption>;\n\t_selectedIndexBeforeOpen: number;\n\t_escapePressed: boolean;\n\t_lastSelectedOption: IOption | null;\n\t_typedChars: string;\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tselectedItem?: string | null;\n\tvalueStatePopover?: Popover;\n\n\tselectMenu?: SelectMenu;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-select-menu-option` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t_onMenuClick: (e: CustomEvent<SelectMenuOptionClick>) => void;\n\t_onMenuClose: () => void;\n\t_onMenuOpen: () => void;\n\t_onMenuBeforeOpen: () => void;\n\t_onMenuChange: (e: CustomEvent<SelectMenuChange>) => void;\n\t_attachMenuListeners: (menu: HTMLElement) => void;\n\t_detachMenuListeners: (menu: HTMLElement) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._syncedOptions = [];\n\t\tthis._selectedIndexBeforeOpen = -1;\n\t\tthis._escapePressed = false;\n\t\tthis._lastSelectedOption = null;\n\t\tthis._typedChars = \"\";\n\n\t\tthis._onMenuClick = this.onMenuClick.bind(this);\n\t\tthis._onMenuClose = this.onMenuClose.bind(this);\n\t\tthis._onMenuOpen = this.onMenuOpen.bind(this);\n\t\tthis._onMenuBeforeOpen = this.onMenuBeforeOpen.bind(this);\n\t\tthis._onMenuChange = this.onMenuChange.bind(this);\n\t\tthis._attachMenuListeners = this.attachMenuListeners.bind(this);\n\t\tthis._detachMenuListeners = this.detachMenuListeners.bind(this);\n\n\t\tthis._upgradeProperty(\"value\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\tmenu.value = this.value;\n\t\t\t// To cause invalidation when the menu is used for another Select that could have the same value as the previous.\n\t\t\t// Otherwise, the menu won't re-render.\n\t\t\tmenu.selectId = this.__id;\n\t\t} else {\n\t\t\tthis._syncSelection();\n\t\t}\n\n\t\tthis._enableFormSupport();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis._attachRealDomRefs();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\treturn menu.open;\n\t\t}\n\n\t\treturn !!this.responsivePopover && this.responsivePopover.opened;\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\tset value(newValue: string) {\n\t\tconst menu = this._getSelectMenu();\n\t\tconst selectOptions = Array.from(menu ? menu.children : this.children).filter(option => !option.getAttribute(\"disabled\")) as Array<IOption>;\n\n\t\tselectOptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.selectOptions.find(option => option.selected);\n\t}\n\n\tonMenuClick(e: CustomEvent<SelectMenuOptionClick>) {\n\t\tconst optionIndex: number = e.detail.optionIndex;\n\t\tthis._handleSelectionChange(optionIndex);\n\t}\n\n\tonMenuBeforeOpen() {\n\t\tthis._beforeOpen();\n\t}\n\n\tonMenuOpen() {\n\t\tthis._afterOpen();\n\t}\n\n\tonMenuClose() {\n\t\tthis._afterClose();\n\t}\n\n\tonMenuChange(e: CustomEvent<SelectMenuChange>) {\n\t\tthis._text = e.detail.text;\n\t\tthis._selectedIndex = e.detail.selectedIndex;\n\t}\n\n\t_toggleSelectMenu() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (!menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.open) {\n\t\t\tmenu.close();\n\t\t} else {\n\t\t\tmenu.showAt(this, this.offsetWidth);\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._detachMenuListeners(menu);\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._toggleSelectMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.responsivePopover = await this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis.responsivePopover.showAt(this);\n\t\t}\n\t}\n\n\tasync _attachRealDomRefs() {\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tthis.options.forEach(option => {\n\t\t\toption._getRealDomRef = () => this.responsivePopover.querySelector<HTMLElement>(`*[data-ui5-stable=${option.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1;\n\t\tconst options = this._filteredItems;\n\t\tconst syncOpts = options.map((opt, index) => {\n\t\t\tif (opt.selected) {\n\t\t\t\tlastSelectedOptionIndex = index;\n\t\t\t}\n\t\t\tif (firstEnabledOptionIndex === -1) {\n\t\t\t\tfirstEnabledOptionIndex = index;\n\t\t\t}\n\n\t\t\topt.selected = false;\n\t\t\topt.focused = false;\n\n\t\t\treturn {\n\t\t\t\tselected: false,\n\t\t\t\tfocused: false,\n\t\t\t\ticon: opt.icon,\n\t\t\t\tvalue: opt.value,\n\t\t\t\ttextContent: opt.textContent,\n\t\t\t\ttitle: opt.title,\n\t\t\t\tadditionalText: opt.additionalText,\n\t\t\t\tid: opt._id,\n\t\t\t\tstableDomRef: opt.stableDomRef,\n\t\t\t};\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tsyncOpts[lastSelectedOptionIndex].selected = true;\n\t\t\tsyncOpts[lastSelectedOptionIndex].focused = true;\n\t\t\toptions[lastSelectedOptionIndex].selected = true;\n\t\t\toptions[lastSelectedOptionIndex].focused = true;\n\t\t\tthis._text = syncOpts[lastSelectedOptionIndex].textContent;\n\t\t\tthis._selectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\tthis._text = \"\";\n\t\t\tthis._selectedIndex = -1;\n\t\t\tif (syncOpts[firstEnabledOptionIndex]) {\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].selected = true;\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].focused = true;\n\t\t\t\toptions[firstEnabledOptionIndex].selected = true;\n\t\t\t\toptions[firstEnabledOptionIndex].focused = true;\n\t\t\t\tthis._selectedIndex = firstEnabledOptionIndex;\n\t\t\t\tthis._text = options[firstEnabledOptionIndex].textContent;\n\t\t\t}\n\t\t}\n\n\t\tthis._syncedOptions = syncOpts as Array<IOption>;\n\t}\n\n\t_getSelectMenu(): SelectMenu | undefined {\n\t\treturn connectToComponent({\n\t\t\thost: this,\n\t\t\tpropName: \"menu\",\n\t\t\tonConnect: this._attachMenuListeners,\n\t\t\tonDisconnect: this._detachMenuListeners,\n\t\t}) as SelectMenu;\n\t}\n\n\tattachMenuListeners(menu: HTMLElement) {\n\t\tmenu.addEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.addEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.addEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\tdetachMenuListeners(menu: HTMLElement) {\n\t\tmenu.removeEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.removeEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.removeEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tconst selectElement = (element as Select);\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\tnativeInput.value = selectElement.value;\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tconst menu = this._getSelectMenu();\n\t\t\tif (menu) {\n\t\t\t\tmenu.close(false, false, true /* preventFocusRestore */);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.selectOptions.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t\tthis._scrollSelectedItem();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.selectOptions.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => (option.displayText || option.textContent || \"\").toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.selectOptions.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getSelectedItemIndex(item: ListItemBase) {\n\t\treturn this.selectOptions.findIndex(option => `${option._id}-li` === item.id);\n\t}\n\n\t_select(index: number) {\n\t\tthis.selectOptions[this._selectedIndex].selected = false;\n\n\t\tif (this._selectedIndex !== index) {\n\t\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: this.selectOptions[index] });\n\t\t}\n\n\t\tthis._selectedIndex = index;\n\t\tthis.selectOptions[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item;\n\t\tconst selectedItemIndex = this._getSelectedItemIndex(item);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.selectOptions;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis._selectedIndex = newIndex;\n\n\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn this._selectedIndex === (menu.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t\t}\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireEvent<CustomEvent>(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.selectOptions[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.selectOptions[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t\t}\n\t\tthis.fireEvent<CustomEvent>(\"close\");\n\t}\n\n\tget selectOptions(): Array<IOption> {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn menu.options;\n\t\t}\n\t\treturn this._filteredItems;\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireEvent<SelectChangeEventDetail>(\"change\", { selectedOption }, true);\n\n\t\t// Angular two way data binding\n\t\tthis.selectedItem = selectedOption.textContent;\n\t\tthis.fireEvent(\"selected-item-changed\");\n\n\t\tif (changePrevented) {\n\t\t\tthis.selectedItem = this._lastSelectedOption!.textContent;\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.selectOptions[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.opened) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this._filteredItems.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._filteredItems.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessageText.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _filteredItems() {\n\t\treturn this.options.filter(option => !option.disabled);\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.selectOptions.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\tthis.valueStatePopover = await this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.showAt(this);\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && this.valueStatePopover.close();\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n\n\tstatic async onDefine() {\n\t\tSelect.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n\tIOption,\n};\n"]}
|
package/dist/TabContainer.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import Button from "./Button.js";
|
|
|
10
10
|
import DropIndicator from "./DropIndicator.js";
|
|
11
11
|
import type Tab from "./Tab.js";
|
|
12
12
|
import type { ListItemClickEventDetail, ListMoveEventDetail } from "./List.js";
|
|
13
|
-
import
|
|
13
|
+
import CustomListItem from "./CustomListItem.js";
|
|
14
14
|
import ResponsivePopover from "./ResponsivePopover.js";
|
|
15
15
|
import TabContainerTabsPlacement from "./types/TabContainerTabsPlacement.js";
|
|
16
16
|
import SemanticColor from "./types/SemanticColor.js";
|
package/dist/TabContainer.js
CHANGED
|
@@ -36,6 +36,7 @@ import Button from "./Button.js";
|
|
|
36
36
|
import Icon from "./Icon.js";
|
|
37
37
|
import List from "./List.js";
|
|
38
38
|
import DropIndicator from "./DropIndicator.js";
|
|
39
|
+
import CustomListItem from "./CustomListItem.js";
|
|
39
40
|
import ResponsivePopover from "./ResponsivePopover.js";
|
|
40
41
|
import TabContainerTabsPlacement from "./types/TabContainerTabsPlacement.js";
|
|
41
42
|
import SemanticColor from "./types/SemanticColor.js";
|
|
@@ -1072,6 +1073,7 @@ TabContainer = TabContainer_1 = __decorate([
|
|
|
1072
1073
|
List,
|
|
1073
1074
|
ResponsivePopover,
|
|
1074
1075
|
DropIndicator,
|
|
1076
|
+
CustomListItem,
|
|
1075
1077
|
],
|
|
1076
1078
|
})
|
|
1077
1079
|
/**
|