@openui5/sap.ui.unified 1.152.0 → 1.153.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 (60) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +2 -2
  3. package/src/sap/ui/unified/.library +1 -1
  4. package/src/sap/ui/unified/Calendar.js +1 -1
  5. package/src/sap/ui/unified/CalendarAppointment.js +1 -1
  6. package/src/sap/ui/unified/CalendarDateInterval.js +1 -1
  7. package/src/sap/ui/unified/CalendarLegend.js +1 -1
  8. package/src/sap/ui/unified/CalendarLegendItem.js +1 -1
  9. package/src/sap/ui/unified/CalendarMonthInterval.js +1 -1
  10. package/src/sap/ui/unified/CalendarOneMonthInterval.js +1 -1
  11. package/src/sap/ui/unified/CalendarRow.js +12 -1
  12. package/src/sap/ui/unified/CalendarTimeInterval.js +1 -1
  13. package/src/sap/ui/unified/CalendarWeekInterval.js +1 -1
  14. package/src/sap/ui/unified/ColorPicker.js +1 -1
  15. package/src/sap/ui/unified/ColorPickerPopover.js +1 -1
  16. package/src/sap/ui/unified/ColorPickerRenderer.js +0 -4
  17. package/src/sap/ui/unified/ContentSwitcher.js +1 -1
  18. package/src/sap/ui/unified/Currency.js +1 -1
  19. package/src/sap/ui/unified/CurrencyRenderer.js +1 -1
  20. package/src/sap/ui/unified/DateRange.js +1 -1
  21. package/src/sap/ui/unified/DateTypeRange.js +1 -1
  22. package/src/sap/ui/unified/FileUploader.js +5 -3
  23. package/src/sap/ui/unified/FileUploaderParameter.js +1 -1
  24. package/src/sap/ui/unified/FileUploaderXHRSettings.js +1 -1
  25. package/src/sap/ui/unified/Menu.js +1 -1
  26. package/src/sap/ui/unified/MenuItem.js +1 -1
  27. package/src/sap/ui/unified/MenuItemBase.js +1 -1
  28. package/src/sap/ui/unified/MenuItemGroup.js +1 -1
  29. package/src/sap/ui/unified/MenuRenderer.js +1 -1
  30. package/src/sap/ui/unified/MenuTextFieldItem.js +26 -2
  31. package/src/sap/ui/unified/MonthlyRecurrenceRule.js +1 -1
  32. package/src/sap/ui/unified/NonWorkingPeriod.js +1 -1
  33. package/src/sap/ui/unified/RecurrenceRule.js +1 -1
  34. package/src/sap/ui/unified/RecurringCalendarAppointment.js +1 -1
  35. package/src/sap/ui/unified/RecurringNonWorkingPeriod.js +1 -1
  36. package/src/sap/ui/unified/Shell.js +1 -1
  37. package/src/sap/ui/unified/ShellHeadItem.js +1 -1
  38. package/src/sap/ui/unified/ShellHeadUserItem.js +1 -1
  39. package/src/sap/ui/unified/ShellLayout.js +1 -1
  40. package/src/sap/ui/unified/ShellOverlay.js +1 -1
  41. package/src/sap/ui/unified/SplitContainer.js +1 -1
  42. package/src/sap/ui/unified/TimeRange.js +1 -1
  43. package/src/sap/ui/unified/WeeklyRecurrenceRule.js +1 -1
  44. package/src/sap/ui/unified/YearlyRecurrenceRule.js +1 -1
  45. package/src/sap/ui/unified/calendar/DatesRow.js +1 -1
  46. package/src/sap/ui/unified/calendar/Header.js +1 -1
  47. package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
  48. package/src/sap/ui/unified/calendar/Month.js +2 -7
  49. package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
  50. package/src/sap/ui/unified/calendar/MonthsRow.js +18 -1
  51. package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +1 -1
  52. package/src/sap/ui/unified/calendar/TimesRow.js +22 -1
  53. package/src/sap/ui/unified/calendar/WeeksRow.js +1 -1
  54. package/src/sap/ui/unified/calendar/YearPicker.js +1 -1
  55. package/src/sap/ui/unified/calendar/YearRangePicker.js +1 -1
  56. package/src/sap/ui/unified/library.js +2 -2
  57. package/src/sap/ui/unified/themes/base/Calendar.less +1 -0
  58. package/src/sap/ui/unified/themes/base/CalendarRow.less +4 -2
  59. package/src/sap/ui/unified/themes/base/ColorPicker.less +3 -1
  60. package/src/sap/ui/unified/themes/sap_hcb/CalendarRow.less +2 -1
