@openui5/sap.ui.unified 1.144.0 → 1.146.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 (119) hide show
  1. package/REUSE.toml +40 -16
  2. package/THIRDPARTY.txt +28 -7
  3. package/package.json +2 -2
  4. package/src/sap/ui/unified/.library +1 -1
  5. package/src/sap/ui/unified/Calendar.js +67 -18
  6. package/src/sap/ui/unified/CalendarAppointment.js +1 -1
  7. package/src/sap/ui/unified/CalendarDateInterval.js +68 -13
  8. package/src/sap/ui/unified/CalendarDateIntervalRenderer.js +13 -0
  9. package/src/sap/ui/unified/CalendarLegend.js +1 -1
  10. package/src/sap/ui/unified/CalendarLegendItem.js +1 -1
  11. package/src/sap/ui/unified/CalendarMonthInterval.js +1 -1
  12. package/src/sap/ui/unified/CalendarOneMonthInterval.js +1 -1
  13. package/src/sap/ui/unified/CalendarRow.js +6 -1
  14. package/src/sap/ui/unified/CalendarRowRenderer.js +2 -1
  15. package/src/sap/ui/unified/CalendarTimeInterval.js +60 -6
  16. package/src/sap/ui/unified/CalendarTimeIntervalRenderer.js +1 -1
  17. package/src/sap/ui/unified/CalendarWeekInterval.js +1 -1
  18. package/src/sap/ui/unified/ColorPicker.js +1 -1
  19. package/src/sap/ui/unified/ColorPickerPopover.js +1 -1
  20. package/src/sap/ui/unified/ContentSwitcher.js +1 -1
  21. package/src/sap/ui/unified/Currency.js +1 -1
  22. package/src/sap/ui/unified/CurrencyRenderer.js +1 -1
  23. package/src/sap/ui/unified/DateRange.js +1 -1
  24. package/src/sap/ui/unified/DateTypeRange.js +1 -1
  25. package/src/sap/ui/unified/FileUploader.js +26 -32
  26. package/src/sap/ui/unified/FileUploaderHttpRequestMethod.js +14 -0
  27. package/src/sap/ui/unified/FileUploaderParameter.js +1 -1
  28. package/src/sap/ui/unified/FileUploaderRenderer.js +0 -9
  29. package/src/sap/ui/unified/FileUploaderXHRSettings.js +1 -1
  30. package/src/sap/ui/unified/Menu.js +1 -1
  31. package/src/sap/ui/unified/MenuItem.js +1 -1
  32. package/src/sap/ui/unified/MenuItemBase.js +1 -1
  33. package/src/sap/ui/unified/MenuItemGroup.js +1 -1
  34. package/src/sap/ui/unified/MenuRenderer.js +1 -1
  35. package/src/sap/ui/unified/MenuTextFieldItem.js +1 -1
  36. package/src/sap/ui/unified/NonWorkingPeriod.js +1 -1
  37. package/src/sap/ui/unified/RecurringNonWorkingPeriod.js +1 -1
  38. package/src/sap/ui/unified/Shell.js +1 -1
  39. package/src/sap/ui/unified/ShellHeadItem.js +1 -1
  40. package/src/sap/ui/unified/ShellHeadUserItem.js +1 -1
  41. package/src/sap/ui/unified/ShellLayout.js +1 -1
  42. package/src/sap/ui/unified/ShellOverlay.js +1 -1
  43. package/src/sap/ui/unified/SplitContainer.js +1 -1
  44. package/src/sap/ui/unified/TimeRange.js +1 -1
  45. package/src/sap/ui/unified/calendar/CalendarUtils.js +17 -0
  46. package/src/sap/ui/unified/calendar/DatesRow.js +1 -1
  47. package/src/sap/ui/unified/calendar/DatesRowRenderer.js +0 -38
  48. package/src/sap/ui/unified/calendar/Header.js +1 -1
  49. package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
  50. package/src/sap/ui/unified/calendar/Month.js +1 -1
  51. package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
  52. package/src/sap/ui/unified/calendar/MonthPickerRenderer.js +1 -1
  53. package/src/sap/ui/unified/calendar/MonthRenderer.js +28 -8
  54. package/src/sap/ui/unified/calendar/MonthsRow.js +9 -2
  55. package/src/sap/ui/unified/calendar/MonthsRowRenderer.js +4 -1
  56. package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +1 -1
  57. package/src/sap/ui/unified/calendar/RecurrenceUtils.js +4 -1
  58. package/src/sap/ui/unified/calendar/TimesRow.js +1 -1
  59. package/src/sap/ui/unified/calendar/WeeksRow.js +219 -0
  60. package/src/sap/ui/unified/calendar/WeeksRowRenderer.js +114 -0
  61. package/src/sap/ui/unified/calendar/YearPicker.js +1 -1
  62. package/src/sap/ui/unified/calendar/YearRangePicker.js +1 -1
  63. package/src/sap/ui/unified/library.js +2 -2
  64. package/src/sap/ui/unified/messagebundle.properties +3 -0
  65. package/src/sap/ui/unified/messagebundle_ar.properties +48 -6
  66. package/src/sap/ui/unified/messagebundle_bg.properties +48 -6
  67. package/src/sap/ui/unified/messagebundle_ca.properties +48 -6
  68. package/src/sap/ui/unified/messagebundle_cnr.properties +48 -6
  69. package/src/sap/ui/unified/messagebundle_cs.properties +48 -6
  70. package/src/sap/ui/unified/messagebundle_cy.properties +48 -6
  71. package/src/sap/ui/unified/messagebundle_da.properties +49 -7
  72. package/src/sap/ui/unified/messagebundle_de.properties +51 -9
  73. package/src/sap/ui/unified/messagebundle_el.properties +48 -6
  74. package/src/sap/ui/unified/messagebundle_en.properties +48 -6
  75. package/src/sap/ui/unified/messagebundle_en_GB.properties +48 -6
  76. package/src/sap/ui/unified/messagebundle_en_US_saprigi.properties +48 -6
  77. package/src/sap/ui/unified/messagebundle_es.properties +48 -6
  78. package/src/sap/ui/unified/messagebundle_es_MX.properties +55 -13
  79. package/src/sap/ui/unified/messagebundle_et.properties +48 -6
  80. package/src/sap/ui/unified/messagebundle_fi.properties +48 -6
  81. package/src/sap/ui/unified/messagebundle_fr.properties +48 -6
  82. package/src/sap/ui/unified/messagebundle_fr_CA.properties +48 -6
  83. package/src/sap/ui/unified/messagebundle_hi.properties +48 -6
  84. package/src/sap/ui/unified/messagebundle_hr.properties +48 -6
  85. package/src/sap/ui/unified/messagebundle_hu.properties +48 -6
  86. package/src/sap/ui/unified/messagebundle_id.properties +48 -6
  87. package/src/sap/ui/unified/messagebundle_it.properties +48 -6
  88. package/src/sap/ui/unified/messagebundle_iw.properties +48 -6
  89. package/src/sap/ui/unified/messagebundle_ja.properties +48 -6
  90. package/src/sap/ui/unified/messagebundle_kk.properties +48 -6
  91. package/src/sap/ui/unified/messagebundle_ko.properties +48 -6
  92. package/src/sap/ui/unified/messagebundle_lt.properties +52 -10
  93. package/src/sap/ui/unified/messagebundle_lv.properties +48 -6
  94. package/src/sap/ui/unified/messagebundle_mk.properties +48 -6
  95. package/src/sap/ui/unified/messagebundle_ms.properties +48 -6
  96. package/src/sap/ui/unified/messagebundle_nl.properties +48 -6
  97. package/src/sap/ui/unified/messagebundle_no.properties +48 -6
  98. package/src/sap/ui/unified/messagebundle_pl.properties +48 -6
  99. package/src/sap/ui/unified/messagebundle_pt.properties +48 -6
  100. package/src/sap/ui/unified/messagebundle_pt_PT.properties +48 -6
  101. package/src/sap/ui/unified/messagebundle_ro.properties +48 -6
  102. package/src/sap/ui/unified/messagebundle_ru.properties +48 -6
  103. package/src/sap/ui/unified/messagebundle_sh.properties +48 -6
  104. package/src/sap/ui/unified/messagebundle_sk.properties +48 -6
  105. package/src/sap/ui/unified/messagebundle_sl.properties +48 -6
  106. package/src/sap/ui/unified/messagebundle_sr.properties +48 -6
  107. package/src/sap/ui/unified/messagebundle_sv.properties +48 -6
  108. package/src/sap/ui/unified/messagebundle_th.properties +48 -6
  109. package/src/sap/ui/unified/messagebundle_tr.properties +48 -6
  110. package/src/sap/ui/unified/messagebundle_uk.properties +51 -9
  111. package/src/sap/ui/unified/messagebundle_vi.properties +50 -8
  112. package/src/sap/ui/unified/messagebundle_zh_CN.properties +48 -6
  113. package/src/sap/ui/unified/messagebundle_zh_TW.properties +48 -6
  114. package/src/sap/ui/unified/themes/base/Calendar.less +148 -38
  115. package/src/sap/ui/unified/themes/base/CalendarDateInterval.less +13 -1
  116. package/src/sap/ui/unified/themes/base/CalendarTimeInterval.less +17 -0
  117. package/src/sap/ui/unified/themes/base/FileUploader.less +25 -1
  118. package/src/sap/ui/unified/themes/base/IndexPicker.less +13 -8
  119. package/src/sap/ui/unified/themes/sap_hcb/base_Calendar.less +2 -1
