@ui5/webcomponents 2.27.0-rc.2 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ListItemGroupBase.d.ts +1 -1
  4. package/dist/ListItemGroupBase.js +1 -1
  5. package/dist/ListItemGroupBase.js.map +1 -1
  6. package/dist/MultiComboBox.js +1 -1
  7. package/dist/MultiComboBox.js.map +1 -1
  8. package/dist/NumberInput.d.ts +2 -2
  9. package/dist/NumberInput.js +1 -1
  10. package/dist/NumberInput.js.map +1 -1
  11. package/dist/RatingIndicator.d.ts +1 -5
  12. package/dist/RatingIndicator.js +6 -11
  13. package/dist/RatingIndicator.js.map +1 -1
  14. package/dist/RatingIndicatorTemplate.js +1 -1
  15. package/dist/RatingIndicatorTemplate.js.map +1 -1
  16. package/dist/Select.d.ts +1 -0
  17. package/dist/Select.js.map +1 -1
  18. package/dist/Token.d.ts +1 -0
  19. package/dist/Token.js +6 -0
  20. package/dist/Token.js.map +1 -1
  21. package/dist/Toolbar.js +1 -1
  22. package/dist/Toolbar.js.map +1 -1
  23. package/dist/ToolbarItemBase.d.ts +3 -3
  24. package/dist/ToolbarItemBase.js +5 -29
  25. package/dist/ToolbarItemBase.js.map +1 -1
  26. package/dist/css/themes/CalendarHeader.css +1 -1
  27. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  28. package/dist/css/themes/ListItemBase.css +1 -1
  29. package/dist/css/themes/RatingIndicator.css +1 -1
  30. package/dist/css/themes/Token.css +1 -1
  31. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  32. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  33. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  34. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +1 -1
  35. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  36. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +2 -2
  37. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  38. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  39. package/dist/custom-elements-internal.json +42 -79
  40. package/dist/custom-elements.json +45 -83
  41. package/dist/dynamic-date-range-options/DateRange.js +3 -4
  42. package/dist/dynamic-date-range-options/DateRange.js.map +1 -1
  43. package/dist/dynamic-date-range-options/FromDateTime.js +4 -5
  44. package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -1
  45. package/dist/dynamic-date-range-options/SingleDate.js +2 -2
  46. package/dist/dynamic-date-range-options/SingleDate.js.map +1 -1
  47. package/dist/dynamic-date-range-options/ToDateTime.js +4 -5
  48. package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -1
  49. package/dist/dynamic-date-range-options/toDates.d.ts +2 -1
  50. package/dist/dynamic-date-range-options/toDates.js +5 -1
  51. package/dist/dynamic-date-range-options/toDates.js.map +1 -1
  52. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  53. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  54. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  55. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  56. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  57. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  58. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  59. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  60. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  61. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  62. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  63. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  64. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  65. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  66. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  67. package/dist/generated/themes/ListItemBase.css.js +1 -1
  68. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  69. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  70. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  71. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  72. package/dist/generated/themes/Token.css.d.ts +1 -1
  73. package/dist/generated/themes/Token.css.js +1 -1
  74. package/dist/generated/themes/Token.css.js.map +1 -1
  75. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  76. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  77. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  78. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  79. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  80. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  81. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  82. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  83. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  84. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  85. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +1 -1
  86. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  87. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  88. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  89. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  90. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  91. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +2 -2
  92. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  93. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  94. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  95. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  96. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  97. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  98. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  99. package/dist/vscode.html-custom-data.json +0 -10
  100. package/dist/web-types.json +11 -31
  101. package/package.json +9 -9
  102. package/src/RatingIndicatorTemplate.tsx +0 -1
  103. package/src/themes/CalendarHeader.css +7 -6
  104. package/src/themes/DynamicDateRangePopover.css +2 -3
  105. package/src/themes/ListItemBase.css +1 -1
  106. package/src/themes/RatingIndicator.css +2 -1
  107. package/src/themes/Token.css +6 -3
  108. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +3 -4
  109. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +3 -4
  110. package/src/themes/sap_horizon/CalendarHeader-parameters.css +0 -1
  111. package/src/themes/sap_horizon_dark/CalendarHeader-parameters.css +0 -1
  112. package/src/themes/sap_horizon_hcb/CalendarHeader-parameters.css +3 -3
  113. package/src/themes/sap_horizon_hcw/CalendarHeader-parameters.css +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/DateRange.ts"],"names":[],"mappings":"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","sourcesContent":["import DateRangeTemplate from \"./DateRangeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATERANGE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateRangeOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass DateRange implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = DateRangeTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = this.getFormat().parse(value) as Date[];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length !== 2 || !valuesArray[1]) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray);\n\n\t\treturn formattedValue;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateRangeOptionToDates(value);\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATERANGE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATERANGE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dates = this.getFormat().parse(value) as Array<Date>;\n\n\t\tif (!dates[0] || !dates[1] || Number.isNaN(dates[0].getTime()) || Number.isNaN(dates[1].getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t\tinterval: true,\n\t\t\tintervalDelimiter: \" - \",\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);\n\t\t}\n\n\t\tif (e.detail.selectedDates[1]) {\n\t\t\tcurrentValue.values[1] = UI5Date.getInstance(e.detail.selectedDates[1] * 1000);\n\t\t}\n\n\t\t// Handle backwards date ranges by automatically flipping them\n\t\tif (currentValue.values.length === 2 && currentValue.values[0] && currentValue.values[1]) {\n\t\t\tconst startDate = currentValue.values[0] as UI5Date;\n\t\t\tconst endDate = currentValue.values[1] as UI5Date;\n\n\t\t\t// If start date is after end date, flip them\n\t\t\tif (startDate.getTime() > endDate.getTime()) {\n\t\t\t\tcurrentValue.values = [endDate, startDate];\n\t\t\t}\n\t\t}\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"DATERANGE\", DateRange);\n\nexport default DateRange;\n"]}