package/THIRDPARTY.txt CHANGED
@@ -39,7 +39,7 @@ Contained in: src/sap.f/src/sap/f/thirdparty/**
39
39
 
40
40
  Library: sap.m:
41
41
 
42
- Component: purify.js, version: 3.4.1
42
+ Component: purify.js, version: 3.4.14
43
43
  Copyright: Mario Heiderich
44
44
  License: Apache-2.0
45
45
  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.152.0",
3
+ "version": "1.153.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.152.0"
17
+ "@openui5/sap.ui.core": "1.153.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.152.0</version>
9
+ <version>1.153.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.152.0
83
+ * @version 1.153.0
84
84
  *
85
85
  * @constructor
86
86
  * @public
@@ -48,7 +48,7 @@ sap.ui.define([
48
48
  *
49
49
  * Applications could inherit from this element to add own fields.
50
50
  * @extends sap.ui.unified.DateTypeRange
51
- * @version 1.152.0
51
+ * @version 1.153.0
52
52
  *
53
53
  * @constructor
54
54
  * @public
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * @class
65
65
  * <code>CalendarDateInterval</code> only visualizes the dates in a one-line interval and allows the selection of a single day.
66
66
  * @extends sap.ui.unified.Calendar
67
- * @version 1.152.0
67
+ * @version 1.153.0
68
68
  *
69
69
  * @constructor
70
70
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * @extends sap.ui.core.Control
58
58
  *
59
59
  * @author SAP SE
60
- * @version 1.152.0
60
+ * @version 1.153.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.152.0
24
+ * @version 1.153.0
25
25
  *
26
26
  * @constructor
27
27
  * @public
@@ -65,7 +65,7 @@ sap.ui.define([
65
65
  * <b>Note:</b> UI5Date or JavaScript Date objects are used to set and return the months, mark them as selected or as a special type.
66
66
  * But the date part of the Date object is not used. If a Date object is returned the date will be set to the 1st of the corresponding month.
67
67
  * @extends sap.ui.core.Control
68
- * @version 1.152.0
68
+ * @version 1.153.0
69
69
  *
70
70
  * @constructor
71
71
  * @public
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * Navigation via year picker switches to the corresponding year and the same month as before the navigation.
58
58
  *
59
59
  * @extends sap.ui.unified.CalendarDateInterval
60
- * @version 1.152.0
60
+ * @version 1.153.0
61
61
  *
62
62
  * @constructor
63
63
  * @private
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  * @class
85
85
  * A calendar row with a header and appointments. The Appointments will be placed in the defined interval.
86
86
  * @extends sap.ui.core.Control
87
- * @version 1.152.0
87
+ * @version 1.153.0
88
88
  *
89
89
  * @constructor
90
90
  * @public
@@ -529,6 +529,7 @@ sap.ui.define([
529
529
  if (jQuery(oEvent.target).hasClass("sapUiCalendarApp")) {
530
530
  // focus on appointment
531
531
  _focusAppointment.call(this, oEvent.target.id);
532
+ oEvent.target.classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
532
533
  } else {
533
534
  // check if inside appointment
534
535
  var aVisibleAppointments = this._getVisibleAppointments();
@@ -565,6 +566,16 @@ sap.ui.define([
565
566
 
566
567
  };
567
568
 
569
+ CalendarRow.prototype.ontouchstart = function(oEvent) {
570
+ if (oEvent.target.closest(".sapUiCalendarApp")) {
571
+ this._bFocusFromTouch = true;
572
+ }
573
+ };
574
+
575
+ CalendarRow.prototype.onkeydown = function(oEvent) {
576
+ this._bFocusFromTouch = false;
577
+ };
578
+
568
579
  CalendarRow.prototype.onsapleft = function(oEvent) {
569
580
 
570
581
  if (jQuery(oEvent.target).hasClass("sapUiCalendarApp")) {
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  * @class
79
79
  * Calendar with granularity of time items displayed in one line.
80
80
  * @extends sap.ui.core.Control
81
- * @version 1.152.0
81
+ * @version 1.153.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -39,7 +39,7 @@ sap.ui.define(['sap/ui/unified/calendar/CalendarUtils', 'sap/ui/unified/calendar
39
39
  * its start date to the first date of the same week as the date the user chose.
40
40
  *
41
41
  * @extends sap.ui.unified.CalendarDateInterval
42
- * @version 1.152.0
42
+ * @version 1.153.0
43
43
  *
44
44
  * @constructor
45
45
  * @private
@@ -72,7 +72,7 @@ sap.ui.define([
72
72
  * @extends sap.ui.core.Control
73
73
  *
74
74
  * @author SAP SE
75
- * @version 1.152.0
75
+ * @version 1.153.0
76
76
  *
77
77
  * @constructor
78
78
  * @public
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * A thin wrapper over {@link sap.ui.unified.ColorPicker} allowing the latter to be used in a popover.
50
50
  *
51
51
  * @extends sap.ui.core.Control
52
- * @version 1.152.0
52
+ * @version 1.153.0
53
53
  *
54
54
  * @constructor
55
55
  * @public
@@ -78,10 +78,6 @@ sap.ui.define(['./ColorPickerDisplayMode', "sap/ui/Device", "sap/ui/core/Lib"],
78
78
  ColorPickerRenderer.renderSliders = function(oRm, oControl) {
79
79
  oRm.openStart("div");
80
80
  oRm.class("sapUiCPSlidersWrapper");
81
- oRm.accessibilityState({
82
- role: "group",
83
- label: oRb.getText("COLORPICKER_SLIDERS_GROUP_LABEL")
84
- });
85
81
  oRm.openEnd();
86
82
  oRm.renderControl(oControl.getAggregation("_oSlider"));
87
83
  oRm.renderControl(oControl.getAggregation("_oAlphaSlider"));
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @extends sap.ui.core.Control
32
32
  *
33
33
  * @author SAP SE
34
- * @version 1.152.0
34
+ * @version 1.153.0
35
35
  *
36
36
  * @constructor
37
37
  * @public
@@ -58,7 +58,7 @@ sap.ui.define([
58
58
  * @extends sap.ui.core.Control
59
59
  *
60
60
  * @author SAP SE
61
- * @version 1.152.0
61
+ * @version 1.153.0
62
62
  *
63
63
  * @constructor
64
64
  * @public
@@ -14,7 +14,7 @@ sap.ui.define(["sap/m/library", "sap/ui/core/Lib"],
14
14
  /**
15
15
  * Currency renderer.
16
16
  *
17
- * @version 1.152.0
17
+ * @version 1.153.0
18
18
  * @namespace
19
19
  */