package/REUSE.toml CHANGED
@@ -7,7 +7,7 @@ SPDX-PackageComment = "The code in this project may include calls to APIs (“AP
7
7
  [[annotations]]
8
8
  path = "**"
9
9
  precedence = "aggregate"
10
- SPDX-FileCopyrightText = "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors"
10
+ SPDX-FileCopyrightText = "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors"
11
11
  SPDX-License-Identifier = "Apache-2.0"
12
12
 
13
13
  #
@@ -102,7 +102,7 @@ SPDX-FileComment = "these files belong to: jQuery UI"
102
102
  path = "src/sap.ui.commons/src/sap/ui/commons/Carousel.js"
103
103
  precedence = "aggregate"
104
104
  SPDX-FileCopyrightText = [
105
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
105
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
106
106
  "Spencer Tipping"
107
107
  ]
108
108
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -122,7 +122,7 @@ SPDX-FileComment = "these files belong to: jQuery 3"
122
122
  path = "src/sap.ui.core/src/sap/base/util/isPlainObject.js"
123
123
  precedence = "aggregate"
124
124
  SPDX-FileCopyrightText = [
125
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
125
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
126
126
  "OpenJS Foundation and other contributors"
127
127
  ]
128
128
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -132,7 +132,7 @@ SPDX-FileComment = "these files contain content from SAP and jQuery 3: isPlainOb
132
132
  path = "src/sap.ui.core/src/sap/base/util/_merge.js"
133
133
  precedence = "aggregate"
