@ui5/webcomponents 2.21.0-rc.4 → 2.21.1

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.d.ts +11 -0
  4. package/dist/Button.js +3 -0
  5. package/dist/Button.js.map +1 -1
  6. package/dist/Calendar.d.ts +2 -2
  7. package/dist/DateComponentBase.d.ts +3 -3
  8. package/dist/DayPicker.js.map +1 -1
  9. package/dist/MonthPicker.d.ts +3 -3
  10. package/dist/MonthPicker.js +1 -1
  11. package/dist/MonthPicker.js.map +1 -1
  12. package/dist/TimePicker.d.ts +5 -4
  13. package/dist/TimePicker.js +1 -0
  14. package/dist/TimePicker.js.map +1 -1
  15. package/dist/YearPicker.js +2 -4
  16. package/dist/YearPicker.js.map +1 -1
  17. package/dist/YearRangePicker.js +2 -3
  18. package/dist/YearRangePicker.js.map +1 -1
  19. package/dist/css/themes/Breadcrumbs.css +1 -1
  20. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +4 -0
  21. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  22. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  23. package/dist/custom-elements-internal.json +64 -3
  24. package/dist/custom-elements.json +57 -0
  25. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  26. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  27. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  28. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  29. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  30. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  31. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  32. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +4 -0
  33. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  34. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  35. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  36. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  37. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  38. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  39. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  40. package/dist/vscode.html-custom-data.json +15 -0
  41. package/dist/web-types.json +31 -1
  42. package/package.json +9 -9
  43. package/src/themes/Breadcrumbs.css +7 -6
  44. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  45. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPicker.js","sourceRoot":"","sources":["../src/MonthPicker.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 getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.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 type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tMONTH_PICKER_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\n// Template\nimport MonthPickerTemplate from \"./MonthPickerTemplate.js\";\n\n// Styles\nimport monthPickerStyles from \"./generated/themes/MonthPicker.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);\nconst PAGE_SIZE = 12; // total months on a single page\n\ntype Month = {\n\ttimestamp: string,\n\tfocusRef: boolean,\n\t_tabIndex: number,\n\tselected: boolean,\n\tariaSelected: boolean,\n\tname: string,\n\tnameInSecType: string,\n\tdisabled: boolean,\n\tariaDisabled: boolean | undefined,\n\tclasses: string,\n\tparts: string,\n}\n\ntype MonthInterval = Array<Array<Month>>;\n\ntype MonthPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype MonthPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * Month picker component.\n * @class\n *\n * Displays months which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-monthpicker\",\n\ttemplate: MonthPickerTemplate,\n\tstyles: monthPickerStyles,\n})\n/**\n * Fired when the user selects a month 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 MonthPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\tchange: MonthPickerChangeEventDetail,\n\t\tnavigate: MonthPickerNavigateEventDetail,\n\t}\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 month picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single month.\n\t * - `CalendarSelectionMode.Range` - enables selection of a month range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Month 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_monthsInterval: MonthInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first month in the range is selected, this is the currently hovered or focused month.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn MonthPicker.i18nBundle.getText(MONTH_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._buildMonths();\n\t}\n\n\tget rowSize() {\n\t\treturn (this.secondaryCalendarType === CalendarType.Islamic && this.primaryCalendarType !== CalendarType.Islamic)\n\t\t\t|| (this.secondaryCalendarType === CalendarType.Persian && this.primaryCalendarType !== CalendarType.Persian) ? 2 : 3;\n\t}\n\n\t_buildMonths() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst monthsNames = localeData.getMonthsStandAlone(\"wide\", this._primaryCalendarType);\n\n\t\tconst months: MonthInterval = [];\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\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(i);\n\n\t\t\t// If the current date of the current month is larger than this month, set the date to the last day of the previous month.\n\t\t\t// This is needed because the date object will automatically switch to the next month if larger date is set.\n\t\t\tif (tempDate.getMonth() !== i) {\n\t\t\t\ttempDate.setMonth(tempDate.getMonth() - 1);\n\t\t\t\ttempDate.setDate(this._calendarDate.getDate() - tempDate.getDate());\n\t\t\t}\n\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() && date.getMonth() === tempDate.getMonth();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth();\n\t\t\tconst isDisabled = this._isOutOfSelectableRange(tempDate, minDate, maxDate);\n\t\t\tconst isSelectedBetween = this._isMonthInsideSelectionRange(timestamp);\n\n\t\t\tconst month: Month = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tname: monthsNames[i],\n\t\t\t\tnameInSecType: this.hasSecondaryCalendarType && this._getDisplayedSecondaryMonthText(timestamp).text,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-mp-item\",\n\t\t\t\tparts: \"month-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected\";\n\t\t\t\tmonth.parts += \" month-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected-between\";\n\t\t\t\tmonth.parts += \" month-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--disabled\";\n\t\t\t}\n\n\t\t\tconst quarterIndex = Math.floor(i / this.rowSize);\n\n\t\t\tif (months[quarterIndex]) {\n\t\t\t\tmonths[quarterIndex].push(month);\n\t\t\t} else {\n\t\t\t\tmonths[quarterIndex] = [month];\n\t\t\t}\n\t\t}\n\n\t\tthis._monthsInterval = months;\n\t}\n\n\t_getDisplayedSecondaryMonthText(timestamp: number) {\n\t\tconst monthsName = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp);\n\t\treturn convertMonthNumbersToMonthNames(monthsName.firstDate.getMonth(), monthsName.lastDate.getMonth(), this.secondaryCalendarType);\n\t}\n\n\t/**\n\t * Returns true if month timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isMonthInsideSelectionRange(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\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectMonth(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(-this.rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(this.rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-PAGE_SIZE);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(PAGE_SIZE);\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._monthsInterval[0][0].timestamp)); // first month of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[PAGE_SIZE / this.rowSize - 1][this.rowSize - 1].timestamp)); // last month 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._monthsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getMonth() === this._calendarDate.getMonth());\n\t\t\tif (indexInRow !== -1) { // The current month is on this row\n\t\t\t\tconst index = homePressed ? 0 : this.rowSize - 1; // select the first (if Home) or last (if End) month 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 * 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 month 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-mp-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 focus reference to the month that was clicked with mousedown.\n\t * @param e\n\t * @private\n\t */\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst clickedItem = target.closest(\".ui5-mp-item\") as HTMLElement;\n\n\t\tif (clickedItem) {\n\t\t\tconst timestamp = this._getTimestampFromDom(clickedItem);\n\t\t\tthis._setTimestamp(timestamp);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of months and,\n\t * if necessary, loads the prev/next page.\n\t * @param amount\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, \"month\", preserveDate);\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._selectMonth(e);\n\t\t}\n\t}\n\n\t/**\n\t * Selects a month, when user made selection with mouse or using Space/Enter.\n\t * @param e\n\t * @private\n\t */\n\t_selectMonth(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-mp-item\")) {\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._calendarDate.getYear() !== 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._calendarDate.getYear() !== this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by Calendar.js.\n\t *\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\tthis._modifyTimestampBy(-PAGE_SIZE, true);\n\t}\n\n\t/**\n\t * Called by Calendar.js\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(PAGE_SIZE, true);\n\t}\n\n\t_isOutOfSelectableRange(date: CalendarDate, minDate: CalendarDate, maxDate: CalendarDate): boolean {\n\t\tconst month = date.getMonth();\n\t\tconst year = date.getYear();\n\t\tconst minYear = minDate.getYear();\n\t\tconst minMonth = minDate.getMonth();\n\t\tconst maxYear = maxDate.getYear();\n\t\tconst maxMonth = maxDate.getMonth();\n\n\t\treturn year < minYear || (year === minYear && month < minMonth) || year > maxYear || (year === maxYear && month > maxMonth);\n\t}\n}\n\nMonthPicker.define();\n\nexport default MonthPicker;\nexport type {\n\tMonthPickerNavigateEventDetail,\n\tMonthPickerChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MonthPicker.js","sourceRoot":"","sources":["../src/MonthPicker.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 getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.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 type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tMONTH_PICKER_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\n// Template\nimport MonthPickerTemplate from \"./MonthPickerTemplate.js\";\n\n// Styles\nimport monthPickerStyles from \"./generated/themes/MonthPicker.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);\nconst PAGE_SIZE = 12; // total months on a single page\n\ntype Month = {\n\ttimestamp: string,\n\tfocusRef: boolean,\n\t_tabIndex: number,\n\tselected: boolean,\n\tariaSelected: boolean,\n\tname: string,\n\tnameInSecType: string | undefined,\n\tdisabled: boolean,\n\tariaDisabled: boolean | undefined,\n\tclasses: string,\n\tparts: string,\n}\n\ntype MonthInterval = Array<Array<Month>>;\n\ntype MonthPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype MonthPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * Month picker component.\n * @class\n *\n * Displays months which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-monthpicker\",\n\ttemplate: MonthPickerTemplate,\n\tstyles: monthPickerStyles,\n})\n/**\n * Fired when the user selects a month 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 MonthPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\tchange: MonthPickerChangeEventDetail,\n\t\tnavigate: MonthPickerNavigateEventDetail,\n\t}\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 month picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single month.\n\t * - `CalendarSelectionMode.Range` - enables selection of a month range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Month 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_monthsInterval: MonthInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first month in the range is selected, this is the currently hovered or focused month.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn MonthPicker.i18nBundle.getText(MONTH_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._buildMonths();\n\t}\n\n\tget rowSize() {\n\t\treturn (this.secondaryCalendarType === CalendarType.Islamic && this.primaryCalendarType !== CalendarType.Islamic)\n\t\t\t|| (this.secondaryCalendarType === CalendarType.Persian && this.primaryCalendarType !== CalendarType.Persian) ? 2 : 3;\n\t}\n\n\t_buildMonths() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst monthsNames = localeData.getMonthsStandAlone(\"wide\", this._primaryCalendarType);\n\n\t\tconst months: MonthInterval = [];\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\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(i);\n\n\t\t\t// If the current date of the current month is larger than this month, set the date to the last day of the previous month.\n\t\t\t// This is needed because the date object will automatically switch to the next month if larger date is set.\n\t\t\tif (tempDate.getMonth() !== i) {\n\t\t\t\ttempDate.setMonth(tempDate.getMonth() - 1);\n\t\t\t\ttempDate.setDate(this._calendarDate.getDate() - tempDate.getDate());\n\t\t\t}\n\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() && date.getMonth() === tempDate.getMonth();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth();\n\t\t\tconst isDisabled = this._isOutOfSelectableRange(tempDate, minDate, maxDate);\n\t\t\tconst isSelectedBetween = this._isMonthInsideSelectionRange(timestamp);\n\n\t\t\tconst month: Month = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tname: monthsNames[i],\n\t\t\t\tnameInSecType: this.hasSecondaryCalendarType ? this._getDisplayedSecondaryMonthText(timestamp).text : undefined,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-mp-item\",\n\t\t\t\tparts: \"month-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected\";\n\t\t\t\tmonth.parts += \" month-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected-between\";\n\t\t\t\tmonth.parts += \" month-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--disabled\";\n\t\t\t}\n\n\t\t\tconst quarterIndex = Math.floor(i / this.rowSize);\n\n\t\t\tif (months[quarterIndex]) {\n\t\t\t\tmonths[quarterIndex].push(month);\n\t\t\t} else {\n\t\t\t\tmonths[quarterIndex] = [month];\n\t\t\t}\n\t\t}\n\n\t\tthis._monthsInterval = months;\n\t}\n\n\t_getDisplayedSecondaryMonthText(timestamp: number) {\n\t\tconst monthsName = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp);\n\t\treturn convertMonthNumbersToMonthNames(monthsName.firstDate.getMonth(), monthsName.lastDate.getMonth(), this.secondaryCalendarType);\n\t}\n\n\t/**\n\t * Returns true if month timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isMonthInsideSelectionRange(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\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectMonth(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(-this.rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(this.rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-PAGE_SIZE);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(PAGE_SIZE);\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._monthsInterval[0][0].timestamp)); // first month of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[PAGE_SIZE / this.rowSize - 1][this.rowSize - 1].timestamp)); // last month 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._monthsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getMonth() === this._calendarDate.getMonth());\n\t\t\tif (indexInRow !== -1) { // The current month is on this row\n\t\t\t\tconst index = homePressed ? 0 : this.rowSize - 1; // select the first (if Home) or last (if End) month 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 * 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 month 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-mp-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 focus reference to the month that was clicked with mousedown.\n\t * @param e\n\t * @private\n\t */\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst clickedItem = target.closest(\".ui5-mp-item\") as HTMLElement;\n\n\t\tif (clickedItem) {\n\t\t\tconst timestamp = this._getTimestampFromDom(clickedItem);\n\t\t\tthis._setTimestamp(timestamp);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of months and,\n\t * if necessary, loads the prev/next page.\n\t * @param amount\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, \"month\", preserveDate);\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._selectMonth(e);\n\t\t}\n\t}\n\n\t/**\n\t * Selects a month, when user made selection with mouse or using Space/Enter.\n\t * @param e\n\t * @private\n\t */\n\t_selectMonth(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-mp-item\")) {\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._calendarDate.getYear() !== 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._calendarDate.getYear() !== this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by Calendar.js.\n\t *\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\tthis._modifyTimestampBy(-PAGE_SIZE, true);\n\t}\n\n\t/**\n\t * Called by Calendar.js\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(PAGE_SIZE, true);\n\t}\n\n\t_isOutOfSelectableRange(date: CalendarDate, minDate: CalendarDate, maxDate: CalendarDate): boolean {\n\t\tconst month = date.getMonth();\n\t\tconst year = date.getYear();\n\t\tconst minYear = minDate.getYear();\n\t\tconst minMonth = minDate.getMonth();\n\t\tconst maxYear = maxDate.getYear();\n\t\tconst maxMonth = maxDate.getMonth();\n\n\t\treturn year < minYear || (year === minYear && month < minMonth) || year > maxYear || (year === maxYear && month > maxMonth);\n\t}\n}\n\nMonthPicker.define();\n\nexport default MonthPicker;\nexport type {\n\tMonthPickerNavigateEventDetail,\n\tMonthPickerChangeEventDetail,\n};\n"]}