20
20
  var CurrencyRenderer = {
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element', './library', 'sap/ui/unified/calendar/Cale
20
20
  * @class
21
21
  * Date range for use in DatePicker
22
22
  * @extends sap.ui.core.Element
23
- * @version 1.152.0
23
+ * @version 1.153.0
24
24
  *
25
25
  * @constructor
26
26
  * @public
@@ -34,7 +34,7 @@ function(
34
34
  * @class
35
35
  * Date range with calendar day type information. Used to visualize special days in the Calendar.
36
36
  * @extends sap.ui.unified.DateRange
37
- * @version 1.152.0
37
+ * @version 1.153.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -27,6 +27,7 @@ sap.ui.define([
27
27
  "sap/ui/events/KeyCodes",
28
28
  "sap/base/Log",
29
29
  "sap/base/security/encodeXML",
30
+ "sap/ui/base/ManagedObject",
30
31
  "sap/ui/thirdparty/jquery",
31
32
  // jQuery Plugin "addAriaDescribedBy"
32
33
  "sap/ui/dom/jquery/Aria"
@@ -52,6 +53,7 @@ sap.ui.define([
52
53
  KeyCodes,
53
54
  Log,
54
55
  encodeXML,
56
+ ManagedObject,
55
57
  jQuery
56
58
  ) {
57
59
 
@@ -79,7 +81,7 @@ sap.ui.define([
79
81
  * @implements sap.ui.core.IFormContent, sap.ui.unified.IProcessableBlobs
80
82
  *
81
83
  * @author SAP SE
82
- * @version 1.152.0
84
+ * @version 1.153.0
83
85
  *
84
86
  * @constructor
85
87
  * @public
@@ -901,8 +903,8 @@ sap.ui.define([
901
903
  // Add new tokens for selected files
902
904
  this._selectedFileNames.forEach((fileName) => {
903
905
  oTokenizer.addToken(new Token({
904
- text: fileName,
905
- tooltip: fileName,
906
+ text: ManagedObject.escapeSettingsValue(fileName),
907
+ tooltip: ManagedObject.escapeSettingsValue(fileName),
906
908
  selected: false
907
909
  }));
908
910
  });
@@ -22,7 +22,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
22
22
  * @extends sap.ui.core.Element
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.152.0
25
+ * @version 1.153.0
26
26
  *
27
27
  * @constructor
28
28
  * @public
@@ -20,7 +20,7 @@ sap.ui.define(['sap/ui/core/Element', './library'],
20
20
  * @extends sap.ui.core.Element
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.152.0
23
+ * @version 1.153.0
24
24
  *
25
25
  * @constructor
26
26
  * @since 1.52
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @implements sap.ui.core.IContextMenu
71
71
  *
72
72
  * @author SAP SE
73
- * @version 1.152.0
73
+ * @version 1.153.0
74
74
  * @since 1.21.0
75
75
  *
76
76
  * @constructor
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * @implements sap.ui.unified.IMenuItem
40
40
  *
41
41
  * @author SAP SE
42
- * @version 1.152.0
42
+ * @version 1.153.0
43
43
  * @since 1.21.0
44
44
  *
45
45
  * @constructor
@@ -23,7 +23,7 @@ sap.ui.define(['sap/ui/core/Element', './library', 'sap/ui/core/IconPool', 'sap/
23
23
  * @extends sap.ui.core.Element
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.152.0
26
+ * @version 1.153.0
27
27
  * @since 1.21.0
28
28
  *
29
29
  * @constructor
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @implements sap.ui.unified.IMenuItem
31
31
  *
32
32
  * @author SAP SE
33
- * @version 1.152.0
33
+ * @version 1.153.0
34
34
  * @since 1.127.0
35
35
  *
36
36
  * @constructor
@@ -15,7 +15,7 @@ sap.ui.define(["sap/ui/core/ControlBehavior"],
15
15
  * Menu renderer.
16
16
  * @author SAP - TD Core UI&AM UI Infra
17
17
  *
18
- * @version 1.152.0
18
+ * @version 1.153.0
19
19
  * @namespace
20
20
  */
21
21
  var MenuRenderer = {
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @implements sap.ui.unified.IMenuItem
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.152.0
56
+ * @version 1.153.0
57
57
  * @since 1.21.0
58
58
  *
59
59
  * @constructor
@@ -206,6 +206,30 @@ sap.ui.define([
206
206
  };
207
207
 
208
208
 
209
+ MenuTextFieldItem.prototype.onsapprevious = function(oEvent){
210
+ if (oEvent.key !== "ArrowLeft") {
211
+ return;
212
+ }
213
+ if (this._checkCursorPosForNav(false)) {
214
+ this.getParent().onsapprevious(oEvent);
215
+ } else {
216
+ oEvent.stopPropagation();
217
+ }
218
+ };
219
+
220
+
221
+ MenuTextFieldItem.prototype.onsapnext = function(oEvent){
222
+ if (oEvent.key !== "ArrowRight") {
223
+ return;
224
+ }
225
+ if (this._checkCursorPosForNav(true)) {
226
+ this.getParent().onsapnext(oEvent);
227
+ } else {
228
+ oEvent.stopPropagation();
229
+ }
230
+ };
231
+
232
+
209
233
  MenuTextFieldItem.prototype.onsaphome = function(oEvent){
210
234
  if (this._checkCursorPosForNav(false)) {
211
235
  this.getParent().onsaphome(oEvent);
@@ -252,7 +276,7 @@ sap.ui.define([
252
276
  MenuTextFieldItem.prototype.onkeydown = function(oEvent){
253
277
  //like sapenter but on keyup -> see Menu.prototype.onkeyup
254
278
  if (!PseudoEvents.events.sapenter.fnCheck(oEvent) && oEvent.key !== "Enter") {
255
- if (oEvent.key === "Home" || oEvent.key === "End") {
279
+ if (oEvent.key === "Home" || oEvent.key === "End" || oEvent.key === " ") {
256
280
  oEvent.stopPropagation();
257
281
  }
258
282
 
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * </ul>
29
29
  *
30
30
  * @extends sap.ui.unified.RecurrenceRule
31
- * @version 1.152.0
31
+ * @version 1.153.0
32
32
  *
33
33
  * @constructor
34
34
  * @private
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  * @class
25
25
  * NonWorkingPeriod
26
26
  * @extends sap.ui.core.Element
27
- * @version 1.152.0
27
+ * @version 1.153.0
28
28
  *
29
29
  * @constructor
30
30
  * @public
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * </pre>
43
43
  *
44
44
  * @extends sap.ui.core.Element
45
- * @version 1.152.0
45
+ * @version 1.153.0
46
46
  *
47
47
  * @constructor
48
48
  * @public
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * Applications could inherit from this element to add own fields.
38
38
  * @extends sap.ui.unified.CalendarAppointment
39
- * @version 1.152.0
39
+ * @version 1.153.0
40
40
  *
41
41
  * @constructor
42
42
  * @public
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  *
35
35
  * Applications can inherit from this element to add own fields.
36
36
  * @extends sap.ui.unified.NonWorkingPeriod
37
- * @version 1.152.0
37
+ * @version 1.153.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -25,7 +25,7 @@ sap.ui.define(['./ShellHeader', './ShellLayout', './library', './ShellRenderer']
25
25
  * @extends sap.ui.unified.ShellLayout
26
26
  *
27
27
  * @author SAP SE
28
- * @version 1.152.0
28
+ * @version 1.153.0
29
29
  *
30
30
  * @constructor
31
31
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.152.0
29
+ * @version 1.153.0
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.core.Element
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.152.0
29
+ * @version 1.153.0
30
30
  *
31
31
  * @constructor
32
32
  * @public
@@ -56,7 +56,7 @@ sap.ui.define([
56
56
  * @extends sap.ui.core.Control
57
57
  *
58
58
  * @author SAP SE
59
- * @version 1.152.0
59
+ * @version 1.153.0
60
60
  *
61
61
  * @constructor
62
62
  * @public
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @extends sap.ui.core.Control
47
47
  *
48
48
  * @author SAP SE
49
- * @version 1.152.0
49
+ * @version 1.153.0
50
50
  *
51
51
  * @constructor
52
52
  * @public
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @extends sap.ui.core.Control
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.152.0
37
+ * @version 1.153.0
38
38
  *
39
39
  * @constructor
40
40
  * @public
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @class
24
24
  * Time range for use in <code>NonWorkingPeriod</code>
25
25
  * @extends sap.ui.core.Element
26
- * @version 1.152.0
26
+ * @version 1.153.0
27
27
  *
28
28
  * @constructor
29
29
  * @public
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * with <code>recurrenceType</code> set to <code>Weekly</code> is provided.
23
23
  *
24
24
  * @extends sap.ui.unified.RecurrenceRule
25
- * @version 1.152.0
25
+ * @version 1.153.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * with <code>recurrenceType</code> set to <code>Yearly</code> is provided.
24
24
  *
25
25
  * @extends sap.ui.unified.MonthlyRecurrenceRule
26
- * @version 1.152.0
26
+ * @version 1.153.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -39,7 +39,7 @@ sap.ui.define([
39
39
  * If used inside the calendar the properties and aggregation are directly taken from the parent
40
40
  * (To not duplicate and sync DateRanges and so on...)
41
41
  * @extends sap.ui.unified.calendar.Month
42
- * @version 1.152.0
42
+ * @version 1.153.0
43
43
  *
44
44
  * @constructor
45
45
  * @public
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * <b>Note:</b> This is used inside the calendar. Not for standalone usage
29
29
  * @extends sap.ui.core.Control
30
- * @version 1.152.0
30
+ * @version 1.153.0
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * This control serves for picking an item from a grid with items which are relative periods in Plannig Calendar.
33
33
  * This is used inside the sap.m.PlanningCalendar relative views. Not for stand alone usage.
34
34
  * @extends sap.ui.core.Control
35
- * @version 1.152.0
35
+ * @version 1.153.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -78,7 +78,7 @@ sap.ui.define([
78
78
  * If used inside the calendar the properties and aggregation are directly taken from the parent
79
79
  * (To not duplicate and sync DateRanges and so on...)
80
80
  * @extends sap.ui.core.Control
81
- * @version 1.152.0
81
+ * @version 1.153.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -2237,12 +2237,7 @@ sap.ui.define([
2237
2237
  this._sLastTargetId = oDomRef.id;
2238
2238
  this._selectedWithMouse = true;
2239
2239
  }
2240
-
2241
- if (this._bFocusFromTouch) {
2242
- oDomRef.classList.add("sapUiCalItemFocusFromTouch");
2243
- } else {
2244
- oDomRef.classList.remove("sapUiCalItemFocusFromTouch");
2245
- }
2240
+ oDomRef.classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
2246
2241
 
2247
2242
  if (bFireFocus) {
2248
2243
  this.fireFocus({date: oFocusedDate.toLocalJSDate(), otherMonth: bOtherMonth});
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  * renders a MonthPicker with ItemNavigation
58
58
  * This is used inside the calendar. Not for stand alone usage
59
59
  * @extends sap.ui.core.Control
60
- * @version 1.152.0
60
+ * @version 1.153.0
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * The MontsRow works with UI5Date or JavaScript Date objects, but only the month and the year are used to display and interact.
71
71
  * As representation for a month, the 1st of the month will always be returned in the API.
72
72
  * @extends sap.ui.core.Control
73
- * @version 1.152.0
73
+ * @version 1.153.0
74
74
  *
75
75
  * @constructor
76
76
  * @public
@@ -280,6 +280,14 @@ sap.ui.define([
280
280
  // check if day names are too big -> use smaller ones
281
281
  _checkNamesLength.call(this);
282
282
 
283
+ if (this._bFocusFromTouch) {
284
+ const iFocusedIndex = this._oItemNavigation.getFocusedIndex();
285
+ const oDomRef = this._oItemNavigation.getItemDomRefs()[iFocusedIndex];
286
+ if (oDomRef) {
287
+ oDomRef.classList.add("sapUiCalItemFocusFromTouch");
288
+ }
289
+ }
290
+
283
291
  };
284
292
 
285
293
  MonthsRow.prototype.onsapfocusleave = function(oEvent){
@@ -1008,6 +1016,8 @@ sap.ui.define([
1008
1016
  if (this.getIntervalSelection()) {
1009
1017
  this._selectedWithMouse = false;
1010
1018
  }
1019
+
1020
+ this._bFocusFromTouch = false;
1011
1021
  };
1012
1022
 
1013
1023
  MonthsRow.prototype.onsapselect = function(oEvent){
@@ -1030,6 +1040,12 @@ sap.ui.define([
1030
1040
 
1031
1041
  };
1032
1042
 
1043
+ MonthsRow.prototype.ontouchstart = function(oEvent){
1044
+ if (oEvent.target.closest(".sapUiCalItem")) {
1045
+ this._bFocusFromTouch = true;
1046
+ }
1047
+ };
1048
+
1033
1049
  MonthsRow.prototype.onsappageupmodifiers = function(oEvent){
1034
1050
 
1035
1051
  // not handled by ItemNavigation
@@ -1203,6 +1219,7 @@ sap.ui.define([
1203
1219
  this.setDate(oFocusedDate.toLocalJSDate());
1204
1220
 
1205
1221
  this.fireFocus({date: oFocusedDate.toLocalJSDate(), notVisible: false});
1222
+ aDomRefs[iIndex].classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
1206
1223
 
1207
1224
  if (oEvent.type == "mousedown") {
1208
1225
  // as no click event is fired in some cases, e.g. if DOM changed select the month on mousedown
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * Other usages are not supported.
35
35
  *
36
36
  * @extends sap.ui.unified.calendar.DatesRow
37
- * @version 1.152.0
37
+ * @version 1.153.0
38
38
  *
39
39
  * @constructor
40
40
  * @private
@@ -69,7 +69,7 @@ sap.ui.define([
69
69
  *
70
70
  * The TimesRow works with UI5Date or JavaScript Date objects.
71
71
  * @extends sap.ui.core.Control
72
- * @version 1.152.0
72
+ * @version 1.153.0
73
73
  *
74
74
  * @constructor
75
75
  * @public
@@ -236,6 +236,24 @@ sap.ui.define([
236
236
 
237
237
  _initItemNavigation.call(this);
238
238
 
239
+ if (this._bFocusFromTouch) {
240
+ const iFocusedIndex = this._oItemNavigation.getFocusedIndex();
241
+ const oDomRef = this._oItemNavigation.getItemDomRefs()[iFocusedIndex];
242
+ if (oDomRef) {
243
+ oDomRef.classList.add("sapUiCalItemFocusFromTouch");
244
+ }
245
+ }
246
+
247
+ };
248
+
249
+ TimesRow.prototype.ontouchstart = function(oEvent) {
250
+ if (oEvent.target.closest(".sapUiCalItem")) {
251
+ this._bFocusFromTouch = true;
252
+ }
253
+ };
254
+
255
+ TimesRow.prototype.onkeydown = function(oEvent) {
256
+ this._bFocusFromTouch = false;
239
257
  };
240
258
 
241
259
  TimesRow.prototype.onsapfocusleave = function(oEvent){
@@ -1081,6 +1099,9 @@ sap.ui.define([
1081
1099
 
1082
1100
  this.fireFocus({date: CalendarUtils._createLocalDate(oFocusedDate, true), notVisible: false});
1083
1101
 
1102
+ var oDomRef = aDomRefs[iIndex];
1103
+ oDomRef.classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
1104
+
1084
1105
  if (oEvent.type == "mousedown") {
1085
1106
  // as no click event is fired in some cases, e.g. if DOM changed select the month on mousedown
1086
1107
  _handleMousedown.call(this, oEvent, oFocusedDate, iIndex);
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * The WeeksRow works with UI5Date or JavaScript Date objects for its API, but internally uses CalendarDate objects for calculations.
42
42
  *
43
43
  * @extends sap.ui.core.Control
44
- * @version 1.152.0
44
+ * @version 1.153.0
45
45
  *
46
46
  * @constructor
47
47
  * @private
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  * As in all date-time controls, all pubic JS Date objects that are given (e.g. <code>setDate()</code>) or read
62
62
  * (e.g. <code>getFirstRenderedDate</code>) with values which are considered as date objects in browser(local) timezone.
63
63
  * @extends sap.ui.core.Control
64
- * @version 1.152.0
64
+ * @version 1.153.0
65
65
  *
66
66
  * @constructor
67
67
  * @public
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @extends sap.ui.unified.calendar.YearPicker
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.152.0
48
+ * @version 1.153.0
49
49
  *
50
50
  * @constructor
51
51
  * @private
@@ -32,14 +32,14 @@ sap.ui.define([
32
32
  * @namespace
33
33
  * @alias sap.ui.unified
34
34
  * @author SAP SE
35
- * @version 1.152.0
35
+ * @version 1.153.0
36
36
  * @since 1.28
37
37
  * @public
38
38
  */
39
39
  var thisLib = Library.init({
40
40
  name : "sap.ui.unified",
41
41
  apiVersion: 2,
42
- version: "1.152.0",
42
+ version: "1.153.0",
43
43
  dependencies : ["sap.ui.core"],
44
44
  designtime: "sap/ui/unified/designtime/library.designtime",
45
45
  types: [
@@ -189,6 +189,7 @@ html.sap-desktop .sapUiCalCancel:active {
189
189
  }
190
190
 
191
191
  html.sap-desktop .sapUiCalHead button.sapUiCalDsbl:focus,
192
+ .sapUiCalHead button.sapUiCalDsbl:focus-visible,
192
193
  .sapUiCalHead button.sapUiCalDsbl:hover,
193
194
  .sapUiCalHead button.sapUiCalDsbl:active {
194
195
  background-color: var(--sapButton_Lite_Background);
@@ -243,7 +243,8 @@ Use it only if there's one appointment per day for a row that doesn't have inter
243
243
  }
244
244
 
245
245
  html.sap-desktop .sapUiCalendarApp:hover:not(:active),
246
- html.sap-desktop .sapUiCalendarApp:focus:not(:active) > .sapUiCalendarAppCont {
246
+ html.sap-desktop .sapUiCalendarApp:focus:not(:active) > .sapUiCalendarAppCont,
247
+ .sapUiCalendarApp:not(.sapUiCalItemFocusFromTouch):focus-visible:not(:active) > .sapUiCalendarAppCont {
247
248
  background-color: var(--sapList_Hover_Background);
248
249
  }
249
250
 
@@ -257,7 +258,8 @@ html.sap-desktop .sapUiCalendarApp:hover:not(:active) > .sapUiCalendarAppCont {
257
258
  }
258
259
 
259
260
  html.sap-desktop .sapUiCalendarApp.sapUiCalendarAppSel:hover:not(:active),
260
- html.sap-desktop .sapUiCalendarApp.sapUiCalendarAppSel:focus:not(:active) > .sapUiCalendarAppCont {
261
+ html.sap-desktop .sapUiCalendarApp.sapUiCalendarAppSel:focus:not(:active) > .sapUiCalendarAppCont,
262
+ .sapUiCalendarApp.sapUiCalendarAppSel:not(.sapUiCalItemFocusFromTouch):focus-visible:not(:active) > .sapUiCalendarAppCont {
261
263
  background-color: darken(@sapUiSelected, 10);
262
264
  }
263
265
 
@@ -470,7 +470,9 @@
470
470
  /* style the '%' symbols */
471
471
  .sapUiCPPercentSymbol {
472
472
  font-size: 0.75rem;
473
- line-height: 3rem; /* vertical alignment of the '%' symbol */
473
+ display: flex;
474
+ align-items: center;
475
+ justify-content: center;
474
476
  width: 0.9375rem;
475
477
  padding-left: 1px;
476
478
  }
@@ -21,7 +21,8 @@
21
21
  }
22
22
 
23
23
  /* as outlines can't have different offsets on one side (no left border) and don't work in IE just use a inner border */
24
- html.sap-desktop .sapUiCalendarApp:focus > .sapUiCalendarAppCont:after{
24
+ html.sap-desktop .sapUiCalendarApp:focus > .sapUiCalendarAppCont:after,
25
+ .sapUiCalendarApp:focus-visible > .sapUiCalendarAppCont:after{
25
26
  position: absolute;
26
27
  top: 0;
27
28
  left: 0;