@ui5/webcomponents 2.20.0-rc.2 → 2.20.0-rc.3
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 +22 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/Avatar.d.ts +4 -0
- package/dist/Avatar.js.map +1 -1
- package/dist/Carousel.d.ts +2 -2
- package/dist/Carousel.js +1 -1
- package/dist/Carousel.js.map +1 -1
- package/dist/ComboBox.d.ts +37 -8
- package/dist/ComboBox.js +39 -10
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +5 -1
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/DatePicker.d.ts +7 -0
- package/dist/DatePicker.js +10 -0
- package/dist/DatePicker.js.map +1 -1
- package/dist/DatePickerInputTemplate.js +1 -1
- package/dist/DatePickerInputTemplate.js.map +1 -1
- package/dist/DateTimeInput.d.ts +1 -0
- package/dist/DateTimeInput.js +1 -0
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DayPicker.js +6 -6
- package/dist/DayPicker.js.map +1 -1
- package/dist/Icon.js +1 -1
- package/dist/Icon.js.map +1 -1
- package/dist/Input.js +1 -1
- package/dist/Input.js.map +1 -1
- package/dist/Link.js +1 -1
- package/dist/Link.js.map +1 -1
- package/dist/List.d.ts +1 -0
- package/dist/List.js +17 -2
- package/dist/List.js.map +1 -1
- package/dist/ListItemCustom.d.ts +2 -2
- package/dist/ListItemCustom.js +2 -2
- package/dist/ListItemCustom.js.map +1 -1
- package/dist/MonthPicker.js +2 -2
- package/dist/MonthPicker.js.map +1 -1
- package/dist/MultiComboBox.d.ts +19 -1
- package/dist/MultiComboBox.js +52 -7
- package/dist/MultiComboBox.js.map +1 -1
- package/dist/MultiComboBoxItem.d.ts +12 -0
- package/dist/MultiComboBoxItem.js +3 -0
- package/dist/MultiComboBoxItem.js.map +1 -1
- package/dist/Option.d.ts +2 -0
- package/dist/Option.js.map +1 -1
- package/dist/RatingIndicator.d.ts +2 -4
- package/dist/RatingIndicator.js +18 -9
- package/dist/RatingIndicator.js.map +1 -1
- package/dist/RatingIndicatorTemplate.js +6 -6
- package/dist/RatingIndicatorTemplate.js.map +1 -1
- package/dist/TabContainer.js +1 -1
- package/dist/TabContainer.js.map +1 -1
- package/dist/Table.js +2 -2
- package/dist/Table.js.map +1 -1
- package/dist/TableCell.js +2 -0
- package/dist/TableCell.js.map +1 -1
- package/dist/TableHeaderCell.js +1 -0
- package/dist/TableHeaderCell.js.map +1 -1
- package/dist/TableRow.d.ts +2 -2
- package/dist/TableRow.js +19 -7
- package/dist/TableRow.js.map +1 -1
- package/dist/TableRowActionBase.d.ts +2 -2
- package/dist/TableRowActionBase.js.map +1 -1
- package/dist/TableRowActionNavigation.d.ts +4 -0
- package/dist/TableRowActionNavigation.js +4 -0
- package/dist/TableRowActionNavigation.js.map +1 -1
- package/dist/TableRowTemplate.js +1 -1
- package/dist/TableRowTemplate.js.map +1 -1
- package/dist/TextArea.js +1 -1
- package/dist/TextArea.js.map +1 -1
- package/dist/TimePickerClock.js +1 -1
- package/dist/TimePickerClock.js.map +1 -1
- package/dist/TimePickerInternals.js +2 -2
- package/dist/TimePickerInternals.js.map +1 -1
- package/dist/ToolbarItem.d.ts +26 -3
- package/dist/ToolbarItem.js +46 -28
- package/dist/ToolbarItem.js.map +1 -1
- package/dist/ToolbarSpacer.js +0 -2
- package/dist/ToolbarSpacer.js.map +1 -1
- package/dist/ToolbarTemplate.js +2 -1
- package/dist/ToolbarTemplate.js.map +1 -1
- package/dist/YearPicker.js +2 -2
- package/dist/YearPicker.js.map +1 -1
- package/dist/YearRangePicker.js +2 -2
- package/dist/YearRangePicker.js.map +1 -1
- package/dist/css/themes/DatePicker.css +1 -1
- package/dist/css/themes/DateTimePicker.css +1 -1
- package/dist/css/themes/TableCellBase.css +1 -1
- package/dist/css/themes/TableRow.css +1 -1
- package/dist/css/themes/Toolbar.css +1 -1
- package/dist/custom-elements-internal.json +18638 -18040
- package/dist/custom-elements.json +16042 -15764
- package/dist/dynamic-date-range-options/DateRange.d.ts +1 -0
- package/dist/dynamic-date-range-options/DateRange.js +1 -0
- package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
- package/dist/dynamic-date-range-options/DateTimeRange.d.ts +1 -0
- package/dist/dynamic-date-range-options/DateTimeRange.js +1 -0
- package/dist/dynamic-date-range-options/DateTimeRange.js.map +1 -1
- package/dist/dynamic-date-range-options/FromDateTime.d.ts +1 -0
- package/dist/dynamic-date-range-options/FromDateTime.js +1 -0
- package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -1
- package/dist/dynamic-date-range-options/LastOptions.d.ts +1 -0
- package/dist/dynamic-date-range-options/LastOptions.js +1 -0
- package/dist/dynamic-date-range-options/LastOptions.js.map +1 -1
- package/dist/dynamic-date-range-options/NextOptions.d.ts +1 -0
- package/dist/dynamic-date-range-options/NextOptions.js +1 -0
- package/dist/dynamic-date-range-options/NextOptions.js.map +1 -1
- package/dist/dynamic-date-range-options/SingleDate.d.ts +1 -0
- package/dist/dynamic-date-range-options/SingleDate.js +1 -0
- package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
- package/dist/dynamic-date-range-options/ToDateTime.d.ts +1 -0
- package/dist/dynamic-date-range-options/ToDateTime.js +1 -0
- package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -1
- package/dist/dynamic-date-range-options/Today.d.ts +1 -0
- package/dist/dynamic-date-range-options/Today.js +1 -0
- package/dist/dynamic-date-range-options/Today.js.map +1 -1
- package/dist/dynamic-date-range-options/Tomorrow.d.ts +1 -0
- package/dist/dynamic-date-range-options/Tomorrow.js +1 -0
- package/dist/dynamic-date-range-options/Tomorrow.js.map +1 -1
- package/dist/dynamic-date-range-options/Yesterday.d.ts +1 -0
- package/dist/dynamic-date-range-options/Yesterday.js +1 -0
- package/dist/dynamic-date-range-options/Yesterday.js.map +1 -1
- 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_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- 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 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- 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 -1
- 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_id.json +1 -1
- 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_mk.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 -1
- 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_sr.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/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +3 -2
- package/dist/generated/i18n/i18n-defaults.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/DateTimePicker.css.d.ts +1 -1
- package/dist/generated/themes/DateTimePicker.css.js +1 -1
- package/dist/generated/themes/DateTimePicker.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/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/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/types/AvatarMode.d.ts +1 -3
- package/dist/types/AvatarMode.js +1 -3
- package/dist/types/AvatarMode.js.map +1 -1
- package/dist/types/TableOverflowMode.d.ts +1 -2
- package/dist/types/TableOverflowMode.js +1 -2
- package/dist/types/TableOverflowMode.js.map +1 -1
- package/dist/vscode.html-custom-data.json +2709 -1982
- package/dist/web-types.json +5814 -4362
- package/package.json +12 -10
- package/src/DatePickerInputTemplate.tsx +1 -0
- package/src/RatingIndicatorTemplate.tsx +6 -6
- package/src/TableRowTemplate.tsx +0 -1
- package/src/ToolbarTemplate.tsx +2 -1
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_ar.properties +3 -3
- package/src/i18n/messagebundle_bg.properties +3 -3
- package/src/i18n/messagebundle_ca.properties +3 -3
- package/src/i18n/messagebundle_cnr.properties +3 -3
- package/src/i18n/messagebundle_cs.properties +3 -3
- package/src/i18n/messagebundle_cy.properties +3 -3
- package/src/i18n/messagebundle_da.properties +3 -3
- package/src/i18n/messagebundle_de.properties +3 -3
- package/src/i18n/messagebundle_el.properties +3 -3
- package/src/i18n/messagebundle_en.properties +3 -3
- package/src/i18n/messagebundle_en_GB.properties +3 -3
- package/src/i18n/messagebundle_es.properties +3 -3
- package/src/i18n/messagebundle_es_MX.properties +3 -3
- package/src/i18n/messagebundle_et.properties +3 -3
- package/src/i18n/messagebundle_fi.properties +3 -3
- package/src/i18n/messagebundle_fr.properties +3 -3
- package/src/i18n/messagebundle_fr_CA.properties +3 -3
- package/src/i18n/messagebundle_hi.properties +3 -3
- package/src/i18n/messagebundle_hr.properties +3 -3
- package/src/i18n/messagebundle_hu.properties +3 -3
- package/src/i18n/messagebundle_id.properties +3 -3
- package/src/i18n/messagebundle_it.properties +3 -3
- package/src/i18n/messagebundle_iw.properties +3 -3
- package/src/i18n/messagebundle_ja.properties +3 -3
- package/src/i18n/messagebundle_kk.properties +4 -4
- package/src/i18n/messagebundle_ko.properties +3 -3
- package/src/i18n/messagebundle_lt.properties +3 -3
- package/src/i18n/messagebundle_lv.properties +3 -3
- package/src/i18n/messagebundle_mk.properties +3 -3
- package/src/i18n/messagebundle_ms.properties +3 -3
- package/src/i18n/messagebundle_nl.properties +3 -3
- package/src/i18n/messagebundle_no.properties +3 -3
- package/src/i18n/messagebundle_pl.properties +3 -3
- package/src/i18n/messagebundle_pt.properties +3 -3
- package/src/i18n/messagebundle_pt_PT.properties +3 -3
- package/src/i18n/messagebundle_ro.properties +3 -3
- package/src/i18n/messagebundle_ru.properties +3 -3
- package/src/i18n/messagebundle_sh.properties +3 -3
- package/src/i18n/messagebundle_sk.properties +3 -3
- package/src/i18n/messagebundle_sl.properties +3 -3
- package/src/i18n/messagebundle_sr.properties +3 -3
- package/src/i18n/messagebundle_sv.properties +8 -8
- package/src/i18n/messagebundle_th.properties +3 -3
- package/src/i18n/messagebundle_tr.properties +3 -3
- package/src/i18n/messagebundle_uk.properties +3 -3
- package/src/i18n/messagebundle_vi.properties +3 -3
- package/src/i18n/messagebundle_zh_CN.properties +3 -3
- package/src/i18n/messagebundle_zh_TW.properties +3 -3
- package/src/themes/DatePicker.css +2 -2
- package/src/themes/DateTimePicker.css +2 -0
- package/src/themes/TableCellBase.css +2 -1
- package/src/themes/TableRow.css +4 -6
- package/src/themes/Toolbar.css +6 -0
package/dist/ToolbarItem.js
CHANGED
|
@@ -12,23 +12,33 @@ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
|
12
12
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
13
13
|
import ToolbarItemTemplate from "./ToolbarItemTemplate.js";
|
|
14
14
|
import ToolbarItemCss from "./generated/themes/ToolbarItem.css.js";
|
|
15
|
-
/**
|
|
16
|
-
* Fired when the overflow popover is closed.
|
|
17
|
-
* @public
|
|
18
|
-
* @since 1.17.0
|
|
19
|
-
*/
|
|
20
|
-
let ToolbarItem =
|
|
21
15
|
/**
|
|
22
16
|
* @class
|
|
23
17
|
*
|
|
24
|
-
*
|
|
18
|
+
* ### Overview
|
|
19
|
+
* The `ui5-toolbar-item` is a wrapper component used to integrate UI5 Web Components into the `ui5-toolbar`.
|
|
20
|
+
* It renders within the toolbar's shadow DOM and manages the lifecycle
|
|
21
|
+
* and overflow behavior of its child component.
|
|
22
|
+
*
|
|
23
|
+
* ### Structure
|
|
24
|
+
* The toolbar item wraps a single UI5 Web Component (such as CheckBox, Title, etc.) and handles:
|
|
25
|
+
* - Overflow management (determining if the item should be displayed in the main toolbar or overflow popover)
|
|
26
|
+
* - Automatic popover closing on interaction
|
|
27
|
+
* - CSS custom state exposure for styling based on overflow state
|
|
28
|
+
*
|
|
29
|
+
* ### Usage
|
|
30
|
+
* The `ui5-toolbar-item` is typically used implicitly when adding components to a toolbar,
|
|
31
|
+
* but specialized wrappers like `ui5-toolbar-button` provide
|
|
32
|
+
* component-specific functionality and should be preferred when available.
|
|
33
|
+
*
|
|
34
|
+
*
|
|
35
|
+
* @cssState overflowed - When the item is displayed in the overflow popover. Use this state to apply different styles when the item is overflowed. Available since 2.20.0.
|
|
25
36
|
* @constructor
|
|
26
37
|
* @extends UI5Element
|
|
27
38
|
* @public
|
|
28
|
-
* @experimental This module is experimental and its API might change significantly in future.
|
|
29
39
|
* @since 1.17.0
|
|
30
40
|
*/
|
|
31
|
-
class ToolbarItem extends UI5Element {
|
|
41
|
+
let ToolbarItem = class ToolbarItem extends UI5Element {
|
|
32
42
|
constructor() {
|
|
33
43
|
super(...arguments);
|
|
34
44
|
/**
|
|
@@ -39,19 +49,13 @@ class ToolbarItem extends UI5Element {
|
|
|
39
49
|
*/
|
|
40
50
|
this.overflowPriority = "Default";
|
|
41
51
|
/**
|
|
42
|
-
* Defines if the toolbar overflow popup should close upon
|
|
52
|
+
* Defines if the toolbar overflow popup should close upon interaction with the item.
|
|
43
53
|
* It will close by default.
|
|
44
54
|
* @default false
|
|
45
55
|
* @public
|
|
46
56
|
*/
|
|
47
57
|
this.preventOverflowClosing = false;
|
|
48
|
-
|
|
49
|
-
* Defines if the toolbar item is overflowed.
|
|
50
|
-
* @default false
|
|
51
|
-
* @protected
|
|
52
|
-
* @since 2.11.0
|
|
53
|
-
*/
|
|
54
|
-
this.isOverflowed = false;
|
|
58
|
+
this._isOverflowed = false;
|
|
55
59
|
this._isRendering = true;
|
|
56
60
|
this._maxWidth = 0;
|
|
57
61
|
this._wrapperChecked = false;
|
|
@@ -69,6 +73,24 @@ class ToolbarItem extends UI5Element {
|
|
|
69
73
|
"ui5-select": "ToolbarSelect",
|
|
70
74
|
};
|
|
71
75
|
}
|
|
76
|
+
get isOverflowed() {
|
|
77
|
+
return this._isOverflowed;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Defines if the toolbar item is overflowed.
|
|
81
|
+
* @default false
|
|
82
|
+
* @protected
|
|
83
|
+
* @since 2.11.0
|
|
84
|
+
*/
|
|
85
|
+
set isOverflowed(value) {
|
|
86
|
+
this._isOverflowed = value;
|
|
87
|
+
if (value) {
|
|
88
|
+
this._internals.states.add("overflowed");
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this._internals.states.delete("overflowed");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
72
94
|
onBeforeRendering() {
|
|
73
95
|
this.checkForWrapper();
|
|
74
96
|
this.attachCloseOverflowHandlers();
|
|
@@ -179,17 +201,13 @@ __decorate([
|
|
|
179
201
|
], ToolbarItem.prototype, "preventOverflowClosing", void 0);
|
|
180
202
|
__decorate([
|
|
181
203
|
property({ type: Boolean })
|
|
182
|
-
], ToolbarItem.prototype, "isOverflowed",
|
|
204
|
+
], ToolbarItem.prototype, "isOverflowed", null);
|
|
183
205
|
__decorate([
|
|
184
206
|
slot({
|
|
185
207
|
"default": true, type: HTMLElement, invalidateOnChildChange: true,
|
|
186
208
|
})
|
|
187
209
|
], ToolbarItem.prototype, "item", void 0);
|
|
188
210
|
ToolbarItem = __decorate([
|
|
189
|
-
event("close-overflow", {
|
|
190
|
-
bubbles: true,
|
|
191
|
-
cancelable: true,
|
|
192
|
-
}),
|
|
193
211
|
customElement({
|
|
194
212
|
tag: "ui5-toolbar-item",
|
|
195
213
|
languageAware: true,
|
|
@@ -198,15 +216,15 @@ ToolbarItem = __decorate([
|
|
|
198
216
|
styles: ToolbarItemCss,
|
|
199
217
|
})
|
|
200
218
|
/**
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* Represents an abstract class for items, used in the `ui5-toolbar`.
|
|
204
|
-
* @constructor
|
|
205
|
-
* @extends UI5Element
|
|
219
|
+
* Fired when the overflow popover is closed.
|
|
206
220
|
* @public
|
|
207
|
-
* @experimental This module is experimental and its API might change significantly in future.
|
|
208
221
|
* @since 1.17.0
|
|
209
222
|
*/
|
|
223
|
+
,
|
|
224
|
+
event("close-overflow", {
|
|
225
|
+
bubbles: true,
|
|
226
|
+
cancelable: true,
|
|
227
|
+
})
|
|
210
228
|
], ToolbarItem);
|
|
211
229
|
ToolbarItem.define();
|
|
212
230
|
export default ToolbarItem;
|
package/dist/ToolbarItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../src/ToolbarItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ToolbarItemTemplate from \"./ToolbarItemTemplate.js\";\nimport ToolbarItemCss from \"./generated/themes/ToolbarItem.css.js\";\nimport type ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\ntype IEventOptions = {\n\tpreventClosing: boolean;\n}\n\ntype ToolbarItemEventDetail = {\n\ttargetRef: HTMLElement;\n}\n\ninterface IOverflowToolbarItem extends HTMLElement {\n\toverflowCloseEvents?: string[] | undefined;\n\thasOverflow?: boolean | undefined;\n}\n/**\n * Fired when the overflow popover is closed.\n * @public\n * @since 1.17.0\n */\n@event(\"close-overflow\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n@customElement({\n\ttag: \"ui5-toolbar-item\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarItemTemplate,\n\tstyles: ToolbarItemCss,\n})\n\n/**\n * @class\n *\n * Represents an abstract class for items, used in the `ui5-toolbar`.\n * @constructor\n * @extends UI5Element\n * @public\n * @experimental This module is experimental and its API might change significantly in future.\n * @since 1.17.0\n */\nclass ToolbarItem extends UI5Element {\n\t// strictEvents: needed for parent class\n\teventDetails!: {\n\t\tclick: ToolbarItemEventDetail,\n\t\t\"close-overflow\": void;\n\t}\n\t/**\n\t * Property used to define the access of the item to the overflow Popover. If \"NeverOverflow\" option is set,\n\t * the item never goes in the Popover, if \"AlwaysOverflow\" - it never comes out of it.\n\t * @public\n\t * @default \"Default\"\n\t */\n\t@property()\n\toverflowPriority: `${ToolbarItemOverflowBehavior}` = \"Default\";\n\n\t/**\n\t * Defines if the toolbar overflow popup should close upon intereaction with the item.\n\t * It will close by default.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpreventOverflowClosing = false;\n\n\t/**\n\t * Defines if the toolbar item is overflowed.\n\t * @default false\n\t * @protected\n\t * @since 2.11.0\n\t */\n\n\t@property({ type: Boolean })\n\tisOverflowed: boolean = false;\n\n\t_isRendering = true;\n\t_maxWidth = 0;\n\t_wrapperChecked = false;\n\tfireCloseOverflowRef = this.fireCloseOverflow.bind(this);\n\n\tcloseOverflowSet = {\n\t\t\"ui5-button\": [\"click\"],\n\t\t\"ui5-select\": [\"change\"],\n\t\t\"ui5-combobox\": [\"change\"],\n\t\t\"ui5-multi-combobox\": [\"selection-change\"],\n\t\t\"ui5-date-picker\": [\"change\"],\n\t\t\"ui5-switch\": [\"change\"],\n\t}\n\n\tpredefinedWrapperSet = {\n\t\t\"ui5-button\": \"ToolbarButton\",\n\t\t\"ui5-select\": \"ToolbarSelect\",\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.checkForWrapper();\n\t\tthis.attachCloseOverflowHandlers();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis._isRendering = false;\n\t}\n\n\tonExitDOM(): void {\n\t\tthis.detachCloseOverflowHandlers();\n\t}\n\n\t/**\n\t * Wrapped component slot.\n\t * @public\n\t * @since 2.20.0\n\t */\n\n\t@slot({\n\t\t\"default\": true, type: HTMLElement, invalidateOnChildChange: true,\n\t})\n\titem!: IOverflowToolbarItem[];\n\n\t// Method called by ui5-toolbar to inform about the existing toolbar wrapper\n\tcheckForWrapper() {\n\t\tif (this._wrapperChecked) {\n\t\t\treturn;\n\t\t}\n\t\tthis._wrapperChecked = true;\n\n\t\tconst tagName = this.itemTagName as keyof typeof this.predefinedWrapperSet;\n\t\tconst ctor = this.constructor as typeof UI5Element;\n\t\tconst wrapperName = ctor?.getMetadata ? ctor.getMetadata().getPureTag() : this.tagName;\n\t\tif (wrapperName === \"ui5-toolbar-item\"\n\t\t\t&& this.predefinedWrapperSet[tagName]) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`This UI5 web component has its predefined toolbar wrapper called ${this.predefinedWrapperSet[tagName]}.`);\n\t\t}\n\t}\n\n\t// We want to close the overflow popover, when closing event is being executed\n\tgetClosingEvents(): string[] {\n\t\tconst item = Array.isArray(this.item) ? this.item[0] : this.item;\n\n\t\tconst closeEvents = this.closeOverflowSet[this.itemTagName as keyof typeof this.closeOverflowSet] || [];\n\t\tif (!item) {\n\t\t\treturn [...closeEvents];\n\t\t}\n\t\tconst overflowCloseEvents = Array.isArray(item.overflowCloseEvents) ? item.overflowCloseEvents : [];\n\n\t\treturn [...closeEvents, ...overflowCloseEvents];\n\t}\n\n\tattachCloseOverflowHandlers() {\n\t\tconst closingEvents = this.getClosingEvents();\n\t\tclosingEvents.forEach(clEvent => {\n\t\t\tif (!this.preventOverflowClosing) {\n\t\t\t\tthis.addEventListener(clEvent, this.fireCloseOverflowRef);\n\t\t\t}\n\t\t});\n\t}\n\n\tdetachCloseOverflowHandlers() {\n\t\tconst closingEvents = this.getClosingEvents();\n\t\tclosingEvents.forEach(clEvent => {\n\t\t\tthis.removeEventListener(clEvent, this.fireCloseOverflowRef);\n\t\t});\n\t}\n\n\tfireCloseOverflow() {\n\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t}\n\t/**\n\t* Defines if the width of the item should be ignored in calculating the whole width of the toolbar\n\t* @protected\n\t*/\n\tget ignoreSpace(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is flexible. An item that is returning true for this property will make\n\t * the toolbar expand to fill the 100% width of its container.\n\t * @protected\n\t */\n\tget hasFlexibleWidth(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is interactive.\n\t * This value is used to determinate if the toolbar should have its accessibility role and attributes set.\n\t * At least two interactive items are needed for the toolbar to have the role=\"toolbar\" attribute set.\n\t * @protected\n\t */\n\tget isInteractive(): boolean {\n\t\treturn true;\n\t}\n\n\tget itemTagName() {\n\t\tconst ctor = this.getSlottedNodes<IOverflowToolbarItem>(\"item\")[0]?.constructor as typeof UI5Element;\n\t\treturn ctor?.getMetadata ? ctor.getMetadata().getPureTag() : this.getSlottedNodes<IOverflowToolbarItem>(\"item\")[0]?.tagName;\n\t}\n\n\tget hasOverflow(): boolean {\n\t\treturn this.item[0]?.hasOverflow ?? false;\n\t}\n\n\t/**\n\t * Returns if the item is separator.\n\t * @protected\n\t */\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tb-popover-item\": this.isOverflowed,\n\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport type {\n\tIEventOptions,\n\tToolbarItemEventDetail,\n\tIOverflowToolbarItem,\n};\nToolbarItem.define();\n\nexport default ToolbarItem;\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../src/ToolbarItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ToolbarItemTemplate from \"./ToolbarItemTemplate.js\";\nimport ToolbarItemCss from \"./generated/themes/ToolbarItem.css.js\";\nimport type ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\ntype IEventOptions = {\n\tpreventClosing: boolean;\n}\n\ntype ToolbarItemEventDetail = {\n\ttargetRef: HTMLElement;\n}\n\ninterface IOverflowToolbarItem extends HTMLElement {\n\toverflowCloseEvents?: string[] | undefined;\n\thasOverflow?: boolean | undefined;\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-item` is a wrapper component used to integrate UI5 Web Components into the `ui5-toolbar`.\n * It renders within the toolbar's shadow DOM and manages the lifecycle\n * and overflow behavior of its child component.\n *\n * ### Structure\n * The toolbar item wraps a single UI5 Web Component (such as CheckBox, Title, etc.) and handles:\n * - Overflow management (determining if the item should be displayed in the main toolbar or overflow popover)\n * - Automatic popover closing on interaction\n * - CSS custom state exposure for styling based on overflow state\n *\n * ### Usage\n * The `ui5-toolbar-item` is typically used implicitly when adding components to a toolbar,\n * but specialized wrappers like `ui5-toolbar-button` provide\n * component-specific functionality and should be preferred when available.\n *\n *\n * @cssState overflowed - When the item is displayed in the overflow popover. Use this state to apply different styles when the item is overflowed. Available since 2.20.0.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-item\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarItemTemplate,\n\tstyles: ToolbarItemCss,\n})\n/**\n * Fired when the overflow popover is closed.\n * @public\n * @since 1.17.0\n */\n@event(\"close-overflow\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ToolbarItem extends UI5Element {\n\t// strictEvents: needed for parent class\n\teventDetails!: {\n\t\tclick: ToolbarItemEventDetail,\n\t\t\"close-overflow\": void;\n\t}\n\t/**\n\t * Property used to define the access of the item to the overflow Popover. If \"NeverOverflow\" option is set,\n\t * the item never goes in the Popover, if \"AlwaysOverflow\" - it never comes out of it.\n\t * @public\n\t * @default \"Default\"\n\t */\n\t@property()\n\toverflowPriority: `${ToolbarItemOverflowBehavior}` = \"Default\";\n\n\t/**\n\t * Defines if the toolbar overflow popup should close upon interaction with the item.\n\t * It will close by default.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tpreventOverflowClosing = false;\n\n\t_isOverflowed: boolean = false;\n\n\tget isOverflowed(): boolean {\n\t\treturn this._isOverflowed;\n\t}\n\n\t/**\n\t * Defines if the toolbar item is overflowed.\n\t * @default false\n\t * @protected\n\t * @since 2.11.0\n\t */\n\t@property({ type: Boolean })\n\tset isOverflowed(value: boolean) {\n\t\tthis._isOverflowed = value;\n\n\t\tif (value) {\n\t\t\tthis._internals.states.add(\"overflowed\");\n\t\t} else {\n\t\t\tthis._internals.states.delete(\"overflowed\");\n\t\t}\n\t}\n\n\t_isRendering = true;\n\t_maxWidth = 0;\n\t_wrapperChecked = false;\n\tfireCloseOverflowRef = this.fireCloseOverflow.bind(this);\n\n\tcloseOverflowSet = {\n\t\t\"ui5-button\": [\"click\"],\n\t\t\"ui5-select\": [\"change\"],\n\t\t\"ui5-combobox\": [\"change\"],\n\t\t\"ui5-multi-combobox\": [\"selection-change\"],\n\t\t\"ui5-date-picker\": [\"change\"],\n\t\t\"ui5-switch\": [\"change\"],\n\t}\n\n\tpredefinedWrapperSet = {\n\t\t\"ui5-button\": \"ToolbarButton\",\n\t\t\"ui5-select\": \"ToolbarSelect\",\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.checkForWrapper();\n\t\tthis.attachCloseOverflowHandlers();\n\t}\n\n\tonAfterRendering(): void {\n\t\tthis._isRendering = false;\n\t}\n\n\tonExitDOM(): void {\n\t\tthis.detachCloseOverflowHandlers();\n\t}\n\n\t/**\n\t * Wrapped component slot.\n\t * @public\n\t * @since 2.20.0\n\t */\n\n\t@slot({\n\t\t\"default\": true, type: HTMLElement, invalidateOnChildChange: true,\n\t})\n\titem!: IOverflowToolbarItem[];\n\n\t// Method called by ui5-toolbar to inform about the existing toolbar wrapper\n\tcheckForWrapper() {\n\t\tif (this._wrapperChecked) {\n\t\t\treturn;\n\t\t}\n\t\tthis._wrapperChecked = true;\n\n\t\tconst tagName = this.itemTagName as keyof typeof this.predefinedWrapperSet;\n\t\tconst ctor = this.constructor as typeof UI5Element;\n\t\tconst wrapperName = ctor?.getMetadata ? ctor.getMetadata().getPureTag() : this.tagName;\n\t\tif (wrapperName === \"ui5-toolbar-item\"\n\t\t\t&& this.predefinedWrapperSet[tagName]) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn(`This UI5 web component has its predefined toolbar wrapper called ${this.predefinedWrapperSet[tagName]}.`);\n\t\t}\n\t}\n\n\t// We want to close the overflow popover, when closing event is being executed\n\tgetClosingEvents(): string[] {\n\t\tconst item = Array.isArray(this.item) ? this.item[0] : this.item;\n\n\t\tconst closeEvents = this.closeOverflowSet[this.itemTagName as keyof typeof this.closeOverflowSet] || [];\n\t\tif (!item) {\n\t\t\treturn [...closeEvents];\n\t\t}\n\t\tconst overflowCloseEvents = Array.isArray(item.overflowCloseEvents) ? item.overflowCloseEvents : [];\n\n\t\treturn [...closeEvents, ...overflowCloseEvents];\n\t}\n\n\tattachCloseOverflowHandlers() {\n\t\tconst closingEvents = this.getClosingEvents();\n\t\tclosingEvents.forEach(clEvent => {\n\t\t\tif (!this.preventOverflowClosing) {\n\t\t\t\tthis.addEventListener(clEvent, this.fireCloseOverflowRef);\n\t\t\t}\n\t\t});\n\t}\n\n\tdetachCloseOverflowHandlers() {\n\t\tconst closingEvents = this.getClosingEvents();\n\t\tclosingEvents.forEach(clEvent => {\n\t\t\tthis.removeEventListener(clEvent, this.fireCloseOverflowRef);\n\t\t});\n\t}\n\n\tfireCloseOverflow() {\n\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t}\n\t/**\n\t* Defines if the width of the item should be ignored in calculating the whole width of the toolbar\n\t* @protected\n\t*/\n\tget ignoreSpace(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is flexible. An item that is returning true for this property will make\n\t * the toolbar expand to fill the 100% width of its container.\n\t * @protected\n\t */\n\tget hasFlexibleWidth(): boolean {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns if the item is interactive.\n\t * This value is used to determinate if the toolbar should have its accessibility role and attributes set.\n\t * At least two interactive items are needed for the toolbar to have the role=\"toolbar\" attribute set.\n\t * @protected\n\t */\n\tget isInteractive(): boolean {\n\t\treturn true;\n\t}\n\n\tget itemTagName() {\n\t\tconst ctor = this.getSlottedNodes<IOverflowToolbarItem>(\"item\")[0]?.constructor as typeof UI5Element;\n\t\treturn ctor?.getMetadata ? ctor.getMetadata().getPureTag() : this.getSlottedNodes<IOverflowToolbarItem>(\"item\")[0]?.tagName;\n\t}\n\n\tget hasOverflow(): boolean {\n\t\treturn this.item[0]?.hasOverflow ?? false;\n\t}\n\n\t/**\n\t * Returns if the item is separator.\n\t * @protected\n\t */\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-tb-popover-item\": this.isOverflowed,\n\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport type {\n\tIEventOptions,\n\tToolbarItemEventDetail,\n\tIOverflowToolbarItem,\n};\nToolbarItem.define();\n\nexport default ToolbarItem;\n"]}
|
package/dist/ToolbarSpacer.js
CHANGED
|
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
8
8
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
|
-
import ToolbarCss from "./generated/themes/Toolbar.css.js";
|
|
10
9
|
import ToolbarItem from "./ToolbarItem.js";
|
|
11
10
|
/**
|
|
12
11
|
* @class
|
|
@@ -40,7 +39,6 @@ __decorate([
|
|
|
40
39
|
ToolbarSpacer = __decorate([
|
|
41
40
|
customElement({
|
|
42
41
|
tag: "ui5-toolbar-spacer",
|
|
43
|
-
styles: ToolbarCss,
|
|
44
42
|
})
|
|
45
43
|
], ToolbarSpacer);
|
|
46
44
|
ToolbarSpacer.define();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSpacer.js","sourceRoot":"","sources":["../src/ToolbarSpacer.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,
|
|
1
|
+
{"version":3,"file":"ToolbarSpacer.js","sourceRoot":"","sources":["../src/ToolbarSpacer.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C;;;;;;;;;;;GAWG;AAKH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAWtC,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IAC/E,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IAC/E,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAjBA;IADC,QAAQ,EAAE;4CACI;AATV,aAAa;IAJlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;KACzB,CAAC;GAEI,aAAa,CA0BlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\n\nimport ToolbarItem from \"./ToolbarItem.js\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-spacer` is an element, used for taking needed space for toolbar items to take 100% width.\n * It takes no space in calculating toolbar items width.\n * @constructor\n * @extends ToolbarItem\n * @abstract\n * @since 1.17.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-toolbar-spacer\",\n})\n\nclass ToolbarSpacer extends ToolbarItem {\n\t/**\n\t * Defines the width of the spacer.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\twidth?: string;\n\n\tget styles() {\n\t\treturn this.width ? { width: this.width } : { flex: \"auto\" };\n\t}\n\n\tget ignoreSpace() {\n\t\treturn this.width === \"\" || this.width === undefined || this.width === \"auto\";\n\t}\n\n\tget hasFlexibleWidth() {\n\t\treturn this.width === \"\" || this.width === undefined || this.width === \"auto\";\n\t}\n\n\tget isInteractive() {\n\t\treturn false;\n\t}\n}\n\nToolbarSpacer.define();\n\nexport default ToolbarSpacer;\n"]}
|
package/dist/ToolbarTemplate.js
CHANGED
|
@@ -8,7 +8,8 @@ export default function ToolbarTemplate() {
|
|
|
8
8
|
"ui5-tb-items-full-width": this.hasFlexibleSpacers,
|
|
9
9
|
}, role: this.accInfo.root.role, "aria-label": this.accInfo.root.accessibleName, children: [this.standardItems.map(item => {
|
|
10
10
|
return (_jsx("div", { class: {
|
|
11
|
-
"ui5-tb-item":
|
|
11
|
+
"ui5-tb-item": !item.hasFlexibleWidth,
|
|
12
|
+
"ui5-tb-spacer": item.hasFlexibleWidth,
|
|
12
13
|
"ui5-tb-self-overflow": item.hasOverflow,
|
|
13
14
|
}, id: item._individualSlot, children: _jsx("slot", { name: item._individualSlot }) }));
|
|
14
15
|
}), _jsx(Button, { "aria-hidden": this.hideOverflowButton, icon: overflowIcon, design: "Transparent", onClick: this.toggleOverflow, class: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarTemplate.js","sourceRoot":"","sources":["../src/ToolbarTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,CAAC,8BACP,eACC,KAAK,EAAE;oBACN,cAAc,EAAE,IAAI;oBACpB,yBAAyB,EAAE,IAAI,CAAC,kBAAkB;iBAClD,EACD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,aAE3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9B,OAAO,CACN,cAAK,KAAK,EAAE;gCACX,aAAa,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"ToolbarTemplate.js","sourceRoot":"","sources":["../src/ToolbarTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,CAAC,8BACP,eACC,KAAK,EAAE;oBACN,cAAc,EAAE,IAAI;oBACpB,yBAAyB,EAAE,IAAI,CAAC,kBAAkB;iBAClD,EACD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,aAE3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9B,OAAO,CACN,cAAK,KAAK,EAAE;gCACX,aAAa,EAAE,CAAC,IAAI,CAAC,gBAAgB;gCACrC,eAAe,EAAE,IAAI,CAAC,gBAAgB;gCACtC,sBAAsB,EAAE,IAAI,CAAC,WAAW;6BACxC,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,YAC1B,eAAM,IAAI,EAAE,IAAI,CAAC,eAAe,GAAS,GACpC,CACN,CAAC;oBACH,CAAC,CAAC,EACF,KAAC,MAAM,mBACO,IAAI,CAAC,kBAAkB,EACpC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE;4BACN,aAAa,EAAE,IAAI;4BACnB,qBAAqB,EAAE,IAAI;4BAC3B,4BAA4B,EAAE,IAAI,CAAC,kBAAkB;yBACrD,EACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAC5C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAC1D,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,GAC3E,IACG,EAEN,KAAC,OAAO,IACP,KAAK,EAAC,sBAAsB,EAC5B,SAAS,EAAC,QAAQ,EAClB,eAAe,EAAC,KAAK,EACrB,OAAO,EAAE,IAAI,CAAC,uBAAuB,EACrC,MAAM,EAAE,IAAI,CAAC,uBAAuB,EACpC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EACnD,SAAS,EAAE,IAAI,YAEf,cAAK,KAAK,EAAE;wBACX,mBAAmB,EAAE,IAAI;qBACzB,YACC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC9B,OAAO,CACN,cAAK,KAAK,EAAG;gCACZ,qBAAqB,EAAE,IAAI;gCAC3B,+CAA+C,EAAE,IAAI,CAAC,WAAW;gCACjE,8BAA8B,EAAE,IAAI,CAAC,WAAW;6BAChD,EAAC,EAAE,EAAE,IAAI,CAAC,eAAe,YACzB,eAAM,IAAI,EAAE,IAAI,CAAC,eAAe,GAAS,GACpC,CACN,CAAC;oBACH,CAAC,CAAC,GACG,GACG,IACR,CAAC,CAAC;AACN,CAAC","sourcesContent":["import Button from \"./Button.js\";\nimport type Toolbar from \"./Toolbar.js\";\nimport Popover from \"./Popover.js\";\nimport overflowIcon from \"@ui5/webcomponents-icons/dist/overflow.js\";\n\nexport default function ToolbarTemplate(this: Toolbar) {\n\treturn (<>\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-tb-items\": true,\n\t\t\t\t\"ui5-tb-items-full-width\": this.hasFlexibleSpacers,\n\t\t\t}}\n\t\t\trole={this.accInfo.root.role}\n\t\t\taria-label={this.accInfo.root.accessibleName}\n\t\t>\n\t\t\t{this.standardItems.map(item => {\n\t\t\t\treturn (\n\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\"ui5-tb-item\": !item.hasFlexibleWidth,\n\t\t\t\t\t\t\"ui5-tb-spacer\": item.hasFlexibleWidth,\n\t\t\t\t\t\t\"ui5-tb-self-overflow\": item.hasOverflow,\n\t\t\t\t\t}} id={item._individualSlot}>\n\t\t\t\t\t\t<slot name={item._individualSlot}></slot>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t<Button\n\t\t\t\taria-hidden={this.hideOverflowButton}\n\t\t\t\ticon={overflowIcon}\n\t\t\t\tdesign=\"Transparent\"\n\t\t\t\tonClick={this.toggleOverflow}\n\t\t\t\tclass={{\n\t\t\t\t\t\"ui5-tb-item\": true,\n\t\t\t\t\t\"ui5-tb-overflow-btn\": true,\n\t\t\t\t\t\"ui5-tb-overflow-btn-hidden\": this.hideOverflowButton,\n\t\t\t\t}}\n\t\t\t\ttooltip={this.accInfo.overflowButton.tooltip}\n\t\t\t\taccessibleName={this.accInfo.overflowButton.accessibleName}\n\t\t\t\taccessibilityAttributes={this.accInfo.overflowButton.accessibilityAttributes}\n\t\t\t/>\n\t\t</div>\n\n\t\t<Popover\n\t\t\tclass=\"ui5-overflow-popover\"\n\t\t\tplacement=\"Bottom\"\n\t\t\thorizontalAlign=\"End\"\n\t\t\tonClose={this.onOverflowPopoverClosed}\n\t\t\tonOpen={this.onOverflowPopoverOpened}\n\t\t\taccessibleName={this.accInfo.popover.accessibleName}\n\t\t\thideArrow={true}\n\t\t>\n\t\t\t<div class={{\n\t\t\t\t\"ui5-overflow-list\": true\n\t\t\t}}>\n\t\t\t\t{this.overflowItems.map(item => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div class= {{\n\t\t\t\t\t\t\t\"ui5-tb-popover-item\": true,\n\t\t\t\t\t\t\t\"ui5-tb-separator ui5-tb-separator-in-overflow\": item.isSeparator,\n\t\t\t\t\t\t\t\"ui5-tb-popover-self-overflow\": item.hasOverflow,\n\t\t\t\t\t\t}}id={item._individualSlot}>\n\t\t\t\t\t\t\t<slot name={item._individualSlot}></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</Popover>\n\t</>);\n}\n"]}
|
package/dist/YearPicker.js
CHANGED
|
@@ -315,13 +315,13 @@ let YearPicker = YearPicker_1 = class YearPicker extends CalendarPart {
|
|
|
315
315
|
}
|
|
316
316
|
};
|
|
317
317
|
__decorate([
|
|
318
|
-
property({ type: Array })
|
|
318
|
+
property({ type: Array, noAttribute: true })
|
|
319
319
|
], YearPicker.prototype, "selectedDates", void 0);
|
|
320
320
|
__decorate([
|
|
321
321
|
property()
|
|
322
322
|
], YearPicker.prototype, "selectionMode", void 0);
|
|
323
323
|
__decorate([
|
|
324
|
-
property({ type: Array })
|
|
324
|
+
property({ type: Array, noAttribute: true })
|
|
325
325
|
], YearPicker.prototype, "_yearsInterval", void 0);
|
|
326
326
|
__decorate([
|
|
327
327
|
property({ type: Boolean, noAttribute: true })
|
package/dist/YearPicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearPicker.js","sourceRoot":"","sources":["../src/YearPicker.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 transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { CalendarYearRangeT, ICalendarPicker } from \"./Calendar.js\";\nimport { YEAR_PICKER_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport YearPickerTemplate from \"./YearPickerTemplate.js\";\n\n// Styles\nimport yearPickerStyles from \"./generated/themes/YearPicker.css.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\n\ntype Year = {\n\ttimestamp: string;\n\t_tabIndex: number;\n\tfocusRef: boolean;\n\tselected: boolean;\n\tariaSelected: boolean;\n\tyear: string;\n\tyearInSecType: string | undefined;\n\tdisabled: boolean;\n\tariaDisabled: boolean | undefined;\n\tclasses: string;\n\tparts: string;\n}\n\ntype YearInterval = Array<Array<Year>>;\n\ntype YearPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype YearPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Displays years which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-yearpicker\",\n\tstyles: yearPickerStyles,\n\ttemplate: YearPickerTemplate,\n})\n/**\n * Fired when the user selects a year 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 * @since 1.0.0-rc.9\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass YearPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": YearPickerChangeEventDetail,\n\t\t\"navigate\": YearPickerNavigateEventDetail,\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 the type of selection used in the year picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single year.\n\t * - `CalendarSelectionMode.Range` - enables selection of a year range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Year Picker!\n\t * @default \"Single\"\n\t * @since 2.2.0\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t@property({ type: Array })\n\t_yearsInterval: YearInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first year in the range is selected, this is the currently hovered or focused year.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@property({ noAttribute: true })\n\t_currentYearRange?: CalendarYearRangeT;\n\n\t_firstYear?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn YearPicker.i18nBundle.getText(YEAR_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._firstYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();\n\t\tthis._buildYears();\n\t}\n\n\t_getPageSize() {\n\t\t// Total years on a single page depending on using on one or two calendar type\n\t\treturn this.hasSecondaryCalendarType ? 8 : 20;\n\t}\n\n\t_getRowSize() {\n\t\t// Years per row (5 rows of 4 years each) for one claendar type and (4 row of 2 years each) for two calendar type\n\t\treturn this.hasSecondaryCalendarType ? 2 : 4;\n\t}\n\n\t_buildYears() {\n\t\tconst pageSize = this._getPageSize();\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst oYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._primaryCalendarType }, locale);\n\t\tconst oYearFormatInSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this.secondaryCalendarType }, locale);\n\n\t\tconst calendarDate = this._calendarDate; // store the value of the expensive getter\n\t\tconst minDate = this._minDate; // store the value of the expensive getter\n\t\tconst maxDate = this._maxDate; // store the value of the expensive getter\n\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\tlet tempDateInSecType;\n\t\tlet textInSecType;\n\t\ttempDate.setYear(this._firstYear!);\n\n\t\tconst intervals: YearInterval = [];\n\t\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < pageSize; i++) {\n\t\t\ttimestamp = tempDate.valueOf() / 1000;\n\n\t\t\tconst isSelected = this.selectedDates.some(itemTimestamp => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(itemTimestamp * 1000, this._primaryCalendarType);\n\t\t\t\treturn date.getYear() === tempDate.getYear();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getYear() === calendarDate.getYear();\n\t\t\tconst isDisabled = tempDate.getYear() < minDate.getYear() || tempDate.getYear() > maxDate.getYear();\n\t\t\tconst isSelectedBetween = this._isYearInsideSelectionRange(timestamp);\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\ttempDateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp, true);\n\t\t\t\ttextInSecType = tempDateInSecType.firstDate.getYear() === tempDateInSecType.lastDate.getYear()\n\t\t\t\t\t? `${oYearFormatInSecType.format(tempDateInSecType.firstDate.toLocalJSDate())}`\n\t\t\t\t\t: `${oYearFormatInSecType.format(tempDateInSecType.firstDate.toLocalJSDate())} - ${oYearFormatInSecType.format(tempDateInSecType.lastDate.toLocalJSDate())}`;\n\t\t\t}\n\n\t\t\tconst year: Year = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tyear: oYearFormat.format(tempDate.toLocalJSDate()),\n\t\t\t\tyearInSecType: textInSecType,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-yp-item\",\n\t\t\t\tparts: \"year-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tyear.classes += \" ui5-yp-item--selected\";\n\t\t\t\tyear.parts += \" year-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tyear.classes += \" ui5-yp-item--selected-between\";\n\t\t\t\tyear.parts += \" year-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tyear.classes += \" ui5-yp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tyear.classes += \" ui5-yp-item-secondary-type\";\n\t\t\t}\n\t\t\tconst intervalIndex = Math.floor(i / this._getRowSize());\n\n\t\t\tif (intervals[intervalIndex]) {\n\t\t\t\tintervals[intervalIndex].push(year);\n\t\t\t} else {\n\t\t\t\tintervals[intervalIndex] = [year];\n\t\t\t}\n\n\t\t\ttempDate.setYear(tempDate.getYear() + 1);\n\t\t}\n\n\t\tthis._yearsInterval = intervals;\n\t}\n\n\t/**\n\t * Returns true if year timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isYearInsideSelectionRange(timestamp: number): boolean {\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - second is hovered or focused\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\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._selectYear(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._yearsInterval[0][0].timestamp)); // first year of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearsInterval[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year 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_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._yearsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear() === this._calendarDate.getYear());\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 * In range selection, the currently focused or hovered year is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\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-yp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\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 * Modifies timestamp by a given amount of years 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\tthis._safelyModifyTimestampBy(amount, \"year\");\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectYear(e);\n\t\t}\n\t}\n\n\t/**\n\t * User clicked with the mouser or pressed Enter/Space\n\t * @param e\n\t * @private\n\t */\n\t_selectYear(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target.className.indexOf(\"ui5-yp-item\") === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\t\tthis._updateSelectedDates(timestamp);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number) {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\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._firstYear! > 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\treturn this._firstYear! + this._getPageSize() - 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\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\tthis._modifyTimestampBy(this._getPageSize());\n\t}\n}\n\nYearPicker.define();\n\nexport default YearPicker;\nexport type {\n\tYearPickerChangeEventDetail,\n\tYearPickerNavigateEventDetail,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"YearPicker.js","sourceRoot":"","sources":["../src/YearPicker.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GACV,MAAM,sCAAsC,CAAC;AAC9C,OAAO,SAAS,MAAM,kDAAkD,CAAC;AACzE,OAAO,4BAA4B,MAAM,4EAA4E,CAAC;AACtH,OAAO,YAAY,MAAM,4DAA4D,CAAC;AAEtF,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,WAAW;AACX,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,SAAS;AACT,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AAErE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AA2BlH;;;;;;;GAOG;AAmBH,IAAM,UAAU,kBAAhB,MAAM,UAAW,SAAQ,YAAY;IAArC;;QAMC;;;;WAIG;QAEH,kBAAa,GAAkB,EAAE,CAAC;QAElC;;;;;;;;;;WAUG;QAEH,kBAAa,GAA+B,QAAQ,CAAC;QAGrD,mBAAc,GAAiB,EAAE,CAAC;QAGlC,YAAO,GAAG,KAAK,CAAC;IAkTjB,CAAC;IAhSA,IAAI,eAAe;QAClB,OAAO,YAAU,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACvH,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,YAAY;QACX,8EAA8E;QAC9E,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,WAAW;QACV,iHAAiH;QACjH,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,EAAwB,CAAC;QACjD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;QACjH,MAAM,oBAAoB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,CAAC,CAAC;QAE3H,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,0CAA0C;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,0CAA0C;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,0CAA0C;QACzE,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3E,IAAI,iBAAiB,CAAC;QACtB,IAAI,aAAa,CAAC;QAClB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;QAEnC,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC;QAEd,iCAAiC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC1D,MAAM,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YACpG,MAAM,iBAAiB,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACnC,iBAAiB,GAAG,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzH,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE;oBAC7F,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE;oBAC/E,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;YAC/J,CAAC;YAED,MAAM,IAAI,GAAS;gBAClB,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC/B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,UAAU,IAAI,iBAAiB;gBACzC,YAAY,EAAE,UAAU,IAAI,iBAAiB;gBAC7C,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAClD,aAAa,EAAE,aAAa;gBAC5B,QAAQ,EAAE,UAAU;gBACpB,YAAY,EAAE,UAAU;gBACxB,OAAO,EAAE,aAAa;gBACtB,KAAK,EAAE,WAAW;aAClB,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,IAAI,wBAAwB,CAAC;gBACzC,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC;YACrC,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,IAAI,gCAAgC,CAAC;gBACjD,IAAI,CAAC,KAAK,IAAI,6BAA6B,CAAC;YAC7C,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,IAAI,wBAAwB,CAAC;YAC1C,CAAC;YAED,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,IAAI,6BAA6B,CAAC;YAC/C,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzD,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;;QAGI;IACJ,2BAA2B,CAAC,SAAiB;QAC5C,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACtF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9D,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAC9F,CAAC;aAAM,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAC3H,CAAC;aAAM,CAAC;YACP,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,YAAY,CAAC,WAAoB;QAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjJ,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,kCAAkC;gBAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,8DAA8D;gBACtH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACrB,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAChI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,CAAa;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAgB,CAAC;QAClE,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,MAAc;QAChC,+BAA+B;QAC/B,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,CAAQ;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAEvC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO;QACR,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,SAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,aAAa;SACzB,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,SAAiB;QACrC,IAAI,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACxD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,UAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,UAAW,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,CAAC;CACD,CAAA;AAtUA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;iDACX;AAclC;IADC,QAAQ,EAAE;iDAC0C;AAGrD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;kDACX;AAGlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CAC/B;AAQhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACD;AAG1B;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDACO;AAKhC;IADN,IAAI,CAAC,oBAAoB,CAAC;oCACG;AAhDzB,UAAU;IAlBf,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;KAC5B,CAAC;IACF;;OAEG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,UAAU,CAkVf;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","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 transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { CalendarYearRangeT, ICalendarPicker } from \"./Calendar.js\";\nimport { YEAR_PICKER_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport YearPickerTemplate from \"./YearPickerTemplate.js\";\n\n// Styles\nimport yearPickerStyles from \"./generated/themes/YearPicker.css.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\n\ntype Year = {\n\ttimestamp: string;\n\t_tabIndex: number;\n\tfocusRef: boolean;\n\tselected: boolean;\n\tariaSelected: boolean;\n\tyear: string;\n\tyearInSecType: string | undefined;\n\tdisabled: boolean;\n\tariaDisabled: boolean | undefined;\n\tclasses: string;\n\tparts: string;\n}\n\ntype YearInterval = Array<Array<Year>>;\n\ntype YearPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype YearPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Displays years which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-yearpicker\",\n\tstyles: yearPickerStyles,\n\ttemplate: YearPickerTemplate,\n})\n/**\n * Fired when the user selects a year 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 * @since 1.0.0-rc.9\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass YearPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": YearPickerChangeEventDetail,\n\t\t\"navigate\": YearPickerNavigateEventDetail,\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, noAttribute: true })\n\tselectedDates: Array<number> = [];\n\n\t/**\n\t * Defines the type of selection used in the year picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single year.\n\t * - `CalendarSelectionMode.Range` - enables selection of a year range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Year Picker!\n\t * @default \"Single\"\n\t * @since 2.2.0\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t@property({ type: Array, noAttribute: true })\n\t_yearsInterval: YearInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first year in the range is selected, this is the currently hovered or focused year.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@property({ noAttribute: true })\n\t_currentYearRange?: CalendarYearRangeT;\n\n\t_firstYear?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn YearPicker.i18nBundle.getText(YEAR_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._firstYear = this._currentYearRange?.startYear ? this._currentYearRange?.startYear : this._calendarDate.getYear();\n\t\tthis._buildYears();\n\t}\n\n\t_getPageSize() {\n\t\t// Total years on a single page depending on using on one or two calendar type\n\t\treturn this.hasSecondaryCalendarType ? 8 : 20;\n\t}\n\n\t_getRowSize() {\n\t\t// Years per row (5 rows of 4 years each) for one claendar type and (4 row of 2 years each) for two calendar type\n\t\treturn this.hasSecondaryCalendarType ? 2 : 4;\n\t}\n\n\t_buildYears() {\n\t\tconst pageSize = this._getPageSize();\n\t\tconst locale = getLocale() as unknown as LocaleT;\n\t\tconst oYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._primaryCalendarType }, locale);\n\t\tconst oYearFormatInSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this.secondaryCalendarType }, locale);\n\n\t\tconst calendarDate = this._calendarDate; // store the value of the expensive getter\n\t\tconst minDate = this._minDate; // store the value of the expensive getter\n\t\tconst maxDate = this._maxDate; // store the value of the expensive getter\n\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\tlet tempDateInSecType;\n\t\tlet textInSecType;\n\t\ttempDate.setYear(this._firstYear!);\n\n\t\tconst intervals: YearInterval = [];\n\t\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < pageSize; i++) {\n\t\t\ttimestamp = tempDate.valueOf() / 1000;\n\n\t\t\tconst isSelected = this.selectedDates.some(itemTimestamp => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(itemTimestamp * 1000, this._primaryCalendarType);\n\t\t\t\treturn date.getYear() === tempDate.getYear();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getYear() === calendarDate.getYear();\n\t\t\tconst isDisabled = tempDate.getYear() < minDate.getYear() || tempDate.getYear() > maxDate.getYear();\n\t\t\tconst isSelectedBetween = this._isYearInsideSelectionRange(timestamp);\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\ttempDateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp, true);\n\t\t\t\ttextInSecType = tempDateInSecType.firstDate.getYear() === tempDateInSecType.lastDate.getYear()\n\t\t\t\t\t? `${oYearFormatInSecType.format(tempDateInSecType.firstDate.toLocalJSDate())}`\n\t\t\t\t\t: `${oYearFormatInSecType.format(tempDateInSecType.firstDate.toLocalJSDate())} - ${oYearFormatInSecType.format(tempDateInSecType.lastDate.toLocalJSDate())}`;\n\t\t\t}\n\n\t\t\tconst year: Year = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tyear: oYearFormat.format(tempDate.toLocalJSDate()),\n\t\t\t\tyearInSecType: textInSecType,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-yp-item\",\n\t\t\t\tparts: \"year-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tyear.classes += \" ui5-yp-item--selected\";\n\t\t\t\tyear.parts += \" year-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tyear.classes += \" ui5-yp-item--selected-between\";\n\t\t\t\tyear.parts += \" year-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tyear.classes += \" ui5-yp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tyear.classes += \" ui5-yp-item-secondary-type\";\n\t\t\t}\n\t\t\tconst intervalIndex = Math.floor(i / this._getRowSize());\n\n\t\t\tif (intervals[intervalIndex]) {\n\t\t\t\tintervals[intervalIndex].push(year);\n\t\t\t} else {\n\t\t\t\tintervals[intervalIndex] = [year];\n\t\t\t}\n\n\t\t\ttempDate.setYear(tempDate.getYear() + 1);\n\t\t}\n\n\t\tthis._yearsInterval = intervals;\n\t}\n\n\t/**\n\t * Returns true if year timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isYearInsideSelectionRange(timestamp: number): boolean {\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - second is hovered or focused\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\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._selectYear(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._yearsInterval[0][0].timestamp)); // first year of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._yearsInterval[pageSize / rowSize - 1][rowSize - 1].timestamp)); // last year 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_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._yearsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getYear() === this._calendarDate.getYear());\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 * In range selection, the currently focused or hovered year is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\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-yp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\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 * Modifies timestamp by a given amount of years 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\tthis._safelyModifyTimestampBy(amount, \"year\");\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectYear(e);\n\t\t}\n\t}\n\n\t/**\n\t * User clicked with the mouser or pressed Enter/Space\n\t * @param e\n\t * @private\n\t */\n\t_selectYear(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target.className.indexOf(\"ui5-yp-item\") === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\t\tthis._updateSelectedDates(timestamp);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number) {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\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._firstYear! > 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\treturn this._firstYear! + this._getPageSize() - 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\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\tthis._modifyTimestampBy(this._getPageSize());\n\t}\n}\n\nYearPicker.define();\n\nexport default YearPicker;\nexport type {\n\tYearPickerChangeEventDetail,\n\tYearPickerNavigateEventDetail,\n};\n"]}
|
package/dist/YearRangePicker.js
CHANGED
|
@@ -365,7 +365,7 @@ let YearRangePicker = YearRangePicker_1 = class YearRangePicker extends Calendar
|
|
|
365
365
|
}
|
|
366
366
|
};
|
|
367
367
|
__decorate([
|
|
368
|
-
property({ type: Array })
|
|
368
|
+
property({ type: Array, noAttribute: true })
|
|
369
369
|
], YearRangePicker.prototype, "selectedDates", void 0);
|
|
370
370
|
__decorate([
|
|
371
371
|
property({ type: Boolean, noAttribute: true })
|
|
@@ -374,7 +374,7 @@ __decorate([
|
|
|
374
374
|
property({ type: Number })
|
|
375
375
|
], YearRangePicker.prototype, "_secondTimestamp", void 0);
|
|
376
376
|
__decorate([
|
|
377
|
-
property({ type: Array })
|
|
377
|
+
property({ type: Array, noAttribute: true })
|
|
378
378
|
], YearRangePicker.prototype, "_yearRanges", void 0);
|
|
379
379
|
__decorate([
|
|
380
380
|
property({ type: Boolean, noAttribute: true })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YearRangePicker.js","sourceRoot":"","sources":["../src/YearRangePicker.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GACV,MAAM,sCAAsC,CAAC;AAC9C,OAAO,SAAS,MAAM,kDAAkD,CAAC;AACzE,OAAO,YAAY,MAAM,4DAA4D,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAEhG,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,WAAW;AACX,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,SAAS;AACT,OAAO,qBAAqB,MAAM,2CAA2C,CAAC;AAE9E,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AA0B7H;;;;;;;GAOG;AAqBH,IAAM,eAAe,uBAArB,MAAM,eAAgB,SAAQ,YAAY;IAA1C;;QAMC;;;;WAIG;QAEH,kBAAa,GAAkB,EAAE,CAAC;QAElC;;;;;WAKG;QAEH,wBAAmB,GAAG,KAAK,CAAC;QAW5B,gBAAW,GAAe,EAAE,CAAC;QAG7B,YAAO,GAAG,KAAK,CAAC;IA2XjB,CAAC;IAjXA,IAAI,eAAe;QAClB,OAAO,iBAAe,CAAC,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,oBAAoB;QACnB,MAAM,MAAM,GAAG,SAAS,EAAwB,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3D,OAAO,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC;IAC1E,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,uBAAuB;QACtB,OAAO,CAAC,CAAC;IACV,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,0BAA0B,CAAC,SAAuB,EAAE,OAAqB,EAAE,UAAsB;QAChG,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;IAC1G,CAAC;IAED,iBAAiB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC7C,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAE9H,kEAAkE;QAClE,IAAI,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAE/F,kEAAkE;QAClE,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,aAAa,CAAC,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC;QAEpG,wEAAwE;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,gBAAgB,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;YAC5C,aAAa,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;QAChF,IAAI,gBAAgB,GAAG,eAAe,GAAG,eAAe,EAAE,CAAC;YAC1D,aAAa,GAAG,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,cAAc;QACb,MAAM,MAAM,GAAG,SAAS,EAAwB,CAAC;QACjD,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;QAChH,MAAM,mBAAmB,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,MAAM,CAAC,CAAC;QAE3H,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3E,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;YAEnD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAE9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEpG,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAElE,MAAM,aAAa,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACrF,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE7I,MAAM,UAAU,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;mBACrE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAEvI,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;YAE9C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,SAAkB,EAAE,UAAmB,EAAE,iBAA0B,EAAE,aAAqB,EAAE,gBAAoC,EAAE,UAAmB;QACrL,MAAM,SAAS,GAAc;YAC5B,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,UAAU,IAAI,iBAAiB;YACzC,YAAY,EAAE,UAAU,IAAI,iBAAiB;YAC7C,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,gBAAgB;YAChC,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,UAAU;YACxB,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,iBAAiB;SACxB,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YAChB,SAAS,CAAC,OAAO,IAAI,yBAAyB,CAAC;YAC/C,SAAS,CAAC,KAAK,IAAI,2BAA2B,CAAC;QAChD,CAAC;QAED,IAAI,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,SAAS,CAAC,OAAO,IAAI,iCAAiC,CAAC;YACvD,SAAS,CAAC,KAAK,IAAI,mCAAmC,CAAC;QACxD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YAChB,SAAS,CAAC,OAAO,IAAI,yBAAyB,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,SAAS,CAAC,OAAO,IAAI,8BAA8B,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,SAAS,CAAC,OAAO,IAAI,+BAA+B,CAAC;QACtD,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,oBAAoB,CAAC,SAAiB,EAAE,OAAe;QACtD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC9C,OAAO,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;QAGI;IACJ,uBAAuB,CAAC,SAAiB;QACxC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9D,OAAO,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC;QACjG,CAAC;aAAM,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAC9H,CAAC;aAAM,CAAC;YACP,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,YAAY,CAAC,WAAoB;QAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACvC,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACjD,OAAO,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,kCAAkC;gBAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,8DAA8D;gBACtH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,CAAa;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAgB,CAAC;QACnE,IAAI,WAAW,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QAC1B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACH,sBAAsB;QACrB,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACtG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,CAAQ;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAEvC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO;QACR,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClD,SAAS,GAAG,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,SAAU;SAC1B,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,+BAA+B,CAAC,YAAoB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChG,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;QAE7C,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEnC,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,cAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,cAAe,GAAG,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,MAAc;QAChC,+BAA+B;QAC/B,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAErD,8CAA8C;QAC9C,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC/B,IAAI,CAAC,cAAe,IAAI,KAAK,CAAC;IAC/B,CAAC;CACD,CAAA;AAlZA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;sDACQ;AASlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4DACnB;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACD;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oDACG;AAG7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC/B;AAGhB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACO;AAKhC;IADN,IAAI,CAAC,oBAAoB,CAAC;yCACG;AA3CzB,eAAe;IApBpB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE;YACP,qBAAqB;SACrB;QACD,QAAQ,EAAE,uBAAuB;KACjC,CAAC;IAEF;;OAEG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IACF;;OAEG;;IACF,KAAK,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,eAAe,CA8ZpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","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\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"]}
|
|
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, noAttribute: true })\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, noAttribute: true })\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\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}.inputIcon{color:var(--_ui5_input_icon_color);cursor:pointer;outline:none;padding:var(--_ui5_input_icon_padding);border-inline-start:var(--_ui5_input_icon_border);min-width:1rem;min-height:1rem;border-radius:var(--_ui5_input_icon_border_radius)}.inputIcon.inputIcon--pressed{background:var(--_ui5_input_icon_pressed_bg);box-shadow:var(--_ui5_input_icon_box_shadow);border-inline-start:var(--_ui5_select_hover_icon_left_border);color:var(--_ui5_input_icon_pressed_color)}.inputIcon:active{background-color:var(--sapButton_Active_Background);box-shadow:var(--_ui5_input_icon_box_shadow);border-inline-start:var(--_ui5_select_hover_icon_left_border);color:var(--_ui5_input_icon_pressed_color)}.inputIcon:not(.inputIcon--pressed):not(:active):hover{background:var(--_ui5_input_icon_hover_bg);box-shadow:var(--_ui5_input_icon_box_shadow)}.inputIcon:hover{border-inline-start:var(--_ui5_select_hover_icon_left_border);box-shadow:var(--_ui5_input_icon_box_shadow)}:host([disabled]){cursor:default;pointer-events:none;background:none}:host([readonly]:not([disabled])){border-color:var(--_ui5_input_readonly_border_color);background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--_ui5_input_readonly_background)}:host([value-state="Negative"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_error_icon_box_shadow)}:host([value-state="Critical"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_warning_icon_box_shadow)}:host([value-state="Information"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_information_icon_box_shadow)}:host([value-state="Positive"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_success_icon_box_shadow)}:host([value-state="Negative"]:not([readonly]):not([disabled])){background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border-color:var(--_ui5_input_value_state_error_border_color);box-shadow:var(--sapField_InvalidShadow)}:host([value-state="Critical"]:not([readonly]):not([disabled])){background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border-color:var(--_ui5_input_value_state_warning_border_color);box-shadow:var(--sapField_WarningShadow)}:host([value-state="Positive"]:not([readonly]):not([disabled])){background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border-color:var(--_ui5_input_value_state_success_border_color);border-width:var(--_ui5_input_value_state_success_border_width);box-shadow:var(--sapField_SuccessShadow)}:host([value-state="Information"]:not([readonly]):not([disabled])){background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border-color:var(--_ui5_input_value_state_information_border_color);border-width:var(--_ui5_input_information_border_width);box-shadow:var(--sapField_InformationShadow)}:host([value-state="Negative"]) .inputIcon:active,:host([value-state="Negative"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_error_icon_box_shadow);color:var(--_ui5_input_icon_error_pressed_color)}:host([value-state="Critical"]) .inputIcon:active,:host([value-state="Critical"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_warning_icon_box_shadow);color:var(--_ui5_input_icon_warning_pressed_color)}:host([value-state="Information"]) .inputIcon:active,:host([value-state="Information"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_information_icon_box_shadow);color:var(--_ui5_input_icon_information_pressed_color)}:host([value-state="Positive"]) .inputIcon:active,:host([value-state="Positive"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_success_icon_box_shadow);color:var(--_ui5_input_icon_success_pressed_color)}:host([value-state="Negative"]) .inputIcon,:host([value-state="Critical"]) .inputIcon{padding:var(--_ui5_input_error_warning_icon_padding)}:host([value-state="Information"]) .inputIcon{padding:var(--_ui5_input_information_icon_padding)}:host{vertical-align:middle}:host(:not([hidden])){display:inline-block;line-height:normal;letter-spacing:normal;word-spacing:normal;height:var(--_ui5_input_height);border-radius:var(--_ui5_input_border_radius)}:host{min-width:calc(var(--_ui5_input_min_width) + var(--_ui5_input_icon_width));color:var(--sapField_TextColor);background-color:var(--sapField_Background);border-radius:var(--_ui5-datepicker_border_radius);margin:var(--_ui5_input_margin_top_bottom) 0;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}:host(:not([disabled]):not([readonly]):active){background:var(--_ui5-datepicker-hover-background)}:host(:not([disabled]):not([readonly]):hover){background:var(--_ui5-datepicker-hover-background)}.ui5-date-picker-root{border-radius:inherit;height:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit}:host .ui5-date-picker-input{
|
|
1
|
+
.ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}.inputIcon{color:var(--_ui5_input_icon_color);cursor:pointer;outline:none;padding:var(--_ui5_input_icon_padding);border-inline-start:var(--_ui5_input_icon_border);min-width:1rem;min-height:1rem;border-radius:var(--_ui5_input_icon_border_radius)}.inputIcon.inputIcon--pressed{background:var(--_ui5_input_icon_pressed_bg);box-shadow:var(--_ui5_input_icon_box_shadow);border-inline-start:var(--_ui5_select_hover_icon_left_border);color:var(--_ui5_input_icon_pressed_color)}.inputIcon:active{background-color:var(--sapButton_Active_Background);box-shadow:var(--_ui5_input_icon_box_shadow);border-inline-start:var(--_ui5_select_hover_icon_left_border);color:var(--_ui5_input_icon_pressed_color)}.inputIcon:not(.inputIcon--pressed):not(:active):hover{background:var(--_ui5_input_icon_hover_bg);box-shadow:var(--_ui5_input_icon_box_shadow)}.inputIcon:hover{border-inline-start:var(--_ui5_select_hover_icon_left_border);box-shadow:var(--_ui5_input_icon_box_shadow)}:host([disabled]){cursor:default;pointer-events:none;background:none}:host([readonly]:not([disabled])){border-color:var(--_ui5_input_readonly_border_color);background:var(--sapField_ReadOnly_BackgroundStyle);background-color:var(--_ui5_input_readonly_background)}:host([value-state="Negative"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_error_icon_box_shadow)}:host([value-state="Critical"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_warning_icon_box_shadow)}:host([value-state="Information"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_information_icon_box_shadow)}:host([value-state="Positive"]) .inputIcon:not(.inputIcon--pressed):not(:active):hover{box-shadow:var(--_ui5_input_success_icon_box_shadow)}:host([value-state="Negative"]:not([readonly]):not([disabled])){background:var(--sapField_InvalidBackgroundStyle);background-color:var(--sapField_InvalidBackground);border-color:var(--_ui5_input_value_state_error_border_color);box-shadow:var(--sapField_InvalidShadow)}:host([value-state="Critical"]:not([readonly]):not([disabled])){background:var(--sapField_WarningBackgroundStyle);background-color:var(--sapField_WarningBackground);border-color:var(--_ui5_input_value_state_warning_border_color);box-shadow:var(--sapField_WarningShadow)}:host([value-state="Positive"]:not([readonly]):not([disabled])){background:var(--sapField_SuccessBackgroundStyle);background-color:var(--sapField_SuccessBackground);border-color:var(--_ui5_input_value_state_success_border_color);border-width:var(--_ui5_input_value_state_success_border_width);box-shadow:var(--sapField_SuccessShadow)}:host([value-state="Information"]:not([readonly]):not([disabled])){background:var(--sapField_InformationBackgroundStyle);background-color:var(--sapField_InformationBackground);border-color:var(--_ui5_input_value_state_information_border_color);border-width:var(--_ui5_input_information_border_width);box-shadow:var(--sapField_InformationShadow)}:host([value-state="Negative"]) .inputIcon:active,:host([value-state="Negative"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_error_icon_box_shadow);color:var(--_ui5_input_icon_error_pressed_color)}:host([value-state="Critical"]) .inputIcon:active,:host([value-state="Critical"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_warning_icon_box_shadow);color:var(--_ui5_input_icon_warning_pressed_color)}:host([value-state="Information"]) .inputIcon:active,:host([value-state="Information"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_information_icon_box_shadow);color:var(--_ui5_input_icon_information_pressed_color)}:host([value-state="Positive"]) .inputIcon:active,:host([value-state="Positive"]) .inputIcon.inputIcon--pressed{box-shadow:var(--_ui5_input_success_icon_box_shadow);color:var(--_ui5_input_icon_success_pressed_color)}:host([value-state="Negative"]) .inputIcon,:host([value-state="Critical"]) .inputIcon{padding:var(--_ui5_input_error_warning_icon_padding)}:host([value-state="Information"]) .inputIcon{padding:var(--_ui5_input_information_icon_padding)}:host{vertical-align:middle}:host(:not([hidden])){display:inline-block;line-height:normal;letter-spacing:normal;word-spacing:normal;height:var(--_ui5_input_height);border-radius:var(--_ui5_input_border_radius)}:host{min-width:calc(var(--_ui5_input_min_width) + var(--_ui5_input_icon_width));color:var(--sapField_TextColor);background-color:var(--sapField_Background);border-radius:var(--_ui5-datepicker_border_radius);margin:var(--_ui5_input_margin_top_bottom) 0;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}:host(:not([disabled]):not([readonly]):active){background:var(--_ui5-datepicker-hover-background)}:host(:not([disabled]):not([readonly]):hover){background:var(--_ui5-datepicker-hover-background)}.ui5-date-picker-root{border-radius:inherit;height:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit}:host .ui5-date-picker-input{color:inherit;background-color:inherit;border-radius:inherit;height:inherit;line-height:inherit;letter-spacing:inherit;word-spacing:inherit;margin:inherit}:host([disabled]) .ui5-date-picker-input{background-color:var(--_ui5-input_disabled_background);opacity:var(--_ui5_input_disabled_opacity)}:host(:not([disabled]):not([readonly])) .ui5-date-picker-input[focused]{background-color:var(--_ui5-datepicker-hover-background)}.ui5-date-picker-popover::part(header){padding:0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{min-width:15rem;color:var(--sapField_TextColor);background-color:var(--sapField_Background)}:host .ui5-date-picker-input{min-width:inherit;color:inherit;background-color:inherit}
|
|
1
|
+
:host{min-width:15rem;color:var(--sapField_TextColor);background-color:var(--sapField_Background)}:host .ui5-date-picker-input{width:100%;min-width:inherit;color:inherit;background-color:inherit}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{display:flex;flex-wrap:wrap;align-content:var(--_ui5_table_cell_valign);min-width:var(--_ui5_table_cell_min_width);max-width:100%;overflow:clip;overflow-clip-margin:content-box;padding:var(--_ui5_table_cell_vertical_padding) var(--_ui5_table_cell_horizontal_padding);box-sizing:border-box}:host([_popin]){justify-content:
|
|
1
|
+
:host{display:flex;flex-wrap:wrap;align-content:var(--_ui5_table_cell_valign);min-width:var(--_ui5_table_cell_min_width);max-width:100%;overflow:clip;overflow-clip-margin:content-box;padding:var(--_ui5_table_cell_vertical_padding) var(--_ui5_table_cell_horizontal_padding);box-sizing:border-box}:host([_popin]){justify-content:initial!important;text-align:initial!important}:host([tabindex]:focus){outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:calc(-1 * var(--sapContent_FocusWidth))}:host(#selection-cell){width:auto;min-width:auto;background-color:inherit}:host([data-ui5-table-cell-fixed]){position:sticky;z-index:1}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{background:var(--sapList_Background)}:host([_alternate]){background:var(--_ui5_table_row_alternating_background)}:host([aria-selected=true]){background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}@media (hover: hover){:host([_interactive]:hover){background:var(--sapList_Hover_Background)}:host([_interactive][aria-selected=true]:hover){background:var(--sapList_Hover_SelectionBackground)}}:host([_interactive]
|
|
1
|
+
:host{background:var(--sapList_Background)}:host([_alternate]){background:var(--_ui5_table_row_alternating_background)}:host([aria-selected=true]){background:var(--sapList_SelectionBackgroundColor);border-bottom:var(--sapList_BorderWidth) solid var(--sapList_SelectionBorderColor)}@media (hover: hover){:host([_interactive]:hover){background:var(--sapList_Hover_Background)}:host([_interactive][aria-selected=true]:hover){background:var(--sapList_Hover_SelectionBackground)}}:host([_interactive][_active]),:host([_interactive][aria-selected=true][_active]){background:var(--sapList_Active_Background)}:host([_interactive]){cursor:pointer}:host([position]){height:var(--row-height)}#popin-cell{align-content:initial;flex-direction:column;grid-column:1 / -1}#navigated-cell{position:sticky;right:0;overflow:visible;grid-row:span 2;min-width:0;padding:0;background:inherit}:dir(rtl)#navigated-cell{left:0}:host([navigated]) #navigated{position:absolute;inset:0;background:var(--sapList_SelectionBorderColor)}:host([tabindex]:focus) #navigated{transform:translate(calc(var(--_ui5_table_navigated_cell_width) * -1));bottom:2px;top:3px}:host([tabindex]:focus) #navigated:dir(rtl){transform:translate(var(--_ui5_table_navigated_cell_width))}:host([tabindex]:focus) #navigated-cell{clip-path:inset(var(--sapContent_FocusWidth) var(--sapContent_FocusWidth) var(--sapContent_FocusWidth) calc(var(--_ui5_table_navigated_cell_width) * -1))}:host([tabindex]:focus) #navigated-cell:dir(rtl){clip-path:inset(var(--sapContent_FocusWidth) calc(var(--_ui5_table_navigated_cell_width) * -1) var(--sapContent_FocusWidth) var(--sapContent_FocusWidth))}:host([navigated]) #popin-cell{grid-column:1 / -2}#selection-cell~#popin-cell{grid-column-start:2}#actions-cell{display:flex;align-items:center;gap:var(--_ui5_table_row_actions_gap)}#actions-cell:has(+#navigated-cell){right:var(--_ui5_table_navigated_cell_width);overflow:auto}:dir(rtl)#actions-cell:has(+#navigated-cell){left:var(--_ui5_table_navigated_cell_width)}
|