1
+ {"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/DateRange.ts"],"names":[],"mappings":"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","sourcesContent":["import DateRangeTemplate from \"./DateRangeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATERANGE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateRangeOptionToDates, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass DateRange implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = DateRangeTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = this.getFormat().parse(value) as Date[];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length !== 2 || !valuesArray[1]) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray);\n\n\t\treturn formattedValue;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateRangeOptionToDates(value);\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATERANGE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATERANGE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dates = this.getFormat().parse(value) as Array<Date>;\n\n\t\tif (!dates[0] || !dates[1] || Number.isNaN(dates[0].getTime()) || Number.isNaN(dates[1].getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t\tinterval: true,\n\t\t\tintervalDelimiter: \" - \",\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t}\n\n\t\tif (e.detail.selectedDates[1]) {\n\t\t\tcurrentValue.values[1] = calendarTimestampToLocalDate(e.detail.selectedDates[1] as number);\n\t\t}\n\n\t\t// Handle backwards date ranges by automatically flipping them\n\t\tif (currentValue.values.length === 2 && currentValue.values[0] && currentValue.values[1]) {\n\t\t\tconst startDate = currentValue.values[0] as UI5Date;\n\t\t\tconst endDate = currentValue.values[1] as UI5Date;\n\n\t\t\t// If start date is after end date, flip them\n\t\t\tif (startDate.getTime() > endDate.getTime()) {\n\t\t\t\tcurrentValue.values = [endDate, startDate];\n\t\t\t}\n\t\t}\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"DATERANGE\", DateRange);\n\nexport default DateRange;\n"]}
@@ -1,8 +1,7 @@
1
1
  import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
2
2
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
3
- import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
4
3
  import { DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT, DYNAMIC_DATE_RANGE_FROM_TEXT, } from "../generated/i18n/i18n-defaults.js";
