@ui5/webcomponents 2.17.0-rc.1 → 2.17.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Bar.d.ts +16 -1
- package/dist/Bar.js +14 -1
- package/dist/Bar.js.map +1 -1
- package/dist/BarTemplate.js +1 -1
- package/dist/BarTemplate.js.map +1 -1
- package/dist/ColorPicker.d.ts +2 -0
- package/dist/ColorPicker.js +7 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ColorPickerTemplate.js +2 -2
- package/dist/ColorPickerTemplate.js.map +1 -1
- package/dist/ComboBox.d.ts +0 -2
- package/dist/ComboBox.js +0 -4
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxPopoverTemplate.js +2 -1
- package/dist/ComboBoxPopoverTemplate.js.map +1 -1
- package/dist/DatePicker.d.ts +1 -0
- package/dist/DatePicker.js +5 -1
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerInputTemplate.js +1 -1
- package/dist/DatePickerInputTemplate.js.map +1 -1
- package/dist/Input.d.ts +0 -2
- package/dist/Input.js +0 -3
- package/dist/Input.js.map +1 -1
- package/dist/InputPopoverTemplate.js +2 -1
- package/dist/InputPopoverTemplate.js.map +1 -1
- package/dist/MenuItem.d.ts +0 -2
- package/dist/MenuItem.js +0 -3
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuItemTemplate.js +2 -1
- package/dist/MenuItemTemplate.js.map +1 -1
- package/dist/MultiComboBox.d.ts +0 -2
- package/dist/MultiComboBox.js +0 -3
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxPopoverTemplate.js +2 -1
- package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
- package/dist/Popover.d.ts +19 -6
- package/dist/Popover.js +82 -50
- package/dist/Popover.js.map +1 -1
- package/dist/TextArea.d.ts +0 -2
- package/dist/TextArea.js +0 -3
- package/dist/TextArea.js.map +1 -1
- package/dist/TextAreaPopoverTemplate.js +2 -1
- package/dist/TextAreaPopoverTemplate.js.map +1 -1
- package/dist/TimePicker.d.ts +1 -0
- package/dist/TimePicker.js +1 -0
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerTemplate.js +1 -1
- package/dist/TimePickerTemplate.js.map +1 -1
- package/dist/ToolbarButton.d.ts +24 -0
- package/dist/ToolbarButton.js +32 -0
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/ToolbarButtonTemplate.js +1 -1
- package/dist/ToolbarButtonTemplate.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ButtonBadge.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/ComboBoxItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DatePickerPopover.css +1 -1
- package/dist/css/themes/DateRangePicker.css +1 -1
- package/dist/css/themes/DateTimePicker.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/DraggableElement.css +1 -1
- package/dist/css/themes/DropIndicator.css +1 -1
- package/dist/css/themes/DynamicDateRange.css +1 -1
- package/dist/css/themes/DynamicDateRangePopover.css +1 -1
- package/dist/css/themes/ExpandableText.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.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/Label.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/ListItemAdditionalText.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MenuSeparator.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/MultiComboBoxItem.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SliderTooltip.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Suggestions.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/TabSeparatorInStrip.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableGrowing.css +1 -1
- package/dist/css/themes/TableHeaderCell.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowActionBase.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/TimePickerClock.css +1 -1
- package/dist/css/themes/TimeSelectionClocks.css +1 -1
- package/dist/css/themes/TimeSelectionInputs.css +1 -1
- package/dist/css/themes/Title.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarButton.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/ToolbarSeparator.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/ValueStateVariables.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/YearRangePicker.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_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +92 -0
- package/dist/custom-elements.json +89 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/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_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
- package/dist/generated/i18n/i18n-defaults.js +4 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
- package/dist/generated/themes/ButtonBadge.css.js +1 -1
- package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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/ComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +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/DatePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DateRangePicker.css.d.ts +1 -1
- package/dist/generated/themes/DateRangePicker.css.js +1 -1
- package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePicker.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePicker.css.js +1 -1
- package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.d.ts +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.d.ts +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.d.ts +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/DraggableElement.css.d.ts +1 -1
- package/dist/generated/themes/DraggableElement.css.js +1 -1
- package/dist/generated/themes/DraggableElement.css.js.map +1 -1
- package/dist/generated/themes/DropIndicator.css.d.ts +1 -1
- package/dist/generated/themes/DropIndicator.css.js +1 -1
- package/dist/generated/themes/DropIndicator.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js +1 -1
- package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
- package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
- package/dist/generated/themes/ExpandableText.css.d.ts +1 -1
- package/dist/generated/themes/ExpandableText.css.js +1 -1
- package/dist/generated/themes/ExpandableText.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.d.ts +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/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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/Label.css.d.ts +1 -1
- package/dist/generated/themes/Label.css.js +1 -1
- package/dist/generated/themes/Label.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +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.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemAdditionalText.css.d.ts +1 -1
- package/dist/generated/themes/ListItemAdditionalText.css.js +1 -1
- package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.d.ts +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/ListItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.d.ts +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/MenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MenuSeparator.css.d.ts +1 -1
- package/dist/generated/themes/MenuSeparator.css.js +1 -1
- package/dist/generated/themes/MenuSeparator.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +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.d.ts +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.d.ts +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/MultiComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +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.d.ts +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/OptionBase.css.d.ts +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.d.ts +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.d.ts +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.d.ts +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.d.ts +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/SliderBase.css.d.ts +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/SliderTooltip.css.d.ts +1 -1
- package/dist/generated/themes/SliderTooltip.css.js +1 -1
- package/dist/generated/themes/SliderTooltip.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +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.d.ts +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/SuggestionItem.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Suggestions.css.d.ts +1 -1
- package/dist/generated/themes/Suggestions.css.js +1 -1
- package/dist/generated/themes/Suggestions.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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/TabSeparatorInStrip.css.d.ts +1 -1
- package/dist/generated/themes/TabSeparatorInStrip.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
- package/dist/generated/themes/Table.css.d.ts +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.d.ts +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/TableCellBase.css.d.ts +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
- package/dist/generated/themes/TableGrowing.css.js +1 -1
- package/dist/generated/themes/TableGrowing.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js +1 -1
- package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +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/TableRowActionBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.d.ts +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +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.d.ts +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/TimePickerClock.css.d.ts +1 -1
- package/dist/generated/themes/TimePickerClock.css.js +1 -1
- package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.d.ts +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
- package/dist/generated/themes/TimeSelectionInputs.css.d.ts +1 -1
- package/dist/generated/themes/TimeSelectionInputs.css.js +1 -1
- package/dist/generated/themes/TimeSelectionInputs.css.js.map +1 -1
- package/dist/generated/themes/Title.css.d.ts +1 -1
- package/dist/generated/themes/Title.css.js +1 -1
- package/dist/generated/themes/Title.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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/ToolbarButton.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarButton.css.js +1 -1
- package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.d.ts +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/ToolbarSeparator.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.d.ts +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.d.ts +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/ValueStateVariables.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js +1 -1
- package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.d.ts +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/YearRangePicker.css.d.ts +1 -1
- package/dist/generated/themes/YearRangePicker.css.js +1 -1
- package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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_hcb/parameters-bundle.css.d.ts +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_hcw/parameters-bundle.css.d.ts +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/vscode.html-custom-data.json +19 -4
- package/dist/web-types.json +51 -5
- package/package.json +9 -9
- package/src/BarTemplate.tsx +1 -1
- package/src/ColorPickerTemplate.tsx +10 -2
- package/src/ComboBoxPopoverTemplate.tsx +2 -1
- package/src/DatePickerInputTemplate.tsx +1 -0
- package/src/InputPopoverTemplate.tsx +2 -1
- package/src/MenuItemTemplate.tsx +2 -1
- package/src/MultiComboBoxPopoverTemplate.tsx +2 -1
- package/src/TextAreaPopoverTemplate.tsx +2 -1
- package/src/TimePickerTemplate.tsx +1 -0
- package/src/ToolbarButtonTemplate.tsx +1 -1
- package/src/i18n/messagebundle.properties +11 -2
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/themes/MenuItem.css +0 -5
- package/src/themes/Popover.css +4 -4
- package/src/themes/SliderBase.css +1 -1
- package/src/themes/base/Input-parameters.css +1 -1
- package/src/themes/base/SliderBase-parameters.css +4 -3
- package/src/themes/base/rtl-parameters.css +0 -2
- package/src/themes/sap_horizon_hcb/SliderBase-parameters.css +1 -2
- package/src/themes/sap_horizon_hcw/SliderBase-parameters.css +1 -2
package/dist/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable spaced-comment */\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type {\n\tAriaAutoComplete,\n\tAriaRole,\n\tAriaHasPopup,\n\tClassMap,\n} from \"@ui5/webcomponents-base/dist/types.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n// @ts-expect-error\nimport encodeXML from \"@ui5/webcomponents-base/dist/sap/base/security/encodeXML.js\";\n\nimport {\n\tisPhone,\n\tisAndroid,\n\tisMac,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisSpace,\n\tisEnter,\n\tisBackSpace,\n\tisDelete,\n\tisEscape,\n\tisTabNext,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisCtrlAltF8,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { attachListeners } from \"@ui5/webcomponents-base/dist/util/valueStateNavigation.js\";\nimport arraysAreEqual from \"@ui5/webcomponents-base/dist/util/arraysAreEqual.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tregisterUI5Element,\n\tderegisterUI5Element,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { getCaretPosition, setCaretPosition } from \"@ui5/webcomponents-base/dist/util/Caret.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport type SuggestionItem from \"./SuggestionItem.js\";\nimport type { SuggestionComponent } from \"./features/InputSuggestions.js\";\nimport type InputSuggestions from \"./features/InputSuggestions.js\";\nimport InputType from \"./types/InputType.js\";\nimport type Popover from \"./Popover.js\";\nimport type Icon from \"./Icon.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport type PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\n// Templates\nimport InputTemplate from \"./InputTemplate.js\";\nimport { StartsWith } from \"./Filters.js\";\n\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\tVALUE_STATE_LINK,\n\tVALUE_STATE_LINKS,\n\tVALUE_STATE_LINK_MAC,\n\tVALUE_STATE_LINKS_MAC,\n\tINPUT_SUGGESTIONS,\n\tINPUT_SUGGESTIONS_TITLE,\n\tINPUT_SUGGESTIONS_ONE_HIT,\n\tINPUT_SUGGESTIONS_MORE_HITS,\n\tINPUT_SUGGESTIONS_NO_HIT,\n\tINPUT_CLEAR_ICON_ACC_NAME,\n\tINPUT_AVALIABLE_VALUES,\n\tINPUT_SUGGESTIONS_OK_BUTTON,\n\tINPUT_SUGGESTIONS_CANCEL_BUTTON,\n\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport inputStyles from \"./generated/themes/Input.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"./List.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type InputKeyHint from \"./types/InputKeyHint.js\";\nimport type InputComposition from \"./features/InputComposition.js\";\n\n/**\n * Interface for components that represent a suggestion item, usable in `ui5-input`\n * @public\n */\ninterface IInputSuggestionItem extends UI5Element {\n\tfocused: boolean;\n\tadditionalText?: string;\n\titems?: IInputSuggestionItem[];\n}\n\ninterface IInputSuggestionItemSelectable extends IInputSuggestionItem {\n\ttext?: string;\n\tselected: boolean;\n}\n\ntype NativeInputAttributes = {\n\tmin?: number,\n\tmax?: number,\n\tstep?: number\n}\n\ntype InputAccInfo = {\n\tariaRoledescription?: string,\n\tariaDescribedBy?: string,\n\tariaHasPopup?: AriaHasPopup,\n\tariaAutoComplete?: AriaAutoComplete,\n\trole?: AriaRole,\n\tariaControls?: string,\n\tariaRequired?: boolean,\n\tariaExpanded?: boolean,\n\tariaDescription?: string,\n\tariaLabel?: string,\n\tariaInvalid?: boolean,\n}\n\n// all sementic events\nenum INPUT_EVENTS {\n\tCHANGE = \"change\",\n\tINPUT = \"input\",\n\tSELECTION_CHANGE = \"selection-change\",\n}\n\n// all user interactions\nenum INPUT_ACTIONS {\n\tACTION_ENTER = \"enter\",\n\tACTION_USER_INPUT = \"input\",\n}\n\ntype InputEventDetail = {\n\tinputType: string;\n}\n\ntype InputSelectionChangeEventDetail = {\n\titem: IInputSuggestionItem | null;\n}\n\ntype InputSuggestionScrollEventDetail = {\n\tscrollTop: number;\n\tscrollContainer: HTMLElement;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-input` component allows the user to enter and edit text or numeric values in one line.\n *\n * Additionally, you can provide `suggestionItems`,\n * that are displayed in a popover right under the input.\n *\n * The text field can be editable or read-only (`readonly` property),\n * and it can be enabled or disabled (`disabled` property).\n * To visualize semantic states, such as \"Negative\" or \"Critical\", the `valueState` property is provided.\n * When the user makes changes to the text, the change event is fired,\n * which enables you to react on any text change.\n *\n * ### Keyboard Handling\n * The `ui5-input` provides the following keyboard shortcuts:\n *\n * - [Escape] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.\n * - [Enter] or [Return] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.\n * - [Down] - Focuses the next matching item in the suggestion list. Selection-change event is fired.\n * - [Up] - Focuses the previous matching item in the suggestion list. Selection-change event is fired.\n * - [Home] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.\n * - [End] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.\n * - [Page Up] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.\n * - [Page Down] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.\n * - [Ctrl]+[Alt]+[F8] or [Command]+[Option]+[F8] - Focuses the first link in the value state message, if available. Pressing [Tab] moves the focus to the next link in the value state message, or closes the value state message if there are no more links.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Input.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the root DOM element of the Input component\n * @csspart input - Used to style the native input element\n * @csspart clear-icon - Used to style the clear icon, which can be pressed to clear user input text\n */\n@customElement({\n\ttag: \"ui5-input\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: InputTemplate,\n\tstyles: [\n\t\tinputStyles,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSuggestionsCss,\n\t],\n})\n\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the component changes at each keystroke,\n * and when a suggestion item has been selected.\n * @public\n */\n@event(\"input\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired when some text has been selected.\n *\n * @since 2.0.0\n * @public\n */\n@event(\"select\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\n * as a preview, before the final selection.\n * @param {HTMLElement} item The previewed suggestion item.\n * @public\n * @since 2.0.0\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fires when a suggestion item is autocompleted in the input.\n *\n * @private\n */\n@event(\"type-ahead\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user scrolls the suggestion popover.\n * @param {Integer} scrollTop The current scroll position.\n * @param {HTMLElement} scrollContainer The scroll container.\n * @protected\n * @since 1.0.0-rc.8\n */\n@event(\"suggestion-scroll\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the suggestions picker is open.\n * @public\n * @since 2.0.0\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the suggestions picker is closed.\n * @public\n * @since 2.0.0\n */\n@event(\"close\")\n\nclass Input extends UI5Element implements SuggestionComponent, IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": InputEventDetail,\n\t\t\"input\": InputEventDetail,\n\t\t\"select\": void,\n\t\t\"selection-change\": InputSelectionChangeEventDetail,\n\t\t\"type-ahead\": void,\n\t\t\"suggestion-scroll\": InputSuggestionScrollEventDetail,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t}\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines if characters within the suggestions are to be highlighted\n\t * in case the input value matches parts of the suggestions text.\n\t *\n\t * **Note:** takes effect when `showSuggestions` is set to `true`\n\t * @default false\n\t * @private\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thighlight = false;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\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 * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.3\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines whether the value will be autcompleted to match an item\n\t * @default false\n\t * @public\n\t * @since 1.4.0\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead = false;\n\n\t/**\n\t * Defines the HTML type of the component.\n\t *\n\t * **Notes:**\n\t *\n\t * - The particular effect of this property differs depending on the browser\n\t * and the current language settings, especially for type `Number`.\n\t * - The property is mostly intended to be used with touch devices\n\t * that use different soft keyboard layouts depending on the given input type.\n\t * @default \"Text\"\n\t * @public\n\t */\n\t@property()\n\ttype: `${InputType}` = \"Text\";\n\n\t/**\n\t * Defines the value of the component.\n\t *\n\t * **Note:** The property is updated upon typing.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Defines the inner stored value of the component.\n\t *\n\t * **Note:** The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_innerValue = \"\";\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines whether the component should show suggestions, if such are present.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSuggestions = false;\n\n\t/**\n\t * Sets the maximum number of characters available in the input field.\n\t *\n\t * **Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n\t * @default undefined\n\t * @since 1.0.0-rc.5\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxlength?: number;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines whether the clear icon of the input will be shown.\n\t * @default false\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon = false;\n\n\t/**\n\t * Defines whether the suggestions picker is open.\n\t * The picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\n\t * The picker will close automatically and `close` event will be fired if the input is not in the viewport.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the clear icon is visible.\n\t * @default false\n\t * @private\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\t_effectiveShowClearIcon = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * Used to define enterkeyhint of the inner input.\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint\n\t *\n\t * @private\n\t */\n\t@property()\n\thint?: `${InputKeyHint}`;\n\n\t@property({ type: Boolean })\n\tvalueStateOpen = false;\n\n\t@property({ type: Object })\n\t_inputAccInfo: InputAccInfo = {};\n\n\t@property({ type: Object })\n\t_nativeInputAttributes: NativeInputAttributes = {};\n\n\t@property({ type: Number })\n\t_inputWidth?: number;\n\n\t@property({ type: Number })\n\t_listWidth?: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_inputIconFocused = false;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedLabelsTexts?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the accessibleNameRef elements\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_accessibleLabelsRefTexts?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\tSuggestions?: InputSuggestions;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_linksListenersArray: Array<(args: any) => void> = [];\n\n\t/**\n\t * Indicates whether IME composition is currently active\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isComposing = false;\n\n\t/**\n\t * Defines the suggestion items.\n\t *\n\t * **Note:** The suggestions would be displayed only if the `showSuggestions`\n\t * property is set to `true`.\n\t *\n\t * **Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tsuggestionItems!: Array<IInputSuggestionItem>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\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`, `Critical` or `Negative` 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 * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\thasSuggestionItemSelected: boolean;\n\tvalueBeforeItemSelection: string;\n\tvalueBeforeSelectionStart: string;\n\tpreviousValue: string;\n\tfirstRendering: boolean;\n\ttypedInValue: string;\n\tlastConfirmedValue: string\n\tisTyping: boolean\n\t_handleResizeBound: ResizeObserverCallback;\n\t_keepInnerValue: boolean;\n\t_shouldAutocomplete?: boolean;\n\t_enterKeyDown?: boolean;\n\t_isKeyNavigation?: boolean;\n\t_indexOfSelectedItem: number;\n\t_selectedText?: string;\n\t_clearIconClicked?: boolean;\n\t_focusedAfterClear: boolean;\n\t_changeToBeFired?: boolean; // used to wait change event firing after suggestion item selection\n\t_performTextSelection?: boolean;\n\t_isLatestValueFromSuggestions: boolean;\n\t_isChangeTriggeredBySuggestion: boolean;\n\t_valueStateLinks: Array<HTMLElement>;\n\t_composition?: InputComposition;\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\tstatic composition: typeof InputComposition;\n\n\t/**\n\t * Indicates whether link navigation is being handled.\n\t * @default false\n\t * @private\n\t * @since 2.11.0\n\t */\n\t_handleLinkNavigation: boolean = false;\n\n\tget formValidityMessage() {\n\t\treturn Input.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget _effectiveShowSuggestions() {\n\t\treturn !!(this.showSuggestions && this.Suggestions);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\t// Indicates if there is selected suggestionItem.\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\t// Represents the value before user moves selection from suggestion item to another\n\t\t// and its value is updated after each move.\n\t\t// Note: Used to register and fire \"input\" event upon [Space] or [Enter].\n\t\t// Note: The property \"value\" is updated upon selection move and can`t be used.\n\t\tthis.valueBeforeItemSelection = \"\";\n\n\t\t// Represents the value before user moves selection between the suggestion items\n\t\t// and its value remains the same when the user navigates up or down the list.\n\t\t// Note: Used to cancel selection upon [Escape].\n\t\tthis.valueBeforeSelectionStart = \"\";\n\n\t\t// tracks the value between focus in and focus out to detect that change event should be fired.\n\t\tthis.previousValue = \"\";\n\n\t\t// Indicates, if the component is rendering for first time.\n\t\tthis.firstRendering = true;\n\n\t\t// The typed in value.\n\t\tthis.typedInValue = \"\";\n\n\t\t// The last value confirmed by the user with \"ENTER\"\n\t\tthis.lastConfirmedValue = \"\";\n\n\t\t// Indicates, if the user is typing. Gets reset once popup is closed\n\t\tthis.isTyping = false;\n\n\t\t// Indicates whether the value of the input is comming from a suggestion item\n\t\tthis._isLatestValueFromSuggestions = false;\n\n\t\tthis._isChangeTriggeredBySuggestion = false;\n\n\t\tthis._indexOfSelectedItem = -1;\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\tthis._keepInnerValue = false;\n\t\tthis._focusedAfterClear = false;\n\t\tthis._valueStateLinks = [];\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t\tthis._enableComposition();\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t\tderegisterUI5Element(this);\n\t\tthis._removeLinksEventListeners();\n\t\tthis._composition?.removeEventListeners();\n\t}\n\n\t_highlightSuggestionItem(item: SuggestionItem) {\n\t\titem.markupText = this.typedInValue ? this.Suggestions?.hightlightInput((item.text || \"\"), this.typedInValue) : encodeXML(item.text || \"\");\n\t}\n\n\t_isGroupItem(item: IInputSuggestionItem) {\n\t\treturn item.hasAttribute(\"ui5-suggestion-item-group\");\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._keepInnerValue) {\n\t\t\tthis._innerValue = this.value === null ? \"\" : this.value;\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis.enableSuggestions();\n\n\t\t\tthis._flattenItems.forEach(item => {\n\t\t\t\tif (item.hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t\tthis._highlightSuggestionItem(item as SuggestionItem);\n\t\t\t\t} else if (this._isGroupItem(item)) {\n\t\t\t\t\titem.items?.forEach(nestedItem => {\n\t\t\t\t\t\tthis._highlightSuggestionItem(nestedItem as SuggestionItem);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\n\t\tconst hasItems = !!this._flattenItems.length;\n\t\tconst hasValue = !!this.value;\n\t\tconst isFocused = this.shadowRoot!.querySelector(\"input\") === getActiveElement();\n\t\tif (this.shouldDisplayOnlyValueStateMessage) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\n\t\tconst preventOpenPicker = this.disabled || this.readonly;\n\n\t\tif (preventOpenPicker) {\n\t\t\tthis.open = false;\n\t\t} else if (!this._isPhone) {\n\t\t\tthis.open = hasItems && (this.open || (hasValue && isFocused && this.isTyping));\n\t\t}\n\n\t\tconst value = this.value;\n\t\tconst innerInput = this.getInputDOMRefSync();\n\n\t\tif (!innerInput || !value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst autoCompletedChars = innerInput.selectionEnd! - innerInput.selectionStart!;\n\n\t\t// Typehead causes issues on Android devices, so we disable it for now\n\t\t// If there is already a selection the autocomplete has already been performed\n\t\tif (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\tif (item) {\n\t\t\t\tif (!this._isComposing) {\n\t\t\t\t\tthis._handleTypeAhead(item);\n\t\t\t\t}\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\n\t\tif (this.showSuggestions && this.Suggestions?._getPicker()) {\n\t\t\tthis._listWidth = this.Suggestions._getListWidth();\n\n\t\t\t// disabled ItemNavigation from the list since we are not using it\n\t\t\tthis.Suggestions._getList()._itemNavigation._getItems = () => [];\n\t\t}\n\n\t\tif (this._performTextSelection) {\n\t\t\t// this is required to syncronize lit-html input's value and user's input\n\t\t\t// lit-html does not sync its stored value for the value property when the user is typing\n\t\t\tif (innerInput.value !== this._innerValue) {\n\t\t\t\tinnerInput.value = this._innerValue;\n\t\t\t}\n\n\t\t\tif (this.typedInValue.length && this.value.length) {\n\t\t\t\tinnerInput.setSelectionRange(this.typedInValue.length, this.value.length);\n\t\t\t}\n\n\t\t\tthis.fireDecoratorEvent(\"type-ahead\");\n\t\t}\n\n\t\tthis._performTextSelection = false;\n\n\t\tif (!arraysAreEqual(this._valueStateLinks, this.linksInAriaValueStateHiddenText)) {\n\t\t\tthis._removeLinksEventListeners();\n\t\t\tthis._addLinksEventListeners();\n\t\t\tthis._valueStateLinks = this.linksInAriaValueStateHiddenText;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._isKeyNavigation = true;\n\t\tthis._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e));\n\n\t\tif (isUp(e)) {\n\t\t\treturn this._handleUp(e);\n\t\t}\n\n\t\tif (isDown(e)) {\n\t\t\treturn this._handleDown(e);\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\treturn this._handleSpace(e);\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\treturn this._handleTab();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tconst isValueUnchanged = this.previousValue === this.getInputDOMRefSync()!.value;\n\t\t\tconst shouldSubmit = this._internals.form && this._internals.form.querySelectorAll(\"[ui5-input]\").length === 1;\n\n\t\t\tthis._enterKeyDown = true;\n\n\t\t\tif (isValueUnchanged && shouldSubmit) {\n\t\t\t\tsubmitForm(this);\n\t\t\t}\n\n\t\t\treturn this._handleEnter(e);\n\t\t}\n\n\t\tif (isPageUp(e)) {\n\t\t\treturn this._handlePageUp(e);\n\t\t}\n\n\t\tif (isPageDown(e)) {\n\t\t\treturn this._handlePageDown(e);\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\treturn this._handleHome(e);\n\t\t}\n\n\t\tif (isEnd(e)) {\n\t\t\treturn this._handleEnd(e);\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\treturn this._handleEscape();\n\t\t}\n\n\t\tif (isCtrlAltF8(e)) {\n\t\t\treturn this._handleCtrlAltF8();\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis._clearPopoverFocusAndSelection();\n\t\t}\n\n\t\tthis._isKeyNavigation = false;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// The native Delete event does not update the value property \"on time\".\n\t\t// So, the (native) change event is always fired with the old value\n\t\tif (isDelete(e)) {\n\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t}\n\n\t\tthis._enterKeyDown = false;\n\t}\n\n\tget currentItemIndex() {\n\t\tconst allItems = this.Suggestions?._getItems() as IInputSuggestionItemSelectable[];\n\t\tconst currentItem = allItems.find(item => { return item.selected || item.focused; });\n\t\tconst indexOfCurrentItem = currentItem ? allItems.indexOf(currentItem) : -1;\n\t\treturn indexOfCurrentItem;\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this.Suggestions?.isOpened()) {\n\t\t\tthis.Suggestions.onUp(e, this.currentItemIndex);\n\t\t}\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tif (this.Suggestions?.isOpened()) {\n\t\t\tthis.Suggestions.onDown(e, this.currentItemIndex);\n\t\t}\n\t}\n\n\t_handleSpace(e: KeyboardEvent) {\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.onSpace(e);\n\t\t}\n\t}\n\n\t_handleTab() {\n\t\tif (this.Suggestions && (this.previousValue !== this.value)) {\n\t\t\tthis.Suggestions.onTab();\n\t\t}\n\t}\n\n\t_handleCtrlAltF8() {\n\t\tthis._handleLinkNavigation = true;\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tif (links.length) {\n\t\t\tlinks[0].focus();\n\t\t}\n\t}\n\n\t_addLinksEventListeners() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tlinks.forEach((link, index) => {\n\t\t\tthis._linksListenersArray.push((e: KeyboardEvent) => {\n\t\t\t\tattachListeners(e, links, index, {\n\t\t\t\t\tcloseValueState: () => {\n\t\t\t\t\t\tif (this.Suggestions?.isOpened()) {\n\t\t\t\t\t\t\tthis.Suggestions?.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.valueStateOpen) {\n\t\t\t\t\t\t\tthis.closeValueStatePopover();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfocusInput: () => {\n\t\t\t\t\t\tthis._handleLinkNavigation = false;\n\t\t\t\t\t\tthis.getInputDOMRef()!.focus();\n\t\t\t\t\t},\n\t\t\t\t\tnavigateToItem: () => {\n\t\t\t\t\t\tif (this._handleLinkNavigation) {\n\t\t\t\t\t\t\tthis._handleLinkNavigation = false;\n\t\t\t\t\t\t\tif (this.Suggestions?.isOpened()) {\n\t\t\t\t\t\t\t\tthis.innerFocusIn();\n\t\t\t\t\t\t\t\t(this.getInputDOMRef())!.focus();\n\t\t\t\t\t\t\t\tthis.Suggestions.onDown(e, this.currentItemIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis._handleDown(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tisPopoverOpen: () => { return (this.Suggestions && this.Suggestions?.isOpened()) || false; },\n\t\t\t\t});\n\t\t\t});\n\t\t\tlink.addEventListener(\"keydown\", this._linksListenersArray[index]);\n\t\t});\n\t }\n\n\t _removeLinksEventListeners() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tlinks.forEach((link, index) => {\n\t\t\tlink.removeEventListener(\"keydown\", this._linksListenersArray[index]);\n\t\t});\n\n\t\tthis._linksListenersArray = [];\n\t\tthis._handleLinkNavigation = false;\n\t}\n\n\t_handleEnter(e: KeyboardEvent) {\n\t\t// if a group item is focused, this is false\n\t\tconst suggestionItemPressed = !!(this.Suggestions?.onEnter(e));\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\tconst matchingItem = this._selectableItems.find(item => {\n\t\t\treturn item.text === this.value;\n\t\t});\n\n\t\tif (matchingItem) {\n\t\t\tconst itemText = matchingItem.text || \"\";\n\n\t\t\tinnerInput.setSelectionRange(itemText.length, itemText.length);\n\t\t\tif (!suggestionItemPressed) {\n\t\t\t\tthis.fireSelectionChange(matchingItem, true);\n\t\t\t\tthis.acceptSuggestion(matchingItem, true);\n\t\t\t\tthis.open = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isPhone && !this._flattenItems.length && !this.isTypeNumber) {\n\t\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\t\t}\n\n\t\tif (!suggestionItemPressed) {\n\t\t\tthis.lastConfirmedValue = this.value;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.focused = true;\n\t}\n\n\t_handlePageUp(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onPageUp(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handlePageDown(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onPageDown(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onHome(e);\n\t\t}\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onEnd(e);\n\t\t}\n\t}\n\n\t_handleEscape() {\n\t\tconst hasSuggestions = this.showSuggestions && !!this.Suggestions;\n\t\tconst isOpen = hasSuggestions && this.open;\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\tconst isAutoCompleted = innerInput.selectionEnd! - innerInput.selectionStart! > 0;\n\n\t\tthis.isTyping = false;\n\n\t\tif (this.value !== this.previousValue && this.value !== this.lastConfirmedValue && !this.open) {\n\t\t\tthis.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType: \"\" });\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isOpen) {\n\t\t\tthis.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isOpen && this.Suggestions?._isItemOnTarget()) {\n\t\t\t// Restore the value.\n\t\t\tthis.value = this.typedInValue || this.valueBeforeSelectionStart;\n\n\t\t\tthis.focused = true;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (isAutoCompleted) {\n\t\t\tthis.value = this.typedInValue;\n\t\t}\n\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis.focused = true; // invalidating property\n\n\t\tif (!this._focusedAfterClear) {\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeSelectionStart = this.value;\n\t\tthis._inputIconFocused = !!e.target && e.target === this.querySelector<Icon>(\"[ui5-icon]\");\n\t\tthis._focusedAfterClear = false;\n\t}\n\n\t/**\n\t * Called on \"focusin\" of the native input HTML Element.\n\t * **Note:** implemented in MultiInput, but used in the Input template.\n\t */\n\tinnerFocusIn(): void | undefined {}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\n\t\tif (this.Suggestions?._getPicker().contains(toBeFocused) || this.contains(toBeFocused) || this.getSlottedNodes(\"valueStateMessage\").some(el => el.contains(toBeFocused))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._keepInnerValue = false;\n\t\tthis.focused = false; // invalidating property\n\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\tif (this.showClearIcon && !this._effectiveShowClearIcon) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\tthis._handleChange();\n\t\t}\n\n\t\tthis.open = false;\n\t\tthis._clearPopoverFocusAndSelection();\n\n\t\tif (!this._clearIconClicked) {\n\t\t\tthis.previousValue = \"\";\n\t\t}\n\n\t\tthis.lastConfirmedValue = \"\";\n\t\tthis.isTyping = false;\n\n\t\tif ((this.value !== this.previousValue) && this.showClearIcon) {\n\t\t\tthis._clearIconClicked = false;\n\t\t}\n\t}\n\n\t_clearPopoverFocusAndSelection() {\n\t\tif (!this.showSuggestions || !this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\tthis.Suggestions?._deselectItems();\n\t\tthis.Suggestions?._clearItemFocus();\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly && this.Suggestions) {\n\t\t\tthis.blur();\n\t\t\tthis.open = true;\n\t\t}\n\t}\n\n\t_handleChange() {\n\t\tconst shouldSubmit = this._internals.form && this._internals.form.querySelectorAll(\"[ui5-input]\").length === 1;\n\n\t\tif (this._clearIconClicked) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst fireChange = () => {\n\t\t\tif (!this._isChangeTriggeredBySuggestion) {\n\t\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\t\t\t}\n\t\t\tthis.previousValue = this.value;\n\t\t\tthis.typedInValue = this.value;\n\t\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\t};\n\n\t\tif (this.previousValue !== this.getInputDOMRefSync()!.value) {\n\t\t\t// if picker is open there might be a selected item, wait next tick to get the value applied\n\t\t\tif (this.Suggestions?._getPicker().open && this._flattenItems.some(item => item.hasAttribute(\"ui5-suggestion-item\") && (item as SuggestionItem).selected)) {\n\t\t\t\tthis._changeToBeFired = true;\n\t\t\t} else {\n\t\t\t\tfireChange();\n\n\t\t\t\tif (this._enterKeyDown && shouldSubmit) {\n\t\t\t\t\tsubmitForm(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t_clear() {\n\t\tconst valueBeforeClear = this.value;\n\t\tthis.value = \"\";\n\t\tconst prevented = !this.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType: \"\" });\n\n\t\tif (prevented) {\n\t\t\tthis.value = valueBeforeClear;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.typedInValue = \"\";\n\n\t\tif (!this._isPhone) {\n\t\t\tthis.fireResetSelectionChange();\n\t\t\tthis.focus();\n\t\t\tthis._focusedAfterClear = true;\n\t\t}\n\t}\n\n\t_iconMouseDown() {\n\t\tthis._clearIconClicked = true;\n\t}\n\n\t_scroll(e: UI5CustomEvent<ResponsivePopover, \"scroll\">) {\n\t\tthis.fireDecoratorEvent(\"suggestion-scroll\", {\n\t\t\tscrollTop: e.detail.scrollTop,\n\t\t\tscrollContainer: e.detail.targetRef,\n\t\t});\n\t}\n\n\t_handleSelect() {\n\t\tthis.fireDecoratorEvent(\"select\");\n\t}\n\n\t_handleInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst eventType: string = (e.detail && e.detail.inputType) || \"\";\n\n\t\tthis._input(e, eventType);\n\t}\n\n\t_handleNativeInput(e: InputEvent) {\n\t\tconst eventType: string = e.inputType || \"\";\n\n\t\tthis._input(e, eventType);\n\t}\n\n\t_input(e: CustomEvent<InputEventDetail> | InputEvent, eventType: string) {\n\t\tconst inputDomRef = this.getInputDOMRefSync();\n\t\tconst emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef!.value;\n\n\t\tthis._keepInnerValue = false;\n\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\tthis._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;\n\n\t\tif (e instanceof InputEvent) {\n\t\t\t// ---- Special cases of numeric Input ----\n\t\t\t// ---------------- Start -----------------\n\n\t\t\t// When the last character after the delimiter is removed.\n\t\t\t// In such cases, we want to skip the re-rendering of the\n\t\t\t// component as this leads to cursor repositioning and causes user experience issues.\n\n\t\t\t// There are few scenarios:\n\t\t\t// Example: type \"123.4\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).\n\t\t\t// Example: type \"123.456\", select/mark \"456\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Example: type \"123.456\", select/mark \"123.456\" and press BACKSPACE - the native input is firing event with empty value.\n\t\t\tconst delimiterCase = this.isTypeNumber\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\")\n\t\t\t\t&& !(e.target as HTMLInputElement).value.includes(\".\")\n\t\t\t\t&& this.value.includes(\".\");\n\n\t\t\t// Handle special numeric notation with \"e\", example \"12.5e12\"\n\t\t\tconst eNotationCase = emptyValueFiredOnNumberInput && e.data === \"e\";\n\n\t\t\t// Handle special numeric notation with \"-\", example \"-3\"\n\t\t\t// When pressing BACKSPACE, the native input fires event with empty value\n\t\t\tconst minusRemovalCase = emptyValueFiredOnNumberInput\n\t\t\t\t&& this.value.startsWith(\"-\")\n\t\t\t\t&& this.value.length === 2\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\");\n\n\t\t\tif (delimiterCase || eNotationCase || minusRemovalCase) {\n\t\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t\t\tthis._keepInnerValue = true;\n\t\t\t}\n\t\t\t// ----------------- End ------------------\n\t\t}\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tthis.focused = true;\n\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.fireEventByAction(INPUT_ACTIONS.ACTION_ENTER, e as InputEvent);\n\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.updateSelectedItemPosition(-1);\n\t\t}\n\n\t\tthis.isTyping = true;\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IInputSuggestionItemSelectable> {\n\t\treturn StartsWith(str, this._selectableItems, \"text\");\n\t}\n\n\t_getFirstMatchingItem(current: string): IInputSuggestionItemSelectable | undefined {\n\t\tif (!this._flattenItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems = this._startsWithMatchingItems(current).filter(item => !this._isGroupItem(item));\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_handleSelectionChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis.Suggestions?.onItemPress(e);\n\t}\n\n\t_selectMatchingItem(item: IInputSuggestionItemSelectable) {\n\t\titem.selected = true;\n\t}\n\n\t_handleTypeAhead(item: IInputSuggestionItemSelectable) {\n\t\tconst value = item.text ? item.text : \"\";\n\n\t\tthis._innerValue = value;\n\t\tthis.value = value;\n\t\tthis._performTextSelection = true;\n\n\t\tthis._shouldAutocomplete = false;\n\t}\n\n\t_handleResize() {\n\t\tthis._inputWidth = this.offsetWidth;\n\t}\n\n\t_updateAssociatedLabelsTexts() {\n\t\tthis._associatedLabelsTexts = getAssociatedLabelForTexts(this);\n\t\tthis._accessibleLabelsRefTexts = getAllAccessibleNameRefTexts(this);\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\n\t}\n\n\t_closePicker() {\n\t\tthis.open = false;\n\t}\n\n\t_confirmMobileValue() {\n\t\tthis._closePicker();\n\t\tthis._handleChange();\n\t}\n\n\t_cancelMobileValue() {\n\t\tthis.value = this.previousValue;\n\t\tthis._closePicker();\n\t}\n\n\t_afterOpenPicker() {\n\t\t// Set initial focus to the native input\n\t\tif (isPhone()) {\n\t\t\tthis.previousValue = this.value;\n\t\t\t(this.getInputDOMRef())!.focus();\n\t\t\tthis._composition?.addEventListeners();\n\t\t}\n\n\t\tthis._handlePickerAfterOpen();\n\t}\n\n\t_afterClosePicker() {\n\t\tthis.announceSelectedItem();\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t\tthis.focused = false;\n\t\t}\n\n\t\tif (this._changeToBeFired && !this._isChangeTriggeredBySuggestion) {\n\t\t\tthis.previousValue = this.value;\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\t\t} else {\n\t\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\t}\n\t\tthis._changeToBeFired = false;\n\n\t\tthis.open = false;\n\t\tthis.isTyping = false;\n\n\t\tif (this.hasSuggestionItemSelected) {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._handlePickerAfterClose();\n\t}\n\n\t_handlePickerAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePickerAfterClose() {\n\t\tthis.Suggestions?._onClose();\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStateOpen = true;\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStateOpen = false;\n\t}\n\n\t_handleValueStatePopoverAfterClose() {\n\t\tthis.valueStateOpen = false;\n\t\tthis._handleLinkNavigation = false;\n\t}\n\n\t_getValueStatePopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\tenableSuggestions() {\n\t\tif (this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst setup = (Suggestions: typeof InputSuggestions) => {\n\t\t\tSuggestions.i18nBundle = Input.i18nBundle;\n\t\t\tthis.Suggestions = new Suggestions(this, \"suggestionItems\", true, false);\n\t\t};\n\n\t\t// If the feature is preloaded (the user manually imported InputSuggestions.js), it is already available on the constructor\n\t\tif (Input.SuggestionsClass) {\n\t\t\tsetup(Input.SuggestionsClass);\n\t\t// If feature is not preloaded, load it dynamically\n\t\t} else {\n\t\t\timport(\"./features/InputSuggestions.js\").then(SuggestionsModule => {\n\t\t\t\tsetup(SuggestionsModule.default);\n\t\t\t});\n\t\t}\n\t}\n\t/**\n\t * Enables IME composition handling.\n\t * Dynamically loads the InputComposition feature and sets up event listeners.\n\t * @private\n\t */\n\t_enableComposition() {\n\t\tif (this._composition) {\n\t\t\treturn;\n\t\t}\n\t\tconst setup = (FeatureClass: typeof InputComposition) => {\n\t\t\tthis._composition = new FeatureClass({\n\t\t\t\tgetInputEl: () => this.getInputDOMRefSync(),\n\t\t\t\tupdateCompositionState: (isComposing: boolean) => {\n\t\t\t\t\tthis._isComposing = isComposing;\n\t\t\t\t},\n\t\t\t});\n\t\t\tthis._composition.addEventListeners();\n\t\t};\n\n\t\tif (Input.composition) {\n\t\t\tsetup(Input.composition);\n\t\t} else {\n\t\t\timport(\"./features/InputComposition.js\").then(CompositionModule => {\n\t\t\t\tInput.composition = CompositionModule.default;\n\t\t\t\tsetup(CompositionModule.default);\n\t\t\t});\n\t\t}\n\t}\n\n\tacceptSuggestion(item: IInputSuggestionItemSelectable, keyboardUsed: boolean) {\n\t\tif (this._isGroupItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemText = item.text || \"\";\n\t\tconst fireChange = keyboardUsed\n\t\t\t? this.valueBeforeItemSelection !== itemText : this.previousValue !== itemText;\n\n\t\tthis.hasSuggestionItemSelected = true;\n\t\tthis.value = itemText;\n\n\t\tif (fireChange && (this.previousValue !== itemText)) {\n\t\t\tthis.valueBeforeItemSelection = itemText;\n\t\t\tthis.lastConfirmedValue = itemText;\n\n\t\t\tthis._performTextSelection = true;\n\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\n\t\t\tthis._isChangeTriggeredBySuggestion = true;\n\t\t\t// value might change in the change event handler\n\t\t\tthis.typedInValue = this.value;\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeSelectionStart = \"\";\n\n\t\tthis.isTyping = false;\n\t\tthis.open = false;\n\t}\n\n\t/**\n\t * Updates the input value on item select.\n\t * @param item The item that is on select\n\t */\n\tupdateValueOnSelect(item: IInputSuggestionItem) {\n\t\tconst itemValue = this._isGroupItem(item) ? this.valueBeforeSelectionStart : (item as IInputSuggestionItemSelectable).text;\n\n\t\tthis.value = itemValue || \"\";\n\t\tthis._performTextSelection = true;\n\t}\n\n\tfireEventByAction(action: INPUT_ACTIONS, e: InputEvent) {\n\t\tconst valueBeforeInput = this.value;\n\t\tconst inputRef = this.getInputDOMRefSync();\n\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputValue = this.getInputValue();\n\t\tconst isUserInput = action === INPUT_ACTIONS.ACTION_ENTER;\n\n\t\tthis.value = inputValue;\n\t\tthis.typedInValue = inputValue;\n\t\tthis.valueBeforeSelectionStart = inputValue;\n\t\tconst valueAfterInput = this.value;\n\n\t\tif (isUserInput) { // input\n\t\t\tconst inputType = e.inputType || \"\";\n\t\t\tconst prevented = !this.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType });\n\n\t\t\tif (prevented) {\n\t\t\t\t// if the value is not changed after preventing the input event, revert the value\n\t\t\t\tif (valueAfterInput === this.value) {\n\t\t\t\t\tthis.value = valueBeforeInput;\n\t\t\t\t}\n\n\t\t\t\tinputRef && (inputRef.value = this.value);\n\t\t\t}\n\n\t\t\tthis.fireResetSelectionChange();\n\t\t}\n\t}\n\n\tgetInputValue() {\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (domRef) {\n\t\t\treturn (this.getInputDOMRef())!.value;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetInputDOMRef() {\n\t\tif (isPhone() && this.Suggestions) {\n\t\t\treturn this.Suggestions._getPicker()!.querySelector<Input>(\".ui5-input-inner-phone\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\tgetInputDOMRefSync() {\n\t\tif (isPhone() && this.Suggestions?._getPicker()) {\n\t\t\treturn this.Suggestions._getPicker().querySelector(\".ui5-input-inner-phone\")!.shadowRoot!.querySelector<HTMLInputElement>(\"input\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\t/**\n\t * Returns a reference to the native input element\n\t * @protected\n\t */\n\tget nativeInput() {\n\t\tconst domRef = this.getDomRef();\n\n\t\treturn domRef ? domRef.querySelector<HTMLInputElement>(`input`) : null;\n\t}\n\n\tget nativeInputWidth() {\n\t\treturn this.nativeInput ? this.nativeInput.offsetWidth : 0;\n\t}\n\n\t/**\n\t * Returns if the suggestions popover is scrollable.\n\t * The method returns `Promise` that resolves to true,\n\t * if the popup is scrollable and false otherwise.\n\t */\n\tisSuggestionsScrollable() {\n\t\tif (!this.Suggestions) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\treturn this.Suggestions?._isScrollable();\n\t}\n\n\tonItemMouseDown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\tonItemSelected(suggestionItem: IInputSuggestionItemSelectable, keyboardUsed: boolean) {\n\t\tconst shouldFireSelectionChange = !keyboardUsed && !suggestionItem?.focused && this.valueBeforeItemSelection !== suggestionItem.text;\n\n\t\tif (shouldFireSelectionChange) {\n\t\t\tthis.fireSelectionChange(suggestionItem, true);\n\t\t}\n\t\tthis.acceptSuggestion(suggestionItem, keyboardUsed);\n\t}\n\n\t_handleSuggestionItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis.Suggestions?.onItemPress(e);\n\t}\n\n\tonItemSelect(item: IInputSuggestionItem) {\n\t\tthis.valueBeforeItemSelection = this.value;\n\t\tthis.updateValueOnSelect(item);\n\t\tthis.announceSelectedItem();\n\n\t\tthis.fireSelectionChange(item, true);\n\t}\n\n\tget _flattenItems(): Array<IInputSuggestionItem> {\n\t\treturn this.getSlottedNodes<IInputSuggestionItem>(\"suggestionItems\").flatMap(item => {\n\t\t\treturn this._isGroupItem(item) ? [item, ...item.items!] : [item];\n\t\t});\n\t}\n\n\tget _selectableItems(): Array<IInputSuggestionItemSelectable> {\n\t\treturn this._flattenItems.filter(item => !this._isGroupItem(item)) as Array<IInputSuggestionItemSelectable>;\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t\"Positive\": Input.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t\"Negative\": Input.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t\"Critical\": Input.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Positive\": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": Input.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": Input.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tannounceSelectedItem() {\n\t\tconst invisibleText = this.shadowRoot!.querySelector(`#selectionText`)!;\n\n\t\tif (invisibleText) {\n\t\t\tinvisibleText.textContent = this.itemSelectionAnnounce;\n\t\t}\n\t}\n\n\tfireSelectionChange(item: IInputSuggestionItem | null, isValueFromSuggestions: boolean) {\n\t\tif (this.Suggestions) {\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.SELECTION_CHANGE, { item });\n\t\t\tthis._isLatestValueFromSuggestions = isValueFromSuggestions;\n\t\t}\n\t}\n\n\tfireResetSelectionChange() {\n\t\tif (this._isLatestValueFromSuggestions) {\n\t\t\tthis.fireSelectionChange(null, false);\n\t\t\tthis.valueBeforeItemSelection = this.value;\n\t\t}\n\t}\n\n\tget _readonly() {\n\t\treturn this.readonly && !this.disabled;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _suggestionsOkButtonText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_OK_BUTTON);\n\t}\n\n\tget _suggestionsCancelButtonText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_CANCEL_BUTTON);\n\t}\n\n\tget clearIconAccessibleName() {\n\t\treturn Input.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);\n\t}\n\n\tget _popupLabel() {\n\t\treturn Input.i18nBundle.getText(INPUT_AVALIABLE_VALUES);\n\t}\n\n\tget inputType(): `${InputType}` {\n\t\treturn this.type;\n\t}\n\tget inputNativeType(): Lowercase<`${InputType}`> {\n\t\treturn this.type.toLowerCase() as Lowercase<`${InputType}`>;\n\t}\n\n\tget isTypeNumber() {\n\t\treturn this.type === InputType.Number;\n\t}\n\n\tget suggestionsTextId() {\n\t\treturn this.showSuggestions ? `suggestionsText` : \"\";\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `valueStateDesc` : \"\";\n\t}\n\n\tget _accInfoAriaDescription() {\n\t\treturn (this._inputAccInfo && this._inputAccInfo.ariaDescription) || \"\";\n\t}\n\n\tget _accInfoAriaDescriptionId() {\n\t\tconst hasAriaDescription = this._accInfoAriaDescription !== \"\";\n\t\treturn hasAriaDescription ? \"descr\" : \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.suggestionsTextId,\n\t\t\tthis.valueStateTextId,\n\t\t\tthis._valueStateLinksShortcutsTextAccId,\n\t\t\tthis._inputAccInfo.ariaDescribedBy,\n\t\t\tthis._accInfoAriaDescriptionId,\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget accInfo() {\n\t\tconst ariaHasPopupDefault = this.showSuggestions ? \"dialog\" : undefined;\n\t\tconst ariaAutoCompleteDefault = this.showSuggestions ? \"list\" as const : undefined;\n\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),\n\t\t\t\"ariaDescribedBy\": this.ariaDescribedByIds || undefined,\n\t\t\t\"ariaInvalid\": this.valueState === ValueState.Negative ? true : undefined,\n\t\t\t\"ariaHasPopup\": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,\n\t\t\t\"ariaAutoComplete\": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,\n\t\t\t\"role\": this._inputAccInfo && this._inputAccInfo.role,\n\t\t\t\"ariaControls\": this._inputAccInfo && this._inputAccInfo.ariaControls,\n\t\t\t\"ariaExpanded\": this._inputAccInfo && this._inputAccInfo.ariaExpanded,\n\t\t\t\"ariaDescription\": this._accInfoAriaDescription,\n\t\t\t\"accessibleDescription\": this.ariaDescriptionText,\n\t\t\t\"ariaLabel\": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || this._accessibleLabelsRefTexts || this.accessibleName || this._associatedLabelsTexts || undefined,\n\t\t};\n\t}\n\n\tget nativeInputAttributes() {\n\t\treturn {\n\t\t\t\"min\": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,\n\t\t\t\"max\": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,\n\t\t\t\"step\": this.isTypeNumber ? (this._nativeInputAttributes.step || \"any\") : undefined,\n\t\t};\n\t}\n\n\tget ariaValueStateHiddenText() {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueState = this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn this.valueStateText ? `${valueState} ${this.valueStateText}` : valueState;\n\t\t}\n\n\t\treturn this.valueStateMessage.length ? `${valueState} ${this.valueStateMessage.map(el => el.textContent).join(\" \")}` : valueState;\n\t}\n\n\tget itemSelectionAnnounce() {\n\t\treturn this.Suggestions ? this.Suggestions.itemSelectionAnnounce : \"\";\n\t}\n\n\tget linksInAriaValueStateHiddenText() {\n\t\tconst links: Array<HTMLElement> = [];\n\t\tif (this.valueStateMessage) {\n\t\t\tthis.valueStateMessage.forEach(element => {\n\t\t\t\tif (element.children.length)\t{\n\t\t\t\t\telement.querySelectorAll(\"ui5-link\").forEach(link => {\n\t\t\t\t\t\tlinks.push(link as HTMLElement);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn links;\n\t}\n\n\tget valueStateLinksShortcutsTextAcc() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\t\tif (!links.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (isMac()) {\n\t\t\treturn links.length === 1\n\t\t\t\t? Input.i18nBundle.getText(VALUE_STATE_LINK_MAC)\n\t\t\t\t: Input.i18nBundle.getText(VALUE_STATE_LINKS_MAC);\n\t\t}\n\n\t\treturn links.length === 1\n\t\t\t? Input.i18nBundle.getText(VALUE_STATE_LINK)\n\t\t\t: Input.i18nBundle.getText(VALUE_STATE_LINKS);\n\t}\n\n\tget _valueStateLinksShortcutsTextAccId() {\n\t\treturn this.linksInAriaValueStateHiddenText.length > 0 ? `hiddenText-value-state-link-shortcut` : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\tconst slottedIconsCount = this.icon ? this.icon.length : 0;\n\t\tconst clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;\n\t\treturn slottedIconsCount + clearIconCount;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": this.showSuggestions,\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\n\t\tconst stylesObject = {\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": this._listWidth ? `${this._listWidth}px` : \"\",\n\t\t\t\t\"max-width\": \"inherit\",\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": this._inputWidth ? `${this._inputWidth}px` : \"\",\n\t\t\t\t\"max-width\": this._inputWidth && (this._inputWidth / remSizeInPx) > 40 ? `${this._inputWidth}px` : \"40rem\",\n\t\t\t},\n\t\t\tinnerInput: {\n\t\t\t\t\"padding\": \"\",\n\t\t\t},\n\t\t};\n\n\t\treturn stylesObject;\n\t}\n\n\tget suggestionSeparators() {\n\t\treturn \"None\" as const;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateMessage;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateMessage() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive\n\t\t\t&& (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)\n\t\t\t\t|| !!(this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile\n\t}\n\n\tget valueStateText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings()[this.valueState] : undefined;\n\t}\n\n\tget suggestionsText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS);\n\t}\n\n\tget availableSuggestionsCount() {\n\t\tif (this.showSuggestions && (this.value || this.Suggestions?.isOpened())) {\n\t\t\tconst nonGroupItems = this._selectableItems;\n\n\t\t\tswitch (nonGroupItems.length) {\n\t\t\tcase 0:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);\n\n\t\t\tcase 1:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);\n\n\t\t\tdefault:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, nonGroupItems.length);\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget step() {\n\t\treturn this.isTypeNumber ? \"any\" : undefined;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isSuggestionsFocused() {\n\t\treturn !this.focused && this.Suggestions?.isOpened();\n\t}\n\n\t/**\n\t * Returns the placeholder value.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20ZM7.70711 13.7071C7.31658 14.0976 6.68342 14.0976 6.29289 13.7071C5.90237 13.3166 5.90237 12.6834 6.29289 12.2929L8.58579 10L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L10 8.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L11.4142 10L13.7071 12.2929C14.0976 12.6834 14.0976 13.3166 13.7071 13.7071C13.3166 14.0976 12.6834 14.0976 12.2929 13.7071L10 11.4142L7.70711 13.7071Z\" fill=\"#EE3939\"/>`,\n\t\t\tCritical: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.8619 0.49298C11.6823 0.187541 11.3544 0 11 0C10.6456 0 10.3177 0.187541 10.1381 0.49298L0.138066 17.493C-0.0438112 17.8022 -0.0461447 18.1851 0.13195 18.4965C0.310046 18.8079 0.641283 19 1 19H21C21.3587 19 21.69 18.8079 21.868 18.4965C22.0461 18.1851 22.0438 17.8022 21.8619 17.493L11.8619 0.49298ZM11 6C11.5523 6 12 6.44772 12 7V10C12 10.5523 11.5523 11 11 11C10.4477 11 10 10.5523 10 10V7C10 6.44772 10.4477 6 11 6ZM11 16C11.8284 16 12.5 15.3284 12.5 14.5C12.5 13.6716 11.8284 13 11 13C10.1716 13 9.5 13.6716 9.5 14.5C9.5 15.3284 10.1716 16 11 16Z\" fill=\"#F58B00\"/>`,\n\t\t\tPositive: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10ZM14.7071 6.29289C14.3166 5.90237 13.6834 5.90237 13.2929 6.29289L8 11.5858L6.70711 10.2929C6.31658 9.90237 5.68342 9.90237 5.29289 10.2929C4.90237 10.6834 4.90237 11.3166 5.29289 11.7071L7.29289 13.7071C7.68342 14.0976 8.31658 14.0976 8.70711 13.7071L14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289Z\" fill=\"#36A41D\"/>`,\n\t\t\tInformation: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 0C1.34315 0 0 1.34315 0 3V15C0 16.6569 1.34315 18 3 18H15C16.6569 18 18 16.6569 18 15V3C18 1.34315 16.6569 0 15 0H3ZM9 6.5C9.82843 6.5 10.5 5.82843 10.5 5C10.5 4.17157 9.82843 3.5 9 3.5C8.17157 3.5 7.5 4.17157 7.5 5C7.5 5.82843 8.17157 6.5 9 6.5ZM9 8.5C9.55228 8.5 10 8.94772 10 9.5V13.5C10 14.0523 9.55228 14.5 9 14.5C8.44771 14.5 8 14.0523 8 13.5V9.5C8 8.94772 8.44771 8.5 9 8.5Z\" fill=\"#1B90FF\"/>`,\n\t\t};\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\treturn `\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n\t\t\t\t${iconPerValueState[this.valueState]};\n\t\t\t</svg>\n\t\t\t`;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? \"Start\" : \"End\";\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\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"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\t/**\n\t * Returns the caret position inside the native input\n\t * @protected\n\t */\n\tgetCaretPosition(): number | null {\n\t\treturn getCaretPosition(this.nativeInput!);\n\t}\n\n\t/**\n\t * Sets the caret to a certain position inside the native input\n\t * @protected\n\t */\n\tsetCaretPosition(pos: number | null) {\n\t\tsetCaretPosition(this.nativeInput!, pos);\n\t}\n\n\t/**\n\t * Removes the fractional part of floating-point number.\n\t * @param value the numeric value of Input of type \"Number\"\n\t */\n\tremoveFractionalPart(value: string) {\n\t\tif (value.includes(\".\")) {\n\t\t\treturn value.slice(0, value.indexOf(\".\"));\n\t\t}\n\t\tif (value.includes(\",\")) {\n\t\t\treturn value.slice(0, value.indexOf(\",\"));\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tstatic SuggestionsClass?: typeof InputSuggestions;\n}\n\nInput.define();\n\nexport default Input;\nexport type {\n\tInputAccInfo,\n\tIInputSuggestionItem,\n\tIInputSuggestionItemSelectable,\n\tInputSuggestionScrollEventDetail,\n\tInputSelectionChangeEventDetail,\n\tInputEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable spaced-comment */\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type {\n\tAriaAutoComplete,\n\tAriaRole,\n\tAriaHasPopup,\n\tClassMap,\n} from \"@ui5/webcomponents-base/dist/types.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\n// @ts-expect-error\nimport encodeXML from \"@ui5/webcomponents-base/dist/sap/base/security/encodeXML.js\";\n\nimport {\n\tisPhone,\n\tisAndroid,\n\tisMac,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tisUp,\n\tisDown,\n\tisSpace,\n\tisEnter,\n\tisBackSpace,\n\tisDelete,\n\tisEscape,\n\tisTabNext,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n\tisCtrlAltF8,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { attachListeners } from \"@ui5/webcomponents-base/dist/util/valueStateNavigation.js\";\nimport arraysAreEqual from \"@ui5/webcomponents-base/dist/util/arraysAreEqual.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tregisterUI5Element,\n\tderegisterUI5Element,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { getCaretPosition, setCaretPosition } from \"@ui5/webcomponents-base/dist/util/Caret.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport type SuggestionItem from \"./SuggestionItem.js\";\nimport type { SuggestionComponent } from \"./features/InputSuggestions.js\";\nimport type InputSuggestions from \"./features/InputSuggestions.js\";\nimport InputType from \"./types/InputType.js\";\nimport type Popover from \"./Popover.js\";\nimport type Icon from \"./Icon.js\";\nimport type { IIcon } from \"./Icon.js\";\n\n// Templates\nimport InputTemplate from \"./InputTemplate.js\";\nimport { StartsWith } from \"./Filters.js\";\n\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\tVALUE_STATE_LINK,\n\tVALUE_STATE_LINKS,\n\tVALUE_STATE_LINK_MAC,\n\tVALUE_STATE_LINKS_MAC,\n\tINPUT_SUGGESTIONS,\n\tINPUT_SUGGESTIONS_TITLE,\n\tINPUT_SUGGESTIONS_ONE_HIT,\n\tINPUT_SUGGESTIONS_MORE_HITS,\n\tINPUT_SUGGESTIONS_NO_HIT,\n\tINPUT_CLEAR_ICON_ACC_NAME,\n\tINPUT_AVALIABLE_VALUES,\n\tINPUT_SUGGESTIONS_OK_BUTTON,\n\tINPUT_SUGGESTIONS_CANCEL_BUTTON,\n\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport inputStyles from \"./generated/themes/Input.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"./List.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport type InputKeyHint from \"./types/InputKeyHint.js\";\nimport type InputComposition from \"./features/InputComposition.js\";\n\n/**\n * Interface for components that represent a suggestion item, usable in `ui5-input`\n * @public\n */\ninterface IInputSuggestionItem extends UI5Element {\n\tfocused: boolean;\n\tadditionalText?: string;\n\titems?: IInputSuggestionItem[];\n}\n\ninterface IInputSuggestionItemSelectable extends IInputSuggestionItem {\n\ttext?: string;\n\tselected: boolean;\n}\n\ntype NativeInputAttributes = {\n\tmin?: number,\n\tmax?: number,\n\tstep?: number\n}\n\ntype InputAccInfo = {\n\tariaRoledescription?: string,\n\tariaDescribedBy?: string,\n\tariaHasPopup?: AriaHasPopup,\n\tariaAutoComplete?: AriaAutoComplete,\n\trole?: AriaRole,\n\tariaControls?: string,\n\tariaRequired?: boolean,\n\tariaExpanded?: boolean,\n\tariaDescription?: string,\n\tariaLabel?: string,\n\tariaInvalid?: boolean,\n}\n\n// all sementic events\nenum INPUT_EVENTS {\n\tCHANGE = \"change\",\n\tINPUT = \"input\",\n\tSELECTION_CHANGE = \"selection-change\",\n}\n\n// all user interactions\nenum INPUT_ACTIONS {\n\tACTION_ENTER = \"enter\",\n\tACTION_USER_INPUT = \"input\",\n}\n\ntype InputEventDetail = {\n\tinputType: string;\n}\n\ntype InputSelectionChangeEventDetail = {\n\titem: IInputSuggestionItem | null;\n}\n\ntype InputSuggestionScrollEventDetail = {\n\tscrollTop: number;\n\tscrollContainer: HTMLElement;\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-input` component allows the user to enter and edit text or numeric values in one line.\n *\n * Additionally, you can provide `suggestionItems`,\n * that are displayed in a popover right under the input.\n *\n * The text field can be editable or read-only (`readonly` property),\n * and it can be enabled or disabled (`disabled` property).\n * To visualize semantic states, such as \"Negative\" or \"Critical\", the `valueState` property is provided.\n * When the user makes changes to the text, the change event is fired,\n * which enables you to react on any text change.\n *\n * ### Keyboard Handling\n * The `ui5-input` provides the following keyboard shortcuts:\n *\n * - [Escape] - Closes the suggestion list, if open. If closed or not enabled, cancels changes and reverts to the value which the Input field had when it got the focus.\n * - [Enter] or [Return] - If suggestion list is open takes over the current matching item and closes it. If value state or group header is focused, does nothing.\n * - [Down] - Focuses the next matching item in the suggestion list. Selection-change event is fired.\n * - [Up] - Focuses the previous matching item in the suggestion list. Selection-change event is fired.\n * - [Home] - If focus is in the text input, moves caret before the first character. If focus is in the list, highlights the first item and updates the input accordingly.\n * - [End] - If focus is in the text input, moves caret after the last character. If focus is in the list, highlights the last item and updates the input accordingly.\n * - [Page Up] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.\n * - [Page Down] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.\n * - [Ctrl]+[Alt]+[F8] or [Command]+[Option]+[F8] - Focuses the first link in the value state message, if available. Pressing [Tab] moves the focus to the next link in the value state message, or closes the value state message if there are no more links.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Input.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the root DOM element of the Input component\n * @csspart input - Used to style the native input element\n * @csspart clear-icon - Used to style the clear icon, which can be pressed to clear user input text\n */\n@customElement({\n\ttag: \"ui5-input\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: InputTemplate,\n\tstyles: [\n\t\tinputStyles,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSuggestionsCss,\n\t],\n})\n\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the component changes at each keystroke,\n * and when a suggestion item has been selected.\n * @public\n */\n@event(\"input\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired when some text has been selected.\n *\n * @since 2.0.0\n * @public\n */\n@event(\"select\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user navigates to a suggestion item via the ARROW keys,\n * as a preview, before the final selection.\n * @param {HTMLElement} item The previewed suggestion item.\n * @public\n * @since 2.0.0\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fires when a suggestion item is autocompleted in the input.\n *\n * @private\n */\n@event(\"type-ahead\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user scrolls the suggestion popover.\n * @param {Integer} scrollTop The current scroll position.\n * @param {HTMLElement} scrollContainer The scroll container.\n * @protected\n * @since 1.0.0-rc.8\n */\n@event(\"suggestion-scroll\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the suggestions picker is open.\n * @public\n * @since 2.0.0\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the suggestions picker is closed.\n * @public\n * @since 2.0.0\n */\n@event(\"close\")\n\nclass Input extends UI5Element implements SuggestionComponent, IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": InputEventDetail,\n\t\t\"input\": InputEventDetail,\n\t\t\"select\": void,\n\t\t\"selection-change\": InputSelectionChangeEventDetail,\n\t\t\"type-ahead\": void,\n\t\t\"suggestion-scroll\": InputSuggestionScrollEventDetail,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t}\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines if characters within the suggestions are to be highlighted\n\t * in case the input value matches parts of the suggestions text.\n\t *\n\t * **Note:** takes effect when `showSuggestions` is set to `true`\n\t * @default false\n\t * @private\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thighlight = false;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\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 * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.3\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines whether the value will be autcompleted to match an item\n\t * @default false\n\t * @public\n\t * @since 1.4.0\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead = false;\n\n\t/**\n\t * Defines the HTML type of the component.\n\t *\n\t * **Notes:**\n\t *\n\t * - The particular effect of this property differs depending on the browser\n\t * and the current language settings, especially for type `Number`.\n\t * - The property is mostly intended to be used with touch devices\n\t * that use different soft keyboard layouts depending on the given input type.\n\t * @default \"Text\"\n\t * @public\n\t */\n\t@property()\n\ttype: `${InputType}` = \"Text\";\n\n\t/**\n\t * Defines the value of the component.\n\t *\n\t * **Note:** The property is updated upon typing.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Defines the inner stored value of the component.\n\t *\n\t * **Note:** The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)\n\t * @default \"\"\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_innerValue = \"\";\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines whether the component should show suggestions, if such are present.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSuggestions = false;\n\n\t/**\n\t * Sets the maximum number of characters available in the input field.\n\t *\n\t * **Note:** This property is not compatible with the ui5-input type InputType.Number. If the ui5-input type is set to Number, the maxlength value is ignored.\n\t * @default undefined\n\t * @since 1.0.0-rc.5\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxlength?: number;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.9.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines whether the clear icon of the input will be shown.\n\t * @default false\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon = false;\n\n\t/**\n\t * Defines whether the suggestions picker is open.\n\t * The picker will not open if the `showSuggestions` property is set to `false`, the input is disabled or the input is readonly.\n\t * The picker will close automatically and `close` event will be fired if the input is not in the viewport.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the clear icon is visible.\n\t * @default false\n\t * @private\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\t_effectiveShowClearIcon = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * Used to define enterkeyhint of the inner input.\n\t * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint\n\t *\n\t * @private\n\t */\n\t@property()\n\thint?: `${InputKeyHint}`;\n\n\t@property({ type: Boolean })\n\tvalueStateOpen = false;\n\n\t@property({ type: Object })\n\t_inputAccInfo: InputAccInfo = {};\n\n\t@property({ type: Object })\n\t_nativeInputAttributes: NativeInputAttributes = {};\n\n\t@property({ type: Number })\n\t_inputWidth?: number;\n\n\t@property({ type: Number })\n\t_listWidth?: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_inputIconFocused = false;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedLabelsTexts?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the accessibleNameRef elements\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_accessibleLabelsRefTexts?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\tSuggestions?: InputSuggestions;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_linksListenersArray: Array<(args: any) => void> = [];\n\n\t/**\n\t * Indicates whether IME composition is currently active\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isComposing = false;\n\n\t/**\n\t * Defines the suggestion items.\n\t *\n\t * **Note:** The suggestions would be displayed only if the `showSuggestions`\n\t * property is set to `true`.\n\t *\n\t * **Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tsuggestionItems!: Array<IInputSuggestionItem>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\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`, `Critical` or `Negative` 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 * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\thasSuggestionItemSelected: boolean;\n\tvalueBeforeItemSelection: string;\n\tvalueBeforeSelectionStart: string;\n\tpreviousValue: string;\n\tfirstRendering: boolean;\n\ttypedInValue: string;\n\tlastConfirmedValue: string\n\tisTyping: boolean\n\t_handleResizeBound: ResizeObserverCallback;\n\t_keepInnerValue: boolean;\n\t_shouldAutocomplete?: boolean;\n\t_enterKeyDown?: boolean;\n\t_isKeyNavigation?: boolean;\n\t_indexOfSelectedItem: number;\n\t_selectedText?: string;\n\t_clearIconClicked?: boolean;\n\t_focusedAfterClear: boolean;\n\t_changeToBeFired?: boolean; // used to wait change event firing after suggestion item selection\n\t_performTextSelection?: boolean;\n\t_isLatestValueFromSuggestions: boolean;\n\t_isChangeTriggeredBySuggestion: boolean;\n\t_valueStateLinks: Array<HTMLElement>;\n\t_composition?: InputComposition;\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\tstatic composition: typeof InputComposition;\n\n\t/**\n\t * Indicates whether link navigation is being handled.\n\t * @default false\n\t * @private\n\t * @since 2.11.0\n\t */\n\t_handleLinkNavigation: boolean = false;\n\n\tget formValidityMessage() {\n\t\treturn Input.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget _effectiveShowSuggestions() {\n\t\treturn !!(this.showSuggestions && this.Suggestions);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\t// Indicates if there is selected suggestionItem.\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\t// Represents the value before user moves selection from suggestion item to another\n\t\t// and its value is updated after each move.\n\t\t// Note: Used to register and fire \"input\" event upon [Space] or [Enter].\n\t\t// Note: The property \"value\" is updated upon selection move and can`t be used.\n\t\tthis.valueBeforeItemSelection = \"\";\n\n\t\t// Represents the value before user moves selection between the suggestion items\n\t\t// and its value remains the same when the user navigates up or down the list.\n\t\t// Note: Used to cancel selection upon [Escape].\n\t\tthis.valueBeforeSelectionStart = \"\";\n\n\t\t// tracks the value between focus in and focus out to detect that change event should be fired.\n\t\tthis.previousValue = \"\";\n\n\t\t// Indicates, if the component is rendering for first time.\n\t\tthis.firstRendering = true;\n\n\t\t// The typed in value.\n\t\tthis.typedInValue = \"\";\n\n\t\t// The last value confirmed by the user with \"ENTER\"\n\t\tthis.lastConfirmedValue = \"\";\n\n\t\t// Indicates, if the user is typing. Gets reset once popup is closed\n\t\tthis.isTyping = false;\n\n\t\t// Indicates whether the value of the input is comming from a suggestion item\n\t\tthis._isLatestValueFromSuggestions = false;\n\n\t\tthis._isChangeTriggeredBySuggestion = false;\n\n\t\tthis._indexOfSelectedItem = -1;\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\n\t\tthis._keepInnerValue = false;\n\t\tthis._focusedAfterClear = false;\n\t\tthis._valueStateLinks = [];\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t\tthis._enableComposition();\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t\tderegisterUI5Element(this);\n\t\tthis._removeLinksEventListeners();\n\t\tthis._composition?.removeEventListeners();\n\t}\n\n\t_highlightSuggestionItem(item: SuggestionItem) {\n\t\titem.markupText = this.typedInValue ? this.Suggestions?.hightlightInput((item.text || \"\"), this.typedInValue) : encodeXML(item.text || \"\");\n\t}\n\n\t_isGroupItem(item: IInputSuggestionItem) {\n\t\treturn item.hasAttribute(\"ui5-suggestion-item-group\");\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._keepInnerValue) {\n\t\t\tthis._innerValue = this.value === null ? \"\" : this.value;\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis.enableSuggestions();\n\n\t\t\tthis._flattenItems.forEach(item => {\n\t\t\t\tif (item.hasAttribute(\"ui5-suggestion-item\")) {\n\t\t\t\t\tthis._highlightSuggestionItem(item as SuggestionItem);\n\t\t\t\t} else if (this._isGroupItem(item)) {\n\t\t\t\t\titem.items?.forEach(nestedItem => {\n\t\t\t\t\t\tthis._highlightSuggestionItem(nestedItem as SuggestionItem);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\n\t\tconst hasItems = !!this._flattenItems.length;\n\t\tconst hasValue = !!this.value;\n\t\tconst isFocused = this.shadowRoot!.querySelector(\"input\") === getActiveElement();\n\t\tif (this.shouldDisplayOnlyValueStateMessage) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\n\t\tconst preventOpenPicker = this.disabled || this.readonly;\n\n\t\tif (preventOpenPicker) {\n\t\t\tthis.open = false;\n\t\t} else if (!this._isPhone) {\n\t\t\tthis.open = hasItems && (this.open || (hasValue && isFocused && this.isTyping));\n\t\t}\n\n\t\tconst value = this.value;\n\t\tconst innerInput = this.getInputDOMRefSync();\n\n\t\tif (!innerInput || !value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst autoCompletedChars = innerInput.selectionEnd! - innerInput.selectionStart!;\n\n\t\t// Typehead causes issues on Android devices, so we disable it for now\n\t\t// If there is already a selection the autocomplete has already been performed\n\t\tif (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\tif (item) {\n\t\t\t\tif (!this._isComposing) {\n\t\t\t\t\tthis._handleTypeAhead(item);\n\t\t\t\t}\n\t\t\t\tthis._selectMatchingItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\n\t\tif (this.showSuggestions && this.Suggestions?._getPicker()) {\n\t\t\tthis._listWidth = this.Suggestions._getListWidth();\n\n\t\t\t// disabled ItemNavigation from the list since we are not using it\n\t\t\tthis.Suggestions._getList()._itemNavigation._getItems = () => [];\n\t\t}\n\n\t\tif (this._performTextSelection) {\n\t\t\t// this is required to syncronize lit-html input's value and user's input\n\t\t\t// lit-html does not sync its stored value for the value property when the user is typing\n\t\t\tif (innerInput.value !== this._innerValue) {\n\t\t\t\tinnerInput.value = this._innerValue;\n\t\t\t}\n\n\t\t\tif (this.typedInValue.length && this.value.length) {\n\t\t\t\tinnerInput.setSelectionRange(this.typedInValue.length, this.value.length);\n\t\t\t}\n\n\t\t\tthis.fireDecoratorEvent(\"type-ahead\");\n\t\t}\n\n\t\tthis._performTextSelection = false;\n\n\t\tif (!arraysAreEqual(this._valueStateLinks, this.linksInAriaValueStateHiddenText)) {\n\t\t\tthis._removeLinksEventListeners();\n\t\t\tthis._addLinksEventListeners();\n\t\t\tthis._valueStateLinks = this.linksInAriaValueStateHiddenText;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._isKeyNavigation = true;\n\t\tthis._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e));\n\n\t\tif (isUp(e)) {\n\t\t\treturn this._handleUp(e);\n\t\t}\n\n\t\tif (isDown(e)) {\n\t\t\treturn this._handleDown(e);\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\treturn this._handleSpace(e);\n\t\t}\n\n\t\tif (isTabNext(e)) {\n\t\t\treturn this._handleTab();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tconst isValueUnchanged = this.previousValue === this.getInputDOMRefSync()!.value;\n\t\t\tconst shouldSubmit = this._internals.form && this._internals.form.querySelectorAll(\"[ui5-input]\").length === 1;\n\n\t\t\tthis._enterKeyDown = true;\n\n\t\t\tif (isValueUnchanged && shouldSubmit) {\n\t\t\t\tsubmitForm(this);\n\t\t\t}\n\n\t\t\treturn this._handleEnter(e);\n\t\t}\n\n\t\tif (isPageUp(e)) {\n\t\t\treturn this._handlePageUp(e);\n\t\t}\n\n\t\tif (isPageDown(e)) {\n\t\t\treturn this._handlePageDown(e);\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\treturn this._handleHome(e);\n\t\t}\n\n\t\tif (isEnd(e)) {\n\t\t\treturn this._handleEnd(e);\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\treturn this._handleEscape();\n\t\t}\n\n\t\tif (isCtrlAltF8(e)) {\n\t\t\treturn this._handleCtrlAltF8();\n\t\t}\n\n\t\tif (this.showSuggestions) {\n\t\t\tthis._clearPopoverFocusAndSelection();\n\t\t}\n\n\t\tthis._isKeyNavigation = false;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// The native Delete event does not update the value property \"on time\".\n\t\t// So, the (native) change event is always fired with the old value\n\t\tif (isDelete(e)) {\n\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t}\n\n\t\tthis._enterKeyDown = false;\n\t}\n\n\tget currentItemIndex() {\n\t\tconst allItems = this.Suggestions?._getItems() as IInputSuggestionItemSelectable[];\n\t\tconst currentItem = allItems.find(item => { return item.selected || item.focused; });\n\t\tconst indexOfCurrentItem = currentItem ? allItems.indexOf(currentItem) : -1;\n\t\treturn indexOfCurrentItem;\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this.Suggestions?.isOpened()) {\n\t\t\tthis.Suggestions.onUp(e, this.currentItemIndex);\n\t\t}\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tif (this.Suggestions?.isOpened()) {\n\t\t\tthis.Suggestions.onDown(e, this.currentItemIndex);\n\t\t}\n\t}\n\n\t_handleSpace(e: KeyboardEvent) {\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.onSpace(e);\n\t\t}\n\t}\n\n\t_handleTab() {\n\t\tif (this.Suggestions && (this.previousValue !== this.value)) {\n\t\t\tthis.Suggestions.onTab();\n\t\t}\n\t}\n\n\t_handleCtrlAltF8() {\n\t\tthis._handleLinkNavigation = true;\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tif (links.length) {\n\t\t\tlinks[0].focus();\n\t\t}\n\t}\n\n\t_addLinksEventListeners() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tlinks.forEach((link, index) => {\n\t\t\tthis._linksListenersArray.push((e: KeyboardEvent) => {\n\t\t\t\tattachListeners(e, links, index, {\n\t\t\t\t\tcloseValueState: () => {\n\t\t\t\t\t\tif (this.Suggestions?.isOpened()) {\n\t\t\t\t\t\t\tthis.Suggestions?.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.valueStateOpen) {\n\t\t\t\t\t\t\tthis.closeValueStatePopover();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tfocusInput: () => {\n\t\t\t\t\t\tthis._handleLinkNavigation = false;\n\t\t\t\t\t\tthis.getInputDOMRef()!.focus();\n\t\t\t\t\t},\n\t\t\t\t\tnavigateToItem: () => {\n\t\t\t\t\t\tif (this._handleLinkNavigation) {\n\t\t\t\t\t\t\tthis._handleLinkNavigation = false;\n\t\t\t\t\t\t\tif (this.Suggestions?.isOpened()) {\n\t\t\t\t\t\t\t\tthis.innerFocusIn();\n\t\t\t\t\t\t\t\t(this.getInputDOMRef())!.focus();\n\t\t\t\t\t\t\t\tthis.Suggestions.onDown(e, this.currentItemIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis._handleDown(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tisPopoverOpen: () => { return (this.Suggestions && this.Suggestions?.isOpened()) || false; },\n\t\t\t\t});\n\t\t\t});\n\t\t\tlink.addEventListener(\"keydown\", this._linksListenersArray[index]);\n\t\t});\n\t }\n\n\t _removeLinksEventListeners() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\n\t\tlinks.forEach((link, index) => {\n\t\t\tlink.removeEventListener(\"keydown\", this._linksListenersArray[index]);\n\t\t});\n\n\t\tthis._linksListenersArray = [];\n\t\tthis._handleLinkNavigation = false;\n\t}\n\n\t_handleEnter(e: KeyboardEvent) {\n\t\t// if a group item is focused, this is false\n\t\tconst suggestionItemPressed = !!(this.Suggestions?.onEnter(e));\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\tconst matchingItem = this._selectableItems.find(item => {\n\t\t\treturn item.text === this.value;\n\t\t});\n\n\t\tif (matchingItem) {\n\t\t\tconst itemText = matchingItem.text || \"\";\n\n\t\t\tinnerInput.setSelectionRange(itemText.length, itemText.length);\n\t\t\tif (!suggestionItemPressed) {\n\t\t\t\tthis.fireSelectionChange(matchingItem, true);\n\t\t\t\tthis.acceptSuggestion(matchingItem, true);\n\t\t\t\tthis.open = false;\n\t\t\t}\n\t\t}\n\n\t\tif (this._isPhone && !this._flattenItems.length && !this.isTypeNumber) {\n\t\t\tinnerInput.setSelectionRange(this.value.length, this.value.length);\n\t\t}\n\n\t\tif (!suggestionItemPressed) {\n\t\t\tthis.lastConfirmedValue = this.value;\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.focused = true;\n\t}\n\n\t_handlePageUp(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onPageUp(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handlePageDown(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onPageDown(e);\n\t\t} else {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onHome(e);\n\t\t}\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tif (this._isSuggestionsFocused) {\n\t\t\tthis.Suggestions?.onEnd(e);\n\t\t}\n\t}\n\n\t_handleEscape() {\n\t\tconst hasSuggestions = this.showSuggestions && !!this.Suggestions;\n\t\tconst isOpen = hasSuggestions && this.open;\n\t\tconst innerInput = this.getInputDOMRefSync()!;\n\t\tconst isAutoCompleted = innerInput.selectionEnd! - innerInput.selectionStart! > 0;\n\n\t\tthis.isTyping = false;\n\n\t\tif (this.value !== this.previousValue && this.value !== this.lastConfirmedValue && !this.open) {\n\t\t\tthis.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType: \"\" });\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isOpen) {\n\t\t\tthis.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isOpen && this.Suggestions?._isItemOnTarget()) {\n\t\t\t// Restore the value.\n\t\t\tthis.value = this.typedInValue || this.valueBeforeSelectionStart;\n\n\t\t\tthis.focused = true;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (isAutoCompleted) {\n\t\t\tthis.value = this.typedInValue;\n\t\t}\n\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis.focused = true; // invalidating property\n\n\t\tif (!this._focusedAfterClear) {\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeSelectionStart = this.value;\n\t\tthis._inputIconFocused = !!e.target && e.target === this.querySelector<Icon>(\"[ui5-icon]\");\n\t\tthis._focusedAfterClear = false;\n\t}\n\n\t/**\n\t * Called on \"focusin\" of the native input HTML Element.\n\t * **Note:** implemented in MultiInput, but used in the Input template.\n\t */\n\tinnerFocusIn(): void | undefined {}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\n\t\tif (this.Suggestions?._getPicker().contains(toBeFocused) || this.contains(toBeFocused) || this.getSlottedNodes(\"valueStateMessage\").some(el => el.contains(toBeFocused))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._keepInnerValue = false;\n\t\tthis.focused = false; // invalidating property\n\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\tif (this.showClearIcon && !this._effectiveShowClearIcon) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\tthis._handleChange();\n\t\t}\n\n\t\tthis.open = false;\n\t\tthis._clearPopoverFocusAndSelection();\n\n\t\tif (!this._clearIconClicked) {\n\t\t\tthis.previousValue = \"\";\n\t\t}\n\n\t\tthis.lastConfirmedValue = \"\";\n\t\tthis.isTyping = false;\n\n\t\tif ((this.value !== this.previousValue) && this.showClearIcon) {\n\t\t\tthis._clearIconClicked = false;\n\t\t}\n\t}\n\n\t_clearPopoverFocusAndSelection() {\n\t\tif (!this.showSuggestions || !this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\tthis.Suggestions?._deselectItems();\n\t\tthis.Suggestions?._clearItemFocus();\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly && this.Suggestions) {\n\t\t\tthis.blur();\n\t\t\tthis.open = true;\n\t\t}\n\t}\n\n\t_handleChange() {\n\t\tconst shouldSubmit = this._internals.form && this._internals.form.querySelectorAll(\"[ui5-input]\").length === 1;\n\n\t\tif (this._clearIconClicked) {\n\t\t\tthis._clearIconClicked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst fireChange = () => {\n\t\t\tif (!this._isChangeTriggeredBySuggestion) {\n\t\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\t\t\t}\n\t\t\tthis.previousValue = this.value;\n\t\t\tthis.typedInValue = this.value;\n\t\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\t};\n\n\t\tif (this.previousValue !== this.getInputDOMRefSync()!.value) {\n\t\t\t// if picker is open there might be a selected item, wait next tick to get the value applied\n\t\t\tif (this.Suggestions?._getPicker().open && this._flattenItems.some(item => item.hasAttribute(\"ui5-suggestion-item\") && (item as SuggestionItem).selected)) {\n\t\t\t\tthis._changeToBeFired = true;\n\t\t\t} else {\n\t\t\t\tfireChange();\n\n\t\t\t\tif (this._enterKeyDown && shouldSubmit) {\n\t\t\t\t\tsubmitForm(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t_clear() {\n\t\tconst valueBeforeClear = this.value;\n\t\tthis.value = \"\";\n\t\tconst prevented = !this.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType: \"\" });\n\n\t\tif (prevented) {\n\t\t\tthis.value = valueBeforeClear;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.typedInValue = \"\";\n\n\t\tif (!this._isPhone) {\n\t\t\tthis.fireResetSelectionChange();\n\t\t\tthis.focus();\n\t\t\tthis._focusedAfterClear = true;\n\t\t}\n\t}\n\n\t_iconMouseDown() {\n\t\tthis._clearIconClicked = true;\n\t}\n\n\t_scroll(e: UI5CustomEvent<ResponsivePopover, \"scroll\">) {\n\t\tthis.fireDecoratorEvent(\"suggestion-scroll\", {\n\t\t\tscrollTop: e.detail.scrollTop,\n\t\t\tscrollContainer: e.detail.targetRef,\n\t\t});\n\t}\n\n\t_handleSelect() {\n\t\tthis.fireDecoratorEvent(\"select\");\n\t}\n\n\t_handleInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst eventType: string = (e.detail && e.detail.inputType) || \"\";\n\n\t\tthis._input(e, eventType);\n\t}\n\n\t_handleNativeInput(e: InputEvent) {\n\t\tconst eventType: string = e.inputType || \"\";\n\n\t\tthis._input(e, eventType);\n\t}\n\n\t_input(e: CustomEvent<InputEventDetail> | InputEvent, eventType: string) {\n\t\tconst inputDomRef = this.getInputDOMRefSync();\n\t\tconst emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef!.value;\n\n\t\tthis._keepInnerValue = false;\n\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\tthis._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;\n\n\t\tif (e instanceof InputEvent) {\n\t\t\t// ---- Special cases of numeric Input ----\n\t\t\t// ---------------- Start -----------------\n\n\t\t\t// When the last character after the delimiter is removed.\n\t\t\t// In such cases, we want to skip the re-rendering of the\n\t\t\t// component as this leads to cursor repositioning and causes user experience issues.\n\n\t\t\t// There are few scenarios:\n\t\t\t// Example: type \"123.4\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).\n\t\t\t// Example: type \"123.456\", select/mark \"456\" and press BACKSPACE - the native input is firing event with the whole part as value (123).\n\t\t\t// Example: type \"123.456\", select/mark \"123.456\" and press BACKSPACE - the native input is firing event with empty value.\n\t\t\tconst delimiterCase = this.isTypeNumber\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\")\n\t\t\t\t&& !(e.target as HTMLInputElement).value.includes(\".\")\n\t\t\t\t&& this.value.includes(\".\");\n\n\t\t\t// Handle special numeric notation with \"e\", example \"12.5e12\"\n\t\t\tconst eNotationCase = emptyValueFiredOnNumberInput && e.data === \"e\";\n\n\t\t\t// Handle special numeric notation with \"-\", example \"-3\"\n\t\t\t// When pressing BACKSPACE, the native input fires event with empty value\n\t\t\tconst minusRemovalCase = emptyValueFiredOnNumberInput\n\t\t\t\t&& this.value.startsWith(\"-\")\n\t\t\t\t&& this.value.length === 2\n\t\t\t\t&& (e.inputType === \"deleteContentForward\" || e.inputType === \"deleteContentBackward\");\n\n\t\t\tif (delimiterCase || eNotationCase || minusRemovalCase) {\n\t\t\t\tthis.value = (e.target as HTMLInputElement).value;\n\t\t\t\tthis._keepInnerValue = true;\n\t\t\t}\n\t\t\t// ----------------- End ------------------\n\t\t}\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tthis.focused = true;\n\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.fireEventByAction(INPUT_ACTIONS.ACTION_ENTER, e as InputEvent);\n\n\t\tthis.hasSuggestionItemSelected = false;\n\n\t\tif (this.Suggestions) {\n\t\t\tthis.Suggestions.updateSelectedItemPosition(-1);\n\t\t}\n\n\t\tthis.isTyping = true;\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IInputSuggestionItemSelectable> {\n\t\treturn StartsWith(str, this._selectableItems, \"text\");\n\t}\n\n\t_getFirstMatchingItem(current: string): IInputSuggestionItemSelectable | undefined {\n\t\tif (!this._flattenItems.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems = this._startsWithMatchingItems(current).filter(item => !this._isGroupItem(item));\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_handleSelectionChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis.Suggestions?.onItemPress(e);\n\t}\n\n\t_selectMatchingItem(item: IInputSuggestionItemSelectable) {\n\t\titem.selected = true;\n\t}\n\n\t_handleTypeAhead(item: IInputSuggestionItemSelectable) {\n\t\tconst value = item.text ? item.text : \"\";\n\n\t\tthis._innerValue = value;\n\t\tthis.value = value;\n\t\tthis._performTextSelection = true;\n\n\t\tthis._shouldAutocomplete = false;\n\t}\n\n\t_handleResize() {\n\t\tthis._inputWidth = this.offsetWidth;\n\t}\n\n\t_updateAssociatedLabelsTexts() {\n\t\tthis._associatedLabelsTexts = getAssociatedLabelForTexts(this);\n\t\tthis._accessibleLabelsRefTexts = getAllAccessibleNameRefTexts(this);\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\n\t}\n\n\t_closePicker() {\n\t\tthis.open = false;\n\t}\n\n\t_confirmMobileValue() {\n\t\tthis._closePicker();\n\t\tthis._handleChange();\n\t}\n\n\t_cancelMobileValue() {\n\t\tthis.value = this.previousValue;\n\t\tthis._closePicker();\n\t}\n\n\t_afterOpenPicker() {\n\t\t// Set initial focus to the native input\n\t\tif (isPhone()) {\n\t\t\tthis.previousValue = this.value;\n\t\t\t(this.getInputDOMRef())!.focus();\n\t\t\tthis._composition?.addEventListeners();\n\t\t}\n\n\t\tthis._handlePickerAfterOpen();\n\t}\n\n\t_afterClosePicker() {\n\t\tthis.announceSelectedItem();\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t\tthis.focused = false;\n\t\t}\n\n\t\tif (this._changeToBeFired && !this._isChangeTriggeredBySuggestion) {\n\t\t\tthis.previousValue = this.value;\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\t\t} else {\n\t\t\tthis._isChangeTriggeredBySuggestion = false;\n\t\t}\n\t\tthis._changeToBeFired = false;\n\n\t\tthis.open = false;\n\t\tthis.isTyping = false;\n\n\t\tif (this.hasSuggestionItemSelected) {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._handlePickerAfterClose();\n\t}\n\n\t_handlePickerAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t_handlePickerAfterClose() {\n\t\tthis.Suggestions?._onClose();\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStateOpen = true;\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStateOpen = false;\n\t}\n\n\t_handleValueStatePopoverAfterClose() {\n\t\tthis.valueStateOpen = false;\n\t\tthis._handleLinkNavigation = false;\n\t}\n\n\t_getValueStatePopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\tenableSuggestions() {\n\t\tif (this.Suggestions) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst setup = (Suggestions: typeof InputSuggestions) => {\n\t\t\tSuggestions.i18nBundle = Input.i18nBundle;\n\t\t\tthis.Suggestions = new Suggestions(this, \"suggestionItems\", true, false);\n\t\t};\n\n\t\t// If the feature is preloaded (the user manually imported InputSuggestions.js), it is already available on the constructor\n\t\tif (Input.SuggestionsClass) {\n\t\t\tsetup(Input.SuggestionsClass);\n\t\t// If feature is not preloaded, load it dynamically\n\t\t} else {\n\t\t\timport(\"./features/InputSuggestions.js\").then(SuggestionsModule => {\n\t\t\t\tsetup(SuggestionsModule.default);\n\t\t\t});\n\t\t}\n\t}\n\t/**\n\t * Enables IME composition handling.\n\t * Dynamically loads the InputComposition feature and sets up event listeners.\n\t * @private\n\t */\n\t_enableComposition() {\n\t\tif (this._composition) {\n\t\t\treturn;\n\t\t}\n\t\tconst setup = (FeatureClass: typeof InputComposition) => {\n\t\t\tthis._composition = new FeatureClass({\n\t\t\t\tgetInputEl: () => this.getInputDOMRefSync(),\n\t\t\t\tupdateCompositionState: (isComposing: boolean) => {\n\t\t\t\t\tthis._isComposing = isComposing;\n\t\t\t\t},\n\t\t\t});\n\t\t\tthis._composition.addEventListeners();\n\t\t};\n\n\t\tif (Input.composition) {\n\t\t\tsetup(Input.composition);\n\t\t} else {\n\t\t\timport(\"./features/InputComposition.js\").then(CompositionModule => {\n\t\t\t\tInput.composition = CompositionModule.default;\n\t\t\t\tsetup(CompositionModule.default);\n\t\t\t});\n\t\t}\n\t}\n\n\tacceptSuggestion(item: IInputSuggestionItemSelectable, keyboardUsed: boolean) {\n\t\tif (this._isGroupItem(item)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemText = item.text || \"\";\n\t\tconst fireChange = keyboardUsed\n\t\t\t? this.valueBeforeItemSelection !== itemText : this.previousValue !== itemText;\n\n\t\tthis.hasSuggestionItemSelected = true;\n\t\tthis.value = itemText;\n\n\t\tif (fireChange && (this.previousValue !== itemText)) {\n\t\t\tthis.valueBeforeItemSelection = itemText;\n\t\t\tthis.lastConfirmedValue = itemText;\n\n\t\t\tthis._performTextSelection = true;\n\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.CHANGE);\n\n\t\t\tthis._isChangeTriggeredBySuggestion = true;\n\t\t\t// value might change in the change event handler\n\t\t\tthis.typedInValue = this.value;\n\t\t\tthis.previousValue = this.value;\n\t\t}\n\n\t\tthis.valueBeforeSelectionStart = \"\";\n\n\t\tthis.isTyping = false;\n\t\tthis.open = false;\n\t}\n\n\t/**\n\t * Updates the input value on item select.\n\t * @param item The item that is on select\n\t */\n\tupdateValueOnSelect(item: IInputSuggestionItem) {\n\t\tconst itemValue = this._isGroupItem(item) ? this.valueBeforeSelectionStart : (item as IInputSuggestionItemSelectable).text;\n\n\t\tthis.value = itemValue || \"\";\n\t\tthis._performTextSelection = true;\n\t}\n\n\tfireEventByAction(action: INPUT_ACTIONS, e: InputEvent) {\n\t\tconst valueBeforeInput = this.value;\n\t\tconst inputRef = this.getInputDOMRefSync();\n\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputValue = this.getInputValue();\n\t\tconst isUserInput = action === INPUT_ACTIONS.ACTION_ENTER;\n\n\t\tthis.value = inputValue;\n\t\tthis.typedInValue = inputValue;\n\t\tthis.valueBeforeSelectionStart = inputValue;\n\t\tconst valueAfterInput = this.value;\n\n\t\tif (isUserInput) { // input\n\t\t\tconst inputType = e.inputType || \"\";\n\t\t\tconst prevented = !this.fireDecoratorEvent(INPUT_EVENTS.INPUT, { inputType });\n\n\t\t\tif (prevented) {\n\t\t\t\t// if the value is not changed after preventing the input event, revert the value\n\t\t\t\tif (valueAfterInput === this.value) {\n\t\t\t\t\tthis.value = valueBeforeInput;\n\t\t\t\t}\n\n\t\t\t\tinputRef && (inputRef.value = this.value);\n\t\t\t}\n\n\t\t\tthis.fireResetSelectionChange();\n\t\t}\n\t}\n\n\tgetInputValue() {\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (domRef) {\n\t\t\treturn (this.getInputDOMRef())!.value;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tgetInputDOMRef() {\n\t\tif (isPhone() && this.Suggestions) {\n\t\t\treturn this.Suggestions._getPicker()!.querySelector<Input>(\".ui5-input-inner-phone\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\tgetInputDOMRefSync() {\n\t\tif (isPhone() && this.Suggestions?._getPicker()) {\n\t\t\treturn this.Suggestions._getPicker().querySelector(\".ui5-input-inner-phone\")!.shadowRoot!.querySelector<HTMLInputElement>(\"input\")!;\n\t\t}\n\n\t\treturn this.nativeInput;\n\t}\n\n\t/**\n\t * Returns a reference to the native input element\n\t * @protected\n\t */\n\tget nativeInput() {\n\t\tconst domRef = this.getDomRef();\n\n\t\treturn domRef ? domRef.querySelector<HTMLInputElement>(`input`) : null;\n\t}\n\n\tget nativeInputWidth() {\n\t\treturn this.nativeInput ? this.nativeInput.offsetWidth : 0;\n\t}\n\n\t/**\n\t * Returns if the suggestions popover is scrollable.\n\t * The method returns `Promise` that resolves to true,\n\t * if the popup is scrollable and false otherwise.\n\t */\n\tisSuggestionsScrollable() {\n\t\tif (!this.Suggestions) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\n\t\treturn this.Suggestions?._isScrollable();\n\t}\n\n\tonItemMouseDown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\tonItemSelected(suggestionItem: IInputSuggestionItemSelectable, keyboardUsed: boolean) {\n\t\tconst shouldFireSelectionChange = !keyboardUsed && !suggestionItem?.focused && this.valueBeforeItemSelection !== suggestionItem.text;\n\n\t\tif (shouldFireSelectionChange) {\n\t\t\tthis.fireSelectionChange(suggestionItem, true);\n\t\t}\n\t\tthis.acceptSuggestion(suggestionItem, keyboardUsed);\n\t}\n\n\t_handleSuggestionItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis.Suggestions?.onItemPress(e);\n\t}\n\n\tonItemSelect(item: IInputSuggestionItem) {\n\t\tthis.valueBeforeItemSelection = this.value;\n\t\tthis.updateValueOnSelect(item);\n\t\tthis.announceSelectedItem();\n\n\t\tthis.fireSelectionChange(item, true);\n\t}\n\n\tget _flattenItems(): Array<IInputSuggestionItem> {\n\t\treturn this.getSlottedNodes<IInputSuggestionItem>(\"suggestionItems\").flatMap(item => {\n\t\t\treturn this._isGroupItem(item) ? [item, ...item.items!] : [item];\n\t\t});\n\t}\n\n\tget _selectableItems(): Array<IInputSuggestionItemSelectable> {\n\t\treturn this._flattenItems.filter(item => !this._isGroupItem(item)) as Array<IInputSuggestionItemSelectable>;\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t\"Positive\": Input.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t\"Negative\": Input.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t\"Critical\": Input.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Positive\": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t\"Information\": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t\"Negative\": Input.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": Input.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tannounceSelectedItem() {\n\t\tconst invisibleText = this.shadowRoot!.querySelector(`#selectionText`)!;\n\n\t\tif (invisibleText) {\n\t\t\tinvisibleText.textContent = this.itemSelectionAnnounce;\n\t\t}\n\t}\n\n\tfireSelectionChange(item: IInputSuggestionItem | null, isValueFromSuggestions: boolean) {\n\t\tif (this.Suggestions) {\n\t\t\tthis.fireDecoratorEvent(INPUT_EVENTS.SELECTION_CHANGE, { item });\n\t\t\tthis._isLatestValueFromSuggestions = isValueFromSuggestions;\n\t\t}\n\t}\n\n\tfireResetSelectionChange() {\n\t\tif (this._isLatestValueFromSuggestions) {\n\t\t\tthis.fireSelectionChange(null, false);\n\t\t\tthis.valueBeforeItemSelection = this.value;\n\t\t}\n\t}\n\n\tget _readonly() {\n\t\treturn this.readonly && !this.disabled;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _suggestionsOkButtonText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_OK_BUTTON);\n\t}\n\n\tget _suggestionsCancelButtonText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_CANCEL_BUTTON);\n\t}\n\n\tget clearIconAccessibleName() {\n\t\treturn Input.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);\n\t}\n\n\tget _popupLabel() {\n\t\treturn Input.i18nBundle.getText(INPUT_AVALIABLE_VALUES);\n\t}\n\n\tget inputType(): `${InputType}` {\n\t\treturn this.type;\n\t}\n\tget inputNativeType(): Lowercase<`${InputType}`> {\n\t\treturn this.type.toLowerCase() as Lowercase<`${InputType}`>;\n\t}\n\n\tget isTypeNumber() {\n\t\treturn this.type === InputType.Number;\n\t}\n\n\tget suggestionsTextId() {\n\t\treturn this.showSuggestions ? `suggestionsText` : \"\";\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `valueStateDesc` : \"\";\n\t}\n\n\tget _accInfoAriaDescription() {\n\t\treturn (this._inputAccInfo && this._inputAccInfo.ariaDescription) || \"\";\n\t}\n\n\tget _accInfoAriaDescriptionId() {\n\t\tconst hasAriaDescription = this._accInfoAriaDescription !== \"\";\n\t\treturn hasAriaDescription ? \"descr\" : \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.suggestionsTextId,\n\t\t\tthis.valueStateTextId,\n\t\t\tthis._valueStateLinksShortcutsTextAccId,\n\t\t\tthis._inputAccInfo.ariaDescribedBy,\n\t\t\tthis._accInfoAriaDescriptionId,\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget accInfo() {\n\t\tconst ariaHasPopupDefault = this.showSuggestions ? \"dialog\" : undefined;\n\t\tconst ariaAutoCompleteDefault = this.showSuggestions ? \"list\" as const : undefined;\n\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),\n\t\t\t\"ariaDescribedBy\": this.ariaDescribedByIds || undefined,\n\t\t\t\"ariaInvalid\": this.valueState === ValueState.Negative ? true : undefined,\n\t\t\t\"ariaHasPopup\": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,\n\t\t\t\"ariaAutoComplete\": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,\n\t\t\t\"role\": this._inputAccInfo && this._inputAccInfo.role,\n\t\t\t\"ariaControls\": this._inputAccInfo && this._inputAccInfo.ariaControls,\n\t\t\t\"ariaExpanded\": this._inputAccInfo && this._inputAccInfo.ariaExpanded,\n\t\t\t\"ariaDescription\": this._accInfoAriaDescription,\n\t\t\t\"accessibleDescription\": this.ariaDescriptionText,\n\t\t\t\"ariaLabel\": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || this._accessibleLabelsRefTexts || this.accessibleName || this._associatedLabelsTexts || undefined,\n\t\t};\n\t}\n\n\tget nativeInputAttributes() {\n\t\treturn {\n\t\t\t\"min\": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,\n\t\t\t\"max\": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,\n\t\t\t\"step\": this.isTypeNumber ? (this._nativeInputAttributes.step || \"any\") : undefined,\n\t\t};\n\t}\n\n\tget ariaValueStateHiddenText() {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueState = this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn this.valueStateText ? `${valueState} ${this.valueStateText}` : valueState;\n\t\t}\n\n\t\treturn this.valueStateMessage.length ? `${valueState} ${this.valueStateMessage.map(el => el.textContent).join(\" \")}` : valueState;\n\t}\n\n\tget itemSelectionAnnounce() {\n\t\treturn this.Suggestions ? this.Suggestions.itemSelectionAnnounce : \"\";\n\t}\n\n\tget linksInAriaValueStateHiddenText() {\n\t\tconst links: Array<HTMLElement> = [];\n\t\tif (this.valueStateMessage) {\n\t\t\tthis.valueStateMessage.forEach(element => {\n\t\t\t\tif (element.children.length)\t{\n\t\t\t\t\telement.querySelectorAll(\"ui5-link\").forEach(link => {\n\t\t\t\t\t\tlinks.push(link as HTMLElement);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn links;\n\t}\n\n\tget valueStateLinksShortcutsTextAcc() {\n\t\tconst links = this.linksInAriaValueStateHiddenText;\n\t\tif (!links.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (isMac()) {\n\t\t\treturn links.length === 1\n\t\t\t\t? Input.i18nBundle.getText(VALUE_STATE_LINK_MAC)\n\t\t\t\t: Input.i18nBundle.getText(VALUE_STATE_LINKS_MAC);\n\t\t}\n\n\t\treturn links.length === 1\n\t\t\t? Input.i18nBundle.getText(VALUE_STATE_LINK)\n\t\t\t: Input.i18nBundle.getText(VALUE_STATE_LINKS);\n\t}\n\n\tget _valueStateLinksShortcutsTextAccId() {\n\t\treturn this.linksInAriaValueStateHiddenText.length > 0 ? `hiddenText-value-state-link-shortcut` : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\tconst slottedIconsCount = this.icon ? this.icon.length : 0;\n\t\tconst clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;\n\t\treturn slottedIconsCount + clearIconCount;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": this.showSuggestions,\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && this.showSuggestions && this.hasValueStateMessage,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\n\t\tconst stylesObject = {\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": this._listWidth ? `${this._listWidth}px` : \"\",\n\t\t\t\t\"max-width\": \"inherit\",\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": this._inputWidth ? `${this._inputWidth}px` : \"\",\n\t\t\t\t\"max-width\": this._inputWidth && (this._inputWidth / remSizeInPx) > 40 ? `${this._inputWidth}px` : \"40rem\",\n\t\t\t},\n\t\t\tinnerInput: {\n\t\t\t\t\"padding\": \"\",\n\t\t\t},\n\t\t};\n\n\t\treturn stylesObject;\n\t}\n\n\tget suggestionSeparators() {\n\t\treturn \"None\" as const;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateMessage;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateMessage() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive\n\t\t\t&& (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)\n\t\t\t\t|| !!(this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile\n\t}\n\n\tget valueStateText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings()[this.valueState] : undefined;\n\t}\n\n\tget suggestionsText() {\n\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS);\n\t}\n\n\tget availableSuggestionsCount() {\n\t\tif (this.showSuggestions && (this.value || this.Suggestions?.isOpened())) {\n\t\t\tconst nonGroupItems = this._selectableItems;\n\n\t\t\tswitch (nonGroupItems.length) {\n\t\t\tcase 0:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);\n\n\t\t\tcase 1:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);\n\n\t\t\tdefault:\n\t\t\t\treturn Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, nonGroupItems.length);\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget step() {\n\t\treturn this.isTypeNumber ? \"any\" : undefined;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isSuggestionsFocused() {\n\t\treturn !this.focused && this.Suggestions?.isOpened();\n\t}\n\n\t/**\n\t * Returns the placeholder value.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20ZM7.70711 13.7071C7.31658 14.0976 6.68342 14.0976 6.29289 13.7071C5.90237 13.3166 5.90237 12.6834 6.29289 12.2929L8.58579 10L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L10 8.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L11.4142 10L13.7071 12.2929C14.0976 12.6834 14.0976 13.3166 13.7071 13.7071C13.3166 14.0976 12.6834 14.0976 12.2929 13.7071L10 11.4142L7.70711 13.7071Z\" fill=\"#EE3939\"/>`,\n\t\t\tCritical: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.8619 0.49298C11.6823 0.187541 11.3544 0 11 0C10.6456 0 10.3177 0.187541 10.1381 0.49298L0.138066 17.493C-0.0438112 17.8022 -0.0461447 18.1851 0.13195 18.4965C0.310046 18.8079 0.641283 19 1 19H21C21.3587 19 21.69 18.8079 21.868 18.4965C22.0461 18.1851 22.0438 17.8022 21.8619 17.493L11.8619 0.49298ZM11 6C11.5523 6 12 6.44772 12 7V10C12 10.5523 11.5523 11 11 11C10.4477 11 10 10.5523 10 10V7C10 6.44772 10.4477 6 11 6ZM11 16C11.8284 16 12.5 15.3284 12.5 14.5C12.5 13.6716 11.8284 13 11 13C10.1716 13 9.5 13.6716 9.5 14.5C9.5 15.3284 10.1716 16 11 16Z\" fill=\"#F58B00\"/>`,\n\t\t\tPositive: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 10C0 15.5228 4.47715 20 10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10ZM14.7071 6.29289C14.3166 5.90237 13.6834 5.90237 13.2929 6.29289L8 11.5858L6.70711 10.2929C6.31658 9.90237 5.68342 9.90237 5.29289 10.2929C4.90237 10.6834 4.90237 11.3166 5.29289 11.7071L7.29289 13.7071C7.68342 14.0976 8.31658 14.0976 8.70711 13.7071L14.7071 7.70711C15.0976 7.31658 15.0976 6.68342 14.7071 6.29289Z\" fill=\"#36A41D\"/>`,\n\t\t\tInformation: `<path xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3 0C1.34315 0 0 1.34315 0 3V15C0 16.6569 1.34315 18 3 18H15C16.6569 18 18 16.6569 18 15V3C18 1.34315 16.6569 0 15 0H3ZM9 6.5C9.82843 6.5 10.5 5.82843 10.5 5C10.5 4.17157 9.82843 3.5 9 3.5C8.17157 3.5 7.5 4.17157 7.5 5C7.5 5.82843 8.17157 6.5 9 6.5ZM9 8.5C9.55228 8.5 10 8.94772 10 9.5V13.5C10 14.0523 9.55228 14.5 9 14.5C8.44771 14.5 8 14.0523 8 13.5V9.5C8 8.94772 8.44771 8.5 9 8.5Z\" fill=\"#1B90FF\"/>`,\n\t\t};\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\treturn `\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n\t\t\t\t${iconPerValueState[this.valueState]};\n\t\t\t</svg>\n\t\t\t`;\n\t\t}\n\n\t\treturn \"\";\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\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"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\t/**\n\t * Returns the caret position inside the native input\n\t * @protected\n\t */\n\tgetCaretPosition(): number | null {\n\t\treturn getCaretPosition(this.nativeInput!);\n\t}\n\n\t/**\n\t * Sets the caret to a certain position inside the native input\n\t * @protected\n\t */\n\tsetCaretPosition(pos: number | null) {\n\t\tsetCaretPosition(this.nativeInput!, pos);\n\t}\n\n\t/**\n\t * Removes the fractional part of floating-point number.\n\t * @param value the numeric value of Input of type \"Number\"\n\t */\n\tremoveFractionalPart(value: string) {\n\t\tif (value.includes(\".\")) {\n\t\t\treturn value.slice(0, value.indexOf(\".\"));\n\t\t}\n\t\tif (value.includes(\",\")) {\n\t\t\treturn value.slice(0, value.indexOf(\",\"));\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tstatic SuggestionsClass?: typeof InputSuggestions;\n}\n\nInput.define();\n\nexport default Input;\nexport type {\n\tInputAccInfo,\n\tIInputSuggestionItem,\n\tIInputSuggestionItemSelectable,\n\tInputSuggestionScrollEventDetail,\n\tInputSelectionChangeEventDetail,\n\tInputEventDetail,\n};\n"]}
|
|
@@ -4,12 +4,13 @@ import error from "@ui5/webcomponents-icons/dist/error.js";
|
|
|
4
4
|
import alert from "@ui5/webcomponents-icons/dist/alert.js";
|
|
5
5
|
import sysEnter2 from "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
6
6
|
import information from "@ui5/webcomponents-icons/dist/information.js";
|
|
7
|
+
import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
|
|
7
8
|
import Popover from "./Popover.js";
|
|
8
9
|
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
9
10
|
export default function InputPopoverTemplate(hooks) {
|
|
10
11
|
const suggestionsList = hooks?.suggestionsList;
|
|
11
12
|
return (_jsxs(_Fragment, { children: [this._effectiveShowSuggestions && this.Suggestions?.template.call(this, { suggestionsList, valueStateMessage, valueStateMessageInputIcon }), this.hasValueStateMessage &&
|
|
12
|
-
_jsx(Popover, { preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, class: "ui5-valuestatemessage-popover", placement: "Bottom", tabindex: -1, horizontalAlign:
|
|
13
|
+
_jsx(Popover, { preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, class: "ui5-valuestatemessage-popover", placement: "Bottom", tabindex: -1, horizontalAlign: PopoverHorizontalAlign.Start, opener: this, open: this.valueStateOpen, onClose: this._handleValueStatePopoverAfterClose, children: _jsxs("div", { slot: "header", class: this.classes.popoverValueState, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: valueStateMessageInputIcon.call(this) }), this.valueStateOpen && valueStateMessage.call(this)] }) })] }));
|
|
13
14
|
}
|
|
14
15
|
function valueStateMessage() {
|
|
15
16
|
return (_jsx(_Fragment, { children: this.shouldDisplayDefaultValueStateMessage ? this.valueStateText : _jsx("slot", { name: "valueStateMessage" }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPopoverTemplate.js","sourceRoot":"","sources":["../src/InputPopoverTemplate.tsx"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,SAAS,MAAM,8CAA8C,CAAC;AACrE,OAAO,WAAW,MAAM,8CAA8C,CAAC;AAEvE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAc,KAAgE;IACzH,MAAM,eAAe,GAAG,KAAK,EAAE,eAAe,CAAC;IAE/C,OAAO,CACN,8BACE,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC,EAE3I,IAAI,CAAC,oBAAoB;gBACzB,KAAC,OAAO,IACP,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,IAAI,EACf,KAAK,EAAC,+BAA+B,EACrC,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EACZ,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"InputPopoverTemplate.js","sourceRoot":"","sources":["../src/InputPopoverTemplate.tsx"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,SAAS,MAAM,8CAA8C,CAAC;AACrE,OAAO,WAAW,MAAM,8CAA8C,CAAC;AAEvE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAE1E,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAc,KAAgE;IACzH,MAAM,eAAe,GAAG,KAAK,EAAE,eAAe,CAAC;IAE/C,OAAO,CACN,8BACE,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC,EAE3I,IAAI,CAAC,oBAAoB;gBACzB,KAAC,OAAO,IACP,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,IAAI,EACf,KAAK,EAAC,+BAA+B,EACrC,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EACZ,eAAe,EAAE,sBAAsB,CAAC,KAAK,EAC7C,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,CAAC,cAAc,EACzB,OAAO,EAAE,IAAI,CAAC,kCAAkC,YAEhD,eAAK,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,aACvD,KAAC,IAAI,IAAC,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAE,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,EAC9F,IAAI,CAAC,cAAc,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAChD,GACG,IAET,CACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACzB,OAAO,CACN,4BAEE,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,eAAM,IAAI,EAAC,mBAAmB,GAAQ,GAExG,CACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B;IAClC,MAAM,iBAAiB,GAAG;QACzB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,WAAW;KACxB,CAAC;IAEF,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC","sourcesContent":["import type { JsxTemplateResult } from \"@ui5/webcomponents-base/dist/index.js\";\nimport type Input from \"./Input.js\";\nimport Icon from \"./Icon.js\";\nimport error from \"@ui5/webcomponents-icons/dist/error.js\";\nimport alert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport sysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport information from \"@ui5/webcomponents-icons/dist/information.js\";\n\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport Popover from \"./Popover.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\n\nexport default function InputPopoverTemplate(this: Input, hooks?: { suggestionsList?: (this: Input) => JsxTemplateResult }) {\n\tconst suggestionsList = hooks?.suggestionsList;\n\n\treturn (\n\t\t<>\n\t\t\t{this._effectiveShowSuggestions && this.Suggestions?.template.call(this, { suggestionsList, valueStateMessage, valueStateMessageInputIcon }) }\n\n\t\t\t{this.hasValueStateMessage &&\n\t\t\t\t<Popover\n\t\t\t\t\tpreventInitialFocus={true}\n\t\t\t\t\tpreventFocusRestore={true}\n\t\t\t\t\thideArrow={true}\n\t\t\t\t\tclass=\"ui5-valuestatemessage-popover\"\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\ttabindex={-1}\n\t\t\t\t\thorizontalAlign={PopoverHorizontalAlign.Start}\n\t\t\t\t\topener={this}\n\t\t\t\t\topen={this.valueStateOpen}\n\t\t\t\t\tonClose={this._handleValueStatePopoverAfterClose}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"header\" class={this.classes.popoverValueState}>\n\t\t\t\t\t\t<Icon class=\"ui5-input-value-state-message-icon\" name={valueStateMessageInputIcon.call(this)} />\n\t\t\t\t\t\t{ this.valueStateOpen && valueStateMessage.call(this) }\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction valueStateMessage(this: Input) {\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\tthis.shouldDisplayDefaultValueStateMessage ? this.valueStateText : <slot name=\"valueStateMessage\"></slot>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction valueStateMessageInputIcon(this: Input) {\n\tconst iconPerValueState = {\n\t\tNegative: error,\n\t\tCritical: alert,\n\t\tPositive: sysEnter2,\n\t\tInformation: information,\n\t};\n\n\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n}\n"]}
|
package/dist/MenuItem.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { ListItemAccessibilityAttributes } from "./ListItem.js";
|
|
|
7
7
|
import type List from "./List.js";
|
|
8
8
|
import ListItem from "./ListItem.js";
|
|
9
9
|
import type ResponsivePopover from "./ResponsivePopover.js";
|
|
10
|
-
import type PopoverPlacement from "./types/PopoverPlacement.js";
|
|
11
10
|
import type { IMenuItem } from "./Menu.js";
|
|
12
11
|
type MenuBeforeOpenEventDetail = {
|
|
13
12
|
item?: MenuItem;
|
|
@@ -194,7 +193,6 @@ declare class MenuItem extends ListItem implements IMenuItem {
|
|
|
194
193
|
get _navigableItems(): Array<HTMLElement>;
|
|
195
194
|
get _isCheckable(): boolean;
|
|
196
195
|
_navigateToEndContent(shouldNavigateToPreviousItem: boolean): void;
|
|
197
|
-
get placement(): `${PopoverPlacement}`;
|
|
198
196
|
get isRtl(): boolean;
|
|
199
197
|
get hasSubmenu(): boolean;
|
|
200
198
|
get hasEndContent(): boolean;
|
package/dist/MenuItem.js
CHANGED
|
@@ -128,9 +128,6 @@ let MenuItem = MenuItem_1 = class MenuItem extends ListItem {
|
|
|
128
128
|
this._itemNavigation._focusCurrentItem();
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
get placement() {
|
|
132
|
-
return this.isRtl ? "Start" : "End";
|
|
133
|
-
}
|
|
134
131
|
get isRtl() {
|
|
135
132
|
return this.effectiveDir === "rtl";
|
|
136
133
|
}
|