@@ -137,14 +137,14 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
137
137
  /**
138
138
  * Determines the format, displayed in the input field.
139
139
  * @default undefined
140
- * @since 2.20.0
140
+ * @since 2.21.0
141
141
  * @public
142
142
  */
143
143
  displayFormat?: string;
144
144
  /**
145
145
  * Determines the format, used for the value attribute.
146
146
  * @default undefined
147
- * @since 2.20.0
147
+ * @since 2.21.0
148
148
  * @public
149
149
  */
150
150
  valueFormat?: string;
@@ -303,9 +303,9 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
303
303
  get _isValueFormatPattern(): boolean;
304
304
  get _isDisplayFormatPattern(): boolean;
305
305
  get displayValue(): string;
306
- getFormat(): import("sap/ui/core/format/DateFormat").default;
306
+ getFormat(): DateFormat;
307
307
  getISOFormat(): DateFormat;
308
- getDisplayFormat(): import("sap/ui/core/format/DateFormat").default;
308
+ getDisplayFormat(): DateFormat;
309
309
  getValueFormat(): import("sap/ui/core/format/DateFormat").default;
310
310
  /**
311
311
  * Formats a Java Script date object into a string representing a locale date and time
@@ -330,6 +330,7 @@ declare class TimePicker extends UI5Element implements IFormInputElement {
330
330
  * **Note:** an empty string is considered as valid value.
331
331
  * @param value The value to be tested against the value format
332
332
  * @public
333
+ * @since 2.21.0
333
334
  */