5
- import { dateTimeOptionToDates } from "./toDates.js";
4
+ import { dateTimeOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
6
5
  import DynamicDateRange from "../DynamicDateRange.js";
7
6
  /**
8
7
  * @class
@@ -18,7 +17,7 @@ class FromDateTime {
18
17
  };
19
18
  this.template = FromDateTimeTemplate;
20
19
  this._showTimeView = false;
21
- this._currentDateValue = UI5Date.getInstance();
20
+ this._currentDateValue = new Date();
22
21
  }
23
22
  parse(value) {
24
23
  const dateText = value.replace(this.fromText, "").trim();
@@ -112,8 +111,8 @@ class FromDateTime {
112
111
  }
113
112
  if (target.hasAttribute("ui5-calendar")) {
114
113
  if (e.detail.selectedDates[0]) {
115
- const tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);
116
- this._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
114
+ const localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
115
+ this._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
117
116
  currentValue.values = [this._currentDateValue];
118
117
  }
119
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/FromDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_FROM_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_FROM_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass FromDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = UI5Date.getInstance();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.fromText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"FROMDATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget fromText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);\n\t\t\t\tthis._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"FROMDATETIME\", FromDateTime);\n\nexport default FromDateTime;\n"]}
1
+ {"version":3,"file":"FromDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/FromDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_FROM_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_FROM_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass FromDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = new Date();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.fromText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"FROMDATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget fromText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_FROM_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.fromText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t\t\tthis._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"FROMDATETIME\", FromDateTime);\n\nexport default FromDateTime;\n"]}
@@ -1,7 +1,7 @@
1
1
  import SingleDateTemplate from "./SingleDateTemplate.js";
2
2
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
3
3
  import { DYNAMIC_DATE_RANGE_DATE_TEXT, } from "../generated/i18n/i18n-defaults.js";
4
- import { dateOptionToDates } from "./toDates.js";
4
+ import { dateOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
5
5
  import DynamicDateRange from "../DynamicDateRange.js";
6
6
  /**
7
7
  * @class
@@ -53,7 +53,7 @@ class SingleDate {
53
53
  currentValue.values = [];
54
54
  currentValue.operator = this.operator;
55
55
  if (e.detail.selectedDates[0]) {
56
- currentValue.values[0] = new Date(e.detail.selectedDates[0] * 1000);
56
+ currentValue.values[0] = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
57
57
  }
58
58
  return currentValue;
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAqB,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAA4B;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QAEnD,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACP,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC3E,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC,eAAe,CAAC;YACjC,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE9C,eAAe,UAAU,CAAC","sourcesContent":["import SingleDateTemplate from \"./SingleDateTemplate.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass SingleDate implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = SingleDateTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst date = valuesArray[0];\n\n\t\treturn this.getFormat().format(date);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateOptionToDates(value);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = new Date(e.detail.selectedDates[0] * 1000);\n\t\t}\n\n\t\treturn currentValue;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n}\n\nDynamicDateRange.register(\"DATE\", SingleDate);\n\nexport default SingleDate;\n"]}
1
+ {"version":3,"file":"SingleDate.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/SingleDate.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAG5E,OAAO,EACN,4BAA4B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD;;;;;;GAMG;AAEH,MAAM,UAAU;IAGf;QACC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QACnD,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5B,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAA4B;QAClC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAqB,CAAC;QAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,KAA4B;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,KAAa;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAS,CAAC;QAEnD,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,IAAI;QACP,OAAO,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,IAAI;QACP,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,qBAAqB,CAAC,CAAc;QACnC,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAA2B,CAAC;QAC3E,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAW,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,SAAS;QACR,OAAO,UAAU,CAAC,eAAe,CAAC;YACjC,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE9C,eAAe,UAAU,CAAC","sourcesContent":["import SingleDateTemplate from \"./SingleDateTemplate.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDYNAMIC_DATE_RANGE_DATE_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateOptionToDates, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass SingleDate implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\n\tconstructor() {\n\t\tthis.template = SingleDateTemplate;\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue) {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst date = valuesArray[0];\n\n\t\treturn this.getFormat().format(date);\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateOptionToDates(value);\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst date = this.getFormat().parse(value) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget text() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_DATE_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"DATE\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\thandleSelectionChange(e: CustomEvent): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tcurrentValue.values = [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (e.detail.selectedDates[0]) {\n\t\t\tcurrentValue.values[0] = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t}\n\n\t\treturn currentValue;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n}\n\nDynamicDateRange.register(\"DATE\", SingleDate);\n\nexport default SingleDate;\n"]}
@@ -1,8 +1,7 @@
1
1
  import FromDateTimeTemplate from "./FromDateTimeTemplate.js";
2
2
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
3
- import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
4
3
  import { DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DYNAMIC_DATE_RANGE_TO_INPUT_TEXT, DYNAMIC_DATE_RANGE_TO_TEXT, } from "../generated/i18n/i18n-defaults.js";
5
- import { dateTimeOptionToDates } from "./toDates.js";
4
+ import { dateTimeOptionToDates, calendarTimestampToLocalDate } from "./toDates.js";
6
5
  import DynamicDateRange from "../DynamicDateRange.js";
7
6
  /**
8
7
  * @class
@@ -18,7 +17,7 @@ class ToDateTime {
18
17
  };
19
18
  this.template = FromDateTimeTemplate;
20
19
  this._showTimeView = false;
21
- this._currentDateValue = UI5Date.getInstance();
20
+ this._currentDateValue = new Date();
22
21
  }
23
22
  parse(value) {
24
23
  const dateText = value.replace(this.toText, "").trim();
@@ -112,8 +111,8 @@ class ToDateTime {
112
111
  }
113
112
  if (target.hasAttribute("ui5-calendar")) {
114
113
  if (e.detail.selectedDates[0]) {
115
- const tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);
116
- this._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());
114
+ const localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0]);
115
+ this._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());
117
116
  currentValue.values = [this._currentDateValue];
118
117
  }
119
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/ToDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_TO_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_TO_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass ToDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = UI5Date.getInstance();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.toText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget toText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string\t {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst tempDate = UI5Date.getInstance(e.detail.selectedDates[0] * 1000);\n\t\t\t\tthis._currentDateValue.setFullYear(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"TODATETIME\", ToDateTime);\n\nexport default ToDateTime;\n"]}
1
+ {"version":3,"file":"ToDateTime.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/ToDateTime.ts"],"names":[],"mappings":"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","sourcesContent":["import FromDateTimeTemplate from \"./FromDateTimeTemplate.js\";\nimport type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { JsxTemplate } from \"@ui5/webcomponents-base/dist/index.js\";\nimport {\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDYNAMIC_DATE_RANGE_TO_INPUT_TEXT,\n\tDYNAMIC_DATE_RANGE_TO_TEXT,\n} from \"../generated/i18n/i18n-defaults.js\";\nimport { dateTimeOptionToDates, calendarTimestampToLocalDate } from \"./toDates.js\";\nimport DynamicDateRange from \"../DynamicDateRange.js\";\n\n/**\n * @class\n * @implements {IDynamicDateRangeOption}\n * @constructor\n * @public\n * @since 2.11.0\n */\n\nclass ToDateTime implements IDynamicDateRangeOption {\n\ttemplate: JsxTemplate;\n\tprivate _showTimeView: boolean;\n\tprivate _currentDateValue: Date;\n\n\tconstructor() {\n\t\tthis.template = FromDateTimeTemplate;\n\t\tthis._showTimeView = false;\n\t\tthis._currentDateValue = new Date();\n\t}\n\n\tparse(value: string): DynamicDateRangeValue {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\t\tconst returnValue = { operator: \"\", values: [] } as DynamicDateRangeValue;\n\n\t\treturnValue.operator = this.operator;\n\t\treturnValue.values = [date];\n\n\t\treturn returnValue;\n\t}\n\n\tformat(value: DynamicDateRangeValue): string {\n\t\tconst valuesArray = value?.values as Array<Date>;\n\n\t\tif (!valuesArray || valuesArray.length === 0) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst formattedValue = this.getFormat().format(valuesArray[0]);\n\n\t\treturn `${this.toText} ${formattedValue}`;\n\t}\n\n\ttoDates(value: DynamicDateRangeValue): Array<Date> {\n\t\treturn dateTimeOptionToDates(value);\n\t}\n\n\tresetState?: (() => void) | undefined = () => {\n\t\tthis._showTimeView = false;\n\t}\n\n\tget text(): string {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_TEXT);\n\t}\n\n\tget operator() {\n\t\treturn \"TODATETIME\";\n\t}\n\n\tget icon() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget showDateView() {\n\t\treturn !this._showTimeView;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._showTimeView;\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget toText() {\n\t\treturn DynamicDateRange.i18nBundle.getText(DYNAMIC_DATE_RANGE_TO_INPUT_TEXT);\n\t}\n\n\tgetDateValue(date: Date | undefined) : string {\n\t\tif (date) {\n\t\t\treturn this.getDateFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getDateFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\tgetTimeValue(date: Date | undefined) : string\t {\n\t\tif (date) {\n\t\t\treturn this.getFormat().format(date);\n\t\t}\n\n\t\treturn this._currentDateValue ? this.getFormat().format(this._currentDateValue) : \"\";\n\t}\n\n\t_dateTimeSwitchChange() {\n\t\tthis._showTimeView = !this._showTimeView;\n\t}\n\n\tisValidString(value: string): boolean {\n\t\tconst dateText = value.replace(this.toText, \"\").trim();\n\t\tconst date = this.getFormat().parse(dateText) as Date;\n\n\t\tif (!date || Number.isNaN(date.getTime())) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tgetFormat(): DateFormat {\n\t\treturn DateFormat.getDateTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetDateFormat(): DateFormat {\n\t\treturn DateFormat.getDateInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\tgetTimeFormat(): DateFormat {\n\t\treturn DateFormat.getTimeInstance({\n\t\t\tstrictParsing: true,\n\t\t});\n\t}\n\n\thandleSelectionChange(e: CustomEvent, value: DynamicDateRangeValue | undefined): DynamicDateRangeValue | undefined {\n\t\tconst currentValue = value || { operator: \"\", values: [] } as DynamicDateRangeValue;\n\t\tconst target = e.target as HTMLElement;\n\t\tcurrentValue.values = this._currentDateValue ? [this._currentDateValue] : [];\n\t\tcurrentValue.operator = this.operator;\n\n\t\tif (target.hasAttribute(\"ui5-segmented-button\")) {\n\t\t\tthis._dateTimeSwitchChange();\n\t\t\treturn currentValue;\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-calendar\")) {\n\t\t\tif (e.detail.selectedDates[0]) {\n\t\t\t\tconst localDate = calendarTimestampToLocalDate(e.detail.selectedDates[0] as number);\n\t\t\t\tthis._currentDateValue.setFullYear(localDate.getFullYear(), localDate.getMonth(), localDate.getDate());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tif (target.hasAttribute(\"ui5-time-selection-clocks\")) {\n\t\t\tconst tempValue = e.detail.value as string;\n\t\t\tconst tempDate = this.getFormat().parse(tempValue) as Date;\n\t\t\tif (!this._currentDateValue && value?.values?.length) {\n\t\t\t\tthis._currentDateValue = value?.values[0] as Date;\n\t\t\t}\n\n\t\t\tif (tempDate) {\n\t\t\t\tthis._currentDateValue.setHours(tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());\n\t\t\t\tcurrentValue.values = [this._currentDateValue];\n\t\t\t}\n\t\t}\n\n\t\tthis._showTimeView = true;\n\n\t\treturn currentValue;\n\t}\n}\n\nDynamicDateRange.register(\"TODATETIME\", ToDateTime);\n\nexport default ToDateTime;\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { DynamicDateRangeValue, IDynamicDateRangeOption } from "../DynamicDateRange.js";
2
+ declare const calendarTimestampToLocalDate: (timestampSeconds: number) => Date;
2
3
  declare const dateOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
3
4
  declare const dateRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
4
5
  declare const dateTimeRangeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
@@ -12,4 +13,4 @@ declare const lastNextToDates: (value: DynamicDateRangeValue, unit: string, dire
12
13
  */
13
14
  declare const toDatesLastNext: (value: DynamicDateRangeValue, option: IDynamicDateRangeOption) => Array<Date>;
14
15
  declare const dateTimeOptionToDates: (value: DynamicDateRangeValue) => Array<Date>;
15
- export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
16
+ export { calendarTimestampToLocalDate, dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
@@ -1,4 +1,8 @@
1
1
  import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
2
+ import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
3
+ const calendarTimestampToLocalDate = (timestampSeconds) => {
4
+ return CalendarDate.fromTimestamp(timestampSeconds * 1000).toLocalJSDate();
5
+ };
2
6
  const dateOptionToDates = (value) => {
3
7
  if (!value || !value.values || value.values.length !== 1) {
4
8
  return [];
@@ -178,5 +182,5 @@ const dateTimeOptionToDates = (value) => {
178
182
  endDate.setMilliseconds(999);
179
183
  return [startDate, endDate];
180
184
  };
181
- export { dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
185
+ export { calendarTimestampToLocalDate, dateOptionToDates, dateRangeOptionToDates, dateTimeRangeOptionToDates, todayToDates, tomorrowToDates, yesterdayToDates, lastNextToDates, toDatesLastNext, dateTimeOptionToDates, };
182
186
  //# sourceMappingURL=toDates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toDates.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/toDates.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\n\nconst dateOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 1) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateTimeRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\treturn [startDate, endDate];\n};\n\nconst todayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tendDate.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst yesterdayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() - 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() - 1);\n\n\treturn [startDate, endDate];\n};\n\nconst tomorrowToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() + 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() + 1);\n\n\treturn [startDate, endDate];\n};\n\nconst lastToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Last X Days\": start X days before today (inclusive), end today\n\t\t// \"Last 1 Day\" = today only, \"Last 2 Days\" = yesterday + today, etc.\n\t\tstartDate.setDate(today.getDate() - (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;\n\t\tstartDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tstartDate.setMonth(today.getMonth() - (amount - 1));\n\t\tstartDate.setDate(1); // Start of the month\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);\n\t\tstartDate.setMonth(quarterStartMonth);\n\t\tstartDate.setDate(1); // Start of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tstartDate.setFullYear(today.getFullYear() - (amount - 1));\n\t\tstartDate.setMonth(0); // January\n\t\tstartDate.setDate(1); // Start of the year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst nextToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Next X Days\": start today, end X days from today (inclusive)\n\t\t// \"Next 1 Day\" = today only, \"Next 2 Days\" = today + tomorrow, etc.\n\t\tendDate.setDate(today.getDate() + (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;\n\t\tendDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tendDate.setMonth(today.getMonth() + amount);\n\t\tendDate.setDate(0); // Last day of the previous month (the target month)\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);\n\t\tendDate.setMonth(quarterEndMonth + 1);\n\t\tendDate.setDate(0); // Last day of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tendDate.setFullYear(today.getFullYear() + amount);\n\t\tendDate.setMonth(0); // January of the next year\n\t\tendDate.setDate(0); // Last day of December of the target year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst lastNextToDates = (value: DynamicDateRangeValue, unit: string, direction: \"last\" | \"next\"): Array<Date> => {\n\treturn direction === \"last\" ? lastToDates(value, unit) : nextToDates(value, unit);\n};\n\n/**\n * Converts DynamicDateRangeValue to dates for Last/Next options.\n * Uses operator name to determine time unit and direction.\n */\nconst toDatesLastNext = (value: DynamicDateRangeValue, option: IDynamicDateRangeOption): Array<Date> => {\n\tconst operator = option.operator;\n\n\t// Extract direction from operator name\n\tlet direction: \"last\" | \"next\";\n\tif (operator.startsWith(\"LAST\")) {\n\t\tdirection = \"last\";\n\t} else if (operator.startsWith(\"NEXT\")) {\n\t\tdirection = \"next\";\n\t} else {\n\t\t// Not a LastNext option, return today's date range\n\t\treturn todayToDates();\n\t}\n\n\t// Extract time unit from operator name\n\tlet unit: string;\n\tif (operator.includes(\"DAYS\")) {\n\t\tunit = \"days\";\n\t} else if (operator.includes(\"WEEKS\")) {\n\t\tunit = \"weeks\";\n\t} else if (operator.includes(\"MONTHS\")) {\n\t\tunit = \"months\";\n\t} else if (operator.includes(\"QUARTERS\")) {\n\t\tunit = \"quarters\";\n\t} else if (operator.includes(\"YEARS\")) {\n\t\tunit = \"years\";\n\t} else {\n\t\t// Unknown time unit, return today's date range as fallback\n\t\treturn todayToDates();\n\t}\n\n\treturn lastNextToDates(value, unit, direction);\n};\n\nconst dateTimeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate.setMilliseconds(0);\n\tendDate.setMilliseconds(999);\n\n\treturn [startDate, endDate];\n};\n\nexport {\n\tdateOptionToDates,\n\tdateRangeOptionToDates,\n\tdateTimeRangeOptionToDates,\n\ttodayToDates,\n\ttomorrowToDates,\n\tyesterdayToDates,\n\tlastNextToDates,\n\ttoDatesLastNext,\n\tdateTimeOptionToDates,\n};\n"]}
1
+ {"version":3,"file":"toDates.js","sourceRoot":"","sources":["../../src/dynamic-date-range-options/toDates.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DynamicDateRangeValue, IDynamicDateRangeOption } from \"../DynamicDateRange.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\n\nconst calendarTimestampToLocalDate = (timestampSeconds: number): Date => {\n\treturn CalendarDate.fromTimestamp(timestampSeconds * 1000).toLocalJSDate();\n};\n\nconst dateOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 1) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\tstartDate?.setHours(0, 0, 0, 0);\n\tendDate?.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst dateTimeRangeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length !== 2) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = value.values ? value.values[1] as Date : UI5Date.getInstance();\n\n\treturn [startDate, endDate];\n};\n\nconst todayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tendDate.setHours(23, 59, 59, 999);\n\n\treturn [startDate, endDate];\n};\n\nconst yesterdayToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() - 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() - 1);\n\n\treturn [startDate, endDate];\n};\n\nconst tomorrowToDates = (): Array<Date> => {\n\tconst startDate = UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance();\n\n\tstartDate.setHours(0, 0, 0, 0);\n\tstartDate.setDate(startDate.getDate() + 1);\n\n\tendDate.setHours(23, 59, 59, 999);\n\tendDate.setDate(endDate.getDate() + 1);\n\n\treturn [startDate, endDate];\n};\n\nconst lastToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Last X Days\": start X days before today (inclusive), end today\n\t\t// \"Last 1 Day\" = today only, \"Last 2 Days\" = yesterday + today, etc.\n\t\tstartDate.setDate(today.getDate() - (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToStartOfWeek = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1;\n\t\tstartDate.setDate(today.getDate() - daysToStartOfWeek - ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tstartDate.setMonth(today.getMonth() - (amount - 1));\n\t\tstartDate.setDate(1); // Start of the month\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterStartMonth = currentQuarter * 3 - ((amount - 1) * 3);\n\t\tstartDate.setMonth(quarterStartMonth);\n\t\tstartDate.setDate(1); // Start of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tstartDate.setFullYear(today.getFullYear() - (amount - 1));\n\t\tstartDate.setMonth(0); // January\n\t\tstartDate.setDate(1); // Start of the year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst nextToDates = (value: DynamicDateRangeValue, unit: string): Array<Date> => {\n\tconst today = UI5Date.getInstance();\n\tconst startDate = UI5Date.getInstance(today.getTime());\n\tconst endDate = UI5Date.getInstance(today.getTime());\n\tconst amount = value.values?.[0] as number || 1;\n\n\tswitch (unit) {\n\tcase \"days\":\n\t\t// For \"Next X Days\": start today, end X days from today (inclusive)\n\t\t// \"Next 1 Day\" = today only, \"Next 2 Days\" = today + tomorrow, etc.\n\t\tendDate.setDate(today.getDate() + (amount - 1));\n\t\tbreak;\n\tcase \"weeks\": {\n\t\tconst currentDayOfWeek = today.getDay();\n\t\tconst daysToEndOfWeek = currentDayOfWeek === 0 ? 0 : 7 - currentDayOfWeek;\n\t\tendDate.setDate(today.getDate() + daysToEndOfWeek + ((amount - 1) * 7));\n\t\tbreak;\n\t}\n\tcase \"months\":\n\t\tendDate.setMonth(today.getMonth() + amount);\n\t\tendDate.setDate(0); // Last day of the previous month (the target month)\n\t\tbreak;\n\tcase \"quarters\": {\n\t\tconst currentQuarter = Math.floor(today.getMonth() / 3);\n\t\tconst quarterEndMonth = (currentQuarter + 1) * 3 - 1 + ((amount - 1) * 3);\n\t\tendDate.setMonth(quarterEndMonth + 1);\n\t\tendDate.setDate(0); // Last day of the quarter\n\t\tbreak;\n\t}\n\tcase \"years\":\n\t\tendDate.setFullYear(today.getFullYear() + amount);\n\t\tendDate.setMonth(0); // January of the next year\n\t\tendDate.setDate(0); // Last day of December of the target year\n\t\tbreak;\n\t}\n\n\treturn [startDate, endDate];\n};\n\nconst lastNextToDates = (value: DynamicDateRangeValue, unit: string, direction: \"last\" | \"next\"): Array<Date> => {\n\treturn direction === \"last\" ? lastToDates(value, unit) : nextToDates(value, unit);\n};\n\n/**\n * Converts DynamicDateRangeValue to dates for Last/Next options.\n * Uses operator name to determine time unit and direction.\n */\nconst toDatesLastNext = (value: DynamicDateRangeValue, option: IDynamicDateRangeOption): Array<Date> => {\n\tconst operator = option.operator;\n\n\t// Extract direction from operator name\n\tlet direction: \"last\" | \"next\";\n\tif (operator.startsWith(\"LAST\")) {\n\t\tdirection = \"last\";\n\t} else if (operator.startsWith(\"NEXT\")) {\n\t\tdirection = \"next\";\n\t} else {\n\t\t// Not a LastNext option, return today's date range\n\t\treturn todayToDates();\n\t}\n\n\t// Extract time unit from operator name\n\tlet unit: string;\n\tif (operator.includes(\"DAYS\")) {\n\t\tunit = \"days\";\n\t} else if (operator.includes(\"WEEKS\")) {\n\t\tunit = \"weeks\";\n\t} else if (operator.includes(\"MONTHS\")) {\n\t\tunit = \"months\";\n\t} else if (operator.includes(\"QUARTERS\")) {\n\t\tunit = \"quarters\";\n\t} else if (operator.includes(\"YEARS\")) {\n\t\tunit = \"years\";\n\t} else {\n\t\t// Unknown time unit, return today's date range as fallback\n\t\treturn todayToDates();\n\t}\n\n\treturn lastNextToDates(value, unit, direction);\n};\n\nconst dateTimeOptionToDates = (value: DynamicDateRangeValue): Array<Date> => {\n\tif (!value || !value.values || value.values.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst startDate = value.values ? value.values[0] as Date : UI5Date.getInstance();\n\tconst endDate = UI5Date.getInstance(startDate.getTime());\n\n\tstartDate.setMilliseconds(0);\n\tendDate.setMilliseconds(999);\n\n\treturn [startDate, endDate];\n};\n\nexport {\n\tcalendarTimestampToLocalDate,\n\tdateOptionToDates,\n\tdateRangeOptionToDates,\n\tdateTimeRangeOptionToDates,\n\ttodayToDates,\n\ttomorrowToDates,\n\tyesterdayToDates,\n\tlastNextToDates,\n\ttoDatesLastNext,\n\tdateTimeOptionToDates,\n};\n"]}