@ui5/webcomponents 1.21.1 → 1.22.0-rc.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 +8 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +16 -47
- package/dist/Avatar.js +4 -12
- package/dist/Avatar.js.map +1 -1
- package/dist/AvatarGroup.d.ts +13 -30
- package/dist/AvatarGroup.js +11 -15
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/Badge.d.ts +61 -20
- package/dist/Badge.js +98 -12
- package/dist/Badge.js.map +1 -1
- package/dist/Breadcrumbs.d.ts +4 -16
- package/dist/Breadcrumbs.js +16 -6
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/BreadcrumbsItem.d.ts +4 -18
- package/dist/BreadcrumbsItem.js +1 -6
- package/dist/BreadcrumbsItem.js.map +1 -1
- package/dist/BusyIndicator.d.ts +6 -24
- package/dist/BusyIndicator.js +2 -4
- package/dist/BusyIndicator.js.map +1 -1
- package/dist/Button.d.ts +20 -48
- package/dist/Button.js +3 -15
- package/dist/Button.js.map +1 -1
- package/dist/Calendar.d.ts +7 -18
- package/dist/Calendar.js +19 -19
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarDate.d.ts +2 -7
- package/dist/CalendarDate.js +1 -5
- package/dist/CalendarDate.js.map +1 -1
- package/dist/CalendarHeader.d.ts +8 -9
- package/dist/CalendarHeader.js.map +1 -1
- package/dist/CalendarPart.d.ts +1 -4
- package/dist/CalendarPart.js +7 -5
- package/dist/CalendarPart.js.map +1 -1
- package/dist/Card.d.ts +5 -19
- package/dist/Card.js +1 -5
- package/dist/Card.js.map +1 -1
- package/dist/CardHeader.d.ts +14 -38
- package/dist/CardHeader.js +6 -18
- package/dist/CardHeader.js.map +1 -1
- package/dist/Carousel.d.ts +17 -58
- package/dist/Carousel.js +7 -19
- package/dist/Carousel.js.map +1 -1
- package/dist/CheckBox.d.ts +14 -49
- package/dist/CheckBox.js +3 -15
- package/dist/CheckBox.js.map +1 -1
- package/dist/ColorPalette.d.ts +6 -18
- package/dist/ColorPalette.js +4 -6
- package/dist/ColorPalette.js.map +1 -1
- package/dist/ColorPaletteItem.d.ts +10 -14
- package/dist/ColorPaletteItem.js +2 -5
- package/dist/ColorPaletteItem.js.map +1 -1
- package/dist/ColorPalettePopover.d.ts +17 -32
- package/dist/ColorPalettePopover.js +8 -13
- package/dist/ColorPalettePopover.js.map +1 -1
- package/dist/ColorPicker.d.ts +6 -8
- package/dist/ColorPicker.js +1 -5
- package/dist/ColorPicker.js.map +1 -1
- package/dist/ComboBox.d.ts +16 -58
- package/dist/ComboBox.js +5 -9
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxGroupItem.d.ts +3 -8
- package/dist/ComboBoxGroupItem.js +2 -5
- package/dist/ComboBoxGroupItem.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +4 -11
- package/dist/ComboBoxItem.js +2 -5
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/CustomListItem.d.ts +9 -27
- package/dist/CustomListItem.js +8 -24
- package/dist/CustomListItem.js.map +1 -1
- package/dist/DateComponentBase.d.ts +9 -18
- package/dist/DateComponentBase.js +2 -3
- package/dist/DateComponentBase.js.map +1 -1
- package/dist/DatePicker.d.ts +44 -75
- package/dist/DatePicker.js +46 -44
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateRangePicker.d.ts +10 -24
- package/dist/DateRangePicker.js +5 -16
- package/dist/DateRangePicker.js.map +1 -1
- package/dist/DateTimePicker.d.ts +7 -9
- package/dist/DateTimePicker.js +5 -5
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/DayPicker.d.ts +42 -35
- package/dist/DayPicker.js +35 -27
- package/dist/DayPicker.js.map +1 -1
- package/dist/Dialog.d.ts +11 -40
- package/dist/Dialog.js +6 -19
- package/dist/Dialog.js.map +1 -1
- package/dist/FileUploader.d.ts +11 -39
- package/dist/FileUploader.js +7 -9
- package/dist/FileUploader.js.map +1 -1
- package/dist/GroupHeaderListItem.d.ts +6 -18
- package/dist/GroupHeaderListItem.js +5 -5
- package/dist/GroupHeaderListItem.js.map +1 -1
- package/dist/Icon.d.ts +12 -34
- package/dist/Icon.js +4 -15
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +38 -84
- package/dist/Input.js +20 -22
- package/dist/Input.js.map +1 -1
- package/dist/Interfaces.d.ts +115 -133
- package/dist/Interfaces.js +1 -193
- package/dist/Interfaces.js.map +1 -1
- package/dist/Label.d.ts +8 -25
- package/dist/Label.js +4 -13
- package/dist/Label.js.map +1 -1
- package/dist/Link.d.ts +13 -42
- package/dist/Link.js +18 -9
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +14 -50
- package/dist/List.js +21 -13
- package/dist/List.js.map +1 -1
- package/dist/ListItem.d.ts +10 -32
- package/dist/ListItem.js +2 -4
- package/dist/ListItem.js.map +1 -1
- package/dist/ListItemBase.d.ts +3 -9
- package/dist/ListItemBase.js +1 -3
- package/dist/ListItemBase.js.map +1 -1
- package/dist/Menu.d.ts +10 -33
- package/dist/Menu.js +21 -16
- package/dist/Menu.js.map +1 -1
- package/dist/MenuItem.d.ts +11 -32
- package/dist/MenuItem.js +1 -5
- package/dist/MenuItem.js.map +1 -1
- package/dist/MessageStrip.d.ts +10 -28
- package/dist/MessageStrip.js +5 -5
- package/dist/MessageStrip.js.map +1 -1
- package/dist/MonthPicker.d.ts +8 -13
- package/dist/MonthPicker.js +6 -13
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.d.ts +19 -70
- package/dist/MultiComboBox.js +8 -24
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxGroupItem.d.ts +2 -8
- package/dist/MultiComboBoxGroupItem.js +1 -5
- package/dist/MultiComboBoxGroupItem.js.map +1 -1
- package/dist/MultiComboBoxItem.d.ts +4 -8
- package/dist/MultiComboBoxItem.js +2 -5
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/MultiInput.d.ts +9 -16
- package/dist/MultiInput.js +4 -7
- package/dist/MultiInput.js.map +1 -1
- package/dist/NavigationMenu.d.ts +36 -0
- package/dist/NavigationMenu.js +123 -0
- package/dist/NavigationMenu.js.map +1 -0
- package/dist/NavigationMenuItem.d.ts +67 -0
- package/dist/NavigationMenuItem.js +51 -0
- package/dist/NavigationMenuItem.js.map +1 -0
- package/dist/Option.d.ts +11 -28
- package/dist/Option.js +2 -6
- package/dist/Option.js.map +1 -1
- package/dist/Panel.d.ts +16 -52
- package/dist/Panel.js +4 -15
- package/dist/Panel.js.map +1 -1
- package/dist/Popover.d.ts +22 -62
- package/dist/Popover.js +12 -27
- package/dist/Popover.js.map +1 -1
- package/dist/Popup.d.ts +10 -46
- package/dist/Popup.js +10 -20
- package/dist/Popup.js.map +1 -1
- package/dist/ProgressIndicator.d.ts +8 -22
- package/dist/ProgressIndicator.js +2 -5
- package/dist/ProgressIndicator.js.map +1 -1
- package/dist/RadioButton.d.ts +13 -40
- package/dist/RadioButton.js +1 -5
- package/dist/RadioButton.js.map +1 -1
- package/dist/RangeSlider.d.ts +12 -27
- package/dist/RangeSlider.js +10 -21
- package/dist/RangeSlider.js.map +1 -1
- package/dist/RatingIndicator.d.ts +11 -27
- package/dist/RatingIndicator.js +1 -5
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/ResponsivePopover.d.ts +8 -29
- package/dist/ResponsivePopover.js +7 -27
- package/dist/ResponsivePopover.js.map +1 -1
- package/dist/SegmentedButton.d.ts +13 -28
- package/dist/SegmentedButton.js +13 -14
- package/dist/SegmentedButton.js.map +1 -1
- package/dist/SegmentedButtonItem.d.ts +9 -19
- package/dist/SegmentedButtonItem.js +2 -5
- package/dist/SegmentedButtonItem.js.map +1 -1
- package/dist/Select.d.ts +15 -66
- package/dist/Select.js +13 -18
- package/dist/Select.js.map +1 -1
- package/dist/SelectMenu.d.ts +3 -10
- package/dist/SelectMenu.js +2 -4
- package/dist/SelectMenu.js.map +1 -1
- package/dist/SelectMenuOption.d.ts +12 -32
- package/dist/SelectMenuOption.js +11 -23
- package/dist/SelectMenuOption.js.map +1 -1
- package/dist/Slider.d.ts +5 -18
- package/dist/Slider.js +4 -15
- package/dist/Slider.js.map +1 -1
- package/dist/SliderBase.d.ts +11 -32
- package/dist/SliderBase.js +22 -17
- package/dist/SliderBase.js.map +1 -1
- package/dist/SplitButton.d.ts +25 -48
- package/dist/SplitButton.js +6 -14
- package/dist/SplitButton.js.map +1 -1
- package/dist/StandardListItem.d.ts +23 -58
- package/dist/StandardListItem.js +15 -22
- package/dist/StandardListItem.js.map +1 -1
- package/dist/StepInput.d.ts +20 -51
- package/dist/StepInput.js +7 -9
- package/dist/StepInput.js.map +1 -1
- package/dist/SuggestionGroupItem.d.ts +5 -9
- package/dist/SuggestionGroupItem.js +2 -5
- package/dist/SuggestionGroupItem.js.map +1 -1
- package/dist/SuggestionItem.d.ts +15 -27
- package/dist/SuggestionItem.js +2 -5
- package/dist/SuggestionItem.js.map +1 -1
- package/dist/SuggestionListItem.d.ts +7 -20
- package/dist/SuggestionListItem.js +4 -15
- package/dist/SuggestionListItem.js.map +1 -1
- package/dist/Switch.d.ts +16 -48
- package/dist/Switch.js +6 -17
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.d.ts +10 -33
- package/dist/Tab.js +3 -7
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.d.ts +21 -87
- package/dist/TabContainer.js +14 -23
- package/dist/TabContainer.js.map +1 -1
- package/dist/TabSeparator.d.ts +3 -8
- package/dist/TabSeparator.js +2 -7
- package/dist/TabSeparator.js.map +1 -1
- package/dist/Table.d.ts +18 -64
- package/dist/Table.js +13 -16
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +2 -17
- package/dist/TableCell.js +2 -14
- package/dist/TableCell.js.map +1 -1
- package/dist/TableColumn.d.ts +7 -26
- package/dist/TableColumn.js +3 -14
- package/dist/TableColumn.js.map +1 -1
- package/dist/TableGroupRow.d.ts +6 -28
- package/dist/TableGroupRow.js +3 -15
- package/dist/TableGroupRow.js.map +1 -1
- package/dist/TableRow.d.ts +11 -33
- package/dist/TableRow.js +4 -18
- package/dist/TableRow.js.map +1 -1
- package/dist/TextArea.d.ts +20 -61
- package/dist/TextArea.js +3 -16
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePicker.d.ts +5 -15
- package/dist/TimePicker.js +2 -7
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerBase.d.ts +15 -51
- package/dist/TimePickerBase.js +23 -39
- package/dist/TimePickerBase.js.map +1 -1
- package/dist/TimePickerClock.d.ts +49 -89
- package/dist/TimePickerClock.js +38 -33
- package/dist/TimePickerClock.js.map +1 -1
- package/dist/TimePickerInternals.d.ts +16 -27
- package/dist/TimePickerInternals.js +9 -12
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/TimeSelection.d.ts +16 -23
- package/dist/TimeSelection.js +2 -5
- package/dist/TimeSelection.js.map +1 -1
- package/dist/TimeSelectionClocks.d.ts +16 -19
- package/dist/TimeSelectionClocks.js +14 -17
- package/dist/TimeSelectionClocks.js.map +1 -1
- package/dist/TimeSelectionInputs.d.ts +12 -16
- package/dist/TimeSelectionInputs.js +11 -15
- package/dist/TimeSelectionInputs.js.map +1 -1
- package/dist/Title.d.ts +7 -21
- package/dist/Title.js +5 -15
- package/dist/Title.js.map +1 -1
- package/dist/Toast.d.ts +12 -26
- package/dist/Toast.js +5 -5
- package/dist/Toast.js.map +1 -1
- package/dist/ToggleButton.d.ts +2 -7
- package/dist/ToggleButton.js +1 -4
- package/dist/ToggleButton.js.map +1 -1
- package/dist/ToggleSpinButton.d.ts +5 -15
- package/dist/ToggleSpinButton.js +1 -4
- package/dist/ToggleSpinButton.js.map +1 -1
- package/dist/Token.d.ts +13 -27
- package/dist/Token.js +2 -7
- package/dist/Token.js.map +1 -1
- package/dist/Tokenizer.d.ts +7 -11
- package/dist/Tokenizer.js +1 -5
- package/dist/Tokenizer.js.map +1 -1
- package/dist/Toolbar.d.ts +7 -26
- package/dist/Toolbar.js +4 -8
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +11 -34
- package/dist/ToolbarButton.js +1 -6
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/ToolbarItem.d.ts +5 -28
- package/dist/ToolbarItem.js +1 -11
- package/dist/ToolbarItem.js.map +1 -1
- package/dist/ToolbarRegistry.d.ts +3 -3
- package/dist/ToolbarRegistry.js.map +1 -1
- package/dist/ToolbarSelect.d.ts +8 -27
- package/dist/ToolbarSelect.js +4 -10
- package/dist/ToolbarSelect.js.map +1 -1
- package/dist/ToolbarSelectOption.d.ts +2 -11
- package/dist/ToolbarSelectOption.js +1 -5
- package/dist/ToolbarSelectOption.js.map +1 -1
- package/dist/ToolbarSeparator.d.ts +1 -5
- package/dist/ToolbarSeparator.js +1 -5
- package/dist/ToolbarSeparator.js.map +1 -1
- package/dist/ToolbarSpacer.d.ts +2 -8
- package/dist/ToolbarSpacer.js +1 -5
- package/dist/ToolbarSpacer.js.map +1 -1
- package/dist/Tree.d.ts +12 -36
- package/dist/Tree.js +28 -14
- package/dist/Tree.js.map +1 -1
- package/dist/TreeItem.d.ts +8 -25
- package/dist/TreeItem.js +5 -16
- package/dist/TreeItem.js.map +1 -1
- package/dist/TreeItemBase.d.ts +12 -38
- package/dist/TreeItemBase.js +2 -9
- package/dist/TreeItemBase.js.map +1 -1
- package/dist/TreeItemCustom.d.ts +6 -22
- package/dist/TreeItemCustom.js +5 -16
- package/dist/TreeItemCustom.js.map +1 -1
- package/dist/WheelSlider.d.ts +9 -23
- package/dist/WheelSlider.js +11 -11
- package/dist/WheelSlider.js.map +1 -1
- package/dist/YearPicker.d.ts +14 -12
- package/dist/YearPicker.js +12 -12
- package/dist/YearPicker.js.map +1 -1
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Badge.css +1 -1
- package/dist/css/themes/NavigationMenu.css +1 -0
- 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 +20999 -0
- package/dist/custom-elements.json +16118 -1
- package/dist/features/InputSuggestions.d.ts +10 -10
- package/dist/features/InputSuggestions.js +1 -2
- package/dist/features/InputSuggestions.js.map +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/i18n/i18n-defaults.d.ts +9 -2
- package/dist/generated/i18n/i18n-defaults.js +9 -2
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/templates/BadgeTemplate.lit.js +8 -3
- package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NavigationMenuTemplate.lit.d.ts +4 -0
- package/dist/generated/templates/NavigationMenuTemplate.lit.js +21 -0
- package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -0
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Badge.css.js.map +1 -1
- package/dist/generated/themes/NavigationMenu.css.d.ts +3 -0
- package/dist/generated/themes/NavigationMenu.css.js +9 -0
- package/dist/generated/themes/NavigationMenu.css.js.map +1 -0
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/types/AvatarColorScheme.d.ts +0 -15
- package/dist/types/AvatarColorScheme.js +0 -15
- package/dist/types/AvatarColorScheme.js.map +1 -1
- package/dist/types/AvatarGroupType.d.ts +0 -6
- package/dist/types/AvatarGroupType.js +0 -6
- package/dist/types/AvatarGroupType.js.map +1 -1
- package/dist/types/AvatarShape.d.ts +0 -6
- package/dist/types/AvatarShape.js +0 -6
- package/dist/types/AvatarShape.js.map +1 -1
- package/dist/types/AvatarSize.d.ts +0 -9
- package/dist/types/AvatarSize.js +0 -9
- package/dist/types/AvatarSize.js.map +1 -1
- package/dist/types/BackgroundDesign.d.ts +0 -7
- package/dist/types/BackgroundDesign.js +0 -7
- package/dist/types/BackgroundDesign.js.map +1 -1
- package/dist/types/BadgeDesign.d.ts +49 -0
- package/dist/types/BadgeDesign.js +51 -0
- package/dist/types/BadgeDesign.js.map +1 -0
- package/dist/types/BorderDesign.d.ts +0 -6
- package/dist/types/BorderDesign.js +0 -6
- package/dist/types/BorderDesign.js.map +1 -1
- package/dist/types/BreadcrumbsDesign.d.ts +0 -6
- package/dist/types/BreadcrumbsDesign.js +0 -6
- package/dist/types/BreadcrumbsDesign.js.map +1 -1
- package/dist/types/BreadcrumbsSeparatorStyle.d.ts +0 -10
- package/dist/types/BreadcrumbsSeparatorStyle.js +0 -10
- package/dist/types/BreadcrumbsSeparatorStyle.js.map +1 -1
- package/dist/types/BusyIndicatorSize.d.ts +0 -7
- package/dist/types/BusyIndicatorSize.js +0 -7
- package/dist/types/BusyIndicatorSize.js.map +1 -1
- package/dist/types/ButtonDesign.d.ts +0 -10
- package/dist/types/ButtonDesign.js +0 -10
- package/dist/types/ButtonDesign.js.map +1 -1
- package/dist/types/ButtonType.d.ts +0 -7
- package/dist/types/ButtonType.js +0 -7
- package/dist/types/ButtonType.js.map +1 -1
- package/dist/types/CalendarPickersMode.d.ts +6 -10
- package/dist/types/CalendarPickersMode.js +6 -10
- package/dist/types/CalendarPickersMode.js.map +1 -1
- package/dist/types/CalendarSelectionMode.d.ts +0 -7
- package/dist/types/CalendarSelectionMode.js +0 -7
- package/dist/types/CalendarSelectionMode.js.map +1 -1
- package/dist/types/CarouselArrowsPlacement.d.ts +0 -6
- package/dist/types/CarouselArrowsPlacement.js +0 -6
- package/dist/types/CarouselArrowsPlacement.js.map +1 -1
- package/dist/types/CarouselPageIndicatorStyle.d.ts +0 -6
- package/dist/types/CarouselPageIndicatorStyle.js +0 -6
- package/dist/types/CarouselPageIndicatorStyle.js.map +1 -1
- package/dist/types/ComboBoxFilter.d.ts +0 -8
- package/dist/types/ComboBoxFilter.js +0 -8
- package/dist/types/ComboBoxFilter.js.map +1 -1
- package/dist/types/HasPopup.d.ts +0 -9
- package/dist/types/HasPopup.js +0 -9
- package/dist/types/HasPopup.js.map +1 -1
- package/dist/types/IconDesign.d.ts +0 -12
- package/dist/types/IconDesign.js +0 -12
- package/dist/types/IconDesign.js.map +1 -1
- package/dist/types/InputType.d.ts +0 -10
- package/dist/types/InputType.js +0 -10
- package/dist/types/InputType.js.map +1 -1
- package/dist/types/LinkDesign.d.ts +0 -7
- package/dist/types/LinkDesign.js +0 -7
- package/dist/types/LinkDesign.js.map +1 -1
- package/dist/types/ListGrowingMode.d.ts +0 -7
- package/dist/types/ListGrowingMode.js +0 -7
- package/dist/types/ListGrowingMode.js.map +1 -1
- package/dist/types/ListItemType.d.ts +0 -8
- package/dist/types/ListItemType.js +0 -8
- package/dist/types/ListItemType.js.map +1 -1
- package/dist/types/ListMode.d.ts +0 -11
- package/dist/types/ListMode.js +0 -11
- package/dist/types/ListMode.js.map +1 -1
- package/dist/types/ListSeparators.d.ts +0 -7
- package/dist/types/ListSeparators.js +0 -7
- package/dist/types/ListSeparators.js.map +1 -1
- package/dist/types/MessageStripDesign.d.ts +0 -8
- package/dist/types/MessageStripDesign.js +0 -8
- package/dist/types/MessageStripDesign.js.map +1 -1
- package/dist/types/PanelAccessibleRole.d.ts +0 -7
- package/dist/types/PanelAccessibleRole.js +0 -7
- package/dist/types/PanelAccessibleRole.js.map +1 -1
- package/dist/types/PopoverHorizontalAlign.d.ts +0 -8
- package/dist/types/PopoverHorizontalAlign.js +0 -8
- package/dist/types/PopoverHorizontalAlign.js.map +1 -1
- package/dist/types/PopoverPlacementType.d.ts +0 -8
- package/dist/types/PopoverPlacementType.js +0 -8
- package/dist/types/PopoverPlacementType.js.map +1 -1
- package/dist/types/PopoverVerticalAlign.d.ts +0 -8
- package/dist/types/PopoverVerticalAlign.js +0 -8
- package/dist/types/PopoverVerticalAlign.js.map +1 -1
- package/dist/types/PopupAccessibleRole.d.ts +0 -7
- package/dist/types/PopupAccessibleRole.js +0 -7
- package/dist/types/PopupAccessibleRole.js.map +1 -1
- package/dist/types/Priority.d.ts +0 -8
- package/dist/types/Priority.js +0 -8
- package/dist/types/Priority.js.map +1 -1
- package/dist/types/SegmentedButtonMode.d.ts +0 -6
- package/dist/types/SegmentedButtonMode.js +0 -6
- package/dist/types/SegmentedButtonMode.js.map +1 -1
- package/dist/types/SemanticColor.d.ts +0 -9
- package/dist/types/SemanticColor.js +0 -9
- package/dist/types/SemanticColor.js.map +1 -1
- package/dist/types/SwitchDesign.d.ts +0 -6
- package/dist/types/SwitchDesign.js +0 -6
- package/dist/types/SwitchDesign.js.map +1 -1
- package/dist/types/TabContainerBackgroundDesign.d.ts +0 -7
- package/dist/types/TabContainerBackgroundDesign.js +0 -7
- package/dist/types/TabContainerBackgroundDesign.js.map +1 -1
- package/dist/types/TabContainerTabsPlacement.d.ts +0 -6
- package/dist/types/TabContainerTabsPlacement.js +0 -6
- package/dist/types/TabContainerTabsPlacement.js.map +1 -1
- package/dist/types/TabLayout.d.ts +0 -6
- package/dist/types/TabLayout.js +0 -6
- package/dist/types/TabLayout.js.map +1 -1
- package/dist/types/TableColumnPopinDisplay.d.ts +0 -6
- package/dist/types/TableColumnPopinDisplay.js +0 -6
- package/dist/types/TableColumnPopinDisplay.js.map +1 -1
- package/dist/types/TableGrowingMode.d.ts +0 -7
- package/dist/types/TableGrowingMode.js +0 -7
- package/dist/types/TableGrowingMode.js.map +1 -1
- package/dist/types/TableMode.d.ts +0 -7
- package/dist/types/TableMode.js +0 -7
- package/dist/types/TableMode.js.map +1 -1
- package/dist/types/TableRowType.d.ts +0 -6
- package/dist/types/TableRowType.js +0 -6
- package/dist/types/TableRowType.js.map +1 -1
- package/dist/types/TabsOverflowMode.d.ts +0 -6
- package/dist/types/TabsOverflowMode.js +0 -6
- package/dist/types/TabsOverflowMode.js.map +1 -1
- package/dist/types/TitleLevel.d.ts +0 -10
- package/dist/types/TitleLevel.js +0 -10
- package/dist/types/TitleLevel.js.map +1 -1
- package/dist/types/ToastPlacement.d.ts +0 -13
- package/dist/types/ToastPlacement.js +0 -13
- package/dist/types/ToastPlacement.js.map +1 -1
- package/dist/types/ToolbarAlign.d.ts +2 -9
- package/dist/types/ToolbarAlign.js +2 -9
- package/dist/types/ToolbarAlign.js.map +1 -1
- package/dist/types/ToolbarItemOverflowBehavior.d.ts +1 -9
- package/dist/types/ToolbarItemOverflowBehavior.js +1 -9
- package/dist/types/ToolbarItemOverflowBehavior.js.map +1 -1
- package/dist/types/WrappingType.d.ts +0 -6
- package/dist/types/WrappingType.js +0 -6
- package/dist/types/WrappingType.js.map +1 -1
- package/package.json +9 -9
- package/src/Badge.hbs +26 -5
- package/src/NavigationMenu.hbs +159 -0
- package/src/i18n/messagebundle.properties +22 -1
- package/src/themes/Badge.css +505 -39
- package/src/themes/NavigationMenu.css +69 -0
- package/src/themes/base/Badge-parameters.css +106 -3
- package/src/themes/sap_belize/BusyIndicator-parameters.css +5 -0
- package/src/themes/sap_belize/parameters-bundle.css +1 -1
- package/src/themes/sap_horizon/Badge-parameters.css +3 -5
- package/src/themes/sap_horizon_dark/Badge-parameters.css +3 -5
- package/src/themes/sap_horizon_hcb/Badge-parameters.css +108 -5
- package/src/themes/sap_horizon_hcw/Badge-parameters.css +108 -2
- package/dist/api.json +0 -1
package/dist/DayPicker.js
CHANGED
|
@@ -31,11 +31,8 @@ const DAYS_IN_WEEK = 7;
|
|
|
31
31
|
* Represents the days inside a single month view of the <code>ui5-calendar</code> component.
|
|
32
32
|
*
|
|
33
33
|
* @constructor
|
|
34
|
-
* @
|
|
35
|
-
* @
|
|
36
|
-
* @extends sap.ui.webc.main.CalendarPart
|
|
37
|
-
* @tagname ui5-daypicker
|
|
38
|
-
* @public
|
|
34
|
+
* @extends CalendarPart
|
|
35
|
+
* @private
|
|
39
36
|
*/
|
|
40
37
|
let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
41
38
|
onBeforeRendering() {
|
|
@@ -45,7 +42,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
45
42
|
}
|
|
46
43
|
/**
|
|
47
44
|
* Builds the "_weeks" object that represents the month.
|
|
48
|
-
*
|
|
45
|
+
*
|
|
46
|
+
* @param localeData
|
|
49
47
|
* @private
|
|
50
48
|
*/
|
|
51
49
|
_buildWeeks(localeData) {
|
|
@@ -144,7 +142,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
144
142
|
}
|
|
145
143
|
/**
|
|
146
144
|
* Builds the dayNames object (header of the month).
|
|
147
|
-
*
|
|
145
|
+
*
|
|
146
|
+
* @param localeData
|
|
148
147
|
* @private
|
|
149
148
|
*/
|
|
150
149
|
_buildDayNames(localeData) {
|
|
@@ -182,8 +181,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
182
181
|
}
|
|
183
182
|
/**
|
|
184
183
|
* Tells if any of the days is more than 4 characters(too long to render).
|
|
185
|
-
*
|
|
186
|
-
* @
|
|
184
|
+
*
|
|
185
|
+
* @param dayNames
|
|
187
186
|
* @private
|
|
188
187
|
*/
|
|
189
188
|
namesTooLong(dayNames) {
|
|
@@ -206,8 +205,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
206
205
|
}
|
|
207
206
|
/**
|
|
208
207
|
* Tells if the day is selected (dark blue).
|
|
209
|
-
*
|
|
210
|
-
* @
|
|
208
|
+
*
|
|
209
|
+
* @param timestamp
|
|
211
210
|
* @private
|
|
212
211
|
*/
|
|
213
212
|
_isDaySelected(timestamp) {
|
|
@@ -219,8 +218,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
219
218
|
}
|
|
220
219
|
/**
|
|
221
220
|
* Tells if the day is inside a selection range (light blue).
|
|
222
|
-
*
|
|
223
|
-
* @
|
|
221
|
+
*
|
|
222
|
+
* @param timestamp
|
|
224
223
|
* @private
|
|
225
224
|
*/
|
|
226
225
|
_isDayInsideSelectionRange(timestamp) {
|
|
@@ -237,8 +236,9 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
237
236
|
}
|
|
238
237
|
/**
|
|
239
238
|
* Selects/deselects a day.
|
|
240
|
-
*
|
|
241
|
-
* @param
|
|
239
|
+
*
|
|
240
|
+
* @param e
|
|
241
|
+
* @param isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)
|
|
242
242
|
* @private
|
|
243
243
|
*/
|
|
244
244
|
_selectDate(e, isShift) {
|
|
@@ -270,6 +270,7 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
270
270
|
}
|
|
271
271
|
/**
|
|
272
272
|
* Selects/deselects the whole row (week).
|
|
273
|
+
*
|
|
273
274
|
* @private
|
|
274
275
|
*/
|
|
275
276
|
_selectWeek() {
|
|
@@ -316,7 +317,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
316
317
|
}
|
|
317
318
|
/**
|
|
318
319
|
* Called when at least one day is selected and the user presses "Shift".
|
|
319
|
-
*
|
|
320
|
+
*
|
|
321
|
+
* @param timestamp
|
|
320
322
|
* @private
|
|
321
323
|
*/
|
|
322
324
|
_multipleSelection(timestamp) {
|
|
@@ -355,7 +357,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
355
357
|
}
|
|
356
358
|
/**
|
|
357
359
|
* Set the hovered day as the "_secondTimestamp".
|
|
358
|
-
*
|
|
360
|
+
*
|
|
361
|
+
* @param e
|
|
359
362
|
* @private
|
|
360
363
|
*/
|
|
361
364
|
_onmouseover(e) {
|
|
@@ -436,7 +439,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
436
439
|
/**
|
|
437
440
|
* Click is the same as "Enter".
|
|
438
441
|
* <b>Note:</b> "Click+Shift" has the same effect as "Enter+Shift".
|
|
439
|
-
*
|
|
442
|
+
*
|
|
443
|
+
* @param e
|
|
440
444
|
* @private
|
|
441
445
|
*/
|
|
442
446
|
_onclick(e) {
|
|
@@ -444,7 +448,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
444
448
|
}
|
|
445
449
|
/**
|
|
446
450
|
* Called upon "Home" or "End" - moves the focus to the first or last item in the row.
|
|
447
|
-
*
|
|
451
|
+
*
|
|
452
|
+
* @param homePressed
|
|
448
453
|
* @private
|
|
449
454
|
*/
|
|
450
455
|
_onHomeOrEnd(homePressed) {
|
|
@@ -462,22 +467,23 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
462
467
|
}
|
|
463
468
|
/**
|
|
464
469
|
* Called by the Calendar component.
|
|
470
|
+
*
|
|
465
471
|
* @protected
|
|
466
|
-
* @returns { boolean }
|
|
467
472
|
*/
|
|
468
473
|
_hasPreviousPage() {
|
|
469
474
|
return !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());
|
|
470
475
|
}
|
|
471
476
|
/**
|
|
472
477
|
* Called by the Calendar component.
|
|
478
|
+
*
|
|
473
479
|
* @protected
|
|
474
|
-
* @returns { boolean }
|
|
475
480
|
*/
|
|
476
481
|
_hasNextPage() {
|
|
477
482
|
return !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());
|
|
478
483
|
}
|
|
479
484
|
/**
|
|
480
485
|
* Called by the Calendar component.
|
|
486
|
+
*
|
|
481
487
|
* @protected
|
|
482
488
|
*/
|
|
483
489
|
_showPreviousPage() {
|
|
@@ -485,6 +491,7 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
485
491
|
}
|
|
486
492
|
/**
|
|
487
493
|
* Called by the Calendar component.
|
|
494
|
+
*
|
|
488
495
|
* @protected
|
|
489
496
|
*/
|
|
490
497
|
_showNextPage() {
|
|
@@ -492,9 +499,10 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
492
499
|
}
|
|
493
500
|
/**
|
|
494
501
|
* Modifies the timestamp by a certain amount of days/months/years.
|
|
495
|
-
*
|
|
496
|
-
* @param
|
|
497
|
-
* @param
|
|
502
|
+
*
|
|
503
|
+
* @param amount
|
|
504
|
+
* @param unit
|
|
505
|
+
* @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)
|
|
498
506
|
* @private
|
|
499
507
|
*/
|
|
500
508
|
_modifyTimestampBy(amount, unit, preserveDate) {
|
|
@@ -506,7 +514,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
506
514
|
}
|
|
507
515
|
/**
|
|
508
516
|
* Sets the timestamp to an absolute value.
|
|
509
|
-
*
|
|
517
|
+
*
|
|
518
|
+
* @param value
|
|
510
519
|
* @private
|
|
511
520
|
*/
|
|
512
521
|
_setTimestamp(value) {
|
|
@@ -517,6 +526,7 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
|
|
|
517
526
|
/**
|
|
518
527
|
* During range selection, when the user is navigating with the keyboard,
|
|
519
528
|
* the currently focused day is considered the "second day".
|
|
529
|
+
*
|
|
520
530
|
* @private
|
|
521
531
|
*/
|
|
522
532
|
_updateSecondTimestamp() {
|
|
@@ -628,14 +638,12 @@ DayPicker = DayPicker_1 = __decorate([
|
|
|
628
638
|
/**
|
|
629
639
|
* Fired when the selected date(s) change
|
|
630
640
|
* @public
|
|
631
|
-
* @event sap.ui.webc.main.DayPicker#change
|
|
632
641
|
*/
|
|
633
642
|
,
|
|
634
643
|
event("change")
|
|
635
644
|
/**
|
|
636
645
|
* Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse
|
|
637
646
|
* @public
|
|
638
|
-
* @event sap.ui.webc.main.DayPicker#navigate
|
|
639
647
|
*/
|
|
640
648
|
,
|
|
641
649
|
event("navigate")
|
package/dist/DayPicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayPicker.js","sourceRoot":"","sources":["../src/DayPicker.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 getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisSpace,\n\tisSpaceShift,\n\tisEnter,\n\tisEnterShift,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageDownShiftCtrl,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport calculateWeekNumber from \"@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./generated/templates/DayPickerTemplate.lit.js\";\n\n// Styles\nimport dayPickerCSS from \"./generated/themes/DayPicker.css.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst DAYS_IN_WEEK = 7;\n\ntype DayName = {\n\tname: string,\n\tclasses: string,\n\tultraShortName?: string,\n}\n\ntype Day = {\n\ttimestamp: string,\n\tday: number,\n\tfocusRef: boolean,\n\t_tabIndex: string,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\tariaLabel: string,\n\tariaSelected: string,\n\tariaDisabled: string | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n}\n\ntype WeekNumber = {\n\tweekNum: number,\n\tisHidden: boolean,\n}\n\ntype Week = Array<Day | WeekNumber>;\n\ntype DayPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp?: number,\n}\n\ntype DayPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Represents the days inside a single month view of the <code>ui5-calendar</code> component.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.DayPicker\n * @extends sap.ui.webc.main.CalendarPart\n * @tagname ui5-daypicker\n * @public\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n * @public\n * @event sap.ui.webc.main.DayPicker#change\n */\n@event(\"change\")\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n * @public\n * @event sap.ui.webc.main.DayPicker#navigate\n */\n@event(\"navigate\")\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\t/**\n\t * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.\n\t * @type {array}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectedDates\n\t * @public\n\t */\n\t@property({\n\t\tvalidator: Integer,\n\t\tmultiple: true,\n\t\tcompareValues: true,\n\t})\n\tselectedDates!: Array<number>;\n\n\t/**\n\t * Defines the type of selection used in the day picker component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t * @type {sap.ui.webc.main.types.CalendarSelectionMode}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectionMode\n\t * @defaultvalue \"Single\"\n\t * @public\n\t */\n\t@property({ type: CalendarSelectionMode, defaultValue: CalendarSelectionMode.Single })\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:<b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.DayPicker.prototype.hideWeekNumbers\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * @type {object}\n\t * @private\n\t */\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_weeks!: Array<Week>;\n\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_dayNames!: Array<DayName>;\n\n\t/**\n\t * When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself\n\t * @type {boolean}\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden!: boolean;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first day in the range is selected, this is the currently hovered (when using mouse) or focused (when using keyboard) day by the user\n\t * @private\n\t */\n\t @property()\n\t_secondTimestamp?: number;\n\n\t_autoFocus?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._buildWeeks(localeData);\n\t\tthis._buildDayNames(localeData);\n\t}\n\n\t/**\n\t * Builds the \"_weeks\" object that represents the month.\n\t * @param { LocaleData }localeData\n\t * @private\n\t */\n\t_buildWeeks(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tthis._weeks = [];\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\t\tconst monthsNames = localeData.getMonths(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tconst secondaryMonthsNames = this.hasSecondaryCalendarType ? localeData.getMonths(\"wide\", this.secondaryCalendarType) as Array<string> : [];\n\t\tconst nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);\n\t\tconst todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);\n\t\tconst tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times\n\t\tconst todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once\n\t\tconst calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf\n\t\tconst minDate = this._minDate; // store the _minDate (expensive getter)\n\t\tconst maxDate = this._maxDate; // store the _maxDate (expensive getter)\n\n\t\tconst tempSecondDate = this.hasSecondaryCalendarType ? this._getSecondaryDay(tempDate) : undefined;\n\n\t\tlet week: Week = [];\n\t\tfor (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping\n\t\t\tconst timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it\n\n\t\t\tlet dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;\n\t\t\tif (dayOfTheWeek < 0) {\n\t\t\t\tdayOfTheWeek += DAYS_IN_WEEK;\n\t\t\t}\n\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();\n\t\t\tconst isSelected = this._isDaySelected(timestamp);\n\t\t\tconst isSelectedBetween = this._isDayInsideSelectionRange(timestamp);\n\t\t\tconst isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();\n\t\t\tconst isWeekend = this._isWeekend(tempDate);\n\t\t\tconst isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();\n\t\t\tconst isToday = tempDate.isSame(todayDate);\n\t\t\tconst isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;\n\n\t\t\tconst nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : \"\";\n\t\t\tconst todayAriaLabel = isToday ? `${todayLabel} ` : \"\";\n\n\t\t\tconst tempSecondDateNumber = tempSecondDate ? tempSecondDate.getDate() : \"\";\n\t\t\tconst tempSecondYearNumber = tempSecondDate ? tempSecondDate.getYear() : \"\";\n\t\t\tconst secondaryMonthsNamesString = secondaryMonthsNames.length > 0 ? secondaryMonthsNames[tempSecondDate!.getMonth()] : \"\";\n\n\t\t\tconst ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber}`\n\t\t\t\t: `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;\n\n\t\t\tconst day: Day = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? \"0\" : \"-1\",\n\t\t\t\tselected: isSelected,\n\t\t\t\tday: tempDate.getDate(),\n\t\t\t\tsecondDay: this.hasSecondaryCalendarType ? (tempSecondDate as CalendarDate).getDate() : undefined,\n\t\t\t\t_isSecondaryCalendarType: this.hasSecondaryCalendarType,\n\t\t\t\tclasses: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected ? \"true\" : \"false\",\n\t\t\t\tariaDisabled: isOtherMonth ? \"true\" : undefined,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t};\n\n\t\t\tif (isFirstDayOfWeek) {\n\t\t\t\tday.classes += \" ui5-dp-firstday\";\n\t\t\t}\n\n\t\t\tif (isSelected) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected-between\";\n\t\t\t}\n\n\t\t\tif (isToday) {\n\t\t\t\tday.classes += \" ui5-dp-item--now\";\n\t\t\t}\n\n\t\t\tif (isOtherMonth) {\n\t\t\t\tday.classes += \" ui5-dp-item--othermonth\";\n\t\t\t}\n\n\t\t\tif (isWeekend) {\n\t\t\t\tday.classes += \" ui5-dp-item--weeekend\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tday.classes += \" ui5-dp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tday.classes += \" ui5-dp-item--withsecondtype\";\n\t\t\t}\n\n\t\t\tweek.push(day);\n\n\t\t\tif (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),\n\t\t\t\t\tisHidden: this.shouldHideWeekNumbers,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers\n\t\t\t\tthis._weeks.push(week);\n\t\t\t\tweek = [];\n\t\t\t}\n\n\t\t\ttempDate.setDate(tempDate.getDate() + 1);\n\t\t\tif (this.hasSecondaryCalendarType && tempSecondDate) {\n\t\t\t\ttempSecondDate.setDate(tempSecondDate.getDate() + 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t * @param { LocaleData } localeData\n\t * @private\n\t */\n\t_buildDayNames(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tlet dayOfTheWeek;\n\n\t\tconst aDayNamesWide = localeData.getDays(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tlet aDayNamesAbbreviated = localeData.getDays(\"abbreviated\", this._primaryCalendarType) as Array<string>;\n\t\tlet dayName;\n\n\t\tif (this.namesTooLong(aDayNamesAbbreviated)) {\n\t\t\taDayNamesAbbreviated = localeData.getDays(\"narrow\", this._primaryCalendarType) as Array<string>;\n\t\t}\n\n\t\tthis._dayNames = [];\n\t\tthis._dayNames.push({\n\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\tname: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),\n\t\t});\n\t\tfor (let i = 0; i < DAYS_IN_WEEK; i++) {\n\t\t\tdayOfTheWeek = i + this._getFirstDayOfWeek();\n\t\t\tif (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed\n\t\t\t\tdayOfTheWeek -= DAYS_IN_WEEK;\n\t\t\t}\n\t\t\tdayName = {\n\t\t\t\tname: aDayNamesWide[dayOfTheWeek],\n\t\t\t\tultraShortName: aDayNamesAbbreviated[dayOfTheWeek],\n\t\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\t};\n\t\t\tthis._dayNames.push(dayName);\n\t\t}\n\t\tthis._dayNames[1].classes += \" ui5-dp-firstday\";\n\t\tif (this.shouldHideWeekNumbers) {\n\t\t\tthis._dayNames.shift();\n\t\t}\n\t}\n\n\t/**\n\t * Tells if any of the days is more than 4 characters(too long to render).\n\t * @param { Array<string> } dayNames\n\t * @returns { boolean }\n\t * @private\n\t */\n\tnamesTooLong(dayNames: Array<string>): boolean {\n\t\treturn dayNames.some(dayName => dayName.length > 3);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._autoFocus && !this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\n\t\tconst focusedDay = this.shadowRoot!.querySelector<HTMLElement>(\"[data-sap-focus-ref]\");\n\n\t\tif (focusedDay && document.activeElement !== focusedDay) {\n\t\t\tfocusedDay.focus();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis._autoFocus = false;\n\t}\n\n\t/**\n\t * Tells if the day is selected (dark blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDaySelected(timestamp: number): boolean {\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\treturn timestamp === this.selectedDates[0];\n\t\t}\n\n\t\t// Multiple, Range\n\t\treturn this.selectedDates.includes(timestamp);\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDayInsideSelectionRange(timestamp: number): boolean {\n\t\t// No selection at all (or not in range selection mode)\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\t// Two dates selected - stable range\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t * @param { Event} e\n\t * @param { boolean} isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)\n\t * @private\n\t */\n\t_selectDate(e: Event, isShift: boolean) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!this._isDayPressed(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\tthis.selectedDates = [timestamp];\n\t\t} else if (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\tif (this.selectedDates.length > 0 && isShift) {\n\t\t\t\tthis._multipleSelection(timestamp);\n\t\t\t} else {\n\t\t\t\tthis._toggleTimestampInSelection(timestamp);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp]\tas Array<number> : [timestamp] as Array<number>;\n\t\t}\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t/**\n\t * Selects/deselects the whole row (week).\n\t * @private\n\t */\n\t_selectWeek() {\n\t\tthis._weeks.forEach((week: Week) => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex((item: Day) => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst notAllDaysOfThisWeekSelected = _week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));\n\t\t\t\tif (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._addTimestampToSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t} else { // only if all days of this week are selected, deselect them\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._removeTimestampFromSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_toggleTimestampInSelection(timestamp: number) {\n\t\tif (this.selectedDates.includes(timestamp)) {\n\t\t\tthis._removeTimestampFromSelection(timestamp);\n\t\t} else {\n\t\t\tthis._addTimestampToSelection(timestamp);\n\t\t}\n\t}\n\n\t_addTimestampToSelection(timestamp: number) {\n\t\tif (!this.selectedDates.includes(timestamp)) {\n\t\t\tthis.selectedDates = [...this.selectedDates, timestamp];\n\t\t}\n\t}\n\n\t_removeTimestampFromSelection(timestamp: number) {\n\t\tthis.selectedDates = this.selectedDates.filter(value => value !== timestamp);\n\t}\n\n\t/**\n\t * Called when at least one day is selected and the user presses \"Shift\".\n\t * @param { number } timestamp\n\t * @private\n\t */\n\t_multipleSelection(timestamp: number) {\n\t\tconst min = Math.min(...this.selectedDates);\n\t\tconst max = Math.max(...this.selectedDates);\n\t\tlet start;\n\t\tlet end;\n\t\tlet toggle = false;\n\n\t\tif (timestamp < min) {\n\t\t\tstart = timestamp;\n\t\t\tend = min;\n\t\t} else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused\n\t\t\tconst distanceToMin = Math.abs(timestamp - min);\n\t\t\tconst distanceToMax = Math.abs(timestamp - max);\n\n\t\t\tif (distanceToMin < distanceToMax) {\n\t\t\t\tstart = timestamp;\n\t\t\t\tend = max;\n\t\t\t} else {\n\t\t\t\tstart = min;\n\t\t\t\tend = timestamp;\n\t\t\t}\n\t\t\ttoggle = true;\n\t\t} else {\n\t\t\tstart = max;\n\t\t\tend = timestamp;\n\t\t}\n\n\t\tconst startDate = CalendarDate.fromTimestamp(start * 1000);\n\t\tconst endDate = CalendarDate.fromTimestamp(end * 1000);\n\n\t\twhile (startDate.valueOf() <= endDate.valueOf()) {\n\t\t\tthis[toggle ? \"_toggleTimestampInSelection\" : \"_addTimestampToSelection\"](startDate.valueOf() / 1000);\n\t\t\tstartDate.setDate(startDate.getDate() + 1);\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-dp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e) || isEnterShift(e)) {\n\t\t\tthis._selectDate(e, isEnterShift(e));\n\t\t} else if (isSpace(e) || isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"day\", false);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\", false);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\", false);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\", false);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"month\");\n\t\t} else if (isPageUpShift(e) || isPageUpAlt(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"year\");\n\t\t} else if (isPageDownShift(e) || isPageDownAlt(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"year\");\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(-10, \"year\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(10, \"year\");\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setDate(1); // Set the first day of the month\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(tempDate.getMonth() + 1);\n\t\t\ttempDate.setDate(0); // Set the last day of the month (0th day of next month)\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// Even if Space+Shift was pressed, ignore the shift unless in Multiple selection\n\t\tif (isSpace(e) || (isSpaceShift(e) && this.selectionMode !== CalendarSelectionMode.Multiple)) {\n\t\t\tthis._selectDate(e, false);\n\t\t} else if (isSpaceShift(e)) {\n\t\t\tthis._selectWeek();\n\t\t}\n\t}\n\n\t/**\n\t * Click is the same as \"Enter\".\n\t * <b>Note:</b> \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectDate(e, e.shiftKey);\n\t}\n\n\t/**\n\t * Called upon \"Home\" or \"End\" - moves the focus to the first or last item in the row.\n\t * @param { boolean } homePressed\n\t * @private\n\t */\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._weeks.forEach(week => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex(item => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week\n\t\t\t\tthis._setTimestamp(parseInt(_week[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\", false);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\", false);\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t * @param { number } amount\n\t * @param { string } unit\n\t * @param { boolean } preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit, preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param { number } value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * During range selection, when the user is navigating with the keyboard,\n\t * the currently focused day is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\tget shouldHideWeekNumbers() {\n\t\tif (this._primaryCalendarType !== CalendarType.Gregorian) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.hideWeekNumbers;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-dp-root\": true,\n\t\t\t\t\"ui5-dp-twocalendartypes\": this.hasSecondaryCalendarType,\n\t\t\t},\n\t\t};\n\t}\n\n\t_isWeekend(oDate: CalendarDate): boolean {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\tconst iWeekDay = oDate.getDay(),\n\t\t\tiWeekendStart = localeData.getWeekendStart(),\n\t\t\tiWeekendEnd = localeData.getWeekendEnd();\n\n\t\treturn (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)\n\t\t\t|| (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));\n\t}\n\n\t_isDayPressed(target: HTMLElement): boolean {\n\t\tconst targetParent = target.parentNode as HTMLElement;\n\t\treturn (target.className.indexOf(\"ui5-dp-item\") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains(\"ui5-dp-item\"));\n\t}\n\n\t_getSecondaryDay(tempDate: CalendarDate): CalendarDate {\n\t\treturn new CalendarDate(tempDate, this.secondaryCalendarType);\n\t}\n\n\t_getFirstDay(): CalendarDate {\n\t\tlet daysFromPreviousMonth;\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\n\t\t// determine weekday of first day in month\n\t\tconst firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\tfirstDay.setDate(1);\n\n\t\tdaysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;\n\n\t\tif (daysFromPreviousMonth < 0) {\n\t\t\tdaysFromPreviousMonth = 7 + daysFromPreviousMonth;\n\t\t}\n\n\t\tif (daysFromPreviousMonth > 0) {\n\t\t\tfirstDay.setDate(1 - daysFromPreviousMonth);\n\t\t}\n\n\t\treturn firstDay;\n\t}\n\n\t_getFirstDayOfWeek(): number {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst confFirstDayOfWeek = getFirstDayOfWeek();\n\t\treturn Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek! : localeData.getFirstDayOfWeek();\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoledescription() {\n\t\treturn this.hasSecondaryCalendarType\n\t\t\t? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType as string} calendar`\n\t\t\t: `${this._primaryCalendarType} calendar`;\n\t}\n}\n\nDayPicker.define();\n\nexport default DayPicker;\nexport type {\n\tDayPickerNavigateEventDetail,\n\tDayPickerChangeEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"DayPicker.js","sourceRoot":"","sources":["../src/DayPicker.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 getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisSpace,\n\tisSpaceShift,\n\tisEnter,\n\tisEnterShift,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageDownShiftCtrl,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport calculateWeekNumber from \"@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./generated/templates/DayPickerTemplate.lit.js\";\n\n// Styles\nimport dayPickerCSS from \"./generated/themes/DayPicker.css.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst DAYS_IN_WEEK = 7;\n\ntype DayName = {\n\tname: string,\n\tclasses: string,\n\tultraShortName?: string,\n}\n\ntype Day = {\n\ttimestamp: string,\n\tday: number,\n\tfocusRef: boolean,\n\t_tabIndex: string,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\tariaLabel: string,\n\tariaSelected: string,\n\tariaDisabled: string | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n}\n\ntype WeekNumber = {\n\tweekNum: number,\n\tisHidden: boolean,\n}\n\ntype Week = Array<Day | WeekNumber>;\n\ntype DayPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp?: number,\n}\n\ntype DayPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Represents the days inside a single month view of the <code>ui5-calendar</code> component.\n *\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n * @public\n */\n@event(\"change\")\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n * @public\n */\n@event(\"navigate\")\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\t/**\n\t * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.\n\t *\n\t * @default []\n\t * @public\n\t */\n\t@property({\n\t\tvalidator: Integer,\n\t\tmultiple: true,\n\t\tcompareValues: true,\n\t})\n\tselectedDates!: Array<number>;\n\n\t/**\n\t * Defines the type of selection used in the day picker component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t *\n\t * @default \"Single\"\n\t * @public\n\t */\n\t@property({ type: CalendarSelectionMode, defaultValue: CalendarSelectionMode.Single })\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:<b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_weeks!: Array<Week>;\n\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_dayNames!: Array<DayName>;\n\n\t/**\n\t * When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden!: boolean;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first day in the range is selected, this is the currently hovered (when using mouse) or focused (when using keyboard) day by the user\n\t *\n\t * @private\n\t */\n\t @property()\n\t_secondTimestamp?: number;\n\n\t_autoFocus?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._buildWeeks(localeData);\n\t\tthis._buildDayNames(localeData);\n\t}\n\n\t/**\n\t * Builds the \"_weeks\" object that represents the month.\n\t *\n\t * @param localeData\n\t * @private\n\t */\n\t_buildWeeks(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tthis._weeks = [];\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\t\tconst monthsNames = localeData.getMonths(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tconst secondaryMonthsNames = this.hasSecondaryCalendarType ? localeData.getMonths(\"wide\", this.secondaryCalendarType) as Array<string> : [];\n\t\tconst nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);\n\t\tconst todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);\n\t\tconst tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times\n\t\tconst todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once\n\t\tconst calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf\n\t\tconst minDate = this._minDate; // store the _minDate (expensive getter)\n\t\tconst maxDate = this._maxDate; // store the _maxDate (expensive getter)\n\n\t\tconst tempSecondDate = this.hasSecondaryCalendarType ? this._getSecondaryDay(tempDate) : undefined;\n\n\t\tlet week: Week = [];\n\t\tfor (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping\n\t\t\tconst timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it\n\n\t\t\tlet dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;\n\t\t\tif (dayOfTheWeek < 0) {\n\t\t\t\tdayOfTheWeek += DAYS_IN_WEEK;\n\t\t\t}\n\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();\n\t\t\tconst isSelected = this._isDaySelected(timestamp);\n\t\t\tconst isSelectedBetween = this._isDayInsideSelectionRange(timestamp);\n\t\t\tconst isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();\n\t\t\tconst isWeekend = this._isWeekend(tempDate);\n\t\t\tconst isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();\n\t\t\tconst isToday = tempDate.isSame(todayDate);\n\t\t\tconst isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;\n\n\t\t\tconst nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : \"\";\n\t\t\tconst todayAriaLabel = isToday ? `${todayLabel} ` : \"\";\n\n\t\t\tconst tempSecondDateNumber = tempSecondDate ? tempSecondDate.getDate() : \"\";\n\t\t\tconst tempSecondYearNumber = tempSecondDate ? tempSecondDate.getYear() : \"\";\n\t\t\tconst secondaryMonthsNamesString = secondaryMonthsNames.length > 0 ? secondaryMonthsNames[tempSecondDate!.getMonth()] : \"\";\n\n\t\t\tconst ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber}`\n\t\t\t\t: `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;\n\n\t\t\tconst day: Day = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? \"0\" : \"-1\",\n\t\t\t\tselected: isSelected,\n\t\t\t\tday: tempDate.getDate(),\n\t\t\t\tsecondDay: this.hasSecondaryCalendarType ? (tempSecondDate as CalendarDate).getDate() : undefined,\n\t\t\t\t_isSecondaryCalendarType: this.hasSecondaryCalendarType,\n\t\t\t\tclasses: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected ? \"true\" : \"false\",\n\t\t\t\tariaDisabled: isOtherMonth ? \"true\" : undefined,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t};\n\n\t\t\tif (isFirstDayOfWeek) {\n\t\t\t\tday.classes += \" ui5-dp-firstday\";\n\t\t\t}\n\n\t\t\tif (isSelected) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected-between\";\n\t\t\t}\n\n\t\t\tif (isToday) {\n\t\t\t\tday.classes += \" ui5-dp-item--now\";\n\t\t\t}\n\n\t\t\tif (isOtherMonth) {\n\t\t\t\tday.classes += \" ui5-dp-item--othermonth\";\n\t\t\t}\n\n\t\t\tif (isWeekend) {\n\t\t\t\tday.classes += \" ui5-dp-item--weeekend\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tday.classes += \" ui5-dp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tday.classes += \" ui5-dp-item--withsecondtype\";\n\t\t\t}\n\n\t\t\tweek.push(day);\n\n\t\t\tif (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),\n\t\t\t\t\tisHidden: this.shouldHideWeekNumbers,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers\n\t\t\t\tthis._weeks.push(week);\n\t\t\t\tweek = [];\n\t\t\t}\n\n\t\t\ttempDate.setDate(tempDate.getDate() + 1);\n\t\t\tif (this.hasSecondaryCalendarType && tempSecondDate) {\n\t\t\t\ttempSecondDate.setDate(tempSecondDate.getDate() + 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t *\n\t * @param localeData\n\t * @private\n\t */\n\t_buildDayNames(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tlet dayOfTheWeek;\n\n\t\tconst aDayNamesWide = localeData.getDays(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tlet aDayNamesAbbreviated = localeData.getDays(\"abbreviated\", this._primaryCalendarType) as Array<string>;\n\t\tlet dayName;\n\n\t\tif (this.namesTooLong(aDayNamesAbbreviated)) {\n\t\t\taDayNamesAbbreviated = localeData.getDays(\"narrow\", this._primaryCalendarType) as Array<string>;\n\t\t}\n\n\t\tthis._dayNames = [];\n\t\tthis._dayNames.push({\n\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\tname: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),\n\t\t});\n\t\tfor (let i = 0; i < DAYS_IN_WEEK; i++) {\n\t\t\tdayOfTheWeek = i + this._getFirstDayOfWeek();\n\t\t\tif (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed\n\t\t\t\tdayOfTheWeek -= DAYS_IN_WEEK;\n\t\t\t}\n\t\t\tdayName = {\n\t\t\t\tname: aDayNamesWide[dayOfTheWeek],\n\t\t\t\tultraShortName: aDayNamesAbbreviated[dayOfTheWeek],\n\t\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\t};\n\t\t\tthis._dayNames.push(dayName);\n\t\t}\n\t\tthis._dayNames[1].classes += \" ui5-dp-firstday\";\n\t\tif (this.shouldHideWeekNumbers) {\n\t\t\tthis._dayNames.shift();\n\t\t}\n\t}\n\n\t/**\n\t * Tells if any of the days is more than 4 characters(too long to render).\n\t *\n\t * @param dayNames\n\t * @private\n\t */\n\tnamesTooLong(dayNames: Array<string>): boolean {\n\t\treturn dayNames.some(dayName => dayName.length > 3);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._autoFocus && !this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\n\t\tconst focusedDay = this.shadowRoot!.querySelector<HTMLElement>(\"[data-sap-focus-ref]\");\n\n\t\tif (focusedDay && document.activeElement !== focusedDay) {\n\t\t\tfocusedDay.focus();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis._autoFocus = false;\n\t}\n\n\t/**\n\t * Tells if the day is selected (dark blue).\n\t *\n\t * @param timestamp\n\t * @private\n\t */\n\t_isDaySelected(timestamp: number): boolean {\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\treturn timestamp === this.selectedDates[0];\n\t\t}\n\n\t\t// Multiple, Range\n\t\treturn this.selectedDates.includes(timestamp);\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t *\n\t * @param timestamp\n\t * @private\n\t */\n\t_isDayInsideSelectionRange(timestamp: number): boolean {\n\t\t// No selection at all (or not in range selection mode)\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\t// Two dates selected - stable range\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t *\n\t * @param e\n\t * @param isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)\n\t * @private\n\t */\n\t_selectDate(e: Event, isShift: boolean) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!this._isDayPressed(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\tthis.selectedDates = [timestamp];\n\t\t} else if (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\tif (this.selectedDates.length > 0 && isShift) {\n\t\t\t\tthis._multipleSelection(timestamp);\n\t\t\t} else {\n\t\t\t\tthis._toggleTimestampInSelection(timestamp);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp]\tas Array<number> : [timestamp] as Array<number>;\n\t\t}\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t/**\n\t * Selects/deselects the whole row (week).\n\t *\n\t * @private\n\t */\n\t_selectWeek() {\n\t\tthis._weeks.forEach((week: Week) => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex((item: Day) => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst notAllDaysOfThisWeekSelected = _week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));\n\t\t\t\tif (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._addTimestampToSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t} else { // only if all days of this week are selected, deselect them\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._removeTimestampFromSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_toggleTimestampInSelection(timestamp: number) {\n\t\tif (this.selectedDates.includes(timestamp)) {\n\t\t\tthis._removeTimestampFromSelection(timestamp);\n\t\t} else {\n\t\t\tthis._addTimestampToSelection(timestamp);\n\t\t}\n\t}\n\n\t_addTimestampToSelection(timestamp: number) {\n\t\tif (!this.selectedDates.includes(timestamp)) {\n\t\t\tthis.selectedDates = [...this.selectedDates, timestamp];\n\t\t}\n\t}\n\n\t_removeTimestampFromSelection(timestamp: number) {\n\t\tthis.selectedDates = this.selectedDates.filter(value => value !== timestamp);\n\t}\n\n\t/**\n\t * Called when at least one day is selected and the user presses \"Shift\".\n\t *\n\t * @param timestamp\n\t * @private\n\t */\n\t_multipleSelection(timestamp: number) {\n\t\tconst min = Math.min(...this.selectedDates);\n\t\tconst max = Math.max(...this.selectedDates);\n\t\tlet start;\n\t\tlet end;\n\t\tlet toggle = false;\n\n\t\tif (timestamp < min) {\n\t\t\tstart = timestamp;\n\t\t\tend = min;\n\t\t} else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused\n\t\t\tconst distanceToMin = Math.abs(timestamp - min);\n\t\t\tconst distanceToMax = Math.abs(timestamp - max);\n\n\t\t\tif (distanceToMin < distanceToMax) {\n\t\t\t\tstart = timestamp;\n\t\t\t\tend = max;\n\t\t\t} else {\n\t\t\t\tstart = min;\n\t\t\t\tend = timestamp;\n\t\t\t}\n\t\t\ttoggle = true;\n\t\t} else {\n\t\t\tstart = max;\n\t\t\tend = timestamp;\n\t\t}\n\n\t\tconst startDate = CalendarDate.fromTimestamp(start * 1000);\n\t\tconst endDate = CalendarDate.fromTimestamp(end * 1000);\n\n\t\twhile (startDate.valueOf() <= endDate.valueOf()) {\n\t\t\tthis[toggle ? \"_toggleTimestampInSelection\" : \"_addTimestampToSelection\"](startDate.valueOf() / 1000);\n\t\t\tstartDate.setDate(startDate.getDate() + 1);\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-dp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e) || isEnterShift(e)) {\n\t\t\tthis._selectDate(e, isEnterShift(e));\n\t\t} else if (isSpace(e) || isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"day\", false);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\", false);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\", false);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\", false);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"month\");\n\t\t} else if (isPageUpShift(e) || isPageUpAlt(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"year\");\n\t\t} else if (isPageDownShift(e) || isPageDownAlt(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"year\");\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(-10, \"year\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(10, \"year\");\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setDate(1); // Set the first day of the month\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(tempDate.getMonth() + 1);\n\t\t\ttempDate.setDate(0); // Set the last day of the month (0th day of next month)\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// Even if Space+Shift was pressed, ignore the shift unless in Multiple selection\n\t\tif (isSpace(e) || (isSpaceShift(e) && this.selectionMode !== CalendarSelectionMode.Multiple)) {\n\t\t\tthis._selectDate(e, false);\n\t\t} else if (isSpaceShift(e)) {\n\t\t\tthis._selectWeek();\n\t\t}\n\t}\n\n\t/**\n\t * Click is the same as \"Enter\".\n\t * <b>Note:</b> \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectDate(e, e.shiftKey);\n\t}\n\n\t/**\n\t * Called upon \"Home\" or \"End\" - moves the focus to the first or last item in the row.\n\t *\n\t * @param homePressed\n\t * @private\n\t */\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._weeks.forEach(week => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex(item => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week\n\t\t\t\tthis._setTimestamp(parseInt(_week[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t *\n\t * @protected\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t *\n\t * @protected\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t *\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\", false);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t *\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\", false);\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t *\n\t * @param amount\n\t * @param unit\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit, preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t *\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * During range selection, when the user is navigating with the keyboard,\n\t * the currently focused day is considered the \"second day\".\n\t *\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\tget shouldHideWeekNumbers() {\n\t\tif (this._primaryCalendarType !== CalendarType.Gregorian) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.hideWeekNumbers;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-dp-root\": true,\n\t\t\t\t\"ui5-dp-twocalendartypes\": this.hasSecondaryCalendarType,\n\t\t\t},\n\t\t};\n\t}\n\n\t_isWeekend(oDate: CalendarDate): boolean {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\tconst iWeekDay = oDate.getDay(),\n\t\t\tiWeekendStart = localeData.getWeekendStart(),\n\t\t\tiWeekendEnd = localeData.getWeekendEnd();\n\n\t\treturn (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)\n\t\t\t|| (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));\n\t}\n\n\t_isDayPressed(target: HTMLElement): boolean {\n\t\tconst targetParent = target.parentNode as HTMLElement;\n\t\treturn (target.className.indexOf(\"ui5-dp-item\") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains(\"ui5-dp-item\"));\n\t}\n\n\t_getSecondaryDay(tempDate: CalendarDate): CalendarDate {\n\t\treturn new CalendarDate(tempDate, this.secondaryCalendarType);\n\t}\n\n\t_getFirstDay(): CalendarDate {\n\t\tlet daysFromPreviousMonth;\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\n\t\t// determine weekday of first day in month\n\t\tconst firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\tfirstDay.setDate(1);\n\n\t\tdaysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;\n\n\t\tif (daysFromPreviousMonth < 0) {\n\t\t\tdaysFromPreviousMonth = 7 + daysFromPreviousMonth;\n\t\t}\n\n\t\tif (daysFromPreviousMonth > 0) {\n\t\t\tfirstDay.setDate(1 - daysFromPreviousMonth);\n\t\t}\n\n\t\treturn firstDay;\n\t}\n\n\t_getFirstDayOfWeek(): number {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst confFirstDayOfWeek = getFirstDayOfWeek();\n\t\treturn Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek! : localeData.getFirstDayOfWeek();\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoledescription() {\n\t\treturn this.hasSecondaryCalendarType\n\t\t\t? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType as string} calendar`\n\t\t\t: `${this._primaryCalendarType} calendar`;\n\t}\n}\n\nDayPicker.define();\n\nexport default DayPicker;\nexport type {\n\tDayPickerNavigateEventDetail,\n\tDayPickerChangeEventDetail,\n};\n"]}
|
package/dist/Dialog.d.ts
CHANGED
|
@@ -32,16 +32,6 @@ import "@ui5/webcomponents-icons/dist/information.js";
|
|
|
32
32
|
* The <code>stretch</code> property can be used to stretch the
|
|
33
33
|
* <code>ui5-dialog</code> on full screen.
|
|
34
34
|
*
|
|
35
|
-
* <h3>CSS Shadow Parts</h3>
|
|
36
|
-
*
|
|
37
|
-
* <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
|
|
38
|
-
* <br>
|
|
39
|
-
* The <code>ui5-dialog</code> exposes the following CSS Shadow Parts:
|
|
40
|
-
* <ul>
|
|
41
|
-
* <li>header - Used to style the header of the component</li>
|
|
42
|
-
* <li>content - Used to style the content of the component</li>
|
|
43
|
-
* <li>footer - Used to style the footer of the component</li>
|
|
44
|
-
* </ul>
|
|
45
35
|
* <b>Note:</b> When a <code>ui5-bar</code> is used in the header or in the footer, you should remove the default dialog's paddings.
|
|
46
36
|
* <br>
|
|
47
37
|
* For more information see the sample "Bar in Header/Footer".
|
|
@@ -59,11 +49,11 @@ import "@ui5/webcomponents-icons/dist/information.js";
|
|
|
59
49
|
* <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>).
|
|
60
50
|
*
|
|
61
51
|
* @constructor
|
|
62
|
-
* @
|
|
63
|
-
* @alias sap.ui.webc.main.Dialog
|
|
64
|
-
* @extends sap.ui.webc.main.Popup
|
|
65
|
-
* @tagname ui5-dialog
|
|
52
|
+
* @extends Popup
|
|
66
53
|
* @public
|
|
54
|
+
* @csspart header - Used to style the header of the component
|
|
55
|
+
* @csspart content - Used to style the content of the component
|
|
56
|
+
* @csspart footer - Used to style the footer of the component
|
|
67
57
|
*/
|
|
68
58
|
declare class Dialog extends Popup {
|
|
69
59
|
/**
|
|
@@ -71,9 +61,7 @@ declare class Dialog extends Popup {
|
|
|
71
61
|
* <br><br>
|
|
72
62
|
* <b>Note:</b> If <code>header</code> slot is provided, the <code>headerText</code> is ignored.
|
|
73
63
|
*
|
|
74
|
-
* @
|
|
75
|
-
* @name sap.ui.webc.main.Dialog.prototype.headerText
|
|
76
|
-
* @defaultvalue ""
|
|
64
|
+
* @default ""
|
|
77
65
|
* @public
|
|
78
66
|
*/
|
|
79
67
|
headerText: string;
|
|
@@ -83,9 +71,7 @@ declare class Dialog extends Popup {
|
|
|
83
71
|
* <b>Note:</b> The component will be stretched to approximately
|
|
84
72
|
* 90% of the viewport.
|
|
85
73
|
*
|
|
86
|
-
* @
|
|
87
|
-
* @name sap.ui.webc.main.Dialog.prototype.stretch
|
|
88
|
-
* @defaultvalue false
|
|
74
|
+
* @default false
|
|
89
75
|
* @public
|
|
90
76
|
*/
|
|
91
77
|
stretch: boolean;
|
|
@@ -98,9 +84,7 @@ declare class Dialog extends Popup {
|
|
|
98
84
|
* <b>Note:</b> This property overrides the default HTML "draggable" attribute native behavior.
|
|
99
85
|
* When "draggable" is set to true, the native browser "draggable"
|
|
100
86
|
* behavior is prevented and only the Dialog custom logic ("draggable by its header") works.
|
|
101
|
-
* @
|
|
102
|
-
* @name sap.ui.webc.main.Dialog.prototype.draggable
|
|
103
|
-
* @defaultvalue false
|
|
87
|
+
* @default false
|
|
104
88
|
* @since 1.0.0-rc.9
|
|
105
89
|
* @public
|
|
106
90
|
*/
|
|
@@ -113,9 +97,7 @@ declare class Dialog extends Popup {
|
|
|
113
97
|
* <b>Note:</b> The component can be resizable only in desktop mode.
|
|
114
98
|
* <br>
|
|
115
99
|
* <b>Note:</b> Upon resizing, externally defined height and width styling will be ignored.
|
|
116
|
-
* @
|
|
117
|
-
* @name sap.ui.webc.main.Dialog.prototype.resizable
|
|
118
|
-
* @defaultvalue false
|
|
100
|
+
* @default false
|
|
119
101
|
* @since 1.0.0-rc.10
|
|
120
102
|
* @public
|
|
121
103
|
*/
|
|
@@ -124,9 +106,7 @@ declare class Dialog extends Popup {
|
|
|
124
106
|
* Defines the state of the <code>Dialog</code>.
|
|
125
107
|
* <br><b>Note:</b> If <code>"Error"</code> and <code>"Warning"</code> state is set, it will change the
|
|
126
108
|
* accessibility role to "alertdialog", if the accessibleRole property is set to <code>"Dialog"</code>.
|
|
127
|
-
* @
|
|
128
|
-
* @name sap.ui.webc.main.Dialog.prototype.state
|
|
129
|
-
* @defaultvalue "None"
|
|
109
|
+
* @default "None"
|
|
130
110
|
* @public
|
|
131
111
|
* @since 1.0.0-rc.15
|
|
132
112
|
*/
|
|
@@ -166,9 +146,6 @@ declare class Dialog extends Popup {
|
|
|
166
146
|
* <b>Note:</b> If <code>header</code> slot is provided, the labelling of the dialog is a responsibility of the application developer.
|
|
167
147
|
* <code>accessibleName</code> should be used.
|
|
168
148
|
*
|
|
169
|
-
* @type {HTMLElement[]}
|
|
170
|
-
* @name sap.ui.webc.main.Dialog.prototype.header
|
|
171
|
-
* @slot
|
|
172
149
|
* @public
|
|
173
150
|
*/
|
|
174
151
|
header: Array<HTMLElement>;
|
|
@@ -177,9 +154,6 @@ declare class Dialog extends Popup {
|
|
|
177
154
|
* <br><br>
|
|
178
155
|
* <b>Note:</b> When a <code>ui5-bar</code> is used in the footer, you should remove the default dialog's paddings.
|
|
179
156
|
*
|
|
180
|
-
* @type {HTMLElement[]}
|
|
181
|
-
* @name sap.ui.webc.main.Dialog.prototype.footer
|
|
182
|
-
* @slot
|
|
183
157
|
* @public
|
|
184
158
|
*/
|
|
185
159
|
footer: Array<HTMLElement>;
|
|
@@ -190,12 +164,9 @@ declare class Dialog extends Popup {
|
|
|
190
164
|
/**
|
|
191
165
|
* Shows the dialog.
|
|
192
166
|
*
|
|
193
|
-
* @param
|
|
167
|
+
* @param [preventInitialFocus=false] Prevents applying the focus inside the popup
|
|
194
168
|
* @public
|
|
195
|
-
* @
|
|
196
|
-
* @name sap.ui.webc.main.Dialog#show
|
|
197
|
-
* @async
|
|
198
|
-
* @returns {Promise} Resolves when the dialog is open
|
|
169
|
+
* @returns Resolves when the dialog is open
|
|
199
170
|
*/
|
|
200
171
|
show(preventInitialFocus?: boolean): Promise<void>;
|
|
201
172
|
get isModal(): boolean;
|
package/dist/Dialog.js
CHANGED
|
@@ -66,16 +66,6 @@ const ICON_PER_STATE = {
|
|
|
66
66
|
* The <code>stretch</code> property can be used to stretch the
|
|
67
67
|
* <code>ui5-dialog</code> on full screen.
|
|
68
68
|
*
|
|
69
|
-
* <h3>CSS Shadow Parts</h3>
|
|
70
|
-
*
|
|
71
|
-
* <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
|
|
72
|
-
* <br>
|
|
73
|
-
* The <code>ui5-dialog</code> exposes the following CSS Shadow Parts:
|
|
74
|
-
* <ul>
|
|
75
|
-
* <li>header - Used to style the header of the component</li>
|
|
76
|
-
* <li>content - Used to style the content of the component</li>
|
|
77
|
-
* <li>footer - Used to style the footer of the component</li>
|
|
78
|
-
* </ul>
|
|
79
69
|
* <b>Note:</b> When a <code>ui5-bar</code> is used in the header or in the footer, you should remove the default dialog's paddings.
|
|
80
70
|
* <br>
|
|
81
71
|
* For more information see the sample "Bar in Header/Footer".
|
|
@@ -93,11 +83,11 @@ const ICON_PER_STATE = {
|
|
|
93
83
|
* <b>Note:</b> We don't recommend nesting popup-like components (<code>ui5-dialog</code>, <code>ui5-popover</code>).
|
|
94
84
|
*
|
|
95
85
|
* @constructor
|
|
96
|
-
* @
|
|
97
|
-
* @alias sap.ui.webc.main.Dialog
|
|
98
|
-
* @extends sap.ui.webc.main.Popup
|
|
99
|
-
* @tagname ui5-dialog
|
|
86
|
+
* @extends Popup
|
|
100
87
|
* @public
|
|
88
|
+
* @csspart header - Used to style the header of the component
|
|
89
|
+
* @csspart content - Used to style the content of the component
|
|
90
|
+
* @csspart footer - Used to style the footer of the component
|
|
101
91
|
*/
|
|
102
92
|
let Dialog = Dialog_1 = class Dialog extends Popup {
|
|
103
93
|
constructor() {
|
|
@@ -127,12 +117,9 @@ let Dialog = Dialog_1 = class Dialog extends Popup {
|
|
|
127
117
|
/**
|
|
128
118
|
* Shows the dialog.
|
|
129
119
|
*
|
|
130
|
-
* @param
|
|
120
|
+
* @param [preventInitialFocus=false] Prevents applying the focus inside the popup
|
|
131
121
|
* @public
|
|
132
|
-
* @
|
|
133
|
-
* @name sap.ui.webc.main.Dialog#show
|
|
134
|
-
* @async
|
|
135
|
-
* @returns {Promise} Resolves when the dialog is open
|
|
122
|
+
* @returns Resolves when the dialog is open
|
|
136
123
|
*/
|
|
137
124
|
async show(preventInitialFocus = false) {
|
|
138
125
|
await super._open(preventInitialFocus);
|