134
134
  SPDX-FileCopyrightText = [
135
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
135
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
136
136
  "OpenJS Foundation and other contributors"
137
137
  ]
138
138
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -142,7 +142,7 @@ SPDX-FileComment = "these files contain content from SAP and jQuery 3: _merge.js
142
142
  path = "src/sap.ui.core/src/jquery.sap.script.js"
143
143
  precedence = "aggregate"
144
144
  SPDX-FileCopyrightText = [
145
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
145
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
146
146
  "OpenJS Foundation and other contributors"
147
147
  ]
148
148
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -152,7 +152,7 @@ SPDX-FileComment = "these files contain content from SAP and jQuery 3: jquery.sa
152
152
  path = "src/sap.ui.core/src/sap/ui/Device.js"
153
153
  precedence = "aggregate"
154
154
  SPDX-FileCopyrightText = [
155
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
155
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
156
156
  "2011, John Resig"
157
157
  ]
158
158
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -162,7 +162,7 @@ SPDX-FileComment = "these files contain content from SAP and jQuery 1: Device.js
162
162
  path = "src/sap.ui.core/src/sap/ui/dom/jquery/Selectors.js"
163
163
  precedence = "aggregate"
164
164
  SPDX-FileCopyrightText = [
165
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
165
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
166
166
  "2014 jQuery Foundation and other contributors"
167
167
  ]
168
168
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -179,7 +179,7 @@ SPDX-FileComment = "these files belong to: jQuery UI 1.10"
179
179
  path = "src/sap.ui.core/src/jquery.sap.dom.js"
180
180
  precedence = "aggregate"
181
181
  SPDX-FileCopyrightText = [
182
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
182
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
183
183
  "2014 jQuery Foundation and other contributors"
184
184
  ]
185
185
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -189,7 +189,7 @@ SPDX-FileComment = "these files contain content from SAP and jQuery UI 1.10: jqu
189
189
  path = "src/sap.ui.core/src/sap/ui/dom/jquery/zIndex.js"
190
190
  precedence = "aggregate"
191
191
  SPDX-FileCopyrightText = [
192
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
192
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
193
193
  "2014 jQuery Foundation and other contributors"
194
194
  ]
195
195
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -243,7 +243,7 @@ SPDX-FileComment = "these files belong to: jQuery Mobile"
243
243
  path = "src/sap.ui.core/src/sap/ui/util/_FeatureDetection.js"
244
244
  precedence = "aggregate"
245
245
  SPDX-FileCopyrightText = [
246
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
246
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
247
247
  "2012 Wei-Ko Kao"
248
248
  ]
249
249
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -270,7 +270,7 @@ SPDX-FileComment = "these files belong to: JUnit Reporter for QUnit"
270
270
  path = "src/sap.ui.core/src/sap/ui/qunit/qunit-junit.js"
271
271
  precedence = "aggregate"
272
272
  SPDX-FileCopyrightText = [
273
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
273
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
274
274
  "jQuery Foundation and other contributors"
275
275
  ]
276
276
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -421,7 +421,7 @@ SPDX-FileComment = "these files belong to: blanket.js"
421
421
  path = "src/sap.ui.core/src/sap/base/util/JSTokenizer.js"
422
422
  precedence = "aggregate"
423
423
  SPDX-FileCopyrightText = [
424
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
424
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
425
425
  "Douglas Crockford"
426
426
  ]
427
427
  SPDX-License-Identifier = "Apache-2.0 and LicenseRef-JSONinJSPublicDomain"
@@ -431,7 +431,7 @@ SPDX-FileComment = "these files contain content from SAP and JSON in JS: JSToken
431
431
  path = "src/sap.ui.core/src/sap/ui/base/ExpressionParser.js"
432
432
  precedence = "aggregate"
433
433
  SPDX-FileCopyrightText = [
434
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
434
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
435
435
  "2010 Douglas Crockford"
436
436
  ]
437
437
  SPDX-License-Identifier = "Apache-2.0"
@@ -479,7 +479,7 @@ SPDX-FileComment = "these files contain content from p-cancelable and @babel/hel
479
479
  path = "src/sap.ui.core/src/sap/ui/core/date/Persian.js"
480
480
  precedence = "aggregate"
481
481
  SPDX-FileCopyrightText = [
482
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
482
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
483
483
  "Behrang Norouzinia"
484
484
  ]
485
485
  SPDX-License-Identifier = "Apache-2.0 and MIT"
@@ -496,7 +496,7 @@ SPDX-FileComment = "these files belong to: vkBeautify"
496
496
  path = "src/sap.ui.core/src/sap/ui/core/cache/LRUPersistentCache.js"
497
497
  precedence = "aggregate"
498
498
  SPDX-FileCopyrightText = [
499
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
499
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
500
500
  "Isaac Z. Schlueter and Contributors"
501
501
  ]
502
502
  SPDX-License-Identifier = "Apache-2.0 and ISC"
@@ -589,6 +589,30 @@ SPDX-License-Identifier = "MIT"
589
589
  SPDX-FileComment = "these files belong to: @cfworker/json-schema"
590
590
 
591
591
 
