@openui5/sap.ui.unified 1.151.1 → 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 (62) hide show
  1. package/THIRDPARTY.txt +5 -5
  2. package/package.json +2 -2
  3. package/src/sap/ui/unified/.library +1 -1
  4. package/src/sap/ui/unified/Calendar.js +180 -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/CalendarRenderer.js +8 -2
  12. package/src/sap/ui/unified/CalendarRow.js +12 -1
  13. package/src/sap/ui/unified/CalendarTimeInterval.js +1 -1
  14. package/src/sap/ui/unified/CalendarWeekInterval.js +1 -1
  15. package/src/sap/ui/unified/ColorPicker.js +1 -1
  16. package/src/sap/ui/unified/ColorPickerPopover.js +1 -1
  17. package/src/sap/ui/unified/ColorPickerRenderer.js +0 -4
  18. package/src/sap/ui/unified/ContentSwitcher.js +1 -1
  19. package/src/sap/ui/unified/Currency.js +1 -1
  20. package/src/sap/ui/unified/CurrencyRenderer.js +1 -1
  21. package/src/sap/ui/unified/DateRange.js +1 -1
  22. package/src/sap/ui/unified/DateTypeRange.js +27 -6
  23. package/src/sap/ui/unified/FileUploader.js +5 -3
  24. package/src/sap/ui/unified/FileUploaderParameter.js +1 -1
  25. package/src/sap/ui/unified/FileUploaderXHRSettings.js +1 -1
  26. package/src/sap/ui/unified/Menu.js +1 -1
  27. package/src/sap/ui/unified/MenuItem.js +1 -1
  28. package/src/sap/ui/unified/MenuItemBase.js +1 -1
  29. package/src/sap/ui/unified/MenuItemGroup.js +1 -1
  30. package/src/sap/ui/unified/MenuRenderer.js +1 -1
  31. package/src/sap/ui/unified/MenuTextFieldItem.js +26 -2
  32. package/src/sap/ui/unified/MonthlyRecurrenceRule.js +1 -1
  33. package/src/sap/ui/unified/NonWorkingPeriod.js +1 -1
  34. package/src/sap/ui/unified/RecurrenceRule.js +1 -1
  35. package/src/sap/ui/unified/RecurringCalendarAppointment.js +1 -1
  36. package/src/sap/ui/unified/RecurringNonWorkingPeriod.js +1 -1
  37. package/src/sap/ui/unified/Shell.js +1 -1
  38. package/src/sap/ui/unified/ShellHeadItem.js +1 -1
  39. package/src/sap/ui/unified/ShellHeadUserItem.js +1 -1
  40. package/src/sap/ui/unified/ShellLayout.js +1 -1
  41. package/src/sap/ui/unified/ShellOverlay.js +1 -1
  42. package/src/sap/ui/unified/SplitContainer.js +1 -1
  43. package/src/sap/ui/unified/TimeRange.js +1 -1
  44. package/src/sap/ui/unified/WeeklyRecurrenceRule.js +1 -1
  45. package/src/sap/ui/unified/YearlyRecurrenceRule.js +1 -1
  46. package/src/sap/ui/unified/calendar/DatesRow.js +1 -1
  47. package/src/sap/ui/unified/calendar/Header.js +1 -1
  48. package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
  49. package/src/sap/ui/unified/calendar/Month.js +26 -9
  50. package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
  51. package/src/sap/ui/unified/calendar/MonthRenderer.js +23 -4
  52. package/src/sap/ui/unified/calendar/MonthsRow.js +18 -1
  53. package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +1 -1
  54. package/src/sap/ui/unified/calendar/TimesRow.js +22 -1
  55. package/src/sap/ui/unified/calendar/WeeksRow.js +1 -1
  56. package/src/sap/ui/unified/calendar/YearPicker.js +1 -1
  57. package/src/sap/ui/unified/calendar/YearRangePicker.js +1 -1
  58. package/src/sap/ui/unified/library.js +2 -2
  59. package/src/sap/ui/unified/themes/base/Calendar.less +1 -0
  60. package/src/sap/ui/unified/themes/base/CalendarRow.less +4 -2
  61. package/src/sap/ui/unified/themes/base/ColorPicker.less +3 -1
  62. package/src/sap/ui/unified/themes/sap_hcb/CalendarRow.less +2 -1
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @implements sap.ui.unified.IMenuItem
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
81
+ * @version 1.153.0
82
82
  *
83
83
  * @constructor
84
84
  * @public
