@ui5/webcomponents 0.0.0-39bd3067f → 0.0.0-4180fe799
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 +610 -1
- package/README.md +144 -52
- package/csp.js +7 -0
- package/customI18n.js +50 -0
- package/dist/Assets-static.js +6 -0
- package/dist/Assets.js +2 -1
- package/dist/Avatar.js +197 -46
- package/dist/AvatarGroup.js +603 -0
- package/dist/Badge.js +44 -22
- package/dist/Breadcrumbs.js +563 -0
- package/dist/BreadcrumbsItem.js +109 -0
- package/dist/BusyIndicator.js +159 -20
- package/dist/Button.js +132 -69
- package/dist/Calendar.js +342 -546
- package/dist/CalendarDate.js +45 -0
- package/dist/CalendarHeader.js +133 -62
- package/dist/CalendarPart.js +111 -0
- package/dist/Card.js +44 -158
- package/dist/CardHeader.js +288 -0
- package/dist/Carousel.js +272 -76
- package/dist/CheckBox.js +149 -49
- package/dist/ColorPalette.js +493 -0
- package/dist/ColorPaletteItem.js +137 -0
- package/dist/ColorPalettePopover.js +219 -0
- package/dist/ColorPicker.js +524 -0
- package/dist/ComboBox.js +603 -94
- package/dist/ComboBoxFilters.js +8 -1
- package/dist/ComboBoxGroupItem.js +70 -0
- package/dist/ComboBoxItem.js +12 -24
- package/dist/CustomListItem.js +38 -9
- package/dist/DateComponentBase.js +170 -0
- package/dist/DatePicker.js +418 -403
- package/dist/DateRangePicker.js +328 -0
- package/dist/DateTimePicker.js +111 -384
- package/dist/DayPicker.js +509 -431
- package/dist/Dialog.js +497 -50
- package/dist/DurationPicker.js +170 -317
- package/dist/FileUploader.js +217 -24
- package/dist/GroupHeaderListItem.js +24 -19
- package/dist/Icon.js +197 -36
- package/dist/Input.js +660 -167
- package/dist/Interfaces.js +192 -0
- package/dist/Label.js +27 -12
- package/dist/Link.js +138 -28
- package/dist/List.js +501 -110
- package/dist/ListItem.js +110 -28
- package/dist/ListItemBase.js +42 -8
- package/dist/MessageStrip.js +56 -70
- package/dist/MonthPicker.js +180 -182
- package/dist/MultiComboBox.js +583 -207
- package/dist/MultiComboBoxItem.js +8 -5
- package/dist/MultiInput.js +301 -0
- package/dist/Option.js +48 -5
- package/dist/Panel.js +100 -37
- package/dist/Popover.js +255 -224
- package/dist/Popup.js +381 -284
- package/dist/ProgressIndicator.js +235 -0
- package/dist/RadioButton.js +131 -51
- package/dist/RadioButtonGroup.js +53 -29
- package/dist/RangeSlider.js +769 -0
- package/dist/RatingIndicator.js +291 -0
- package/dist/ResponsivePopover.js +73 -46
- package/dist/SegmentedButton.js +127 -60
- package/dist/SegmentedButtonItem.js +109 -0
- package/dist/Select.js +448 -107
- package/dist/Slider.js +320 -0
- package/dist/SliderBase.js +842 -0
- package/dist/StandardListItem.js +44 -22
- package/dist/StepInput.js +684 -0
- package/dist/SuggestionGroupItem.js +64 -0
- package/dist/SuggestionItem.js +37 -31
- package/dist/SuggestionListItem.js +76 -0
- package/dist/Switch.js +60 -42
- package/dist/Tab.js +55 -24
- package/dist/TabContainer.js +241 -82
- package/dist/TabSeparator.js +1 -0
- package/dist/Table.js +480 -35
- package/dist/TableCell.js +11 -13
- package/dist/TableColumn.js +13 -3
- package/dist/TableGroupRow.js +160 -0
- package/dist/TableRow.js +244 -18
- package/dist/TextArea.js +153 -55
- package/dist/TimePicker.js +55 -644
- package/dist/TimePickerBase.js +463 -0
- package/dist/TimeSelection.js +493 -0
- package/dist/Title.js +16 -9
- package/dist/Toast.js +24 -13
- package/dist/ToggleButton.js +21 -13
- package/dist/Token.js +84 -45
- package/dist/Tokenizer.js +246 -64
- package/dist/Tree.js +443 -0
- package/dist/TreeItem.js +168 -0
- package/dist/TreeListItem.js +332 -0
- package/dist/WheelSlider.js +79 -59
- package/dist/YearPicker.js +199 -255
- package/dist/api.json +6877 -1
- package/dist/features/ColorPaletteMoreColors.js +42 -0
- package/dist/features/InputElementsFormSupport.js +0 -1
- package/dist/features/InputSuggestions.js +276 -53
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -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 -0
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/json-imports/Themes-static.js +35 -0
- package/dist/generated/json-imports/Themes.js +23 -15
- package/dist/generated/json-imports/i18n-static.js +162 -0
- package/dist/generated/json-imports/i18n.js +113 -89
- package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
- package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
- package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
- package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
- package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
- package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
- package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
- package/dist/generated/templates/CardTemplate.lit.js +5 -8
- package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
- package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
- package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
- package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
- package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
- package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
- package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
- package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
- package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
- package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
- package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
- package/dist/generated/templates/DialogTemplate.lit.js +9 -8
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
- package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
- package/dist/generated/templates/IconTemplate.lit.js +6 -6
- package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
- package/dist/generated/templates/InputTemplate.lit.js +9 -8
- package/dist/generated/templates/LabelTemplate.lit.js +4 -4
- package/dist/generated/templates/LinkTemplate.lit.js +5 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
- package/dist/generated/templates/ListTemplate.lit.js +12 -9
- package/dist/generated/templates/MessageStripTemplate.lit.js +6 -27
- package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
- package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
- package/dist/generated/templates/PanelTemplate.lit.js +9 -6
- package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
- package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
- package/dist/generated/templates/PopupTemplate.lit.js +4 -4
- package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
- package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
- package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
- package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
- package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
- package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
- package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
- package/dist/generated/templates/SelectTemplate.lit.js +6 -5
- package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
- package/dist/generated/templates/SliderTemplate.lit.js +12 -0
- package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -19
- package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
- package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
- package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
- package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -17
- package/dist/generated/templates/TabInStripTemplate.lit.js +6 -30
- package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
- package/dist/generated/templates/TabTemplate.lit.js +4 -4
- package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
- package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
- package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
- package/dist/generated/templates/TableRowTemplate.lit.js +12 -10
- package/dist/generated/templates/TableTemplate.lit.js +13 -8
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
- package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
- package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
- package/dist/generated/templates/TimePickerTemplate.lit.js +6 -5
- package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
- package/dist/generated/templates/TitleTemplate.lit.js +10 -10
- package/dist/generated/templates/ToastTemplate.lit.js +5 -4
- package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
- package/dist/generated/templates/TokenTemplate.lit.js +7 -5
- package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
- package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
- package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
- package/dist/generated/templates/TreeTemplate.lit.js +8 -0
- package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
- package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
- package/dist/generated/themes/Avatar.css.js +5 -5
- package/dist/generated/themes/AvatarGroup.css.js +8 -0
- package/dist/generated/themes/Badge.css.js +5 -5
- package/dist/generated/themes/Breadcrumbs.css.js +8 -0
- package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
- package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
- package/dist/generated/themes/BusyIndicator.css.js +5 -5
- package/dist/generated/themes/Button.css.js +5 -5
- package/dist/generated/themes/Button.ie11.css.js +8 -0
- package/dist/generated/themes/Calendar.css.js +5 -5
- package/dist/generated/themes/CalendarHeader.css.js +5 -5
- package/dist/generated/themes/Card.css.js +5 -5
- package/dist/generated/themes/CardHeader.css.js +8 -0
- package/dist/generated/themes/Carousel.css.js +5 -5
- package/dist/generated/themes/CheckBox.css.js +5 -5
- package/dist/generated/themes/ColorPalette.css.js +8 -0
- package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
- package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
- package/dist/generated/themes/ColorPicker.css.js +8 -0
- package/dist/generated/themes/ComboBox.css.js +5 -5
- package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
- package/dist/generated/themes/CustomListItem.css.js +5 -5
- package/dist/generated/themes/DatePicker.css.js +5 -5
- package/dist/generated/themes/DatePickerPopover.css.js +5 -5
- package/dist/generated/themes/DateRangePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePicker.css.js +8 -0
- package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
- package/dist/generated/themes/DayPicker.css.js +5 -5
- package/dist/generated/themes/Dialog.css.js +5 -5
- package/dist/generated/themes/FileUploader.css.js +5 -5
- package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
- package/dist/generated/themes/GrowingButton.css.js +8 -0
- package/dist/generated/themes/Icon.css.js +5 -5
- package/dist/generated/themes/Input.css.js +5 -5
- package/dist/generated/themes/InputIcon.css.js +5 -5
- package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
- package/dist/generated/themes/Label.css.js +5 -5
- package/dist/generated/themes/Link.css.js +5 -5
- package/dist/generated/themes/List.css.js +5 -5
- package/dist/generated/themes/ListItem.css.js +5 -5
- package/dist/generated/themes/ListItemBase.css.js +5 -5
- package/dist/generated/themes/MessageStrip.css.js +5 -5
- package/dist/generated/themes/MonthPicker.css.js +5 -5
- package/dist/generated/themes/MultiComboBox.css.js +5 -5
- package/dist/generated/themes/MultiInput.css.js +8 -0
- package/dist/generated/themes/Panel.css.js +5 -5
- package/dist/generated/themes/Popover.css.js +5 -5
- package/dist/generated/themes/Popup.css.js +5 -5
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
- package/dist/generated/themes/PopupsCommon.css.js +8 -0
- package/dist/generated/themes/ProgressIndicator.css.js +8 -0
- package/dist/generated/themes/RadioButton.css.js +5 -5
- package/dist/generated/themes/RatingIndicator.css.js +8 -0
- package/dist/generated/themes/ResponsivePopover.css.js +5 -5
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
- package/dist/generated/themes/SegmentedButton.css.js +5 -5
- package/dist/generated/themes/Select.css.js +5 -5
- package/dist/generated/themes/SelectPopover.css.js +8 -0
- package/dist/generated/themes/SliderBase.css.js +8 -0
- package/dist/generated/themes/StepInput.css.js +8 -0
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +5 -5
- package/dist/generated/themes/Tab.css.js +5 -5
- package/dist/generated/themes/TabContainer.css.js +5 -5
- package/dist/generated/themes/TabInOverflow.css.js +5 -5
- package/dist/generated/themes/TabInStrip.css.js +5 -5
- package/dist/generated/themes/Table.css.js +5 -5
- package/dist/generated/themes/TableCell.css.js +5 -5
- package/dist/generated/themes/TableColumn.css.js +5 -5
- package/dist/generated/themes/TableGroupRow.css.js +8 -0
- package/dist/generated/themes/TableRow.css.js +5 -5
- package/dist/generated/themes/TapHighlightColor.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js +5 -5
- package/dist/generated/themes/TimePicker.css.js +5 -5
- package/dist/generated/themes/TimePickerPopover.css.js +5 -5
- package/dist/generated/themes/TimeSelection.css.js +8 -0
- package/dist/generated/themes/Title.css.js +5 -5
- package/dist/generated/themes/Toast.css.js +5 -5
- package/dist/generated/themes/ToggleButton.css.js +5 -5
- package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
- package/dist/generated/themes/Token.css.js +5 -5
- package/dist/generated/themes/Tokenizer.css.js +5 -5
- package/dist/generated/themes/Tree.css.js +8 -0
- package/dist/generated/themes/TreeListItem.css.js +8 -0
- package/dist/generated/themes/ValueStateMessage.css.js +5 -5
- package/dist/generated/themes/WheelSlider.css.js +5 -5
- package/dist/generated/themes/YearPicker.css.js +5 -5
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
- package/dist/i18n/messagebundle.properties +335 -0
- package/dist/i18n/messagebundle_ar.properties +224 -0
- package/dist/i18n/messagebundle_bg.properties +224 -0
- package/dist/i18n/messagebundle_ca.properties +224 -0
- package/dist/i18n/messagebundle_cs.properties +224 -0
- package/dist/i18n/messagebundle_cy.properties +224 -0
- package/dist/i18n/messagebundle_da.properties +224 -0
- package/dist/i18n/messagebundle_de.properties +224 -0
- package/dist/i18n/messagebundle_el.properties +224 -0
- package/dist/i18n/messagebundle_en.properties +224 -0
- package/dist/i18n/messagebundle_en_GB.properties +224 -0
- package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/dist/i18n/messagebundle_es.properties +224 -0
- package/dist/i18n/messagebundle_es_MX.properties +224 -0
- package/dist/i18n/messagebundle_et.properties +224 -0
- package/dist/i18n/messagebundle_fi.properties +224 -0
- package/dist/i18n/messagebundle_fr.properties +224 -0
- package/dist/i18n/messagebundle_fr_CA.properties +224 -0
- package/dist/i18n/messagebundle_hi.properties +224 -0
- package/dist/i18n/messagebundle_hr.properties +224 -0
- package/dist/i18n/messagebundle_hu.properties +224 -0
- package/dist/i18n/messagebundle_id.properties +224 -0
- package/dist/i18n/messagebundle_in.properties +172 -0
- package/dist/i18n/messagebundle_it.properties +224 -0
- package/dist/i18n/messagebundle_iw.properties +224 -0
- package/dist/i18n/messagebundle_ja.properties +224 -0
- package/dist/i18n/messagebundle_kk.properties +224 -0
- package/dist/i18n/messagebundle_ko.properties +224 -0
- package/dist/i18n/messagebundle_lt.properties +224 -0
- package/dist/i18n/messagebundle_lv.properties +224 -0
- package/dist/i18n/messagebundle_ms.properties +224 -0
- package/dist/i18n/messagebundle_nl.properties +224 -0
- package/dist/i18n/messagebundle_no.properties +224 -0
- package/dist/i18n/messagebundle_pl.properties +224 -0
- package/dist/i18n/messagebundle_pt.properties +224 -0
- package/dist/i18n/messagebundle_pt_PT.properties +224 -0
- package/dist/i18n/messagebundle_ro.properties +224 -0
- package/dist/i18n/messagebundle_ru.properties +224 -0
- package/dist/i18n/messagebundle_sh.properties +224 -0
- package/dist/i18n/messagebundle_sk.properties +224 -0
- package/dist/i18n/messagebundle_sl.properties +224 -0
- package/dist/i18n/messagebundle_sv.properties +224 -0
- package/dist/i18n/messagebundle_th.properties +224 -0
- package/dist/i18n/messagebundle_tr.properties +224 -0
- package/dist/i18n/messagebundle_uk.properties +224 -0
- package/dist/i18n/messagebundle_vi.properties +224 -0
- package/dist/i18n/messagebundle_zh_CN.properties +224 -0
- package/dist/i18n/messagebundle_zh_TW.properties +224 -0
- package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
- package/dist/popup-utils/PopoverRegistry.js +55 -21
- package/dist/timepicker-utils/TimeSlider.js +15 -13
- package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
- package/dist/types/AvatarGroupType.js +43 -0
- package/dist/types/AvatarShape.js +1 -1
- package/dist/types/AvatarSize.js +1 -1
- package/dist/types/BreadcrumbsDesign.js +42 -0
- package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/dist/types/BusyIndicatorSize.js +1 -1
- package/dist/types/ButtonDesign.js +8 -1
- package/dist/types/CalendarSelectionMode.js +47 -0
- package/dist/types/CarouselArrowsPlacement.js +3 -3
- package/dist/types/GrowingMode.js +48 -0
- package/dist/types/InputType.js +7 -7
- package/dist/types/LinkDesign.js +1 -1
- package/dist/types/ListGrowingMode.js +15 -0
- package/dist/types/ListItemType.js +2 -2
- package/dist/types/ListMode.js +9 -1
- package/dist/types/ListSeparators.js +1 -1
- package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
- package/dist/types/PanelAccessibleRole.js +1 -1
- package/dist/types/PopoverHorizontalAlign.js +1 -1
- package/dist/types/PopoverPlacementType.js +2 -2
- package/dist/types/PopoverVerticalAlign.js +1 -2
- package/dist/types/Priority.js +55 -0
- package/dist/types/SemanticColor.js +1 -1
- package/dist/types/SwitchDesign.js +40 -0
- package/dist/types/TabContainerTabsPlacement.js +5 -5
- package/dist/types/TabLayout.js +1 -1
- package/dist/types/TableGrowingMode.js +15 -0
- package/dist/types/TableMode.js +47 -0
- package/dist/types/TableRowType.js +40 -0
- package/dist/types/TitleLevel.js +1 -1
- package/dist/types/ToastPlacement.js +1 -2
- package/dist/types/WrappingType.js +41 -0
- package/dist/webcomponentsjs/CHANGELOG.md +61 -0
- package/dist/webcomponentsjs/README.md +64 -47
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
- package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
- package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
- package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
- package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
- package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
- package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
- package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
- package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
- package/package-scripts.js +1 -0
- package/package.json +23 -6
- package/src/Assets-static.js +6 -0
- package/src/Assets.js +7 -0
- package/src/Avatar.hbs +20 -0
- package/src/Avatar.js +392 -0
- package/src/AvatarGroup.hbs +30 -0
- package/src/AvatarGroup.js +603 -0
- package/src/Badge.hbs +14 -0
- package/src/Badge.js +165 -0
- package/src/Breadcrumbs.hbs +42 -0
- package/src/Breadcrumbs.js +563 -0
- package/src/BreadcrumbsItem.js +109 -0
- package/src/BreadcrumbsPopover.hbs +28 -0
- package/src/BusyIndicator.hbs +32 -0
- package/src/BusyIndicator.js +269 -0
- package/src/Button.hbs +45 -0
- package/src/Button.js +463 -0
- package/src/Calendar.hbs +69 -0
- package/src/Calendar.js +489 -0
- package/src/CalendarDate.js +45 -0
- package/src/CalendarHeader.hbs +54 -0
- package/src/CalendarHeader.js +209 -0
- package/src/CalendarPart.js +111 -0
- package/src/Card.hbs +14 -0
- package/src/Card.js +160 -0
- package/src/CardHeader.hbs +35 -0
- package/src/CardHeader.js +288 -0
- package/src/Carousel.hbs +85 -0
- package/src/Carousel.js +681 -0
- package/src/CheckBox.hbs +44 -0
- package/src/CheckBox.js +424 -0
- package/src/ColorPalette.hbs +52 -0
- package/src/ColorPalette.js +493 -0
- package/src/ColorPaletteDialog.hbs +18 -0
- package/src/ColorPaletteItem.hbs +11 -0
- package/src/ColorPaletteItem.js +137 -0
- package/src/ColorPalettePopover.hbs +29 -0
- package/src/ColorPalettePopover.js +219 -0
- package/src/ColorPicker.hbs +98 -0
- package/src/ColorPicker.js +524 -0
- package/src/ComboBox.hbs +49 -0
- package/src/ComboBox.js +1041 -0
- package/src/ComboBoxFilters.js +40 -0
- package/src/ComboBoxGroupItem.js +70 -0
- package/src/ComboBoxItem.js +49 -0
- package/src/ComboBoxPopover.hbs +125 -0
- package/src/CustomListItem.hbs +5 -0
- package/src/CustomListItem.js +99 -0
- package/src/DateComponentBase.js +170 -0
- package/src/DatePicker.hbs +44 -0
- package/src/DatePicker.js +823 -0
- package/src/DatePickerPopover.hbs +63 -0
- package/src/DateRangePicker.js +328 -0
- package/src/DateTimePicker.js +430 -0
- package/src/DateTimePickerPopover.hbs +74 -0
- package/src/DayPicker.hbs +66 -0
- package/src/DayPicker.js +754 -0
- package/src/Dialog.hbs +35 -0
- package/src/Dialog.js +601 -0
- package/src/DurationPicker.js +312 -0
- package/src/FileUploader.hbs +40 -0
- package/src/FileUploader.js +532 -0
- package/src/FileUploaderPopover.hbs +25 -0
- package/src/GroupHeaderListItem.hbs +15 -0
- package/src/GroupHeaderListItem.js +94 -0
- package/src/Icon.hbs +25 -0
- package/src/Icon.js +373 -0
- package/src/Input.hbs +78 -0
- package/src/Input.js +1381 -0
- package/src/InputPopover.hbs +118 -0
- package/src/Interfaces.js +192 -0
- package/src/Label.hbs +13 -0
- package/src/Label.js +152 -0
- package/src/Link.hbs +20 -0
- package/src/Link.js +349 -0
- package/src/List.hbs +89 -0
- package/src/List.js +1056 -0
- package/src/ListItem.hbs +102 -0
- package/src/ListItem.js +371 -0
- package/src/ListItemBase.js +179 -0
- package/src/MessageStrip.hbs +34 -0
- package/src/MessageStrip.js +227 -0
- package/src/MonthPicker.hbs +29 -0
- package/src/MonthPicker.js +299 -0
- package/src/MultiComboBox.hbs +78 -0
- package/src/MultiComboBox.js +1091 -0
- package/src/MultiComboBoxItem.js +43 -0
- package/src/MultiComboBoxPopover.hbs +133 -0
- package/src/MultiInput.hbs +41 -0
- package/src/MultiInput.js +301 -0
- package/src/Option.js +115 -0
- package/src/Panel.hbs +63 -0
- package/src/Panel.js +462 -0
- package/src/Popover.hbs +25 -0
- package/src/Popover.js +786 -0
- package/src/Popup.hbs +34 -0
- package/src/Popup.js +567 -0
- package/src/PopupBlockLayer.hbs +7 -0
- package/src/ProgressIndicator.hbs +35 -0
- package/src/ProgressIndicator.js +235 -0
- package/src/RadioButton.hbs +33 -0
- package/src/RadioButton.js +494 -0
- package/src/RadioButtonGroup.js +205 -0
- package/src/RangeSlider.hbs +70 -0
- package/src/RangeSlider.js +769 -0
- package/src/RatingIndicator.hbs +33 -0
- package/src/RatingIndicator.js +291 -0
- package/src/ResponsivePopover.hbs +39 -0
- package/src/ResponsivePopover.js +206 -0
- package/src/SegmentedButton.hbs +17 -0
- package/src/SegmentedButton.js +290 -0
- package/src/SegmentedButtonItem.hbs +42 -0
- package/src/SegmentedButtonItem.js +109 -0
- package/src/Select.hbs +45 -0
- package/src/Select.js +834 -0
- package/src/SelectPopover.hbs +89 -0
- package/src/Slider.hbs +42 -0
- package/src/Slider.js +320 -0
- package/src/SliderBase.hbs +38 -0
- package/src/SliderBase.js +842 -0
- package/src/StandardListItem.hbs +44 -0
- package/src/StandardListItem.js +191 -0
- package/src/StepInput.hbs +80 -0
- package/src/StepInput.js +684 -0
- package/src/SuggestionGroupItem.js +64 -0
- package/src/SuggestionItem.js +146 -0
- package/src/SuggestionListItem.hbs +33 -0
- package/src/SuggestionListItem.js +76 -0
- package/src/Switch.hbs +50 -0
- package/src/Switch.js +262 -0
- package/src/Tab.hbs +3 -0
- package/src/Tab.js +334 -0
- package/src/TabContainer.hbs +93 -0
- package/src/TabContainer.js +679 -0
- package/src/TabContainerPopover.hbs +24 -0
- package/src/TabInOverflow.hbs +22 -0
- package/src/TabInStrip.hbs +43 -0
- package/src/TabSeparator.hbs +1 -0
- package/src/TabSeparator.js +44 -0
- package/src/Table.hbs +99 -0
- package/src/Table.js +761 -0
- package/src/TableCell.hbs +7 -0
- package/src/TableCell.js +88 -0
- package/src/TableColumn.hbs +8 -0
- package/src/TableColumn.js +136 -0
- package/src/TableGroupRow.hbs +12 -0
- package/src/TableGroupRow.js +160 -0
- package/src/TableRow.hbs +61 -0
- package/src/TableRow.js +388 -0
- package/src/TextArea.hbs +50 -0
- package/src/TextArea.js +691 -0
- package/src/TextAreaPopover.hbs +28 -0
- package/src/TimePicker.hbs +35 -0
- package/src/TimePicker.js +166 -0
- package/src/TimePickerBase.js +463 -0
- package/src/TimePickerPopover.hbs +34 -0
- package/src/TimeSelection.hbs +60 -0
- package/src/TimeSelection.js +493 -0
- package/src/Title.hbs +47 -0
- package/src/Title.js +132 -0
- package/src/Toast.hbs +13 -0
- package/src/Toast.js +243 -0
- package/src/ToggleButton.hbs +5 -0
- package/src/ToggleButton.js +84 -0
- package/src/Token.hbs +30 -0
- package/src/Token.js +219 -0
- package/src/Tokenizer.hbs +27 -0
- package/src/Tokenizer.js +414 -0
- package/src/TokenizerPopover.hbs +50 -0
- package/src/Tree.hbs +42 -0
- package/src/Tree.js +443 -0
- package/src/TreeItem.js +168 -0
- package/src/TreeListItem.hbs +48 -0
- package/src/TreeListItem.js +332 -0
- package/src/WheelSlider.hbs +48 -0
- package/src/WheelSlider.js +435 -0
- package/src/YearPicker.hbs +27 -0
- package/src/YearPicker.js +324 -0
- package/src/features/ColorPaletteMoreColors.js +42 -0
- package/src/features/InputElementsFormSupport.js +88 -0
- package/src/features/InputSuggestions.js +530 -0
- package/src/i18n/messagebundle.properties +335 -0
- package/src/i18n/messagebundle_ar.properties +224 -0
- package/src/i18n/messagebundle_bg.properties +224 -0
- package/src/i18n/messagebundle_ca.properties +224 -0
- package/src/i18n/messagebundle_cs.properties +224 -0
- package/src/i18n/messagebundle_cy.properties +224 -0
- package/src/i18n/messagebundle_da.properties +224 -0
- package/src/i18n/messagebundle_de.properties +224 -0
- package/src/i18n/messagebundle_el.properties +224 -0
- package/src/i18n/messagebundle_en.properties +224 -0
- package/src/i18n/messagebundle_en_GB.properties +224 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
- package/src/i18n/messagebundle_es.properties +224 -0
- package/src/i18n/messagebundle_es_MX.properties +224 -0
- package/src/i18n/messagebundle_et.properties +224 -0
- package/src/i18n/messagebundle_fi.properties +224 -0
- package/src/i18n/messagebundle_fr.properties +224 -0
- package/src/i18n/messagebundle_fr_CA.properties +224 -0
- package/src/i18n/messagebundle_hi.properties +224 -0
- package/src/i18n/messagebundle_hr.properties +224 -0
- package/src/i18n/messagebundle_hu.properties +224 -0
- package/src/i18n/messagebundle_id.properties +224 -0
- package/src/i18n/messagebundle_in.properties +172 -0
- package/src/i18n/messagebundle_it.properties +224 -0
- package/src/i18n/messagebundle_iw.properties +224 -0
- package/src/i18n/messagebundle_ja.properties +224 -0
- package/src/i18n/messagebundle_kk.properties +224 -0
- package/src/i18n/messagebundle_ko.properties +224 -0
- package/src/i18n/messagebundle_lt.properties +224 -0
- package/src/i18n/messagebundle_lv.properties +224 -0
- package/src/i18n/messagebundle_ms.properties +224 -0
- package/src/i18n/messagebundle_nl.properties +224 -0
- package/src/i18n/messagebundle_no.properties +224 -0
- package/src/i18n/messagebundle_pl.properties +224 -0
- package/src/i18n/messagebundle_pt.properties +224 -0
- package/src/i18n/messagebundle_pt_PT.properties +224 -0
- package/src/i18n/messagebundle_ro.properties +224 -0
- package/src/i18n/messagebundle_ru.properties +224 -0
- package/src/i18n/messagebundle_sh.properties +224 -0
- package/src/i18n/messagebundle_sk.properties +224 -0
- package/src/i18n/messagebundle_sl.properties +224 -0
- package/src/i18n/messagebundle_sv.properties +224 -0
- package/src/i18n/messagebundle_th.properties +224 -0
- package/src/i18n/messagebundle_tr.properties +224 -0
- package/src/i18n/messagebundle_uk.properties +224 -0
- package/src/i18n/messagebundle_vi.properties +224 -0
- package/src/i18n/messagebundle_zh_CN.properties +224 -0
- package/src/i18n/messagebundle_zh_TW.properties +224 -0
- package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
- package/src/popup-utils/PopoverRegistry.js +145 -0
- package/src/timepicker-utils/TimeSlider.js +103 -0
- package/src/types/AvatarColorScheme.js +104 -0
- package/src/types/AvatarGroupType.js +43 -0
- package/src/types/AvatarShape.js +41 -0
- package/src/types/AvatarSize.js +67 -0
- package/src/types/BreadcrumbsDesign.js +42 -0
- package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
- package/src/types/BusyIndicatorSize.js +47 -0
- package/src/types/ButtonDesign.js +68 -0
- package/src/types/CalendarSelectionMode.js +47 -0
- package/src/types/CarouselArrowsPlacement.js +40 -0
- package/src/types/GrowingMode.js +48 -0
- package/src/types/InputType.js +68 -0
- package/src/types/LinkDesign.js +47 -0
- package/src/types/ListGrowingMode.js +15 -0
- package/src/types/ListItemType.js +47 -0
- package/src/types/ListMode.js +77 -0
- package/src/types/ListSeparators.js +46 -0
- package/src/types/MessageStripDesign.js +54 -0
- package/src/types/PanelAccessibleRole.js +48 -0
- package/src/types/PopoverHorizontalAlign.js +54 -0
- package/src/types/PopoverPlacementType.js +54 -0
- package/src/types/PopoverVerticalAlign.js +54 -0
- package/src/types/Priority.js +55 -0
- package/src/types/SemanticColor.js +61 -0
- package/src/types/SwitchDesign.js +40 -0
- package/src/types/TabContainerTabsPlacement.js +40 -0
- package/src/types/TabLayout.js +40 -0
- package/src/types/TableGrowingMode.js +15 -0
- package/src/types/TableMode.js +47 -0
- package/src/types/TableRowType.js +40 -0
- package/src/types/TitleLevel.js +68 -0
- package/src/types/ToastPlacement.js +91 -0
- package/src/types/WrappingType.js +41 -0
- package/dist/Timeline.js +0 -97
- package/dist/TimelineItem.js +0 -161
- package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
- package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -8
- package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
- package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
- package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
- package/dist/generated/themes/ComboBoxItem.css.js +0 -8
- package/dist/generated/themes/DurationPicker.css.js +0 -8
- package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
- package/dist/generated/themes/Timeline.css.js +0 -8
- package/dist/generated/themes/TimelineItem.css.js +0 -8
- package/dist/popup-utils/PopupUtils.js +0 -55
- package/dist/types/AvatarFitType.js +0 -40
- package/dist/webcomponentsjs/package.json +0 -46
package/dist/DayPicker.js
CHANGED
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
-
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
|
-
import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
|
4
1
|
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
|
5
2
|
import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
|
|
4
|
+
import {
|
|
5
|
+
isSpace,
|
|
6
|
+
isSpaceShift,
|
|
7
|
+
isEnter,
|
|
8
|
+
isEnterShift,
|
|
9
|
+
isUp,
|
|
10
|
+
isDown,
|
|
11
|
+
isLeft,
|
|
12
|
+
isRight,
|
|
13
|
+
isHome,
|
|
14
|
+
isEnd,
|
|
15
|
+
isHomeCtrl,
|
|
16
|
+
isEndCtrl,
|
|
17
|
+
isPageUp,
|
|
18
|
+
isPageDown,
|
|
19
|
+
isPageUpShift,
|
|
20
|
+
isPageUpAlt,
|
|
21
|
+
isPageUpShiftCtrl,
|
|
22
|
+
isPageDownShift,
|
|
23
|
+
isPageDownAlt,
|
|
24
|
+
isPageDownShiftCtrl,
|
|
25
|
+
} from "@ui5/webcomponents-base/dist/Keys.js";
|
|
11
26
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
12
27
|
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
13
28
|
import calculateWeekNumber from "@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js";
|
|
14
29
|
import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
|
|
15
|
-
import
|
|
30
|
+
import CalendarSelectionMode from "./types/CalendarSelectionMode.js";
|
|
31
|
+
import CalendarPart from "./CalendarPart.js";
|
|
16
32
|
import DayPickerTemplate from "./generated/templates/DayPickerTemplate.lit.js";
|
|
17
33
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const _startDate = CalendarDate.fromTimestamp(startDate).toLocalJSDate(),
|
|
24
|
-
_endDate = CalendarDate.fromTimestamp(endDate).toLocalJSDate();
|
|
34
|
+
import {
|
|
35
|
+
DAY_PICKER_WEEK_NUMBER_TEXT,
|
|
36
|
+
DAY_PICKER_NON_WORKING_DAY,
|
|
37
|
+
DAY_PICKER_TODAY,
|
|
38
|
+
} from "./generated/i18n/i18n-defaults.js";
|
|
25
39
|
|
|
26
|
-
|
|
27
|
-
months -= _startDate.getMonth();
|
|
28
|
-
months += _endDate.getMonth();
|
|
29
|
-
return months;
|
|
30
|
-
};
|
|
40
|
+
import dayPickerCSS from "./generated/themes/DayPicker.css.js";
|
|
31
41
|
|
|
32
42
|
/**
|
|
33
43
|
* @public
|
|
@@ -36,91 +46,90 @@ const metadata = {
|
|
|
36
46
|
tag: "ui5-daypicker",
|
|
37
47
|
properties: /** @lends sap.ui.webcomponents.main.DayPicker.prototype */ {
|
|
38
48
|
/**
|
|
39
|
-
*
|
|
40
|
-
* @type {number}
|
|
41
|
-
* @public
|
|
42
|
-
*/
|
|
43
|
-
timestamp: {
|
|
44
|
-
type: Integer,
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Sets a calendar type used for display.
|
|
49
|
-
* If not set, the calendar type of the global configuration is used.
|
|
50
|
-
* @type {CalendarType}
|
|
51
|
-
* @public
|
|
52
|
-
*/
|
|
53
|
-
primaryCalendarType: {
|
|
54
|
-
type: CalendarType,
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Sets the selected dates as UTC timestamps.
|
|
49
|
+
* An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.
|
|
59
50
|
* @type {Array}
|
|
60
51
|
* @public
|
|
61
52
|
*/
|
|
62
53
|
selectedDates: {
|
|
63
54
|
type: Integer,
|
|
64
55
|
multiple: true,
|
|
56
|
+
compareValues: true,
|
|
65
57
|
},
|
|
66
58
|
|
|
67
59
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
60
|
+
* Defines the type of selection used in the day picker component.
|
|
61
|
+
* Accepted property values are:<br>
|
|
62
|
+
* <ul>
|
|
63
|
+
* <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>
|
|
64
|
+
* <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>
|
|
65
|
+
* <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>
|
|
66
|
+
* </ul>
|
|
67
|
+
* @type {CalendarSelectionMode}
|
|
68
|
+
* @defaultvalue "Single"
|
|
73
69
|
* @public
|
|
74
70
|
*/
|
|
75
|
-
|
|
76
|
-
type:
|
|
71
|
+
selectionMode: {
|
|
72
|
+
type: CalendarSelectionMode,
|
|
73
|
+
defaultValue: CalendarSelectionMode.Single,
|
|
77
74
|
},
|
|
78
75
|
|
|
79
76
|
/**
|
|
80
|
-
*
|
|
77
|
+
* Defines the visibility of the week numbers column.
|
|
78
|
+
* <br><br>
|
|
79
|
+
*
|
|
80
|
+
* <b>Note:<b> For calendars other than Gregorian,
|
|
81
|
+
* the week numbers are not displayed regardless of what is set.
|
|
81
82
|
*
|
|
82
|
-
* @type {
|
|
83
|
-
* @defaultvalue
|
|
84
|
-
* @since 1.0.0-rc.6
|
|
83
|
+
* @type {boolean}
|
|
84
|
+
* @defaultvalue false
|
|
85
85
|
* @public
|
|
86
|
+
* @since 1.0.0-rc.8
|
|
86
87
|
*/
|
|
87
|
-
|
|
88
|
-
type:
|
|
88
|
+
hideWeekNumbers: {
|
|
89
|
+
type: Boolean,
|
|
89
90
|
},
|
|
90
91
|
|
|
92
|
+
/**
|
|
93
|
+
* @type {Object}
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
91
96
|
_weeks: {
|
|
92
97
|
type: Object,
|
|
93
98
|
multiple: true,
|
|
94
99
|
},
|
|
95
100
|
|
|
96
|
-
|
|
101
|
+
_dayNames: {
|
|
97
102
|
type: Object,
|
|
98
103
|
multiple: true,
|
|
99
104
|
},
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself
|
|
108
|
+
* @type {boolean}
|
|
109
|
+
* @private
|
|
110
|
+
*/
|
|
100
111
|
_hidden: {
|
|
101
112
|
type: Boolean,
|
|
102
113
|
noAttribute: true,
|
|
103
114
|
},
|
|
115
|
+
|
|
104
116
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* @type {string}
|
|
108
|
-
* @defaultvalue ""
|
|
109
|
-
* @public
|
|
117
|
+
* 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
|
|
118
|
+
* @private
|
|
110
119
|
*/
|
|
111
|
-
|
|
120
|
+
_secondTimestamp: {
|
|
112
121
|
type: String,
|
|
113
122
|
},
|
|
114
123
|
},
|
|
115
124
|
events: /** @lends sap.ui.webcomponents.main.DayPicker.prototype */ {
|
|
116
125
|
/**
|
|
117
|
-
* Fired when the
|
|
126
|
+
* Fired when the selected date(s) change
|
|
118
127
|
* @public
|
|
119
128
|
* @event
|
|
120
129
|
*/
|
|
121
|
-
|
|
130
|
+
change: {},
|
|
122
131
|
/**
|
|
123
|
-
* Fired when
|
|
132
|
+
* Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse
|
|
124
133
|
* @public
|
|
125
134
|
* @event
|
|
126
135
|
*/
|
|
@@ -128,8 +137,9 @@ const metadata = {
|
|
|
128
137
|
},
|
|
129
138
|
};
|
|
130
139
|
|
|
131
|
-
const
|
|
132
|
-
|
|
140
|
+
const isBetween = (x, num1, num2) => x > Math.min(num1, num2) && x < Math.max(num1, num2);
|
|
141
|
+
|
|
142
|
+
const DAYS_IN_WEEK = 7;
|
|
133
143
|
|
|
134
144
|
/**
|
|
135
145
|
* @class
|
|
@@ -139,19 +149,15 @@ const DEFAULT_MIN_YEAR = 1;
|
|
|
139
149
|
* @constructor
|
|
140
150
|
* @author SAP SE
|
|
141
151
|
* @alias sap.ui.webcomponents.main.DayPicker
|
|
142
|
-
* @extends
|
|
152
|
+
* @extends CalendarPart
|
|
143
153
|
* @tagname ui5-daypicker
|
|
144
154
|
* @public
|
|
145
155
|
*/
|
|
146
|
-
class DayPicker extends
|
|
156
|
+
class DayPicker extends CalendarPart {
|
|
147
157
|
static get metadata() {
|
|
148
158
|
return metadata;
|
|
149
159
|
}
|
|
150
160
|
|
|
151
|
-
static get render() {
|
|
152
|
-
return litRender;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
161
|
static get template() {
|
|
156
162
|
return DayPickerTemplate;
|
|
157
163
|
}
|
|
@@ -160,395 +166,530 @@ class DayPicker extends UI5Element {
|
|
|
160
166
|
return dayPickerCSS;
|
|
161
167
|
}
|
|
162
168
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
this.
|
|
166
|
-
this.
|
|
167
|
-
|
|
168
|
-
this._itemNav = new ItemNavigation(this, {
|
|
169
|
-
rowSize: 7,
|
|
170
|
-
pageSize: 42,
|
|
171
|
-
behavior: ItemNavigationBehavior.Paging,
|
|
172
|
-
});
|
|
169
|
+
onBeforeRendering() {
|
|
170
|
+
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
171
|
+
this._buildWeeks(localeData);
|
|
172
|
+
this._buildDayNames(localeData);
|
|
173
|
+
}
|
|
173
174
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
/**
|
|
176
|
+
* Builds the _weeks object that represents the month
|
|
177
|
+
* @param localeData
|
|
178
|
+
* @private
|
|
179
|
+
*/
|
|
180
|
+
_buildWeeks(localeData) {
|
|
181
|
+
if (this._hidden) {
|
|
182
|
+
return; // Optimization to not do any work unless the current picker
|
|
183
|
+
}
|
|
177
184
|
|
|
178
|
-
this.
|
|
179
|
-
ItemNavigation.BORDER_REACH,
|
|
180
|
-
this._handleItemNavigationBorderReach.bind(this)
|
|
181
|
-
);
|
|
185
|
+
this._weeks = [];
|
|
182
186
|
|
|
183
|
-
this.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
);
|
|
187
|
+
const firstDayOfWeek = this._getFirstDayOfWeek();
|
|
188
|
+
const monthsNames = localeData.getMonths("wide", this._primaryCalendarType);
|
|
189
|
+
const secondaryMonthsNames = this.hasSecondaryCalendarType && localeData.getMonths("wide", this.secondaryCalendarType);
|
|
190
|
+
const nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);
|
|
191
|
+
const todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);
|
|
192
|
+
const tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times
|
|
193
|
+
const todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once
|
|
194
|
+
const calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf
|
|
195
|
+
const minDate = this._minDate; // store the _minDate (expensive getter)
|
|
196
|
+
const maxDate = this._maxDate; // store the _maxDate (expensive getter)
|
|
187
197
|
|
|
188
|
-
this.
|
|
189
|
-
"PageTop",
|
|
190
|
-
this._handleMonthTopOverflow.bind(this)
|
|
191
|
-
);
|
|
192
|
-
}
|
|
198
|
+
const tempSecondDate = this.hasSecondaryCalendarType && this._getSecondaryDay(tempDate);
|
|
193
199
|
|
|
194
|
-
onBeforeRendering() {
|
|
195
|
-
let oCalDate,
|
|
196
|
-
day,
|
|
197
|
-
timestamp,
|
|
198
|
-
lastWeekNumber = -1,
|
|
199
|
-
isDaySelected = false,
|
|
200
|
-
todayIndex = 0;
|
|
201
|
-
const _aVisibleDays = this._getVisibleDays(this._calendarDate);
|
|
202
|
-
this._weeks = [];
|
|
203
200
|
let week = [];
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (this.minDate) {
|
|
207
|
-
this._minDateObject = new Date(this._minDate);
|
|
208
|
-
}
|
|
201
|
+
for (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping
|
|
202
|
+
const timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it
|
|
209
203
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
/* eslint-disable no-loop-func */
|
|
214
|
-
for (let i = 0; i < _aVisibleDays.length; i++) {
|
|
215
|
-
oCalDate = _aVisibleDays[i];
|
|
216
|
-
timestamp = oCalDate.valueOf() / 1000; // no need to round because CalendarDate does it
|
|
217
|
-
|
|
218
|
-
// day of the week
|
|
219
|
-
weekday = oCalDate.getDay() - this._getFirstDayOfWeek();
|
|
220
|
-
if (weekday < 0) {
|
|
221
|
-
weekday += 7;
|
|
204
|
+
let dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;
|
|
205
|
+
if (dayOfTheWeek < 0) {
|
|
206
|
+
dayOfTheWeek += DAYS_IN_WEEK;
|
|
222
207
|
}
|
|
223
|
-
|
|
208
|
+
|
|
209
|
+
const isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();
|
|
210
|
+
const isSelected = this._isDaySelected(timestamp);
|
|
211
|
+
const isSelectedBetween = this._isDayInsideSelectionRange(timestamp);
|
|
212
|
+
const isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();
|
|
213
|
+
const isWeekend = this._isWeekend(tempDate);
|
|
214
|
+
const isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();
|
|
215
|
+
const isToday = tempDate.isSame(todayDate);
|
|
216
|
+
const isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;
|
|
217
|
+
|
|
218
|
+
const nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : "";
|
|
219
|
+
const todayAriaLabel = isToday ? `${todayLabel} ` : "";
|
|
220
|
+
const ariaLabel = this.hasSecondaryCalendarType
|
|
221
|
+
? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNames[tempSecondDate.getMonth()]} ${tempSecondDate.getDate()}, ${tempSecondDate.getYear()}`
|
|
222
|
+
: `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;
|
|
223
|
+
|
|
224
|
+
const day = {
|
|
224
225
|
timestamp: timestamp.toString(),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
226
|
+
focusRef: isFocused,
|
|
227
|
+
_tabIndex: isFocused ? "0" : "-1",
|
|
228
|
+
selected: isSelected,
|
|
229
|
+
day: tempDate.getDate(),
|
|
230
|
+
secondDay: this.hasSecondaryCalendarType && tempSecondDate.getDate(),
|
|
231
|
+
_isSecondaryCalendarType: this.hasSecondaryCalendarType,
|
|
232
|
+
classes: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,
|
|
233
|
+
ariaLabel,
|
|
234
|
+
ariaSelected: isSelected ? "true" : "false",
|
|
235
|
+
ariaDisabled: isOtherMonth ? "true" : undefined,
|
|
236
|
+
disabled: isDisabled,
|
|
231
237
|
};
|
|
232
238
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
if (lastWeekNumber !== weekNumber) {
|
|
236
|
-
this._weekNumbers.push(weekNumber);
|
|
237
|
-
|
|
238
|
-
lastWeekNumber = weekNumber;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
const isToday = oCalDate.isSame(CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType));
|
|
242
|
-
|
|
243
|
-
week.push(day);
|
|
244
|
-
|
|
245
|
-
if (oCalDate.getDay() === this._getFirstDayOfWeek()) {
|
|
239
|
+
if (isFirstDayOfWeek) {
|
|
246
240
|
day.classes += " ui5-dp-firstday";
|
|
247
241
|
}
|
|
248
242
|
|
|
249
|
-
if (
|
|
243
|
+
if (isSelected) {
|
|
250
244
|
day.classes += " ui5-dp-item--selected";
|
|
251
|
-
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (isSelectedBetween) {
|
|
248
|
+
day.classes += " ui5-dp-item--selected-between";
|
|
252
249
|
}
|
|
253
250
|
|
|
254
251
|
if (isToday) {
|
|
255
252
|
day.classes += " ui5-dp-item--now";
|
|
256
|
-
todayIndex = i;
|
|
257
253
|
}
|
|
258
254
|
|
|
259
|
-
if (
|
|
255
|
+
if (isOtherMonth) {
|
|
260
256
|
day.classes += " ui5-dp-item--othermonth";
|
|
261
257
|
}
|
|
262
258
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if (this._isWeekend(oCalDate)) {
|
|
259
|
+
if (isWeekend) {
|
|
266
260
|
day.classes += " ui5-dp-item--weeekend";
|
|
267
261
|
}
|
|
268
|
-
|
|
262
|
+
|
|
263
|
+
if (isDisabled) {
|
|
269
264
|
day.classes += " ui5-dp-item--disabled";
|
|
270
|
-
day.disabled = true;
|
|
271
265
|
}
|
|
272
266
|
|
|
273
|
-
if (
|
|
274
|
-
|
|
267
|
+
if (this.hasSecondaryCalendarType) {
|
|
268
|
+
day.classes += " ui5-dp-item--withsecondtype";
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
week.push(day);
|
|
272
|
+
|
|
273
|
+
if (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week
|
|
274
|
+
week.unshift({
|
|
275
|
+
weekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),
|
|
276
|
+
isHidden: this.shouldHideWeekNumbers,
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers
|
|
275
281
|
this._weeks.push(week);
|
|
276
282
|
week = [];
|
|
277
283
|
}
|
|
284
|
+
|
|
285
|
+
tempDate.setDate(tempDate.getDate() + 1);
|
|
286
|
+
if (this.hasSecondaryCalendarType) {
|
|
287
|
+
tempSecondDate.setDate(tempSecondDate.getDate() + 1);
|
|
288
|
+
}
|
|
278
289
|
}
|
|
279
|
-
|
|
280
|
-
this._weeks.push([]);
|
|
281
|
-
}
|
|
282
|
-
/* eslint-enable no-loop-func */
|
|
290
|
+
}
|
|
283
291
|
|
|
284
|
-
|
|
285
|
-
|
|
292
|
+
/**
|
|
293
|
+
* Builds the dayNames object (header of the month)
|
|
294
|
+
* @param localeData
|
|
295
|
+
* @private
|
|
296
|
+
*/
|
|
297
|
+
_buildDayNames(localeData) {
|
|
298
|
+
if (this._hidden) {
|
|
299
|
+
return; // Optimization to not do any work unless the current picker
|
|
286
300
|
}
|
|
287
301
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
const
|
|
302
|
+
let dayOfTheWeek;
|
|
303
|
+
|
|
304
|
+
const aDayNamesWide = localeData.getDays("wide", this._primaryCalendarType);
|
|
305
|
+
const aDayNamesAbbreviated = localeData.getDays("abbreviated", this._primaryCalendarType);
|
|
291
306
|
let dayName;
|
|
292
307
|
|
|
293
308
|
this._dayNames = [];
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
309
|
+
this._dayNames.push({
|
|
310
|
+
classes: "ui5-dp-dayname",
|
|
311
|
+
name: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),
|
|
312
|
+
});
|
|
313
|
+
for (let i = 0; i < DAYS_IN_WEEK; i++) {
|
|
314
|
+
dayOfTheWeek = i + this._getFirstDayOfWeek();
|
|
315
|
+
if (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed
|
|
316
|
+
dayOfTheWeek -= DAYS_IN_WEEK;
|
|
298
317
|
}
|
|
299
318
|
dayName = {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
ultraShortName: aUltraShortNames[weekday],
|
|
319
|
+
name: aDayNamesWide[dayOfTheWeek],
|
|
320
|
+
ultraShortName: aDayNamesAbbreviated[dayOfTheWeek],
|
|
303
321
|
classes: "ui5-dp-dayname",
|
|
304
322
|
};
|
|
305
323
|
|
|
306
324
|
this._dayNames.push(dayName);
|
|
307
325
|
}
|
|
308
326
|
|
|
309
|
-
this._dayNames[
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
_onmousedown(event) {
|
|
313
|
-
const target = event.target;
|
|
314
|
-
const dayPressed = this._isDayPressed(target);
|
|
315
|
-
|
|
316
|
-
if (dayPressed) {
|
|
317
|
-
const targetDate = parseInt(target.getAttribute("data-sap-timestamp"));
|
|
318
|
-
|
|
319
|
-
// findIndex, give it to item navigation
|
|
320
|
-
for (let i = 0; i < this._weeks.length; i++) {
|
|
321
|
-
for (let j = 0; j < this._weeks[i].length; j++) {
|
|
322
|
-
if (parseInt(this._weeks[i][j].timestamp) === targetDate) {
|
|
323
|
-
let index = parseInt(target.getAttribute("data-sap-index"));
|
|
324
|
-
if (this.minDate || this.maxDate) {
|
|
325
|
-
const focusableItem = this.focusableDays.find(item => parseInt(item._index) === index);
|
|
326
|
-
index = focusableItem ? this.focusableDays.indexOf(focusableItem) : index;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
this._itemNav.current = index;
|
|
330
|
-
this._itemNav.update();
|
|
331
|
-
break;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
327
|
+
this._dayNames[1].classes += " ui5-dp-firstday";
|
|
335
328
|
|
|
336
|
-
|
|
329
|
+
if (this.shouldHideWeekNumbers) {
|
|
330
|
+
this._dayNames.shift();
|
|
337
331
|
}
|
|
338
332
|
}
|
|
339
333
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
this._modifySelectionAndNotifySubscribers(this.targetDate, event.ctrlKey);
|
|
344
|
-
this.targetDate = null;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
if (!dayPressed) {
|
|
348
|
-
this._itemNav.focusCurrent();
|
|
334
|
+
onAfterRendering() {
|
|
335
|
+
if (this._autoFocus && !this._hidden) {
|
|
336
|
+
this.focus();
|
|
349
337
|
}
|
|
350
338
|
}
|
|
351
339
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
return this._handleEnter(event);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
if (isSpace(event)) {
|
|
358
|
-
return this._handleSpace(event);
|
|
359
|
-
}
|
|
340
|
+
_onfocusin() {
|
|
341
|
+
this._autoFocus = true;
|
|
360
342
|
}
|
|
361
343
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
if (event.target.className.indexOf("ui5-dp-item") > -1) {
|
|
365
|
-
const targetDate = parseInt(event.target.getAttribute("data-sap-timestamp"));
|
|
366
|
-
this._modifySelectionAndNotifySubscribers(targetDate, event.ctrlKey);
|
|
367
|
-
}
|
|
344
|
+
_onfocusout() {
|
|
345
|
+
this._autoFocus = false;
|
|
368
346
|
}
|
|
369
347
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
348
|
+
/**
|
|
349
|
+
* Tells if the day is selected (dark blue)
|
|
350
|
+
* @param timestamp
|
|
351
|
+
* @returns {boolean}
|
|
352
|
+
* @private
|
|
353
|
+
*/
|
|
354
|
+
_isDaySelected(timestamp) {
|
|
355
|
+
if (this.selectionMode === CalendarSelectionMode.Single) {
|
|
356
|
+
return timestamp === this.selectedDates[0];
|
|
375
357
|
}
|
|
376
|
-
}
|
|
377
358
|
|
|
378
|
-
|
|
379
|
-
return this.
|
|
359
|
+
// Multiple, Range
|
|
360
|
+
return this.selectedDates.includes(timestamp);
|
|
380
361
|
}
|
|
381
362
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
363
|
+
/**
|
|
364
|
+
* Tells if the day is inside a selection range (light blue)
|
|
365
|
+
* @param timestamp
|
|
366
|
+
* @returns {*}
|
|
367
|
+
* @private
|
|
368
|
+
*/
|
|
369
|
+
_isDayInsideSelectionRange(timestamp) {
|
|
370
|
+
// No selection at all (or not in range selection mode)
|
|
371
|
+
if (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
385
374
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
375
|
+
// Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one
|
|
376
|
+
if (this.selectedDates.length === 1 && this._secondTimestamp) {
|
|
377
|
+
return isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);
|
|
378
|
+
}
|
|
389
379
|
|
|
390
|
-
|
|
391
|
-
return
|
|
380
|
+
// Two dates selected - stable range
|
|
381
|
+
return isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);
|
|
392
382
|
}
|
|
393
383
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
384
|
+
/**
|
|
385
|
+
* Selects/deselects a day
|
|
386
|
+
* @param event
|
|
387
|
+
* @param isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)
|
|
388
|
+
* @private
|
|
389
|
+
*/
|
|
390
|
+
_selectDate(event, isShift) {
|
|
391
|
+
const target = event.target;
|
|
397
392
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
393
|
+
if (!this._isDayPressed(target)) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
401
396
|
|
|
402
|
-
|
|
403
|
-
return this._calendarDate.getYear();
|
|
404
|
-
}
|
|
397
|
+
const timestamp = this._getTimestampFromDom(target);
|
|
405
398
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}
|
|
399
|
+
this._safelySetTimestamp(timestamp);
|
|
400
|
+
this._updateSecondTimestamp();
|
|
409
401
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
402
|
+
if (this.selectionMode === CalendarSelectionMode.Single) {
|
|
403
|
+
this.selectedDates = [timestamp];
|
|
404
|
+
} else if (this.selectionMode === CalendarSelectionMode.Multiple) {
|
|
405
|
+
if (this.selectedDates.length > 0 && isShift) {
|
|
406
|
+
this._multipleSelection(timestamp);
|
|
407
|
+
} else {
|
|
408
|
+
this._toggleTimestampInSelection(timestamp);
|
|
409
|
+
}
|
|
410
|
+
} else {
|
|
411
|
+
this.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp] : [timestamp];
|
|
412
|
+
}
|
|
413
413
|
|
|
414
|
-
|
|
415
|
-
|
|
414
|
+
this.fireEvent("change", {
|
|
415
|
+
timestamp: this.timestamp,
|
|
416
|
+
dates: this.selectedDates,
|
|
417
|
+
});
|
|
416
418
|
}
|
|
417
419
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
420
|
+
/**
|
|
421
|
+
* Selects/deselects the whole row (week)
|
|
422
|
+
* @param event
|
|
423
|
+
* @private
|
|
424
|
+
*/
|
|
425
|
+
_selectWeek(event) {
|
|
426
|
+
this._weeks.forEach(week => {
|
|
427
|
+
const dayInThisWeek = week.findIndex(item => {
|
|
428
|
+
const date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);
|
|
429
|
+
return date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();
|
|
430
|
+
}) !== -1;
|
|
431
|
+
if (dayInThisWeek) { // The current day is in this week
|
|
432
|
+
const notAllDaysOfThisWeekSelected = week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));
|
|
433
|
+
if (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week
|
|
434
|
+
week.filter(item => item.timestamp).forEach(item => {
|
|
435
|
+
this._addTimestampToSelection(parseInt(item.timestamp));
|
|
436
|
+
});
|
|
437
|
+
} else { // only if all days of this week are selected, deselect them
|
|
438
|
+
week.filter(item => item.timestamp).forEach(item => {
|
|
439
|
+
this._removeTimestampFromSelection(parseInt(item.timestamp));
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
});
|
|
425
444
|
|
|
426
|
-
|
|
445
|
+
this.fireEvent("change", {
|
|
446
|
+
timestamp: this.timestamp,
|
|
447
|
+
dates: this.selectedDates,
|
|
448
|
+
});
|
|
427
449
|
}
|
|
428
450
|
|
|
429
|
-
|
|
430
|
-
if (
|
|
431
|
-
this.
|
|
451
|
+
_toggleTimestampInSelection(timestamp) {
|
|
452
|
+
if (this.selectedDates.includes(timestamp)) {
|
|
453
|
+
this._removeTimestampFromSelection(timestamp);
|
|
432
454
|
} else {
|
|
433
|
-
this.
|
|
455
|
+
this._addTimestampToSelection(timestamp);
|
|
434
456
|
}
|
|
435
|
-
|
|
436
|
-
this.fireEvent("selectionChange", { dates: [...this._selectedDates] });
|
|
437
457
|
}
|
|
438
458
|
|
|
439
|
-
|
|
440
|
-
this.
|
|
459
|
+
_addTimestampToSelection(timestamp) {
|
|
460
|
+
if (!this.selectedDates.includes(timestamp)) {
|
|
461
|
+
this.selectedDates = [...this.selectedDates, timestamp];
|
|
462
|
+
}
|
|
441
463
|
}
|
|
442
464
|
|
|
443
|
-
|
|
444
|
-
this.
|
|
465
|
+
_removeTimestampFromSelection(timestamp) {
|
|
466
|
+
this.selectedDates = this.selectedDates.filter(value => value !== timestamp);
|
|
445
467
|
}
|
|
446
468
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
469
|
+
/**
|
|
470
|
+
* When at least one day is selected and the user pressed shift
|
|
471
|
+
* @param timestamp
|
|
472
|
+
* @private
|
|
473
|
+
*/
|
|
474
|
+
_multipleSelection(timestamp) {
|
|
475
|
+
const min = Math.min(...this.selectedDates);
|
|
476
|
+
const max = Math.max(...this.selectedDates);
|
|
477
|
+
let start;
|
|
478
|
+
let end;
|
|
479
|
+
let toggle = false;
|
|
480
|
+
|
|
481
|
+
if (timestamp < min) {
|
|
482
|
+
start = timestamp;
|
|
483
|
+
end = min;
|
|
484
|
+
} else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused
|
|
485
|
+
const distanceToMin = Math.abs(timestamp - min);
|
|
486
|
+
const distanceToMax = Math.abs(timestamp - max);
|
|
450
487
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
488
|
+
if (distanceToMin < distanceToMax) {
|
|
489
|
+
start = timestamp;
|
|
490
|
+
end = max;
|
|
491
|
+
} else {
|
|
492
|
+
start = min;
|
|
493
|
+
end = timestamp;
|
|
494
|
+
}
|
|
495
|
+
toggle = true;
|
|
496
|
+
} else {
|
|
497
|
+
start = max;
|
|
498
|
+
end = timestamp;
|
|
454
499
|
}
|
|
455
500
|
|
|
456
|
-
|
|
457
|
-
|
|
501
|
+
const startDate = CalendarDate.fromTimestamp(start * 1000);
|
|
502
|
+
const endDate = CalendarDate.fromTimestamp(end * 1000);
|
|
503
|
+
|
|
504
|
+
while (startDate.valueOf() <= endDate.valueOf()) {
|
|
505
|
+
this[toggle ? "_toggleTimestampInSelection" : "_addTimestampToSelection"](startDate.valueOf() / 1000);
|
|
506
|
+
startDate.setDate(startDate.getDate() + 1);
|
|
458
507
|
}
|
|
508
|
+
}
|
|
459
509
|
|
|
460
|
-
|
|
461
|
-
|
|
510
|
+
/**
|
|
511
|
+
* Set the hovered day as the _secondTimestamp
|
|
512
|
+
* @param event
|
|
513
|
+
* @private
|
|
514
|
+
*/
|
|
515
|
+
_onmouseover(event) {
|
|
516
|
+
const hoveredItem = event.target.closest(".ui5-dp-item");
|
|
517
|
+
if (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {
|
|
518
|
+
this._secondTimestamp = this._getTimestampFromDom(hoveredItem);
|
|
462
519
|
}
|
|
520
|
+
}
|
|
463
521
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
522
|
+
_onkeydown(event) {
|
|
523
|
+
let preventDefault = true;
|
|
524
|
+
|
|
525
|
+
if (isEnter(event) || isEnterShift(event)) {
|
|
526
|
+
this._selectDate(event, isEnterShift(event));
|
|
527
|
+
} else if (isSpace(event) || isSpaceShift(event)) {
|
|
528
|
+
event.preventDefault();
|
|
529
|
+
} else if (isLeft(event)) {
|
|
530
|
+
this._modifyTimestampBy(-1, "day");
|
|
531
|
+
} else if (isRight(event)) {
|
|
532
|
+
this._modifyTimestampBy(1, "day");
|
|
533
|
+
} else if (isUp(event)) {
|
|
534
|
+
this._modifyTimestampBy(-7, "day");
|
|
535
|
+
} else if (isDown(event)) {
|
|
536
|
+
this._modifyTimestampBy(7, "day");
|
|
537
|
+
} else if (isPageUp(event)) {
|
|
538
|
+
this._modifyTimestampBy(-1, "month");
|
|
539
|
+
} else if (isPageDown(event)) {
|
|
540
|
+
this._modifyTimestampBy(1, "month");
|
|
541
|
+
} else if (isPageUpShift(event) || isPageUpAlt(event)) {
|
|
542
|
+
this._modifyTimestampBy(-1, "year");
|
|
543
|
+
} else if (isPageDownShift(event) || isPageDownAlt(event)) {
|
|
544
|
+
this._modifyTimestampBy(1, "year");
|
|
545
|
+
} else if (isPageUpShiftCtrl(event)) {
|
|
546
|
+
this._modifyTimestampBy(-10, "year");
|
|
547
|
+
} else if (isPageDownShiftCtrl(event)) {
|
|
548
|
+
this._modifyTimestampBy(10, "year");
|
|
549
|
+
} else if (isHome(event) || isEnd(event)) {
|
|
550
|
+
this._onHomeOrEnd(isHome(event));
|
|
551
|
+
} else if (isHomeCtrl(event)) {
|
|
552
|
+
const tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);
|
|
553
|
+
tempDate.setDate(1); // Set the first day of the month
|
|
554
|
+
this._setTimestamp(tempDate.valueOf() / 1000);
|
|
555
|
+
} else if (isEndCtrl(event)) {
|
|
556
|
+
const tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);
|
|
557
|
+
tempDate.setMonth(tempDate.getMonth() + 1);
|
|
558
|
+
tempDate.setDate(0); // Set the last day of the month (0th day of next month)
|
|
559
|
+
this._setTimestamp(tempDate.valueOf() / 1000);
|
|
560
|
+
} else {
|
|
561
|
+
preventDefault = false;
|
|
562
|
+
}
|
|
468
563
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
return false;
|
|
564
|
+
if (preventDefault) {
|
|
565
|
+
event.preventDefault();
|
|
472
566
|
}
|
|
567
|
+
}
|
|
473
568
|
|
|
474
|
-
|
|
475
|
-
if
|
|
476
|
-
|
|
569
|
+
_onkeyup(event) {
|
|
570
|
+
// Even if Space+Shift was pressed, ignore the shift unless in Multiple selection
|
|
571
|
+
if (isSpace(event) || (isSpaceShift(event) && this.selectionMode !== CalendarSelectionMode.Multiple)) {
|
|
572
|
+
this._selectDate(event, false);
|
|
573
|
+
} else if (isSpaceShift(event)) {
|
|
574
|
+
this._selectWeek(event);
|
|
477
575
|
}
|
|
576
|
+
}
|
|
478
577
|
|
|
479
|
-
|
|
578
|
+
/**
|
|
579
|
+
* Click is the same as Enter: Click+Shift has the same effect as Enter+Shift
|
|
580
|
+
* @param event
|
|
581
|
+
* @private
|
|
582
|
+
*/
|
|
583
|
+
_onclick(event) {
|
|
584
|
+
this._selectDate(event, event.shiftKey);
|
|
480
585
|
}
|
|
481
586
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
587
|
+
/**
|
|
588
|
+
* One Home or End, move the focus to the first or last item in the row
|
|
589
|
+
* @param homePressed
|
|
590
|
+
* @private
|
|
591
|
+
*/
|
|
592
|
+
_onHomeOrEnd(homePressed) {
|
|
593
|
+
this._weeks.forEach(week => {
|
|
594
|
+
const dayInThisWeek = week.findIndex(item => {
|
|
595
|
+
const date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);
|
|
596
|
+
return date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();
|
|
597
|
+
}) !== -1;
|
|
598
|
+
if (dayInThisWeek) { // The current day is in this week
|
|
599
|
+
const index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week
|
|
600
|
+
this._setTimestamp(parseInt(week[index].timestamp));
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
}
|
|
485
604
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
605
|
+
/**
|
|
606
|
+
* Called from Calendar.js
|
|
607
|
+
* @protected
|
|
608
|
+
*/
|
|
609
|
+
_hasPreviousPage() {
|
|
610
|
+
return !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());
|
|
611
|
+
}
|
|
490
612
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
613
|
+
/**
|
|
614
|
+
* Called from Calendar.js
|
|
615
|
+
* @protected
|
|
616
|
+
*/
|
|
617
|
+
_hasNextPage() {
|
|
618
|
+
return !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());
|
|
619
|
+
}
|
|
494
620
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
621
|
+
/**
|
|
622
|
+
* Called from Calendar.js
|
|
623
|
+
* Same as PageUp
|
|
624
|
+
* @protected
|
|
625
|
+
*/
|
|
626
|
+
_showPreviousPage() {
|
|
627
|
+
this._modifyTimestampBy(-1, "month");
|
|
628
|
+
}
|
|
498
629
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
630
|
+
/**
|
|
631
|
+
* Called from Calendar.js
|
|
632
|
+
* Same as PageDown
|
|
633
|
+
* @protected
|
|
634
|
+
*/
|
|
635
|
+
_showNextPage() {
|
|
636
|
+
this._modifyTimestampBy(1, "month");
|
|
637
|
+
}
|
|
503
638
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
639
|
+
/**
|
|
640
|
+
* Modifies the timestamp by a certain amount of days/months/years
|
|
641
|
+
* @param amount
|
|
642
|
+
* @param unit
|
|
643
|
+
* @private
|
|
644
|
+
*/
|
|
645
|
+
_modifyTimestampBy(amount, unit) {
|
|
646
|
+
// Modify the current timestamp
|
|
647
|
+
this._safelyModifyTimestampBy(amount, unit);
|
|
648
|
+
this._updateSecondTimestamp();
|
|
508
649
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
_handleItemNavigationBorderReach(event) {
|
|
513
|
-
const currentMonth = this._month,
|
|
514
|
-
currentYear = this._year;
|
|
515
|
-
let newMonth,
|
|
516
|
-
newYear,
|
|
517
|
-
newDate,
|
|
518
|
-
currentDate;
|
|
519
|
-
|
|
520
|
-
if (event.end) {
|
|
521
|
-
currentDate = new Date(this._weeks[this._weeks.length - 1][event.offset].timestamp * 1000);
|
|
522
|
-
newMonth = currentMonth < 11 ? currentMonth + 1 : 0;
|
|
523
|
-
newYear = currentMonth < 11 ? currentYear : currentYear + 1;
|
|
524
|
-
newDate = currentDate.getMonth() === newMonth ? currentDate.getDate() : currentDate.getDate() + 7;
|
|
525
|
-
} else if (event.start) {
|
|
526
|
-
currentDate = new Date(this._weeks[0][event.offset].timestamp * 1000);
|
|
527
|
-
newMonth = currentMonth > 0 ? currentMonth - 1 : 11;
|
|
528
|
-
newYear = currentMonth > 0 ? currentYear : currentYear - 1;
|
|
529
|
-
newDate = currentDate.getMonth() === newMonth ? currentDate.getDate() : currentDate.getDate() - 7;
|
|
530
|
-
}
|
|
650
|
+
// Notify the calendar to update its timestamp
|
|
651
|
+
this.fireEvent("navigate", { timestamp: this.timestamp });
|
|
652
|
+
}
|
|
531
653
|
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
654
|
+
/**
|
|
655
|
+
* Sets the timestamp to an absolute value
|
|
656
|
+
* @param value
|
|
657
|
+
* @private
|
|
658
|
+
*/
|
|
659
|
+
_setTimestamp(value) {
|
|
660
|
+
this._safelySetTimestamp(value);
|
|
661
|
+
this._updateSecondTimestamp();
|
|
662
|
+
this.fireEvent("navigate", { timestamp: this.timestamp });
|
|
663
|
+
}
|
|
536
664
|
|
|
537
|
-
|
|
538
|
-
|
|
665
|
+
/**
|
|
666
|
+
* During range selection, when the user is navigating with the keyboard, the currently focused day is considered the "second day"
|
|
667
|
+
* @private
|
|
668
|
+
*/
|
|
669
|
+
_updateSecondTimestamp() {
|
|
670
|
+
if (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {
|
|
671
|
+
this._secondTimestamp = this.timestamp;
|
|
539
672
|
}
|
|
673
|
+
}
|
|
540
674
|
|
|
541
|
-
|
|
542
|
-
|
|
675
|
+
get shouldHideWeekNumbers() {
|
|
676
|
+
if (this._primaryCalendarType !== CalendarType.Gregorian) {
|
|
677
|
+
return true;
|
|
543
678
|
}
|
|
544
679
|
|
|
545
|
-
this.
|
|
680
|
+
return this.hideWeekNumbers;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
get hasSecondaryCalendarType() {
|
|
684
|
+
return !!this.secondaryCalendarType;
|
|
546
685
|
}
|
|
547
686
|
|
|
548
687
|
_isWeekend(oDate) {
|
|
688
|
+
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
689
|
+
|
|
549
690
|
const iWeekDay = oDate.getDay(),
|
|
550
|
-
iWeekendStart =
|
|
551
|
-
iWeekendEnd =
|
|
691
|
+
iWeekendStart = localeData.getWeekendStart(),
|
|
692
|
+
iWeekendEnd = localeData.getWeekendEnd();
|
|
552
693
|
|
|
553
694
|
return (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)
|
|
554
695
|
|| (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));
|
|
@@ -556,107 +697,44 @@ class DayPicker extends UI5Element {
|
|
|
556
697
|
|
|
557
698
|
_isDayPressed(target) {
|
|
558
699
|
const targetParent = target.parentNode;
|
|
559
|
-
return (target.className.indexOf("ui5-dp-item") > -1) || (targetParent &&
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
_isOutOfSelectableRange(date) {
|
|
563
|
-
const currentDate = date._oUDate ? date.toLocalJSDate() : CalendarDate.fromTimestamp(date).toLocalJSDate();
|
|
564
|
-
|
|
565
|
-
return currentDate > this._maxDateObject || currentDate < this._minDateObject;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
get _maxDate() {
|
|
569
|
-
if (this.maxDate) {
|
|
570
|
-
const jsDate = new Date(this.getFormat().parse(this.maxDate).getFullYear(), this.getFormat().parse(this.maxDate).getMonth(), this.getFormat().parse(this.maxDate).getDate());
|
|
571
|
-
const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
|
|
572
|
-
return oCalDate.valueOf();
|
|
573
|
-
}
|
|
574
|
-
return this.maxDate;
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
get _minDate() {
|
|
578
|
-
if (this.minDate) {
|
|
579
|
-
const jsDate = new Date(this.getFormat().parse(this.minDate).getFullYear(), this.getFormat().parse(this.minDate).getMonth(), this.getFormat().parse(this.minDate).getDate());
|
|
580
|
-
const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
|
|
581
|
-
return oCalDate.valueOf();
|
|
582
|
-
}
|
|
583
|
-
return this.minDate;
|
|
700
|
+
return (target.className.indexOf("ui5-dp-item") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains("ui5-dp-item"));
|
|
584
701
|
}
|
|
585
702
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
this._oDateFormat = DateFormat.getInstance({
|
|
589
|
-
pattern: this._formatPattern,
|
|
590
|
-
calendarType: this._primaryCalendarType,
|
|
591
|
-
});
|
|
592
|
-
} else {
|
|
593
|
-
this._oDateFormat = DateFormat.getInstance({
|
|
594
|
-
style: this._formatPattern,
|
|
595
|
-
calendarType: this._primaryCalendarType,
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
return this._oDateFormat;
|
|
703
|
+
_getSecondaryDay(tempDate) {
|
|
704
|
+
return new CalendarDate(tempDate, this.secondaryCalendarType);
|
|
599
705
|
}
|
|
600
706
|
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
_getVisibleDays(oStartDate, bIncludeBCDates) {
|
|
606
|
-
let oCalDate,
|
|
607
|
-
iDaysOldMonth,
|
|
608
|
-
iYear;
|
|
609
|
-
|
|
610
|
-
const _aVisibleDays = [];
|
|
707
|
+
_getFirstDay() {
|
|
708
|
+
let daysFromPreviousMonth;
|
|
611
709
|
|
|
612
|
-
|
|
613
|
-
if (!oStartDate) {
|
|
614
|
-
return _aVisibleDays;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
const iFirstDayOfWeek = this._getFirstDayOfWeek();
|
|
710
|
+
const firstDayOfWeek = this._getFirstDayOfWeek();
|
|
618
711
|
|
|
619
712
|
// determine weekday of first day in month
|
|
620
|
-
const
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
if (
|
|
624
|
-
|
|
713
|
+
const firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);
|
|
714
|
+
firstDay.setDate(1);
|
|
715
|
+
daysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;
|
|
716
|
+
if (daysFromPreviousMonth < 0) {
|
|
717
|
+
daysFromPreviousMonth = 7 + daysFromPreviousMonth;
|
|
625
718
|
}
|
|
626
719
|
|
|
627
|
-
if (
|
|
628
|
-
|
|
629
|
-
oFirstDay.setDate(1 - iDaysOldMonth);
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
const oDay = new CalendarDate(oFirstDay);
|
|
633
|
-
for (let i = 0; i < 42; i++) {
|
|
634
|
-
iYear = oDay.getYear();
|
|
635
|
-
oCalDate = new CalendarDate(oDay, this._primaryCalendarType);
|
|
636
|
-
if (bIncludeBCDates && iYear < DEFAULT_MIN_YEAR) {
|
|
637
|
-
// For dates before 0001-01-01 we should render only empty squares to keep
|
|
638
|
-
// the month square matrix correct.
|
|
639
|
-
oCalDate._bBeforeFirstYear = true;
|
|
640
|
-
_aVisibleDays.push(oCalDate);
|
|
641
|
-
} else if (iYear >= DEFAULT_MIN_YEAR && iYear <= DEFAULT_MAX_YEAR) {
|
|
642
|
-
// Days before 0001-01-01 or after 9999-12-31 should not be rendered.
|
|
643
|
-
_aVisibleDays.push(oCalDate);
|
|
644
|
-
}
|
|
645
|
-
oDay.setDate(oDay.getDate() + 1);
|
|
720
|
+
if (daysFromPreviousMonth > 0) {
|
|
721
|
+
firstDay.setDate(1 - daysFromPreviousMonth);
|
|
646
722
|
}
|
|
647
723
|
|
|
648
|
-
return
|
|
724
|
+
return firstDay;
|
|
649
725
|
}
|
|
650
726
|
|
|
651
727
|
_getFirstDayOfWeek() {
|
|
728
|
+
const localeData = getCachedLocaleDataInstance(getLocale());
|
|
652
729
|
const confFirstDayOfWeek = getFirstDayOfWeek();
|
|
653
|
-
return Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek :
|
|
730
|
+
return Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek : localeData.getFirstDayOfWeek();
|
|
654
731
|
}
|
|
655
732
|
|
|
656
733
|
get styles() {
|
|
657
734
|
return {
|
|
658
735
|
wrapper: {
|
|
659
736
|
display: this._hidden ? "none" : "flex",
|
|
737
|
+
"justify-content": "center",
|
|
660
738
|
},
|
|
661
739
|
main: {
|
|
662
740
|
width: "100%",
|
|
@@ -664,10 +742,10 @@ class DayPicker extends UI5Element {
|
|
|
664
742
|
};
|
|
665
743
|
}
|
|
666
744
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
745
|
+
get ariaRoledescription() {
|
|
746
|
+
return this.hasSecondaryCalendarType
|
|
747
|
+
? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType} calendar`
|
|
748
|
+
: `${this._primaryCalendarType} calendar`;
|
|
671
749
|
}
|
|
672
750
|
}
|
|
673
751
|
|