592
+ # Library: sap.ui.mdc:
593
+
594
+ [[annotations]]
595
+ path = "src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/ChartJS.js"
596
+ precedence = "aggregate"
597
+ SPDX-FileCopyrightText = "2025 Chart.js Contributors"
598
+ SPDX-License-Identifier = "MIT"
599
+ SPDX-FileComment = "these files belong to: Chart.js"
600
+
601
+ [[annotations]]
602
+ path = "src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/chartjs-plugin-zoom.js"
603
+ precedence = "aggregate"
604
+ SPDX-FileCopyrightText = "2016-2021 chartjs-plugin-zoom Contributors"
605
+ SPDX-License-Identifier = "MIT"
606
+ SPDX-FileComment = "these files belong to: chartjs-plugin-zoom"
607
+
608
+ [[annotations]]
609
+ path = "src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/hammerjs.js"
610
+ precedence = "aggregate"
611
+ SPDX-FileCopyrightText = "2011-2017 by Jorik Tangelder (Eight Media)"
612
+ SPDX-License-Identifier = "MIT"
613
+ SPDX-FileComment = "these files belong to: hammer.js"
614
+
615
+
592
616
  # Library: sap.ui.webc.common:
593
617
 
594
618
  [[annotations]]
@@ -646,7 +670,7 @@ SPDX-FileComment = "these files belong to: UI5 Web Components"
646
670
  path = "lib/jsdoc/ui5/plugin.js"
647
671
  precedence = "aggregate"
648
672
  SPDX-FileCopyrightText = [
649
- "2025 SAP SE or an SAP affiliate company and OpenUI5 contributors",
673
+ "2026 SAP SE or an SAP affiliate company and OpenUI5 contributors",
650
674
  "2011-present Michael Mathews micmath@gmail.com and the contributors to JSDoc"
651
675
  ]
652
676
  SPDX-License-Identifier = "Apache-2.0"
package/THIRDPARTY.txt CHANGED
@@ -6,31 +6,31 @@ The full text of all referenced licenses is appended at the end of this file.
6
6
 
7
7
  Library: sap.f:
8
8
 
9
- Component: UI5 Web Components, version: 2.15.0
9
+ Component: UI5 Web Components, version: 2.19.2
10
10
  Copyright: SAP
11
11
  License: Apache-2.0
12
12
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
13
13
  Contained in: src/sap.f/src/sap/f/thirdparty/**
14
14
 
15
- Component: UI5 Web Components Fiori, version: 2.15.0
15
+ Component: UI5 Web Components Fiori, version: 2.19.2
16
16
  Copyright: SAP
17
17
  License: Apache-2.0
18
18
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
19
19
  Contained in: src/sap.f/src/sap/f/thirdparty/**
20
20
 
21
- Component: UI5 Web Components Icons, version: 2.15.0
21
+ Component: UI5 Web Components Icons, version: 2.19.2
22
22
  Copyright: SAP
23
23
  License: Apache-2.0
24
24
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
25
25
  Contained in: src/sap.f/src/sap/f/thirdparty/**
26
26
 
27
- Component: UI5 Web Components Icons Business Suite, version: 2.15.0
27
+ Component: UI5 Web Components Icons Business Suite, version: 2.19.2
28
28
  Copyright: SAP
29
29
  License: Apache-2.0
30
30
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
31
31
  Contained in: src/sap.f/src/sap/f/thirdparty/**
32
32
 
33
- Component: UI5 Web Components Icons TNT, version: 2.15.0
33
+ Component: UI5 Web Components Icons TNT, version: 2.19.2
34
34
  Copyright: SAP
35
35
  License: Apache-2.0
36
36
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -309,7 +309,7 @@ License: MIT
309
309
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
310
310
  Contained in: src/sap.ui.core/src/sap/ui/thirdparty/bignumber.js
311
311
 
312
- Component: lodash, version: 4.17.21
312
+ Component: lodash, version: 4.17.23
313
313
  Copyright: OpenJS Foundation and other contributors
314
314
  License: MIT
315
315
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
@@ -425,6 +425,27 @@ License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
425
425
  Contained in: src/sap.ui.integration/test/sap/ui/integration/demokit/cardExplorer/webapp/thirdparty/CfWorkerJsonSchemaValidator.js
426
426
 
427
427
 
428
+ Library: sap.ui.mdc:
429
+
430
+ Component: Chart.js, version: 4.5.0
431
+ Copyright: 2025 Chart.js Contributors
432
+ License: MIT
433
+ License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
434
+ Contained in: src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/ChartJS.js
435
+
436
+ Component: chartjs-plugin-zoom, version: 1.0.1
437
+ Copyright: 2016-2021 chartjs-plugin-zoom Contributors
438
+ License: MIT
439
+ License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
440
+ Contained in: src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/chartjs-plugin-zoom.js
441
+
442
+ Component: hammer.js, version: 2.0.7
443
+ Copyright: 2011-2017 by Jorik Tangelder (Eight Media)
444
+ License: MIT
445
+ License Text: https://github.com/UI5/openui5/blob/master/LICENSES/MIT.txt
446
+ Contained in: src/sap.ui.mdc/test/sap/ui/mdc/demokit/sample/Chart/ChartJS/control/hammerjs.js
447
+
448
+
428
449
  Library: sap.ui.webc.common:
429
450
 
430
451
  Component: UI5 Web Components, version: 1.18.0
@@ -477,7 +498,7 @@ License: Apache-2.0
477
498
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
478
499
  Contained in: lib/jsdoc/ui5/plugin.js
479
500
 
480
- Component: SAP Theming Base Content, version: 11.32.2-20250827135846+79bb30d311678435d61b21db26ecbe07d6b05079
501
+ Component: SAP Theming Base Content, version: 11.34.0
481
502
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
482
503
  License: Apache-2.0
483
504
  License Text: https://github.com/UI5/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.unified",
3
- "version": "1.144.0",
3
+ "version": "1.146.0",
4
4
  "description": "OpenUI5 UI Library sap.ui.unified",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,6 +14,6 @@
14
14
  "url": "https://github.com/UI5/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.ui.core": "1.144.0"
17
+ "@openui5/sap.ui.core": "1.146.0"
18
18
  }
19
19
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2026 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.144.0</version>
9
+ <version>1.146.0</version>
10
10
 
11
11
  <documentation>Unified controls intended for both, mobile and desktop scenarios</documentation>
12
12
 
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * Basic Calendar.
81
81
  * This calendar is used for DatePickers
82
82
  * @extends sap.ui.core.Control
83
- * @version 1.144.0
83
+ * @version 1.146.0
84
84
  *
85
85
  * @constructor
86
86
  * @public
@@ -1688,23 +1688,42 @@ sap.ui.define([
1688
1688
  };
1689
1689
 
1690
1690
  /**
1691
- * Calculates the year picker button text in secondary calendar type.
1691
+ * Returns secondary calendar year(s) text if there is secondaryCalendarType set.
1692
1692
  * @private
1693
1693
  */