@@ -1012,10 +1012,10 @@ sap.ui.define([
1012
1012
  // collects non working day with the first occurrence of one of the types01..types20
1013
1013
  if ((oTimeStamp === oStartTimeStamp && !oEndDate) || (oTimeStamp >= oStartTimeStamp && oTimeStamp <= oEndTimeStamp)) {
1014
1014
  if (!bNonWorkingType && !oType) {
1015
- oType = {type: oRange.getType(), secondaryType: oRange.getSecondaryType(), tooltip: oRange.getTooltip_AsString(), color: oRange.getColor(), customData: oRange.getCustomData()};
1015
+ oType = Month.prototype._createDateTypeObject.call(this, oRange, true);
1016
1016
  aTypes.push(oType);
1017
1017
  } else if (bNonWorkingType && !oTypeNW) {
1018
- oTypeNW = {type: oRange.getType(), secondaryType: oRange.getSecondaryType(), tooltip: oRange.getTooltip_AsString(), customData: oRange.getCustomData()};
1018
+ oTypeNW = Month.prototype._createDateTypeObject.call(this, oRange, false);
1019
1019
  aTypes.push(oTypeNW);
1020
1020
  }
1021
1021
  if (oType && oTypeNW) {
@@ -1028,6 +1028,28 @@ sap.ui.define([
1028
1028
 
1029
1029
  };
1030
1030
 
1031
+ /*
1032
+ * Creates a date type object from a given date range.
1033
+ * @param {sap.ui.unified.DateRange} oRange the date range
1034
+ * @param {boolean} bSetColor whether to include the color property
1035
+ * @returns {object} the date type object
1036
+ * @private
1037
+ */
1038
+ Month.prototype._createDateTypeObject = function(oRange, bSetColor) {
1039
+ const oTypeObject = {
1040
+ type: oRange.getType(),
1041
+ secondaryType: oRange.getSecondaryType(),
1042
+ tooltip: oRange.getTooltip_AsString(),
1043
+ customData: oRange.getCustomData(),
1044
+ ariaHasPopup: oRange.getAriaHasPopup(),
1045
+ bAriaHasPopupExplicit: !oRange.isPropertyInitial("ariaHasPopup")
1046
+ };
1047
+ if (bSetColor) {
1048
+ oTypeObject.color = oRange.getColor();
1049
+ }
1050
+ return oTypeObject;
1051
+ };
1052
+
1031
1053
  /*
1032
1054
  * Checks if a given date is enabled
1033
1055
  * aside from the disabledDates aggregation the min. and max. dates are also checked
@@ -2215,12 +2237,7 @@ sap.ui.define([
2215
2237
  this._sLastTargetId = oDomRef.id;
2216
2238
  this._selectedWithMouse = true;
2217
2239
  }
2218
-
2219
- if (this._bFocusFromTouch) {
2220
- oDomRef.classList.add("sapUiCalItemFocusFromTouch");
2221
- } else {
2222
- oDomRef.classList.remove("sapUiCalItemFocusFromTouch");
2223
- }
2240
+ oDomRef.classList.toggle("sapUiCalItemFocusFromTouch", !!this._bFocusFromTouch);
2224
2241
 
2225
2242
  if (bFireFocus) {
2226
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.151.1
60
+ * @version 1.153.0
61
61
  *
62
62
  * @constructor
63
63
  * @public
@@ -17,7 +17,8 @@ sap.ui.define([
17
17
  'sap/ui/core/InvisibleText',
18
18
  'sap/ui/core/date/UI5Date',
19
19
  "sap/ui/core/date/CalendarUtils",
20
- "sap/ui/core/Locale"
20
+ "sap/ui/core/Locale",
21
+ "sap/ui/core/library"
21
22
  ],
22
23
  function(
23
24
  CalendarType,
@@ -32,13 +33,17 @@ sap.ui.define([
32
33
  InvisibleText,
33
34
  UI5Date,
34
35
  CalendarDateUtils,
35
- Locale
36
+ Locale,
37
+ coreLibrary
36
38
  ) {
37
39
  "use strict";
38
40
 
39
41
 
40
42
  // shortcut for sap.ui.unified.CalendarDayType
41
- var CalendarDayType = library.CalendarDayType;
43
+ const CalendarDayType = library.CalendarDayType;
44
+
45
+ // shortcut for sap.ui.core.aria.HasPopup
46
+ const AriaHasPopup = coreLibrary.aria.HasPopup;
42
47
 
43
48
 
44
49
 
@@ -456,6 +461,15 @@ sap.ui.define([
456
461
  var bEnabled = oMonth._checkDateEnabled(oDay);
457
462
  var bShouldBeMarkedAsSpecialDate = oMonth._isSpecialDateMarkerEnabled(oDay);
458
463
 
464
+ // Determine effective aria-haspopup from per-date value on matched DateTypeRange entries.
465
+ let sHasPopup = AriaHasPopup.None;
466
+ for (let i = 0; i < aDayTypes.length; i++) {
467
+ if (aDayTypes[i].bAriaHasPopupExplicit) {
468
+ sHasPopup = aDayTypes[i].ariaHasPopup;
469
+ break;
470
+ }
471
+ }
472
+
459
473
  const sFirstSpecialDateType = aDayTypes.length > 0 && aDayTypes[0].type;
460
474
  const sSecondaryDateType = aDayTypes.length > 0 && aDayTypes[0].secondaryType;
461
475
  const bIsWeekend = oHelper.aNonWorkingDays && oHelper.aNonWorkingDays instanceof Array
@@ -594,6 +608,10 @@ sap.ui.define([
594
608
  CalendarLegendRenderer.addCalendarTypeAccInfo(mAccProps, sAriaType, oLegend);
595
609
  }
596
610
 
611
+ if (sHasPopup !== AriaHasPopup.None) {
612
+ mAccProps["haspopup"] = sHasPopup.toLowerCase();
613
+ }
614
+
597
615
  if (aDayTypes[0] && aDayTypes[0].customData?.length && bShouldBeMarkedAsSpecialDate) {
598
616
  //render customData
599
617
  aDayTypes[0].customData.forEach((customData) => {
@@ -606,7 +624,8 @@ sap.ui.define([
606
624
  oRm.accessibilityState(null, mAccProps);
607
625
  oRm.openEnd(); // div element
608
626
 
609
- if (aDayTypes[0] && bShouldBeMarkedAsSpecialDate){ //if there's a special date inside current month, render it
627
+ if (aDayTypes[0] && bShouldBeMarkedAsSpecialDate
628
+ && (aDayTypes[0].type !== CalendarDayType.None || aDayTypes[0].color)) { //if there's a special date inside current month, render it
610
629
  oRm.openStart("div");
611
630
  oRm.class("sapUiCalSpecialDate");
612
631
  const sColor = aDayTypes[0].color?.toLowerCase();
@@ -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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1
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.151.1",
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;