@ui5/webcomponents 2.0.0-rc.6 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +150 -0
- package/README.md +1 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +13 -18
- package/dist/Avatar.js +77 -17
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +1 -1
- package/dist/AvatarGroup.js +21 -3
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Bar.d.ts +1 -1
- package/dist/Bar.js +7 -2
- package/dist/Bar.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +1 -1
- package/dist/Breadcrumbs.js +25 -5
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +3 -3
- package/dist/BreadcrumbsItem.js +1 -1
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/BusyIndicator.d.ts +5 -5
- package/dist/BusyIndicator.js +33 -5
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Button.d.ts +9 -9
- package/dist/Button.js +107 -7
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +46 -7
- package/dist/Calendar.js +143 -16
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarDate.d.ts +1 -0
- package/dist/CalendarDate.js +11 -0
- package/dist/CalendarDate.js.map +1 -1
- package/dist/CalendarDateRange.d.ts +1 -0
- package/dist/CalendarDateRange.js +18 -0
- package/dist/CalendarDateRange.js.map +1 -1
- package/dist/CalendarLegend.js +24 -0
- package/dist/CalendarLegend.js.map +1 -1
- package/dist/CalendarLegendItem.d.ts +2 -2
- package/dist/CalendarLegendItem.js +16 -2
- package/dist/CalendarLegendItem.js.map +1 -1
- package/dist/CalendarPart.js +1 -2
- package/dist/CalendarPart.js.map +1 -1
- package/dist/Card.d.ts +4 -4
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +6 -6
- package/dist/CardHeader.js +20 -2
- package/dist/CardHeader.js.map +1 -1
- package/dist/Carousel.d.ts +9 -9
- package/dist/Carousel.js +104 -14
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +9 -9
- package/dist/CheckBox.js +85 -3
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +2 -4
- package/dist/ColorPalette.js +34 -17
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPaletteItem.d.ts +3 -3
- package/dist/ColorPaletteItem.js +37 -5
- package/dist/ColorPaletteItem.js.map +1 -1
- package/dist/ColorPalettePopover.js +30 -4
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ColorPicker.d.ts +3 -3
- package/dist/ColorPicker.js +49 -8
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.d.ts +12 -11
- package/dist/ComboBox.js +108 -12
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +4 -4
- package/dist/ComboBoxItem.js +18 -0
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/ComboBoxItemGroup.d.ts +2 -2
- package/dist/ComboBoxItemGroup.js +9 -1
- package/dist/ComboBoxItemGroup.js.map +1 -1
- package/dist/DateComponentBase.d.ts +3 -3
- package/dist/DateComponentBase.js +20 -3
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +7 -7
- package/dist/DatePicker.js +58 -4
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +2 -2
- package/dist/DateRangePicker.js +11 -4
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.js +25 -2
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPicker.js +52 -18
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +2 -2
- package/dist/Dialog.js +48 -2
- package/dist/Dialog.js.map +1 -1
- package/dist/DropIndicator.js +31 -4
- package/dist/DropIndicator.js.map +1 -1
- package/dist/FileUploader.d.ts +5 -5
- package/dist/FileUploader.js +43 -2
- package/dist/FileUploader.js.map +1 -1
- package/dist/Filters.js +2 -2
- package/dist/Filters.js.map +1 -1
- package/dist/Form.d.ts +5 -3
- package/dist/Form.js +65 -15
- package/dist/Form.js.map +1 -1
- package/dist/FormGroup.d.ts +4 -3
- package/dist/FormGroup.js +19 -11
- package/dist/FormGroup.js.map +1 -1
- package/dist/FormItem.d.ts +2 -1
- package/dist/FormItem.js +15 -5
- package/dist/FormItem.js.map +1 -1
- package/dist/Icon.d.ts +5 -5
- package/dist/Icon.js +38 -6
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +34 -39
- package/dist/Input.js +197 -78
- package/dist/Input.js.map +1 -1
- package/dist/Label.d.ts +3 -3
- package/dist/Label.js +30 -2
- package/dist/Label.js.map +1 -1
- package/dist/Link.d.ts +19 -19
- package/dist/Link.js +59 -8
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +17 -17
- package/dist/List.js +73 -12
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +10 -4
- package/dist/ListItem.js +63 -6
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +3 -3
- package/dist/ListItemBase.js +41 -1
- package/dist/ListItemBase.js.map +1 -1
- package/dist/ListItemCustom.d.ts +2 -2
- package/dist/ListItemCustom.js +10 -0
- package/dist/ListItemCustom.js.map +1 -1
- package/dist/ListItemGroup.d.ts +4 -4
- package/dist/ListItemGroup.js +9 -1
- package/dist/ListItemGroup.js.map +1 -1
- package/dist/ListItemGroupHeader.d.ts +2 -2
- package/dist/ListItemGroupHeader.js.map +1 -1
- package/dist/ListItemStandard.d.ts +14 -24
- package/dist/ListItemStandard.js +48 -15
- package/dist/ListItemStandard.js.map +1 -1
- package/dist/Menu.d.ts +23 -9
- package/dist/Menu.js +49 -15
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.d.ts +20 -20
- package/dist/MenuItem.js +42 -8
- package/dist/MenuItem.js.map +1 -1
- package/dist/MenuSeparator.d.ts +25 -0
- package/dist/MenuSeparator.js +59 -0
- package/dist/MenuSeparator.js.map +1 -0
- package/dist/MessageStrip.d.ts +1 -0
- package/dist/MessageStrip.js +46 -6
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MonthPicker.js +14 -7
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.d.ts +30 -23
- package/dist/MultiComboBox.js +206 -109
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxItem.js +8 -0
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiComboBoxItemGroup.d.ts +2 -2
- package/dist/MultiComboBoxItemGroup.js +1 -1
- package/dist/MultiComboBoxItemGroup.js.map +1 -1
- package/dist/MultiInput.d.ts +4 -4
- package/dist/MultiInput.js +18 -2
- package/dist/MultiInput.js.map +1 -1
- package/dist/NavigationMenuItem.d.ts +5 -5
- package/dist/NavigationMenuItem.js.map +1 -1
- package/dist/Option.d.ts +14 -8
- package/dist/Option.js +4 -1
- package/dist/Option.js.map +1 -1
- package/dist/OptionCustom.d.ts +12 -6
- package/dist/OptionCustom.js +4 -1
- package/dist/OptionCustom.js.map +1 -1
- package/dist/Panel.d.ts +7 -7
- package/dist/Panel.js +64 -4
- package/dist/Panel.js.map +1 -1
- package/dist/Popover.d.ts +2 -2
- package/dist/Popover.js +71 -11
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.d.ts +5 -5
- package/dist/Popup.js +46 -4
- package/dist/Popup.js.map +1 -1
- package/dist/ProgressIndicator.d.ts +4 -4
- package/dist/ProgressIndicator.js +24 -4
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.d.ts +11 -11
- package/dist/RadioButton.js +78 -5
- package/dist/RadioButton.js.map +1 -1
- package/dist/RangeSlider.js +22 -3
- package/dist/RangeSlider.js.map +1 -1
- package/dist/RatingIndicator.d.ts +6 -6
- package/dist/RatingIndicator.js +55 -6
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/ResponsivePopover.js +19 -0
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +2 -0
- package/dist/SegmentedButton.js +15 -3
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +9 -9
- package/dist/SegmentedButtonItem.js +49 -7
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +8 -9
- package/dist/Select.js +60 -11
- package/dist/Select.js.map +1 -1
- package/dist/Slider.js +9 -2
- package/dist/Slider.js.map +1 -1
- package/dist/SliderBase.d.ts +4 -4
- package/dist/SliderBase.js +61 -7
- package/dist/SliderBase.js.map +1 -1
- package/dist/SpecialCalendarDate.d.ts +11 -4
- package/dist/SpecialCalendarDate.js +23 -5
- package/dist/SpecialCalendarDate.js.map +1 -1
- package/dist/SplitButton.d.ts +3 -3
- package/dist/SplitButton.js +54 -4
- package/dist/SplitButton.js.map +1 -1
- package/dist/StepInput.d.ts +8 -8
- package/dist/StepInput.js +70 -19
- package/dist/StepInput.js.map +1 -1
- package/dist/SuggestionItem.d.ts +16 -60
- package/dist/SuggestionItem.js +26 -27
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/SuggestionItemCustom.d.ts +31 -0
- package/dist/SuggestionItemCustom.js +48 -0
- package/dist/SuggestionItemCustom.js.map +1 -0
- package/dist/SuggestionItemGroup.d.ts +19 -0
- package/dist/SuggestionItemGroup.js +35 -0
- package/dist/SuggestionItemGroup.js.map +1 -0
- package/dist/SuggestionListItem.d.ts +1 -1
- package/dist/Switch.d.ts +17 -17
- package/dist/Switch.js +40 -2
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +10 -10
- package/dist/Tab.js +41 -2
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +6 -6
- package/dist/TabContainer.js +81 -16
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.d.ts +23 -7
- package/dist/Table.js +71 -5
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +1 -0
- package/dist/TableCell.js +1 -0
- package/dist/TableCell.js.map +1 -1
- package/dist/TableCellBase.d.ts +2 -0
- package/dist/TableCellBase.js +7 -0
- package/dist/TableCellBase.js.map +1 -1
- package/dist/TableGrowing.d.ts +6 -5
- package/dist/TableGrowing.js +27 -1
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableHeaderCell.d.ts +1 -0
- package/dist/TableHeaderCell.js +42 -5
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderRow.d.ts +1 -0
- package/dist/TableHeaderRow.js +11 -0
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableNavigation.d.ts +3 -1
- package/dist/TableNavigation.js +25 -9
- package/dist/TableNavigation.js.map +1 -1
- package/dist/TableRow.d.ts +9 -0
- package/dist/TableRow.js +38 -0
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowBase.d.ts +3 -2
- package/dist/TableRowBase.js +16 -9
- package/dist/TableRowBase.js.map +1 -1
- package/dist/TableSelection.d.ts +27 -0
- package/dist/TableSelection.js +160 -6
- package/dist/TableSelection.js.map +1 -1
- package/dist/TableUtils.d.ts +7 -0
- package/dist/TableUtils.js +14 -0
- package/dist/TableUtils.js.map +1 -0
- package/dist/Tag.d.ts +2 -2
- package/dist/Tag.js +64 -6
- package/dist/Tag.js.map +1 -1
- package/dist/Text.js +10 -2
- package/dist/Text.js.map +1 -1
- package/dist/TextArea.d.ts +9 -9
- package/dist/TextArea.js +97 -7
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePicker.d.ts +9 -9
- package/dist/TimePicker.js +41 -4
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerClock.d.ts +1 -1
- package/dist/TimePickerClock.js +121 -14
- package/dist/TimePickerClock.js.map +1 -1
- package/dist/TimePickerInternals.d.ts +4 -4
- package/dist/TimePickerInternals.js +33 -11
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelectionClocks.js +15 -0
- package/dist/TimeSelectionClocks.js.map +1 -1
- package/dist/TimeSelectionInputs.d.ts +2 -2
- package/dist/TimeSelectionInputs.js +6 -3
- package/dist/TimeSelectionInputs.js.map +1 -1
- package/dist/Title.d.ts +1 -1
- package/dist/Title.js +20 -3
- package/dist/Title.js.map +1 -1
- package/dist/Toast.d.ts +1 -7
- package/dist/Toast.js +52 -23
- package/dist/Toast.js.map +1 -1
- package/dist/ToggleButton.js +9 -0
- package/dist/ToggleButton.js.map +1 -1
- package/dist/ToggleSpinButton.d.ts +1 -1
- package/dist/ToggleSpinButton.js +22 -4
- package/dist/ToggleSpinButton.js.map +1 -1
- package/dist/Token.d.ts +2 -2
- package/dist/Token.js +49 -1
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +2 -1
- package/dist/Tokenizer.js +73 -10
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +6 -6
- package/dist/Toolbar.js +23 -8
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +11 -11
- package/dist/ToolbarButton.js +39 -6
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/ToolbarItem.d.ts +1 -1
- package/dist/ToolbarItem.js +18 -2
- package/dist/ToolbarItem.js.map +1 -1
- package/dist/ToolbarSelect.d.ts +5 -5
- package/dist/ToolbarSelect.js +16 -4
- package/dist/ToolbarSelect.js.map +1 -1
- package/dist/ToolbarSelectOption.js +9 -0
- package/dist/ToolbarSelectOption.js.map +1 -1
- package/dist/ToolbarSeparator.js +4 -0
- package/dist/ToolbarSeparator.js.map +1 -1
- package/dist/ToolbarSpacer.js +1 -2
- package/dist/ToolbarSpacer.js.map +1 -1
- package/dist/Tree.d.ts +12 -12
- package/dist/Tree.js +11 -2
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +5 -5
- package/dist/TreeItem.js +1 -1
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +5 -5
- package/dist/TreeItemBase.js +61 -6
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/TreeItemCustom.js +9 -0
- package/dist/TreeItemCustom.js.map +1 -1
- package/dist/YearPicker.js +14 -7
- package/dist/YearPicker.js.map +1 -1
- package/dist/bundle.common.bootstrap.d.ts +1 -1
- package/dist/bundle.esm.d.ts +3 -1
- package/dist/bundle.esm.js +4 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormLabelSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MenuSeparator.css +1 -0
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -1
- package/dist/css/themes/NavigationMenuItem.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -0
- package/dist/css/themes/SuggestionItemCustom.css +1 -0
- package/dist/css/themes/Suggestions.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +1748 -1765
- package/dist/custom-elements.json +1476 -1532
- package/dist/features/InputSuggestions.d.ts +22 -48
- package/dist/features/InputSuggestions.js +63 -106
- package/dist/features/InputSuggestions.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
- package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
- package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
- package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
- package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/InputTemplate.lit.js +8 -12
- package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ListItemStandardTemplate.lit.js +18 -20
- package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
- package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
- package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
- package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +11 -11
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +11 -11
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
- package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
- package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
- package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
- package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
- package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
- package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableHeaderRowTemplate.lit.js +2 -2
- package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableRowTemplate.lit.js +6 -5
- package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableTemplate.lit.js +6 -6
- package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ToastTemplate.lit.js +1 -1
- package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormLabelSpan.css.js +1 -1
- package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
- package/dist/generated/themes/MenuSeparator.css.js +9 -0
- package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
- package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
- package/dist/generated/themes/SuggestionItem.css.js +9 -0
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
- package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
- package/dist/generated/themes/Suggestions.css.js +1 -1
- package/dist/generated/themes/Suggestions.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/IconMode.d.ts +4 -4
- package/dist/types/IconMode.js +4 -4
- package/dist/types/IconMode.js.map +1 -1
- package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
- package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
- package/dist/types/ListSeparator.js.map +1 -0
- package/dist/vscode.html-custom-data.json +64 -80
- package/dist/web-types.json +511 -518
- package/package.json +11 -9
- package/src/Avatar.hbs +1 -1
- package/src/Calendar.hbs +3 -19
- package/src/CalendarHeader.hbs +10 -10
- package/src/ComboBoxPopover.hbs +1 -1
- package/src/InputPopover.hbs +1 -22
- package/src/ListItemStandard.hbs +3 -9
- package/src/MenuSeparator.hbs +6 -0
- package/src/MessageStrip.hbs +1 -1
- package/src/MultiComboBox.hbs +1 -0
- package/src/MultiComboBoxPopover.hbs +14 -7
- package/src/SuggestionItem.hbs +14 -0
- package/src/SuggestionItemCustom.hbs +5 -0
- package/src/SuggestionItemGroup.hbs +1 -0
- package/src/TabContainer.hbs +2 -2
- package/src/Table.hbs +6 -12
- package/src/TableHeaderRow.hbs +2 -1
- package/src/TableRow.hbs +6 -2
- package/src/Toast.hbs +1 -1
- package/src/i18n/messagebundle_ar.properties +15 -2
- package/src/i18n/messagebundle_bg.properties +15 -2
- package/src/i18n/messagebundle_ca.properties +31 -18
- package/src/i18n/messagebundle_cnr.properties +15 -2
- package/src/i18n/messagebundle_cs.properties +15 -2
- package/src/i18n/messagebundle_cy.properties +25 -12
- package/src/i18n/messagebundle_da.properties +15 -2
- package/src/i18n/messagebundle_de.properties +18 -5
- package/src/i18n/messagebundle_el.properties +15 -2
- package/src/i18n/messagebundle_en.properties +15 -2
- package/src/i18n/messagebundle_en_GB.properties +15 -2
- package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
- package/src/i18n/messagebundle_es.properties +15 -2
- package/src/i18n/messagebundle_es_MX.properties +18 -5
- package/src/i18n/messagebundle_et.properties +15 -2
- package/src/i18n/messagebundle_fi.properties +15 -2
- package/src/i18n/messagebundle_fr.properties +33 -20
- package/src/i18n/messagebundle_fr_CA.properties +33 -20
- package/src/i18n/messagebundle_hi.properties +15 -2
- package/src/i18n/messagebundle_hr.properties +15 -2
- package/src/i18n/messagebundle_hu.properties +15 -2
- package/src/i18n/messagebundle_id.properties +15 -2
- package/src/i18n/messagebundle_it.properties +19 -6
- package/src/i18n/messagebundle_iw.properties +17 -4
- package/src/i18n/messagebundle_ja.properties +15 -2
- package/src/i18n/messagebundle_kk.properties +19 -6
- package/src/i18n/messagebundle_ko.properties +18 -5
- package/src/i18n/messagebundle_lt.properties +15 -2
- package/src/i18n/messagebundle_lv.properties +15 -2
- package/src/i18n/messagebundle_mk.properties +15 -2
- package/src/i18n/messagebundle_ms.properties +15 -2
- package/src/i18n/messagebundle_nl.properties +15 -2
- package/src/i18n/messagebundle_no.properties +15 -2
- package/src/i18n/messagebundle_pl.properties +15 -2
- package/src/i18n/messagebundle_pt.properties +15 -2
- package/src/i18n/messagebundle_pt_PT.properties +15 -2
- package/src/i18n/messagebundle_ro.properties +15 -2
- package/src/i18n/messagebundle_ru.properties +15 -2
- package/src/i18n/messagebundle_sh.properties +15 -2
- package/src/i18n/messagebundle_sk.properties +15 -2
- package/src/i18n/messagebundle_sl.properties +15 -2
- package/src/i18n/messagebundle_sr.properties +15 -2
- package/src/i18n/messagebundle_sv.properties +15 -2
- package/src/i18n/messagebundle_th.properties +16 -3
- package/src/i18n/messagebundle_tr.properties +16 -3
- package/src/i18n/messagebundle_uk.properties +16 -3
- package/src/i18n/messagebundle_vi.properties +15 -2
- package/src/i18n/messagebundle_zh_CN.properties +15 -2
- package/src/i18n/messagebundle_zh_TW.properties +15 -2
- package/src/themes/Calendar.css +6 -5
- package/src/themes/CheckBox.css +3 -8
- package/src/themes/Link.css +2 -2
- package/src/themes/ListItem.css +9 -13
- package/src/themes/MenuItem.css +0 -4
- package/src/themes/MenuSeparator.css +11 -0
- package/src/themes/SegmentedButtonItem.css +2 -1
- package/src/themes/SuggestionItem.css +14 -0
- package/src/themes/SuggestionItemCustom.css +3 -0
- package/src/themes/Suggestions.css +0 -5
- package/src/themes/TabContainer.css +1 -1
- package/src/themes/Table.css +3 -2
- package/src/themes/TableRow.css +15 -1
- package/src/themes/Tag.css +5 -75
- package/src/themes/TextArea.css +2 -2
- package/src/themes/base/CheckBox-parameters.css +2 -4
- package/src/themes/base/Table-parameters.css +1 -0
- package/src/themes/base/Tag-parameters.css +2 -1
- package/src/themes/base/sizes-parameters.css +1 -2
- package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
- package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
- package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
- package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
- package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
- package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
- package/src/themes/sap_horizon/sizes-parameters.css +3 -0
- package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
- package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
- package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
- package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
- package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
- package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
- package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
- package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
- package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
- package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
- package/dist/CalendarHeader.d.ts +0 -80
- package/dist/CalendarHeader.js +0 -160
- package/dist/CalendarHeader.js.map +0 -1
- package/dist/SuggestionGroupItem.d.ts +0 -28
- package/dist/SuggestionGroupItem.js +0 -43
- package/dist/SuggestionGroupItem.js.map +0 -1
- package/dist/styles/Icon.css +0 -33
- package/dist/styles/Icon.module.css +0 -33
- package/dist/types/ListSeparators.js.map +0 -1
- package/src/styles/Icon.module.css +0 -1
package/dist/TimePickerClock.js
CHANGED
|
@@ -9,7 +9,6 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
|
|
|
9
9
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
10
|
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
11
11
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
12
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
13
12
|
// Template
|
|
14
13
|
import TimePickerClockTemplate from "./generated/templates/TimePickerClockTemplate.lit.js";
|
|
15
14
|
// Styles
|
|
@@ -50,6 +49,114 @@ const CLOCK_MIDDOT_CLASS = "ui5-tp-clock-mid-dot";
|
|
|
50
49
|
let TimePickerClock = class TimePickerClock extends UI5Element {
|
|
51
50
|
constructor() {
|
|
52
51
|
super();
|
|
52
|
+
/**
|
|
53
|
+
* Determines whether the component is displayed as disabled.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
this.disabled = false;
|
|
57
|
+
/**
|
|
58
|
+
* Determines whether the component is active (visible).
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
this.active = false;
|
|
62
|
+
/**
|
|
63
|
+
* Minimum item value for the outer circle of the clock.
|
|
64
|
+
* @default -1
|
|
65
|
+
*/
|
|
66
|
+
this.itemMin = -1;
|
|
67
|
+
/**
|
|
68
|
+
* Maximum item value for the outer circle of the clock.
|
|
69
|
+
* @default -1
|
|
70
|
+
*/
|
|
71
|
+
this.itemMax = -1;
|
|
72
|
+
/**
|
|
73
|
+
* If set to `true`, an inner circle is displayed.
|
|
74
|
+
* The first item value of the inner circle will be itemMax + 1
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
this.showInnerCircle = false;
|
|
78
|
+
/**
|
|
79
|
+
* If set to `true`, a surrounding circle with markers (dots) will be hidden.
|
|
80
|
+
* (for example, on the 'Minutes' clock-dial, markers represent minutes).
|
|
81
|
+
* @default false
|
|
82
|
+
*/
|
|
83
|
+
this.hideFractions = false;
|
|
84
|
+
/**
|
|
85
|
+
* If provided, this will replace the last item displayed. If there is only one (outer) circle,
|
|
86
|
+
* the last item from outer circle will be replaced; if there is an inner circle too, the last
|
|
87
|
+
* item of inner circle will be replaced. Usually, the last item '24' is replaced with '0'.
|
|
88
|
+
* @default -1
|
|
89
|
+
*/
|
|
90
|
+
this.lastItemReplacement = -1;
|
|
91
|
+
/**
|
|
92
|
+
* Prepend with zero flag. If `true`, values less than 10 will be prepend with 0.
|
|
93
|
+
* @default false
|
|
94
|
+
*/
|
|
95
|
+
this.prependZero = false;
|
|
96
|
+
/**
|
|
97
|
+
* The currently selected value of the clock.
|
|
98
|
+
* @default -1
|
|
99
|
+
*/
|
|
100
|
+
this.selectedValue = -1;
|
|
101
|
+
/**
|
|
102
|
+
* The step for displaying of one unit of items.
|
|
103
|
+
* 1 means 1/60 of the circle.
|
|
104
|
+
* The default display step is 5 which means minutes and seconds are displayed as "0", "5", "10", etc.
|
|
105
|
+
* For hours the display step must be set to 1.
|
|
106
|
+
* @default 5
|
|
107
|
+
*/
|
|
108
|
+
this.displayStep = 5;
|
|
109
|
+
/**
|
|
110
|
+
* The step for selection of items.
|
|
111
|
+
* 1 means 1 unit:
|
|
112
|
+
* - if the clock displays hours - 1 unit = 1 hour
|
|
113
|
+
* - if the clock displays minutes/seconds - 1 unit = 1 minute/second
|
|
114
|
+
* @default 1
|
|
115
|
+
*/
|
|
116
|
+
this.valueStep = 1;
|
|
117
|
+
/**
|
|
118
|
+
* Defines the currently available Time Picker Clock items depending on Clock setup.
|
|
119
|
+
*/
|
|
120
|
+
this._items = [];
|
|
121
|
+
/**
|
|
122
|
+
* Defines the currently selected Time Picker Clock item.
|
|
123
|
+
*/
|
|
124
|
+
this._selectedItem = {};
|
|
125
|
+
/**
|
|
126
|
+
* Mousedown or Touchstart event flag.
|
|
127
|
+
* @default false
|
|
128
|
+
*/
|
|
129
|
+
this._mouseOrTouchDown = false;
|
|
130
|
+
/**
|
|
131
|
+
* Cancel Mouseout flag.
|
|
132
|
+
* @default false
|
|
133
|
+
*/
|
|
134
|
+
this._cancelTouchOut = false;
|
|
135
|
+
/**
|
|
136
|
+
* Calculated selected value of the clock during interactions.
|
|
137
|
+
* @default -1
|
|
138
|
+
*/
|
|
139
|
+
this._selectedValue = -1;
|
|
140
|
+
/**
|
|
141
|
+
* Selected value of the clock during interactions.
|
|
142
|
+
* @default -1
|
|
143
|
+
*/
|
|
144
|
+
this._movSelectedValue = -1;
|
|
145
|
+
/**
|
|
146
|
+
* Hovered value of the clock during interactions.
|
|
147
|
+
* @default -1
|
|
148
|
+
*/
|
|
149
|
+
this._hoveredValue = -1;
|
|
150
|
+
/**
|
|
151
|
+
* Previously hovered value of the clock during interactions.
|
|
152
|
+
* @default -1
|
|
153
|
+
*/
|
|
154
|
+
this._prevHoveredValue = -1;
|
|
155
|
+
/**
|
|
156
|
+
* Animation in progress flag.
|
|
157
|
+
* @default false
|
|
158
|
+
*/
|
|
159
|
+
this._animationInProgress = false;
|
|
53
160
|
this._fnOnMouseOutUp = () => {
|
|
54
161
|
this._mouseOrTouchDown = false;
|
|
55
162
|
};
|
|
@@ -493,37 +600,37 @@ __decorate([
|
|
|
493
600
|
property({ type: Boolean })
|
|
494
601
|
], TimePickerClock.prototype, "active", void 0);
|
|
495
602
|
__decorate([
|
|
496
|
-
property({
|
|
603
|
+
property({ type: Number })
|
|
497
604
|
], TimePickerClock.prototype, "itemMin", void 0);
|
|
498
605
|
__decorate([
|
|
499
|
-
property({
|
|
606
|
+
property({ type: Number })
|
|
500
607
|
], TimePickerClock.prototype, "itemMax", void 0);
|
|
501
608
|
__decorate([
|
|
502
609
|
property({ type: Boolean })
|
|
503
610
|
], TimePickerClock.prototype, "showInnerCircle", void 0);
|
|
504
611
|
__decorate([
|
|
505
|
-
property(
|
|
612
|
+
property()
|
|
506
613
|
], TimePickerClock.prototype, "label", void 0);
|
|
507
614
|
__decorate([
|
|
508
615
|
property({ type: Boolean })
|
|
509
616
|
], TimePickerClock.prototype, "hideFractions", void 0);
|
|
510
617
|
__decorate([
|
|
511
|
-
property({
|
|
618
|
+
property({ type: Number })
|
|
512
619
|
], TimePickerClock.prototype, "lastItemReplacement", void 0);
|
|
513
620
|
__decorate([
|
|
514
621
|
property({ type: Boolean })
|
|
515
622
|
], TimePickerClock.prototype, "prependZero", void 0);
|
|
516
623
|
__decorate([
|
|
517
|
-
property({
|
|
624
|
+
property({ type: Number })
|
|
518
625
|
], TimePickerClock.prototype, "selectedValue", void 0);
|
|
519
626
|
__decorate([
|
|
520
|
-
property({
|
|
627
|
+
property({ type: Number })
|
|
521
628
|
], TimePickerClock.prototype, "displayStep", void 0);
|
|
522
629
|
__decorate([
|
|
523
|
-
property({
|
|
630
|
+
property({ type: Number })
|
|
524
631
|
], TimePickerClock.prototype, "valueStep", void 0);
|
|
525
632
|
__decorate([
|
|
526
|
-
property({ type:
|
|
633
|
+
property({ type: Array })
|
|
527
634
|
], TimePickerClock.prototype, "_items", void 0);
|
|
528
635
|
__decorate([
|
|
529
636
|
property({ type: Object })
|
|
@@ -538,16 +645,16 @@ __decorate([
|
|
|
538
645
|
property({ type: Boolean, noAttribute: true })
|
|
539
646
|
], TimePickerClock.prototype, "_cancelTouchOut", void 0);
|
|
540
647
|
__decorate([
|
|
541
|
-
property({
|
|
648
|
+
property({ type: Number, noAttribute: true })
|
|
542
649
|
], TimePickerClock.prototype, "_selectedValue", void 0);
|
|
543
650
|
__decorate([
|
|
544
|
-
property({
|
|
651
|
+
property({ type: Number, noAttribute: true })
|
|
545
652
|
], TimePickerClock.prototype, "_movSelectedValue", void 0);
|
|
546
653
|
__decorate([
|
|
547
|
-
property({
|
|
654
|
+
property({ type: Number, noAttribute: true })
|
|
548
655
|
], TimePickerClock.prototype, "_hoveredValue", void 0);
|
|
549
656
|
__decorate([
|
|
550
|
-
property({
|
|
657
|
+
property({ type: Number, noAttribute: true })
|
|
551
658
|
], TimePickerClock.prototype, "_prevHoveredValue", void 0);
|
|
552
659
|
__decorate([
|
|
553
660
|
property({ type: Boolean, noAttribute: true })
|
|
@@ -571,7 +678,7 @@ TimePickerClock = __decorate([
|
|
|
571
678
|
/**
|
|
572
679
|
* @public
|
|
573
680
|
*/
|
|
574
|
-
value: { type:
|
|
681
|
+
value: { type: Number },
|
|
575
682
|
/**
|
|
576
683
|
* @public
|
|
577
684
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerClock.js","sourceRoot":"","sources":["../src/TimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\n\n// Template\nimport TimePickerClockTemplate from \"./generated/templates/TimePickerClockTemplate.lit.js\";\n\n// Styles\nimport TimePickerClockCss from \"./generated/themes/TimePickerClock.css.js\";\n\ntype TimePickerClockChangeEventDetail = {\n\tvalue: number,\n\tstringValue: string,\n\tfinalChange: boolean,\n}\n\ntype TimePickerClockItem = {\n\tangle?: number,\n\titem?: string,\n\tinnerItem?: string,\n\touterStyles?: object,\n\tinnerStyles?: object,\n}\n\ntype TimePickerClockSelection = {\n\tshowMarker: boolean,\n\titemClasses?: string,\n\tinnerItemClasses?: string,\n}\n\ntype TimePickerClockDimensions = {\n\tradius: number,\n\tcenterX: number,\n\tcenterY: number,\n\tdotHeight: number,\n\tnumberHeight: number,\n\touterMax: number,\n\touterMin: number,\n\tinnerMax: number,\n\tinnerMin: number,\n\toffsetX: number,\n\toffsetY: number,\n}\n\ntype TimePickerClockSelectedItem = TimePickerClockItem & TimePickerClockSelection;\n\nconst ANIMATION_DURATION_MAX = 200; // total animation duration, without the delay before firing the event\nconst ANIMATION_DELAY_EVENT = 100; // delay before firing the event\nconst CLOCK_ANGLE_STEP = 6;\nconst CLOCK_NUMBER_CLASS = \"ui5-tp-clock-number\";\nconst CLOCK_NUMBER_HOVER_CLASS = \"ui5-tp-clock-number-hover\";\nconst CLOCK_NUMBER_SELECTED_CLASS = \"ui5-tp-clock-selected\";\nconst CLOCK_MIDDOT_CLASS = \"ui5-tp-clock-mid-dot\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-time-picker-clock` allows selecting of hours,minutes or seconds (depending on property set).\n * The component supports interactions with mouse, touch and mouse wheel.\n * Depending on settings, the clock can display only outer set of items (when the clock displays hours in 12-hour mode,\n * minutes or seconds), or outer and inner sets of items (when the clock displays hours in 24-hours mode).\n * The step for displaying or selecting of items can be configured.\n *\n * `ui5-time-picker-clock` is used as part of `ui5-time-selection-clocks` component, which\n * is used in `ui5-time-picker` component respectively.\n *\n * ### Usage\n *\n * `ui5-time-picker-clock` can display hours, minutes or seconds\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePickerClock.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-clock\",\n\trenderer: litRender,\n\tstyles: TimePickerClockCss,\n\ttemplate: TimePickerClockTemplate,\n})\n\n/**\n * Fired when a value of clock is changed.\n * @param { integer } value The new `value` of the clock.\n * @param { string } stringValue The new `value` of the clock, as string, zero-prepended when necessary.\n * @param { boolean } finalChange `true` when a value is selected and confirmed, `false` when a value is only selected but not confirmed.\n */\n@event<TimePickerClockChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: { type: Integer },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tstringValue: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfinalChange: { type: Boolean },\n\t},\n})\n\nclass TimePickerClock extends UI5Element {\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines whether the component is active (visible).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tactive!: boolean;\n\n\t/**\n\t * Minimum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1 })\n\titemMin!: number;\n\n\t/**\n\t * Maximum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1 })\n\titemMax!: number;\n\n\t/**\n\t * If set to `true`, an inner circle is displayed.\n\t * The first item value of the inner circle will be itemMax + 1\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tshowInnerCircle!: boolean;\n\n\t/**\n\t * Label of the clock dial - for example, 'Hours', 'Minutes', or 'Seconds'.\n\t * @default undefined\n\t */\n\t@property({ type: String, defaultValue: undefined })\n\tlabel?: string;\n\n\t/**\n\t * If set to `true`, a surrounding circle with markers (dots) will be hidden.\n\t * (for example, on the 'Minutes' clock-dial, markers represent minutes).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\thideFractions!: boolean;\n\n\t/**\n\t * If provided, this will replace the last item displayed. If there is only one (outer) circle,\n\t * the last item from outer circle will be replaced; if there is an inner circle too, the last\n\t * item of inner circle will be replaced. Usually, the last item '24' is replaced with '0'.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1 })\n\tlastItemReplacement!: number;\n\n\t/**\n\t * Prepend with zero flag. If `true`, values less than 10 will be prepend with 0.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tprependZero!: boolean;\n\n\t/**\n\t * The currently selected value of the clock.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1 })\n\tselectedValue!: number;\n\n\t/**\n\t * The step for displaying of one unit of items.\n\t * 1 means 1/60 of the circle.\n\t * The default display step is 5 which means minutes and seconds are displayed as \"0\", \"5\", \"10\", etc.\n\t * For hours the display step must be set to 1.\n\t * @default 5\n\t */\n\t@property({ validator: Integer, defaultValue: 5 })\n\tdisplayStep!: number;\n\n\t/**\n\t * The step for selection of items.\n\t * 1 means 1 unit:\n\t * - if the clock displays hours - 1 unit = 1 hour\n\t * - if the clock displays minutes/seconds - 1 unit = 1 minute/second\n\t * @default 1\n\t */\n\t@property({ validator: Integer, defaultValue: 1 })\n\tvalueStep!: number;\n\n\t/**\n\t * Defines the currently available Time Picker Clock items depending on Clock setup.\n\t */\n\t@property({ type: Object, multiple: true })\n\t_items!: Array<TimePickerClockItem>;\n\n\t/**\n\t * Defines the currently selected Time Picker Clock item.\n\t */\n\t@property({ type: Object })\n\t_selectedItem!: TimePickerClockSelectedItem;\n\n\t/**\n\t * Keeps variables used in interaction calculations.\n\t */\n\t@property({ type: Object })\n\t_dimensionParameters!: TimePickerClockDimensions;\n\n\t/**\n\t * Mousedown or Touchstart event flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_mouseOrTouchDown!: boolean;\n\n\t/**\n\t * Cancel Mouseout flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelTouchOut!: boolean;\n\n\t/**\n\t * Calculated selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedValue!: number;\n\n\t/**\n\t * Selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_movSelectedValue!: number;\n\n\t/**\n\t * Hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_hoveredValue!: number;\n\n\t/**\n\t * Previously hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_prevHoveredValue!: number;\n\n\t/**\n\t * Animation in progress flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationInProgress!: boolean;\n\n\t_fnOnMouseOutUp: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._fnOnMouseOutUp = () => {\n\t\t\tthis._mouseOrTouchDown = false;\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn <ClassMap>{\n\t\t\tclock: {\n\t\t\t\t\"ui5-tp-clock\": true,\n\t\t\t\t\"ui5-tp-clock-inner\": this.showInnerCircle,\n\t\t\t\t\"ui5-tp-clock-active\": this.active,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareClockItems();\n\t\tconst value: number = this._fixReplacementValue(this.selectedValue);\n\t\tthis._updateSelectedValueObject(value);\n\t}\n\n\t/**\n\t * Returns the real value of the passed clock item, if the replacement must be done, returns the replaced value.\n\t * @param value The value of the clock item\n\t * @returns The real/replaced value\n\t */\n\t_fixReplacementValue(value: number): number {\n\t\tlet realValue = value;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\n\t\tif (realValue === 0) {\n\t\t\trealValue = maxValue;\n\t\t}\n\t\tif (realValue === maxValue && this.lastItemReplacement !== -1) {\n\t\t\trealValue = this.lastItemReplacement;\n\t\t}\n\n\t\treturn realValue;\n\t}\n\n\t/**\n\t * Updates internal selected value object constructed for rendering purposes.\n\t * @param value currently selected value.\n\t */\n\t_updateSelectedValueObject(value: number) {\n\t\tif (value === -1) {\n\t\t\tthis._selectedItem = {\n\t\t\t\tshowMarker: false,\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedOuter = (value >= this.itemMin && value <= this.itemMax) || (!this.showInnerCircle && value === this.lastItemReplacement);\n\t\tconst selectedInner = ((value >= this.itemMin + this.itemMax && value <= this.itemMax * 2) || value === this.lastItemReplacement) && this.showInnerCircle;\n\t\tconst stepAngle = 360 / (this.itemMax - this.itemMin + 1);\n\t\tconst innerValue = this.lastItemReplacement === -1 || !this.prependZero ? value.toString() : value.toString().padStart(2, \"0\");\n\t\tlet currentAngle: number | undefined = selectedOuter || selectedInner ? value * stepAngle : undefined;\n\n\t\tif (currentAngle !== undefined) {\n\t\t\tcurrentAngle %= 360;\n\t\t}\n\n\t\tthis._selectedItem = {\n\t\t\t\"angle\": currentAngle,\n\t\t\t\"item\": selectedOuter ? value.toString() : \"\",\n\t\t\t\"innerItem\": selectedInner ? innerValue : \"\",\n\t\t\t\"showMarker\": selectedOuter || selectedInner,\n\t\t\t\"itemClasses\": CLOCK_NUMBER_CLASS + (selectedOuter ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"innerItemClasses\": CLOCK_NUMBER_CLASS + (selectedInner ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"outerStyles\": {\n\t\t\t\ttransform: `translate(-50%) rotate(${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t\t\"innerStyles\": {\n\t\t\t\ttransform: `rotate(-${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Prepares clock items objects according to current clock settings. Item objects are used for rendering purposes.\n\t */\n\t_prepareClockItems() {\n\t\tconst values = [];\n\t\tlet displayStep = this.displayStep;\n\t\tlet item: TimePickerClockItem;\n\t\tlet valueIndex;\n\t\tlet i;\n\n\t\tthis._items = [];\n\n\t\tfor (i = this.itemMin; i <= this.itemMax; i++) {\n\t\t\tvalues.push({\n\t\t\t\t\"item\": i.toString(),\n\t\t\t\t\"innerItem\": this.showInnerCircle ? (i + this.itemMax).toString() : undefined,\n\t\t\t});\n\t\t}\n\t\tif (this.lastItemReplacement !== -1) {\n\t\t\tif (this.showInnerCircle && this.prependZero) {\n\t\t\t\tvalues[values.length - 1].innerItem = this.lastItemReplacement.toString().padStart(2, \"0\");\n\t\t\t} else {\n\t\t\t\tvalues[values.length - 1].item = this.lastItemReplacement.toString();\n\t\t\t}\n\t\t}\n\n\t\t// determines angle step for values display\n\t\tconst itemStep = 360 / CLOCK_ANGLE_STEP / values.length;\n\n\t\t// determines step for values display in units\n\t\tif (this.valueStep * itemStep > displayStep) {\n\t\t\tdisplayStep = this.valueStep * itemStep;\n\t\t}\n\n\t\tfor (i = 1; i <= 60; i++) {\n\t\t\tvalueIndex = i / itemStep - 1;\n\t\t\titem = i % displayStep !== 0 ? {} : values[valueIndex];\n\t\t\titem.angle = i * CLOCK_ANGLE_STEP;\n\t\t\titem.outerStyles = {\n\t\t\t\ttransform: `translate(-50%) rotate(${i * 6}deg)`,\n\t\t\t};\n\t\t\titem.innerStyles = {\n\t\t\t\ttransform: `rotate(-${i * 6}deg)`,\n\t\t\t};\n\t\t\tthis._items.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the DOM Reference of the clock cover element\n\t * @returns the DOM Reference\n\t */\n\t_getClockCoverContainerDomRef(): Element | null | undefined {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef && domRef.querySelector(\".ui5-tp-clock-cover\");\n\t}\n\n\t/**\n\t * Returns the real max value of clock items, taking in count if there is inner circle or not.\n\t * @returns max value\n\t */\n\t_getMaxValue(): number {\n\t\treturn this.showInnerCircle ? this.itemMax * 2 : this.itemMax;\n\t}\n\n\t/**\n\t * Calculates the outer height of a HTML element.\n\t * @param element The element which outer height to be calculated\n\t * @returns Outer height of the passed HTML element\n\t */\n\t_outerHeight(element: HTMLElement): number {\n\t\tif (!element) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst style = window.getComputedStyle(element);\n\n\t\treturn element.offsetHeight + parseInt(style.marginTop) + parseInt(style.marginBottom);\n\t}\n\n\t/**\n\t * Returns the Id of the DOM element of the clock item that display specific value.\n\t * @param value The value of the clock item\n\t * @returns Id of the clock item element\n\t */\n\t_hoveredId(value: number): string {\n\t\tif (value === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tvalue = this.lastItemReplacement;\n\t\t}\n\n\t\tconst valueString = this.showInnerCircle && value === this.lastItemReplacement && this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\n\t\treturn `#${this._id}-${valueString}`;\n\t}\n\n\t/**\n\t * Returns provided value as string. Padding with additional zero is applied if necessary.\n\t * @param value The value that should be returned as string\n\t * @returns The value as string\n\t */\n\t_getStringValue(value: number): string {\n\t\treturn this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\t}\n\n\t/**\n\t * Calculates dimension variables necessary for determining of item selection.\n\t * @returns Dimensions object\n\t */\n\t_calculateDimensions(): TimePickerClockDimensions | undefined {\n\t\tconst cover = this.getDomRef() as HTMLElement;\n\t\tconst scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n\t\tif (!cover) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRef = this.getDomRef() as HTMLElement;\n\t\tconst dotElement = domRef.querySelector(`.${CLOCK_MIDDOT_CLASS}`) as HTMLElement;\n\t\tconst numberElement = domRef.querySelector(`.${CLOCK_NUMBER_CLASS}`) as HTMLElement;\n\t\tconst radius = Math.round(cover.offsetHeight / 2);\n\t\tconst dotHeight = this._outerHeight(dotElement);\n\t\tconst numberHeight = this._outerHeight(numberElement);\n\t\tconst offset = cover.getBoundingClientRect();\n\n\t\tthis._dimensionParameters = {\n\t\t\t\"radius\": radius,\n\t\t\t\"centerX\": radius,\n\t\t\t\"centerY\": radius,\n\t\t\t\"dotHeight\": dotHeight,\n\t\t\t\"numberHeight\": numberHeight,\n\t\t\t\"outerMax\": radius,\n\t\t\t\"outerMin\": radius - numberHeight,\n\t\t\t\"innerMax\": radius - numberHeight - 1,\n\t\t\t\"innerMin\": radius - numberHeight * 2 - 1,\n\t\t\t\"offsetX\": offset.left + scrollLeft,\n\t\t\t\"offsetY\": offset.top + scrollTop,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates selected and hovered values based on click/touch position.\n\t * @param x X position of click/touch returned by the event\n\t * @param y Y position of click/touch returned by the event\n\t */\n\t_calculatePosition(x: number, y: number) {\n\t\tconst dX = x - this._dimensionParameters.offsetX + 1 - this._dimensionParameters.radius;\n\t\tconst dY = y - this._dimensionParameters.offsetY + 1 - this._dimensionParameters.radius;\n\t\tconst mod = dX >= 0 ? 0 : 180;\n\t\tconst angle = ((Math.atan(dY / dX) * 180) / Math.PI) + 90 + mod;\n\t\tconst angleStep = (360 / this.itemMax) * this.valueStep;\n\t\tconst radius = Math.sqrt(dX * dX + dY * dY);\n\t\tconst isOuter = radius <= this._dimensionParameters.outerMax && radius > (this.showInnerCircle ? this._dimensionParameters.outerMin : this._dimensionParameters.innerMin);\n\t\tconst isInner = this.showInnerCircle && radius <= this._dimensionParameters.innerMax && radius > this._dimensionParameters.innerMin;\n\t\tconst isOuterHover = radius <= this._dimensionParameters.outerMax && radius > this._dimensionParameters.outerMin;\n\t\tconst isInnerHover = isInner;\n\t\tlet finalAngle = Math.round((angle === 0 ? 360 : angle) / angleStep) * angleStep;\n\n\t\tif (finalAngle === 0) {\n\t\t\tfinalAngle = 360;\n\t\t}\n\n\t\t// selected item calculations\n\t\tif (isInner || isOuter) {\n\t\t\tthis._selectedValue = (finalAngle / angleStep) * this.valueStep;\n\t\t\tif (isInner) {\n\t\t\t\tthis._selectedValue += this.itemMax;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._selectedValue = -1;\n\t\t}\n\n\t\t// hover simulation calculations\n\t\tthis._hoveredValue = isInnerHover || isOuterHover ? this._selectedValue : -1;\n\n\t\tif (this._selectedValue === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tthis._selectedValue = this.lastItemReplacement;\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation between the old and the new value of the clock. Can be skipped with setting the second parameter to true.\n\t * @param newValue the new value that must be set\n\t * @param skipAnimation whether to skip the animation\n\t */\n\t_changeValueAnimation(newValue: number, skipAnimation = false) {\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet firstSelected = this._movSelectedValue;\n\t\tlet\tlastSelected = newValue;\n\t\tlet direction = 1;\n\t\tlet\tpath1;\n\t\tlet path2;\n\t\tlet delay;\n\n\t\tif (!skipAnimation) {\n\t\t\t// do the animation here\n\n\t\t\tpath1 = Math.abs(firstSelected - lastSelected);\n\t\t\tpath2 = maxValue - path1;\n\n\t\t\tif (firstSelected < lastSelected) {\n\t\t\t\tif (path2 < path1) {\n\t\t\t\t\tfirstSelected += maxValue;\n\t\t\t\t\tdirection = -1;\n\t\t\t\t}\n\t\t\t} else if (path2 < path1) {\n\t\t\t\tlastSelected += maxValue;\n\t\t\t} else {\n\t\t\t\tdirection = -1;\n\t\t\t}\n\n\t\t\tdelay = firstSelected === lastSelected ? 0 : Math.ceil(ANIMATION_DURATION_MAX / Math.abs(firstSelected - lastSelected));\n\t\t\tthis._animationInProgress = true;\n\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t} else {\n\t\t\tthis._setSelectedValue(newValue);\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation step between old and new selected values.\n\t * @param firstSelected first/current value to move from\n\t * @param lastSelected last value to move to\n\t * @param direction direction of the animation\n\t * @param maxValue max clock value\n\t * @param newValue new value\n\t * @param delay delay of the single step\n\t */\n\t_selectNextNumber(firstSelected: number, lastSelected: number, direction: number, maxValue: number, newValue: number, delay: number) {\n\t\tconst current = firstSelected > maxValue ? firstSelected - maxValue : firstSelected;\n\n\t\tif (firstSelected === lastSelected) {\n\t\t\tthis._animationInProgress = false;\n\t\t}\n\t\tthis._setSelectedValue(current);\n\t\tif (firstSelected !== lastSelected) {\n\t\t\tfirstSelected += direction;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t\t}, delay);\n\t\t} else {\n\t\t\t// the new value is set, fire event\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\t\t\"value\": newValue,\n\t\t\t\t\t\"stringValue\": this._getStringValue(newValue),\n\t\t\t\t\t\"finalChange\": true,\n\t\t\t\t});\n\t\t\t}, ANIMATION_DELAY_EVENT);\n\t\t}\n\t}\n\n\t/**\n\t * Mousewheel handler. Increases/decreases value of the clock.\n\t * @param increase whether to increase or decrease the value\n\t */\n\t_modifyValue(increase: boolean) {\n\t\tlet selectedValue = this.selectedValue;\n\t\tconst replacementValue = this.lastItemReplacement;\n\t\tconst minValue = this.itemMin;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet step = this.valueStep;\n\t\tlet newValue;\n\n\t\t// fix step in order to change value to the nearest possible if step is > 1\n\t\tif (selectedValue % step !== 0) {\n\t\t\tnewValue = increase ? Math.ceil(selectedValue / step) * step : Math.floor(selectedValue / step) * step;\n\t\t\tstep = Math.abs(selectedValue - newValue);\n\t\t}\n\n\t\tif (selectedValue === replacementValue) {\n\t\t\tselectedValue = maxValue;\n\t\t}\n\t\tif (increase) {\n\t\t\tselectedValue += step;\n\t\t\tif (selectedValue > maxValue) {\n\t\t\t\tselectedValue -= maxValue;\n\t\t\t}\n\t\t} else {\n\t\t\tselectedValue -= step;\n\t\t\tif (selectedValue < minValue) {\n\t\t\t\tselectedValue = maxValue;\n\t\t\t}\n\t\t}\n\n\t\tthis._setSelectedValue(selectedValue);\n\t}\n\n\t/**\n\t * Sets new selected value, fires change event and updates selected value object used for rendering purposes.\n\t * @param value\n\t */\n\t_setSelectedValue(value: number) {\n\t\tconst realValue: number = this._fixReplacementValue(value);\n\t\tthis.selectedValue = realValue;\n\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\"value\": realValue,\n\t\t\t\"stringValue\": this._getStringValue(realValue),\n\t\t\t\"finalChange\": false,\n\t\t});\n\t\tthis._updateSelectedValueObject(realValue);\n\t}\n\n\t/**\n\t * TouchStart/MouseDown event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchStart(evt: Event) {\n\t\tthis._cancelTouchOut = false;\n\t\tif (this.disabled || this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst x = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\tconst y = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\n\t\tthis._movSelectedValue = this.selectedValue;\n\t\tthis._calculateDimensions();\n\t\tthis._calculatePosition(x, y);\n\t\tthis._mouseOrTouchDown = true;\n\t}\n\n\t/**\n\t * TouchMove/MouseMove event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchMove(evt: Event) {\n\t\tlet\thoveredNumber;\n\t\tconst domRef = this.getDomRef();\n\n\t\tevt.preventDefault();\n\t\tif (this._mouseOrTouchDown) {\n\t\t\tconst x = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\t\tconst y = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\t\t\tthis._calculatePosition(x, y);\n\t\t\tif (!this.disabled && this._selectedValue !== -1 && this._selectedValue !== this._movSelectedValue) {\n\t\t\t\tthis._setSelectedValue(this._selectedValue);\n\t\t\t\tthis._movSelectedValue = 0 + this._selectedValue;\n\t\t\t}\n\t\t} else if (evt.type === \"mousemove\") {\n\t\t\tif (!this._dimensionParameters.radius) {\n\t\t\t\tthis._calculateDimensions();\n\t\t\t}\n\t\t\tthis._calculatePosition((evt as MouseEvent).pageX, (evt as MouseEvent).pageY);\n\t\t\tif (this.displayStep > 1 && this._hoveredValue !== -1) {\n\t\t\t\tthis._hoveredValue = Math.round(this._hoveredValue / this.displayStep) * this.displayStep;\n\t\t\t}\n\n\t\t\tif (!this.disabled && this._hoveredValue !== this._prevHoveredValue) {\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t\tthis._prevHoveredValue = this._hoveredValue;\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.add(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * TouchEnd/MouseUp event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchEnd(evt: Event) {\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\t\tthis._mouseOrTouchDown = false;\n\t\tevt.preventDefault();\n\t\tif (this.disabled || this._selectedValue === -1) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._cancelTouchOut) {\n\t\t\tthis._changeValueAnimation(this._selectedValue);\n\t\t}\n\t}\n\n\t/**\n\t * Mouse Wheel event handler.\n\t * @param evt Event object\n\t */\n\t_onMouseWheel(evt: WheelEvent) {\n\t\tconst increase = evt.detail ? (evt.detail > 0) : (evt.deltaY > 0 || evt.deltaX > 0);\n\n\t\tevt.preventDefault();\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\tthis._modifyValue(increase);\n\t\t}\n\t}\n\n\t/**\n\t * MouseOut event handler.\n\t */\n\t_onMouseOut() {\n\t\tconst hoveredNumber = (this.getDomRef() as HTMLElement).querySelector(this._hoveredId(this._hoveredValue));\n\n\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\tthis._hoveredValue = -1;\n\t\tthis._prevHoveredValue = -1;\n\t}\n}\n\nTimePickerClock.define();\n\nexport default TimePickerClock;\nexport type { TimePickerClockChangeEventDetail };\n"]}
|
|
1
|
+
{"version":3,"file":"TimePickerClock.js","sourceRoot":"","sources":["../src/TimePickerClock.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Template\nimport TimePickerClockTemplate from \"./generated/templates/TimePickerClockTemplate.lit.js\";\n\n// Styles\nimport TimePickerClockCss from \"./generated/themes/TimePickerClock.css.js\";\n\ntype TimePickerClockChangeEventDetail = {\n\tvalue: number,\n\tstringValue: string,\n\tfinalChange: boolean,\n}\n\ntype TimePickerClockItem = {\n\tangle?: number,\n\titem?: string,\n\tinnerItem?: string,\n\touterStyles?: object,\n\tinnerStyles?: object,\n}\n\ntype TimePickerClockSelection = {\n\tshowMarker?: boolean,\n\titemClasses?: string,\n\tinnerItemClasses?: string,\n}\n\ntype TimePickerClockDimensions = {\n\tradius: number,\n\tcenterX: number,\n\tcenterY: number,\n\tdotHeight: number,\n\tnumberHeight: number,\n\touterMax: number,\n\touterMin: number,\n\tinnerMax: number,\n\tinnerMin: number,\n\toffsetX: number,\n\toffsetY: number,\n}\n\ntype TimePickerClockSelectedItem = TimePickerClockItem & TimePickerClockSelection;\n\nconst ANIMATION_DURATION_MAX = 200; // total animation duration, without the delay before firing the event\nconst ANIMATION_DELAY_EVENT = 100; // delay before firing the event\nconst CLOCK_ANGLE_STEP = 6;\nconst CLOCK_NUMBER_CLASS = \"ui5-tp-clock-number\";\nconst CLOCK_NUMBER_HOVER_CLASS = \"ui5-tp-clock-number-hover\";\nconst CLOCK_NUMBER_SELECTED_CLASS = \"ui5-tp-clock-selected\";\nconst CLOCK_MIDDOT_CLASS = \"ui5-tp-clock-mid-dot\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-time-picker-clock` allows selecting of hours,minutes or seconds (depending on property set).\n * The component supports interactions with mouse, touch and mouse wheel.\n * Depending on settings, the clock can display only outer set of items (when the clock displays hours in 12-hour mode,\n * minutes or seconds), or outer and inner sets of items (when the clock displays hours in 24-hours mode).\n * The step for displaying or selecting of items can be configured.\n *\n * `ui5-time-picker-clock` is used as part of `ui5-time-selection-clocks` component, which\n * is used in `ui5-time-picker` component respectively.\n *\n * ### Usage\n *\n * `ui5-time-picker-clock` can display hours, minutes or seconds\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePickerClock.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-clock\",\n\trenderer: litRender,\n\tstyles: TimePickerClockCss,\n\ttemplate: TimePickerClockTemplate,\n})\n\n/**\n * Fired when a value of clock is changed.\n * @param { integer } value The new `value` of the clock.\n * @param { string } stringValue The new `value` of the clock, as string, zero-prepended when necessary.\n * @param { boolean } finalChange `true` when a value is selected and confirmed, `false` when a value is only selected but not confirmed.\n */\n@event<TimePickerClockChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: { type: Number },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tstringValue: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfinalChange: { type: Boolean },\n\t},\n})\n\nclass TimePickerClock extends UI5Element {\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is active (visible).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Minimum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMin = -1;\n\n\t/**\n\t * Maximum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMax = -1;\n\n\t/**\n\t * If set to `true`, an inner circle is displayed.\n\t * The first item value of the inner circle will be itemMax + 1\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tshowInnerCircle = false;\n\n\t/**\n\t * Label of the clock dial - for example, 'Hours', 'Minutes', or 'Seconds'.\n\t * @default undefined\n\t */\n\t@property()\n\tlabel?: string;\n\n\t/**\n\t * If set to `true`, a surrounding circle with markers (dots) will be hidden.\n\t * (for example, on the 'Minutes' clock-dial, markers represent minutes).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\thideFractions = false;\n\n\t/**\n\t * If provided, this will replace the last item displayed. If there is only one (outer) circle,\n\t * the last item from outer circle will be replaced; if there is an inner circle too, the last\n\t * item of inner circle will be replaced. Usually, the last item '24' is replaced with '0'.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tlastItemReplacement = -1;\n\n\t/**\n\t * Prepend with zero flag. If `true`, values less than 10 will be prepend with 0.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tprependZero = false;\n\n\t/**\n\t * The currently selected value of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tselectedValue = -1\n\n\t/**\n\t * The step for displaying of one unit of items.\n\t * 1 means 1/60 of the circle.\n\t * The default display step is 5 which means minutes and seconds are displayed as \"0\", \"5\", \"10\", etc.\n\t * For hours the display step must be set to 1.\n\t * @default 5\n\t */\n\t@property({ type: Number })\n\tdisplayStep = 5;\n\n\t/**\n\t * The step for selection of items.\n\t * 1 means 1 unit:\n\t * - if the clock displays hours - 1 unit = 1 hour\n\t * - if the clock displays minutes/seconds - 1 unit = 1 minute/second\n\t * @default 1\n\t */\n\t@property({ type: Number })\n\tvalueStep = 1;\n\n\t/**\n\t * Defines the currently available Time Picker Clock items depending on Clock setup.\n\t */\n\t@property({ type: Array })\n\t_items: Array<TimePickerClockItem> = [];\n\n\t/**\n\t * Defines the currently selected Time Picker Clock item.\n\t */\n\t@property({ type: Object })\n\t_selectedItem: TimePickerClockSelectedItem = {};\n\n\t/**\n\t * Keeps variables used in interaction calculations.\n\t */\n\t@property({ type: Object })\n\t_dimensionParameters!: TimePickerClockDimensions;\n\n\t/**\n\t * Mousedown or Touchstart event flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_mouseOrTouchDown = false;\n\n\t/**\n\t * Cancel Mouseout flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelTouchOut = false;\n\n\t/**\n\t * Calculated selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_selectedValue = -1;\n\n\t/**\n\t * Selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_movSelectedValue = -1;\n\n\t/**\n\t * Hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_hoveredValue = -1;\n\n\t/**\n\t * Previously hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_prevHoveredValue = -1;\n\n\t/**\n\t * Animation in progress flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationInProgress = false;\n\n\t_fnOnMouseOutUp: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._fnOnMouseOutUp = () => {\n\t\t\tthis._mouseOrTouchDown = false;\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn <ClassMap>{\n\t\t\tclock: {\n\t\t\t\t\"ui5-tp-clock\": true,\n\t\t\t\t\"ui5-tp-clock-inner\": this.showInnerCircle,\n\t\t\t\t\"ui5-tp-clock-active\": this.active,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareClockItems();\n\t\tconst value: number = this._fixReplacementValue(this.selectedValue);\n\t\tthis._updateSelectedValueObject(value);\n\t}\n\n\t/**\n\t * Returns the real value of the passed clock item, if the replacement must be done, returns the replaced value.\n\t * @param value The value of the clock item\n\t * @returns The real/replaced value\n\t */\n\t_fixReplacementValue(value: number): number {\n\t\tlet realValue = value;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\n\t\tif (realValue === 0) {\n\t\t\trealValue = maxValue;\n\t\t}\n\t\tif (realValue === maxValue && this.lastItemReplacement !== -1) {\n\t\t\trealValue = this.lastItemReplacement;\n\t\t}\n\n\t\treturn realValue;\n\t}\n\n\t/**\n\t * Updates internal selected value object constructed for rendering purposes.\n\t * @param value currently selected value.\n\t */\n\t_updateSelectedValueObject(value: number) {\n\t\tif (value === -1) {\n\t\t\tthis._selectedItem = {\n\t\t\t\tshowMarker: false,\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedOuter = (value >= this.itemMin && value <= this.itemMax) || (!this.showInnerCircle && value === this.lastItemReplacement);\n\t\tconst selectedInner = ((value >= this.itemMin + this.itemMax && value <= this.itemMax * 2) || value === this.lastItemReplacement) && this.showInnerCircle;\n\t\tconst stepAngle = 360 / (this.itemMax - this.itemMin + 1);\n\t\tconst innerValue = this.lastItemReplacement === -1 || !this.prependZero ? value.toString() : value.toString().padStart(2, \"0\");\n\t\tlet currentAngle: number | undefined = selectedOuter || selectedInner ? value * stepAngle : undefined;\n\n\t\tif (currentAngle !== undefined) {\n\t\t\tcurrentAngle %= 360;\n\t\t}\n\n\t\tthis._selectedItem = {\n\t\t\t\"angle\": currentAngle,\n\t\t\t\"item\": selectedOuter ? value.toString() : \"\",\n\t\t\t\"innerItem\": selectedInner ? innerValue : \"\",\n\t\t\t\"showMarker\": selectedOuter || selectedInner,\n\t\t\t\"itemClasses\": CLOCK_NUMBER_CLASS + (selectedOuter ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"innerItemClasses\": CLOCK_NUMBER_CLASS + (selectedInner ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"outerStyles\": {\n\t\t\t\ttransform: `translate(-50%) rotate(${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t\t\"innerStyles\": {\n\t\t\t\ttransform: `rotate(-${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Prepares clock items objects according to current clock settings. Item objects are used for rendering purposes.\n\t */\n\t_prepareClockItems() {\n\t\tconst values = [];\n\t\tlet displayStep = this.displayStep;\n\t\tlet item: TimePickerClockItem;\n\t\tlet valueIndex;\n\t\tlet i;\n\n\t\tthis._items = [];\n\n\t\tfor (i = this.itemMin; i <= this.itemMax; i++) {\n\t\t\tvalues.push({\n\t\t\t\t\"item\": i.toString(),\n\t\t\t\t\"innerItem\": this.showInnerCircle ? (i + this.itemMax).toString() : undefined,\n\t\t\t});\n\t\t}\n\t\tif (this.lastItemReplacement !== -1) {\n\t\t\tif (this.showInnerCircle && this.prependZero) {\n\t\t\t\tvalues[values.length - 1].innerItem = this.lastItemReplacement.toString().padStart(2, \"0\");\n\t\t\t} else {\n\t\t\t\tvalues[values.length - 1].item = this.lastItemReplacement.toString();\n\t\t\t}\n\t\t}\n\n\t\t// determines angle step for values display\n\t\tconst itemStep = 360 / CLOCK_ANGLE_STEP / values.length;\n\n\t\t// determines step for values display in units\n\t\tif (this.valueStep * itemStep > displayStep) {\n\t\t\tdisplayStep = this.valueStep * itemStep;\n\t\t}\n\n\t\tfor (i = 1; i <= 60; i++) {\n\t\t\tvalueIndex = i / itemStep - 1;\n\t\t\titem = i % displayStep !== 0 ? {} : values[valueIndex];\n\t\t\titem.angle = i * CLOCK_ANGLE_STEP;\n\t\t\titem.outerStyles = {\n\t\t\t\ttransform: `translate(-50%) rotate(${i * 6}deg)`,\n\t\t\t};\n\t\t\titem.innerStyles = {\n\t\t\t\ttransform: `rotate(-${i * 6}deg)`,\n\t\t\t};\n\t\t\tthis._items.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the DOM Reference of the clock cover element\n\t * @returns the DOM Reference\n\t */\n\t_getClockCoverContainerDomRef(): Element | null | undefined {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef && domRef.querySelector(\".ui5-tp-clock-cover\");\n\t}\n\n\t/**\n\t * Returns the real max value of clock items, taking in count if there is inner circle or not.\n\t * @returns max value\n\t */\n\t_getMaxValue(): number {\n\t\treturn this.showInnerCircle ? this.itemMax * 2 : this.itemMax;\n\t}\n\n\t/**\n\t * Calculates the outer height of a HTML element.\n\t * @param element The element which outer height to be calculated\n\t * @returns Outer height of the passed HTML element\n\t */\n\t_outerHeight(element: HTMLElement): number {\n\t\tif (!element) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst style = window.getComputedStyle(element);\n\n\t\treturn element.offsetHeight + parseInt(style.marginTop) + parseInt(style.marginBottom);\n\t}\n\n\t/**\n\t * Returns the Id of the DOM element of the clock item that display specific value.\n\t * @param value The value of the clock item\n\t * @returns Id of the clock item element\n\t */\n\t_hoveredId(value: number): string {\n\t\tif (value === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tvalue = this.lastItemReplacement;\n\t\t}\n\n\t\tconst valueString = this.showInnerCircle && value === this.lastItemReplacement && this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\n\t\treturn `#${this._id}-${valueString}`;\n\t}\n\n\t/**\n\t * Returns provided value as string. Padding with additional zero is applied if necessary.\n\t * @param value The value that should be returned as string\n\t * @returns The value as string\n\t */\n\t_getStringValue(value: number): string {\n\t\treturn this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\t}\n\n\t/**\n\t * Calculates dimension variables necessary for determining of item selection.\n\t * @returns Dimensions object\n\t */\n\t_calculateDimensions(): TimePickerClockDimensions | undefined {\n\t\tconst cover = this.getDomRef() as HTMLElement;\n\t\tconst scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n\t\tif (!cover) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRef = this.getDomRef() as HTMLElement;\n\t\tconst dotElement = domRef.querySelector(`.${CLOCK_MIDDOT_CLASS}`) as HTMLElement;\n\t\tconst numberElement = domRef.querySelector(`.${CLOCK_NUMBER_CLASS}`) as HTMLElement;\n\t\tconst radius = Math.round(cover.offsetHeight / 2);\n\t\tconst dotHeight = this._outerHeight(dotElement);\n\t\tconst numberHeight = this._outerHeight(numberElement);\n\t\tconst offset = cover.getBoundingClientRect();\n\n\t\tthis._dimensionParameters = {\n\t\t\t\"radius\": radius,\n\t\t\t\"centerX\": radius,\n\t\t\t\"centerY\": radius,\n\t\t\t\"dotHeight\": dotHeight,\n\t\t\t\"numberHeight\": numberHeight,\n\t\t\t\"outerMax\": radius,\n\t\t\t\"outerMin\": radius - numberHeight,\n\t\t\t\"innerMax\": radius - numberHeight - 1,\n\t\t\t\"innerMin\": radius - numberHeight * 2 - 1,\n\t\t\t\"offsetX\": offset.left + scrollLeft,\n\t\t\t\"offsetY\": offset.top + scrollTop,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates selected and hovered values based on click/touch position.\n\t * @param x X position of click/touch returned by the event\n\t * @param y Y position of click/touch returned by the event\n\t */\n\t_calculatePosition(x: number, y: number) {\n\t\tconst dX = x - this._dimensionParameters.offsetX + 1 - this._dimensionParameters.radius;\n\t\tconst dY = y - this._dimensionParameters.offsetY + 1 - this._dimensionParameters.radius;\n\t\tconst mod = dX >= 0 ? 0 : 180;\n\t\tconst angle = ((Math.atan(dY / dX) * 180) / Math.PI) + 90 + mod;\n\t\tconst angleStep = (360 / this.itemMax) * this.valueStep;\n\t\tconst radius = Math.sqrt(dX * dX + dY * dY);\n\t\tconst isOuter = radius <= this._dimensionParameters.outerMax && radius > (this.showInnerCircle ? this._dimensionParameters.outerMin : this._dimensionParameters.innerMin);\n\t\tconst isInner = this.showInnerCircle && radius <= this._dimensionParameters.innerMax && radius > this._dimensionParameters.innerMin;\n\t\tconst isOuterHover = radius <= this._dimensionParameters.outerMax && radius > this._dimensionParameters.outerMin;\n\t\tconst isInnerHover = isInner;\n\t\tlet finalAngle = Math.round((angle === 0 ? 360 : angle) / angleStep) * angleStep;\n\n\t\tif (finalAngle === 0) {\n\t\t\tfinalAngle = 360;\n\t\t}\n\n\t\t// selected item calculations\n\t\tif (isInner || isOuter) {\n\t\t\tthis._selectedValue = (finalAngle / angleStep) * this.valueStep;\n\t\t\tif (isInner) {\n\t\t\t\tthis._selectedValue += this.itemMax;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._selectedValue = -1;\n\t\t}\n\n\t\t// hover simulation calculations\n\t\tthis._hoveredValue = isInnerHover || isOuterHover ? this._selectedValue : -1;\n\n\t\tif (this._selectedValue === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tthis._selectedValue = this.lastItemReplacement;\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation between the old and the new value of the clock. Can be skipped with setting the second parameter to true.\n\t * @param newValue the new value that must be set\n\t * @param skipAnimation whether to skip the animation\n\t */\n\t_changeValueAnimation(newValue: number, skipAnimation = false) {\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet firstSelected = this._movSelectedValue;\n\t\tlet\tlastSelected = newValue;\n\t\tlet direction = 1;\n\t\tlet\tpath1;\n\t\tlet path2;\n\t\tlet delay;\n\n\t\tif (!skipAnimation) {\n\t\t\t// do the animation here\n\n\t\t\tpath1 = Math.abs(firstSelected - lastSelected);\n\t\t\tpath2 = maxValue - path1;\n\n\t\t\tif (firstSelected < lastSelected) {\n\t\t\t\tif (path2 < path1) {\n\t\t\t\t\tfirstSelected += maxValue;\n\t\t\t\t\tdirection = -1;\n\t\t\t\t}\n\t\t\t} else if (path2 < path1) {\n\t\t\t\tlastSelected += maxValue;\n\t\t\t} else {\n\t\t\t\tdirection = -1;\n\t\t\t}\n\n\t\t\tdelay = firstSelected === lastSelected ? 0 : Math.ceil(ANIMATION_DURATION_MAX / Math.abs(firstSelected - lastSelected));\n\t\t\tthis._animationInProgress = true;\n\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t} else {\n\t\t\tthis._setSelectedValue(newValue);\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation step between old and new selected values.\n\t * @param firstSelected first/current value to move from\n\t * @param lastSelected last value to move to\n\t * @param direction direction of the animation\n\t * @param maxValue max clock value\n\t * @param newValue new value\n\t * @param delay delay of the single step\n\t */\n\t_selectNextNumber(firstSelected: number, lastSelected: number, direction: number, maxValue: number, newValue: number, delay: number) {\n\t\tconst current = firstSelected > maxValue ? firstSelected - maxValue : firstSelected;\n\n\t\tif (firstSelected === lastSelected) {\n\t\t\tthis._animationInProgress = false;\n\t\t}\n\t\tthis._setSelectedValue(current);\n\t\tif (firstSelected !== lastSelected) {\n\t\t\tfirstSelected += direction;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t\t}, delay);\n\t\t} else {\n\t\t\t// the new value is set, fire event\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\t\t\"value\": newValue,\n\t\t\t\t\t\"stringValue\": this._getStringValue(newValue),\n\t\t\t\t\t\"finalChange\": true,\n\t\t\t\t});\n\t\t\t}, ANIMATION_DELAY_EVENT);\n\t\t}\n\t}\n\n\t/**\n\t * Mousewheel handler. Increases/decreases value of the clock.\n\t * @param increase whether to increase or decrease the value\n\t */\n\t_modifyValue(increase: boolean) {\n\t\tlet selectedValue = this.selectedValue;\n\t\tconst replacementValue = this.lastItemReplacement;\n\t\tconst minValue = this.itemMin;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet step = this.valueStep;\n\t\tlet newValue;\n\n\t\t// fix step in order to change value to the nearest possible if step is > 1\n\t\tif (selectedValue % step !== 0) {\n\t\t\tnewValue = increase ? Math.ceil(selectedValue / step) * step : Math.floor(selectedValue / step) * step;\n\t\t\tstep = Math.abs(selectedValue - newValue);\n\t\t}\n\n\t\tif (selectedValue === replacementValue) {\n\t\t\tselectedValue = maxValue;\n\t\t}\n\t\tif (increase) {\n\t\t\tselectedValue += step;\n\t\t\tif (selectedValue > maxValue) {\n\t\t\t\tselectedValue -= maxValue;\n\t\t\t}\n\t\t} else {\n\t\t\tselectedValue -= step;\n\t\t\tif (selectedValue < minValue) {\n\t\t\t\tselectedValue = maxValue;\n\t\t\t}\n\t\t}\n\n\t\tthis._setSelectedValue(selectedValue);\n\t}\n\n\t/**\n\t * Sets new selected value, fires change event and updates selected value object used for rendering purposes.\n\t * @param value\n\t */\n\t_setSelectedValue(value: number) {\n\t\tconst realValue: number = this._fixReplacementValue(value);\n\t\tthis.selectedValue = realValue;\n\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\"value\": realValue,\n\t\t\t\"stringValue\": this._getStringValue(realValue),\n\t\t\t\"finalChange\": false,\n\t\t});\n\t\tthis._updateSelectedValueObject(realValue);\n\t}\n\n\t/**\n\t * TouchStart/MouseDown event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchStart(evt: Event) {\n\t\tthis._cancelTouchOut = false;\n\t\tif (this.disabled || this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst x = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\tconst y = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\n\t\tthis._movSelectedValue = this.selectedValue;\n\t\tthis._calculateDimensions();\n\t\tthis._calculatePosition(x, y);\n\t\tthis._mouseOrTouchDown = true;\n\t}\n\n\t/**\n\t * TouchMove/MouseMove event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchMove(evt: Event) {\n\t\tlet\thoveredNumber;\n\t\tconst domRef = this.getDomRef();\n\n\t\tevt.preventDefault();\n\t\tif (this._mouseOrTouchDown) {\n\t\t\tconst x = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\t\tconst y = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\t\t\tthis._calculatePosition(x, y);\n\t\t\tif (!this.disabled && this._selectedValue !== -1 && this._selectedValue !== this._movSelectedValue) {\n\t\t\t\tthis._setSelectedValue(this._selectedValue);\n\t\t\t\tthis._movSelectedValue = 0 + this._selectedValue;\n\t\t\t}\n\t\t} else if (evt.type === \"mousemove\") {\n\t\t\tif (!this._dimensionParameters.radius) {\n\t\t\t\tthis._calculateDimensions();\n\t\t\t}\n\t\t\tthis._calculatePosition((evt as MouseEvent).pageX, (evt as MouseEvent).pageY);\n\t\t\tif (this.displayStep > 1 && this._hoveredValue !== -1) {\n\t\t\t\tthis._hoveredValue = Math.round(this._hoveredValue / this.displayStep) * this.displayStep;\n\t\t\t}\n\n\t\t\tif (!this.disabled && this._hoveredValue !== this._prevHoveredValue) {\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t\tthis._prevHoveredValue = this._hoveredValue;\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.add(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * TouchEnd/MouseUp event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchEnd(evt: Event) {\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\t\tthis._mouseOrTouchDown = false;\n\t\tevt.preventDefault();\n\t\tif (this.disabled || this._selectedValue === -1) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._cancelTouchOut) {\n\t\t\tthis._changeValueAnimation(this._selectedValue);\n\t\t}\n\t}\n\n\t/**\n\t * Mouse Wheel event handler.\n\t * @param evt Event object\n\t */\n\t_onMouseWheel(evt: WheelEvent) {\n\t\tconst increase = evt.detail ? (evt.detail > 0) : (evt.deltaY > 0 || evt.deltaX > 0);\n\n\t\tevt.preventDefault();\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\tthis._modifyValue(increase);\n\t\t}\n\t}\n\n\t/**\n\t * MouseOut event handler.\n\t */\n\t_onMouseOut() {\n\t\tconst hoveredNumber = (this.getDomRef() as HTMLElement).querySelector(this._hoveredId(this._hoveredValue));\n\n\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\tthis._hoveredValue = -1;\n\t\tthis._prevHoveredValue = -1;\n\t}\n}\n\nTimePickerClock.define();\n\nexport default TimePickerClock;\nexport type { TimePickerClockChangeEventDetail };\n"]}
|
|
@@ -3,7 +3,7 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
3
3
|
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
4
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
5
5
|
import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js";
|
|
6
|
-
import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
|
6
|
+
import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
|
7
7
|
import type SegmentedButton from "./SegmentedButton.js";
|
|
8
8
|
type TimePickerComponentIndexMap = {
|
|
9
9
|
hours: number;
|
|
@@ -68,10 +68,10 @@ declare class TimePickerInternals extends UI5Element {
|
|
|
68
68
|
* hh:mm:ss a -> 2:23:15 PM
|
|
69
69
|
* mm:ss -> 12:04 (only minutes and seconds)
|
|
70
70
|
|
|
71
|
-
* @default
|
|
71
|
+
* @default undefined
|
|
72
72
|
* @public
|
|
73
73
|
*/
|
|
74
|
-
formatPattern
|
|
74
|
+
formatPattern?: string;
|
|
75
75
|
/**
|
|
76
76
|
* The index of the active Clock/TogleSpinButton.
|
|
77
77
|
* @default 0
|
|
@@ -82,7 +82,7 @@ declare class TimePickerInternals extends UI5Element {
|
|
|
82
82
|
* Contains calendar type.
|
|
83
83
|
* @private
|
|
84
84
|
*/
|
|
85
|
-
_calendarType
|
|
85
|
+
_calendarType?: CalendarType;
|
|
86
86
|
/**
|
|
87
87
|
* Contains currently available Time Picker components depending on time format.
|
|
88
88
|
* @private
|
|
@@ -15,9 +15,7 @@ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
|
|
15
15
|
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
16
16
|
import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
|
|
17
17
|
import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js"; // default calendar for bundling
|
|
18
|
-
import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
|
19
18
|
import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
|
20
|
-
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
21
19
|
import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
|
|
22
20
|
import { getHoursConfigByFormat, getTimeControlsByFormat } from "./timepicker-utils/TimeSlider.js";
|
|
23
21
|
import { TIMEPICKER_HOURS_LABEL, TIMEPICKER_MINUTES_LABEL, TIMEPICKER_SECONDS_LABEL, TIMEPICKER_CLOCK_DIAL_LABEL, } from "./generated/i18n/i18n-defaults.js";
|
|
@@ -36,6 +34,30 @@ const TYPE_COOLDOWN_DELAY = 1000; // Cooldown delay; 0 = disabled cooldown
|
|
|
36
34
|
* @private
|
|
37
35
|
*/
|
|
38
36
|
let TimePickerInternals = TimePickerInternals_1 = class TimePickerInternals extends UI5Element {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
/**
|
|
40
|
+
* The index of the active Clock/TogleSpinButton.
|
|
41
|
+
* @default 0
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
this._activeIndex = 0;
|
|
45
|
+
/**
|
|
46
|
+
* Contains currently available Time Picker components depending on time format.
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
this._entities = [];
|
|
50
|
+
/**
|
|
51
|
+
* Contains currently available Button components depending on time format.
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
this._periods = [];
|
|
55
|
+
/**
|
|
56
|
+
* Buffer for entered by keyboard numbers
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
this._keyboardBuffer = "";
|
|
60
|
+
}
|
|
39
61
|
static async onDefine() {
|
|
40
62
|
[TimePickerInternals_1.i18nBundle] = await Promise.all([
|
|
41
63
|
getI18nBundle("@ui5/webcomponents"),
|
|
@@ -124,7 +146,7 @@ let TimePickerInternals = TimePickerInternals_1 = class TimePickerInternals exte
|
|
|
124
146
|
}
|
|
125
147
|
get _formatPattern() {
|
|
126
148
|
const pattern = this.formatPattern;
|
|
127
|
-
const hasHours = !!pattern
|
|
149
|
+
const hasHours = !!pattern?.match(/H/i);
|
|
128
150
|
const fallback = !pattern || !hasHours;
|
|
129
151
|
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
130
152
|
return fallback ? localeData.getCombinedDateTimePattern("medium", "medium", undefined) : pattern;
|
|
@@ -313,34 +335,34 @@ let TimePickerInternals = TimePickerInternals_1 = class TimePickerInternals exte
|
|
|
313
335
|
_setExactMatch() { }
|
|
314
336
|
};
|
|
315
337
|
__decorate([
|
|
316
|
-
property(
|
|
338
|
+
property()
|
|
317
339
|
], TimePickerInternals.prototype, "value", void 0);
|
|
318
340
|
__decorate([
|
|
319
341
|
property()
|
|
320
342
|
], TimePickerInternals.prototype, "formatPattern", void 0);
|
|
321
343
|
__decorate([
|
|
322
|
-
property({
|
|
344
|
+
property({ type: Number, noAttribute: true })
|
|
323
345
|
], TimePickerInternals.prototype, "_activeIndex", void 0);
|
|
324
346
|
__decorate([
|
|
325
|
-
property(
|
|
347
|
+
property()
|
|
326
348
|
], TimePickerInternals.prototype, "_calendarType", void 0);
|
|
327
349
|
__decorate([
|
|
328
|
-
property({ type:
|
|
350
|
+
property({ type: Array })
|
|
329
351
|
], TimePickerInternals.prototype, "_entities", void 0);
|
|
330
352
|
__decorate([
|
|
331
353
|
property({ type: Object })
|
|
332
354
|
], TimePickerInternals.prototype, "_componentMap", void 0);
|
|
333
355
|
__decorate([
|
|
334
|
-
property({ type:
|
|
356
|
+
property({ type: Array })
|
|
335
357
|
], TimePickerInternals.prototype, "_periods", void 0);
|
|
336
358
|
__decorate([
|
|
337
|
-
property({
|
|
359
|
+
property({ type: Number, noAttribute: true })
|
|
338
360
|
], TimePickerInternals.prototype, "_typeCooldownId", void 0);
|
|
339
361
|
__decorate([
|
|
340
|
-
property({
|
|
362
|
+
property({ type: Number, noAttribute: true })
|
|
341
363
|
], TimePickerInternals.prototype, "_exactMatch", void 0);
|
|
342
364
|
__decorate([
|
|
343
|
-
property({
|
|
365
|
+
property({ noAttribute: true })
|
|
344
366
|
], TimePickerInternals.prototype, "_keyboardBuffer", void 0);
|
|
345
367
|
TimePickerInternals = TimePickerInternals_1 = __decorate([
|
|
346
368
|
customElement({
|