1694
- Calendar.prototype._updateHeadersYearAdditionalTextHelper = function() {
1694
+ Calendar.prototype._getSecondaryYearText = function() {
1695
1695
  if (!this._getSecondaryCalendarType()){
1696
- return;
1696
+ return "";
1697
+ }
1698
+
1699
+ const oSecondaryYears = this._getDisplayedSecondaryYears();
1700
+ let sSecondaryYearText = "";
1701
+
1702
+ // Add null checks to prevent errors when secondary years are undefined
1703
+ if (!oSecondaryYears || !oSecondaryYears.start || !oSecondaryYears.end) {
1704
+ return "";
1697
1705
  }
1698
- var oSecondaryYears = this._getDisplayedSecondaryYears();
1706
+
1699
1707
  if (oSecondaryYears.start.getYear() === oSecondaryYears.end.getYear()) {
1700
- this._updateHeadersYearAdditionalText(this._oYearFormatSecondary.format(oSecondaryYears.start.toUTCJSDate(), true));
1708
+ sSecondaryYearText = this._oYearFormatSecondary.format(oSecondaryYears.start.toUTCJSDate(), true);
1701
1709
  } else {
1702
- var oLocaleData = this._getLocaleData();
1703
- var sPattern = oLocaleData.getIntervalPattern();
1704
- var sSecondaryMonthInfo = sPattern.replace(/\{0\}/, this._oYearFormatSecondary.format(oSecondaryYears.start.toUTCJSDate(), true))
1710
+ const sPattern = this._getLocaleData().getIntervalPattern();
1711
+ sSecondaryYearText = sPattern.replace(/\{0\}/, this._oYearFormatSecondary.format(oSecondaryYears.start.toUTCJSDate(), true))
1705
1712
  .replace(/\{1\}/, this._oYearFormatSecondary.format(oSecondaryYears.end.toUTCJSDate(), true));
1706
- this._updateHeadersYearAdditionalText(sSecondaryMonthInfo);
1707
1713
  }
1714
+ return sSecondaryYearText;
1715
+ };
1716
+
1717
+ /**
1718
+ * Calculates the year picker button text in secondary calendar type.
1719
+ * @private
1720
+ */
1721
+ Calendar.prototype._updateHeadersYearAdditionalTextHelper = function() {
1722
+ if (!this._getSecondaryCalendarType()){
1723
+ return;
1724
+ }
1725
+
1726
+ this._updateHeadersYearAdditionalText(this._getSecondaryYearText());
1708
1727
  };
1709
1728
 
1710
1729
  /**
@@ -2637,6 +2656,8 @@ sap.ui.define([
2637
2656
  oSecondMonthHeader = this.getAggregation("secondMonthHeader"),
2638
2657
  sFirstHeaderText = sFirstHeaderYear,
2639
2658
  sSecondHeaderText = sSecondHeaderYear || sFirstHeaderYear,
2659
+ sFirstYearLabelText = [sFirstHeaderText, this._getSecondaryYearText()].filter(Boolean).join(", "),
2660
+ sSecondYearLabelText = [sSecondHeaderText, this._getSecondaryYearText()].filter(Boolean).join(", "),
2640
2661
  sPrimaryCalendarType = this._getPrimaryCalendarType(),
2641
2662
  sFirstYear, sSecondYear;
2642
2663
 
@@ -2645,9 +2666,9 @@ sap.ui.define([
2645
2666
  var sYearRangeShortcut = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_RANGE_BUTTON_SHORTCUT");
2646
2667
 
2647
2668
  // Regular year button labels and tooltips
2648
- var sFirstYearLabel = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_BUTTON", [sFirstHeaderText]);
2669
+ var sFirstYearLabel = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_BUTTON", [sFirstYearLabelText]);
2649
2670
  var sFirstYearTooltip = `${sFirstYearLabel} (${sYearShortcut})`;
2650
- var sSecondYearLabel = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_BUTTON", [sSecondHeaderText]);
2671
+ var sSecondYearLabel = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_BUTTON", [sSecondYearLabelText]);
2651
2672
  var sSecondYearTooltip = `${sSecondYearLabel} (${sYearShortcut})`;
2652
2673
 
2653
2674
  // Year range labels and tooltips (will be updated if in year picker mode)
@@ -2682,14 +2703,27 @@ sap.ui.define([
2682
2703
  sFirstHeaderText = sFirstYear + " - " + sSecondYear;
2683
2704
  }
2684
2705
 
2685
- // Update year range labels for year picker mode
2706
+ // Update year range labels for year picker mode with secondary calendar support
2707
+ var sSecondaryYearRangeText = "";
2708
+ if (this._getSecondaryCalendarType()) {
2709
+ var oSecondaryFirstYear = new CalendarDate(oFirstDate, this._getSecondaryCalendarType());
2710
+ var oSecondarySecondYear = new CalendarDate(oSecondDate, this._getSecondaryCalendarType());
2711
+ // Add null checks for secondary year dates
2712
+ if (oSecondaryFirstYear && oSecondarySecondYear) {
2713
+ var sFirstSecondaryYear = this._oYearFormatSecondary.format(oSecondaryFirstYear.toUTCJSDate(), true);
2714
+ var sSecondSecondaryYear = this._oYearFormatSecondary.format(oSecondarySecondYear.toUTCJSDate(), true);
2715
+ sSecondaryYearRangeText = sFirstSecondaryYear + " - " + sSecondSecondaryYear;
2716
+ }
2717
+ }
2718
+
2719
+ var sYearRangeLabelText = [sFirstYear + " - " + sSecondYear, sSecondaryYearRangeText].filter(Boolean).join(", ");
2686
2720
  sYearRangeLabel = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_RANGE_BUTTON", [sFirstYear, sSecondYear]);
2687
2721
  sYearRangeTooltip = `${sYearRangeLabel} (${sYearRangeShortcut})`;
2688
2722
 
2689
2723
  // Set properties for button4 when in year picker mode (always set accessibility properties when button4 is used)
2690
2724
  oHeader.setProperty("_tooltipButton4", sYearRangeTooltip);
2691
2725
  oHeader.setProperty("_keyShortcutButton4", sYearRangeShortcut);
2692
- oHeader.setProperty("_descriptionButton4", sYearRangeLabel);
2726
+ oHeader.setProperty("_descriptionButton4", sYearRangeLabelText);
2693
2727
  this._setHeaderCurrentPicker(CURRENT_PICKERS.YEAR_PICKER);
2694
2728
  } else if (this._iMode === 1 && oMonthPicker) {
2695
2729
  this._setHeaderCurrentPicker(CURRENT_PICKERS.MONTH_PICKER);
@@ -2708,7 +2742,7 @@ sap.ui.define([
2708
2742
  var sSecondHeaderYearLabel, sSecondHeaderYearTooltip;
2709
2743
 
2710
2744
  if (this._iMode === 2 && oYearPicker) {
2711
- sSecondHeaderYearLabel = sYearRangeLabel;
2745
+ sSecondHeaderYearLabel = sYearRangeLabelText;
2712
2746
  sSecondHeaderYearTooltip = sYearRangeTooltip;
2713
2747
  } else {
2714
2748
  sSecondHeaderYearLabel = sSecondYearLabel;
@@ -2723,14 +2757,14 @@ sap.ui.define([
2723
2757
  oSecondMonthHeader.setProperty("_descriptionButton2", sSecondHeaderYearLabel);
2724
2758
 
2725
2759
  oHeader.setTextButton2(sFirstHeaderText);
2726
- oHeader.setAriaLabelButton2(this._iMode === 2 && oYearPicker ? sYearRangeLabel : sFirstYearLabel);
2760
+ oHeader.setAriaLabelButton2(this._iMode === 2 && oYearPicker ? sYearRangeLabelText : sFirstYearLabel);
2727
2761
  oHeader.setProperty("_tooltipButton2", this._iMode === 2 && oYearPicker ? sYearRangeTooltip : sFirstYearTooltip);
2728
- oHeader.setProperty("_descriptionButton2", this._iMode === 2 && oYearPicker ? sYearRangeLabel : sFirstYearLabel);
2762
+ oHeader.setProperty("_descriptionButton2", this._iMode === 2 && oYearPicker ? sYearRangeLabelText : sFirstYearLabel);
2729
2763
 
2730
2764
  // In single header with two months scenario, button2 should represent the second month's year
2731
2765
  if (this._isTwoMonthsInTwoColumns() && sSecondHeaderText !== sFirstHeaderText) {
2732
2766
  // Button2 shows second month year, so update its accessibility properties
2733
- var sButton2Label = this._iMode === 2 && oYearPicker ? sYearRangeLabel : sSecondYearLabel;
2767
+ var sButton2Label = this._iMode === 2 && oYearPicker ? sYearRangeLabelText : sSecondYearLabel;
2734
2768
  var sButton2Tooltip = this._iMode === 2 && oYearPicker ? sYearRangeTooltip : sSecondYearTooltip;
2735
2769
  var sButton2Shortcut = this._iMode === 2 && oYearPicker ? sYearRangeShortcut : sYearShortcut;
2736
2770
 
@@ -2747,9 +2781,24 @@ sap.ui.define([
2747
2781
  // In year picker mode, extract years from the range string for button4
2748
2782
  var aYears = sSecondHeaderText.split(" - ");
2749
2783
  if (aYears.length === 2) {
2784
+ // Create secondary year range text for button4
2785
+ var sButton4SecondaryYearText = "";
2786
+ if (this._getSecondaryCalendarType()) {
2787
+ var oButton4FirstDate = new CalendarDate(oFirstDate, this._getSecondaryCalendarType());
2788
+ var oButton4SecondDate = new CalendarDate(oSecondDate, this._getSecondaryCalendarType());
2789
+ // Add null checks for button4 secondary year dates
2790
+ if (oButton4FirstDate && oButton4SecondDate) {
2791
+ var sButton4FirstSecondaryYear = this._oYearFormatSecondary.format(oButton4FirstDate.toUTCJSDate(), true);
2792
+ var sButton4SecondSecondaryYear = this._oYearFormatSecondary.format(oButton4SecondDate.toUTCJSDate(), true);
2793
+ sButton4SecondaryYearText = sButton4FirstSecondaryYear + " - " + sButton4SecondSecondaryYear;
2794
+ }
2795
+ }
2796
+ var sButton4LabelText = [aYears[0] + " - " + aYears[1], sButton4SecondaryYearText].filter(Boolean).join(", ");
2750
2797
  sButton4Label = this._oResourceBundle.getText("CALENDAR_HEADER_YEAR_RANGE_BUTTON", aYears);
2751
2798
  sButton4Tooltip = `${sButton4Label} (${sYearRangeShortcut})`;
2752
2799
  sButton4Shortcut = sYearRangeShortcut;
2800
+ // Use the full label text with secondary years for accessibility
2801
+ sButton4Label = sButton4LabelText;
2753
2802
  } else {
2754
2803
  // Fallback if string format is unexpected
2755
2804
  sButton4Label = sSecondYearLabel;
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * Applications could inherit from this element to add own fields.
45
45
  * @extends sap.ui.unified.DateTypeRange
46
- * @version 1.144.0
46
+ * @version 1.146.0
47
47
  *
48
48
  * @constructor
49
49
  * @public
@@ -22,8 +22,9 @@ sap.ui.define([
22
22
  "sap/m/Popover",
23
23
  "sap/base/Log",
24
24
  "./DateRange",
25
- "sap/ui/core/date/UI5Date"
26
-
25
+ "sap/ui/core/date/UI5Date",
26
+ "./calendar/WeeksRow",
27
+ "sap/ui/unified/library"
27
28
  ], function(
28
29
  CalendarUtils,
29
30
  Calendar,
@@ -41,10 +42,14 @@ sap.ui.define([
41
42
  Popover,
42
43
  Log,
43
44
  DateRange,
44
- UI5Date
45
+ UI5Date,
46
+ WeeksRow,
47
+ unifiedLibrary
45
48
  ) {
46
49
  "use strict";
47
50
 
51
+ const CalendarIntervalType = unifiedLibrary.CalendarIntervalType;
52
+
48
53
  /*
49
54
  * Inside the CalendarDateInterval CalendarDate objects are used. But in the API JS dates are used.
50
55
  * So conversion must be done on API functions.
@@ -59,7 +64,7 @@ sap.ui.define([
59
64
  * @class
60
65
  * <code>CalendarDateInterval</code> only visualizes the dates in a one-line interval and allows the selection of a single day.
61
66
  * @extends sap.ui.unified.Calendar
62
- * @version 1.144.0
67
+ * @version 1.146.0
63
68
  *
64
69
  * @constructor
65
70
  * @public
@@ -96,12 +101,24 @@ sap.ui.define([
96
101
  pickerPopup : {type : "boolean", group : "Appearance", defaultValue : false}
97
102
 
98
103
  },
104
+
105
+ aggregations: {
106
+ /**
107
+ * For internal use only.
108
+ * The week row which shows the week numbers.
109
+ *
110
+ * @since 1.146.0
111
+ * @private
112
+ */
113
+ _weeksRow : {type: "sap.ui.unified.calendar.WeeksRow", multiple: false, visibility: "hidden"}
114
+ },
99
115
  designtime: "sap/ui/unified/designtime/CalendarDateInterval.designtime"
