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