@ui5/webcomponents 1.22.0-rc.2 → 1.22.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 +42 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +6 -6
- package/dist/Avatar.js +5 -5
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +17 -5
- package/dist/AvatarGroup.js +7 -8
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Badge.d.ts +2 -2
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +1 -15
- package/dist/Breadcrumbs.js +12 -81
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +4 -0
- package/dist/BreadcrumbsItem.js +5 -0
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/Button.d.ts +20 -9
- package/dist/Button.js +3 -2
- package/dist/Button.js.map +1 -1
- package/dist/Card.d.ts +12 -1
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +1 -1
- package/dist/CardHeader.js.map +1 -1
- package/dist/CheckBox.js +4 -2
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +11 -2
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPaletteItem.d.ts +2 -3
- package/dist/ColorPaletteItem.js +1 -2
- package/dist/ColorPaletteItem.js.map +1 -1
- package/dist/ColorPalettePopover.d.ts +1 -2
- package/dist/ColorPalettePopover.js +0 -1
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ComboBox.d.ts +13 -1
- package/dist/ComboBox.js.map +1 -1
- package/dist/DatePicker.d.ts +5 -1
- package/dist/DatePicker.js +33 -6
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +1 -7
- package/dist/DateTimePicker.js +6 -17
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/Icon.d.ts +8 -1
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +18 -3
- package/dist/Input.js +0 -1
- package/dist/Input.js.map +1 -1
- package/dist/Link.d.ts +9 -7
- package/dist/Link.js +4 -3
- package/dist/Link.js.map +1 -1
- package/dist/ListItem.d.ts +4 -3
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +2 -1
- package/dist/ListItemBase.js +3 -2
- package/dist/ListItemBase.js.map +1 -1
- package/dist/MessageStrip.d.ts +1 -1
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MultiComboBox.d.ts +12 -1
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiInput.d.ts +8 -2
- package/dist/MultiInput.js.map +1 -1
- package/dist/Option.d.ts +3 -2
- package/dist/Option.js +2 -1
- package/dist/Option.js.map +1 -1
- package/dist/Popover.js +6 -6
- package/dist/Popover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +11 -3
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +1 -2
- package/dist/SegmentedButtonItem.js +0 -1
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +17 -1
- package/dist/Select.js +6 -9
- package/dist/Select.js.map +1 -1
- package/dist/SelectMenu.d.ts +1 -1
- package/dist/SelectMenu.js +0 -1
- package/dist/SelectMenu.js.map +1 -1
- package/dist/SelectMenuOption.d.ts +2 -1
- package/dist/SelectMenuOption.js +0 -1
- package/dist/SelectMenuOption.js.map +1 -1
- package/dist/SuggestionGroupItem.d.ts +1 -1
- package/dist/SuggestionGroupItem.js.map +1 -1
- package/dist/SuggestionItem.d.ts +1 -1
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/Tab.d.ts +12 -12
- package/dist/Tab.js +22 -23
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +33 -2
- package/dist/TabContainer.js +30 -30
- package/dist/TabContainer.js.map +1 -1
- package/dist/TabSeparator.d.ts +2 -2
- package/dist/TabSeparator.js +2 -2
- package/dist/TabSeparator.js.map +1 -1
- package/dist/Table.d.ts +14 -1
- package/dist/Table.js +8 -8
- package/dist/Table.js.map +1 -1
- package/dist/TableGroupRow.d.ts +4 -4
- package/dist/TableGroupRow.js +5 -5
- package/dist/TableGroupRow.js.map +1 -1
- package/dist/TableRow.d.ts +4 -4
- package/dist/TableRow.js +6 -6
- package/dist/TableRow.js.map +1 -1
- package/dist/TimePickerInternals.d.ts +1 -0
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelectionClocks.d.ts +18 -17
- package/dist/TimeSelectionClocks.js +48 -18
- package/dist/TimeSelectionClocks.js.map +1 -1
- package/dist/Toast.d.ts +1 -8
- package/dist/Toast.js +21 -19
- package/dist/Toast.js.map +1 -1
- package/dist/ToggleSpinButton.d.ts +0 -1
- package/dist/ToggleSpinButton.js +0 -1
- package/dist/ToggleSpinButton.js.map +1 -1
- package/dist/Token.d.ts +3 -2
- package/dist/Token.js +1 -1
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +1 -1
- package/dist/Toolbar.js +3 -3
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +5 -6
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/ToolbarSelect.js +4 -4
- package/dist/ToolbarSelect.js.map +1 -1
- package/dist/Tree.js +2 -2
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItemBase.d.ts +2 -2
- package/dist/TreeItemBase.js +4 -4
- package/dist/TreeItemBase.js.map +1 -1
- 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/Badge.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/CustomListItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/GroupHeaderListItem.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SelectMenu.css +1 -1
- package/dist/css/themes/SelectPopover.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/Table.css +1 -1
- package/dist/css/themes/TableCell.css +1 -1
- package/dist/css/themes/TableColumn.css +1 -1
- package/dist/css/themes/TableGroupRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/TimePickerPopover.css +1 -1
- package/dist/css/themes/TimeSelectionClocks.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/WheelSlider.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +306 -79
- package/dist/custom-elements.json +119 -26
- package/dist/features/InputSuggestions.d.ts +2 -2
- package/dist/features/InputSuggestions.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -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/BreadcrumbsTemplate.lit.js +3 -3
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
- package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +1 -1
- package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableRowTemplate.lit.js +1 -1
- package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TableTemplate.lit.js +1 -1
- package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +3 -3
- package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ToastTemplate.lit.js +2 -2
- package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
- package/dist/generated/templates/TokenTemplate.lit.js +1 -1
- package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.js +1 -1
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
- package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SelectMenu.css.js +1 -1
- package/dist/generated/themes/SelectMenu.css.js.map +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/Table.css.js.map +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js.map +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js.map +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
- package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/WheelSlider.css.js +1 -1
- package/dist/generated/themes/WheelSlider.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/package.json +12 -11
- package/src/Breadcrumbs.hbs +4 -16
- package/src/ColorPaletteItem.hbs +1 -1
- package/src/DateTimePickerPopover.hbs +8 -11
- package/src/GroupHeaderListItem.hbs +1 -1
- package/src/TabInOverflow.hbs +1 -1
- package/src/TabInStrip.hbs +3 -3
- package/src/Table.hbs +1 -1
- package/src/TableGroupRow.hbs +1 -1
- package/src/TableRow.hbs +1 -1
- package/src/TimeSelectionClocks.hbs +5 -1
- package/src/Toast.hbs +2 -10
- package/src/Token.hbs +1 -1
- package/src/i18n/messagebundle_en.properties +4 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
- package/src/i18n/messagebundle_sv.properties +2 -2
- package/src/i18n/messagebundle_uk.properties +3 -3
- package/src/themes/Breadcrumbs.css +1 -16
- package/src/themes/DateTimePickerPopover.css +10 -1
- package/src/themes/List.css +1 -1
- package/src/themes/PopupStaticAreaStyles.css +1 -2
- package/src/themes/PopupsCommon.css +2 -0
- package/src/themes/SplitButton.css +3 -3
- package/src/themes/TabInStrip.css +1 -1
- package/src/themes/TimePickerPopover.css +4 -0
- package/src/themes/TimeSelectionClocks.css +3 -5
- package/src/themes/Toast.css +24 -23
- package/src/themes/base/PopupStaticAreaStyles-parameters.css +3 -0
- package/src/themes/base/sizes-parameters.css +6 -2
- package/src/themes/sap_belize/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon/Breadcrumbs-parameters.css +1 -1
- package/src/themes/sap_horizon/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_dark/Breadcrumbs-parameters.css +1 -1
- package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +1 -1
- package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +1 -1
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
- package/dist/Interfaces.d.ts +0 -180
- package/dist/Interfaces.js +0 -2
- package/dist/Interfaces.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerInternals.js","sourceRoot":"","sources":["../src/TimePickerInternals.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 { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport {\n\tgetHoursConfigByFormat,\n\tgetTimeControlsByFormat,\n\tHourType,\n} from \"./timepicker-utils/TimeSlider.js\";\nimport {\n\tTIMEPICKER_HOURS_LABEL,\n\tTIMEPICKER_MINUTES_LABEL,\n\tTIMEPICKER_SECONDS_LABEL,\n\tTIMEPICKER_CLOCK_DIAL_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimePickerComponentIndexMap = {\n\thours: number,\n\tminutes: number,\n\tseconds: number,\n}\n\ntype TimeSelectionPeriodProperties = {\n\tlabel: string,\n\tpressed: boolean,\n}\n\ntype TimeSelectionChangeEventDetail = {\n\tvalue: string | undefined,\n\tvalid: boolean,\n}\n\ntype TimePickerEntityAttributes = {\n\tmin: number,\n\tmax: number,\n\tstep: number,\n}\n\ntype TimePickerEntityProperties = {\n\tlabel: string,\n\tentity?: string,\n\titemMin?: number,\n\titemMax?: number,\n\tvalue: number,\n\tstringValue?: string,\n\ttextValue?: string,\n\tdisplayStep?: number,\n\tlastItemReplacement?: number,\n\tshowInnerCircle?: boolean,\n\tprependZero: boolean,\n\tactive?: boolean,\n\thasSeparator?: boolean,\n\tattributes?: TimePickerEntityAttributes,\n}\n\nconst TYPE_COOLDOWN_DELAY = 1000; // Cooldown delay; 0 = disabled cooldown\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-picker-internals</code> is helper component that contains shared methods used in <code>ui5-time-selection-clocks</code>\n * and <ui5-time-selection-inputs> components and should not be used separately.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-internals\",\n})\n\n/**\n * Fired when the value changes due to user interaction with the sliders.\n */\n@event<TimeSelectionChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\tvalue: { type: String },\n\t\tvalid: { type: Boolean },\n\t},\n})\n\nclass TimePickerInternals extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * The index of the active Clock/TogleSpinButton.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_activeIndex!: number;\n\n\t/**\n\t * Contains calendar type.\n\t *\n\t * @private\n\t */\n\t@property({ type: CalendarType })\n\t_calendarType!: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_entities!: Array<TimePickerEntityProperties>;\n\n\t/**\n\t * Contains component-to-index map.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_componentMap!: TimePickerComponentIndexMap;\n\n\t/**\n\t * Contains currently available Button components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_periods!: Array<TimeSelectionPeriodProperties>;\n\n\t/**\n\t * Id of the cooldown interval\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t *\n\t * @private\n\t */\n\t@property({ defaultValue: \"\", noAttribute: true })\n\t_keyboardBuffer!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePickerInternals.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tget _hoursConfiguration() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\treturn getHoursConfigByFormat(hourFormat ? hourFormat.type : \"hour0_23\");\n\t}\n\n\tget _zeroPaddedHours() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\t// @ts-ignore digits is a private API of aFormatArray\n\t\treturn !(hourFormat.digits && (hourFormat.digits as Integer) === 1);\n\t}\n\n\tget _neededComponents() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\treturn getTimeControlsByFormat(formatArray, this._hoursConfiguration);\n\t}\n\n\tget _hasHoursComponent() {\n\t\treturn this._neededComponents[0];\n\t}\n\n\tget _hasMinutesComponent() {\n\t\treturn this._neededComponents[1];\n\t}\n\n\tget _hasSecondsComponent() {\n\t\treturn this._neededComponents[2];\n\t}\n\n\tget _hasPeriodsComponent() {\n\t\treturn this._neededComponents[3];\n\t}\n\n\tget dateValue() {\n\t\treturn this.value ? this.getFormat().parse(this.value, undefined as unknown as boolean, undefined as unknown as boolean) as Date : new Date();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : new Date();\n\t}\n\n\tget periodsArray() {\n\t\t// @ts-ignore aDayPeriodsAbbrev is a private API of DateFormat\n\t\tconst dayPeriodsAbbrev = this.getFormat().aDayPeriodsAbbrev as Array<string>;\n\t\treturn dayPeriodsAbbrev.map((x: string) => x.toUpperCase());\n\t}\n\n\tget _hours() {\n\t\tlet hours;\n\t\tconst dateValue = this.validDateValue;\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() > this._hoursConfiguration.maxHour) {\n\t\t\thours = dateValue.getHours() - 12;\n\t\t} else if (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() < this._hoursConfiguration.minHour) {\n\t\t\thours = dateValue.getHours() + 12;\n\t\t} else {\n\t\t\thours = dateValue.getHours();\n\t\t}\n\t\tif (hours.toString().length === 1 && this._zeroPaddedHours) {\n\t\t\thours = `0${hours}`;\n\t\t}\n\t\treturn hours.toString();\n\t}\n\n\tget _minutes() {\n\t\tconst minutes = this.validDateValue.getMinutes().toString();\n\t\treturn minutes.length === 1 ? `0${minutes}` : minutes;\n\t}\n\n\tget _seconds() {\n\t\tconst seconds = this.validDateValue.getSeconds().toString();\n\t\treturn seconds.length === 1 ? `0${seconds}` : seconds;\n\t}\n\n\tget _period() {\n\t\tlet period;\n\t\tconst dateValue = this.validDateValue;\n\n\t\tif (!this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (this._hoursConfiguration.minHour === 1) {\n\t\t\tperiod = dateValue.getHours() >= this._hoursConfiguration.maxHour ? this.periodsArray[1] : this.periodsArray[0];\n\t\t} else {\n\t\t\tperiod = (dateValue.getHours() > this._hoursConfiguration.maxHour || dateValue.getHours() === this._hoursConfiguration.minHour) ? this.periodsArray[1] : this.periodsArray[0];\n\t\t}\n\t\treturn period;\n\t}\n\n\tget _formatPattern() {\n\t\tconst pattern = this.formatPattern;\n\t\tconst hasHours = !!pattern.match(/H/i);\n\t\tconst fallback = !pattern || !hasHours;\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\treturn fallback ? localeData.getCombinedDateTimePattern(\"medium\", \"medium\", undefined) : pattern;\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hoursLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_HOURS_LABEL);\n\t}\n\n\tget minutesLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_MINUTES_LABEL);\n\t}\n\n\tget secondsLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_SECONDS_LABEL);\n\t}\n\n\tget clockDialAriaLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_CLOCK_DIAL_LABEL);\n\t}\n\n\tsetValue(date: Date) {\n\t\tconst value = this.formatValue(date);\n\n\t\tif (this.isValid(value)) {\n\t\t\tthis.value = this.normalizeValue(value);\n\t\t\tthis.fireEvent<TimeSelectionChangeEventDetail>(\"change\", { value: this.value, valid: true });\n\t\t}\n\t}\n\n\tisValid(value: string) {\n\t\treturn value === \"\" || this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\t\treturn this.getFormat().format(this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean));\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat: DateFormat;\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\t\treturn dateFormat;\n\t}\n\n\tformatValue(date: Date) {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t_componentKey(name: string) {\n\t\ttype ComponentKey = keyof typeof this._componentMap;\n\t\treturn name as ComponentKey;\n\t}\n\n\t_indexFromName(name: string) {\n\t\treturn this._componentMap[this._componentKey(name)];\n\t}\n\n\t/**\n\t * Returns name of the clock or button from the id of the event target.\n\t *\n\t * @returns name of the clock/button\n\t */\n\t_getNameFromId(id: string): string | undefined {\n\t\tconst parts = id.split(\"_\");\n\n\t\treturn parts.length ? parts[parts.length - 1] : undefined;\n\t}\n\n\t/**\n\t * Returns index of the clock or button from the id of the event target.\n\t *\n\t * @returns index of the clock/button\n\t */\n\t_getIndexFromId(id: string): number {\n\t\tconst name = this._getNameFromId(id);\n\n\t\treturn name ? this._indexFromName(name) : 0;\n\t}\n\n\t/**\n\t * Changes hours value.\n\t *\n\t * @param hours new hours value\n\t */\n\t_hoursChange(hours: number) {\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\thours = this._shiftHours(hours);\n\t\t}\n\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setHours(hours);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes minutes value.\n\t *\n\t * @param minutes new minutes value\n\t */\n\t_minutesChange(minutes: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setMinutes(minutes);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes seconds value.\n\t *\n\t * @param seconds new seconds value\n\t */\n\t_secondsChange(seconds: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setSeconds(seconds);\n\t\tthis.setValue(date);\n\t}\n\n\t_buttonAmPm() {\n\t\treturn this._hasPeriodsComponent ? this.shadowRoot?.querySelector<SegmentedButton>(`#${this._id}_AmPm`) : undefined;\n\t}\n\n\t_createPeriodComponent() {\n\t\tif (this._hasPeriodsComponent) {\n\t\t\t// add period item\n\t\t\tthis.periodsArray.forEach(item => {\n\t\t\t\tthis._periods.push({\n\t\t\t\t\t\"label\": item,\n\t\t\t\t\t\"pressed\": this._period === item,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t_periodChange(evt: PointerEvent) {\n\t\tconst periodItem = evt.target;\n\n\t\tif (periodItem) {\n\t\t\tconst period = (periodItem as HTMLElement).textContent;\n\t\t\tthis._calculatePeriodChange(period as string);\n\t\t}\n\t}\n\n\t_calculatePeriodChange(period: string) {\n\t\tconst date = this.validDateValue;\n\n\t\tif (period === this._periods[0].label && date.getHours() >= 12) {\n\t\t\tdate.setHours(date.getHours() - 12);\n\t\t} if (period === this._periods[1].label && date.getHours() < 12) {\n\t\t\tdate.setHours(date.getHours() + 12);\n\t\t}\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Shifts hours value with +/- 12 depending on hour value and day period.\n\t *\n\t * @param hours current hours\n\t * @returns shifted hours\n\t */\n\t_shiftHours(hours: number): number {\n\t\tif (this._period === this.periodsArray[0]) { // AM\n\t\t\thours = hours === 12 ? 0 : hours;\n\t\t} else if (this._period === this.periodsArray[1]) { // PM\n\t\t\thours = hours === 12 ? hours : hours + 12;\n\t\t}\n\t\treturn hours;\n\t}\n\n\t/**\n\t * Clears the currently existing cooldown period and starts new one if requested.\n\t *\n\t * @param startNewCooldown whether to start new cooldown period after clearing previous one\n\t */\n\t_resetCooldown(startNewCooldown: boolean) {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tif (this._typeCooldownId) {\n\t\t\tclearTimeout(this._typeCooldownId);\n\t\t}\n\t\tif (startNewCooldown) {\n\t\t\tthis._startCooldown();\n\t\t}\n\t}\n\n\t/**\n\t * Starts new cooldown period.\n\t */\n\t_startCooldown() {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tthis._typeCooldownId = setTimeout(() => {\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._typeCooldownId = undefined;\n\t\t\tif (this._exactMatch) {\n\t\t\t\tthis._setExactMatch();\n\t\t\t\tthis._exactMatch = undefined;\n\t\t\t}\n\t\t}, TYPE_COOLDOWN_DELAY);\n\t}\n\n\t/**\n\t * Sets the exact match value. Override if necessary.\n\t */\n\t_setExactMatch() {}\n}\n\nTimePickerInternals.define();\n\nexport default TimePickerInternals;\nexport type {\n\tTimePickerComponentIndexMap,\n\tTimeSelectionChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"TimePickerInternals.js","sourceRoot":"","sources":["../src/TimePickerInternals.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 { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport {\n\tgetHoursConfigByFormat,\n\tgetTimeControlsByFormat,\n\tHourType,\n} from \"./timepicker-utils/TimeSlider.js\";\nimport {\n\tTIMEPICKER_HOURS_LABEL,\n\tTIMEPICKER_MINUTES_LABEL,\n\tTIMEPICKER_SECONDS_LABEL,\n\tTIMEPICKER_CLOCK_DIAL_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimePickerComponentIndexMap = {\n\thours: number,\n\tminutes: number,\n\tseconds: number,\n}\n\ntype TimeSelectionPeriodProperties = {\n\tlabel: string,\n\tpressed: boolean,\n}\n\ntype TimeSelectionChangeEventDetail = {\n\tvalue: string | undefined,\n\tvalid: boolean,\n}\n\ntype TimePickerEntityAttributes = {\n\tmin: number,\n\tmax: number,\n\tstep: number,\n}\n\ntype TimePickerEntityProperties = {\n\tlabel: string,\n\tentity?: string,\n\titemMin?: number,\n\titemMax?: number,\n\tvalue: number,\n\tstringValue?: string,\n\ttextValue?: string,\n\tdisplayStep?: number,\n\tlastItemReplacement?: number,\n\tshowInnerCircle?: boolean,\n\tprependZero: boolean,\n\tactive?: boolean,\n\tfocused?: boolean,\n\thasSeparator?: boolean,\n\tattributes?: TimePickerEntityAttributes,\n}\n\nconst TYPE_COOLDOWN_DELAY = 1000; // Cooldown delay; 0 = disabled cooldown\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-picker-internals</code> is helper component that contains shared methods used in <code>ui5-time-selection-clocks</code>\n * and <ui5-time-selection-inputs> components and should not be used separately.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-internals\",\n})\n\n/**\n * Fired when the value changes due to user interaction with the sliders.\n */\n@event<TimeSelectionChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\tvalue: { type: String },\n\t\tvalid: { type: Boolean },\n\t},\n})\n\nclass TimePickerInternals extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * The index of the active Clock/TogleSpinButton.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_activeIndex!: number;\n\n\t/**\n\t * Contains calendar type.\n\t *\n\t * @private\n\t */\n\t@property({ type: CalendarType })\n\t_calendarType!: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_entities!: Array<TimePickerEntityProperties>;\n\n\t/**\n\t * Contains component-to-index map.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_componentMap!: TimePickerComponentIndexMap;\n\n\t/**\n\t * Contains currently available Button components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_periods!: Array<TimeSelectionPeriodProperties>;\n\n\t/**\n\t * Id of the cooldown interval\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t *\n\t * @private\n\t */\n\t@property({ defaultValue: \"\", noAttribute: true })\n\t_keyboardBuffer!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePickerInternals.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tget _hoursConfiguration() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\treturn getHoursConfigByFormat(hourFormat ? hourFormat.type : \"hour0_23\");\n\t}\n\n\tget _zeroPaddedHours() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\t// @ts-ignore digits is a private API of aFormatArray\n\t\treturn !(hourFormat.digits && (hourFormat.digits as Integer) === 1);\n\t}\n\n\tget _neededComponents() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\treturn getTimeControlsByFormat(formatArray, this._hoursConfiguration);\n\t}\n\n\tget _hasHoursComponent() {\n\t\treturn this._neededComponents[0];\n\t}\n\n\tget _hasMinutesComponent() {\n\t\treturn this._neededComponents[1];\n\t}\n\n\tget _hasSecondsComponent() {\n\t\treturn this._neededComponents[2];\n\t}\n\n\tget _hasPeriodsComponent() {\n\t\treturn this._neededComponents[3];\n\t}\n\n\tget dateValue() {\n\t\treturn this.value ? this.getFormat().parse(this.value, undefined as unknown as boolean, undefined as unknown as boolean) as Date : new Date();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : new Date();\n\t}\n\n\tget periodsArray() {\n\t\t// @ts-ignore aDayPeriodsAbbrev is a private API of DateFormat\n\t\tconst dayPeriodsAbbrev = this.getFormat().aDayPeriodsAbbrev as Array<string>;\n\t\treturn dayPeriodsAbbrev.map((x: string) => x.toUpperCase());\n\t}\n\n\tget _hours() {\n\t\tlet hours;\n\t\tconst dateValue = this.validDateValue;\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() > this._hoursConfiguration.maxHour) {\n\t\t\thours = dateValue.getHours() - 12;\n\t\t} else if (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() < this._hoursConfiguration.minHour) {\n\t\t\thours = dateValue.getHours() + 12;\n\t\t} else {\n\t\t\thours = dateValue.getHours();\n\t\t}\n\t\tif (hours.toString().length === 1 && this._zeroPaddedHours) {\n\t\t\thours = `0${hours}`;\n\t\t}\n\t\treturn hours.toString();\n\t}\n\n\tget _minutes() {\n\t\tconst minutes = this.validDateValue.getMinutes().toString();\n\t\treturn minutes.length === 1 ? `0${minutes}` : minutes;\n\t}\n\n\tget _seconds() {\n\t\tconst seconds = this.validDateValue.getSeconds().toString();\n\t\treturn seconds.length === 1 ? `0${seconds}` : seconds;\n\t}\n\n\tget _period() {\n\t\tlet period;\n\t\tconst dateValue = this.validDateValue;\n\n\t\tif (!this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (this._hoursConfiguration.minHour === 1) {\n\t\t\tperiod = dateValue.getHours() >= this._hoursConfiguration.maxHour ? this.periodsArray[1] : this.periodsArray[0];\n\t\t} else {\n\t\t\tperiod = (dateValue.getHours() > this._hoursConfiguration.maxHour || dateValue.getHours() === this._hoursConfiguration.minHour) ? this.periodsArray[1] : this.periodsArray[0];\n\t\t}\n\t\treturn period;\n\t}\n\n\tget _formatPattern() {\n\t\tconst pattern = this.formatPattern;\n\t\tconst hasHours = !!pattern.match(/H/i);\n\t\tconst fallback = !pattern || !hasHours;\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\treturn fallback ? localeData.getCombinedDateTimePattern(\"medium\", \"medium\", undefined) : pattern;\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hoursLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_HOURS_LABEL);\n\t}\n\n\tget minutesLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_MINUTES_LABEL);\n\t}\n\n\tget secondsLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_SECONDS_LABEL);\n\t}\n\n\tget clockDialAriaLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_CLOCK_DIAL_LABEL);\n\t}\n\n\tsetValue(date: Date) {\n\t\tconst value = this.formatValue(date);\n\n\t\tif (this.isValid(value)) {\n\t\t\tthis.value = this.normalizeValue(value);\n\t\t\tthis.fireEvent<TimeSelectionChangeEventDetail>(\"change\", { value: this.value, valid: true });\n\t\t}\n\t}\n\n\tisValid(value: string) {\n\t\treturn value === \"\" || this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\t\treturn this.getFormat().format(this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean));\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat: DateFormat;\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\t\treturn dateFormat;\n\t}\n\n\tformatValue(date: Date) {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t_componentKey(name: string) {\n\t\ttype ComponentKey = keyof typeof this._componentMap;\n\t\treturn name as ComponentKey;\n\t}\n\n\t_indexFromName(name: string) {\n\t\treturn this._componentMap[this._componentKey(name)];\n\t}\n\n\t/**\n\t * Returns name of the clock or button from the id of the event target.\n\t *\n\t * @returns name of the clock/button\n\t */\n\t_getNameFromId(id: string): string | undefined {\n\t\tconst parts = id.split(\"_\");\n\n\t\treturn parts.length ? parts[parts.length - 1] : undefined;\n\t}\n\n\t/**\n\t * Returns index of the clock or button from the id of the event target.\n\t *\n\t * @returns index of the clock/button\n\t */\n\t_getIndexFromId(id: string): number {\n\t\tconst name = this._getNameFromId(id);\n\n\t\treturn name ? this._indexFromName(name) : 0;\n\t}\n\n\t/**\n\t * Changes hours value.\n\t *\n\t * @param hours new hours value\n\t */\n\t_hoursChange(hours: number) {\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\thours = this._shiftHours(hours);\n\t\t}\n\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setHours(hours);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes minutes value.\n\t *\n\t * @param minutes new minutes value\n\t */\n\t_minutesChange(minutes: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setMinutes(minutes);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes seconds value.\n\t *\n\t * @param seconds new seconds value\n\t */\n\t_secondsChange(seconds: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setSeconds(seconds);\n\t\tthis.setValue(date);\n\t}\n\n\t_buttonAmPm() {\n\t\treturn this._hasPeriodsComponent ? this.shadowRoot?.querySelector<SegmentedButton>(`#${this._id}_AmPm`) : undefined;\n\t}\n\n\t_createPeriodComponent() {\n\t\tif (this._hasPeriodsComponent) {\n\t\t\t// add period item\n\t\t\tthis.periodsArray.forEach(item => {\n\t\t\t\tthis._periods.push({\n\t\t\t\t\t\"label\": item,\n\t\t\t\t\t\"pressed\": this._period === item,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t_periodChange(evt: PointerEvent) {\n\t\tconst periodItem = evt.target;\n\n\t\tif (periodItem) {\n\t\t\tconst period = (periodItem as HTMLElement).textContent;\n\t\t\tthis._calculatePeriodChange(period as string);\n\t\t}\n\t}\n\n\t_calculatePeriodChange(period: string) {\n\t\tconst date = this.validDateValue;\n\n\t\tif (period === this._periods[0].label && date.getHours() >= 12) {\n\t\t\tdate.setHours(date.getHours() - 12);\n\t\t} if (period === this._periods[1].label && date.getHours() < 12) {\n\t\t\tdate.setHours(date.getHours() + 12);\n\t\t}\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Shifts hours value with +/- 12 depending on hour value and day period.\n\t *\n\t * @param hours current hours\n\t * @returns shifted hours\n\t */\n\t_shiftHours(hours: number): number {\n\t\tif (this._period === this.periodsArray[0]) { // AM\n\t\t\thours = hours === 12 ? 0 : hours;\n\t\t} else if (this._period === this.periodsArray[1]) { // PM\n\t\t\thours = hours === 12 ? hours : hours + 12;\n\t\t}\n\t\treturn hours;\n\t}\n\n\t/**\n\t * Clears the currently existing cooldown period and starts new one if requested.\n\t *\n\t * @param startNewCooldown whether to start new cooldown period after clearing previous one\n\t */\n\t_resetCooldown(startNewCooldown: boolean) {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tif (this._typeCooldownId) {\n\t\t\tclearTimeout(this._typeCooldownId);\n\t\t}\n\t\tif (startNewCooldown) {\n\t\t\tthis._startCooldown();\n\t\t}\n\t}\n\n\t/**\n\t * Starts new cooldown period.\n\t */\n\t_startCooldown() {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tthis._typeCooldownId = setTimeout(() => {\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._typeCooldownId = undefined;\n\t\t\tif (this._exactMatch) {\n\t\t\t\tthis._setExactMatch();\n\t\t\t\tthis._exactMatch = undefined;\n\t\t\t}\n\t\t}, TYPE_COOLDOWN_DELAY);\n\t}\n\n\t/**\n\t * Sets the exact match value. Override if necessary.\n\t */\n\t_setExactMatch() {}\n}\n\nTimePickerInternals.define();\n\nexport default TimePickerInternals;\nexport type {\n\tTimePickerComponentIndexMap,\n\tTimeSelectionChangeEventDetail,\n};\n"]}
|
|
@@ -4,29 +4,21 @@ import TimePickerClock from "./TimePickerClock.js";
|
|
|
4
4
|
import ToggleSpinButton from "./ToggleSpinButton.js";
|
|
5
5
|
import type { TimePickerClockChangeEventDetail } from "./TimePickerClock.js";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* <h3 class="comment-api-title">Overview</h3>
|
|
10
|
-
*
|
|
11
|
-
* <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
|
|
12
|
-
* necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
|
|
13
|
-
* used for switching between different clocks.
|
|
14
|
-
* <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
|
|
15
|
-
* <code>ui5-time-picker</code> component.
|
|
16
|
-
*
|
|
17
|
-
* This component should not be used separately.
|
|
18
|
-
*
|
|
19
|
-
* @constructor
|
|
20
|
-
* @extends TimePickerInternals
|
|
21
|
-
* @abstract
|
|
22
|
-
* @since 1.15.0
|
|
23
|
-
* @private
|
|
7
|
+
* Fired when the picker is being closed.
|
|
24
8
|
*/
|
|
25
9
|
declare class TimeSelectionClocks extends TimePickerInternals {
|
|
26
10
|
/**
|
|
27
11
|
* Flag for pressed Space key
|
|
28
12
|
*/
|
|
29
13
|
_spacePressed: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Flag for focused state of Clocks component
|
|
16
|
+
*/
|
|
17
|
+
_focused: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Flag for focused state of AM/PM segmented button
|
|
20
|
+
*/
|
|
21
|
+
_amPmFocused: boolean;
|
|
30
22
|
onBeforeRendering(): void;
|
|
31
23
|
/**
|
|
32
24
|
* Returns ToggleSpinButton component by index or name.
|
|
@@ -48,12 +40,21 @@ declare class TimeSelectionClocks extends TimePickerInternals {
|
|
|
48
40
|
* @param evt Event object
|
|
49
41
|
*/
|
|
50
42
|
_clocksFocusIn(evt: Event): void;
|
|
43
|
+
_clocksFocusOut(): void;
|
|
51
44
|
/**
|
|
52
45
|
* ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
|
|
53
46
|
*
|
|
54
47
|
* @param evt Event object
|
|
55
48
|
*/
|
|
56
49
|
_buttonFocusIn(evt: Event): void;
|
|
50
|
+
/**
|
|
51
|
+
* AM/PM segmented button focusin event handler.
|
|
52
|
+
*/
|
|
53
|
+
_amPmFocusIn(): void;
|
|
54
|
+
/**
|
|
55
|
+
* AM/PM segmented button focusout event handler.
|
|
56
|
+
*/
|
|
57
|
+
_amPmFocusOut(): void;
|
|
57
58
|
/**
|
|
58
59
|
* keyup event handler.
|
|
59
60
|
*
|
|
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
8
8
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
9
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event.js";
|
|
9
10
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
10
11
|
import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js"; // default calendar for bundling
|
|
11
12
|
import { isDown, isUp, isDownAlt, isUpAlt, isPageUp, isPageDown, isPageUpShift, isPageDownShift, isPageUpShiftCtrl, isPageDownShiftCtrl, isSpace, isEnter, isKeyA, isKeyP, isNumber, isColon, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
@@ -18,23 +19,7 @@ import TimeSelectionClocksTemplate from "./generated/templates/TimeSelectionCloc
|
|
|
18
19
|
// Styles
|
|
19
20
|
import TimeSelectionClocksCss from "./generated/themes/TimeSelectionClocks.css.js";
|
|
20
21
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* <h3 class="comment-api-title">Overview</h3>
|
|
24
|
-
*
|
|
25
|
-
* <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
|
|
26
|
-
* necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
|
|
27
|
-
* used for switching between different clocks.
|
|
28
|
-
* <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
|
|
29
|
-
* <code>ui5-time-picker</code> component.
|
|
30
|
-
*
|
|
31
|
-
* This component should not be used separately.
|
|
32
|
-
*
|
|
33
|
-
* @constructor
|
|
34
|
-
* @extends TimePickerInternals
|
|
35
|
-
* @abstract
|
|
36
|
-
* @since 1.15.0
|
|
37
|
-
* @private
|
|
22
|
+
* Fired when the picker is being closed.
|
|
38
23
|
*/
|
|
39
24
|
let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals {
|
|
40
25
|
onBeforeRendering() {
|
|
@@ -69,10 +54,14 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
69
54
|
*/
|
|
70
55
|
_clocksFocusIn(evt) {
|
|
71
56
|
const target = evt.target;
|
|
57
|
+
this._focused = true;
|
|
72
58
|
if (target.id === this._id) {
|
|
73
59
|
this._switchClock(this._activeIndex);
|
|
74
60
|
}
|
|
75
61
|
}
|
|
62
|
+
_clocksFocusOut() {
|
|
63
|
+
this._focused = false;
|
|
64
|
+
}
|
|
76
65
|
/**
|
|
77
66
|
* ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
|
|
78
67
|
*
|
|
@@ -85,6 +74,18 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
85
74
|
this._switchTo(name);
|
|
86
75
|
}
|
|
87
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* AM/PM segmented button focusin event handler.
|
|
79
|
+
*/
|
|
80
|
+
_amPmFocusIn() {
|
|
81
|
+
this._amPmFocused = true;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* AM/PM segmented button focusout event handler.
|
|
85
|
+
*/
|
|
86
|
+
_amPmFocusOut() {
|
|
87
|
+
this._amPmFocused = false;
|
|
88
|
+
}
|
|
88
89
|
/**
|
|
89
90
|
* keyup event handler.
|
|
90
91
|
*
|
|
@@ -117,7 +118,7 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
117
118
|
else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {
|
|
118
119
|
// Arrows up/down increase/decrease currently active clock
|
|
119
120
|
clock = this._clockComponent(this._activeIndex);
|
|
120
|
-
clock && !clock.disabled && clock._modifyValue(isUp(evt));
|
|
121
|
+
clock && !clock.disabled && !this._amPmFocused && clock._modifyValue(isUp(evt));
|
|
121
122
|
evt.preventDefault();
|
|
122
123
|
}
|
|
123
124
|
else if (isPageUp(evt) || isPageDown(evt)) {
|
|
@@ -312,6 +313,7 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
312
313
|
});
|
|
313
314
|
}
|
|
314
315
|
this._entities[this._activeIndex].active = true;
|
|
316
|
+
this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
|
|
315
317
|
this._createPeriodComponent();
|
|
316
318
|
}
|
|
317
319
|
/**
|
|
@@ -334,8 +336,10 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
334
336
|
const newButton = this._buttonComponent(clockIndex);
|
|
335
337
|
if (this._entities.length && clockIndex < this._entities.length && newButton) {
|
|
336
338
|
this._entities[this._activeIndex].active = false;
|
|
339
|
+
this._entities[this._activeIndex].focused = false;
|
|
337
340
|
this._activeIndex = clockIndex;
|
|
338
341
|
this._entities[this._activeIndex].active = true;
|
|
342
|
+
this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
|
|
339
343
|
newButton.focus();
|
|
340
344
|
}
|
|
341
345
|
}
|
|
@@ -401,7 +405,33 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
|
|
|
401
405
|
__decorate([
|
|
402
406
|
property({ type: Boolean, noAttribute: true })
|
|
403
407
|
], TimeSelectionClocks.prototype, "_spacePressed", void 0);
|
|
408
|
+
__decorate([
|
|
409
|
+
property({ type: Boolean, noAttribute: true })
|
|
410
|
+
], TimeSelectionClocks.prototype, "_focused", void 0);
|
|
411
|
+
__decorate([
|
|
412
|
+
property({ type: Boolean, noAttribute: true })
|
|
413
|
+
], TimeSelectionClocks.prototype, "_amPmFocused", void 0);
|
|
404
414
|
TimeSelectionClocks = __decorate([
|
|
415
|
+
event("close-picker")
|
|
416
|
+
/**
|
|
417
|
+
* @class
|
|
418
|
+
*
|
|
419
|
+
* <h3 class="comment-api-title">Overview</h3>
|
|
420
|
+
*
|
|
421
|
+
* <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
|
|
422
|
+
* necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
|
|
423
|
+
* used for switching between different clocks.
|
|
424
|
+
* <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
|
|
425
|
+
* <code>ui5-time-picker</code> component.
|
|
426
|
+
*
|
|
427
|
+
* This component should not be used separately.
|
|
428
|
+
*
|
|
429
|
+
* @constructor
|
|
430
|
+
* @extends TimePickerInternals
|
|
431
|
+
* @since 1.15.0
|
|
432
|
+
* @private
|
|
433
|
+
*/
|
|
434
|
+
,
|
|
405
435
|
customElement({
|
|
406
436
|
tag: "ui5-time-selection-clocks",
|
|
407
437
|
renderer: litRender,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeSelectionClocks.js","sourceRoot":"","sources":["../src/TimeSelectionClocks.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport {\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisSpace,\n\tisEnter,\n\tisKeyA,\n\tisKeyP,\n\tisNumber,\n\tisColon,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport TimePickerInternals from \"./TimePickerInternals.js\";\nimport TimePickerClock from \"./TimePickerClock.js\";\nimport ToggleSpinButton from \"./ToggleSpinButton.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport type { TimePickerClockChangeEventDetail } from \"./TimePickerClock.js\";\n\n// Template\nimport TimeSelectionClocksTemplate from \"./generated/templates/TimeSelectionClocksTemplate.lit.js\";\n\n// Styles\nimport TimeSelectionClocksCss from \"./generated/themes/TimeSelectionClocks.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components\n * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components\n * used for switching between different clocks.\n * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to\n * <code>ui5-time-picker</code> component.\n *\n * This component should not be used separately.\n *\n * @constructor\n * @extends TimePickerInternals\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\trenderer: litRender,\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t],\n})\n\nclass TimeSelectionClocks extends TimePickerInternals {\n\t/**\n\t * Flag for pressed Space key\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_buttonComponent(indexOrName: number | string): ToggleSpinButton | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<ToggleSpinButton>(`#${this._id}_button_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * Returns TimePickerClock component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_clockComponent(indexOrName: number | string): TimePickerClock | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<TimePickerClock>(`#${this._id}_clock_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * TimePickerClocks focusin event handler. Focuses the active button and switches to active clock.\n\t *\n\t * @param evt Event object\n\t */\n\t_clocksFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tif (target.id === this._id) {\n\t\t\tthis._switchClock(this._activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.\n\t *\n\t * @param evt Event object\n\t */\n\t_buttonFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tconst name = this._getNameFromId(target.id);\n\t\tif (name) {\n\t\t\tthis._switchTo(name);\n\t\t}\n\t}\n\n\t/**\n\t * keyup event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeyup(evt: KeyboardEvent) {\n\t\tif (isSpace(evt)) {\n\t\t\tthis._spacePressed = false;\n\t\t}\n\t}\n\n\t/**\n\t * keydown event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeydown(evt: KeyboardEvent) {\n\t\tlet clock;\n\t\tconst toggleSpinButtonTarget = evt.target && (evt.target as HTMLElement).tagName.toLowerCase().indexOf(\"segmented\") === -1;\n\n\t\tif (isEnter(evt)) {\n\t\t\t// Accept the time and close the popover\n\t\t\tthis.fireEvent(\"close-picker\");\n\t\t} else if (isSpace(evt) && toggleSpinButtonTarget && !this._spacePressed) {\n\t\t\tevt.preventDefault();\n\t\t\tthis._spacePressed = true;\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {\n\t\t\t// Arrows up/down increase/decrease currently active clock\n\t\t\tclock = this._clockComponent(this._activeIndex);\n\t\t\tclock && !clock.disabled && clock._modifyValue(isUp(evt));\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUp(evt) || isPageDown(evt)) {\n\t\t\t// PageUp/PageDown increase/decrease hours clock\n\t\t\tclock = this._clockComponent(\"hours\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"hours\");\n\t\t\t\tclock._modifyValue(isPageUp(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShift(evt) || isPageDownShift(evt)) {\n\t\t\t// Shift+PageUp/Shift+PageDown increase/decrease minutes clock\n\t\t\tclock = this._clockComponent(\"minutes\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"minutes\");\n\t\t\t\tclock._modifyValue(isPageUpShift(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShiftCtrl(evt) || isPageDownShiftCtrl(evt)) {\n\t\t\t// Ctrl+Shift+PageUp/Ctrl+Shift+PageDown increase/decrease seconds clock\n\t\t\tclock = this._clockComponent(\"seconds\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"seconds\");\n\t\t\t\tclock._modifyValue(isPageUpShiftCtrl(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isKeyA(evt) || isKeyP(evt)) {\n\t\t\t// A/P selects AM/PM segmented button item\n\t\t\tconst buttonAmPm = this._buttonAmPm();\n\t\t\tif (buttonAmPm) {\n\t\t\t\tbuttonAmPm.items[0].pressed = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].pressed = isKeyP(evt);\n\t\t\t\tconst period = isKeyA(evt) ? buttonAmPm.items[0].textContent : buttonAmPm.items[1].textContent;\n\t\t\t\tperiod && this._calculatePeriodChange(period);\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isColon(evt)) {\n\t\t\t// Colon (:) - Switch to next clock\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if (isNumber(evt) && this._entities[this._activeIndex]) {\n\t\t\t// Direct number entry\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._numbersInput(evt);\n\t\t}\n\t}\n\n\t/**\n\t * Handles direct numbers entry.\n\t *\n\t * @param evt Event object\n\t */\n\t_numbersInput(evt: KeyboardEvent) {\n\t\tconst char = evt.key;\n\t\tconst bufferStr = this._keyboardBuffer + char;\n\t\tconst bufferNum = parseInt(bufferStr);\n\t\tconst entity = this._entities[this._activeIndex];\n\t\tlet activeClock = this._clockComponent(this._activeIndex);\n\n\t\tif (!entity || !entity.attributes) {\n\t\t\treturn;\n\t\t}\n\t\tif (bufferNum > entity.attributes.max) {\n\t\t\t// value accumulated in the buffer (old entry + new entry) is greater than the clock maximum value,\n\t\t\t// so assign old entry to the current clock and then switch to the next clock, and add new entry as an old value\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tthis._switchNextClock();\n\t\t\tthis._keyboardBuffer = char;\n\t\t\tactiveClock = this._clockComponent(this._activeIndex);\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(char));\n\t\t\tthis._resetCooldown(true);\n\t\t} else {\n\t\t\t// value is less than clock's max value, so add new entry to the buffer\n\t\t\tthis._keyboardBuffer = bufferStr;\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tif (this._keyboardBuffer.length === 2 || parseInt(`${this._keyboardBuffer}0`) > entity.attributes.max) {\n\t\t\t\t// if buffer length is 2, or buffer value + one more (any) number is greater than clock's max value\n\t\t\t\t// there is no place for more entry - just set buffer as a value, and switch to the next clock\n\t\t\t\tthis._resetCooldown(this._keyboardBuffer.length !== 2);\n\t\t\t\tthis._keyboardBuffer = \"\";\n\t\t\t\tthis._switchNextClock();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first available button.\n\t */\n\t_focusFirstButton() {\n\t\tthis._activeIndex = 0;\n\t\tthis._buttonComponent(0)!.focus();\n\t}\n\n\t/**\n\t * Sets the exact match value. Must be overriden.\n\t */\n\t_setExactMatch() {\n\t\tconst clock = this._clockComponent(this._activeIndex);\n\t\tclock && this._exactMatch !== undefined && clock._setSelectedValue(this._exactMatch);\n\t}\n\n\t/**\n\t * Creates clock and button components according to the display format pattern.\n\t */\n\t_createComponents() {\n\t\tconst time = {\n\t\t\thours: parseInt(this._hours),\n\t\t\tminutes: parseInt(this._minutes),\n\t\t\tseconds: parseInt(this._seconds),\n\t\t};\n\n\t\tthis._entities = [];\n\t\tthis._periods = [];\n\t\tthis._componentMap = {\n\t\t\thours: -1,\n\t\t\tminutes: -1,\n\t\t\tseconds: -1,\n\t\t};\n\t\tif (this._hasHoursComponent) {\n\t\t\t// add Hours clock\n\t\t\tthis._componentMap.hours = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.hoursLabel,\n\t\t\t\t\"entity\": \"hours\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 12,\n\t\t\t\t\"value\": time.hours,\n\t\t\t\t\"stringValue\": this._hours,\n\t\t\t\t\"textValue\": `${time.hours} ${this.hoursLabel}`,\n\t\t\t\t\"displayStep\": 1,\n\t\t\t\t\"lastItemReplacement\": this._hoursConfiguration.isTwelveHoursFormat ? -1 : 0,\n\t\t\t\t\"showInnerCircle\": !this._hoursConfiguration.isTwelveHoursFormat,\n\t\t\t\t\"prependZero\": this._zeroPaddedHours,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": this._hoursConfiguration.minHour,\n\t\t\t\t\t\"max\": this._hoursConfiguration.maxHour,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasMinutesComponent) {\n\t\t\t// add Minutes clock\n\t\t\tthis._componentMap.minutes = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.minutesLabel,\n\t\t\t\t\"entity\": \"minutes\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.minutes,\n\t\t\t\t\"stringValue\": this._minutes,\n\t\t\t\t\"textValue\": `${time.minutes} ${this.minutesLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasSecondsComponent) {\n\t\t\t// add Seconds clock\n\t\t\tthis._componentMap.seconds = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.secondsLabel,\n\t\t\t\t\"entity\": \"seconds\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.seconds,\n\t\t\t\t\"stringValue\": this._seconds,\n\t\t\t\t\"textValue\": `${time.seconds} ${this.secondsLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tthis._entities[this._activeIndex].active = true;\n\t\tthis._createPeriodComponent();\n\t}\n\n\t/**\n\t * Switches to the specific clock by name.\n\t *\n\t * @param clockName the name of the clock\n\t */\n\t_switchTo(clockName: string) {\n\t\tconst key = this._componentKey(clockName);\n\t\tif (this._componentMap[key] !== undefined) {\n\t\t\tthis._switchClock(this._componentMap[key]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the specific clock by its index in _clocks property.\n\t *\n\t * @param clockIndex the index of the clock\n\t */\n\t_switchClock(clockIndex: number) {\n\t\tconst newButton = this._buttonComponent(clockIndex);\n\n\t\tif (this._entities.length && clockIndex < this._entities.length && newButton) {\n\t\t\tthis._entities[this._activeIndex].active = false;\n\t\t\tthis._activeIndex = clockIndex;\n\t\t\tthis._entities[this._activeIndex].active = true;\n\t\t\tnewButton.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the next available clock.\n\t *\n\t * @param wrapAround whether to switch to the first clock if there are no next clock\n\t */\n\t_switchNextClock(wrapAround = false) {\n\t\tlet activeIndex = this._activeIndex;\n\t\tconst startActiveIndex = activeIndex;\n\t\tconst activeClock = this._clockComponent(activeIndex);\n\n\t\tdo {\n\t\t\tactiveIndex++;\n\t\t\tif (activeIndex >= this._entities.length) {\n\t\t\t\tactiveIndex = wrapAround ? 0 : this._entities.length - 1;\n\t\t\t}\n\t\t// false-positive finding of no-unmodified-loop-condition rule\n\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t} while (activeClock && activeClock.disabled && activeIndex !== startActiveIndex && (wrapAround || activeIndex < this._entities.length - 1));\n\n\t\tconst newClock = this._clockComponent(activeIndex);\n\n\t\tif (activeIndex !== startActiveIndex && newClock && !newClock.disabled) {\n\t\t\tthis._switchClock(activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Clock 'change' event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_clockChange(evt: CustomEvent<TimePickerClockChangeEventDetail>) {\n\t\tconst index = this._getIndexFromId((evt.target as HTMLElement).id);\n\t\tconst stringValue = evt.detail.stringValue;\n\t\tconst value = evt.detail.value;\n\t\tconst button = this._buttonComponent(index);\n\n\t\tif (!button) {\n\t\t\treturn;\n\t\t}\n\t\tthis._entities[index].stringValue = stringValue;\n\t\tthis._entities[index].value = value;\n\t\tthis._entities = JSON.parse(JSON.stringify(this._entities));\n\t\tswitch (index) {\n\t\tcase this._componentMap.hours:\n\t\t\tthis._hoursChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.minutes:\n\t\t\tthis._minutesChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.seconds:\n\t\t\tthis._secondsChange(value);\n\t\t\tbreak;\n\t\t}\n\t\tif (evt.detail.finalChange) {\n\t\t\tif (this._activeIndex < this._entities.length - 1) {\n\t\t\t\tthis._switchNextClock();\n\t\t\t} else {\n\t\t\t\tbutton.focus();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTimeSelectionClocks.define();\n\nexport default TimeSelectionClocks;\n"]}
|
|
1
|
+
{"version":3,"file":"TimeSelectionClocks.js","sourceRoot":"","sources":["../src/TimeSelectionClocks.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport {\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisSpace,\n\tisEnter,\n\tisKeyA,\n\tisKeyP,\n\tisNumber,\n\tisColon,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport TimePickerInternals from \"./TimePickerInternals.js\";\nimport TimePickerClock from \"./TimePickerClock.js\";\nimport ToggleSpinButton from \"./ToggleSpinButton.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport type { TimePickerClockChangeEventDetail } from \"./TimePickerClock.js\";\n\n// Template\nimport TimeSelectionClocksTemplate from \"./generated/templates/TimeSelectionClocksTemplate.lit.js\";\n\n// Styles\nimport TimeSelectionClocksCss from \"./generated/themes/TimeSelectionClocks.css.js\";\n\n/**\n * Fired when the picker is being closed.\n */\n@event(\"close-picker\")\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components\n * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components\n * used for switching between different clocks.\n * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to\n * <code>ui5-time-picker</code> component.\n *\n * This component should not be used separately.\n *\n * @constructor\n * @extends TimePickerInternals\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\trenderer: litRender,\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t],\n})\n\nclass TimeSelectionClocks extends TimePickerInternals {\n\t/**\n\t * Flag for pressed Space key\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused!: boolean;\n\n\t/**\n\t * Flag for focused state of AM/PM segmented button\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_amPmFocused!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_buttonComponent(indexOrName: number | string): ToggleSpinButton | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<ToggleSpinButton>(`#${this._id}_button_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * Returns TimePickerClock component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_clockComponent(indexOrName: number | string): TimePickerClock | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<TimePickerClock>(`#${this._id}_clock_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * TimePickerClocks focusin event handler. Focuses the active button and switches to active clock.\n\t *\n\t * @param evt Event object\n\t */\n\t_clocksFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tthis._focused = true;\n\t\tif (target.id === this._id) {\n\t\t\tthis._switchClock(this._activeIndex);\n\t\t}\n\t}\n\n\t_clocksFocusOut() {\n\t\tthis._focused = false;\n\t}\n\n\t/**\n\t * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.\n\t *\n\t * @param evt Event object\n\t */\n\t_buttonFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tconst name = this._getNameFromId(target.id);\n\t\tif (name) {\n\t\t\tthis._switchTo(name);\n\t\t}\n\t}\n\n\t/**\n\t * AM/PM segmented button focusin event handler.\n\t */\n\t_amPmFocusIn() {\n\t\tthis._amPmFocused = true;\n\t}\n\n\t/**\n\t * AM/PM segmented button focusout event handler.\n\t */\n\t_amPmFocusOut() {\n\t\tthis._amPmFocused = false;\n\t}\n\n\t/**\n\t * keyup event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeyup(evt: KeyboardEvent) {\n\t\tif (isSpace(evt)) {\n\t\t\tthis._spacePressed = false;\n\t\t}\n\t}\n\n\t/**\n\t * keydown event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeydown(evt: KeyboardEvent) {\n\t\tlet clock;\n\t\tconst toggleSpinButtonTarget = evt.target && (evt.target as HTMLElement).tagName.toLowerCase().indexOf(\"segmented\") === -1;\n\n\t\tif (isEnter(evt)) {\n\t\t\t// Accept the time and close the popover\n\t\t\tthis.fireEvent(\"close-picker\");\n\t\t} else if (isSpace(evt) && toggleSpinButtonTarget && !this._spacePressed) {\n\t\t\tevt.preventDefault();\n\t\t\tthis._spacePressed = true;\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {\n\t\t\t// Arrows up/down increase/decrease currently active clock\n\t\t\tclock = this._clockComponent(this._activeIndex);\n\t\t\tclock && !clock.disabled && !this._amPmFocused && clock._modifyValue(isUp(evt));\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUp(evt) || isPageDown(evt)) {\n\t\t\t// PageUp/PageDown increase/decrease hours clock\n\t\t\tclock = this._clockComponent(\"hours\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"hours\");\n\t\t\t\tclock._modifyValue(isPageUp(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShift(evt) || isPageDownShift(evt)) {\n\t\t\t// Shift+PageUp/Shift+PageDown increase/decrease minutes clock\n\t\t\tclock = this._clockComponent(\"minutes\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"minutes\");\n\t\t\t\tclock._modifyValue(isPageUpShift(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShiftCtrl(evt) || isPageDownShiftCtrl(evt)) {\n\t\t\t// Ctrl+Shift+PageUp/Ctrl+Shift+PageDown increase/decrease seconds clock\n\t\t\tclock = this._clockComponent(\"seconds\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"seconds\");\n\t\t\t\tclock._modifyValue(isPageUpShiftCtrl(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isKeyA(evt) || isKeyP(evt)) {\n\t\t\t// A/P selects AM/PM segmented button item\n\t\t\tconst buttonAmPm = this._buttonAmPm();\n\t\t\tif (buttonAmPm) {\n\t\t\t\tbuttonAmPm.items[0].pressed = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].pressed = isKeyP(evt);\n\t\t\t\tconst period = isKeyA(evt) ? buttonAmPm.items[0].textContent : buttonAmPm.items[1].textContent;\n\t\t\t\tperiod && this._calculatePeriodChange(period);\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isColon(evt)) {\n\t\t\t// Colon (:) - Switch to next clock\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if (isNumber(evt) && this._entities[this._activeIndex]) {\n\t\t\t// Direct number entry\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._numbersInput(evt);\n\t\t}\n\t}\n\n\t/**\n\t * Handles direct numbers entry.\n\t *\n\t * @param evt Event object\n\t */\n\t_numbersInput(evt: KeyboardEvent) {\n\t\tconst char = evt.key;\n\t\tconst bufferStr = this._keyboardBuffer + char;\n\t\tconst bufferNum = parseInt(bufferStr);\n\t\tconst entity = this._entities[this._activeIndex];\n\t\tlet activeClock = this._clockComponent(this._activeIndex);\n\n\t\tif (!entity || !entity.attributes) {\n\t\t\treturn;\n\t\t}\n\t\tif (bufferNum > entity.attributes.max) {\n\t\t\t// value accumulated in the buffer (old entry + new entry) is greater than the clock maximum value,\n\t\t\t// so assign old entry to the current clock and then switch to the next clock, and add new entry as an old value\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tthis._switchNextClock();\n\t\t\tthis._keyboardBuffer = char;\n\t\t\tactiveClock = this._clockComponent(this._activeIndex);\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(char));\n\t\t\tthis._resetCooldown(true);\n\t\t} else {\n\t\t\t// value is less than clock's max value, so add new entry to the buffer\n\t\t\tthis._keyboardBuffer = bufferStr;\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tif (this._keyboardBuffer.length === 2 || parseInt(`${this._keyboardBuffer}0`) > entity.attributes.max) {\n\t\t\t\t// if buffer length is 2, or buffer value + one more (any) number is greater than clock's max value\n\t\t\t\t// there is no place for more entry - just set buffer as a value, and switch to the next clock\n\t\t\t\tthis._resetCooldown(this._keyboardBuffer.length !== 2);\n\t\t\t\tthis._keyboardBuffer = \"\";\n\t\t\t\tthis._switchNextClock();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first available button.\n\t */\n\t_focusFirstButton() {\n\t\tthis._activeIndex = 0;\n\t\tthis._buttonComponent(0)!.focus();\n\t}\n\n\t/**\n\t * Sets the exact match value. Must be overriden.\n\t */\n\t_setExactMatch() {\n\t\tconst clock = this._clockComponent(this._activeIndex);\n\t\tclock && this._exactMatch !== undefined && clock._setSelectedValue(this._exactMatch);\n\t}\n\n\t/**\n\t * Creates clock and button components according to the display format pattern.\n\t */\n\t_createComponents() {\n\t\tconst time = {\n\t\t\thours: parseInt(this._hours),\n\t\t\tminutes: parseInt(this._minutes),\n\t\t\tseconds: parseInt(this._seconds),\n\t\t};\n\n\t\tthis._entities = [];\n\t\tthis._periods = [];\n\t\tthis._componentMap = {\n\t\t\thours: -1,\n\t\t\tminutes: -1,\n\t\t\tseconds: -1,\n\t\t};\n\t\tif (this._hasHoursComponent) {\n\t\t\t// add Hours clock\n\t\t\tthis._componentMap.hours = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.hoursLabel,\n\t\t\t\t\"entity\": \"hours\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 12,\n\t\t\t\t\"value\": time.hours,\n\t\t\t\t\"stringValue\": this._hours,\n\t\t\t\t\"textValue\": `${time.hours} ${this.hoursLabel}`,\n\t\t\t\t\"displayStep\": 1,\n\t\t\t\t\"lastItemReplacement\": this._hoursConfiguration.isTwelveHoursFormat ? -1 : 0,\n\t\t\t\t\"showInnerCircle\": !this._hoursConfiguration.isTwelveHoursFormat,\n\t\t\t\t\"prependZero\": this._zeroPaddedHours,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": this._hoursConfiguration.minHour,\n\t\t\t\t\t\"max\": this._hoursConfiguration.maxHour,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasMinutesComponent) {\n\t\t\t// add Minutes clock\n\t\t\tthis._componentMap.minutes = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.minutesLabel,\n\t\t\t\t\"entity\": \"minutes\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.minutes,\n\t\t\t\t\"stringValue\": this._minutes,\n\t\t\t\t\"textValue\": `${time.minutes} ${this.minutesLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasSecondsComponent) {\n\t\t\t// add Seconds clock\n\t\t\tthis._componentMap.seconds = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.secondsLabel,\n\t\t\t\t\"entity\": \"seconds\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.seconds,\n\t\t\t\t\"stringValue\": this._seconds,\n\t\t\t\t\"textValue\": `${time.seconds} ${this.secondsLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tthis._entities[this._activeIndex].active = true;\n\t\tthis._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;\n\t\tthis._createPeriodComponent();\n\t}\n\n\t/**\n\t * Switches to the specific clock by name.\n\t *\n\t * @param clockName the name of the clock\n\t */\n\t_switchTo(clockName: string) {\n\t\tconst key = this._componentKey(clockName);\n\t\tif (this._componentMap[key] !== undefined) {\n\t\t\tthis._switchClock(this._componentMap[key]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the specific clock by its index in _clocks property.\n\t *\n\t * @param clockIndex the index of the clock\n\t */\n\t_switchClock(clockIndex: number) {\n\t\tconst newButton = this._buttonComponent(clockIndex);\n\n\t\tif (this._entities.length && clockIndex < this._entities.length && newButton) {\n\t\t\tthis._entities[this._activeIndex].active = false;\n\t\t\tthis._entities[this._activeIndex].focused = false;\n\t\t\tthis._activeIndex = clockIndex;\n\t\t\tthis._entities[this._activeIndex].active = true;\n\t\t\tthis._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;\n\t\t\tnewButton.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the next available clock.\n\t *\n\t * @param wrapAround whether to switch to the first clock if there are no next clock\n\t */\n\t_switchNextClock(wrapAround = false) {\n\t\tlet activeIndex = this._activeIndex;\n\t\tconst startActiveIndex = activeIndex;\n\t\tconst activeClock = this._clockComponent(activeIndex);\n\n\t\tdo {\n\t\t\tactiveIndex++;\n\t\t\tif (activeIndex >= this._entities.length) {\n\t\t\t\tactiveIndex = wrapAround ? 0 : this._entities.length - 1;\n\t\t\t}\n\t\t// false-positive finding of no-unmodified-loop-condition rule\n\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t} while (activeClock && activeClock.disabled && activeIndex !== startActiveIndex && (wrapAround || activeIndex < this._entities.length - 1));\n\n\t\tconst newClock = this._clockComponent(activeIndex);\n\n\t\tif (activeIndex !== startActiveIndex && newClock && !newClock.disabled) {\n\t\t\tthis._switchClock(activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Clock 'change' event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_clockChange(evt: CustomEvent<TimePickerClockChangeEventDetail>) {\n\t\tconst index = this._getIndexFromId((evt.target as HTMLElement).id);\n\t\tconst stringValue = evt.detail.stringValue;\n\t\tconst value = evt.detail.value;\n\t\tconst button = this._buttonComponent(index);\n\n\t\tif (!button) {\n\t\t\treturn;\n\t\t}\n\t\tthis._entities[index].stringValue = stringValue;\n\t\tthis._entities[index].value = value;\n\t\tthis._entities = JSON.parse(JSON.stringify(this._entities));\n\t\tswitch (index) {\n\t\tcase this._componentMap.hours:\n\t\t\tthis._hoursChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.minutes:\n\t\t\tthis._minutesChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.seconds:\n\t\t\tthis._secondsChange(value);\n\t\t\tbreak;\n\t\t}\n\t\tif (evt.detail.finalChange) {\n\t\t\tif (this._activeIndex < this._entities.length - 1) {\n\t\t\t\tthis._switchNextClock();\n\t\t\t} else {\n\t\t\t\tbutton.focus();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTimeSelectionClocks.define();\n\nexport default TimeSelectionClocks;\n"]}
|
package/dist/Toast.d.ts
CHANGED
|
@@ -92,6 +92,7 @@ declare class Toast extends UI5Element {
|
|
|
92
92
|
focused: boolean;
|
|
93
93
|
_reopen: boolean;
|
|
94
94
|
constructor();
|
|
95
|
+
onBeforeRendering(): void;
|
|
95
96
|
onAfterRendering(): void;
|
|
96
97
|
/**
|
|
97
98
|
* Shows the component.
|
|
@@ -106,14 +107,6 @@ declare class Toast extends UI5Element {
|
|
|
106
107
|
* @private
|
|
107
108
|
*/
|
|
108
109
|
get effectiveDuration(): number;
|
|
109
|
-
get styles(): {
|
|
110
|
-
root: {
|
|
111
|
-
"transition-duration": string;
|
|
112
|
-
"transition-delay": string;
|
|
113
|
-
opacity: string;
|
|
114
|
-
"z-index": number | undefined;
|
|
115
|
-
};
|
|
116
|
-
};
|
|
117
110
|
_initiateOpening(): void;
|
|
118
111
|
_ontransitionend(): void;
|
|
119
112
|
_onmouseover(): void;
|
package/dist/Toast.js
CHANGED
|
@@ -22,9 +22,10 @@ const MIN_DURATION = 500;
|
|
|
22
22
|
const MAX_DURATION = 1000;
|
|
23
23
|
const openedToasts = [];
|
|
24
24
|
let opener;
|
|
25
|
+
let globalListenerAdded = false;
|
|
25
26
|
const handleGlobalKeydown = (e) => {
|
|
26
27
|
const isCtrl = e.metaKey || (!isMac() && e.ctrlKey);
|
|
27
|
-
const isMKey = e.key.toLowerCase() === "m";
|
|
28
|
+
const isMKey = e.key && e.key.toLowerCase() === "m";
|
|
28
29
|
const isCombinationPressed = isCtrl && e.shiftKey && isMKey;
|
|
29
30
|
const hasOpenToast = openedToasts.length;
|
|
30
31
|
if (isCombinationPressed) {
|
|
@@ -42,7 +43,6 @@ const handleGlobalKeydown = (e) => {
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
|
-
document.addEventListener("keydown", handleGlobalKeydown);
|
|
46
46
|
/**
|
|
47
47
|
* @class
|
|
48
48
|
*
|
|
@@ -85,6 +85,25 @@ let Toast = class Toast extends UI5Element {
|
|
|
85
85
|
constructor() {
|
|
86
86
|
super();
|
|
87
87
|
this._reopen = false;
|
|
88
|
+
this.addEventListener("focusin", this._onfocusin.bind(this));
|
|
89
|
+
this.addEventListener("focusout", this._onfocusout.bind(this));
|
|
90
|
+
this.addEventListener("keydown", this._onkeydown.bind(this));
|
|
91
|
+
this.addEventListener("mouseover", this._onmouseover.bind(this));
|
|
92
|
+
this.addEventListener("mouseleave", this._onmouseleave.bind(this));
|
|
93
|
+
this.addEventListener("transitionend", this._ontransitionend.bind(this));
|
|
94
|
+
}
|
|
95
|
+
onBeforeRendering() {
|
|
96
|
+
// Transition duration (animation) should be a third of the duration
|
|
97
|
+
// property, but not bigger than the maximum allowed (1000ms).
|
|
98
|
+
const transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);
|
|
99
|
+
this.style.transitionDuration = this.open ? `${transitionDuration}ms` : "";
|
|
100
|
+
this.style.transitionDelay = this.open ? `${this.effectiveDuration - transitionDuration}ms` : "";
|
|
101
|
+
this.style.opacity = this.open && !this.hover && !this.focused ? "0" : "";
|
|
102
|
+
this.style.zIndex = `${getNextZIndex()}`;
|
|
103
|
+
if (!globalListenerAdded) {
|
|
104
|
+
document.addEventListener("keydown", handleGlobalKeydown);
|
|
105
|
+
globalListenerAdded = true;
|
|
106
|
+
}
|
|
88
107
|
}
|
|
89
108
|
onAfterRendering() {
|
|
90
109
|
if (this._reopen) {
|
|
@@ -125,22 +144,6 @@ let Toast = class Toast extends UI5Element {
|
|
|
125
144
|
get effectiveDuration() {
|
|
126
145
|
return this.duration < MIN_DURATION ? MIN_DURATION : this.duration;
|
|
127
146
|
}
|
|
128
|
-
get styles() {
|
|
129
|
-
// Transition duration (animation) should be a third of the duration
|
|
130
|
-
// property, but not bigger than the maximum allowed (1000ms).
|
|
131
|
-
const transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);
|
|
132
|
-
return {
|
|
133
|
-
root: {
|
|
134
|
-
"transition-duration": this.open ? `${transitionDuration}ms` : "",
|
|
135
|
-
// Transition delay is the duration property minus the
|
|
136
|
-
// transition duration (animation).
|
|
137
|
-
"transition-delay": this.open ? `${this.effectiveDuration - transitionDuration}ms` : "",
|
|
138
|
-
// We alter the opacity property, in order to trigger transition
|
|
139
|
-
"opacity": this.open && !this.hover && !this.focused ? "0" : "",
|
|
140
|
-
"z-index": getNextZIndex(),
|
|
141
|
-
},
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
147
|
_initiateOpening() {
|
|
145
148
|
this.domRendered = true;
|
|
146
149
|
requestAnimationFrame(() => {
|
|
@@ -157,7 +160,6 @@ let Toast = class Toast extends UI5Element {
|
|
|
157
160
|
this.open = false;
|
|
158
161
|
this.focusable = false;
|
|
159
162
|
this.focused = false;
|
|
160
|
-
openedToasts.pop();
|
|
161
163
|
}
|
|
162
164
|
_onmouseover() {
|
|
163
165
|
this.hover = true;
|
package/dist/Toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.ts"],"names":[],"mappings":"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","sourcesContent":["import Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getNextZIndex } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isMac } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ToastPlacement from \"./types/ToastPlacement.js\";\n\n// Template\nimport ToastTemplate from \"./generated/templates/ToastTemplate.lit.js\";\n\n// Styles\nimport ToastCss from \"./generated/themes/Toast.css.js\";\n\n// Constants\nconst MIN_DURATION = 500;\nconst MAX_DURATION = 1000;\nconst openedToasts: Array<Toast> = [];\nlet opener: HTMLElement | null;\n\nconst handleGlobalKeydown = (e: KeyboardEvent) => {\n\tconst isCtrl = e.metaKey || (!isMac() && e.ctrlKey);\n\tconst isMKey = e.key.toLowerCase() === \"m\";\n\tconst isCombinationPressed = isCtrl && e.shiftKey && isMKey;\n\tconst hasOpenToast = openedToasts.length;\n\n\tif (isCombinationPressed) {\n\t\te.preventDefault();\n\n\t\tif (hasOpenToast) {\n\t\t\topenedToasts[0].focusable = true;\n\n\t\t\tif (openedToasts[0].focused) {\n\t\t\t\topenedToasts[0].focused = false;\n\t\t\t\topener?.focus();\n\t\t\t} else {\n\t\t\t\topener = (document.activeElement as HTMLElement);\n\t\t\t\topenedToasts[0].focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\ndocument.addEventListener(\"keydown\", handleGlobalKeydown);\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-toast</code> is a small, non-disruptive popup for success or information messages that\n * disappears automatically after a few seconds.\n *\n *\n * <h3>Usage</h3>\n *\n * <h4>When to use:</h4>\n * <ul>\n * <li>You want to display a short success or information message.</li>\n * <li>You do not want to interrupt users while they are performing an action.</li>\n * <li>You want to confirm a successful action.</li>\n * </ul>\n * <h4>When not to use:</h4>\n * <ul>\n * <li>You want to display error or warning message.</li>\n * <li>You want to interrupt users while they are performing an action.</li>\n * <li>You want to make sure that users read the message before they leave the page.</li>\n * <li>You want users to be able to copy some part of the message text.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Toast\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @slot {Array<Node>} default\n * Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-toast\",\n\trenderer: litRender,\n\tstyles: ToastCss,\n\ttemplate: ToastTemplate,\n})\nclass Toast extends UI5Element {\n\t/**\n\t * Defines the duration in milliseconds for which component\n\t * remains on the screen before it's automatically closed.\n\t * <br><br>\n\t * <b>Note:</b> The minimum supported value is <code>500</code> ms\n\t * and even if a lower value is set, the duration would remain <code>500</code> ms.\n\t *\n\t * @default 3000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 3000 })\n\tduration!: number;\n\n\t/**\n\t * Defines the placement of the component.\n\t * <br><br>\n\t *\n\t * @default \"BottomCenter\"\n\t * @public\n\t */\n\t@property({ type: ToastPlacement, defaultValue: ToastPlacement.BottomCenter })\n\tplacement!: `${ToastPlacement}`;\n\n\t/**\n\t * Indicates whether the component is open (visible).\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether the component is hovered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thover!: boolean;\n\n\t/**\n\t * Indicates whether the component DOM is rendered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdomRendered!: boolean;\n\n\t/**\n\t * Indicates whether the toast could be focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocusable!: boolean;\n\n\t/**\n\t * Indicates whether the toast is focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t_reopen: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._reopen = false;\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._reopen) {\n\t\t\tthis._reopen = false;\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the component.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (this.open) {\n\t\t\t// If the Toast is already opened, we set the _reopen flag to true, in\n\t\t\t// order to trigger re-rendering after an animation frame\n\t\t\t// in the onAfterRendering hook.\n\t\t\t// This is needed for properly resetting the opacity transition.\n\t\t\tthis._reopen = true;\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tif (this.focusable) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * If the minimum duration is lower than 500ms, we force\n\t * it to be 500ms, as described in the documentation.\n\t * @private\n\t */\n\tget effectiveDuration() {\n\t\treturn this.duration < MIN_DURATION ? MIN_DURATION : this.duration;\n\t}\n\n\tget styles() {\n\t\t// Transition duration (animation) should be a third of the duration\n\t\t// property, but not bigger than the maximum allowed (1000ms).\n\t\tconst transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);\n\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"transition-duration\": this.open ? `${transitionDuration}ms` : \"\",\n\n\t\t\t\t// Transition delay is the duration property minus the\n\t\t\t\t// transition duration (animation).\n\t\t\t\t\"transition-delay\": this.open ? `${this.effectiveDuration - transitionDuration}ms` : \"\",\n\n\t\t\t\t// We alter the opacity property, in order to trigger transition\n\t\t\t\t\"opacity\": this.open && !this.hover && !this.focused ? \"0\" : \"\",\n\n\t\t\t\t\"z-index\": getNextZIndex(),\n\t\t\t},\n\t\t};\n\t}\n\n\t_initiateOpening() {\n\t\tthis.domRendered = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.open = true;\n\t\t\topenedToasts.pop();\n\t\t\topenedToasts.push(this);\n\t\t});\n\t}\n\n\t_ontransitionend() {\n\t\tif (this.hover || this.focused) {\n\t\t\treturn;\n\t\t}\n\t\tthis.domRendered = false;\n\t\tthis.open = false;\n\t\tthis.focusable = false;\n\t\tthis.focused = false;\n\t\topenedToasts.pop();\n\t}\n\n\t_onmouseover() {\n\t\tthis.hover = true;\n\t}\n\n\t_onmouseleave() {\n\t\tthis.hover = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = false;\n\t\t\topener?.focus();\n\t\t}\n\t}\n\n\tget _tabindex() {\n\t\treturn this.focused ? \"0\" : \"-1\";\n\t}\n}\n\nToast.define();\n\nexport default Toast;\n"]}
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,WAAW;AACX,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,YAAY;AACZ,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,YAAY,GAAiB,EAAE,CAAC;AACtC,IAAI,MAA0B,CAAC;AAE/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,mBAAmB,GAAG,CAAC,CAAgB,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACpD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IAEzC,IAAI,oBAAoB,EAAE;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,YAAY,EAAE;YACjB,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YAEjC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC5B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,MAAM,EAAE,KAAK,EAAE,CAAC;aAChB;iBAAM;gBACN,MAAM,GAAI,QAAQ,CAAC,aAA6B,CAAC;gBACjD,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxB;SACD;KACD;AACF,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;IAoE7B;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;QAChB,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,aAAa,EAAE,EAAE,CAAC;QAEzC,IAAI,CAAC,mBAAmB,EAAE;YACzB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC1D,mBAAmB,GAAG,IAAI,CAAC;SAC3B;IACF,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED;;;OAGG;IACH,IAAI;QACH,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,sEAAsE;YACtE,yDAAyD;YACzD,gCAAgC;YAChC,gEAAgE;YAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SAClB;aAAM;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED,UAAU;QACT,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB;IACF,CAAC;IAED,WAAW;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpE,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,qBAAqB,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,GAAG,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,OAAO;SACP;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,YAAY;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,EAAE,KAAK,EAAE,CAAC;SAChB;IACF,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;CACD,CAAA;AArKA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;uCACnC;AAUlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC;wCAC9C;AAQhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mCACb;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCACZ;AAQhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACN;AAStB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACR;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACV;AAhEb,KAAK;IANV,aAAa,CAAC;QACd,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;KACvB,CAAC;GACI,KAAK,CAiLV;AAED,KAAK,CAAC,MAAM,EAAE,CAAC;AAEf,eAAe,KAAK,CAAC","sourcesContent":["import Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getNextZIndex } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isMac } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ToastPlacement from \"./types/ToastPlacement.js\";\n\n// Template\nimport ToastTemplate from \"./generated/templates/ToastTemplate.lit.js\";\n\n// Styles\nimport ToastCss from \"./generated/themes/Toast.css.js\";\n\n// Constants\nconst MIN_DURATION = 500;\nconst MAX_DURATION = 1000;\nconst openedToasts: Array<Toast> = [];\nlet opener: HTMLElement | null;\n\nlet globalListenerAdded = false;\nconst handleGlobalKeydown = (e: KeyboardEvent) => {\n\tconst isCtrl = e.metaKey || (!isMac() && e.ctrlKey);\n\tconst isMKey = e.key && e.key.toLowerCase() === \"m\";\n\tconst isCombinationPressed = isCtrl && e.shiftKey && isMKey;\n\tconst hasOpenToast = openedToasts.length;\n\n\tif (isCombinationPressed) {\n\t\te.preventDefault();\n\n\t\tif (hasOpenToast) {\n\t\t\topenedToasts[0].focusable = true;\n\n\t\t\tif (openedToasts[0].focused) {\n\t\t\t\topenedToasts[0].focused = false;\n\t\t\t\topener?.focus();\n\t\t\t} else {\n\t\t\t\topener = (document.activeElement as HTMLElement);\n\t\t\t\topenedToasts[0].focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-toast</code> is a small, non-disruptive popup for success or information messages that\n * disappears automatically after a few seconds.\n *\n *\n * <h3>Usage</h3>\n *\n * <h4>When to use:</h4>\n * <ul>\n * <li>You want to display a short success or information message.</li>\n * <li>You do not want to interrupt users while they are performing an action.</li>\n * <li>You want to confirm a successful action.</li>\n * </ul>\n * <h4>When not to use:</h4>\n * <ul>\n * <li>You want to display error or warning message.</li>\n * <li>You want to interrupt users while they are performing an action.</li>\n * <li>You want to make sure that users read the message before they leave the page.</li>\n * <li>You want users to be able to copy some part of the message text.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Toast\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @slot {Array<Node>} default\n * Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-toast\",\n\trenderer: litRender,\n\tstyles: ToastCss,\n\ttemplate: ToastTemplate,\n})\nclass Toast extends UI5Element {\n\t/**\n\t * Defines the duration in milliseconds for which component\n\t * remains on the screen before it's automatically closed.\n\t * <br><br>\n\t * <b>Note:</b> The minimum supported value is <code>500</code> ms\n\t * and even if a lower value is set, the duration would remain <code>500</code> ms.\n\t *\n\t * @default 3000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 3000 })\n\tduration!: number;\n\n\t/**\n\t * Defines the placement of the component.\n\t * <br><br>\n\t *\n\t * @default \"BottomCenter\"\n\t * @public\n\t */\n\t@property({ type: ToastPlacement, defaultValue: ToastPlacement.BottomCenter })\n\tplacement!: `${ToastPlacement}`;\n\n\t/**\n\t * Indicates whether the component is open (visible).\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether the component is hovered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thover!: boolean;\n\n\t/**\n\t * Indicates whether the component DOM is rendered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdomRendered!: boolean;\n\n\t/**\n\t * Indicates whether the toast could be focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocusable!: boolean;\n\n\t/**\n\t * Indicates whether the toast is focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t_reopen: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._reopen = false;\n\n\t\tthis.addEventListener(\"focusin\", this._onfocusin.bind(this));\n\t\tthis.addEventListener(\"focusout\", this._onfocusout.bind(this));\n\t\tthis.addEventListener(\"keydown\", this._onkeydown.bind(this));\n\t\tthis.addEventListener(\"mouseover\", this._onmouseover.bind(this));\n\t\tthis.addEventListener(\"mouseleave\", this._onmouseleave.bind(this));\n\t\tthis.addEventListener(\"transitionend\", this._ontransitionend.bind(this));\n\t}\n\n\tonBeforeRendering() {\n\t\t// Transition duration (animation) should be a third of the duration\n\t\t// property, but not bigger than the maximum allowed (1000ms).\n\t\tconst transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);\n\n\t\tthis.style.transitionDuration = this.open ? `${transitionDuration}ms` : \"\";\n\t\tthis.style.transitionDelay = this.open ? `${this.effectiveDuration - transitionDuration}ms` : \"\";\n\t\tthis.style.opacity = this.open && !this.hover && !this.focused ? \"0\" : \"\";\n\t\tthis.style.zIndex = `${getNextZIndex()}`;\n\n\t\tif (!globalListenerAdded) {\n\t\t\tdocument.addEventListener(\"keydown\", handleGlobalKeydown);\n\t\t\tglobalListenerAdded = true;\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._reopen) {\n\t\t\tthis._reopen = false;\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the component.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (this.open) {\n\t\t\t// If the Toast is already opened, we set the _reopen flag to true, in\n\t\t\t// order to trigger re-rendering after an animation frame\n\t\t\t// in the onAfterRendering hook.\n\t\t\t// This is needed for properly resetting the opacity transition.\n\t\t\tthis._reopen = true;\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tif (this.focusable) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * If the minimum duration is lower than 500ms, we force\n\t * it to be 500ms, as described in the documentation.\n\t * @private\n\t */\n\tget effectiveDuration() {\n\t\treturn this.duration < MIN_DURATION ? MIN_DURATION : this.duration;\n\t}\n\n\t_initiateOpening() {\n\t\tthis.domRendered = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.open = true;\n\t\t\topenedToasts.pop();\n\t\t\topenedToasts.push(this);\n\t\t});\n\t}\n\n\t_ontransitionend() {\n\t\tif (this.hover || this.focused) {\n\t\t\treturn;\n\t\t}\n\t\tthis.domRendered = false;\n\t\tthis.open = false;\n\t\tthis.focusable = false;\n\t\tthis.focused = false;\n\t}\n\n\t_onmouseover() {\n\t\tthis.hover = true;\n\t}\n\n\t_onmouseleave() {\n\t\tthis.hover = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = false;\n\t\t\topener?.focus();\n\t\t}\n\t}\n\n\tget _tabindex() {\n\t\treturn this.focused ? \"0\" : \"-1\";\n\t}\n}\n\nToast.define();\n\nexport default Toast;\n"]}
|