100
116
  }, renderer: CalendarDateIntervalRenderer});
101
117
 
102
118
  CalendarDateInterval.prototype.init = function(){
103
119
 
104
120
  Calendar.prototype.init.apply(this, arguments);
121
+ this.setAggregation("_weeksRow", this._createWeekRow(`${this.getId()}-WeekNumbersRow`), true);
105
122
 
106
123
  this._iDaysMonthHead = 35; // if more than this number of days, month names are displayed on top of days
107
124
 
@@ -414,6 +431,18 @@ sap.ui.define([
414
431
 
415
432
  };
416
433
 
434
+ CalendarDateInterval.prototype._createWeekRow = function(sId){
435
+ const oWeekRow = new WeeksRow(sId, {
436
+ startDate: this.getStartDate() || UI5Date.getInstance(),
437
+ showWeekNumbers: this.getShowWeekNumbers(),
438
+ primaryCalendarType: this.getPrimaryCalendarType(),
439
+ interval: this.getDays(),
440
+ viewKey: CalendarIntervalType.Day
441
+ });
442
+
443
+ return oWeekRow;
444
+ };
445
+
417
446
  /**
418
447
  * Set start date for the interval.
419
448
  *
@@ -429,21 +458,21 @@ sap.ui.define([
429
458
  return this;
430
459
  }
431
460
 
432
- var iYear = oStartDate.getFullYear();
461
+ const iYear = oStartDate.getFullYear();
433
462
  CalendarUtils._checkYearInValidRange(iYear);
434
463
 
435
- var oCalStartDate = CalendarDate.fromLocalJSDate(oStartDate, this.getPrimaryCalendarType());
464
+ let oCalStartDate = CalendarDate.fromLocalJSDate(oStartDate, this.getPrimaryCalendarType());
436
465
  if (CalendarUtils._isOutside(oCalStartDate, this._oMinDate, this._oMaxDate)) {
437
466
  throw new Error("Date must be in valid range (minDate and maxDate); " + this);
438
467
  }
439
468
 
440
- var oMinDate = this.getMinDate();
469
+ const oMinDate = this.getMinDate();
441
470
  if (oMinDate && oStartDate.getTime() < oMinDate.getTime()) {
442
471
  Log.warning("startDate < minDate -> minDate as startDate set", this);
443
472
  oStartDate = UI5Date.getInstance(oMinDate.getTime());
444
473
  }
445
474
 
446
- var oMaxDate = this.getMaxDate();
475
+ const oMaxDate = this.getMaxDate();
447
476
  if (oMaxDate && oStartDate.getTime() > oMaxDate.getTime()) {
448
477
  Log.warning("startDate > maxDate -> maxDate as startDate set", this);
449
478
  oStartDate = UI5Date.getInstance(oMaxDate.getTime());
@@ -453,12 +482,15 @@ sap.ui.define([
453
482
  oCalStartDate = CalendarDate.fromLocalJSDate(oStartDate, this.getPrimaryCalendarType());
454
483
  this._oStartDate = oCalStartDate;
455
484
 
456
- var oDatesRow = this.getAggregation("month")[0];
485
+ const oDatesRow = this.getAggregation("month")[0];
457
486
  oDatesRow.setStartDate(oStartDate);
458
487
 
488
+ const oWeeksRow = this.getAggregation("_weeksRow");
489
+ oWeeksRow.setStartDate(oStartDate);
490
+
459
491
  this._updateHeader(oCalStartDate);
460
492
 
461
- var oDate = this._getFocusedDate(true).toLocalJSDate();
493
+ const oDate = this._getFocusedDate(true).toLocalJSDate();
462
494
  if (!oDatesRow.checkDateFocusable(oDate)) {
463
495
  //focused date not longer visible -> focus start date (but don't set focus)
464
496
  this._setFocusedDate(oCalStartDate);
@@ -485,14 +517,17 @@ sap.ui.define([
485
517
 
486
518
  CalendarDateInterval.prototype.setDays = function(iDays){
487
519
 
488
- var oYearRangePicker = this.getAggregation("yearRangePicker");
520
+ const oYearRangePicker = this.getAggregation("yearRangePicker");
489
521
 
490
522
  this.setProperty("days", iDays, true);
491
523
 
492
524
  iDays = this._getDays(); // to use phone limit
493
525
 
494
- var oDatesRow = this.getAggregation("month")[0];
495
- oDatesRow.setDays(iDays);
526
+ const oDatesRow = this.getAggregation("month")[0];
527
+ oDatesRow?.setDays(iDays);
528
+
529
+ const oWeeksRow = this.getAggregation("_weeksRow");
530
+ oWeeksRow?.setInterval(iDays);
496
531
 
497
532
  if (!this.getPickerPopup()) {
498
533
  var oMonthPicker = this._getMonthPicker();
@@ -630,6 +665,22 @@ sap.ui.define([
630
665
 
631
666
  };
632
667
 
668
+ CalendarDateInterval.prototype.setShowWeekNumbers = function(bShow) {
669
+ this.setProperty("showWeekNumbers", bShow);
670
+ const oWeeksRow = this.getAggregation("_weeksRow");
671
+ oWeeksRow.setShowWeekNumbers(bShow);
672
+
673
+ return this;
674
+ };
675
+
676
+ CalendarDateInterval.prototype.setPrimaryCalendarType = function(sType) {
677
+ Calendar.prototype.setPrimaryCalendarType.apply(this, arguments);
678
+ const oWeeksRow = this.getAggregation("_weeksRow");
679
+ oWeeksRow.setPrimaryCalendarType(sType);
680
+
681
+ return this;
682
+ };
683
+
633
684
  /**
634
685
  * Focuses given date.
635
686
  * @param {Date|module:sap/ui/core/date/UI5Date} oDate a date instance
@@ -1139,6 +1190,10 @@ sap.ui.define([
1139
1190
  var oDatesRow = this.getAggregation("month")[0];
1140
1191
  oDatesRow.setStartDate(oLocaleDate);
1141
1192
 
1193
+ const oWeeksRow = this.getAggregation("_weeksRow");
1194
+ if (oWeeksRow) {
1195
+ oWeeksRow.setStartDate(oLocaleDate);
1196
+ }
1142
1197
  this._updateHeader(oStartDate);
1143
1198
 
1144
1199
  if (bSetFocusDate) {
@@ -34,6 +34,19 @@ sap.ui.define(['sap/ui/core/Renderer', './CalendarRenderer'],
34
34
 
35
35
  };
36
36
 
37
+ CalendarDateIntervalRenderer.renderMonths = function(oRm, oCal, aMonths) {
38
+ // Call base implementation to render the months (days)
39
+ CalendarRenderer.renderMonths.call(this, oRm, oCal, aMonths);
40
+
41
+ // Render WeeksRow aggregation after the days if showWeekNumbers is enabled
42
+ if (oCal.getShowWeekNumbers()) {
43
+ const oWeeksRow = oCal.getAggregation("_weeksRow");
44
+ if (oWeeksRow) {
45
+ oRm.renderControl(oWeeksRow);
46
+ }
47
+ }
48
+ };
49
+
37
50
  CalendarDateIntervalRenderer.addAttributes = function(oRm, oCal) {
38
51
 
39
52
  oRm.class("sapUiCalInt");
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @extends sap.ui.core.Control
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.144.0
60
+ * @version 1.146.0
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -21,7 +21,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
21
21
  * @class
22
22
  * Item to be displayed in a CalendarLegend.
23
23
  * @extends sap.ui.core.Element
24
- * @version 1.144.0
24
+ * @version 1.146.0
25
25
  *
26
26
  * @constructor
27
27
  * @public