334
335
  isValidValue(value: string | undefined): boolean;
335
336
  /**
@@ -561,6 +561,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
561
561
  * **Note:** an empty string is considered as valid value.
562
562
  * @param value The value to be tested against the value format
563
563
  * @public
564
+ * @since 2.21.0
564
565
  */
565
566
  isValidValue(value) {
566
567
  if (value === "") {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type Popover from \"./Popover.js\";\nimport TimePickerTemplate from \"./TimePickerTemplate.js\";\nimport type DateTimeInput from \"./DateTimeInput.js\";\nimport type { InputAccInfo } from \"./Input.js\";\nimport type TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n\tTIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n\tDATETIME_COMPONENTS_PLACEHOLDER_PREFIX,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_WARNING,\n\tTIMEPICKER_VALUE_MISSING,\n\tTIMEPICKER_PATTERN_MISSMATCH,\n\tTIMEPICKER_OPEN_ICON_TITLE_OPENED,\n\tTIMEPICKER_OPEN_ICON_TITLE,\n\tINPUT_SUGGESTIONS_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\nconst DEFAULT_ISO_FORMAT = \"HH:mm:ss\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * For example, if the valueFormat is \"HH:mm:ss\", the displayFormat is \"hh:mm: ss a\", and the used locale is English, a valid value string is \"11:42:35\", which leads to an output of \"11:42:35 AM\".\n * If no placeholder is set to the TimePicker, the used displayFormat is displayed as a placeholder. If another placeholder is needed, it must be set.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @csspart input - Used to style the input element. This part is forwarded to the underlying ui5-input element.\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tTimePickerPopoverCss,\n\t\tValueStateMessageCss,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass TimePicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: TimePickerChangeEventDetail;\n\t\t\"value-changed\": TimePickerChangeEventDetail;\n\t\tinput: TimePickerInputEventDetail;\n\t\topen: void;\n\t\tclose: void;\n\t}\n\t/**\n\t * Defines a formatted time value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default undefined\n\t * @since 2.20.0\n\t * @public\n\t */\n\t@property()\n\tdisplayFormat?: string;\n\n\t/**\n\t * Determines the format, used for the value attribute.\n\t * @default undefined\n\t * @since 2.20.0\n\t * @public\n\t */\n\t@property()\n\tvalueFormat?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\t * @default undefined\n\t * @deprecated Use displayFormat and valueFormat instead\n\t * @public\n\t */\n\t@property()\n\tformatPattern?: string;\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 2.1.0\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id (or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Slot<HTMLElement>;\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_timeSelectionClocks?: TimeSelectionClocks;\n\n\t@query(\"[ui5-popover]\")\n\t_inputsPopover!: Popover;\n\n\t@query(\"[ui5-datetime-input]\")\n\t_dateTimeInput!: DateTimeInput;\n\n\ttempValue?: string;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"HH:mm:ss\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.valueMissing) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_VALUE_MISSING, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.patternMismatch) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_PATTERN_MISSMATCH, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tvalueMissing: this.required && !this.value,\n\t\t\tpatternMismatch: !this.isValidValue(this.value),\n\t\t};\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value || \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t}\n\n\tget roleDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.roleDescription,\n\t\t\t\"ariaHasPopup\": \"grid\",\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": this.ariaLabelText || undefined,\n\t\t\t\"ariaDescription\": getAllAccessibleDescriptionRefTexts(this) || getEffectiveAriaDescriptionText(this) || undefined,\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getAllAccessibleNameRefTexts(this) || getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || \"\";\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.getValueFormat().parse(this._effectiveValue) as Date;\n\t}\n\n\tget _lastAvailableTime() {\n\t\tconst date = UI5Date.getInstance();\n\t\tdate.setHours(23, 59, 59, 999);\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.placeholder) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\t// translatable placeholder – for example \"e.g. 23:59:59\"\n\t\treturn `${TimePicker.i18nBundle.getText(DATETIME_COMPONENTS_PLACEHOLDER_PREFIX)} ${this._lastAvailableTime}`;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern?.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\tif (this.displayFormat) {\n\t\t\treturn this.displayFormat;\n\t\t}\n\n\t\tif (this._formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\t}\n\n\tget _valueFormat() {\n\t\tif (this.valueFormat) {\n\t\t\treturn this.valueFormat;\n\t\t}\n\n\t\tif (this.formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n\n\tget shouldDisplayValueStateMessageInResponsivePopover() {\n\t\treturn this.hasValueStateText && !this._inputsPopover?.open;\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _iconMode() {\n\t\treturn isDesktop() ? IconMode.Decorative : IconMode.Interactive;\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\tget openIconTitle() {\n\t\tif (this.open) {\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE_OPENED);\n\t\t}\n\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\t_togglePicker() {\n\t\tthis.open = !this.open;\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._inputsPopover.open = false;\n\t\t}\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis._togglePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonResponsivePopoverBeforeOpen() {\n\t\tconst clocks = this._timeSelectionClocks;\n\t\tif (clocks) {\n\t\t\tclocks._activeIndex = 0;\n\t\t\tclocks._skipAnimation = true;\n\t\t}\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValidValue(this.value) ? this.value : this.getValueFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.opener = this;\n\t\tpopover.open = true;\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.open = false;\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isMobileDevice && target && !target.hasAttribute(\"ui5-icon\")) {\n\t\t\tthis.toggleInputsPopover();\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<\"input\" | \"change\" | \"value-changed\">) {\n\t\tconst isInputEvent = eventsNames.includes(\"input\");\n\t\tconst valid = this.isValidValue(value);\n\n\t\tlet normalizedValue = value;\n\t\t// Only normalize if valid - if invalid, keep raw value\n\t\tif (value !== undefined && valid && normalizeValue && !isInputEvent) {\n\t\t\tnormalizedValue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\t// Store the previous value to check if it actually changed\n\t\tconst previousValue = this.value;\n\n\t\t// During input events (live typing), only update tempValue, not the public value property\n\t\tif (!isInputEvent) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case\n\t\t\tthis.value = normalizedValue;\n\t\t}\n\n\t\t// Always sync tempValue for the picker\n\t\tthis.tempValue = isInputEvent ? value : normalizedValue;\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed (must be called before early return)\n\n\t\tif (previousValue === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireDecoratorEvent(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\t// During live typing, validate against displayFormat (what user types), otherwise validate against valueFormat (stored value)\n\t\tconst isValid = this.isValidValue(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_onInputRequestSubmit() {\n\t\tif (this._internals.form) {\n\t\t\tsubmitForm(this);\n\t\t}\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isMobileDevice;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._dateTimeInput;\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isMobileDevice && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._togglePicker();\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target && this.open && this._dateTimeInput.id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis._togglePicker();\n\t\t}\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget _isValueFormatPattern() {\n\t\treturn this._valueFormat !== \"medium\" && this._valueFormat !== \"short\" && this._valueFormat !== \"long\";\n\t}\n\n\tget _isDisplayFormatPattern() {\n\t\treturn this._displayFormat !== \"medium\" && this._displayFormat !== \"short\" && this._displayFormat !== \"long\";\n\t}\n\n\tget displayValue() {\n\t\tif (!this.value) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (!this.getValueFormat().parse(this.value, true)) {\n\t\t\treturn this.value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(this.value, true), true);\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: DEFAULT_ISO_FORMAT,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tgetDisplayFormat() {\n\t\t// If no displayFormat is set, use the deprecated getFormat() for backward compatibility\n\t\tif (!this._displayFormat) {\n\t\t\treturn this.getFormat();\n\t\t}\n\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t})\n\t\t\t: DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t});\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string, true);\n\t}\n\n\tisValidDisplayValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getDisplayFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `valueFormat` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the value format\n\t * @public\n\t */\n\tisValidValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getValueFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Converts a value from displayFormat to valueFormat\n\t * @param value Value in displayFormat\n\t * @returns Value in valueFormat\n\t * @private\n\t */\n\tgetValueFromDisplayValue(value: string): string {\n\t\tif (!this.getDisplayFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getValueFormat().format(this.getDisplayFormat().parse(value, true), true);\n\t}\n\n\t/**\n\t * Converts a value from valueFormat to displayFormat\n\t * @param value Value in valueFormat\n\t * @returns Value in displayFormat\n\t * @private\n\t */\n\tgetDisplayValueFromValue(value: string): string {\n\t\tif (!this.getValueFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(value, true), true);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedFromDisplay = this.getDisplayFormat().parse(value, true);\n\t\tif (parsedFromDisplay) {\n\t\t\treturn this.getValueFormat().format(parsedFromDisplay, true);\n\t\t}\n\n\t\tconst parsedFromValue = this.getValueFormat().parse(value, true);\n\t\tif (parsedFromValue) {\n\t\t\treturn this.getValueFormat().format(parsedFromValue, true);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getValueFormat().parse(this._effectiveValue) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._dateTimeInput.readonly = true;\n\t\tsetTimeout(() => { this._dateTimeInput.readonly = false; }, 0);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._hideMobileKeyboard();\n\t\t\tif (this._isInputsPopoverOpen) {\n\t\t\t\tconst popover = this._inputsPopover;\n\t\t\t\tpopover.applyFocus();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Positive]: TimePicker.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: TimePicker.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: TimePicker.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: TimePicker.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !willShowContent(this.valueStateMessage) && this.hasValueStateText;\n\t}\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget shouldDisplayValueStateMessageOnDesktop() {\n\t\treturn this.valueStateMessage.length > 0 && !this.open && !this._isMobileDevice;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn this.ariaLabelText || TimePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget showHeader() {\n\t\treturn isPhone();\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn !this.showHeader && !this.hasValueStateText;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetAllAccessibleNameRefTexts,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport IconMode from \"./types/IconMode.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type Popover from \"./Popover.js\";\nimport TimePickerTemplate from \"./TimePickerTemplate.js\";\nimport type DateTimeInput from \"./DateTimeInput.js\";\nimport type { InputAccInfo } from \"./Input.js\";\nimport type TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n\tTIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n\tDATETIME_COMPONENTS_PLACEHOLDER_PREFIX,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_WARNING,\n\tTIMEPICKER_VALUE_MISSING,\n\tTIMEPICKER_PATTERN_MISSMATCH,\n\tTIMEPICKER_OPEN_ICON_TITLE_OPENED,\n\tTIMEPICKER_OPEN_ICON_TITLE,\n\tINPUT_SUGGESTIONS_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\nconst DEFAULT_ISO_FORMAT = \"HH:mm:ss\";\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * For example, if the valueFormat is \"HH:mm:ss\", the displayFormat is \"hh:mm: ss a\", and the used locale is English, a valid value string is \"11:42:35\", which leads to an output of \"11:42:35 AM\".\n * If no placeholder is set to the TimePicker, the used displayFormat is displayed as a placeholder. If another placeholder is needed, it must be set.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @csspart input - Used to style the input element. This part is forwarded to the underlying ui5-input element.\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\tcldr: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tTimePickerPopoverCss,\n\t\tValueStateMessageCss,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the value-help dialog of the component is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass TimePicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: TimePickerChangeEventDetail;\n\t\t\"value-changed\": TimePickerChangeEventDetail;\n\t\tinput: TimePickerInputEventDetail;\n\t\topen: void;\n\t\tclose: void;\n\t}\n\t/**\n\t * Defines a formatted time value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue = \"\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tdisplayFormat?: string;\n\n\t/**\n\t * Determines the format, used for the value attribute.\n\t * @default undefined\n\t * @since 2.21.0\n\t * @public\n\t */\n\t@property()\n\tvalueFormat?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\t * @default undefined\n\t * @deprecated Use displayFormat and valueFormat instead\n\t * @public\n\t */\n\t@property()\n\tformatPattern?: string;\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 2.1.0\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id (or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the input.\n\t * @default undefined\n\t * @public\n\t * @since 2.14.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen = false;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Critical` or `Negative` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Slot<HTMLElement>;\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_timeSelectionClocks?: TimeSelectionClocks;\n\n\t@query(\"[ui5-popover]\")\n\t_inputsPopover!: Popover;\n\n\t@query(\"[ui5-datetime-input]\")\n\t_dateTimeInput!: DateTimeInput;\n\n\ttempValue?: string;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"HH:mm:ss\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.valueMissing) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_VALUE_MISSING, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.patternMismatch) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_PATTERN_MISSMATCH, this.getValueFormat().oFormatOptions.pattern as string);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tvalueMissing: this.required && !this.value,\n\t\t\tpatternMismatch: !this.isValidValue(this.value),\n\t\t};\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn (await this.getFocusDomRefAsync() as UI5Element)?.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value || \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t}\n\n\tget roleDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\tget accInfo(): InputAccInfo {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.roleDescription,\n\t\t\t\"ariaHasPopup\": \"grid\",\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": this.ariaLabelText || undefined,\n\t\t\t\"ariaDescription\": getAllAccessibleDescriptionRefTexts(this) || getEffectiveAriaDescriptionText(this) || undefined,\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getAllAccessibleNameRefTexts(this) || getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || \"\";\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.getValueFormat().parse(this._effectiveValue) as Date;\n\t}\n\n\tget _lastAvailableTime() {\n\t\tconst date = UI5Date.getInstance();\n\t\tdate.setHours(23, 59, 59, 999);\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.placeholder) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\t// translatable placeholder – for example \"e.g. 23:59:59\"\n\t\treturn `${TimePicker.i18nBundle.getText(DATETIME_COMPONENTS_PLACEHOLDER_PREFIX)} ${this._lastAvailableTime}`;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern?.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\tif (this.displayFormat) {\n\t\t\treturn this.displayFormat;\n\t\t}\n\n\t\tif (this._formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\t}\n\n\tget _valueFormat() {\n\t\tif (this.valueFormat) {\n\t\t\treturn this.valueFormat;\n\t\t}\n\n\t\tif (this.formatPattern) {\n\t\t\treturn this._formatPattern;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n\n\tget shouldDisplayValueStateMessageInResponsivePopover() {\n\t\treturn this.hasValueStateText && !this._inputsPopover?.open;\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _iconMode() {\n\t\treturn isDesktop() ? IconMode.Decorative : IconMode.Interactive;\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\tget openIconTitle() {\n\t\tif (this.open) {\n\t\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE_OPENED);\n\t\t}\n\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\t_togglePicker() {\n\t\tthis.open = !this.open;\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._inputsPopover.open = false;\n\t\t}\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis._togglePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tonResponsivePopoverBeforeOpen() {\n\t\tconst clocks = this._timeSelectionClocks;\n\t\tif (clocks) {\n\t\t\tclocks._activeIndex = 0;\n\t\t\tclocks._skipAnimation = true;\n\t\t}\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValidValue(this.value) ? this.value : this.getValueFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.opener = this;\n\t\tpopover.open = true;\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.open = false;\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._inputsPopover;\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isMobileDevice && target && !target.hasAttribute(\"ui5-icon\")) {\n\t\t\tthis.toggleInputsPopover();\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<\"input\" | \"change\" | \"value-changed\">) {\n\t\tconst isInputEvent = eventsNames.includes(\"input\");\n\t\tconst valid = this.isValidValue(value);\n\n\t\tlet normalizedValue = value;\n\t\t// Only normalize if valid - if invalid, keep raw value\n\t\tif (value !== undefined && valid && normalizeValue && !isInputEvent) {\n\t\t\tnormalizedValue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\t// Store the previous value to check if it actually changed\n\t\tconst previousValue = this.value;\n\n\t\t// During input events (live typing), only update tempValue, not the public value property\n\t\tif (!isInputEvent) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case\n\t\t\tthis.value = normalizedValue;\n\t\t}\n\n\t\t// Always sync tempValue for the picker\n\t\tthis.tempValue = isInputEvent ? value : normalizedValue;\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed (must be called before early return)\n\n\t\tif (previousValue === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireDecoratorEvent(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\t// During live typing, validate against displayFormat (what user types), otherwise validate against valueFormat (stored value)\n\t\tconst isValid = this.isValidValue(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_onInputRequestSubmit() {\n\t\tif (this._internals.form) {\n\t\t\tsubmitForm(this);\n\t\t}\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tconst target = e.target as DateTimeInput;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isMobileDevice;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._dateTimeInput;\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isMobileDevice && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._togglePicker();\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target && this.open && this._dateTimeInput.id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis._togglePicker();\n\t\t}\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget _isValueFormatPattern() {\n\t\treturn this._valueFormat !== \"medium\" && this._valueFormat !== \"short\" && this._valueFormat !== \"long\";\n\t}\n\n\tget _isDisplayFormatPattern() {\n\t\treturn this._displayFormat !== \"medium\" && this._displayFormat !== \"short\" && this._displayFormat !== \"long\";\n\t}\n\n\tget displayValue() {\n\t\tif (!this.value) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (!this.getValueFormat().parse(this.value, true)) {\n\t\t\treturn this.value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(this.value, true), true);\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: DEFAULT_ISO_FORMAT,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tgetDisplayFormat() {\n\t\t// If no displayFormat is set, use the deprecated getFormat() for backward compatibility\n\t\tif (!this._displayFormat) {\n\t\t\treturn this.getFormat();\n\t\t}\n\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t})\n\t\t\t: DateFormat.getTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t});\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getValueFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string, true);\n\t}\n\n\tisValidDisplayValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getDisplayFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `valueFormat` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the value format\n\t * @public\n\t * @since 2.21.0\n\t */\n\tisValidValue(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getValueFormat().parse(value as string, true);\n\t}\n\n\t/**\n\t * Converts a value from displayFormat to valueFormat\n\t * @param value Value in displayFormat\n\t * @returns Value in valueFormat\n\t * @private\n\t */\n\tgetValueFromDisplayValue(value: string): string {\n\t\tif (!this.getDisplayFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getValueFormat().format(this.getDisplayFormat().parse(value, true), true);\n\t}\n\n\t/**\n\t * Converts a value from valueFormat to displayFormat\n\t * @param value Value in valueFormat\n\t * @returns Value in displayFormat\n\t * @private\n\t */\n\tgetDisplayValueFromValue(value: string): string {\n\t\tif (!this.getValueFormat().parse(value, true)) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getDisplayFormat().format(this.getValueFormat().parse(value, true), true);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst parsedFromDisplay = this.getDisplayFormat().parse(value, true);\n\t\tif (parsedFromDisplay) {\n\t\t\treturn this.getValueFormat().format(parsedFromDisplay, true);\n\t\t}\n\n\t\tconst parsedFromValue = this.getValueFormat().parse(value, true);\n\t\tif (parsedFromValue) {\n\t\t\treturn this.getValueFormat().format(parsedFromValue, true);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getValueFormat().parse(this._effectiveValue) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._dateTimeInput.readonly = true;\n\t\tsetTimeout(() => { this._dateTimeInput.readonly = false; }, 0);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this._isMobileDevice) {\n\t\t\tthis._hideMobileKeyboard();\n\t\t\tif (this._isInputsPopoverOpen) {\n\t\t\t\tconst popover = this._inputsPopover;\n\t\t\t\tpopover.applyFocus();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Positive]: TimePicker.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: TimePicker.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: TimePicker.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: TimePicker.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !willShowContent(this.valueStateMessage) && this.hasValueStateText;\n\t}\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget shouldDisplayValueStateMessageOnDesktop() {\n\t\treturn this.valueStateMessage.length > 0 && !this.open && !this._isMobileDevice;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn this.ariaLabelText || TimePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget showHeader() {\n\t\treturn isPhone();\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn !this.showHeader && !this.hasValueStateText;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
@@ -11,7 +11,6 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
11
11
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
12
12
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
13
13
  import { isEnter, isSpace, isDown, isUp, isLeft, isRight, isHome, isEnd, isHomeCtrl, isEndCtrl, isPageUp, isPageDown, } from "@ui5/webcomponents-base/dist/Keys.js";
14
- import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
15
14
  import transformDateToSecondaryType from "@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js";
16
15
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
17
16
  import CalendarPart from "./CalendarPart.js";
@@ -74,9 +73,8 @@ let YearPicker = YearPicker_1 = class YearPicker extends CalendarPart {
74
73
  }
75
74
  _buildYears() {
76
75
  const pageSize = this._getPageSize();
77
- const locale = getLocale();
78
- const oYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType }, locale);
79
- const oYearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType }, locale);
76
+ const oYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType });
77
+ const oYearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType });
80
78
  const calendarDate = this._calendarDate; // store the value of the expensive getter
81
79
  const minDate = this._minDate; // store the value of the expensive getter
82
80
  const maxDate = this._maxDate; // store the value of the expensive getter
@@ -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, 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"]}
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 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 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 oYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._primaryCalendarType });\n\t\tconst oYearFormatInSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this.secondaryCalendarType });\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"]}
@@ -101,9 +101,8 @@ let YearRangePicker = YearRangePicker_1 = class YearRangePicker extends Calendar
101
101
  return gridStartYear;
102
102
  }
103
103
  _getYearRanges() {
104
- const locale = getLocale();
105
- const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType }, locale);
106
- const yearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this._secondaryCalendarType }, locale);
104
+ const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType });
105
+ const yearFormatInSecType = DateFormat.getDateInstance({ format: "y", calendarType: this._secondaryCalendarType });
107
106
  const pageSize = this._getPageSize();
108
107
  const rowSize = this._getRowSize();
109
108
  const rangeSize = this._getRangeSize();