@ui5/webcomponents 2.11.0-rc.3 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/Avatar.js.map +1 -1
- package/dist/Calendar.d.ts +31 -8
- package/dist/Calendar.js +100 -26
- package/dist/Calendar.js.map +1 -1
- package/dist/CalendarHeaderTemplate.js +1 -1
- package/dist/CalendarHeaderTemplate.js.map +1 -1
- package/dist/CalendarTemplate.js +3 -1
- package/dist/CalendarTemplate.js.map +1 -1
- package/dist/ComboBox.d.ts +1 -0
- package/dist/ComboBox.js +4 -1
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxPopoverTemplate.js +1 -1
- package/dist/ComboBoxPopoverTemplate.js.map +1 -1
- package/dist/DynamicDateRange.d.ts +133 -0
- package/dist/DynamicDateRange.js +291 -0
- package/dist/DynamicDateRange.js.map +1 -0
- package/dist/DynamicDateRangeInputTemplate.d.ts +2 -0
- package/dist/DynamicDateRangeInputTemplate.js +13 -0
- package/dist/DynamicDateRangeInputTemplate.js.map +1 -0
- package/dist/DynamicDateRangePopoverTemplate.d.ts +2 -0
- package/dist/DynamicDateRangePopoverTemplate.js +18 -0
- package/dist/DynamicDateRangePopoverTemplate.js.map +1 -0
- package/dist/DynamicDateRangeTemplate.d.ts +2 -0
- package/dist/DynamicDateRangeTemplate.js +9 -0
- package/dist/DynamicDateRangeTemplate.js.map +1 -0
- package/dist/Icon.js +2 -2
- package/dist/Icon.js.map +1 -1
- package/dist/Input.d.ts +1 -0
- package/dist/Input.js +4 -1
- package/dist/Input.js.map +1 -1
- package/dist/Table.d.ts +0 -6
- package/dist/Table.js +0 -6
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.d.ts +0 -1
- package/dist/TableCell.js +0 -1
- package/dist/TableCell.js.map +1 -1
- package/dist/TableGrowing.d.ts +0 -1
- package/dist/TableGrowing.js +0 -1
- package/dist/TableGrowing.js.map +1 -1
- package/dist/TableHeaderCell.d.ts +0 -1
- package/dist/TableHeaderCell.js +0 -1
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableHeaderCellActionAI.d.ts +0 -1
- package/dist/TableHeaderCellActionAI.js +0 -1
- package/dist/TableHeaderCellActionAI.js.map +1 -1
- package/dist/TableHeaderRow.d.ts +0 -1
- package/dist/TableHeaderRow.js +0 -1
- package/dist/TableHeaderRow.js.map +1 -1
- package/dist/TableRow.d.ts +0 -1
- package/dist/TableRow.js +0 -1
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowAction.d.ts +0 -1
- package/dist/TableRowAction.js +0 -1
- package/dist/TableRowAction.js.map +1 -1
- package/dist/TableRowActionNavigation.d.ts +0 -1
- package/dist/TableRowActionNavigation.js +0 -1
- package/dist/TableRowActionNavigation.js.map +1 -1
- package/dist/TableSelection.d.ts +1 -1
- package/dist/TableSelection.js +1 -1
- package/dist/TableSelection.js.map +1 -1
- package/dist/Tokenizer.d.ts +2 -0
- package/dist/Tokenizer.js +7 -1
- package/dist/Tokenizer.js.map +1 -1
- package/dist/TokenizerPopoverTemplate.js +1 -1
- package/dist/TokenizerPopoverTemplate.js.map +1 -1
- package/dist/Toolbar.d.ts +3 -22
- package/dist/Toolbar.js +10 -43
- package/dist/Toolbar.js.map +1 -1
- package/dist/ToolbarButton.d.ts +10 -11
- package/dist/ToolbarButton.js +14 -23
- package/dist/ToolbarButton.js.map +1 -1
- package/dist/ToolbarButtonTemplate.js +2 -3
- package/dist/ToolbarButtonTemplate.js.map +1 -1
- package/dist/ToolbarItem.d.ts +13 -17
- package/dist/ToolbarItem.js +18 -22
- package/dist/ToolbarItem.js.map +1 -1
- package/dist/ToolbarSelect.d.ts +0 -4
- package/dist/ToolbarSelect.js +5 -9
- package/dist/ToolbarSelect.js.map +1 -1
- package/dist/ToolbarSelectTemplate.js +1 -1
- package/dist/ToolbarSelectTemplate.js.map +1 -1
- package/dist/ToolbarSeparator.d.ts +0 -4
- package/dist/ToolbarSeparator.js +6 -9
- package/dist/ToolbarSeparator.js.map +1 -1
- package/dist/ToolbarSpacer.d.ts +0 -3
- package/dist/ToolbarSpacer.js +2 -9
- package/dist/ToolbarSpacer.js.map +1 -1
- package/dist/ToolbarTemplate.js +15 -3
- package/dist/ToolbarTemplate.js.map +1 -1
- package/dist/YearPicker.d.ts +2 -3
- package/dist/YearPicker.js +7 -33
- package/dist/YearPicker.js.map +1 -1
- package/dist/YearRangePicker.d.ts +144 -0
- package/dist/YearRangePicker.js +418 -0
- package/dist/YearRangePicker.js.map +1 -0
- package/dist/YearRangePickerTemplate.d.ts +2 -0
- package/dist/YearRangePickerTemplate.js +6 -0
- package/dist/YearRangePickerTemplate.js.map +1 -0
- package/dist/bundle.esm.js +6 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Avatar.css +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/Bar.css +1 -1
- package/dist/css/themes/Breadcrumbs.css +1 -1
- package/dist/css/themes/BusyIndicator.css +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/ButtonBadge.css +1 -1
- package/dist/css/themes/Calendar.css +1 -1
- package/dist/css/themes/CalendarHeader.css +1 -1
- package/dist/css/themes/CalendarLegend.css +1 -1
- package/dist/css/themes/CalendarLegendItem.css +1 -1
- package/dist/css/themes/Card.css +1 -1
- package/dist/css/themes/CardHeader.css +1 -1
- package/dist/css/themes/Carousel.css +1 -1
- package/dist/css/themes/CheckBox.css +1 -1
- package/dist/css/themes/ColorPalette.css +1 -1
- package/dist/css/themes/ColorPaletteItem.css +1 -1
- package/dist/css/themes/ColorPalettePopover.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/ComboBox.css +1 -1
- package/dist/css/themes/ComboBoxItem.css +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePickerPopover.css +1 -1
- package/dist/css/themes/DayPicker.css +1 -1
- package/dist/css/themes/Dialog.css +1 -1
- package/dist/css/themes/DynamicDateRange.css +1 -0
- package/dist/css/themes/DynamicDateRangePopover.css +1 -0
- package/dist/css/themes/FileUploader.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItem.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/GrowingButton.css +1 -1
- package/dist/css/themes/Icon.css +1 -1
- package/dist/css/themes/Input.css +1 -1
- package/dist/css/themes/InputIcon.css +1 -1
- package/dist/css/themes/InputSharedStyles.css +1 -1
- package/dist/css/themes/Link.css +1 -1
- package/dist/css/themes/List.css +1 -1
- package/dist/css/themes/ListItem.css +1 -1
- package/dist/css/themes/ListItemBase.css +1 -1
- package/dist/css/themes/ListItemCustom.css +1 -1
- package/dist/css/themes/ListItemGroup.css +1 -1
- package/dist/css/themes/ListItemGroupHeader.css +1 -1
- package/dist/css/themes/ListItemIcon.css +1 -1
- package/dist/css/themes/Menu.css +1 -1
- package/dist/css/themes/MenuItem.css +1 -1
- package/dist/css/themes/MessageStrip.css +1 -1
- package/dist/css/themes/MonthPicker.css +1 -1
- package/dist/css/themes/MultiComboBox.css +1 -1
- package/dist/css/themes/MultiComboBoxItem.css +1 -1
- package/dist/css/themes/MultiComboBoxPopover.css +1 -1
- package/dist/css/themes/MultiInput.css +1 -1
- package/dist/css/themes/OptionBase.css +1 -1
- package/dist/css/themes/Panel.css +1 -1
- package/dist/css/themes/Popover.css +1 -1
- package/dist/css/themes/PopupsCommon.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/RadioButton.css +1 -1
- package/dist/css/themes/RangeSlider.css +1 -1
- package/dist/css/themes/RatingIndicator.css +1 -1
- package/dist/css/themes/ResponsivePopover.css +1 -1
- package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
- package/dist/css/themes/SegmentedButton.css +1 -1
- package/dist/css/themes/SegmentedButtonItem.css +1 -1
- package/dist/css/themes/Select.css +1 -1
- package/dist/css/themes/SliderBase.css +1 -1
- package/dist/css/themes/SplitButton.css +1 -1
- package/dist/css/themes/StepInput.css +1 -1
- package/dist/css/themes/SuggestionItem.css +1 -1
- package/dist/css/themes/SuggestionItemCustom.css +1 -1
- package/dist/css/themes/Switch.css +1 -1
- package/dist/css/themes/TabContainer.css +1 -1
- package/dist/css/themes/TabInOverflow.css +1 -1
- package/dist/css/themes/TabInStrip.css +1 -1
- package/dist/css/themes/TabSemanticIcon.css +1 -1
- package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableHeaderRow.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/TableRowActionBase.css +1 -1
- package/dist/css/themes/TableRowBase.css +1 -1
- package/dist/css/themes/Tag.css +1 -1
- package/dist/css/themes/Text.css +1 -1
- package/dist/css/themes/TextArea.css +1 -1
- package/dist/css/themes/TimePicker.css +1 -1
- package/dist/css/themes/Toast.css +1 -1
- package/dist/css/themes/ToggleButton.css +1 -1
- package/dist/css/themes/Token.css +1 -1
- package/dist/css/themes/Tokenizer.css +1 -1
- package/dist/css/themes/TokenizerPopover.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/css/themes/ToolbarPopover.css +1 -1
- package/dist/css/themes/ToolbarSelect.css +1 -1
- package/dist/css/themes/ToolbarSeparator.css +1 -0
- package/dist/css/themes/TreeItem.css +1 -1
- package/dist/css/themes/ValueStateMessage.css +1 -1
- package/dist/css/themes/YearPicker.css +1 -1
- package/dist/css/themes/YearRangePicker.css +1 -0
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +284 -16
- package/dist/custom-elements.json +251 -7
- package/dist/dynamic-date-range-options/DateRange.d.ts +23 -0
- package/dist/dynamic-date-range-options/DateRange.js +71 -0
- package/dist/dynamic-date-range-options/DateRange.js.map +1 -0
- package/dist/dynamic-date-range-options/DateRangeTemplate.d.ts +2 -0
- package/dist/dynamic-date-range-options/DateRangeTemplate.js +11 -0
- package/dist/dynamic-date-range-options/DateRangeTemplate.js.map +1 -0
- package/dist/dynamic-date-range-options/SingleDate.d.ts +23 -0
- package/dist/dynamic-date-range-options/SingleDate.js +67 -0
- package/dist/dynamic-date-range-options/SingleDate.js.map +1 -0
- package/dist/dynamic-date-range-options/SingleDateTemplate.d.ts +2 -0
- package/dist/dynamic-date-range-options/SingleDateTemplate.js +7 -0
- package/dist/dynamic-date-range-options/SingleDateTemplate.js.map +1 -0
- package/dist/dynamic-date-range-options/Today.d.ts +17 -0
- package/dist/dynamic-date-range-options/Today.js +37 -0
- package/dist/dynamic-date-range-options/Today.js.map +1 -0
- package/dist/dynamic-date-range-options/Tomorrow.d.ts +17 -0
- package/dist/dynamic-date-range-options/Tomorrow.js +37 -0
- package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -0
- package/dist/dynamic-date-range-options/Yesterday.d.ts +17 -0
- package/dist/dynamic-date-range-options/Yesterday.js +37 -0
- package/dist/dynamic-date-range-options/Yesterday.js.map +1 -0
- package/dist/dynamic-date-range-options/toDates.d.ts +7 -0
- package/dist/dynamic-date-range-options/toDates.js +41 -0
- package/dist/dynamic-date-range-options/toDates.js.map +1 -0
- package/dist/features/InputSuggestionsTemplate.js +1 -1
- package/dist/features/InputSuggestionsTemplate.js.map +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +14 -1
- package/dist/generated/i18n/i18n-defaults.js +14 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Avatar.css.d.ts +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/Avatar.css.js.map +1 -1
- package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/Bar.css.d.ts +1 -1
- package/dist/generated/themes/Bar.css.js +1 -1
- package/dist/generated/themes/Bar.css.js.map +1 -1
- package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
- package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
- package/dist/generated/themes/ButtonBadge.css.js +1 -1
- package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
- package/dist/generated/themes/Calendar.css.d.ts +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js.map +1 -1
- package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegend.css.js +1 -1
- package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
- package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
- package/dist/generated/themes/Card.css.d.ts +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/Card.css.js.map +1 -1
- package/dist/generated/themes/CardHeader.css.d.ts +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js.map +1 -1
- package/dist/generated/themes/Carousel.css.d.ts +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js.map +1 -1
- package/dist/generated/themes/CheckBox.css.d.ts +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js.map +1 -1
- package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js.map +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/ComboBox.css.d.ts +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js.map +1 -1
- package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js +1 -1
- package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/DatePicker.css.d.ts +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js.map +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
- package/dist/generated/themes/DayPicker.css.d.ts +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js.map +1 -1
- package/dist/generated/themes/Dialog.css.d.ts +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js.map +1 -1
- package/dist/generated/themes/DynamicDateRange.css.d.ts +2 -0
- package/dist/generated/themes/DynamicDateRange.css.js +8 -0
- package/dist/generated/themes/DynamicDateRange.css.js.map +1 -0
- package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +2 -0
- package/dist/generated/themes/DynamicDateRangePopover.css.js +8 -0
- package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -0
- package/dist/generated/themes/FileUploader.css.d.ts +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js.map +1 -1
- package/dist/generated/themes/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItem.css.d.ts +1 -1
- package/dist/generated/themes/FormItem.css.js +1 -1
- package/dist/generated/themes/FormItem.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js.map +1 -1
- package/dist/generated/themes/Icon.css.d.ts +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Icon.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/Input.css.js.map +1 -1
- package/dist/generated/themes/InputIcon.css.d.ts +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js.map +1 -1
- package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js +1 -1
- package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
- package/dist/generated/themes/Link.css.d.ts +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/Link.css.js.map +1 -1
- package/dist/generated/themes/List.css.d.ts +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/List.css.js.map +1 -1
- package/dist/generated/themes/ListItem.css.d.ts +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js.map +1 -1
- package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js.map +1 -1
- package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/ListItemCustom.css.js +1 -1
- package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroup.css.js +1 -1
- package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
- package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
- package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
- package/dist/generated/themes/ListItemIcon.css.js +1 -1
- package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
- package/dist/generated/themes/Menu.css.d.ts +1 -1
- package/dist/generated/themes/Menu.css.js +1 -1
- package/dist/generated/themes/Menu.css.js.map +1 -1
- package/dist/generated/themes/MenuItem.css.d.ts +1 -1
- package/dist/generated/themes/MenuItem.css.js +1 -1
- package/dist/generated/themes/MenuItem.css.js.map +1 -1
- package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js.map +1 -1
- package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
- package/dist/generated/themes/MultiInput.css.d.ts +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js.map +1 -1
- package/dist/generated/themes/OptionBase.css.d.ts +1 -1
- package/dist/generated/themes/OptionBase.css.js +1 -1
- package/dist/generated/themes/OptionBase.css.js.map +1 -1
- package/dist/generated/themes/Panel.css.d.ts +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Panel.css.js.map +1 -1
- package/dist/generated/themes/Popover.css.d.ts +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popover.css.js.map +1 -1
- package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/RadioButton.css.d.ts +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js.map +1 -1
- package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
- package/dist/generated/themes/RangeSlider.css.js +1 -1
- package/dist/generated/themes/RangeSlider.css.js.map +1 -1
- package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
- package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
- package/dist/generated/themes/Select.css.d.ts +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/Select.css.js.map +1 -1
- package/dist/generated/themes/SliderBase.css.d.ts +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js.map +1 -1
- package/dist/generated/themes/SplitButton.css.d.ts +1 -1
- package/dist/generated/themes/SplitButton.css.js +1 -1
- package/dist/generated/themes/SplitButton.css.js.map +1 -1
- package/dist/generated/themes/StepInput.css.d.ts +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItem.css.js +1 -1
- package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
- package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
- package/dist/generated/themes/Switch.css.d.ts +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Switch.css.js.map +1 -1
- package/dist/generated/themes/TabContainer.css.d.ts +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js.map +1 -1
- package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js.map +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
- package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
- package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
- package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
- package/dist/generated/themes/TableCellBase.css.js +1 -1
- package/dist/generated/themes/TableCellBase.css.js.map +1 -1
- package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js +1 -1
- package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
- package/dist/generated/themes/TableRow.css.d.ts +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js.map +1 -1
- package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js +1 -1
- package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
- package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
- package/dist/generated/themes/TableRowBase.css.js +1 -1
- package/dist/generated/themes/TableRowBase.css.js.map +1 -1
- package/dist/generated/themes/Tag.css.d.ts +1 -1
- package/dist/generated/themes/Tag.css.js +1 -1
- package/dist/generated/themes/Tag.css.js.map +1 -1
- package/dist/generated/themes/Text.css.d.ts +1 -1
- package/dist/generated/themes/Text.css.js +1 -1
- package/dist/generated/themes/Text.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js.map +1 -1
- package/dist/generated/themes/TimePicker.css.d.ts +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js.map +1 -1
- package/dist/generated/themes/Toast.css.d.ts +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/Toast.css.js.map +1 -1
- package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js.map +1 -1
- package/dist/generated/themes/Token.css.d.ts +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Token.css.js.map +1 -1
- package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js.map +1 -1
- package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js +1 -1
- package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
- package/dist/generated/themes/Toolbar.css.d.ts +1 -1
- package/dist/generated/themes/Toolbar.css.js +1 -1
- package/dist/generated/themes/Toolbar.css.js.map +1 -1
- package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js +1 -1
- package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
- package/dist/generated/themes/ToolbarSelect.css.d.ts +1 -1
- package/dist/generated/themes/ToolbarSelect.css.js +1 -1
- package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
- package/dist/generated/themes/ToolbarSeparator.css.d.ts +2 -0
- package/dist/generated/themes/ToolbarSeparator.css.js +8 -0
- package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -0
- package/dist/generated/themes/TreeItem.css.d.ts +1 -1
- package/dist/generated/themes/TreeItem.css.js +1 -1
- package/dist/generated/themes/TreeItem.css.js.map +1 -1
- package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
- package/dist/generated/themes/YearPicker.css.d.ts +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js.map +1 -1
- package/dist/generated/themes/YearRangePicker.css.d.ts +2 -0
- package/dist/generated/themes/YearRangePicker.css.js +8 -0
- package/dist/generated/themes/YearRangePicker.css.js.map +1 -0
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/popup-utils/PopoverRegistry.js +14 -2
- package/dist/popup-utils/PopoverRegistry.js.map +1 -1
- package/dist/vscode.html-custom-data.json +20 -3
- package/dist/web-types.json +87 -9
- package/package.json +9 -9
- package/src/CalendarHeaderTemplate.tsx +6 -3
- package/src/CalendarTemplate.tsx +21 -0
- package/src/ComboBoxPopoverTemplate.tsx +1 -1
- package/src/DynamicDateRangeInputTemplate.tsx +38 -0
- package/src/DynamicDateRangePopoverTemplate.tsx +75 -0
- package/src/DynamicDateRangeTemplate.tsx +11 -0
- package/src/TokenizerPopoverTemplate.tsx +2 -2
- package/src/ToolbarButtonTemplate.tsx +2 -3
- package/src/ToolbarSelectTemplate.tsx +1 -1
- package/src/ToolbarTemplate.tsx +43 -6
- package/src/YearRangePickerTemplate.tsx +42 -0
- package/src/dynamic-date-range-options/DateRangeTemplate.tsx +22 -0
- package/src/dynamic-date-range-options/SingleDateTemplate.tsx +13 -0
- package/src/features/InputSuggestionsTemplate.tsx +1 -1
- package/src/i18n/messagebundle.properties +40 -1
- package/src/i18n/messagebundle_it.properties +4 -4
- package/src/themes/AvatarGroup.css +1 -0
- package/src/themes/CalendarHeader.css +0 -10
- package/src/themes/DatePicker.css +0 -1
- package/src/themes/DynamicDateRange.css +7 -0
- package/src/themes/DynamicDateRangePopover.css +89 -0
- package/src/themes/Toolbar.css +0 -7
- package/src/themes/ToolbarPopover.css +5 -0
- package/src/themes/ToolbarSelect.css +3 -3
- package/src/themes/ToolbarSeparator.css +6 -0
- package/src/themes/YearRangePicker.css +118 -0
- package/src/themes/base/AvatarGroup-parameters.css +1 -0
- package/src/themes/base/DynamicDateRange-parameters.css +3 -0
- package/src/themes/sap_horizon/parameters-bundle.css +1 -0
- package/dist/ToolbarPopoverButtonTemplate.d.ts +0 -2
- package/dist/ToolbarPopoverButtonTemplate.js +0 -6
- package/dist/ToolbarPopoverButtonTemplate.js.map +0 -1
- package/dist/ToolbarPopoverSelectTemplate.d.ts +0 -2
- package/dist/ToolbarPopoverSelectTemplate.js +0 -7
- package/dist/ToolbarPopoverSelectTemplate.js.map +0 -1
- package/dist/ToolbarPopoverSeparatorTemplate.d.ts +0 -2
- package/dist/ToolbarPopoverSeparatorTemplate.js +0 -5
- package/dist/ToolbarPopoverSeparatorTemplate.js.map +0 -1
- package/dist/ToolbarPopoverTemplate.d.ts +0 -2
- package/dist/ToolbarPopoverTemplate.js +0 -9
- package/dist/ToolbarPopoverTemplate.js.map +0 -1
- package/dist/ToolbarRegistry.d.ts +0 -5
- package/dist/ToolbarRegistry.js +0 -16
- package/dist/ToolbarRegistry.js.map +0 -1
- package/dist/ToolbarSpacerTemplate.d.ts +0 -2
- package/dist/ToolbarSpacerTemplate.js +0 -5
- package/dist/ToolbarSpacerTemplate.js.map +0 -1
- package/src/ToolbarPopoverButtonTemplate.tsx +0 -24
- package/src/ToolbarPopoverSelectTemplate.tsx +0 -29
- package/src/ToolbarPopoverSeparatorTemplate.tsx +0 -10
- package/src/ToolbarPopoverTemplate.tsx +0 -25
- package/src/ToolbarSpacerTemplate.tsx +0 -12
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
2
|
+
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
3
|
+
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
|
+
import CalendarPart from "./CalendarPart.js";
|
|
5
|
+
import type { ICalendarPicker, CalendarYearRangeT } from "./Calendar.js";
|
|
6
|
+
type YearRange = {
|
|
7
|
+
timestamp: string;
|
|
8
|
+
_tabIndex: number;
|
|
9
|
+
focusRef: boolean;
|
|
10
|
+
selected: boolean;
|
|
11
|
+
ariaSelected: boolean;
|
|
12
|
+
range: string;
|
|
13
|
+
rangeInSecType: string | undefined;
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
ariaDisabled: boolean | undefined;
|
|
16
|
+
classes: string;
|
|
17
|
+
parts: string;
|
|
18
|
+
};
|
|
19
|
+
type YearRanges = Array<Array<YearRange>>;
|
|
20
|
+
type YearRangePickerChangeEventDetail = {
|
|
21
|
+
timestamp: number;
|
|
22
|
+
};
|
|
23
|
+
type YearRangePickerNavigateEventDetail = {
|
|
24
|
+
timestamp: number;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @class
|
|
28
|
+
*
|
|
29
|
+
* Displays year ranges which help navigate through years faster.
|
|
30
|
+
* @constructor
|
|
31
|
+
* @extends CalendarPart
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
declare class YearRangePicker extends CalendarPart implements ICalendarPicker {
|
|
35
|
+
eventDetails: CalendarPart["eventDetails"] & {
|
|
36
|
+
"change": YearRangePickerChangeEventDetail;
|
|
37
|
+
"navigate": YearRangePickerNavigateEventDetail;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* An array of UTC timestamps representing the selected date
|
|
41
|
+
* or dates depending on the capabilities of the picker component.
|
|
42
|
+
* @default []
|
|
43
|
+
*/
|
|
44
|
+
selectedDates: Array<number>;
|
|
45
|
+
/**
|
|
46
|
+
* Defines if the YearRangePicker should visualize the selected dates as a range.
|
|
47
|
+
* @default false
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
_showRangeSelection: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* When _showRangeSelection is "true" and the first year in the range is selected, this is the currently hovered or focused year range.
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
_secondTimestamp?: number;
|
|
58
|
+
_yearRanges: YearRanges;
|
|
59
|
+
_hidden: boolean;
|
|
60
|
+
_currentYearRange?: CalendarYearRangeT;
|
|
61
|
+
_gridStartYear?: number;
|
|
62
|
+
static i18nBundle: I18nBundle;
|
|
63
|
+
get roleDescription(): string;
|
|
64
|
+
onBeforeRendering(): void;
|
|
65
|
+
_shouldShowOneColumn(): boolean;
|
|
66
|
+
_getPageSize(): 6 | 8;
|
|
67
|
+
_getRowSize(): 1 | 2;
|
|
68
|
+
_getInitialFocusedIndex(): number;
|
|
69
|
+
_getRangeSize(): 8 | 20;
|
|
70
|
+
_getYearRangeFormattedText(startDate: CalendarDate, endDate: CalendarDate, yearFormat: DateFormat): string;
|
|
71
|
+
_getGridStartYear(): number;
|
|
72
|
+
_getYearRanges(): YearRanges;
|
|
73
|
+
_getYearRange(timestamp: number, isFocused: boolean, isSelected: boolean, isSelectedBetween: boolean, yearRangeText: string, secYearRangeText: string | undefined, isDisabled: boolean): YearRange;
|
|
74
|
+
_isYearRangeSelected(startYear: number, endYear: number): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Returns true if the timestamp is inside the selection range.
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
_isInsideSelectionRange(timestamp: number): boolean;
|
|
80
|
+
onAfterRendering(): void;
|
|
81
|
+
_onkeydown(e: KeyboardEvent): void;
|
|
82
|
+
_onkeyup(e: KeyboardEvent): void;
|
|
83
|
+
_onHomeOrEnd(homePressed: boolean): void;
|
|
84
|
+
/**
|
|
85
|
+
* Set the hovered day as the "_secondTimestamp".
|
|
86
|
+
*
|
|
87
|
+
* @param e
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
_onmouseover(e: MouseEvent): void;
|
|
91
|
+
/**
|
|
92
|
+
* Sets the timestamp to an absolute value.
|
|
93
|
+
* @param value
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
_setTimestamp(value: number): void;
|
|
97
|
+
/**
|
|
98
|
+
* In range selection, the currently focused or hovered year range is considered the "second timestamp".
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
_updateSecondTimestamp(): void;
|
|
102
|
+
/**
|
|
103
|
+
* User selected range with the mouse or pressed Enter/Space.
|
|
104
|
+
* @param e
|
|
105
|
+
* @private
|
|
106
|
+
*/
|
|
107
|
+
_selectYearRange(e: Event): void;
|
|
108
|
+
/**
|
|
109
|
+
* Returns the centered timestamp for the year picker.
|
|
110
|
+
* @private
|
|
111
|
+
*/
|
|
112
|
+
_getYearPickerCenteredTimestamp(oldTimestamp: number): number;
|
|
113
|
+
/**
|
|
114
|
+
* Called by the Calendar component.
|
|
115
|
+
* @protected
|
|
116
|
+
*/
|
|
117
|
+
_hasPreviousPage(): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Called by the Calendar component.
|
|
120
|
+
* @protected
|
|
121
|
+
*/
|
|
122
|
+
_hasNextPage(): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Called by the Calendar component.
|
|
125
|
+
* **Note:** when the user presses the "<" button in the calendar header (same as "PageUp")
|
|
126
|
+
* @protected
|
|
127
|
+
*/
|
|
128
|
+
_showPreviousPage(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Called by the Calendar component.
|
|
131
|
+
* **Note:** when the user presses the ">" button in the calendar header (same as "PageDown")
|
|
132
|
+
* @protected
|
|
133
|
+
*/
|
|
134
|
+
_showNextPage(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.
|
|
137
|
+
* @param amount
|
|
138
|
+
* @private
|
|
139
|
+
*/
|
|
140
|
+
_modifyTimestampBy(amount: number): void;
|
|
141
|
+
_modifyGridStartBy(years: number): void;
|
|
142
|
+
}
|
|
143
|
+
export default YearRangePicker;
|
|
144
|
+
export type { YearRangePickerChangeEventDetail, YearRangePickerNavigateEventDetail, };
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var YearRangePicker_1;
|
|
8
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
|
+
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
11
|
+
import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
|
|
12
|
+
import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
|
|
13
|
+
import { isEnter, isSpace, isDown, isUp, isLeft, isRight, isHome, isEnd, isHomeCtrl, isEndCtrl, isPageUp, isPageDown, } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
14
|
+
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
|
15
|
+
import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
|
|
16
|
+
import { getMaxCalendarDate } from "@ui5/webcomponents-localization/dist/dates/ExtremeDates.js";
|
|
17
|
+
import CalendarPart from "./CalendarPart.js";
|
|
18
|
+
import { YEAR_RANGE_PICKER_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
|
|
19
|
+
// Template
|
|
20
|
+
import YearRangePickerTemplate from "./YearRangePickerTemplate.js";
|
|
21
|
+
// Styles
|
|
22
|
+
import yearRangePickerStyles from "./generated/themes/YearRangePicker.css.js";
|
|
23
|
+
const isBetweenInclusive = (x, num1, num2) => x >= Math.min(num1, num2) && x <= Math.max(num1, num2);
|
|
24
|
+
/**
|
|
25
|
+
* @class
|
|
26
|
+
*
|
|
27
|
+
* Displays year ranges which help navigate through years faster.
|
|
28
|
+
* @constructor
|
|
29
|
+
* @extends CalendarPart
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
let YearRangePicker = YearRangePicker_1 = class YearRangePicker extends CalendarPart {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
/**
|
|
36
|
+
* An array of UTC timestamps representing the selected date
|
|
37
|
+
* or dates depending on the capabilities of the picker component.
|
|
38
|
+
* @default []
|
|
39
|
+
*/
|
|
40
|
+
this.selectedDates = [];
|
|
41
|
+
/**
|
|
42
|
+
* Defines if the YearRangePicker should visualize the selected dates as a range.
|
|
43
|
+
* @default false
|
|
44
|
+
*
|
|
45
|
+
* @private
|
|
46
|
+
*/
|
|
47
|
+
this._showRangeSelection = false;
|
|
48
|
+
this._yearRanges = [];
|
|
49
|
+
this._hidden = false;
|
|
50
|
+
}
|
|
51
|
+
get roleDescription() {
|
|
52
|
+
return YearRangePicker_1.i18nBundle.getText(YEAR_RANGE_PICKER_DESCRIPTION);
|
|
53
|
+
}
|
|
54
|
+
onBeforeRendering() {
|
|
55
|
+
if (this._hidden) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this._gridStartYear = this._getGridStartYear();
|
|
59
|
+
this._yearRanges = this._getYearRanges();
|
|
60
|
+
}
|
|
61
|
+
_shouldShowOneColumn() {
|
|
62
|
+
const locale = getLocale();
|
|
63
|
+
const language = locale.getLanguage();
|
|
64
|
+
const longLanguages = ["zh", "ja", "ko", "bg", "mk", "ru"];
|
|
65
|
+
return longLanguages.includes(language) && this.hasSecondaryCalendarType;
|
|
66
|
+
}
|
|
67
|
+
_getPageSize() {
|
|
68
|
+
return this._shouldShowOneColumn() ? 6 : 8;
|
|
69
|
+
}
|
|
70
|
+
_getRowSize() {
|
|
71
|
+
return this._shouldShowOneColumn() ? 1 : 2;
|
|
72
|
+
}
|
|
73
|
+
_getInitialFocusedIndex() {
|
|
74
|
+
return 2;
|
|
75
|
+
}
|
|
76
|
+
_getRangeSize() {
|
|
77
|
+
return this.hasSecondaryCalendarType ? 8 : 20;
|
|
78
|
+
}
|
|
79
|
+
_getYearRangeFormattedText(startDate, endDate, yearFormat) {
|
|
80
|
+
return `${yearFormat.format(startDate.toLocalJSDate())} - ${yearFormat.format(endDate.toLocalJSDate())}`;
|
|
81
|
+
}
|
|
82
|
+
_getGridStartYear() {
|
|
83
|
+
const rangeSize = this._getRangeSize();
|
|
84
|
+
const pageSize = this._getPageSize();
|
|
85
|
+
const pageSizeInYears = rangeSize * pageSize;
|
|
86
|
+
const yearsOffset = rangeSize * this._getInitialFocusedIndex();
|
|
87
|
+
const currentStartYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();
|
|
88
|
+
// On first load, current range should be the 3rd item in the grid
|
|
89
|
+
let gridStartYear = this._gridStartYear ? this._gridStartYear : currentStartYear - yearsOffset;
|
|
90
|
+
// If page navigation occured, update the current range start year
|
|
91
|
+
gridStartYear += Math.floor((currentStartYear - gridStartYear) / pageSizeInYears) * pageSizeInYears;
|
|
92
|
+
// Normalize grid start year to be between the min and absolute max year
|
|
93
|
+
const minYear = this._minDate.getYear();
|
|
94
|
+
if (currentStartYear - rangeSize < minYear) {
|
|
95
|
+
gridStartYear = minYear;
|
|
96
|
+
}
|
|
97
|
+
const absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();
|
|
98
|
+
if (currentStartYear + pageSizeInYears > absoluteMaxYear) {
|
|
99
|
+
gridStartYear = absoluteMaxYear - pageSizeInYears + 1;
|
|
100
|
+
}
|
|
101
|
+
return gridStartYear;
|
|
102
|
+
}
|
|
103
|
+
_getYearRanges() {
|
|
104
|
+
const locale = getLocale();
|
|
105
|
+
const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType }, locale);
|
|
106
|
+
const yearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this._secondaryCalendarType }, locale);
|
|
107
|
+
const pageSize = this._getPageSize();
|
|
108
|
+
const rowSize = this._getRowSize();
|
|
109
|
+
const rangeSize = this._getRangeSize();
|
|
110
|
+
const calendarDate = this._calendarDate;
|
|
111
|
+
const minYear = this._minDate.getYear();
|
|
112
|
+
const maxYear = this._maxDate.getYear();
|
|
113
|
+
const tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);
|
|
114
|
+
tempDate.setYear(this._gridStartYear);
|
|
115
|
+
const yearRanges = [];
|
|
116
|
+
for (let i = 0; i < pageSize; i++) {
|
|
117
|
+
const endDate = new CalendarDate(tempDate, this._primaryCalendarType);
|
|
118
|
+
endDate.setYear(endDate.getYear() + rangeSize - 1);
|
|
119
|
+
const timestamp = tempDate.valueOf() / 1000;
|
|
120
|
+
const endTimestamp = endDate.valueOf() / 1000;
|
|
121
|
+
const isFocused = isBetweenInclusive(calendarDate.getYear(), tempDate.getYear(), endDate.getYear());
|
|
122
|
+
const isSelected = this._isYearRangeSelected(timestamp, endTimestamp);
|
|
123
|
+
const isSelectedBetween = this._isInsideSelectionRange(timestamp);
|
|
124
|
+
const yearRangeText = this._getYearRangeFormattedText(tempDate, endDate, yearFormat);
|
|
125
|
+
const secYearRangeText = this.hasSecondaryCalendarType ? this._getYearRangeFormattedText(tempDate, endDate, yearFormatInSecType) : undefined;
|
|
126
|
+
const isDisabled = !(isBetweenInclusive(tempDate.getYear(), minYear, maxYear)
|
|
127
|
+
|| isBetweenInclusive(endDate.getYear(), minYear, maxYear));
|
|
128
|
+
const yearRange = this._getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled);
|
|
129
|
+
const intervalIndex = Math.floor(i / rowSize);
|
|
130
|
+
if (yearRanges[intervalIndex]) {
|
|
131
|
+
yearRanges[intervalIndex].push(yearRange);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
yearRanges[intervalIndex] = [yearRange];
|
|
135
|
+
}
|
|
136
|
+
tempDate.setYear(tempDate.getYear() + rangeSize);
|
|
137
|
+
}
|
|
138
|
+
return yearRanges;
|
|
139
|
+
}
|
|
140
|
+
_getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled) {
|
|
141
|
+
const yearRange = {
|
|
142
|
+
timestamp: timestamp.toString(),
|
|
143
|
+
_tabIndex: isFocused ? 0 : -1,
|
|
144
|
+
focusRef: isFocused,
|
|
145
|
+
selected: isSelected || isSelectedBetween,
|
|
146
|
+
ariaSelected: isSelected || isSelectedBetween,
|
|
147
|
+
range: yearRangeText,
|
|
148
|
+
rangeInSecType: secYearRangeText,
|
|
149
|
+
disabled: isDisabled,
|
|
150
|
+
ariaDisabled: isDisabled,
|
|
151
|
+
classes: "ui5-yrp-item",
|
|
152
|
+
parts: "year-range-cell",
|
|
153
|
+
};
|
|
154
|
+
if (isSelected) {
|
|
155
|
+
yearRange.classes += " ui5-yrp-item--selected";
|
|
156
|
+
yearRange.parts += " year-range-cell-selected";
|
|
157
|
+
}
|
|
158
|
+
if (isSelectedBetween && !isSelected) {
|
|
159
|
+
yearRange.classes += " ui5-yrp-item--selected-between";
|
|
160
|
+
yearRange.parts += " year-range-cell-selected-between";
|
|
161
|
+
}
|
|
162
|
+
if (isDisabled) {
|
|
163
|
+
yearRange.classes += " ui5-yrp-item--disabled";
|
|
164
|
+
}
|
|
165
|
+
if (this.hasSecondaryCalendarType) {
|
|
166
|
+
yearRange.classes += " ui5-yrp-item-secondary-type";
|
|
167
|
+
}
|
|
168
|
+
if (this._shouldShowOneColumn()) {
|
|
169
|
+
yearRange.classes += " ui5-yrp-item-one-column-view";
|
|
170
|
+
}
|
|
171
|
+
return yearRange;
|
|
172
|
+
}
|
|
173
|
+
_isYearRangeSelected(startYear, endYear) {
|
|
174
|
+
return this.selectedDates.some(itemTimestamp => {
|
|
175
|
+
return isBetweenInclusive(itemTimestamp, startYear, endYear);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Returns true if the timestamp is inside the selection range.
|
|
180
|
+
* @private
|
|
181
|
+
*/
|
|
182
|
+
_isInsideSelectionRange(timestamp) {
|
|
183
|
+
if (!this._showRangeSelection || !this.selectedDates.length) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
if (this.selectedDates.length === 1 && this._secondTimestamp) {
|
|
187
|
+
return isBetweenInclusive(timestamp, this.selectedDates[0], this._secondTimestamp);
|
|
188
|
+
}
|
|
189
|
+
return isBetweenInclusive(timestamp, this.selectedDates[0], this.selectedDates[1]);
|
|
190
|
+
}
|
|
191
|
+
onAfterRendering() {
|
|
192
|
+
if (!this._hidden) {
|
|
193
|
+
this.focus();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
_onkeydown(e) {
|
|
197
|
+
let preventDefault = true;
|
|
198
|
+
const pageSize = this._getPageSize();
|
|
199
|
+
const rowSize = this._getRowSize();
|
|
200
|
+
if (isEnter(e)) {
|
|
201
|
+
this._selectYearRange(e);
|
|
202
|
+
}
|
|
203
|
+
else if (isSpace(e)) {
|
|
204
|
+
e.preventDefault();
|
|
205
|
+
}
|
|
206
|
+
else if (isLeft(e)) {
|
|
207
|
+
this._modifyTimestampBy(-1);
|
|
208
|
+
}
|
|
209
|
+
else if (isRight(e)) {
|
|
210
|
+
this._modifyTimestampBy(1);
|
|
211
|
+
}
|
|
212
|
+
else if (isUp(e)) {
|
|
213
|
+
this._modifyTimestampBy(-rowSize);
|
|
214
|
+
}
|
|
215
|
+
else if (isDown(e)) {
|
|
216
|
+
this._modifyTimestampBy(rowSize);
|
|
217
|
+
}
|
|
218
|
+
else if (isPageUp(e)) {
|
|
219
|
+
this._modifyTimestampBy(-pageSize);
|
|
220
|
+
}
|
|
221
|
+
else if (isPageDown(e)) {
|
|
222
|
+
this._modifyTimestampBy(pageSize);
|
|
223
|
+
}
|
|
224
|
+
else if (isHome(e) || isEnd(e)) {
|
|
225
|
+
this._onHomeOrEnd(isHome(e));
|
|
226
|
+
}
|
|
227
|
+
else if (isHomeCtrl(e)) {
|
|
228
|
+
this._setTimestamp(parseInt(this._yearRanges[0][0].timestamp)); // first year range of first row
|
|
229
|
+
}
|
|
230
|
+
else if (isEndCtrl(e)) {
|
|
231
|
+
this._setTimestamp(parseInt(this._yearRanges[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year range of last row
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
preventDefault = false;
|
|
235
|
+
}
|
|
236
|
+
if (preventDefault) {
|
|
237
|
+
e.preventDefault();
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
_onkeyup(e) {
|
|
241
|
+
if (isSpace(e)) {
|
|
242
|
+
this._selectYearRange(e);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
_onHomeOrEnd(homePressed) {
|
|
246
|
+
this._yearRanges.forEach(row => {
|
|
247
|
+
const indexInRow = row.findIndex(item => {
|
|
248
|
+
const startYear = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear();
|
|
249
|
+
const currentYear = this._calendarDate.getYear();
|
|
250
|
+
return isBetweenInclusive(startYear, currentYear, currentYear + this._getRangeSize() - 1);
|
|
251
|
+
});
|
|
252
|
+
if (indexInRow !== -1) { // The current year is on this row
|
|
253
|
+
const index = homePressed ? 0 : this._getRowSize() - 1; // select the first (if Home) or last (if End) year on the row
|
|
254
|
+
this._setTimestamp(parseInt(row[index].timestamp));
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Set the hovered day as the "_secondTimestamp".
|
|
260
|
+
*
|
|
261
|
+
* @param e
|
|
262
|
+
* @private
|
|
263
|
+
*/
|
|
264
|
+
_onmouseover(e) {
|
|
265
|
+
const target = e.target;
|
|
266
|
+
const hoveredItem = target.closest(".ui5-yrp-item");
|
|
267
|
+
if (hoveredItem && this._showRangeSelection && this.selectedDates.length === 1) {
|
|
268
|
+
this._secondTimestamp = this._getTimestampFromDom(hoveredItem);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Sets the timestamp to an absolute value.
|
|
273
|
+
* @param value
|
|
274
|
+
* @private
|
|
275
|
+
*/
|
|
276
|
+
_setTimestamp(value) {
|
|
277
|
+
this._safelySetTimestamp(value);
|
|
278
|
+
this.fireDecoratorEvent("navigate", { timestamp: this.timestamp });
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* In range selection, the currently focused or hovered year range is considered the "second timestamp".
|
|
282
|
+
* @private
|
|
283
|
+
*/
|
|
284
|
+
_updateSecondTimestamp() {
|
|
285
|
+
if (this._showRangeSelection && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {
|
|
286
|
+
this._secondTimestamp = this.timestamp;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* User selected range with the mouse or pressed Enter/Space.
|
|
291
|
+
* @param e
|
|
292
|
+
* @private
|
|
293
|
+
*/
|
|
294
|
+
_selectYearRange(e) {
|
|
295
|
+
e.preventDefault();
|
|
296
|
+
const target = e.target;
|
|
297
|
+
if (target.className.indexOf("ui5-yrp-item") === -1) {
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
let timestamp = this._getTimestampFromDom(target);
|
|
301
|
+
timestamp = this._getYearPickerCenteredTimestamp(timestamp);
|
|
302
|
+
this._safelySetTimestamp(timestamp);
|
|
303
|
+
this.fireDecoratorEvent("change", {
|
|
304
|
+
timestamp: this.timestamp,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Returns the centered timestamp for the year picker.
|
|
309
|
+
* @private
|
|
310
|
+
*/
|
|
311
|
+
_getYearPickerCenteredTimestamp(oldTimestamp) {
|
|
312
|
+
const yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;
|
|
313
|
+
const selectedDate = CalendarDate.fromTimestamp(oldTimestamp * 1000, this._primaryCalendarType);
|
|
314
|
+
const startYear = selectedDate.getYear();
|
|
315
|
+
const centeredYear = startYear + yearsOffset;
|
|
316
|
+
selectedDate.setYear(centeredYear);
|
|
317
|
+
return selectedDate.valueOf() / 1000;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Called by the Calendar component.
|
|
321
|
+
* @protected
|
|
322
|
+
*/
|
|
323
|
+
_hasPreviousPage() {
|
|
324
|
+
return this._gridStartYear > this._minDate.getYear();
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Called by the Calendar component.
|
|
328
|
+
* @protected
|
|
329
|
+
*/
|
|
330
|
+
_hasNextPage() {
|
|
331
|
+
const amountInYears = this._getPageSize() * this._getRangeSize();
|
|
332
|
+
return this._gridStartYear + amountInYears - 1 < this._maxDate.getYear();
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Called by the Calendar component.
|
|
336
|
+
* **Note:** when the user presses the "<" button in the calendar header (same as "PageUp")
|
|
337
|
+
* @protected
|
|
338
|
+
*/
|
|
339
|
+
_showPreviousPage() {
|
|
340
|
+
const pageSize = this._getPageSize();
|
|
341
|
+
this._modifyTimestampBy(-pageSize);
|
|
342
|
+
const amountInYears = pageSize * this._getRangeSize();
|
|
343
|
+
this._modifyGridStartBy(-amountInYears);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Called by the Calendar component.
|
|
347
|
+
* **Note:** when the user presses the ">" button in the calendar header (same as "PageDown")
|
|
348
|
+
* @protected
|
|
349
|
+
*/
|
|
350
|
+
_showNextPage() {
|
|
351
|
+
const pageSize = this._getPageSize();
|
|
352
|
+
this._modifyTimestampBy(pageSize);
|
|
353
|
+
const amountInYears = pageSize * this._getRangeSize();
|
|
354
|
+
this._modifyGridStartBy(amountInYears);
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.
|
|
358
|
+
* @param amount
|
|
359
|
+
* @private
|
|
360
|
+
*/
|
|
361
|
+
_modifyTimestampBy(amount) {
|
|
362
|
+
// Modify the current timestamp
|
|
363
|
+
const amountInYears = amount * this._getRangeSize();
|
|
364
|
+
this._safelyModifyTimestampBy(amountInYears, "year");
|
|
365
|
+
// Notify the calendar to update its timestamp
|
|
366
|
+
this.fireDecoratorEvent("navigate", { timestamp: this.timestamp });
|
|
367
|
+
}
|
|
368
|
+
_modifyGridStartBy(years) {
|
|
369
|
+
this._gridStartYear += years;
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
__decorate([
|
|
373
|
+
property({ type: Array })
|
|
374
|
+
], YearRangePicker.prototype, "selectedDates", void 0);
|
|
375
|
+
__decorate([
|
|
376
|
+
property({ type: Boolean, noAttribute: true })
|
|
377
|
+
], YearRangePicker.prototype, "_showRangeSelection", void 0);
|
|
378
|
+
__decorate([
|
|
379
|
+
property({ type: Number })
|
|
380
|
+
], YearRangePicker.prototype, "_secondTimestamp", void 0);
|
|
381
|
+
__decorate([
|
|
382
|
+
property({ type: Array })
|
|
383
|
+
], YearRangePicker.prototype, "_yearRanges", void 0);
|
|
384
|
+
__decorate([
|
|
385
|
+
property({ type: Boolean, noAttribute: true })
|
|
386
|
+
], YearRangePicker.prototype, "_hidden", void 0);
|
|
387
|
+
__decorate([
|
|
388
|
+
property({ noAttribute: true })
|
|
389
|
+
], YearRangePicker.prototype, "_currentYearRange", void 0);
|
|
390
|
+
__decorate([
|
|
391
|
+
i18n("@ui5/webcomponents")
|
|
392
|
+
], YearRangePicker, "i18nBundle", void 0);
|
|
393
|
+
YearRangePicker = YearRangePicker_1 = __decorate([
|
|
394
|
+
customElement({
|
|
395
|
+
tag: "ui5-yearrangepicker",
|
|
396
|
+
styles: [
|
|
397
|
+
yearRangePickerStyles,
|
|
398
|
+
],
|
|
399
|
+
template: YearRangePickerTemplate,
|
|
400
|
+
})
|
|
401
|
+
/**
|
|
402
|
+
* Fired when the user selects a year range via "Space", "Enter" or click.
|
|
403
|
+
*/
|
|
404
|
+
,
|
|
405
|
+
event("change", {
|
|
406
|
+
bubbles: true,
|
|
407
|
+
})
|
|
408
|
+
/**
|
|
409
|
+
* Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.
|
|
410
|
+
*/
|
|
411
|
+
,
|
|
412
|
+
event("navigate", {
|
|
413
|
+
bubbles: true,
|
|
414
|
+
})
|
|
415
|
+
], YearRangePicker);
|
|
416
|
+
YearRangePicker.define();
|
|
417
|
+
export default YearRangePicker;
|
|
418
|
+
//# sourceMappingURL=YearRangePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YearRangePicker.js","sourceRoot":"","sources":["../src/YearRangePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type LocaleT from \"sap/ui/core/Locale\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker, CalendarYearRangeT } from \"./Calendar.js\";\nimport { YEAR_RANGE_PICKER_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport YearRangePickerTemplate from \"./YearRangePickerTemplate.js\";\n\n// Styles\nimport yearRangePickerStyles from \"./generated/themes/YearRangePicker.css.js\";\n\nconst isBetweenInclusive = (x: number, num1: number, num2: number) => x >= Math.min(num1, num2) && x <= Math.max(num1, num2);\n\ntype YearRange = {\n\ttimestamp: string;\n\t_tabIndex: number;\n\tfocusRef: boolean;\n\tselected: boolean;\n\tariaSelected: boolean;\n\trange: string;\n\trangeInSecType: string | undefined;\n\tdisabled: boolean;\n\tariaDisabled: boolean | undefined;\n\tclasses: string;\n\tparts: string;\n}\n\ntype YearRanges = Array<Array<YearRange>>;\n\ntype YearRangePickerChangeEventDetail = {\n\ttimestamp: number,\n}\n\ntype YearRangePickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Displays year ranges which help navigate through years faster.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-yearrangepicker\",\n\tstyles: [\n\t\tyearRangePickerStyles,\n\t],\n\ttemplate: YearRangePickerTemplate,\n})\n\n/**\n * Fired when the user selects a year range via \"Space\", \"Enter\" or click.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass YearRangePicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": YearRangePickerChangeEventDetail,\n\t\t\"navigate\": YearRangePickerNavigateEventDetail,\n\t}\n\n\t/**\n\t * An array of UTC timestamps representing the selected date\n\t * or dates depending on the capabilities of the picker component.\n\t * @default []\n\t */\n\t@property({ type: Array })\n\tselectedDates: Array<number> = [];\n\n\t/**\n\t * Defines if the YearRangePicker should visualize the selected dates as a range.\n\t * @default false\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_showRangeSelection = false;\n\n\t/**\n\t * When _showRangeSelection is \"true\" and the first year in the range is selected, this is the currently hovered or focused year range.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@property({ type: Array })\n\t_yearRanges: YearRanges = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t@property({ noAttribute: true })\n\t_currentYearRange?: CalendarYearRangeT;\n\n\t_gridStartYear?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn YearRangePicker.i18nBundle.getText(YEAR_RANGE_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._gridStartYear = this._getGridStartYear();\n\t\tthis._yearRanges = this._getYearRanges();\n\t}\n\n\t_shouldShowOneColumn() {\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst language = locale.getLanguage();\n\t\tconst longLanguages = [\"zh\", \"ja\", \"ko\", \"bg\", \"mk\", \"ru\"];\n\n\t\treturn longLanguages.includes(language) && this.hasSecondaryCalendarType;\n\t}\n\n\t_getPageSize() {\n\t\treturn this._shouldShowOneColumn() ? 6 : 8;\n\t}\n\n\t_getRowSize() {\n\t\treturn this._shouldShowOneColumn() ? 1 : 2;\n\t}\n\n\t_getInitialFocusedIndex() {\n\t\treturn 2;\n\t}\n\n\t_getRangeSize() {\n\t\treturn this.hasSecondaryCalendarType ? 8 : 20;\n\t}\n\n\t_getYearRangeFormattedText(startDate: CalendarDate, endDate: CalendarDate, yearFormat: DateFormat): string {\n\t\treturn `${yearFormat.format(startDate.toLocalJSDate())} - ${yearFormat.format(endDate.toLocalJSDate())}`;\n\t}\n\n\t_getGridStartYear() {\n\t\tconst rangeSize = this._getRangeSize();\n\t\tconst pageSize = this._getPageSize();\n\t\tconst pageSizeInYears = rangeSize * pageSize;\n\t\tconst yearsOffset = rangeSize * this._getInitialFocusedIndex();\n\t\tconst currentStartYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();\n\n\t\t// On first load, current range should be the 3rd item in the grid\n\t\tlet gridStartYear = this._gridStartYear ? this._gridStartYear : currentStartYear - yearsOffset;\n\n\t\t// If page navigation occured, update the current range start year\n\t\tgridStartYear += Math.floor((currentStartYear - gridStartYear) / pageSizeInYears) * pageSizeInYears;\n\n\t\t// Normalize grid start year to be between the min and absolute max year\n\t\tconst minYear = this._minDate.getYear();\n\t\tif (currentStartYear - rangeSize < minYear) {\n\t\t\tgridStartYear = minYear;\n\t\t}\n\n\t\tconst absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();\n\t\tif (currentStartYear + pageSizeInYears > absoluteMaxYear) {\n\t\t\tgridStartYear = absoluteMaxYear - pageSizeInYears + 1;\n\t\t}\n\n\t\treturn gridStartYear;\n\t}\n\n\t_getYearRanges() {\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._primaryCalendarType }, locale);\n\t\tconst yearFormatInSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType }, locale);\n\n\t\tconst pageSize = this._getPageSize();\n\t\tconst rowSize = this._getRowSize();\n\t\tconst rangeSize = this._getRangeSize();\n\n\t\tconst calendarDate = this._calendarDate;\n\t\tconst minYear = this._minDate.getYear();\n\t\tconst maxYear = this._maxDate.getYear();\n\n\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\ttempDate.setYear(this._gridStartYear!);\n\n\t\tconst yearRanges: YearRanges = [];\n\n\t\tfor (let i = 0; i < pageSize; i++) {\n\t\t\tconst endDate = new CalendarDate(tempDate, this._primaryCalendarType);\n\t\t\tendDate.setYear(endDate.getYear() + rangeSize - 1);\n\n\t\t\tconst timestamp = tempDate.valueOf() / 1000;\n\t\t\tconst endTimestamp = endDate.valueOf() / 1000;\n\n\t\t\tconst isFocused = isBetweenInclusive(calendarDate.getYear(), tempDate.getYear(), endDate.getYear());\n\n\t\t\tconst isSelected = this._isYearRangeSelected(timestamp, endTimestamp);\n\t\t\tconst isSelectedBetween = this._isInsideSelectionRange(timestamp);\n\n\t\t\tconst yearRangeText = this._getYearRangeFormattedText(tempDate, endDate, yearFormat);\n\t\t\tconst secYearRangeText = this.hasSecondaryCalendarType ? this._getYearRangeFormattedText(tempDate, endDate, yearFormatInSecType) : undefined;\n\n\t\t\tconst isDisabled = !(isBetweenInclusive(tempDate.getYear(), minYear, maxYear)\n\t\t\t\t\t\t\t\t|| isBetweenInclusive(endDate.getYear(), minYear, maxYear));\n\n\t\t\tconst yearRange = this._getYearRange(timestamp, isFocused, isSelected, isSelectedBetween, yearRangeText, secYearRangeText, isDisabled);\n\n\t\t\tconst intervalIndex = Math.floor(i / rowSize);\n\n\t\t\tif (yearRanges[intervalIndex]) {\n\t\t\t\tyearRanges[intervalIndex].push(yearRange);\n\t\t\t} else {\n\t\t\t\tyearRanges[intervalIndex] = [yearRange];\n\t\t\t}\n\n\t\t\ttempDate.setYear(tempDate.getYear() + rangeSize);\n\t\t}\n\n\t\treturn yearRanges;\n\t}\n\n\t_getYearRange(timestamp: number, isFocused: boolean, isSelected: boolean, isSelectedBetween: boolean, yearRangeText: string, secYearRangeText: string | undefined, isDisabled: boolean) {\n\t\tconst yearRange: YearRange = {\n\t\t\ttimestamp: timestamp.toString(),\n\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\tfocusRef: isFocused,\n\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\trange: yearRangeText,\n\t\t\trangeInSecType: secYearRangeText,\n\t\t\tdisabled: isDisabled,\n\t\t\tariaDisabled: isDisabled,\n\t\t\tclasses: \"ui5-yrp-item\",\n\t\t\tparts: \"year-range-cell\",\n\t\t};\n\n\t\tif (isSelected) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--selected\";\n\t\t\tyearRange.parts += \" year-range-cell-selected\";\n\t\t}\n\n\t\tif (isSelectedBetween && !isSelected) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--selected-between\";\n\t\t\tyearRange.parts += \" year-range-cell-selected-between\";\n\t\t}\n\n\t\tif (isDisabled) {\n\t\t\tyearRange.classes += \" ui5-yrp-item--disabled\";\n\t\t}\n\n\t\tif (this.hasSecondaryCalendarType) {\n\t\t\tyearRange.classes += \" ui5-yrp-item-secondary-type\";\n\t\t}\n\n\t\tif (this._shouldShowOneColumn()) {\n\t\t\tyearRange.classes += \" ui5-yrp-item-one-column-view\";\n\t\t}\n\n\t\treturn yearRange;\n\t}\n\n\t_isYearRangeSelected(startYear: number, endYear: number) {\n\t\treturn this.selectedDates.some(itemTimestamp => {\n\t\t\treturn isBetweenInclusive(itemTimestamp, startYear, endYear);\n\t\t});\n\t}\n\n\t/**\n\t * Returns true if the timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isInsideSelectionRange(timestamp: number): boolean {\n\t\tif (!this._showRangeSelection || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetweenInclusive(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetweenInclusive(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\t\tconst pageSize = this._getPageSize();\n\t\tconst rowSize = this._getRowSize();\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectYearRange(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-pageSize);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(pageSize);\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearRanges[0][0].timestamp)); // first year range of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearRanges[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year range of last row\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectYearRange(e);\n\t\t}\n\t}\n\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._yearRanges.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => {\n\t\t\t\tconst startYear = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear();\n\t\t\t\tconst currentYear = this._calendarDate.getYear();\n\t\t\t\treturn isBetweenInclusive(startYear, currentYear, currentYear + this._getRangeSize() - 1);\n\t\t\t});\n\t\t\tif (indexInRow !== -1) { // The current year is on this row\n\t\t\t\tconst index = homePressed ? 0 : this._getRowSize() - 1; // select the first (if Home) or last (if End) year on the row\n\t\t\t\tthis._setTimestamp(parseInt(row[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-yrp-item\") as HTMLElement;\n\t\tif (hoveredItem && this._showRangeSelection && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * In range selection, the currently focused or hovered year range is considered the \"second timestamp\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this._showRangeSelection && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\t/**\n\t * User selected range with the mouse or pressed Enter/Space.\n\t * @param e\n\t * @private\n\t */\n\t_selectYearRange(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target.className.indexOf(\"ui5-yrp-item\") === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet timestamp = this._getTimestampFromDom(target);\n\t\ttimestamp = this._getYearPickerCenteredTimestamp(timestamp);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the centered timestamp for the year picker.\n\t * @private\n\t */\n\t_getYearPickerCenteredTimestamp(oldTimestamp: number): number {\n\t\tconst yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;\n\t\tconst selectedDate = CalendarDate.fromTimestamp(oldTimestamp * 1000, this._primaryCalendarType);\n\t\tconst startYear = selectedDate.getYear();\n\t\tconst centeredYear = startYear + yearsOffset;\n\n\t\tselectedDate.setYear(centeredYear);\n\n\t\treturn selectedDate.valueOf() / 1000;\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn this._gridStartYear! > this._minDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasNextPage(): boolean {\n\t\tconst amountInYears = this._getPageSize() * this._getRangeSize();\n\t\treturn this._gridStartYear! + amountInYears - 1 < this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * **Note:** when the user presses the \"<\" button in the calendar header (same as \"PageUp\")\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tconst pageSize = this._getPageSize();\n\t\tthis._modifyTimestampBy(-pageSize);\n\n\t\tconst amountInYears = pageSize * this._getRangeSize();\n\t\tthis._modifyGridStartBy(-amountInYears);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * **Note:** when the user presses the \">\" button in the calendar header (same as \"PageDown\")\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tconst pageSize = this._getPageSize();\n\t\tthis._modifyTimestampBy(pageSize);\n\n\t\tconst amountInYears = pageSize * this._getRangeSize();\n\t\tthis._modifyGridStartBy(amountInYears);\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of year ranges and, if necessary, loads the prev/next page.\n\t * @param amount\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number) {\n\t\t// Modify the current timestamp\n\t\tconst amountInYears = amount * this._getRangeSize();\n\t\tthis._safelyModifyTimestampBy(amountInYears, \"year\");\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_modifyGridStartBy(years: number) {\n\t\tthis._gridStartYear! += years;\n\t}\n}\n\nYearRangePicker.define();\n\nexport default YearRangePicker;\nexport type {\n\tYearRangePickerChangeEventDetail,\n\tYearRangePickerNavigateEventDetail,\n};\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
export default function YearRangePickerTemplate() {
|
|
3
|
+
return (_jsx("div", { class: "ui5-yrp-root", role: "grid", "aria-roledescription": this.roleDescription, "aria-readonly": "false", "aria-multiselectable": "false", onClick: this._selectYearRange, onMouseOver: this._onmouseover, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, children: this._yearRanges.map(rangeRow => _jsx("div", { role: "row", class: "ui5-yrp-interval-container", children: rangeRow.map(yearRange => _jsxs("div", { "data-sap-timestamp": yearRange.timestamp, tabindex: yearRange._tabIndex, "data-sap-focus-ref": yearRange.focusRef ? "true" : undefined, class: yearRange.classes, part: yearRange.parts, role: "gridcell", "aria-selected": yearRange.ariaSelected, "aria-disabled": yearRange.ariaDisabled, children: [_jsx("span", { class: "ui5-dp-yeartext", children: yearRange.range }), yearRange.rangeInSecType &&
|
|
4
|
+
_jsx("span", { class: "ui5-yrp-item-sec-type", children: yearRange.rangeInSecType })] })) })) }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=YearRangePickerTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YearRangePickerTemplate.js","sourceRoot":"","sources":["../src/YearRangePickerTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,uBAAuB;IAC9C,OAAO,CACN,cACC,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,MAAM,0BACW,IAAI,CAAC,eAAe,mBAC5B,OAAO,0BACA,OAAO,EAC5B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,YAErB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAChC,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B,YAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,qCACN,SAAS,CAAC,SAAS,EACvC,QAAQ,EAAE,SAAS,CAAC,SAAS,wBACT,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3D,KAAK,EAAE,SAAS,CAAC,OAAO,EACxB,IAAI,EAAE,SAAS,CAAC,KAAK,EACrB,IAAI,EAAC,UAAU,mBACA,SAAS,CAAC,YAAY,mBACtB,SAAS,CAAC,YAAY,aAErC,eAAM,KAAK,EAAC,iBAAiB,YAC3B,SAAS,CAAC,KAAK,GACV,EAEN,SAAS,CAAC,cAAc;wBACxB,eAAM,KAAK,EAAC,uBAAuB,YACjC,SAAS,CAAC,cAAc,GACnB,IAEH,CACL,GACI,CACN,GACI,CAAC,CAAC;AACV,CAAC","sourcesContent":["import type YearRangePicker from \"./YearRangePicker.js\";\n\nexport default function YearRangePickerTemplate(this: YearRangePicker) {\n\treturn (\n\t\t<div\n\t\t\tclass=\"ui5-yrp-root\"\n\t\t\trole=\"grid\"\n\t\t\taria-roledescription={this.roleDescription}\n\t\t\taria-readonly=\"false\"\n\t\t\taria-multiselectable=\"false\"\n\t\t\tonClick={this._selectYearRange}\n\t\t\tonMouseOver={this._onmouseover}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t>\n\t\t\t{this._yearRanges.map(rangeRow =>\n\t\t\t\t<div role=\"row\" class=\"ui5-yrp-interval-container\">\n\t\t\t\t\t{rangeRow.map(yearRange => <div\n\t\t\t\t\t\tdata-sap-timestamp={yearRange.timestamp}\n\t\t\t\t\t\ttabindex={yearRange._tabIndex}\n\t\t\t\t\t\tdata-sap-focus-ref={yearRange.focusRef ? \"true\" : undefined}\n\t\t\t\t\t\tclass={yearRange.classes}\n\t\t\t\t\t\tpart={yearRange.parts}\n\t\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\t\taria-selected={yearRange.ariaSelected}\n\t\t\t\t\t\taria-disabled={yearRange.ariaDisabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"ui5-dp-yeartext\">\n\t\t\t\t\t\t\t{yearRange.range}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tyearRange.rangeInSecType &&\n\t\t\t\t\t\t\t<span class=\"ui5-yrp-item-sec-type\">\n\t\t\t\t\t\t\t\t{yearRange.rangeInSecType}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>);\n}\n"]}
|
package/dist/bundle.esm.js
CHANGED
|
@@ -45,6 +45,12 @@ import DatePicker from "./DatePicker.js";
|
|
|
45
45
|
import DateRangePicker from "./DateRangePicker.js";
|
|
46
46
|
import DateTimePicker from "./DateTimePicker.js";
|
|
47
47
|
import Dialog from "./Dialog.js";
|
|
48
|
+
import DynamicDateRange from "./DynamicDateRange.js";
|
|
49
|
+
import Today from "./dynamic-date-range-options/Today.js";
|
|
50
|
+
import Yesterday from "./dynamic-date-range-options/Yesterday.js";
|
|
51
|
+
import Tomorrow from "./dynamic-date-range-options/Tomorrow.js";
|
|
52
|
+
import SingleDate from "./dynamic-date-range-options/SingleDate.js";
|
|
53
|
+
import DateRange from "./dynamic-date-range-options/DateRange.js";
|
|
48
54
|
import ExpandableText from "./ExpandableText.js";
|
|
49
55
|
import Form from "./Form.js";
|
|
50
56
|
import FormItem from "./FormItem.js";
|