@ui5/webcomponents 0.0.0-389bdbabc → 0.0.0-453158269
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 +1312 -1
- package/README.md +150 -41
- package/customI18n.js +50 -0
- package/dist/Assets-static.js +6 -0
- package/dist/Assets.js +3 -2
- package/dist/Avatar.js +224 -40
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +33 -28
- package/dist/Breadcrumbs.js +632 -0
- package/dist/BreadcrumbsItem.js +103 -0
- package/dist/BusyIndicator.js +171 -19
- package/dist/Button.js +232 -55
- package/dist/Calendar.js +352 -554
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +133 -64
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +45 -159
- package/dist/CardHeader.js +283 -0
- package/dist/Carousel.js +690 -0
- package/dist/CheckBox.js +200 -55
- package/dist/ColorPalette.js +494 -0
- package/dist/ColorPaletteItem.js +137 -0
- package/dist/ColorPalettePopover.js +244 -0
- package/dist/ColorPicker.js +609 -0
- package/dist/ComboBox.js +779 -118
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +33 -30
- package/dist/CustomListItem.js +38 -9
- package/dist/DateComponentBase.js +168 -0
- package/dist/DatePicker.js +498 -377
- package/dist/DateRangePicker.js +356 -0
- package/dist/DateTimePicker.js +433 -0
- package/dist/DayPicker.js +513 -437
- package/dist/Dialog.js +514 -47
- package/dist/DurationPicker.js +312 -0
- package/dist/FileUploader.js +531 -0
- package/dist/Filters.js +28 -0
- package/dist/GroupHeaderListItem.js +36 -8
- package/dist/Icon.js +282 -47
- package/dist/Input.js +1138 -118
- package/dist/Interfaces.js +202 -0
- package/dist/Label.js +34 -13
- package/dist/Link.js +174 -37
- package/dist/List.js +615 -81
- package/dist/ListItem.js +182 -32
- package/dist/ListItemBase.js +55 -9
- package/dist/Menu.js +500 -0
- package/dist/MenuItem.js +162 -0
- package/dist/MessageStrip.js +111 -93
- package/dist/MonthPicker.js +181 -184
- package/dist/MultiComboBox.js +1091 -169
- package/dist/MultiComboBoxGroupItem.js +67 -0
- package/dist/MultiComboBoxItem.js +43 -0
- package/dist/MultiInput.js +359 -0
- package/dist/Option.js +69 -5
- package/dist/Panel.js +135 -44
- package/dist/Popover.js +391 -257
- package/dist/Popup.js +432 -273
- package/dist/ProgressIndicator.js +240 -0
- package/dist/RadioButton.js +175 -67
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +819 -0
- package/dist/RatingIndicator.js +323 -0
- package/dist/ResponsivePopover.js +215 -0
- package/dist/SegmentedButton.js +303 -0
- package/dist/SegmentedButtonItem.js +114 -0
- package/dist/Select.js +533 -111
- package/dist/Slider.js +337 -0
- package/dist/SliderBase.js +815 -0
- package/dist/SplitButton.js +440 -0
- package/dist/StandardListItem.js +46 -24
- package/dist/StepInput.js +684 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +146 -0
- package/dist/SuggestionListItem.js +76 -0
- package/dist/Switch.js +89 -46
- package/dist/Tab.js +282 -21
- package/dist/TabContainer.js +955 -280
- package/dist/TabSeparator.js +44 -4
- package/dist/Table.js +955 -31
- package/dist/TableCell.js +13 -15
- package/dist/TableColumn.js +17 -13
- package/dist/TableGroupRow.js +167 -0
- package/dist/TableRow.js +305 -30
- package/dist/TextArea.js +327 -40
- package/dist/TimePicker.js +164 -0
- package/dist/TimePickerBase.js +472 -0
- package/dist/TimeSelection.js +500 -0
- package/dist/Title.js +18 -10
- package/dist/Toast.js +63 -37
- package/dist/ToggleButton.js +26 -13
- package/dist/Token.js +88 -49
- package/dist/Tokenizer.js +466 -64
- package/dist/Tree.js +447 -0
- package/dist/TreeItem.js +189 -0
- package/dist/TreeListItem.js +343 -0
- package/dist/WheelSlider.js +442 -0
- package/dist/YearPicker.js +201 -258
- package/dist/api.json +7488 -0
- package/dist/css/themes/Avatar.css +1 -0
- package/dist/css/themes/AvatarGroup.css +1 -0
- package/dist/css/themes/Badge.css +1 -0
- package/dist/css/themes/Breadcrumbs.css +1 -0
- package/dist/css/themes/BreadcrumbsPopover.css +1 -0
- package/dist/css/themes/BrowserScrollbar.css +1 -0
- package/dist/css/themes/BusyIndicator.css +1 -0
- package/dist/css/themes/Button.css +1 -0
- package/dist/css/themes/Button.ie11.css +1 -0
- package/dist/css/themes/Calendar.css +1 -0
- package/dist/css/themes/CalendarHeader.css +1 -0
- package/dist/css/themes/Card.css +1 -0
- package/dist/css/themes/CardHeader.css +1 -0
- package/dist/css/themes/Carousel.css +1 -0
- package/dist/css/themes/CheckBox.css +1 -0
- package/dist/css/themes/ColorPalette.css +1 -0
- package/dist/css/themes/ColorPaletteItem.css +1 -0
- package/dist/css/themes/ColorPalettePopover.css +1 -0
- package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
- package/dist/css/themes/ColorPicker.css +1 -0
- package/dist/css/themes/ComboBox.css +1 -0
- package/dist/css/themes/ComboBoxPopover.css +1 -0
- package/dist/css/themes/CustomListItem.css +1 -0
- package/dist/css/themes/DatePicker.css +1 -0
- package/dist/css/themes/DatePickerPopover.css +1 -0
- package/dist/css/themes/DateRangePicker.css +1 -0
- package/dist/css/themes/DateTimePicker.css +1 -0
- package/dist/css/themes/DateTimePickerPopover.css +1 -0
- package/dist/css/themes/DayPicker.css +1 -0
- package/dist/css/themes/Dialog.css +1 -0
- package/dist/css/themes/FileUploader.css +1 -0
- package/dist/css/themes/GroupHeaderListItem.css +1 -0
- package/dist/css/themes/GrowingButton.css +1 -0
- package/dist/css/themes/Icon.css +1 -0
- package/dist/css/themes/Input.css +1 -0
- package/dist/css/themes/InputIcon.css +1 -0
- package/dist/css/themes/InvisibleTextStyles.css +1 -0
- package/dist/css/themes/Label.css +1 -0
- package/dist/css/themes/Link.css +1 -0
- package/dist/css/themes/List.css +1 -0
- package/dist/css/themes/ListItem.css +1 -0
- package/dist/css/themes/ListItemBase.css +1 -0
- package/dist/css/themes/Menu.css +1 -0
- package/dist/css/themes/MessageStrip.css +1 -0
- package/dist/css/themes/MonthPicker.css +1 -0
- package/dist/css/themes/MultiComboBox.css +1 -0
- package/dist/css/themes/MultiComboBoxPopover.css +1 -0
- package/dist/css/themes/MultiInput.css +1 -0
- package/dist/css/themes/Panel.css +1 -0
- package/dist/css/themes/Popover.css +1 -0
- package/dist/css/themes/Popup.css +1 -0
- package/dist/css/themes/PopupGlobal.css +1 -0
- package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
- package/dist/css/themes/PopupsCommon.css +1 -0
- package/dist/css/themes/ProgressIndicator.css +1 -0
- package/dist/css/themes/RadioButton.css +1 -0
- package/dist/css/themes/RangeSlider.css +1 -0
- package/dist/css/themes/RatingIndicator.css +1 -0
- package/dist/css/themes/ResponsivePopover.css +1 -0
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
- package/dist/css/themes/SegmentedButton.css +1 -0
- package/dist/css/themes/Select.css +1 -0
- package/dist/css/themes/SelectPopover.css +1 -0
- package/dist/css/themes/SliderBase.css +1 -0
- package/dist/css/themes/SplitButton.css +1 -0
- package/dist/css/themes/StepInput.css +1 -0
- package/dist/css/themes/Suggestions.css +1 -0
- package/dist/css/themes/Switch.css +1 -0
- package/dist/css/themes/Tab.css +1 -0
- package/dist/css/themes/TabContainer.css +1 -0
- package/dist/css/themes/TabInOverflow.css +1 -0
- package/dist/css/themes/TabInStrip.css +1 -0
- package/dist/css/themes/TabSemanticIcon.css +1 -0
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
- package/dist/css/themes/TabSeparatorInStrip.css +1 -0
- package/dist/css/themes/Table.css +1 -0
- package/dist/css/themes/TableCell.css +1 -0
- package/dist/css/themes/TableColumn.css +1 -0
- package/dist/css/themes/TableGroupRow.css +1 -0
- package/dist/css/themes/TableRow.css +1 -0
- package/dist/css/themes/TapHighlightColor.css +1 -0
- package/dist/css/themes/TextArea.css +1 -0
- package/dist/css/themes/TimePicker.css +1 -0
- package/dist/css/themes/TimePickerPopover.css +1 -0
- package/dist/css/themes/TimeSelection.css +1 -0
- package/dist/css/themes/Title.css +1 -0
- package/dist/css/themes/Toast.css +1 -0
- package/dist/css/themes/ToggleButton.css +1 -0
- package/dist/css/themes/ToggleButton.ie11.css +1 -0
- package/dist/css/themes/Token.css +1 -0
- package/dist/css/themes/Tokenizer.css +1 -0
- package/dist/css/themes/TokenizerPopover.css +1 -0
- package/dist/css/themes/Tree.css +1 -0
- package/dist/css/themes/TreeListItem.css +1 -0
- package/dist/css/themes/ValueStateMessage.css +1 -0
- package/dist/css/themes/WheelSlider.css +1 -0
- package/dist/css/themes/YearPicker.css +1 -0
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +43 -6
- package/dist/features/InputSuggestions.js +372 -54
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -0
- 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 -0
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -0
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/json-imports/Themes-static.js +41 -0
- package/dist/generated/json-imports/Themes.js +27 -14
- package/dist/generated/json-imports/i18n-static.js +162 -0
- package/dist/generated/json-imports/i18n.js +113 -89
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -5
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -8
- package/dist/generated/templates/CarouselTemplate.lit.js +16 -0
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
- package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
- package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
- package/dist/generated/templates/ComboBoxTemplate.lit.js +7 -5
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -4
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +12 -0
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
- package/dist/generated/templates/DialogTemplate.lit.js +9 -8
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +11 -0
- package/dist/generated/templates/FileUploaderTemplate.lit.js +10 -0
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
- package/dist/generated/templates/IconTemplate.lit.js +6 -6
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -6
- package/dist/generated/templates/InputTemplate.lit.js +9 -8
- package/dist/generated/templates/LabelTemplate.lit.js +4 -4
- package/dist/generated/templates/LinkTemplate.lit.js +5 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -12
- package/dist/generated/templates/ListTemplate.lit.js +12 -8
- package/dist/generated/templates/MenuTemplate.lit.js +15 -0
- package/dist/generated/templates/MessageStripTemplate.lit.js +6 -22
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -7
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +9 -8
- package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
- package/dist/generated/templates/PanelTemplate.lit.js +9 -6
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -7
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
- package/dist/generated/templates/PopupTemplate.lit.js +4 -4
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
- package/dist/generated/templates/RangeSliderTemplate.lit.js +16 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +16 -0
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +19 -0
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +7 -0
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
- package/dist/generated/templates/SelectTemplate.lit.js +6 -4
- package/dist/generated/templates/SliderBaseTemplate.lit.js +14 -0
- package/dist/generated/templates/SliderTemplate.lit.js +15 -0
- package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -18
- package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +5 -8
- package/dist/generated/templates/TabContainerTemplate.lit.js +13 -18
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +11 -0
- package/dist/generated/templates/TabInStripTemplate.lit.js +14 -0
- package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
- package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
- package/dist/generated/templates/TabTemplate.lit.js +5 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -6
- package/dist/generated/templates/TableTemplate.lit.js +13 -8
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +11 -0
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +7 -0
- package/dist/generated/templates/TimePickerTemplate.lit.js +9 -0
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -10
- package/dist/generated/templates/ToastTemplate.lit.js +5 -4
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/TokenTemplate.lit.js +7 -5
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
- package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
- package/dist/generated/templates/TreeTemplate.lit.js +8 -0
- package/dist/generated/templates/WheelSliderTemplate.lit.js +10 -0
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
- package/dist/generated/themes/Avatar.css.js +6 -7
- package/dist/generated/themes/AvatarGroup.css.js +8 -0
- package/dist/generated/themes/Badge.css.js +6 -7
- package/dist/generated/themes/Breadcrumbs.css.js +8 -0
- package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
- package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js +6 -7
- package/dist/generated/themes/Button.css.js +6 -7
- package/dist/generated/themes/Button.ie11.css.js +8 -0
- package/dist/generated/themes/Calendar.css.js +6 -7
- package/dist/generated/themes/CalendarHeader.css.js +6 -7
- package/dist/generated/themes/Card.css.js +6 -7
- package/dist/generated/themes/CardHeader.css.js +8 -0
- package/dist/generated/themes/Carousel.css.js +8 -0
- package/dist/generated/themes/CheckBox.css.js +6 -7
- package/dist/generated/themes/ColorPalette.css.js +8 -0
- package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
- package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
- package/dist/generated/themes/ColorPicker.css.js +8 -0
- package/dist/generated/themes/ComboBox.css.js +6 -7
- package/dist/generated/themes/ComboBoxPopover.css.js +6 -7
- package/dist/generated/themes/CustomListItem.css.js +6 -7
- package/dist/generated/themes/DatePicker.css.js +6 -7
- package/dist/generated/themes/DatePickerPopover.css.js +8 -0
- package/dist/generated/themes/DateRangePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePickerPopover.css.js +8 -0
- package/dist/generated/themes/DayPicker.css.js +6 -7
- package/dist/generated/themes/Dialog.css.js +6 -7
- package/dist/generated/themes/FileUploader.css.js +8 -0
- package/dist/generated/themes/GroupHeaderListItem.css.js +6 -7
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +6 -7
- package/dist/generated/themes/Input.css.js +6 -7
- package/dist/generated/themes/InputIcon.css.js +6 -7
- package/dist/generated/themes/InvisibleTextStyles.css.js +6 -7
- package/dist/generated/themes/Label.css.js +6 -7
- package/dist/generated/themes/Link.css.js +6 -7
- package/dist/generated/themes/List.css.js +6 -7
- package/dist/generated/themes/ListItem.css.js +6 -7
- package/dist/generated/themes/ListItemBase.css.js +6 -7
- package/dist/generated/themes/Menu.css.js +8 -0
- package/dist/generated/themes/MessageStrip.css.js +6 -7
- package/dist/generated/themes/MonthPicker.css.js +6 -7
- package/dist/generated/themes/MultiComboBox.css.js +6 -7
- package/dist/generated/themes/MultiComboBoxPopover.css.js +8 -0
- package/dist/generated/themes/MultiInput.css.js +8 -0
- package/dist/generated/themes/Panel.css.js +6 -7
- package/dist/generated/themes/Popover.css.js +6 -7
- package/dist/generated/themes/Popup.css.js +6 -7
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
- package/dist/generated/themes/PopupsCommon.css.js +8 -0
- package/dist/generated/themes/ProgressIndicator.css.js +8 -0
- package/dist/generated/themes/RadioButton.css.js +6 -7
- package/dist/generated/themes/RangeSlider.css.js +8 -0
- package/dist/generated/themes/RatingIndicator.css.js +8 -0
- package/dist/generated/themes/ResponsivePopover.css.js +8 -0
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +8 -0
- package/dist/generated/themes/SegmentedButton.css.js +8 -0
- package/dist/generated/themes/Select.css.js +6 -7
- package/dist/generated/themes/SelectPopover.css.js +8 -0
- package/dist/generated/themes/SliderBase.css.js +8 -0
- package/dist/generated/themes/SplitButton.css.js +8 -0
- package/dist/generated/themes/StepInput.css.js +8 -0
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +6 -7
- package/dist/generated/themes/Tab.css.js +6 -7
- package/dist/generated/themes/TabContainer.css.js +6 -7
- package/dist/generated/themes/TabInOverflow.css.js +8 -0
- package/dist/generated/themes/TabInStrip.css.js +8 -0
- package/dist/generated/themes/TabSemanticIcon.css.js +8 -0
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
- package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
- package/dist/generated/themes/Table.css.js +6 -7
- package/dist/generated/themes/TableCell.css.js +6 -7
- package/dist/generated/themes/TableColumn.css.js +6 -7
- package/dist/generated/themes/TableGroupRow.css.js +8 -0
- package/dist/generated/themes/TableRow.css.js +6 -7
- package/dist/generated/themes/TapHighlightColor.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js +6 -7
- package/dist/generated/themes/TimePicker.css.js +8 -0
- package/dist/generated/themes/TimePickerPopover.css.js +8 -0
- package/dist/generated/themes/TimeSelection.css.js +8 -0
- package/dist/generated/themes/Title.css.js +6 -7
- package/dist/generated/themes/Toast.css.js +6 -7
- package/dist/generated/themes/ToggleButton.css.js +6 -7
- package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
- package/dist/generated/themes/Token.css.js +6 -7
- package/dist/generated/themes/Tokenizer.css.js +6 -7
- package/dist/generated/themes/TokenizerPopover.css.js +8 -0
- package/dist/generated/themes/Tree.css.js +8 -0
- package/dist/generated/themes/TreeListItem.css.js +8 -0
- package/dist/generated/themes/ValueStateMessage.css.js +8 -0
- package/dist/generated/themes/WheelSlider.css.js +8 -0
- package/dist/generated/themes/YearPicker.css.js +6 -7
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -0
- package/dist/i18n/messagebundle.properties +389 -0
- package/dist/i18n/messagebundle_ar.properties +260 -0
- package/dist/i18n/messagebundle_bg.properties +260 -0
- package/dist/i18n/messagebundle_ca.properties +260 -0
- package/dist/i18n/messagebundle_cs.properties +260 -0
- package/dist/i18n/messagebundle_cy.properties +260 -0
- package/dist/i18n/messagebundle_da.properties +260 -0
- package/dist/i18n/messagebundle_de.properties +260 -0
- package/dist/i18n/messagebundle_el.properties +260 -0
- package/dist/i18n/messagebundle_en.properties +260 -0
- package/dist/i18n/messagebundle_en_GB.properties +260 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +246 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +260 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +246 -0
- package/dist/i18n/messagebundle_es.properties +260 -0
- package/dist/i18n/messagebundle_es_MX.properties +260 -0
- package/dist/i18n/messagebundle_et.properties +260 -0
- package/dist/i18n/messagebundle_fi.properties +260 -0
- package/dist/i18n/messagebundle_fr.properties +260 -0
- package/dist/i18n/messagebundle_fr_CA.properties +260 -0
- package/dist/i18n/messagebundle_hi.properties +260 -0
- package/dist/i18n/messagebundle_hr.properties +260 -0
- package/dist/i18n/messagebundle_hu.properties +260 -0
- package/dist/i18n/messagebundle_id.properties +260 -0
- package/dist/i18n/messagebundle_in.properties +172 -0
- package/dist/i18n/messagebundle_it.properties +260 -0
- package/dist/i18n/messagebundle_iw.properties +260 -0
- package/dist/i18n/messagebundle_ja.properties +260 -0
- package/dist/i18n/messagebundle_kk.properties +260 -0
- package/dist/i18n/messagebundle_ko.properties +260 -0
- package/dist/i18n/messagebundle_lt.properties +260 -0
- package/dist/i18n/messagebundle_lv.properties +260 -0
- package/dist/i18n/messagebundle_ms.properties +260 -0
- package/dist/i18n/messagebundle_nl.properties +260 -0
- package/dist/i18n/messagebundle_no.properties +260 -0
- package/dist/i18n/messagebundle_pl.properties +260 -0
- package/dist/i18n/messagebundle_pt.properties +260 -0
- package/dist/i18n/messagebundle_pt_PT.properties +260 -0
- package/dist/i18n/messagebundle_ro.properties +260 -0
- package/dist/i18n/messagebundle_ru.properties +260 -0
- package/dist/i18n/messagebundle_sh.properties +260 -0
- package/dist/i18n/messagebundle_sk.properties +260 -0
- package/dist/i18n/messagebundle_sl.properties +260 -0
- package/dist/i18n/messagebundle_sv.properties +260 -0
- package/dist/i18n/messagebundle_th.properties +260 -0
- package/dist/i18n/messagebundle_tr.properties +260 -0
- package/dist/i18n/messagebundle_uk.properties +260 -0
- package/dist/i18n/messagebundle_vi.properties +260 -0
- package/dist/i18n/messagebundle_zh_CN.properties +260 -0
- package/dist/i18n/messagebundle_zh_TW.properties +260 -0
- package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
- package/dist/popup-utils/PopoverRegistry.js +55 -21
- package/dist/timepicker-utils/TimeSlider.js +103 -0
- package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +40 -0
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/HasPopup.js +62 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +48 -0
- package/dist/types/ListItemType.js +8 -1
- package/dist/types/ListMode.js +9 -1
- package/dist/types/ListSeparators.js +1 -1
- package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/dist/types/PanelAccessibleRole.js +1 -1
- package/dist/types/PopoverHorizontalAlign.js +1 -1
- package/dist/types/PopoverPlacementType.js +2 -2
- package/dist/types/PopoverVerticalAlign.js +1 -2
- package/dist/types/Priority.js +55 -0
- package/dist/types/SemanticColor.js +1 -1
- package/dist/types/SwitchDesign.js +40 -0
- package/dist/types/TabContainerTabsPlacement.js +40 -0
- package/dist/types/TabLayout.js +40 -0
- package/dist/types/TableGrowingMode.js +48 -0
- package/dist/types/TableMode.js +47 -0
- package/dist/types/TableRowType.js +40 -0
- package/dist/types/TabsOverflowMode.js +40 -0
- package/dist/types/TitleLevel.js +1 -1
- package/dist/types/ToastPlacement.js +1 -2
- package/dist/types/WrappingType.js +41 -0
- package/package-scripts.js +1 -0
- package/package.json +22 -6
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +7 -0
- package/src/Avatar.hbs +20 -0
- package/src/Avatar.js +392 -0
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +9 -0
- package/src/Badge.js +150 -0
- package/src/Breadcrumbs.hbs +44 -0
- package/src/Breadcrumbs.js +632 -0
- package/src/BreadcrumbsItem.js +103 -0
- package/src/BreadcrumbsPopover.hbs +28 -0
- package/src/BusyIndicator.hbs +32 -0
- package/src/BusyIndicator.js +268 -0
- package/src/Button.hbs +44 -0
- package/src/Button.js +509 -0
- package/src/Calendar.hbs +69 -0
- package/src/Calendar.js +496 -0
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +51 -0
- package/src/CalendarHeader.js +209 -0
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +13 -0
- package/src/Card.js +160 -0
- package/src/CardHeader.hbs +45 -0
- package/src/CardHeader.js +283 -0
- package/src/Carousel.hbs +86 -0
- package/src/Carousel.js +690 -0
- package/src/CheckBox.hbs +45 -0
- package/src/CheckBox.js +469 -0
- package/src/ColorPalette.hbs +52 -0
- package/src/ColorPalette.js +494 -0
- package/src/ColorPaletteDialog.hbs +18 -0
- package/src/ColorPaletteItem.hbs +11 -0
- package/src/ColorPaletteItem.js +137 -0
- package/src/ColorPalettePopover.hbs +31 -0
- package/src/ColorPalettePopover.js +244 -0
- package/src/ColorPicker.hbs +106 -0
- package/src/ColorPicker.js +609 -0
- package/src/ComboBox.hbs +45 -0
- package/src/ComboBox.js +1119 -0
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +49 -0
- package/src/ComboBoxPopover.hbs +126 -0
- package/src/CustomListItem.hbs +5 -0
- package/src/CustomListItem.js +99 -0
- package/src/DateComponentBase.js +168 -0
- package/src/DatePicker.hbs +43 -0
- package/src/DatePicker.js +839 -0
- package/src/DatePickerPopover.hbs +61 -0
- package/src/DateRangePicker.js +356 -0
- package/src/DateTimePicker.js +433 -0
- package/src/DateTimePickerPopover.hbs +76 -0
- package/src/DayPicker.hbs +66 -0
- package/src/DayPicker.js +754 -0
- package/src/Dialog.hbs +35 -0
- package/src/Dialog.js +614 -0
- package/src/DurationPicker.js +312 -0
- package/src/FileUploader.hbs +40 -0
- package/src/FileUploader.js +531 -0
- package/src/FileUploaderPopover.hbs +26 -0
- package/src/Filters.js +28 -0
- package/src/GroupHeaderListItem.hbs +15 -0
- package/src/GroupHeaderListItem.js +94 -0
- package/src/Icon.hbs +25 -0
- package/src/Icon.js +430 -0
- package/src/Input.hbs +78 -0
- package/src/Input.js +1679 -0
- package/src/InputPopover.hbs +117 -0
- package/src/Interfaces.js +202 -0
- package/src/Label.hbs +12 -0
- package/src/Label.js +158 -0
- package/src/Link.hbs +21 -0
- package/src/Link.js +378 -0
- package/src/List.hbs +90 -0
- package/src/List.js +1106 -0
- package/src/ListItem.hbs +103 -0
- package/src/ListItem.js +396 -0
- package/src/ListItemBase.js +181 -0
- package/src/Menu.hbs +100 -0
- package/src/Menu.js +500 -0
- package/src/MenuItem.js +162 -0
- package/src/MessageStrip.hbs +33 -0
- package/src/MessageStrip.js +256 -0
- package/src/MonthPicker.hbs +29 -0
- package/src/MonthPicker.js +299 -0
- package/src/MultiComboBox.hbs +74 -0
- package/src/MultiComboBox.js +1515 -0
- package/src/MultiComboBoxGroupItem.js +67 -0
- package/src/MultiComboBoxItem.js +43 -0
- package/src/MultiComboBoxPopover.hbs +140 -0
- package/src/MultiInput.hbs +41 -0
- package/src/MultiInput.js +359 -0
- package/src/Option.js +136 -0
- package/src/Panel.hbs +67 -0
- package/src/Panel.js +471 -0
- package/src/Popover.hbs +25 -0
- package/src/Popover.js +825 -0
- package/src/Popup.hbs +33 -0
- package/src/Popup.js +620 -0
- package/src/PopupBlockLayer.hbs +7 -0
- package/src/ProgressIndicator.hbs +34 -0
- package/src/ProgressIndicator.js +240 -0
- package/src/RadioButton.hbs +32 -0
- package/src/RadioButton.js +515 -0
- package/src/RadioButtonGroup.js +205 -0
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +819 -0
- package/src/RatingIndicator.hbs +49 -0
- package/src/RatingIndicator.js +323 -0
- package/src/ResponsivePopover.hbs +41 -0
- package/src/ResponsivePopover.js +215 -0
- package/src/SegmentedButton.hbs +17 -0
- package/src/SegmentedButton.js +303 -0
- package/src/SegmentedButtonItem.hbs +41 -0
- package/src/SegmentedButtonItem.js +114 -0
- package/src/Select.hbs +43 -0
- package/src/Select.js +850 -0
- package/src/SelectPopover.hbs +91 -0
- package/src/Slider.hbs +42 -0
- package/src/Slider.js +337 -0
- package/src/SliderBase.hbs +46 -0
- package/src/SliderBase.js +815 -0
- package/src/SplitButton.hbs +53 -0
- package/src/SplitButton.js +440 -0
- package/src/StandardListItem.hbs +44 -0
- package/src/StandardListItem.js +191 -0
- package/src/StepInput.hbs +81 -0
- package/src/StepInput.js +684 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +146 -0
- package/src/SuggestionListItem.hbs +33 -0
- package/src/SuggestionListItem.js +76 -0
- package/src/Switch.hbs +49 -0
- package/src/Switch.js +291 -0
- package/src/Tab.hbs +7 -0
- package/src/Tab.js +429 -0
- package/src/TabContainer.hbs +78 -0
- package/src/TabContainer.js +1237 -0
- package/src/TabContainerPopover.hbs +21 -0
- package/src/TabInOverflow.hbs +31 -0
- package/src/TabInStrip.hbs +59 -0
- package/src/TabSeparator.js +83 -0
- package/src/TabSeparatorInOverflow.hbs +9 -0
- package/src/TabSeparatorInStrip.hbs +6 -0
- package/src/Table.hbs +114 -0
- package/src/Table.js +1211 -0
- package/src/TableCell.hbs +7 -0
- package/src/TableCell.js +88 -0
- package/src/TableColumn.hbs +7 -0
- package/src/TableColumn.js +129 -0
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +167 -0
- package/src/TableRow.hbs +63 -0
- package/src/TableRow.js +436 -0
- package/src/TextArea.hbs +50 -0
- package/src/TextArea.js +702 -0
- package/src/TextAreaPopover.hbs +27 -0
- package/src/TimePicker.hbs +35 -0
- package/src/TimePicker.js +164 -0
- package/src/TimePickerBase.js +472 -0
- package/src/TimePickerPopover.hbs +33 -0
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +500 -0
- package/src/Title.hbs +47 -0
- package/src/Title.js +132 -0
- package/src/Toast.hbs +12 -0
- package/src/Toast.js +243 -0
- package/src/ToggleButton.hbs +5 -0
- package/src/ToggleButton.js +89 -0
- package/src/Token.hbs +29 -0
- package/src/Token.js +220 -0
- package/src/Tokenizer.hbs +25 -0
- package/src/Tokenizer.js +631 -0
- package/src/TokenizerPopover.hbs +50 -0
- package/src/Tree.hbs +44 -0
- package/src/Tree.js +447 -0
- package/src/TreeItem.js +189 -0
- package/src/TreeListItem.hbs +50 -0
- package/src/TreeListItem.js +343 -0
- package/src/WheelSlider.hbs +48 -0
- package/src/WheelSlider.js +442 -0
- package/src/YearPicker.hbs +27 -0
- package/src/YearPicker.js +324 -0
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +91 -0
- package/src/features/InputSuggestions.js +599 -0
- package/src/i18n/messagebundle.properties +389 -0
- package/src/i18n/messagebundle_ar.properties +260 -0
- package/src/i18n/messagebundle_bg.properties +260 -0
- package/src/i18n/messagebundle_ca.properties +260 -0
- package/src/i18n/messagebundle_cs.properties +260 -0
- package/src/i18n/messagebundle_cy.properties +260 -0
- package/src/i18n/messagebundle_da.properties +260 -0
- package/src/i18n/messagebundle_de.properties +260 -0
- package/src/i18n/messagebundle_el.properties +260 -0
- package/src/i18n/messagebundle_en.properties +260 -0
- package/src/i18n/messagebundle_en_GB.properties +260 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +246 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +260 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +246 -0
- package/src/i18n/messagebundle_es.properties +260 -0
- package/src/i18n/messagebundle_es_MX.properties +260 -0
- package/src/i18n/messagebundle_et.properties +260 -0
- package/src/i18n/messagebundle_fi.properties +260 -0
- package/src/i18n/messagebundle_fr.properties +260 -0
- package/src/i18n/messagebundle_fr_CA.properties +260 -0
- package/src/i18n/messagebundle_hi.properties +260 -0
- package/src/i18n/messagebundle_hr.properties +260 -0
- package/src/i18n/messagebundle_hu.properties +260 -0
- package/src/i18n/messagebundle_id.properties +260 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +260 -0
- package/src/i18n/messagebundle_iw.properties +260 -0
- package/src/i18n/messagebundle_ja.properties +260 -0
- package/src/i18n/messagebundle_kk.properties +260 -0
- package/src/i18n/messagebundle_ko.properties +260 -0
- package/src/i18n/messagebundle_lt.properties +260 -0
- package/src/i18n/messagebundle_lv.properties +260 -0
- package/src/i18n/messagebundle_ms.properties +260 -0
- package/src/i18n/messagebundle_nl.properties +260 -0
- package/src/i18n/messagebundle_no.properties +260 -0
- package/src/i18n/messagebundle_pl.properties +260 -0
- package/src/i18n/messagebundle_pt.properties +260 -0
- package/src/i18n/messagebundle_pt_PT.properties +260 -0
- package/src/i18n/messagebundle_ro.properties +260 -0
- package/src/i18n/messagebundle_ru.properties +260 -0
- package/src/i18n/messagebundle_sh.properties +260 -0
- package/src/i18n/messagebundle_sk.properties +260 -0
- package/src/i18n/messagebundle_sl.properties +260 -0
- package/src/i18n/messagebundle_sv.properties +260 -0
- package/src/i18n/messagebundle_th.properties +260 -0
- package/src/i18n/messagebundle_tr.properties +260 -0
- package/src/i18n/messagebundle_uk.properties +260 -0
- package/src/i18n/messagebundle_vi.properties +260 -0
- package/src/i18n/messagebundle_zh_CN.properties +260 -0
- package/src/i18n/messagebundle_zh_TW.properties +260 -0
- package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
- package/src/popup-utils/PopoverRegistry.js +145 -0
- package/src/themes/Avatar.css +213 -0
- package/src/themes/AvatarGroup.css +83 -0
- package/src/themes/Badge.css +139 -0
- package/src/themes/Breadcrumbs.css +104 -0
- package/src/themes/BreadcrumbsPopover.css +10 -0
- package/src/themes/BrowserScrollbar.css +25 -0
- package/src/themes/BusyIndicator.css +143 -0
- package/src/themes/Button.css +281 -0
- package/src/themes/Button.ie11.css +48 -0
- package/src/themes/Calendar.css +23 -0
- package/src/themes/CalendarHeader.css +134 -0
- package/src/themes/Card.css +45 -0
- package/src/themes/CardHeader.css +131 -0
- package/src/themes/Carousel.css +144 -0
- package/src/themes/CheckBox.css +273 -0
- package/src/themes/ColorPalette.css +77 -0
- package/src/themes/ColorPaletteItem.css +107 -0
- package/src/themes/ColorPalettePopover.css +21 -0
- package/src/themes/ColorPaletteStaticArea.css +17 -0
- package/src/themes/ColorPicker.css +235 -0
- package/src/themes/ComboBox.css +10 -0
- package/src/themes/ComboBoxPopover.css +17 -0
- package/src/themes/CustomListItem.css +31 -0
- package/src/themes/DatePicker.css +46 -0
- package/src/themes/DatePickerPopover.css +9 -0
- package/src/themes/DateRangePicker.css +16 -0
- package/src/themes/DateTimePicker.css +11 -0
- package/src/themes/DateTimePickerPopover.css +82 -0
- package/src/themes/DayPicker.css +280 -0
- package/src/themes/Dialog.css +75 -0
- package/src/themes/FileUploader.css +62 -0
- package/src/themes/GroupHeaderListItem.css +27 -0
- package/src/themes/GrowingButton.css +68 -0
- package/src/themes/Icon.css +50 -0
- package/src/themes/Input.css +450 -0
- package/src/themes/InputIcon.css +41 -0
- package/src/themes/InvisibleTextStyles.css +9 -0
- package/src/themes/Label.css +79 -0
- package/src/themes/Link.css +94 -0
- package/src/themes/List.css +117 -0
- package/src/themes/ListItem.css +202 -0
- package/src/themes/ListItemBase.css +86 -0
- package/src/themes/Menu.css +88 -0
- package/src/themes/MessageStrip.css +93 -0
- package/src/themes/MonthPicker.css +82 -0
- package/src/themes/MultiComboBox.css +41 -0
- package/src/themes/MultiComboBoxPopover.css +3 -0
- package/src/themes/MultiInput.css +18 -0
- package/src/themes/Panel.css +135 -0
- package/src/themes/Popover.css +85 -0
- package/src/themes/Popup.css +5 -0
- package/src/themes/PopupGlobal.css +3 -0
- package/src/themes/PopupStaticAreaStyles.css +17 -0
- package/src/themes/PopupsCommon.css +128 -0
- package/src/themes/ProgressIndicator.css +214 -0
- package/src/themes/RadioButton.css +300 -0
- package/src/themes/RangeSlider.css +89 -0
- package/src/themes/RatingIndicator.css +96 -0
- package/src/themes/ResponsivePopover.css +25 -0
- package/src/themes/ResponsivePopoverCommon.css +208 -0
- package/src/themes/SegmentedButton.css +81 -0
- package/src/themes/Select.css +39 -0
- package/src/themes/SelectPopover.css +8 -0
- package/src/themes/SliderBase.css +248 -0
- package/src/themes/SplitButton.css +209 -0
- package/src/themes/StepInput.css +271 -0
- package/src/themes/Suggestions.css +17 -0
- package/src/themes/Switch.css +378 -0
- package/src/themes/Tab.css +9 -0
- package/src/themes/TabContainer.css +129 -0
- package/src/themes/TabInOverflow.css +68 -0
- package/src/themes/TabInStrip.css +398 -0
- package/src/themes/TabSemanticIcon.css +18 -0
- package/src/themes/TabSeparatorInOverflow.css +10 -0
- package/src/themes/TabSeparatorInStrip.css +5 -0
- package/src/themes/Table.css +96 -0
- package/src/themes/TableCell.css +24 -0
- package/src/themes/TableColumn.css +23 -0
- package/src/themes/TableGroupRow.css +32 -0
- package/src/themes/TableRow.css +93 -0
- package/src/themes/TapHighlightColor.css +3 -0
- package/src/themes/TextArea.css +369 -0
- package/src/themes/TimePicker.css +50 -0
- package/src/themes/TimePickerPopover.css +15 -0
- package/src/themes/TimeSelection.css +27 -0
- package/src/themes/Title.css +65 -0
- package/src/themes/Toast.css +93 -0
- package/src/themes/ToggleButton.css +128 -0
- package/src/themes/ToggleButton.ie11.css +48 -0
- package/src/themes/Token.css +108 -0
- package/src/themes/Tokenizer.css +68 -0
- package/src/themes/TokenizerPopover.css +4 -0
- package/src/themes/Tree.css +11 -0
- package/src/themes/TreeListItem.css +101 -0
- package/src/themes/ValueStateMessage.css +83 -0
- package/src/themes/WheelSlider.css +203 -0
- package/src/themes/YearPicker.css +83 -0
- package/src/themes/base/Avatar-parameters.css +57 -0
- package/src/themes/base/AvatarGroup-parameters.css +3 -0
- package/src/themes/base/Badge-parameters.css +43 -0
- package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/base/BusyIndicator-parameters.css +5 -0
- package/src/themes/base/Button-parameters.css +35 -0
- package/src/themes/base/CalendarHeader-parameters.css +20 -0
- package/src/themes/base/Card-parameters.css +19 -0
- package/src/themes/base/Carousel-parameters.css +10 -0
- package/src/themes/base/CheckBox-parameters.css +56 -0
- package/src/themes/base/ColorPalette-parameters.css +21 -0
- package/src/themes/base/ColorPicker-parameters.css +13 -0
- package/src/themes/base/DatePicker-parameters.css +6 -0
- package/src/themes/base/DayPicker-parameters.css +41 -0
- package/src/themes/base/Dialog-parameters.css +10 -0
- package/src/themes/base/FileUploader-parameters.css +4 -0
- package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
- package/src/themes/base/GrowingButton-parameters.css +6 -0
- package/src/themes/base/Input-parameters.css +63 -0
- package/src/themes/base/InputIcon-parameters.css +19 -0
- package/src/themes/base/Link-parameters.css +14 -0
- package/src/themes/base/List-parameters.css +3 -0
- package/src/themes/base/ListItemBase-parameters.css +10 -0
- package/src/themes/base/Menu-parameters.css +4 -0
- package/src/themes/base/MessageStrip-parameters.css +18 -0
- package/src/themes/base/MonthPicker-parameters.css +16 -0
- package/src/themes/base/MultiComboBox-parameters.css +3 -0
- package/src/themes/base/Panel-parameters.css +18 -0
- package/src/themes/base/PopupsCommon-parameters.css +13 -0
- package/src/themes/base/ProgressIndicator-parameters.css +38 -0
- package/src/themes/base/RadioButton-parameters.css +46 -0
- package/src/themes/base/RatingIndicator-parameters.css +20 -0
- package/src/themes/base/SegmentedButtton-parameters.css +9 -0
- package/src/themes/base/Select-parameters.css +9 -0
- package/src/themes/base/SelectPopover-parameters.css +4 -0
- package/src/themes/base/SliderBase-parameters.css +103 -0
- package/src/themes/base/SplitButton-parameters.css +17 -0
- package/src/themes/base/StepInput-parameters.css +24 -0
- package/src/themes/base/Switch-parameters.css +158 -0
- package/src/themes/base/TabContainer-parameters.css +100 -0
- package/src/themes/base/Table-parameters.css +8 -0
- package/src/themes/base/TableColumn-parameters.css +3 -0
- package/src/themes/base/TableGroupRow-parameters.css +4 -0
- package/src/themes/base/TableRow-parameters.css +3 -0
- package/src/themes/base/TextArea-parameters.css +26 -0
- package/src/themes/base/TimePicker-parameters.css +4 -0
- package/src/themes/base/TimelineItem-parameters.css +10 -0
- package/src/themes/base/Toast-parameters.css +6 -0
- package/src/themes/base/ToggleButton-parameters.css +8 -0
- package/src/themes/base/Token-parameters.css +24 -0
- package/src/themes/base/Tokenizer-parameters.css +3 -0
- package/src/themes/base/ValueStateMessage-parameters.css +12 -0
- package/src/themes/base/WheelSlider-parameters.css +15 -0
- package/src/themes/base/YearPicker-parameters.css +16 -0
- package/src/themes/base/rtl-parameters.css +43 -0
- package/src/themes/base/sizes-parameters.css +395 -0
- package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize/Card-parameters.css +5 -0
- package/src/themes/sap_belize/Carousel-parameters.css +9 -0
- package/src/themes/sap_belize/DayPicker-parameters.css +23 -0
- package/src/themes/sap_belize/Dialog-parameters.css +5 -0
- package/src/themes/sap_belize/Input-parameters.css +21 -0
- package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
- package/src/themes/sap_belize/Panel-parameters.css +12 -0
- package/src/themes/sap_belize/PopupsCommon-parameters.css +5 -0
- package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
- package/src/themes/sap_belize/SliderBase-parameters.css +25 -0
- package/src/themes/sap_belize/SplitButton-parameters.css +6 -0
- package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
- package/src/themes/sap_belize/Table-parameters.css +7 -0
- package/src/themes/sap_belize/TableRow-parameters.css +5 -0
- package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
- package/src/themes/sap_belize/Token-parameters.css +8 -0
- package/src/themes/sap_belize/Tokenizer-parameters.css +5 -0
- package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_belize/parameters-bundle.css +54 -0
- package/src/themes/sap_belize/sizes-parameters.css +15 -0
- package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
- package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
- package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
- package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_belize_hcb/Card-parameters.css +7 -0
- package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
- package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
- package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
- package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
- package/src/themes/sap_belize_hcb/FileUploader-parameters.css +5 -0
- package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_belize_hcb/Input-parameters.css +33 -0
- package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
- package/src/themes/sap_belize_hcb/Link-parameters.css +8 -0
- package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +9 -0
- package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
- package/src/themes/sap_belize_hcb/Panel-parameters.css +13 -0
- package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +5 -0
- package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
- package/src/themes/sap_belize_hcb/RadioButton-parameters.css +14 -0
- package/src/themes/sap_belize_hcb/Select-parameters.css +10 -0
- package/src/themes/sap_belize_hcb/SliderBase-parameters.css +19 -0
- package/src/themes/sap_belize_hcb/SplitButton-parameters.css +10 -0
- package/src/themes/sap_belize_hcb/Switch-parameters.css +16 -0
- package/src/themes/sap_belize_hcb/TabContainer-parameters.css +45 -0
- package/src/themes/sap_belize_hcb/Table-parameters.css +7 -0
- package/src/themes/sap_belize_hcb/TableRow-parameters.css +6 -0
- package/src/themes/sap_belize_hcb/TextArea-parameters.css +13 -0
- package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
- package/src/themes/sap_belize_hcb/Token-parameters.css +10 -0
- package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +7 -0
- package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
- package/src/themes/sap_belize_hcb/parameters-bundle.css +53 -0
- package/src/themes/sap_belize_hcb/sizes-parameters.css +15 -0
- package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
- package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
- package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
- package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
- package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_belize_hcw/Card-parameters.css +7 -0
- package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
- package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
- package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
- package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
- package/src/themes/sap_belize_hcw/FileUploader-parameters.css +5 -0
- package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_belize_hcw/Input-parameters.css +33 -0
- package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
- package/src/themes/sap_belize_hcw/Link-parameters.css +8 -0
- package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +9 -0
- package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
- package/src/themes/sap_belize_hcw/Panel-parameters.css +13 -0
- package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +5 -0
- package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
- package/src/themes/sap_belize_hcw/RadioButton-parameters.css +14 -0
- package/src/themes/sap_belize_hcw/Select-parameters.css +10 -0
- package/src/themes/sap_belize_hcw/SliderBase-parameters.css +19 -0
- package/src/themes/sap_belize_hcw/SplitButton-parameters.css +10 -0
- package/src/themes/sap_belize_hcw/Switch-parameters.css +16 -0
- package/src/themes/sap_belize_hcw/TabContainer-parameters.css +45 -0
- package/src/themes/sap_belize_hcw/Table-parameters.css +7 -0
- package/src/themes/sap_belize_hcw/TableRow-parameters.css +6 -0
- package/src/themes/sap_belize_hcw/TextArea-parameters.css +13 -0
- package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
- package/src/themes/sap_belize_hcw/Token-parameters.css +10 -0
- package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +7 -0
- package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
- package/src/themes/sap_belize_hcw/parameters-bundle.css +53 -0
- package/src/themes/sap_belize_hcw/sizes-parameters.css +15 -0
- package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
- package/src/themes/sap_fiori_3/Button-parameters.css +15 -0
- package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
- package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
- package/src/themes/sap_fiori_3/DayPicker-parameters.css +23 -0
- package/src/themes/sap_fiori_3/Input-parameters.css +5 -0
- package/src/themes/sap_fiori_3/Link-parameters.css +6 -0
- package/src/themes/sap_fiori_3/List-parameters.css +5 -0
- package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
- package/src/themes/sap_fiori_3/Panel-parameters.css +5 -0
- package/src/themes/sap_fiori_3/SliderBase-parameters.css +19 -0
- package/src/themes/sap_fiori_3/TabContainer-parameters.css +13 -0
- package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3/Token-parameters.css +6 -0
- package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
- package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +54 -0
- package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
- package/src/themes/sap_fiori_3_dark/Button-parameters.css +15 -0
- package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
- package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
- package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +23 -0
- package/src/themes/sap_fiori_3_dark/Input-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/Link-parameters.css +6 -0
- package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/Panel-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +13 -0
- package/src/themes/sap_fiori_3_dark/Token-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
- package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +53 -0
- package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
- package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
- package/src/themes/sap_fiori_3_hcb/Button-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
- package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
- package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
- package/src/themes/sap_fiori_3_hcb/ColorPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +24 -0
- package/src/themes/sap_fiori_3_hcb/FileUploader-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_fiori_3_hcb/Input-parameters.css +28 -0
- package/src/themes/sap_fiori_3_hcb/Link-parameters.css +10 -0
- package/src/themes/sap_fiori_3_hcb/ListItem-parameters.css +3 -0
- package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +9 -0
- package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +14 -0
- package/src/themes/sap_fiori_3_hcb/Select-parameters.css +10 -0
- package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +16 -0
- package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +12 -0
- package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +16 -0
- package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +45 -0
- package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +18 -0
- package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
- package/src/themes/sap_fiori_3_hcb/Token-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +55 -0
- package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +8 -0
- package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
- package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
- package/src/themes/sap_fiori_3_hcw/Button-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
- package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
- package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
- package/src/themes/sap_fiori_3_hcw/ColorPicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +23 -0
- package/src/themes/sap_fiori_3_hcw/FileUploader-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_fiori_3_hcw/Input-parameters.css +28 -0
- package/src/themes/sap_fiori_3_hcw/Link-parameters.css +10 -0
- package/src/themes/sap_fiori_3_hcw/ListItem-parameters.css +3 -0
- package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +9 -0
- package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +14 -0
- package/src/themes/sap_fiori_3_hcw/Select-parameters.css +10 -0
- package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +15 -0
- package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +12 -0
- package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +16 -0
- package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +45 -0
- package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +18 -0
- package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
- package/src/themes/sap_fiori_3_hcw/Token-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +7 -0
- package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +55 -0
- package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +8 -0
- package/src/themes/sap_horizon/Avatar-parameters.css +53 -0
- package/src/themes/sap_horizon/AvatarGroup-parameters.css +5 -0
- package/src/themes/sap_horizon/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon/Breadcrumbs-parameters.css +3 -0
- package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
- package/src/themes/sap_horizon/Button-parameters.css +19 -0
- package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
- package/src/themes/sap_horizon/Card-parameters.css +15 -0
- package/src/themes/sap_horizon/CheckBox-parameters.css +49 -0
- package/src/themes/sap_horizon/ColorPalette-parameters.css +21 -0
- package/src/themes/sap_horizon/ColorPicker-parameters.css +12 -0
- package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
- package/src/themes/sap_horizon/DayPicker-parameters.css +34 -0
- package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
- package/src/themes/sap_horizon/FileUploader-parameters.css +5 -0
- package/src/themes/sap_horizon/GrowingButton-parameters.css +6 -0
- package/src/themes/sap_horizon/Icon-parameters.css +3 -0
- package/src/themes/sap_horizon/Input-parameters.css +34 -0
- package/src/themes/sap_horizon/InputIcon-parameters.css +24 -0
- package/src/themes/sap_horizon/Link-parameters.css +14 -0
- package/src/themes/sap_horizon/List-parameters.css +5 -0
- package/src/themes/sap_horizon/ListItemBase-parameters.css +5 -0
- package/src/themes/sap_horizon/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon/MessageStrip-parameters.css +5 -0
- package/src/themes/sap_horizon/MonthPicker-parameters.css +16 -0
- package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
- package/src/themes/sap_horizon/Panel-parameters.css +11 -0
- package/src/themes/sap_horizon/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon/ProgressIndicator-parameters.css +38 -0
- package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +39 -0
- package/src/themes/sap_horizon/RadioButton-parameters.css +15 -0
- package/src/themes/sap_horizon/RatingIndicator-parameters.css +17 -0
- package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
- package/src/themes/sap_horizon/Select-parameters.css +5 -0
- package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
- package/src/themes/sap_horizon/SliderBase-parameters.css +82 -0
- package/src/themes/sap_horizon/SplitButton-parameters.css +17 -0
- package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
- package/src/themes/sap_horizon/Switch-parameters.css +144 -0
- package/src/themes/sap_horizon/TabContainer-parameters.css +31 -0
- package/src/themes/sap_horizon/Table-parameters.css +9 -0
- package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
- package/src/themes/sap_horizon/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon/TextArea-parameters.css +17 -0
- package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
- package/src/themes/sap_horizon/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon/Token-parameters.css +19 -0
- package/src/themes/sap_horizon/ValueStateMessage-parameters.css +11 -0
- package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
- package/src/themes/sap_horizon/YearPicker-parameters.css +15 -0
- package/src/themes/sap_horizon/parameters-bundle.css +62 -0
- package/src/themes/sap_horizon/sizes-parameters.css +42 -0
- package/src/themes/sap_horizon_dark/Avatar-parameters.css +53 -0
- package/src/themes/sap_horizon_dark/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_dark/Breadcrumbs-parameters.css +3 -0
- package/src/themes/sap_horizon_dark/BusyIndicator-parameters.css +7 -0
- package/src/themes/sap_horizon_dark/Button-parameters.css +19 -0
- package/src/themes/sap_horizon_dark/CalendarHeader-parameters.css +19 -0
- package/src/themes/sap_horizon_dark/Card-parameters.css +15 -0
- package/src/themes/sap_horizon_dark/CheckBox-parameters.css +49 -0
- package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +21 -0
- package/src/themes/sap_horizon_dark/ColorPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_dark/DatePicker-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/DayPicker-parameters.css +34 -0
- package/src/themes/sap_horizon_dark/Dialog-parameters.css +11 -0
- package/src/themes/sap_horizon_dark/FileUploader-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/GrowingButton-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/Icon-parameters.css +3 -0
- package/src/themes/sap_horizon_dark/Input-parameters.css +34 -0
- package/src/themes/sap_horizon_dark/InputIcon-parameters.css +24 -0
- package/src/themes/sap_horizon_dark/Link-parameters.css +14 -0
- package/src/themes/sap_horizon_dark/List-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/ListItemBase-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/MonthPicker-parameters.css +16 -0
- package/src/themes/sap_horizon_dark/MultiComboBox-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/Panel-parameters.css +11 -0
- package/src/themes/sap_horizon_dark/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/RadioButton-parameters.css +15 -0
- package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +17 -0
- package/src/themes/sap_horizon_dark/SegmentedButtton-parameters.css +10 -0
- package/src/themes/sap_horizon_dark/Select-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/SelectPopover-parameters.css +4 -0
- package/src/themes/sap_horizon_dark/SliderBase-parameters.css +82 -0
- package/src/themes/sap_horizon_dark/SplitButton-parameters.css +17 -0
- package/src/themes/sap_horizon_dark/StepInput-parameters.css +25 -0
- package/src/themes/sap_horizon_dark/Switch-parameters.css +144 -0
- package/src/themes/sap_horizon_dark/TabContainer-parameters.css +22 -0
- package/src/themes/sap_horizon_dark/Table-parameters.css +9 -0
- package/src/themes/sap_horizon_dark/TableColumn-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/TextArea-parameters.css +17 -0
- package/src/themes/sap_horizon_dark/TimePicker-parameters.css +6 -0
- package/src/themes/sap_horizon_dark/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_dark/Token-parameters.css +19 -0
- package/src/themes/sap_horizon_dark/ValueStateMessage-parameters.css +11 -0
- package/src/themes/sap_horizon_dark/WheelSlider-parameters.css +19 -0
- package/src/themes/sap_horizon_dark/YearPicker-parameters.css +15 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +63 -0
- package/src/themes/sap_horizon_dark/sizes-parameters.css +40 -0
- package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
- package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
- package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
- package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
- package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
- package/src/themes/sap_horizon_exp/Input-parameters.css +43 -0
- package/src/themes/sap_horizon_exp/InputIcon-parameters.css +13 -0
- package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
- package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
- package/src/themes/sap_horizon_exp/Panel-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/Popover-parameters.css +4 -0
- package/src/themes/sap_horizon_exp/RadioButton-parameters.css +29 -0
- package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +16 -0
- package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
- package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
- package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
- package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/Token-parameters.css +7 -0
- package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
- package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
- package/src/themes/sap_horizon_exp/parameters-bundle.css +47 -0
- package/src/themes/sap_horizon_hcb/Avatar-parameters.css +53 -0
- package/src/themes/sap_horizon_hcb/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/Button-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb/Card-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb/Carousel-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +49 -0
- package/src/themes/sap_horizon_hcb/ColorPicker-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/DatePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +31 -0
- package/src/themes/sap_horizon_hcb/Dialog-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb/FileUploader-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_horizon_hcb/Input-parameters.css +31 -0
- package/src/themes/sap_horizon_hcb/InputIcon-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb/Link-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/ListItem-parameters.css +3 -0
- package/src/themes/sap_horizon_hcb/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/MonthPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb/Panel-parameters.css +8 -0
- package/src/themes/sap_horizon_hcb/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb/ProgressIndicator-parameters.css +21 -0
- package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +16 -0
- package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +16 -0
- package/src/themes/sap_horizon_hcb/SegmentedButtton-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb/Select-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/SliderBase-parameters.css +78 -0
- package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb/Switch-parameters.css +144 -0
- package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +45 -0
- package/src/themes/sap_horizon_hcb/Table-parameters.css +9 -0
- package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/TextArea-parameters.css +19 -0
- package/src/themes/sap_horizon_hcb/TimePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_hcb/Token-parameters.css +19 -0
- package/src/themes/sap_horizon_hcb/ValueStateMessage-parameters.css +13 -0
- package/src/themes/sap_horizon_hcb/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_horizon_hcb/YearPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +55 -0
- package/src/themes/sap_horizon_hcb/sizes-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw/Avatar-parameters.css +53 -0
- package/src/themes/sap_horizon_hcw/Badge-parameters.css +43 -0
- package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/Button-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/CalendarHeader-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw/Card-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw/Carousel-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +49 -0
- package/src/themes/sap_horizon_hcw/ColorPicker-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/DatePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +25 -0
- package/src/themes/sap_horizon_hcw/Dialog-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw/FileUploader-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw/GrowingButton-parameters.css +8 -0
- package/src/themes/sap_horizon_hcw/Input-parameters.css +31 -0
- package/src/themes/sap_horizon_hcw/InputIcon-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw/Link-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/ListItem-parameters.css +3 -0
- package/src/themes/sap_horizon_hcw/Menu-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/MonthPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw/Panel-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw/PopupsCommon-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +20 -0
- package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +16 -0
- package/src/themes/sap_horizon_hcw/SegmentedButtton-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw/Select-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/SliderBase-parameters.css +79 -0
- package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw/Switch-parameters.css +144 -0
- package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +45 -0
- package/src/themes/sap_horizon_hcw/Table-parameters.css +9 -0
- package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +6 -0
- package/src/themes/sap_horizon_hcw/TableRow-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/TextArea-parameters.css +19 -0
- package/src/themes/sap_horizon_hcw/TimePicker-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/ToggleButton-parameters.css +1 -0
- package/src/themes/sap_horizon_hcw/Token-parameters.css +19 -0
- package/src/themes/sap_horizon_hcw/ValueStateMessage-parameters.css +13 -0
- package/src/themes/sap_horizon_hcw/WheelSlider-parameters.css +17 -0
- package/src/themes/sap_horizon_hcw/YearPicker-parameters.css +12 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +55 -0
- package/src/themes/sap_horizon_hcw/sizes-parameters.css +9 -0
- package/src/timepicker-utils/TimeSlider.js +103 -0
- package/src/types/AvatarColorScheme.js +104 -0
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +41 -0
- package/src/types/AvatarSize.js +67 -0
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +47 -0
- package/src/types/ButtonDesign.js +68 -0
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +40 -0
- package/src/types/GrowingMode.js +48 -0
- package/src/types/HasPopup.js +62 -0
- package/src/types/InputType.js +68 -0
- package/src/types/LinkDesign.js +47 -0
- package/src/types/ListGrowingMode.js +48 -0
- package/src/types/ListItemType.js +47 -0
- package/src/types/ListMode.js +77 -0
- package/src/types/ListSeparators.js +46 -0
- package/src/types/MessageStripDesign.js +54 -0
- package/src/types/PanelAccessibleRole.js +48 -0
- package/src/types/PopoverHorizontalAlign.js +54 -0
- package/src/types/PopoverPlacementType.js +54 -0
- package/src/types/PopoverVerticalAlign.js +54 -0
- package/src/types/Priority.js +55 -0
- package/src/types/SemanticColor.js +61 -0
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +40 -0
- package/src/types/TabLayout.js +40 -0
- package/src/types/TableGrowingMode.js +48 -0
- package/src/types/TableMode.js +47 -0
- package/src/types/TableRowType.js +40 -0
- package/src/types/TabsOverflowMode.js +40 -0
- package/src/types/TitleLevel.js +68 -0
- package/src/types/ToastPlacement.js +91 -0
- package/src/types/WrappingType.js +41 -0
- package/dist/ComboBoxFilters.js +0 -33
- package/dist/Timeline.js +0 -81
- package/dist/TimelineItem.js +0 -163
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
- package/dist/generated/themes/ComboBoxItem.css.js +0 -9
- package/dist/generated/themes/Timeline.css.js +0 -9
- package/dist/generated/themes/TimelineItem.css.js +0 -9
- package/dist/popup-utils/PopupUtils.js +0 -42
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/LICENSE.md +0 -19
- package/dist/webcomponentsjs/README.md +0 -229
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +0 -63
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +0 -297
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +0 -208
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +0 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +0 -166
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +0 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +0 -15
- package/dist/webcomponentsjs/package.json +0 -46
- package/dist/webcomponentsjs/webcomponents-bundle.js +0 -298
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +0 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +0 -185
package/dist/Input.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
|
-
import
|
|
3
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
4
|
+
import {
|
|
5
|
+
isIE,
|
|
6
|
+
isPhone,
|
|
7
|
+
isSafari,
|
|
8
|
+
isAndroid,
|
|
9
|
+
} from "@ui5/webcomponents-base/dist/Device.js";
|
|
4
10
|
import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
5
11
|
import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
|
|
6
12
|
import {
|
|
@@ -8,36 +14,67 @@ import {
|
|
|
8
14
|
isDown,
|
|
9
15
|
isSpace,
|
|
10
16
|
isEnter,
|
|
11
|
-
|
|
17
|
+
isBackSpace,
|
|
18
|
+
isDelete,
|
|
19
|
+
isEscape,
|
|
20
|
+
isTabNext,
|
|
21
|
+
isPageUp,
|
|
22
|
+
isPageDown,
|
|
23
|
+
isHome,
|
|
24
|
+
isEnd,
|
|
25
|
+
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
12
26
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
13
|
-
import {
|
|
14
|
-
|
|
27
|
+
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
28
|
+
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
29
|
+
import { getCaretPosition, setCaretPosition } from "@ui5/webcomponents-base/dist/util/Caret.js";
|
|
30
|
+
import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
|
|
31
|
+
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
32
|
+
import "@ui5/webcomponents-icons/dist/not-editable.js";
|
|
33
|
+
import "@ui5/webcomponents-icons/dist/error.js";
|
|
34
|
+
import "@ui5/webcomponents-icons/dist/alert.js";
|
|
35
|
+
import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
|
|
36
|
+
import "@ui5/webcomponents-icons/dist/information.js";
|
|
15
37
|
import InputType from "./types/InputType.js";
|
|
38
|
+
import Popover from "./Popover.js";
|
|
39
|
+
import Icon from "./Icon.js";
|
|
16
40
|
// Templates
|
|
17
41
|
import InputTemplate from "./generated/templates/InputTemplate.lit.js";
|
|
18
42
|
import InputPopoverTemplate from "./generated/templates/InputPopoverTemplate.lit.js";
|
|
43
|
+
import * as Filters from "./Filters.js";
|
|
19
44
|
|
|
20
45
|
import {
|
|
21
46
|
VALUE_STATE_SUCCESS,
|
|
47
|
+
VALUE_STATE_INFORMATION,
|
|
22
48
|
VALUE_STATE_ERROR,
|
|
23
49
|
VALUE_STATE_WARNING,
|
|
24
50
|
INPUT_SUGGESTIONS,
|
|
51
|
+
INPUT_SUGGESTIONS_TITLE,
|
|
52
|
+
INPUT_SUGGESTIONS_ONE_HIT,
|
|
53
|
+
INPUT_SUGGESTIONS_MORE_HITS,
|
|
54
|
+
INPUT_SUGGESTIONS_NO_HIT,
|
|
25
55
|
} from "./generated/i18n/i18n-defaults.js";
|
|
26
56
|
|
|
27
57
|
// Styles
|
|
28
58
|
import styles from "./generated/themes/Input.css.js";
|
|
59
|
+
import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
|
|
60
|
+
import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
|
|
61
|
+
import SuggestionsCss from "./generated/themes/Suggestions.css.js";
|
|
62
|
+
|
|
63
|
+
const rgxFloat = new RegExp(/(\+|-)?\d+(\.|,)\d+/);
|
|
29
64
|
|
|
30
65
|
/**
|
|
31
66
|
* @public
|
|
32
67
|
*/
|
|
33
68
|
const metadata = {
|
|
34
69
|
tag: "ui5-input",
|
|
70
|
+
languageAware: true,
|
|
71
|
+
managedSlots: true,
|
|
35
72
|
slots: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
|
|
36
73
|
|
|
37
74
|
/**
|
|
38
|
-
* Defines the icon to be displayed in the
|
|
75
|
+
* Defines the icon to be displayed in the component.
|
|
39
76
|
*
|
|
40
|
-
* @type {
|
|
77
|
+
* @type {sap.ui.webcomponents.main.IIcon[]}
|
|
41
78
|
* @slot
|
|
42
79
|
* @public
|
|
43
80
|
*/
|
|
@@ -46,24 +83,37 @@ const metadata = {
|
|
|
46
83
|
},
|
|
47
84
|
|
|
48
85
|
/**
|
|
49
|
-
* Defines the
|
|
86
|
+
* Defines the suggestion items.
|
|
87
|
+
* <br><br>
|
|
88
|
+
* Example:
|
|
50
89
|
* <br><br>
|
|
51
|
-
* Example: <br>
|
|
52
90
|
* <ui5-input show-suggestions><br>
|
|
53
|
-
* <ui5-
|
|
54
|
-
* <ui5-
|
|
91
|
+
* <ui5-suggestion-item text="Item #1"></ui5-suggestion-item><br>
|
|
92
|
+
* <ui5-suggestion-item text="Item #2"></ui5-suggestion-item><br>
|
|
55
93
|
* </ui5-input>
|
|
56
|
-
* <
|
|
94
|
+
* <br>
|
|
95
|
+
* <ui5-input show-suggestions>
|
|
96
|
+
* <ui5-suggestion-group-item text="Group #1"></ui5-suggestion-group-item>
|
|
97
|
+
* <ui5-suggestion-item text="Item #1"></ui5-suggestion-item>
|
|
98
|
+
* <ui5-suggestion-item text="Item #2"></ui5-suggestion-item>
|
|
99
|
+
* <ui5-suggestion-group-item text="Group #2"></ui5-suggestion-group-item>
|
|
100
|
+
* <ui5-suggestion-item text="Item #3"></ui5-suggestion-item>
|
|
101
|
+
* <ui5-suggestion-item text="Item #4"></ui5-suggestion-item>
|
|
102
|
+
* </ui5-input>
|
|
57
103
|
* <br><br>
|
|
58
|
-
* <b>Note:</b> The
|
|
104
|
+
* <b>Note:</b> The suggestions would be displayed only if the <code>showSuggestions</code>
|
|
59
105
|
* property is set to <code>true</code>.
|
|
60
106
|
* <br><br>
|
|
61
|
-
* <b>Note:</b> The
|
|
107
|
+
* <b>Note:</b> The <code><ui5-suggestion-item></code> and <code><ui5-suggestion-group-item></code> are recommended to be used as suggestion items.
|
|
108
|
+
* <br><br>
|
|
109
|
+
* <b>Note:</b> Importing the Input Suggestions Support feature:
|
|
62
110
|
* <br>
|
|
63
|
-
*
|
|
111
|
+
* <code>import "@ui5/webcomponents/dist/features/InputSuggestions.js";</code>
|
|
112
|
+
* <br>
|
|
113
|
+
* automatically imports the <code><ui5-suggestion-item></code> and <code><ui5-suggestion-group-item></code> for your convenience.
|
|
64
114
|
*
|
|
65
|
-
* @type {
|
|
66
|
-
* @slot
|
|
115
|
+
* @type {sap.ui.webcomponents.main.IInputSuggestionItem[]}
|
|
116
|
+
* @slot suggestionItems
|
|
67
117
|
* @public
|
|
68
118
|
*/
|
|
69
119
|
"default": {
|
|
@@ -72,7 +122,7 @@ const metadata = {
|
|
|
72
122
|
},
|
|
73
123
|
|
|
74
124
|
/**
|
|
75
|
-
* The slot is used for native <code>input</code> HTML element to enable form
|
|
125
|
+
* The slot is used for native <code>input</code> HTML element to enable form submit,
|
|
76
126
|
* when <code>name</code> property is set.
|
|
77
127
|
* @type {HTMLElement[]}
|
|
78
128
|
* @private
|
|
@@ -80,13 +130,33 @@ const metadata = {
|
|
|
80
130
|
formSupport: {
|
|
81
131
|
type: HTMLElement,
|
|
82
132
|
},
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Defines the value state message that will be displayed as pop up under the component.
|
|
136
|
+
* <br><br>
|
|
137
|
+
*
|
|
138
|
+
* <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
|
|
139
|
+
* <br><br>
|
|
140
|
+
* <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
|
|
141
|
+
* when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
|
|
142
|
+
* <br><br>
|
|
143
|
+
* <b>Note:</b> If the component has <code>suggestionItems</code>,
|
|
144
|
+
* the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
|
|
145
|
+
* @type {HTMLElement[]}
|
|
146
|
+
* @since 1.0.0-rc.6
|
|
147
|
+
* @slot
|
|
148
|
+
* @public
|
|
149
|
+
*/
|
|
150
|
+
valueStateMessage: {
|
|
151
|
+
type: HTMLElement,
|
|
152
|
+
},
|
|
83
153
|
},
|
|
84
154
|
properties: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
|
|
85
155
|
|
|
86
156
|
/**
|
|
87
|
-
* Defines whether
|
|
157
|
+
* Defines whether the component is in disabled state.
|
|
88
158
|
* <br><br>
|
|
89
|
-
* <b>Note:</b> A disabled
|
|
159
|
+
* <b>Note:</b> A disabled component is completely noninteractive.
|
|
90
160
|
*
|
|
91
161
|
* @type {boolean}
|
|
92
162
|
* @defaultvalue false
|
|
@@ -96,9 +166,24 @@ const metadata = {
|
|
|
96
166
|
type: Boolean,
|
|
97
167
|
},
|
|
98
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Defines if characters within the suggestions are to be highlighted
|
|
171
|
+
* in case the input value matches parts of the suggestions text.
|
|
172
|
+
* <br><br>
|
|
173
|
+
* <b>Note:</b> takes effect when <code>showSuggestions</code> is set to <code>true</code>
|
|
174
|
+
*
|
|
175
|
+
* @type {boolean}
|
|
176
|
+
* @defaultvalue false
|
|
177
|
+
* @private
|
|
178
|
+
* @sicne 1.0.0-rc.8
|
|
179
|
+
*/
|
|
180
|
+
highlight: {
|
|
181
|
+
type: Boolean,
|
|
182
|
+
},
|
|
183
|
+
|
|
99
184
|
/**
|
|
100
185
|
* Defines a short hint intended to aid the user with data entry when the
|
|
101
|
-
*
|
|
186
|
+
* component has no value.
|
|
102
187
|
* @type {string}
|
|
103
188
|
* @defaultvalue ""
|
|
104
189
|
* @public
|
|
@@ -108,9 +193,9 @@ const metadata = {
|
|
|
108
193
|
},
|
|
109
194
|
|
|
110
195
|
/**
|
|
111
|
-
* Defines whether the
|
|
196
|
+
* Defines whether the component is read-only.
|
|
112
197
|
* <br><br>
|
|
113
|
-
* <b>Note:</b> A read-only
|
|
198
|
+
* <b>Note:</b> A read-only component is not editable,
|
|
114
199
|
* but still provides visual feedback upon user interaction.
|
|
115
200
|
*
|
|
116
201
|
* @type {boolean}
|
|
@@ -122,7 +207,7 @@ const metadata = {
|
|
|
122
207
|
},
|
|
123
208
|
|
|
124
209
|
/**
|
|
125
|
-
* Defines whether the
|
|
210
|
+
* Defines whether the component is required.
|
|
126
211
|
*
|
|
127
212
|
* @type {boolean}
|
|
128
213
|
* @defaultvalue false
|
|
@@ -134,7 +219,19 @@ const metadata = {
|
|
|
134
219
|
},
|
|
135
220
|
|
|
136
221
|
/**
|
|
137
|
-
* Defines the
|
|
222
|
+
* Defines whether the value will be autcompleted to match an item
|
|
223
|
+
*
|
|
224
|
+
* @type {boolean}
|
|
225
|
+
* @defaultvalue false
|
|
226
|
+
* @public
|
|
227
|
+
* @since 1.4.0
|
|
228
|
+
*/
|
|
229
|
+
noTypeahead: {
|
|
230
|
+
type: Boolean,
|
|
231
|
+
},
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Defines the HTML type of the component.
|
|
138
235
|
* Available options are: <code>Text</code>, <code>Email</code>,
|
|
139
236
|
* <code>Number</code>, <code>Password</code>, <code>Tel</code>, and <code>URL</code>.
|
|
140
237
|
* <br><br>
|
|
@@ -146,7 +243,7 @@ const metadata = {
|
|
|
146
243
|
* that use different soft keyboard layouts depending on the given input type.</li>
|
|
147
244
|
* </ul>
|
|
148
245
|
*
|
|
149
|
-
* @type {
|
|
246
|
+
* @type {InputType}
|
|
150
247
|
* @defaultvalue "Text"
|
|
151
248
|
* @public
|
|
152
249
|
*/
|
|
@@ -156,7 +253,7 @@ const metadata = {
|
|
|
156
253
|
},
|
|
157
254
|
|
|
158
255
|
/**
|
|
159
|
-
* Defines the value of the
|
|
256
|
+
* Defines the value of the component.
|
|
160
257
|
* <br><br>
|
|
161
258
|
* <b>Note:</b> The property is updated upon typing.
|
|
162
259
|
*
|
|
@@ -169,10 +266,18 @@ const metadata = {
|
|
|
169
266
|
},
|
|
170
267
|
|
|
171
268
|
/**
|
|
172
|
-
* Defines the value state of the
|
|
173
|
-
*
|
|
269
|
+
* Defines the value state of the component.
|
|
270
|
+
* <br><br>
|
|
271
|
+
* Available options are:
|
|
272
|
+
* <ul>
|
|
273
|
+
* <li><code>None</code></li>
|
|
274
|
+
* <li><code>Error</code></li>
|
|
275
|
+
* <li><code>Warning</code></li>
|
|
276
|
+
* <li><code>Success</code></li>
|
|
277
|
+
* <li><code>Information</code></li>
|
|
278
|
+
* </ul>
|
|
174
279
|
*
|
|
175
|
-
* @type {
|
|
280
|
+
* @type {ValueState}
|
|
176
281
|
* @defaultvalue "None"
|
|
177
282
|
* @public
|
|
178
283
|
*/
|
|
@@ -182,13 +287,15 @@ const metadata = {
|
|
|
182
287
|
},
|
|
183
288
|
|
|
184
289
|
/**
|
|
185
|
-
* Determines the name with which the
|
|
290
|
+
* Determines the name with which the component will be submitted in an HTML form.
|
|
186
291
|
*
|
|
292
|
+
* <br><br>
|
|
187
293
|
* <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
|
|
188
294
|
* <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
|
|
189
295
|
*
|
|
296
|
+
* <br><br>
|
|
190
297
|
* <b>Note:</b> When set, a native <code>input</code> HTML element
|
|
191
|
-
* will be created inside the
|
|
298
|
+
* will be created inside the component so that it can be submitted as
|
|
192
299
|
* part of an HTML form. Do not use this property unless you need to submit a form.
|
|
193
300
|
*
|
|
194
301
|
* @type {string}
|
|
@@ -200,11 +307,11 @@ const metadata = {
|
|
|
200
307
|
},
|
|
201
308
|
|
|
202
309
|
/**
|
|
203
|
-
* Defines whether the
|
|
310
|
+
* Defines whether the component should show suggestions, if such are present.
|
|
204
311
|
* <br><br>
|
|
205
|
-
* <b>Note:</b>
|
|
206
|
-
*
|
|
207
|
-
* @type {
|
|
312
|
+
* <b>Note:</b> You need to import the <code>InputSuggestions</code> module
|
|
313
|
+
* from <code>"@ui5/webcomponents/dist/features/InputSuggestions.js"</code> to enable this functionality.
|
|
314
|
+
* @type {boolean}
|
|
208
315
|
* @defaultvalue false
|
|
209
316
|
* @public
|
|
210
317
|
*/
|
|
@@ -214,7 +321,8 @@ const metadata = {
|
|
|
214
321
|
|
|
215
322
|
/**
|
|
216
323
|
* Sets the maximum number of characters available in the input field.
|
|
217
|
-
*
|
|
324
|
+
* <br><br>
|
|
325
|
+
* <b>Note:</b> 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.
|
|
218
326
|
* @type {Integer}
|
|
219
327
|
* @since 1.0.0-rc.5
|
|
220
328
|
* @public
|
|
@@ -223,6 +331,54 @@ const metadata = {
|
|
|
223
331
|
type: Integer,
|
|
224
332
|
},
|
|
225
333
|
|
|
334
|
+
/**
|
|
335
|
+
* Defines the accessible aria name of the component.
|
|
336
|
+
*
|
|
337
|
+
* @type {string}
|
|
338
|
+
* @public
|
|
339
|
+
* @since 1.0.0-rc.15
|
|
340
|
+
*/
|
|
341
|
+
accessibleName: {
|
|
342
|
+
type: String,
|
|
343
|
+
},
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Receives id(or many ids) of the elements that label the input.
|
|
347
|
+
*
|
|
348
|
+
* @type {string}
|
|
349
|
+
* @defaultvalue ""
|
|
350
|
+
* @public
|
|
351
|
+
* @since 1.0.0-rc.15
|
|
352
|
+
*/
|
|
353
|
+
accessibleNameRef: {
|
|
354
|
+
type: String,
|
|
355
|
+
defaultValue: "",
|
|
356
|
+
},
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Defines whether the clear icon of the input will be shown.
|
|
360
|
+
*
|
|
361
|
+
* @type {boolean}
|
|
362
|
+
* @defaultvalue false
|
|
363
|
+
* @public
|
|
364
|
+
* @since 1.2.0
|
|
365
|
+
*/
|
|
366
|
+
showClearIcon: {
|
|
367
|
+
type: Boolean,
|
|
368
|
+
},
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Defines whether the clear icon is visible.
|
|
372
|
+
*
|
|
373
|
+
* @type {boolean}
|
|
374
|
+
* @defaultvalue false
|
|
375
|
+
* @private
|
|
376
|
+
* @since 1.2.0
|
|
377
|
+
*/
|
|
378
|
+
effectiveShowClearIcon: {
|
|
379
|
+
type: Boolean,
|
|
380
|
+
},
|
|
381
|
+
|
|
226
382
|
/**
|
|
227
383
|
* @private
|
|
228
384
|
*/
|
|
@@ -230,11 +386,31 @@ const metadata = {
|
|
|
230
386
|
type: Boolean,
|
|
231
387
|
},
|
|
232
388
|
|
|
233
|
-
|
|
234
|
-
type:
|
|
389
|
+
openOnMobile: {
|
|
390
|
+
type: Boolean,
|
|
391
|
+
},
|
|
392
|
+
|
|
393
|
+
open: {
|
|
394
|
+
type: Boolean,
|
|
395
|
+
},
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Determines whether to manually show the suggestions popover
|
|
399
|
+
* @private
|
|
400
|
+
*/
|
|
401
|
+
_forceOpen: {
|
|
402
|
+
type: Boolean,
|
|
403
|
+
},
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Indicates whether the visual focus is on the value state header
|
|
407
|
+
* @private
|
|
408
|
+
*/
|
|
409
|
+
_isValueStateFocused: {
|
|
410
|
+
type: Boolean,
|
|
235
411
|
},
|
|
236
412
|
|
|
237
|
-
|
|
413
|
+
_input: {
|
|
238
414
|
type: Object,
|
|
239
415
|
},
|
|
240
416
|
|
|
@@ -242,9 +418,27 @@ const metadata = {
|
|
|
242
418
|
type: Object,
|
|
243
419
|
},
|
|
244
420
|
|
|
245
|
-
|
|
421
|
+
_nativeInputAttributes: {
|
|
246
422
|
type: Object,
|
|
247
423
|
},
|
|
424
|
+
|
|
425
|
+
_inputWidth: {
|
|
426
|
+
type: Integer,
|
|
427
|
+
},
|
|
428
|
+
|
|
429
|
+
_listWidth: {
|
|
430
|
+
type: Integer,
|
|
431
|
+
},
|
|
432
|
+
|
|
433
|
+
_isPopoverOpen: {
|
|
434
|
+
type: Boolean,
|
|
435
|
+
noAttribute: true,
|
|
436
|
+
},
|
|
437
|
+
|
|
438
|
+
_inputIconFocused: {
|
|
439
|
+
type: Boolean,
|
|
440
|
+
noAttribute: true,
|
|
441
|
+
},
|
|
248
442
|
},
|
|
249
443
|
events: /** @lends sap.ui.webcomponents.main.Input.prototype */ {
|
|
250
444
|
/**
|
|
@@ -256,7 +450,7 @@ const metadata = {
|
|
|
256
450
|
change: {},
|
|
257
451
|
|
|
258
452
|
/**
|
|
259
|
-
* Fired when the value of the
|
|
453
|
+
* Fired when the value of the component changes at each keystroke,
|
|
260
454
|
* and when a suggestion item has been selected.
|
|
261
455
|
*
|
|
262
456
|
* @event
|
|
@@ -265,27 +459,48 @@ const metadata = {
|
|
|
265
459
|
input: {},
|
|
266
460
|
|
|
267
461
|
/**
|
|
268
|
-
* Fired when
|
|
269
|
-
* <br><br>
|
|
270
|
-
* <b>Note:</b> The event is fired independent of whether there was a change before or not.
|
|
271
|
-
* If change was performed, the event is fired after the change event.
|
|
272
|
-
* The event is also fired when an item of the select list is selected by pressing Enter.
|
|
462
|
+
* Fired when a suggestion item, that is displayed in the suggestion popup, is selected.
|
|
273
463
|
*
|
|
274
|
-
* @event
|
|
464
|
+
* @event sap.ui.webcomponents.main.Input#suggestion-item-select
|
|
465
|
+
* @param {HTMLElement} item The selected item.
|
|
275
466
|
* @public
|
|
276
467
|
*/
|
|
277
|
-
|
|
468
|
+
"suggestion-item-select": {
|
|
469
|
+
detail: {
|
|
470
|
+
item: { type: HTMLElement },
|
|
471
|
+
},
|
|
472
|
+
},
|
|
278
473
|
|
|
279
474
|
/**
|
|
280
|
-
* Fired when a suggestion item
|
|
475
|
+
* Fired when the user navigates to a suggestion item via the ARROW keys,
|
|
476
|
+
* as a preview, before the final selection.
|
|
281
477
|
*
|
|
282
|
-
* @event
|
|
283
|
-
* @param {HTMLElement} item The
|
|
478
|
+
* @event sap.ui.webcomponents.main.Input#suggestion-item-preview
|
|
479
|
+
* @param {HTMLElement} item The previewed suggestion item.
|
|
480
|
+
* @param {HTMLElement} targetRef The DOM ref of the suggestion item.
|
|
284
481
|
* @public
|
|
482
|
+
* @since 1.0.0-rc.8
|
|
285
483
|
*/
|
|
286
|
-
|
|
484
|
+
"suggestion-item-preview": {
|
|
287
485
|
detail: {
|
|
288
486
|
item: { type: HTMLElement },
|
|
487
|
+
targetRef: { type: HTMLElement },
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Fired when the user scrolls the suggestion popover.
|
|
493
|
+
*
|
|
494
|
+
* @event sap.ui.webcomponents.main.Input#suggestion-scroll
|
|
495
|
+
* @param {Integer} scrollTop The current scroll position.
|
|
496
|
+
* @param {HTMLElement} scrollContainer The scroll container.
|
|
497
|
+
* @protected
|
|
498
|
+
* @since 1.0.0-rc.8
|
|
499
|
+
*/
|
|
500
|
+
"suggestion-scroll": {
|
|
501
|
+
detail: {
|
|
502
|
+
scrollTop: { type: Integer },
|
|
503
|
+
scrollContainer: { type: HTMLElement },
|
|
289
504
|
},
|
|
290
505
|
},
|
|
291
506
|
},
|
|
@@ -301,16 +516,31 @@ const metadata = {
|
|
|
301
516
|
* that are displayed in a popover right under the input.
|
|
302
517
|
* <br><br>
|
|
303
518
|
* The text field can be editable or read-only (<code>readonly</code> property),
|
|
304
|
-
* and
|
|
519
|
+
* and it can be enabled or disabled (<code>disabled</code> property).
|
|
305
520
|
* To visualize semantic states, such as "error" or "warning", the <code>valueState</code> property is provided.
|
|
306
521
|
* When the user makes changes to the text, the change event is fired,
|
|
307
522
|
* which enables you to react on any text change.
|
|
308
523
|
* <br><br>
|
|
309
524
|
* <b>Note:</b> If you are using the <code>ui5-input</code> as a single npm module,
|
|
310
|
-
* don
|
|
525
|
+
* don't forget to import the <code>InputSuggestions</code> module from
|
|
311
526
|
* "@ui5/webcomponents/dist/features/InputSuggestions.js"
|
|
312
527
|
* to enable the suggestions functionality.
|
|
313
528
|
*
|
|
529
|
+
* <h3>Keyboard Handling</h3>
|
|
530
|
+
* The <code>ui5-input</code> provides the following keyboard shortcuts:
|
|
531
|
+
* <br>
|
|
532
|
+
*
|
|
533
|
+
* <ul>
|
|
534
|
+
* <li>[ESC] - 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.</li>
|
|
535
|
+
* <li>[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.</li>
|
|
536
|
+
* <li>[DOWN] - Focuses the next matching item in the suggestion list.</li>
|
|
537
|
+
* <li>[UP] - Focuses the previous matching item in the suggestion list.</li>
|
|
538
|
+
* <li>[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.</li>
|
|
539
|
+
* <li>[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.</li>
|
|
540
|
+
* <li>[PAGEUP] - If focus is in the list, moves highlight up by page size (10 items by default). If focus is in the input, does nothing.</li>
|
|
541
|
+
* <li>[PAGEDOWN] - If focus is in the list, moves highlight down by page size (10 items by default). If focus is in the input, does nothing.</li>
|
|
542
|
+
* </ul>
|
|
543
|
+
*
|
|
314
544
|
* <h3>ES6 Module Import</h3>
|
|
315
545
|
*
|
|
316
546
|
* <code>import "@ui5/webcomponents/dist/Input.js";</code>
|
|
@@ -322,6 +552,8 @@ const metadata = {
|
|
|
322
552
|
* @alias sap.ui.webcomponents.main.Input
|
|
323
553
|
* @extends sap.ui.webcomponents.base.UI5Element
|
|
324
554
|
* @tagname ui5-input
|
|
555
|
+
* @appenddocs SuggestionItem SuggestionGroupItem
|
|
556
|
+
* @implements sap.ui.webcomponents.main.IInput
|
|
325
557
|
* @public
|
|
326
558
|
*/
|
|
327
559
|
class Input extends UI5Element {
|
|
@@ -342,7 +574,11 @@ class Input extends UI5Element {
|
|
|
342
574
|
}
|
|
343
575
|
|
|
344
576
|
static get styles() {
|
|
345
|
-
return
|
|
577
|
+
return styles;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
static get staticAreaStyles() {
|
|
581
|
+
return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
|
|
346
582
|
}
|
|
347
583
|
|
|
348
584
|
constructor() {
|
|
@@ -350,22 +586,48 @@ class Input extends UI5Element {
|
|
|
350
586
|
// Indicates if there is selected suggestionItem.
|
|
351
587
|
this.hasSuggestionItemSelected = false;
|
|
352
588
|
|
|
353
|
-
// Represents the value before user moves selection
|
|
354
|
-
//
|
|
355
|
-
// Note:
|
|
589
|
+
// Represents the value before user moves selection from suggestion item to another
|
|
590
|
+
// and its value is updated after each move.
|
|
591
|
+
// Note: Used to register and fire "input" event upon [SPACE] or [ENTER].
|
|
592
|
+
// Note: The property "value" is updated upon selection move and can`t be used.
|
|
356
593
|
this.valueBeforeItemSelection = "";
|
|
357
594
|
|
|
595
|
+
// Represents the value before user moves selection between the suggestion items
|
|
596
|
+
// and its value remains the same when the user navigates up or down the list.
|
|
597
|
+
// Note: Used to cancel selection upon [ESC].
|
|
598
|
+
this.valueBeforeItemPreview = "";
|
|
599
|
+
|
|
600
|
+
// Indicates if the user selection has been canceled with [ESC].
|
|
601
|
+
this.suggestionSelectionCanceled = false;
|
|
602
|
+
|
|
603
|
+
// Indicates if the change event has already been fired
|
|
604
|
+
this._changeFiredValue = null;
|
|
605
|
+
|
|
358
606
|
// tracks the value between focus in and focus out to detect that change event should be fired.
|
|
359
607
|
this.previousValue = undefined;
|
|
360
608
|
|
|
361
609
|
// Indicates, if the component is rendering for first time.
|
|
362
610
|
this.firstRendering = true;
|
|
363
611
|
|
|
612
|
+
// The value that should be highlited.
|
|
613
|
+
this.highlightValue = "";
|
|
614
|
+
|
|
615
|
+
// The last value confirmed by the user with "ENTER"
|
|
616
|
+
this.lastConfirmedValue = "";
|
|
617
|
+
|
|
618
|
+
// The value that the user is typed in the input
|
|
619
|
+
this.valueBeforeAutoComplete = "";
|
|
620
|
+
|
|
621
|
+
// Indicates, if the user pressed the BACKSPACE key.
|
|
622
|
+
this._backspaceKeyDown = false;
|
|
623
|
+
|
|
624
|
+
// Indicates, if the user is typing. Gets reset once popup is closed
|
|
625
|
+
this.isTyping = false;
|
|
626
|
+
|
|
364
627
|
// all sementic events
|
|
365
|
-
this.EVENT_SUBMIT = "submit";
|
|
366
628
|
this.EVENT_CHANGE = "change";
|
|
367
629
|
this.EVENT_INPUT = "input";
|
|
368
|
-
this.EVENT_SUGGESTION_ITEM_SELECT = "
|
|
630
|
+
this.EVENT_SUGGESTION_ITEM_SELECT = "suggestion-item-select";
|
|
369
631
|
|
|
370
632
|
// all user interactions
|
|
371
633
|
this.ACTION_ENTER = "enter";
|
|
@@ -374,31 +636,84 @@ class Input extends UI5Element {
|
|
|
374
636
|
// Suggestions array initialization
|
|
375
637
|
this.suggestionsTexts = [];
|
|
376
638
|
|
|
377
|
-
this.
|
|
639
|
+
this._handleResizeBound = this._handleResize.bind(this);
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
onEnterDOM() {
|
|
643
|
+
ResizeHandler.register(this, this._handleResizeBound);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
onExitDOM() {
|
|
647
|
+
ResizeHandler.deregister(this, this._handleResizeBound);
|
|
378
648
|
}
|
|
379
649
|
|
|
380
650
|
onBeforeRendering() {
|
|
381
651
|
if (this.showSuggestions) {
|
|
382
652
|
this.enableSuggestions();
|
|
383
|
-
this.suggestionsTexts = this.Suggestions.defaultSlotProperties();
|
|
653
|
+
this.suggestionsTexts = this.Suggestions.defaultSlotProperties(this.highlightValue);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
this.effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
|
|
657
|
+
|
|
658
|
+
this.FormSupport = getFeature("FormSupport");
|
|
659
|
+
const hasItems = this.suggestionItems.length;
|
|
660
|
+
const hasValue = !!this.value;
|
|
661
|
+
const isFocused = this.shadowRoot.querySelector("input") === getActiveElement();
|
|
662
|
+
|
|
663
|
+
if (this._isPhone) {
|
|
664
|
+
this.open = this.openOnMobile;
|
|
665
|
+
} else if (this._forceOpen) {
|
|
666
|
+
this.open = true;
|
|
667
|
+
} else {
|
|
668
|
+
this.open = hasValue && hasItems && isFocused && this.isTyping;
|
|
384
669
|
}
|
|
385
670
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
FormSupport.syncNativeHiddenInput(this);
|
|
671
|
+
if (this.FormSupport) {
|
|
672
|
+
this.FormSupport.syncNativeHiddenInput(this);
|
|
389
673
|
} else if (this.name) {
|
|
390
674
|
console.warn(`In order for the "name" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
|
|
391
675
|
}
|
|
676
|
+
|
|
677
|
+
const value = this.value;
|
|
678
|
+
const innerInput = this.getInputDOMRefSync();
|
|
679
|
+
|
|
680
|
+
if (!innerInput || !value) {
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
const autoCompletedChars = innerInput.selectionEnd - innerInput.selectionStart;
|
|
685
|
+
|
|
686
|
+
// Typehead causes issues on Android devices, so we disable it for now
|
|
687
|
+
// If there is already a selection the autocomplete has already been performed
|
|
688
|
+
if (this._shouldAutocomplete && !isAndroid() && !autoCompletedChars && !this._isKeyNavigation) {
|
|
689
|
+
const item = this._getFirstMatchingItem(value);
|
|
690
|
+
|
|
691
|
+
// Keep the original typed in text intact
|
|
692
|
+
this.valueBeforeAutoComplete += value.slice(this.valueBeforeAutoComplete.length, value.length);
|
|
693
|
+
this._handleTypeAhead(item, value);
|
|
694
|
+
}
|
|
392
695
|
}
|
|
393
696
|
|
|
394
|
-
onAfterRendering() {
|
|
395
|
-
if (
|
|
396
|
-
this.Suggestions.toggle(this.
|
|
697
|
+
async onAfterRendering() {
|
|
698
|
+
if (this.Suggestions && this.showSuggestions) {
|
|
699
|
+
this.Suggestions.toggle(this.open, {
|
|
700
|
+
preventFocusRestore: true,
|
|
701
|
+
});
|
|
702
|
+
|
|
703
|
+
this._listWidth = await this.Suggestions._getListWidth();
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
if (this.shouldDisplayOnlyValueStateMessage) {
|
|
707
|
+
this.openPopover();
|
|
708
|
+
} else {
|
|
709
|
+
this.closePopover();
|
|
397
710
|
}
|
|
398
|
-
this.firstRendering = false;
|
|
399
711
|
}
|
|
400
712
|
|
|
401
713
|
_onkeydown(event) {
|
|
714
|
+
this._isKeyNavigation = true;
|
|
715
|
+
this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(event) || isDelete(event) || isEscape(event));
|
|
716
|
+
|
|
402
717
|
if (isUp(event)) {
|
|
403
718
|
return this._handleUp(event);
|
|
404
719
|
}
|
|
@@ -411,26 +726,66 @@ class Input extends UI5Element {
|
|
|
411
726
|
return this._handleSpace(event);
|
|
412
727
|
}
|
|
413
728
|
|
|
729
|
+
if (isTabNext(event)) {
|
|
730
|
+
return this._handleTab(event);
|
|
731
|
+
}
|
|
732
|
+
|
|
414
733
|
if (isEnter(event)) {
|
|
415
734
|
return this._handleEnter(event);
|
|
416
735
|
}
|
|
417
736
|
|
|
737
|
+
if (isPageUp(event)) {
|
|
738
|
+
return this._handlePageUp(event);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
if (isPageDown(event)) {
|
|
742
|
+
return this._handlePageDown(event);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
if (isHome(event)) {
|
|
746
|
+
return this._handleHome(event);
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
if (isEnd(event)) {
|
|
750
|
+
return this._handleEnd(event);
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
if (isEscape(event)) {
|
|
754
|
+
return this._handleEscape(event);
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
if (isBackSpace(event)) {
|
|
758
|
+
this._backspaceKeyDown = true;
|
|
759
|
+
this._selectedText = window.getSelection().toString();
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
if (this.showSuggestions) {
|
|
763
|
+
this._clearPopoverFocusAndSelection();
|
|
764
|
+
}
|
|
765
|
+
|
|
418
766
|
this._keyDown = true;
|
|
767
|
+
this._isKeyNavigation = false;
|
|
419
768
|
}
|
|
420
769
|
|
|
421
770
|
_onkeyup(event) {
|
|
771
|
+
// The native Delete event does not update the value property "on time". So, the (native) change event is always fired with the old value
|
|
772
|
+
if (isDelete(event)) {
|
|
773
|
+
this.value = event.target.value;
|
|
774
|
+
}
|
|
775
|
+
|
|
422
776
|
this._keyDown = false;
|
|
777
|
+
this._backspaceKeyDown = false;
|
|
423
778
|
}
|
|
424
779
|
|
|
425
780
|
/* Event handling */
|
|
426
781
|
_handleUp(event) {
|
|
427
|
-
if (this.Suggestions) {
|
|
782
|
+
if (this.Suggestions && this.Suggestions.isOpened()) {
|
|
428
783
|
this.Suggestions.onUp(event);
|
|
429
784
|
}
|
|
430
785
|
}
|
|
431
786
|
|
|
432
787
|
_handleDown(event) {
|
|
433
|
-
if (this.Suggestions) {
|
|
788
|
+
if (this.Suggestions && this.Suggestions.isOpened()) {
|
|
434
789
|
this.Suggestions.onDown(event);
|
|
435
790
|
}
|
|
436
791
|
}
|
|
@@ -441,29 +796,249 @@ class Input extends UI5Element {
|
|
|
441
796
|
}
|
|
442
797
|
}
|
|
443
798
|
|
|
799
|
+
_handleTab(event) {
|
|
800
|
+
if (this.Suggestions && (this.previousValue !== this.value)) {
|
|
801
|
+
this.Suggestions.onTab(event);
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
|
|
444
805
|
_handleEnter(event) {
|
|
445
806
|
const itemPressed = !!(this.Suggestions && this.Suggestions.onEnter(event));
|
|
807
|
+
|
|
808
|
+
// Check for autocompleted item
|
|
809
|
+
const matchingItem = this.suggestionItems.find(item => {
|
|
810
|
+
return (item.text && item.text === this.value) || (item.textContent === this.value);
|
|
811
|
+
});
|
|
812
|
+
|
|
813
|
+
if (matchingItem) {
|
|
814
|
+
const itemText = matchingItem.text ? matchingItem.text : matchingItem.textContent;
|
|
815
|
+
|
|
816
|
+
this.getInputDOMRefSync().setSelectionRange(itemText.length, itemText.length);
|
|
817
|
+
if (!itemPressed) {
|
|
818
|
+
this.selectSuggestion(matchingItem, true);
|
|
819
|
+
this.open = false;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
|
|
446
823
|
if (!itemPressed) {
|
|
447
824
|
this.fireEventByAction(this.ACTION_ENTER);
|
|
825
|
+
this.lastConfirmedValue = this.value;
|
|
826
|
+
|
|
827
|
+
if (this.FormSupport) {
|
|
828
|
+
this.FormSupport.triggerFormSubmit(this);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
this.focused = true;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
_handlePageUp(event) {
|
|
838
|
+
if (this._isSuggestionsFocused) {
|
|
839
|
+
this.Suggestions.onPageUp(event);
|
|
840
|
+
} else {
|
|
841
|
+
event.preventDefault();
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
_handlePageDown(event) {
|
|
846
|
+
if (this._isSuggestionsFocused) {
|
|
847
|
+
this.Suggestions.onPageDown(event);
|
|
848
|
+
} else {
|
|
849
|
+
event.preventDefault();
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
_handleHome(event) {
|
|
854
|
+
if (this._isSuggestionsFocused) {
|
|
855
|
+
this.Suggestions.onHome(event);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
_handleEnd(event) {
|
|
860
|
+
if (this._isSuggestionsFocused) {
|
|
861
|
+
this.Suggestions.onEnd(event);
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
_handleEscape() {
|
|
866
|
+
const hasSuggestions = this.showSuggestions && !!this.Suggestions;
|
|
867
|
+
const isOpen = hasSuggestions && this.open;
|
|
868
|
+
const innerInput = this.getInputDOMRefSync();
|
|
869
|
+
const isAutoCompleted = innerInput.selectionEnd - innerInput.selectionStart > 0;
|
|
870
|
+
|
|
871
|
+
if (!isOpen) {
|
|
872
|
+
this.value = this.lastConfirmedValue ? this.lastConfirmedValue : this.previousValue;
|
|
873
|
+
return;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
if (hasSuggestions && isOpen && this.Suggestions._isItemOnTarget()) {
|
|
877
|
+
// Restore the value.
|
|
878
|
+
this.value = this.valueBeforeAutoComplete || this.valueBeforeItemPreview;
|
|
879
|
+
|
|
880
|
+
// Mark that the selection has been canceled, so the popover can close
|
|
881
|
+
// and not reopen, due to receiving focus.
|
|
882
|
+
this.suggestionSelectionCanceled = true;
|
|
883
|
+
this.focused = true;
|
|
884
|
+
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
if (isAutoCompleted) {
|
|
889
|
+
this.value = this.valueBeforeAutoComplete;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
if (this._isValueStateFocused) {
|
|
893
|
+
this._isValueStateFocused = false;
|
|
894
|
+
this.focused = true;
|
|
448
895
|
}
|
|
449
896
|
}
|
|
450
897
|
|
|
451
|
-
_onfocusin(event) {
|
|
898
|
+
async _onfocusin(event) {
|
|
899
|
+
await this.getInputDOMRef();
|
|
900
|
+
|
|
901
|
+
this.valueBeforeAutoComplete = "";
|
|
452
902
|
this.focused = true; // invalidating property
|
|
453
903
|
this.previousValue = this.value;
|
|
904
|
+
this.valueBeforeItemPreview = this.value;
|
|
905
|
+
this._shouldAutocomplete = false;
|
|
906
|
+
|
|
907
|
+
this._inputIconFocused = event.target && event.target === this.querySelector("[ui5-icon]");
|
|
454
908
|
}
|
|
455
909
|
|
|
456
910
|
_onfocusout(event) {
|
|
457
|
-
this.
|
|
911
|
+
const focusedOutToSuggestions = this.Suggestions && event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.contains(this.Suggestions.responsivePopover);
|
|
912
|
+
const focusedOutToValueStateMessage = event.relatedTarget && event.relatedTarget.shadowRoot && event.relatedTarget.shadowRoot.querySelector(".ui5-valuestatemessage-root");
|
|
913
|
+
|
|
914
|
+
this._preventNextChange = this.effectiveShowClearIcon && this.shadowRoot.contains(event.relatedTarget);
|
|
915
|
+
|
|
916
|
+
// if focusout is triggered by pressing on suggestion item or value state message popover, skip invalidation, because re-rendering
|
|
917
|
+
// will happen before "itemPress" event, which will make item "active" state not visualized
|
|
918
|
+
if (focusedOutToSuggestions || focusedOutToValueStateMessage) {
|
|
919
|
+
event.stopImmediatePropagation();
|
|
920
|
+
return;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
const toBeFocused = event.relatedTarget;
|
|
924
|
+
|
|
925
|
+
if (toBeFocused && toBeFocused.classList.contains(this._id)) {
|
|
926
|
+
return;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
this.open = false;
|
|
930
|
+
this._clearPopoverFocusAndSelection();
|
|
931
|
+
|
|
458
932
|
this.previousValue = "";
|
|
933
|
+
this.lastConfirmedValue = "";
|
|
934
|
+
this.focused = false; // invalidating property
|
|
935
|
+
this.isTyping = false;
|
|
936
|
+
this._forceOpen = false;
|
|
459
937
|
}
|
|
460
938
|
|
|
461
|
-
|
|
462
|
-
this.
|
|
939
|
+
_clearPopoverFocusAndSelection() {
|
|
940
|
+
if (!this.showSuggestions || !this.Suggestions) {
|
|
941
|
+
return;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
this._isValueStateFocused = false;
|
|
945
|
+
this.hasSuggestionItemSelected = false;
|
|
946
|
+
|
|
947
|
+
this.Suggestions._deselectItems();
|
|
948
|
+
this.Suggestions._clearItemFocus();
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
_click(event) {
|
|
952
|
+
if (isPhone() && !this.readonly && this.Suggestions) {
|
|
953
|
+
this.blur();
|
|
954
|
+
this.openOnMobile = true;
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
_handleNativeInputChange() {
|
|
959
|
+
// The native change sometimes fires too early and getting input's value in the listener would return
|
|
960
|
+
// the previous value instead of the most recent one. This would make things consistent.
|
|
961
|
+
clearTimeout(this._nativeChangeDebounce);
|
|
962
|
+
this._nativeChangeDebounce = setTimeout(() => this._handleChange(), 100);
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
_handleChange() {
|
|
966
|
+
if (this._preventNextChange) {
|
|
967
|
+
this._preventNextChange = false;
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
if (this._changeFiredValue !== this.value) {
|
|
972
|
+
this._changeFiredValue = this.value;
|
|
973
|
+
this.fireEvent(this.EVENT_CHANGE);
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
_clear() {
|
|
978
|
+
this.value = "";
|
|
979
|
+
this.fireEvent(this.EVENT_INPUT);
|
|
980
|
+
this._handleChange();
|
|
981
|
+
|
|
982
|
+
if (!this._isPhone) {
|
|
983
|
+
this.focus();
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
_scroll(event) {
|
|
988
|
+
const detail = event.detail;
|
|
989
|
+
this.fireEvent("suggestion-scroll", {
|
|
990
|
+
scrollTop: detail.scrollTop,
|
|
991
|
+
scrollContainer: detail.targetRef,
|
|
992
|
+
});
|
|
463
993
|
}
|
|
464
994
|
|
|
465
995
|
_handleInput(event) {
|
|
466
|
-
|
|
996
|
+
const inputDomRef = this.getInputDOMRefSync();
|
|
997
|
+
const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
|
|
998
|
+
|
|
999
|
+
this.suggestionSelectionCanceled = false;
|
|
1000
|
+
|
|
1001
|
+
if (emptyValueFiredOnNumberInput && !this._backspaceKeyDown) {
|
|
1002
|
+
// For input with type="Number", if the delimiter is entered second time,
|
|
1003
|
+
// the inner input is firing event with empty value
|
|
1004
|
+
return;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
if (emptyValueFiredOnNumberInput && this._backspaceKeyDown) {
|
|
1008
|
+
// Issue: when the user removes the character(s) after the delimeter of numeric Input,
|
|
1009
|
+
// the native input is firing event with an empty value and we have to manually handle this case,
|
|
1010
|
+
// otherwise the entire input will be cleared as we sync the "value".
|
|
1011
|
+
|
|
1012
|
+
// There are tree scenarios:
|
|
1013
|
+
// Example: type "123.4" and press BACKSPACE - the native input is firing event with empty value.
|
|
1014
|
+
// Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with empty value.
|
|
1015
|
+
// Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value,
|
|
1016
|
+
// but this time that's really the case.
|
|
1017
|
+
|
|
1018
|
+
// Perform manual handling in case of floating number
|
|
1019
|
+
// and if the user did not select the entire input value
|
|
1020
|
+
if (this._selectedText.indexOf(",") > -1) {
|
|
1021
|
+
this._selectedText = this._selectedText.replace(",", ".");
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
if (rgxFloat.test(this.value) && this._selectedText !== this.value) {
|
|
1025
|
+
const newValue = this.removeFractionalPart(this.value);
|
|
1026
|
+
|
|
1027
|
+
// update state
|
|
1028
|
+
this.value = newValue;
|
|
1029
|
+
this.highlightValue = newValue;
|
|
1030
|
+
this.valueBeforeItemPreview = newValue;
|
|
1031
|
+
|
|
1032
|
+
// fire events
|
|
1033
|
+
this.fireEvent(this.EVENT_INPUT);
|
|
1034
|
+
this.fireEvent("value-changed");
|
|
1035
|
+
return;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
if (event.target === inputDomRef) {
|
|
1040
|
+
this.focused = true;
|
|
1041
|
+
|
|
467
1042
|
// stop the native event, as the semantic "input" would be fired.
|
|
468
1043
|
event.stopImmediatePropagation();
|
|
469
1044
|
}
|
|
@@ -472,15 +1047,121 @@ class Input extends UI5Element {
|
|
|
472
1047
|
- value of the host and the internal input should be differnt in case of actual input
|
|
473
1048
|
- input is called when a key is pressed => keyup should not be called yet
|
|
474
1049
|
*/
|
|
475
|
-
const skipFiring = (
|
|
1050
|
+
const skipFiring = (inputDomRef.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
|
|
476
1051
|
|
|
477
1052
|
!skipFiring && this.fireEventByAction(this.ACTION_USER_INPUT);
|
|
478
1053
|
|
|
479
1054
|
this.hasSuggestionItemSelected = false;
|
|
1055
|
+
this._isValueStateFocused = false;
|
|
480
1056
|
|
|
481
1057
|
if (this.Suggestions) {
|
|
482
1058
|
this.Suggestions.updateSelectedItemPosition(null);
|
|
483
1059
|
}
|
|
1060
|
+
|
|
1061
|
+
this.isTyping = true;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
_startsWithMatchingItems(str) {
|
|
1065
|
+
const textProp = this.suggestionItems[0].text ? "text" : "textContent";
|
|
1066
|
+
return Filters.StartsWith(str, this.suggestionItems, textProp);
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
_getFirstMatchingItem(current) {
|
|
1070
|
+
if (!this.suggestionItems.length) {
|
|
1071
|
+
return;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
const matchingItems = this._startsWithMatchingItems(current).filter(item => !item.groupItem);
|
|
1075
|
+
|
|
1076
|
+
if (matchingItems.length) {
|
|
1077
|
+
return matchingItems[0];
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
_handleTypeAhead(item, filterValue) {
|
|
1082
|
+
if (!item) {
|
|
1083
|
+
return;
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
const value = item.text ? item.text : item.textContent || "";
|
|
1087
|
+
const innerInput = this.getInputDOMRefSync();
|
|
1088
|
+
|
|
1089
|
+
filterValue = filterValue || "";
|
|
1090
|
+
this.value = value;
|
|
1091
|
+
|
|
1092
|
+
innerInput.value = value;
|
|
1093
|
+
innerInput.setSelectionRange(filterValue.length, value.length);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
_handleResize() {
|
|
1097
|
+
this._inputWidth = this.offsetWidth;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
_closeRespPopover(preventFocusRestore) {
|
|
1101
|
+
this.Suggestions.close(preventFocusRestore);
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
async _afterOpenPopover() {
|
|
1105
|
+
// Set initial focus to the native input
|
|
1106
|
+
if (isPhone()) {
|
|
1107
|
+
(await this.getInputDOMRef()).focus();
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
_afterClosePopover() {
|
|
1112
|
+
this.announceSelectedItem();
|
|
1113
|
+
|
|
1114
|
+
// close device's keyboard and prevent further typing
|
|
1115
|
+
if (isPhone()) {
|
|
1116
|
+
this.blur();
|
|
1117
|
+
this.focused = false;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
this.isTyping = false;
|
|
1121
|
+
this.openOnMobile = false;
|
|
1122
|
+
this.open = false;
|
|
1123
|
+
this._forceOpen = false;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
/**
|
|
1127
|
+
* Checks if the value state popover is open.
|
|
1128
|
+
* @returns {boolean} true if the value state popover is open, false otherwise
|
|
1129
|
+
*/
|
|
1130
|
+
isValueStateOpened() {
|
|
1131
|
+
return !!this._isPopoverOpen;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
async openPopover() {
|
|
1135
|
+
const popover = await this._getPopover();
|
|
1136
|
+
|
|
1137
|
+
if (popover) {
|
|
1138
|
+
this._isPopoverOpen = true;
|
|
1139
|
+
popover.showAt(this);
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
async closePopover() {
|
|
1144
|
+
const popover = await this._getPopover();
|
|
1145
|
+
|
|
1146
|
+
popover && popover.close();
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
async _getPopover() {
|
|
1150
|
+
const staticAreaItem = await this.getStaticAreaItemDomRef();
|
|
1151
|
+
return staticAreaItem && staticAreaItem.querySelector("[ui5-popover]");
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
/**
|
|
1155
|
+
* Manually opens the suggestions popover, assuming suggestions are enabled. Items must be preloaded for it to open.
|
|
1156
|
+
* @since 1.3.0
|
|
1157
|
+
* @public
|
|
1158
|
+
*/
|
|
1159
|
+
openPicker() {
|
|
1160
|
+
if (!this.suggestionItems.length || this.disabled || this.readonly) {
|
|
1161
|
+
return;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
this._forceOpen = true;
|
|
484
1165
|
}
|
|
485
1166
|
|
|
486
1167
|
enableSuggestions() {
|
|
@@ -489,52 +1170,102 @@ class Input extends UI5Element {
|
|
|
489
1170
|
}
|
|
490
1171
|
|
|
491
1172
|
const Suggestions = getFeature("InputSuggestions");
|
|
1173
|
+
|
|
492
1174
|
if (Suggestions) {
|
|
493
|
-
this.Suggestions = new Suggestions(this, "suggestionItems");
|
|
1175
|
+
this.Suggestions = new Suggestions(this, "suggestionItems", true);
|
|
494
1176
|
} else {
|
|
495
1177
|
throw new Error(`You have to import "@ui5/webcomponents/dist/features/InputSuggestions.js" module to use ui5-input suggestions`);
|
|
496
1178
|
}
|
|
497
1179
|
}
|
|
498
1180
|
|
|
499
|
-
shouldOpenSuggestions() {
|
|
500
|
-
return !!(this.suggestionItems.length
|
|
501
|
-
&& this.showSuggestions
|
|
502
|
-
&& this.focused
|
|
503
|
-
&& !this.hasSuggestionItemSelected);
|
|
504
|
-
}
|
|
505
|
-
|
|
506
1181
|
selectSuggestion(item, keyboardUsed) {
|
|
507
|
-
|
|
1182
|
+
if (item.group) {
|
|
1183
|
+
return;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
const itemText = item.text || item.textContent; // keep textContent for compatibility
|
|
508
1187
|
const fireInput = keyboardUsed
|
|
509
1188
|
? this.valueBeforeItemSelection !== itemText : this.value !== itemText;
|
|
510
1189
|
|
|
511
|
-
item.selected = false;
|
|
512
1190
|
this.hasSuggestionItemSelected = true;
|
|
513
|
-
this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
|
|
514
1191
|
|
|
515
1192
|
if (fireInput) {
|
|
516
1193
|
this.value = itemText;
|
|
517
1194
|
this.valueBeforeItemSelection = itemText;
|
|
1195
|
+
this.lastConfirmedValue = itemText;
|
|
518
1196
|
this.fireEvent(this.EVENT_INPUT);
|
|
519
|
-
this.
|
|
1197
|
+
this._handleChange();
|
|
520
1198
|
}
|
|
1199
|
+
|
|
1200
|
+
this.valueBeforeItemPreview = "";
|
|
1201
|
+
this.suggestionSelectionCanceled = false;
|
|
1202
|
+
|
|
1203
|
+
this.fireEvent(this.EVENT_SUGGESTION_ITEM_SELECT, { item });
|
|
1204
|
+
|
|
1205
|
+
this.isTyping = false;
|
|
1206
|
+
this.openOnMobile = false;
|
|
1207
|
+
this._forceOpen = false;
|
|
521
1208
|
}
|
|
522
1209
|
|
|
523
1210
|
previewSuggestion(item) {
|
|
524
1211
|
this.valueBeforeItemSelection = this.value;
|
|
525
|
-
this.
|
|
1212
|
+
this.updateValueOnPreview(item);
|
|
1213
|
+
this.announceSelectedItem();
|
|
1214
|
+
this._previewItem = item;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
/**
|
|
1218
|
+
* Updates the input value on item preview.
|
|
1219
|
+
* @param {Object} item The item that is on preview
|
|
1220
|
+
*/
|
|
1221
|
+
updateValueOnPreview(item) {
|
|
1222
|
+
const noPreview = item.type === "Inactive" || item.group;
|
|
1223
|
+
const innerInput = this.getInputDOMRefSync();
|
|
1224
|
+
const itemValue = noPreview ? this.valueBeforeItemPreview : (item.effectiveTitle || item.textContent);
|
|
1225
|
+
|
|
1226
|
+
this.value = itemValue;
|
|
1227
|
+
innerInput.value = itemValue;
|
|
1228
|
+
innerInput.setSelectionRange(this.valueBeforeAutoComplete.length, this.value.length);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
/**
|
|
1232
|
+
* The suggestion item on preview.
|
|
1233
|
+
* @type { sap.ui.webcomponents.main.IInputSuggestionItem }
|
|
1234
|
+
* @readonly
|
|
1235
|
+
* @public
|
|
1236
|
+
*/
|
|
1237
|
+
get previewItem() {
|
|
1238
|
+
if (!this._previewItem) {
|
|
1239
|
+
return null;
|
|
1240
|
+
}
|
|
1241
|
+
|
|
1242
|
+
return this.getSuggestionByListItem(this._previewItem);
|
|
526
1243
|
}
|
|
527
1244
|
|
|
528
|
-
fireEventByAction(action) {
|
|
1245
|
+
async fireEventByAction(action) {
|
|
1246
|
+
await this.getInputDOMRef();
|
|
1247
|
+
|
|
529
1248
|
if (this.disabled || this.readonly) {
|
|
530
1249
|
return;
|
|
531
1250
|
}
|
|
532
1251
|
|
|
533
|
-
const inputValue = this.getInputValue();
|
|
534
|
-
const isSubmit = action === this.ACTION_ENTER;
|
|
1252
|
+
const inputValue = await this.getInputValue();
|
|
535
1253
|
const isUserInput = action === this.ACTION_USER_INPUT;
|
|
536
1254
|
|
|
1255
|
+
const input = await this.getInputDOMRef();
|
|
1256
|
+
const cursorPosition = input.selectionStart;
|
|
1257
|
+
|
|
537
1258
|
this.value = inputValue;
|
|
1259
|
+
this.highlightValue = inputValue;
|
|
1260
|
+
this.valueBeforeItemPreview = inputValue;
|
|
1261
|
+
|
|
1262
|
+
if (isSafari()) {
|
|
1263
|
+
// When setting the value by hand, Safari moves the cursor when typing in the middle of the text (See #1761)
|
|
1264
|
+
setTimeout(() => {
|
|
1265
|
+
input.selectionStart = cursorPosition;
|
|
1266
|
+
input.selectionEnd = cursorPosition;
|
|
1267
|
+
}, 0);
|
|
1268
|
+
}
|
|
538
1269
|
|
|
539
1270
|
if (isUserInput) { // input
|
|
540
1271
|
this.fireEvent(this.EVENT_INPUT);
|
|
@@ -543,34 +1274,74 @@ class Input extends UI5Element {
|
|
|
543
1274
|
return;
|
|
544
1275
|
}
|
|
545
1276
|
|
|
546
|
-
if (isSubmit) { // submit
|
|
547
|
-
this.fireEvent(this.EVENT_SUBMIT);
|
|
548
|
-
}
|
|
549
|
-
|
|
550
1277
|
// In IE, pressing the ENTER does not fire change
|
|
551
1278
|
const valueChanged = (this.previousValue !== undefined) && (this.previousValue !== this.value);
|
|
552
|
-
if (isIE() &&
|
|
553
|
-
this.
|
|
1279
|
+
if (isIE() && action === this.ACTION_ENTER && valueChanged) {
|
|
1280
|
+
this._handleChange();
|
|
554
1281
|
}
|
|
555
1282
|
}
|
|
556
1283
|
|
|
1284
|
+
async getInputValue() {
|
|
1285
|
+
const domRef = this.getDomRef();
|
|
557
1286
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
if (inputDOM) {
|
|
561
|
-
return this.getInputDOMRef().value;
|
|
1287
|
+
if (domRef) {
|
|
1288
|
+
return (await this.getInputDOMRef()).value;
|
|
562
1289
|
}
|
|
563
1290
|
return "";
|
|
564
1291
|
}
|
|
565
1292
|
|
|
566
|
-
getInputDOMRef() {
|
|
567
|
-
|
|
1293
|
+
async getInputDOMRef() {
|
|
1294
|
+
if (isPhone() && this.Suggestions) {
|
|
1295
|
+
await this.Suggestions._getSuggestionPopover();
|
|
1296
|
+
return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
return this.nativeInput;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
getInputDOMRefSync() {
|
|
1303
|
+
if (isPhone() && this.Suggestions) {
|
|
1304
|
+
return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
return this.nativeInput;
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
/**
|
|
1311
|
+
* Returns a reference to the native input element
|
|
1312
|
+
* @protected
|
|
1313
|
+
*/
|
|
1314
|
+
get nativeInput() {
|
|
1315
|
+
return this.getDomRef() && this.getDomRef().querySelector(`input`);
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
get nativeInputWidth() {
|
|
1319
|
+
return this.nativeInput && this.nativeInput.offsetWidth;
|
|
568
1320
|
}
|
|
569
1321
|
|
|
570
1322
|
getLabelableElementId() {
|
|
571
1323
|
return this.getInputId();
|
|
572
1324
|
}
|
|
573
1325
|
|
|
1326
|
+
getSuggestionByListItem(item) {
|
|
1327
|
+
const key = parseInt(item.getAttribute("data-ui5-key"));
|
|
1328
|
+
return this.suggestionItems[key];
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
/**
|
|
1332
|
+
* Returns if the suggestions popover is scrollable.
|
|
1333
|
+
* The method returns <code>Promise</code> that resolves to true,
|
|
1334
|
+
* if the popup is scrollable and false otherwise.
|
|
1335
|
+
* @returns {Promise}
|
|
1336
|
+
*/
|
|
1337
|
+
isSuggestionsScrollable() {
|
|
1338
|
+
if (!this.Suggestions) {
|
|
1339
|
+
return Promise.resolve(false);
|
|
1340
|
+
}
|
|
1341
|
+
|
|
1342
|
+
return this.Suggestions._isScrollable();
|
|
1343
|
+
}
|
|
1344
|
+
|
|
574
1345
|
getInputId() {
|
|
575
1346
|
return `${this._id}-inner`;
|
|
576
1347
|
}
|
|
@@ -578,12 +1349,38 @@ class Input extends UI5Element {
|
|
|
578
1349
|
/* Suggestions interface */
|
|
579
1350
|
onItemFocused() {}
|
|
580
1351
|
|
|
1352
|
+
onItemMouseOver(event) {
|
|
1353
|
+
const item = event.target;
|
|
1354
|
+
const suggestion = this.getSuggestionByListItem(item);
|
|
1355
|
+
suggestion && suggestion.fireEvent("mouseover", {
|
|
1356
|
+
item: suggestion,
|
|
1357
|
+
targetRef: item,
|
|
1358
|
+
});
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
onItemMouseOut(event) {
|
|
1362
|
+
const item = event.target;
|
|
1363
|
+
const suggestion = this.getSuggestionByListItem(item);
|
|
1364
|
+
suggestion && suggestion.fireEvent("mouseout", {
|
|
1365
|
+
item: suggestion,
|
|
1366
|
+
targetRef: item,
|
|
1367
|
+
});
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
onItemMouseDown(event) {
|
|
1371
|
+
event.preventDefault();
|
|
1372
|
+
}
|
|
1373
|
+
|
|
581
1374
|
onItemSelected(item, keyboardUsed) {
|
|
582
1375
|
this.selectSuggestion(item, keyboardUsed);
|
|
583
1376
|
}
|
|
584
1377
|
|
|
585
1378
|
onItemPreviewed(item) {
|
|
586
1379
|
this.previewSuggestion(item);
|
|
1380
|
+
this.fireEvent("suggestion-item-preview", {
|
|
1381
|
+
item: this.getSuggestionByListItem(item),
|
|
1382
|
+
targetRef: item,
|
|
1383
|
+
});
|
|
587
1384
|
}
|
|
588
1385
|
|
|
589
1386
|
onOpen() {}
|
|
@@ -591,23 +1388,40 @@ class Input extends UI5Element {
|
|
|
591
1388
|
onClose() {}
|
|
592
1389
|
|
|
593
1390
|
valueStateTextMappings() {
|
|
594
|
-
const i18nBundle = this.i18nBundle;
|
|
595
|
-
|
|
596
1391
|
return {
|
|
597
|
-
"Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
|
|
598
|
-
"
|
|
599
|
-
"
|
|
1392
|
+
"Success": Input.i18nBundle.getText(VALUE_STATE_SUCCESS),
|
|
1393
|
+
"Information": Input.i18nBundle.getText(VALUE_STATE_INFORMATION),
|
|
1394
|
+
"Error": Input.i18nBundle.getText(VALUE_STATE_ERROR),
|
|
1395
|
+
"Warning": Input.i18nBundle.getText(VALUE_STATE_WARNING),
|
|
600
1396
|
};
|
|
601
1397
|
}
|
|
602
1398
|
|
|
1399
|
+
announceSelectedItem() {
|
|
1400
|
+
const invisibleText = this.shadowRoot.querySelector(`#${this._id}-selectionText`);
|
|
1401
|
+
|
|
1402
|
+
if (this.Suggestions && this.Suggestions._isItemOnTarget()) {
|
|
1403
|
+
invisibleText.textContent = this.itemSelectionAnnounce;
|
|
1404
|
+
} else {
|
|
1405
|
+
invisibleText.textContent = "";
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
|
|
603
1409
|
get _readonly() {
|
|
604
1410
|
return this.readonly && !this.disabled;
|
|
605
1411
|
}
|
|
606
1412
|
|
|
1413
|
+
get _headerTitleText() {
|
|
1414
|
+
return Input.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
|
|
1415
|
+
}
|
|
1416
|
+
|
|
607
1417
|
get inputType() {
|
|
608
1418
|
return this.type.toLowerCase();
|
|
609
1419
|
}
|
|
610
1420
|
|
|
1421
|
+
get isTypeNumber() {
|
|
1422
|
+
return this.type === InputType.Number;
|
|
1423
|
+
}
|
|
1424
|
+
|
|
611
1425
|
get suggestionsTextId() {
|
|
612
1426
|
return this.showSuggestions ? `${this._id}-suggestionsText` : "";
|
|
613
1427
|
}
|
|
@@ -619,38 +1433,244 @@ class Input extends UI5Element {
|
|
|
619
1433
|
get accInfo() {
|
|
620
1434
|
const ariaHasPopupDefault = this.showSuggestions ? "true" : undefined;
|
|
621
1435
|
const ariaAutoCompleteDefault = this.showSuggestions ? "list" : undefined;
|
|
1436
|
+
const ariaDescribedBy = this._inputAccInfo.ariaDescribedBy ? `${this.suggestionsTextId} ${this.valueStateTextId} ${this._inputAccInfo.ariaDescribedBy}`.trim() : `${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
|
|
1437
|
+
|
|
622
1438
|
return {
|
|
623
|
-
"wrapper": {
|
|
624
|
-
},
|
|
625
1439
|
"input": {
|
|
626
|
-
"
|
|
1440
|
+
"ariaRoledescription": this._inputAccInfo && (this._inputAccInfo.ariaRoledescription || undefined),
|
|
1441
|
+
"ariaDescribedBy": ariaDescribedBy || undefined,
|
|
627
1442
|
"ariaInvalid": this.valueState === ValueState.Error ? "true" : undefined,
|
|
628
1443
|
"ariaHasPopup": this._inputAccInfo.ariaHasPopup ? this._inputAccInfo.ariaHasPopup : ariaHasPopupDefault,
|
|
629
1444
|
"ariaAutoComplete": this._inputAccInfo.ariaAutoComplete ? this._inputAccInfo.ariaAutoComplete : ariaAutoCompleteDefault,
|
|
630
1445
|
"role": this._inputAccInfo && this._inputAccInfo.role,
|
|
631
|
-
"
|
|
1446
|
+
"ariaControls": this._inputAccInfo && this._inputAccInfo.ariaControls,
|
|
632
1447
|
"ariaExpanded": this._inputAccInfo && this._inputAccInfo.ariaExpanded,
|
|
633
1448
|
"ariaDescription": this._inputAccInfo && this._inputAccInfo.ariaDescription,
|
|
1449
|
+
"ariaLabel": (this._inputAccInfo && this._inputAccInfo.ariaLabel) || getEffectiveAriaLabelText(this),
|
|
1450
|
+
},
|
|
1451
|
+
};
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
get nativeInputAttributes() {
|
|
1455
|
+
return {
|
|
1456
|
+
"min": this.isTypeNumber ? this._nativeInputAttributes.min : undefined,
|
|
1457
|
+
"max": this.isTypeNumber ? this._nativeInputAttributes.max : undefined,
|
|
1458
|
+
"step": this.isTypeNumber ? (this._nativeInputAttributes.step || "any") : undefined,
|
|
1459
|
+
};
|
|
1460
|
+
}
|
|
1461
|
+
|
|
1462
|
+
get ariaValueStateHiddenText() {
|
|
1463
|
+
if (!this.hasValueStateMessage) {
|
|
1464
|
+
return;
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
if (this.shouldDisplayDefaultValueStateMessage) {
|
|
1468
|
+
return this.valueStateText;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
return this.valueStateMessageText.map(el => el.textContent).join(" ");
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
get itemSelectionAnnounce() {
|
|
1475
|
+
return this.Suggestions ? this.Suggestions.itemSelectionAnnounce : undefined;
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
get classes() {
|
|
1479
|
+
return {
|
|
1480
|
+
popover: {
|
|
1481
|
+
"ui5-suggestions-popover": !this.isPhone && this.showSuggestions,
|
|
1482
|
+
"ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.showSuggestions && this.hasValueStateMessage,
|
|
1483
|
+
},
|
|
1484
|
+
popoverValueState: {
|
|
1485
|
+
"ui5-valuestatemessage-root": true,
|
|
1486
|
+
"ui5-valuestatemessage-header": true,
|
|
1487
|
+
"ui5-valuestatemessage--success": this.valueState === ValueState.Success,
|
|
1488
|
+
"ui5-valuestatemessage--error": this.valueState === ValueState.Error,
|
|
1489
|
+
"ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
|
|
1490
|
+
"ui5-valuestatemessage--information": this.valueState === ValueState.Information,
|
|
634
1491
|
},
|
|
635
1492
|
};
|
|
636
1493
|
}
|
|
637
1494
|
|
|
1495
|
+
get styles() {
|
|
1496
|
+
const remSizeIxPx = parseInt(getComputedStyle(document.documentElement).fontSize);
|
|
1497
|
+
|
|
1498
|
+
const stylesObject = {
|
|
1499
|
+
popoverHeader: {
|
|
1500
|
+
"max-width": `${this._inputWidth}px`,
|
|
1501
|
+
},
|
|
1502
|
+
suggestionPopoverHeader: {
|
|
1503
|
+
"display": this._listWidth === 0 ? "none" : "inline-block",
|
|
1504
|
+
"width": `${this._listWidth}px`,
|
|
1505
|
+
},
|
|
1506
|
+
suggestionsPopover: {
|
|
1507
|
+
"min-width": `${this._inputWidth}px`,
|
|
1508
|
+
"max-width": (this._inputWidth / remSizeIxPx) > 40 ? `${this._inputWidth}px` : "40rem",
|
|
1509
|
+
},
|
|
1510
|
+
innerInput: {},
|
|
1511
|
+
};
|
|
1512
|
+
|
|
1513
|
+
if (this.nativeInputWidth < 48) {
|
|
1514
|
+
stylesObject.innerInput.padding = "0";
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
return stylesObject;
|
|
1518
|
+
}
|
|
1519
|
+
|
|
1520
|
+
get suggestionSeparators() {
|
|
1521
|
+
return "None";
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
get valueStateMessageText() {
|
|
1525
|
+
return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
get shouldDisplayOnlyValueStateMessage() {
|
|
1529
|
+
return this.hasValueStateMessage && !this.readonly && !this.open && this.focused;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
get shouldDisplayDefaultValueStateMessage() {
|
|
1533
|
+
return !this.valueStateMessage.length && this.hasValueStateMessage;
|
|
1534
|
+
}
|
|
1535
|
+
|
|
638
1536
|
get hasValueState() {
|
|
639
1537
|
return this.valueState !== ValueState.None;
|
|
640
1538
|
}
|
|
641
1539
|
|
|
1540
|
+
get hasValueStateMessage() {
|
|
1541
|
+
return this.hasValueState && this.valueState !== ValueState.Success
|
|
1542
|
+
&& (!this._inputIconFocused // Handles the cases when valueStateMessage is forwarded (from datepicker e.g.)
|
|
1543
|
+
|| (this._isPhone && this.Suggestions)); // Handles Input with suggestions on mobile
|
|
1544
|
+
}
|
|
1545
|
+
|
|
642
1546
|
get valueStateText() {
|
|
643
1547
|
return this.valueStateTextMappings()[this.valueState];
|
|
644
1548
|
}
|
|
645
1549
|
|
|
646
1550
|
get suggestionsText() {
|
|
647
|
-
return
|
|
1551
|
+
return Input.i18nBundle.getText(INPUT_SUGGESTIONS);
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
get availableSuggestionsCount() {
|
|
1555
|
+
if (this.showSuggestions && (this.value || this.Suggestions.isOpened())) {
|
|
1556
|
+
switch (this.suggestionsTexts.length) {
|
|
1557
|
+
case 0:
|
|
1558
|
+
return Input.i18nBundle.getText(INPUT_SUGGESTIONS_NO_HIT);
|
|
1559
|
+
|
|
1560
|
+
case 1:
|
|
1561
|
+
return Input.i18nBundle.getText(INPUT_SUGGESTIONS_ONE_HIT);
|
|
1562
|
+
|
|
1563
|
+
default:
|
|
1564
|
+
return Input.i18nBundle.getText(INPUT_SUGGESTIONS_MORE_HITS, this.suggestionsTexts.length);
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
return undefined;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
get step() {
|
|
1572
|
+
return this.isTypeNumber ? "any" : undefined;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
get _isPhone() {
|
|
1576
|
+
return isPhone();
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
get _isSuggestionsFocused() {
|
|
1580
|
+
return !this.focused && this.Suggestions && this.Suggestions.isOpened();
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
/**
|
|
1584
|
+
* Returns the placeholder value.
|
|
1585
|
+
* @protected
|
|
1586
|
+
*/
|
|
1587
|
+
get _placeholder() {
|
|
1588
|
+
return this.placeholder;
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
/**
|
|
1592
|
+
* This method is relevant for sap_horizon theme only
|
|
1593
|
+
*/
|
|
1594
|
+
get _valueStateInputIcon() {
|
|
1595
|
+
const iconPerValueState = {
|
|
1596
|
+
Error: `<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"/>`,
|
|
1597
|
+
Warning: `<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"/>`,
|
|
1598
|
+
Success: `<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"/>`,
|
|
1599
|
+
Information: `<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"/>`,
|
|
1600
|
+
};
|
|
1601
|
+
|
|
1602
|
+
const result = `
|
|
1603
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 20 20" fill="none">
|
|
1604
|
+
${iconPerValueState[this.valueState]};
|
|
1605
|
+
</svg>
|
|
1606
|
+
`;
|
|
1607
|
+
|
|
1608
|
+
return this.valueState !== ValueState.None ? result : "";
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
get _valueStatePopoverHorizontalAlign() {
|
|
1612
|
+
return this.effectiveDir !== "rtl" ? "Left" : "Right";
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
/**
|
|
1616
|
+
* This method is relevant for sap_horizon theme only
|
|
1617
|
+
*/
|
|
1618
|
+
get _valueStateMessageInputIcon() {
|
|
1619
|
+
const iconPerValueState = {
|
|
1620
|
+
Error: "error",
|
|
1621
|
+
Warning: "alert",
|
|
1622
|
+
Success: "sys-enter-2",
|
|
1623
|
+
Information: "information",
|
|
1624
|
+
};
|
|
1625
|
+
|
|
1626
|
+
return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
|
|
648
1627
|
}
|
|
649
1628
|
|
|
650
|
-
|
|
651
|
-
|
|
1629
|
+
/**
|
|
1630
|
+
* Returns the caret position inside the native input
|
|
1631
|
+
* @protected
|
|
1632
|
+
*/
|
|
1633
|
+
getCaretPosition() {
|
|
1634
|
+
return getCaretPosition(this.nativeInput);
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
/**
|
|
1638
|
+
* Sets the caret to a certain position inside the native input
|
|
1639
|
+
* @protected
|
|
1640
|
+
* @param pos
|
|
1641
|
+
*/
|
|
1642
|
+
setCaretPosition(pos) {
|
|
1643
|
+
setCaretPosition(this.nativeInput, pos);
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
/**
|
|
1647
|
+
* Removes the fractional part of floating-point number.
|
|
1648
|
+
* @param {string} value the numeric value of Input of type "Number"
|
|
1649
|
+
*/
|
|
1650
|
+
removeFractionalPart(value) {
|
|
1651
|
+
if (value.includes(".")) {
|
|
1652
|
+
return value.slice(0, value.indexOf("."));
|
|
1653
|
+
}
|
|
1654
|
+
if (value.includes(",")) {
|
|
1655
|
+
return value.slice(0, value.indexOf(","));
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
return value;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
static get dependencies() {
|
|
1662
|
+
const Suggestions = getFeature("InputSuggestions");
|
|
1663
|
+
|
|
1664
|
+
return [Popover, Icon].concat(Suggestions ? Suggestions.dependencies : []);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
static async onDefine() {
|
|
1668
|
+
const Suggestions = getFeature("InputSuggestions");
|
|
652
1669
|
|
|
653
|
-
|
|
1670
|
+
[Input.i18nBundle] = await Promise.all([
|
|
1671
|
+
getI18nBundle("@ui5/webcomponents"),
|
|
1672
|
+
Suggestions ? Suggestions.init() : Promise.resolve(),
|
|
1673
|
+
]);
|
|
654
1674
|
}
|
|
655
1675
|
}
|
|
656
1676
|
|