@openui5/sap.ui.unified 1.148.0 → 1.149.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 +2 -2
  2. package/package.json +2 -2
  3. package/src/sap/ui/unified/.library +1 -1
  4. package/src/sap/ui/unified/Calendar.js +9 -4
  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 +1 -1
  12. package/src/sap/ui/unified/CalendarRowRenderer.js +23 -18
  13. package/src/sap/ui/unified/CalendarTimeInterval.js +10 -13
  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/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 +1 -1
  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 +1 -1
  31. package/src/sap/ui/unified/MonthlyRecurrenceRule.js +58 -0
  32. package/src/sap/ui/unified/NonWorkingPeriod.js +1 -1
  33. package/src/sap/ui/unified/RecurrenceRule.js +112 -0
  34. package/src/sap/ui/unified/RecurringCalendarAppointment.js +222 -0
  35. package/src/sap/ui/unified/RecurringNonWorkingPeriod.js +112 -6
  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 +39 -0
  44. package/src/sap/ui/unified/YearlyRecurrenceRule.js +53 -0
  45. package/src/sap/ui/unified/calendar/DatesRow.js +1 -1
  46. package/src/sap/ui/unified/calendar/Header.js +14 -2
  47. package/src/sap/ui/unified/calendar/HeaderRenderer.js +124 -50
  48. package/src/sap/ui/unified/calendar/IndexPicker.js +1 -1
  49. package/src/sap/ui/unified/calendar/Month.js +1 -1
  50. package/src/sap/ui/unified/calendar/MonthPicker.js +1 -1
  51. package/src/sap/ui/unified/calendar/MonthsRow.js +1 -1
  52. package/src/sap/ui/unified/calendar/OneMonthDatesRow.js +1 -1
  53. package/src/sap/ui/unified/calendar/RecurrenceUtils.js +653 -113
  54. package/src/sap/ui/unified/calendar/TimesRow.js +1 -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 +73 -2
  59. package/src/sap/ui/unified/themes/base/Calendar.less +76 -205
  60. package/src/sap/ui/unified/themes/base/FileUploader.less +2 -2
  61. package/src/sap/ui/unified/themes/sap_hcb/Calendar.less +3 -10
  62. package/src/sap/ui/unified/themes/sap_hcb/base_Calendar.less +54 -112
@@ -49,23 +49,23 @@
49
49
  /*** HEADER ***/
50
50
  .sapUiCalHead {
51
51
  width: 100%;
52
- position: relative;
53
52
  text-align: center;
54
- display: block;
55
- height: 2.5rem;
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 0.5rem;
56
56
  padding-top: 0.25rem;
57
57
  padding-bottom: 0.25rem;
58
58
  background-color: @sapUiListBackground;
59
59
  }
60
60
 
61
- .sapUiCalTwoMonthsTwoColumnsJaZh:not(.sapUiCalInt) > .sapUiCalHead,
62
- .sapUiCalTwoMonthsTwoColumns:not(.sapUiCalInt) > .sapUiCalHead {
61
+ .sapUiCalTwoMonthsTwoColumnsJaZh:not(.sapUiCalInt) .sapUiCalHead,
62
+ .sapUiCalTwoMonthsTwoColumns:not(.sapUiCalInt) .sapUiCalHead {
63
63
  max-width: 100%;
64
- text-align: left;
65
64
  }
66
65
 
67
- .sapUiCalHead > button,
66
+ .sapUiCalHead button,
68
67
  .sapUiCalCancel {
68
+ position: relative;
69
69
  background-color: @sapUiButtonLiteBackground;
70
70
  border: none;
71
71
  color: @sapUiButtonTextColor;
@@ -73,7 +73,6 @@
73
73
  overflow: hidden;
74
74
  white-space: nowrap;
75
75
  height: 2.5rem;
76
- padding: 0;
77
76
  font-size: @sapMFontMediumSize;
78
77
  }
79
78
 
@@ -93,23 +92,46 @@
93
92
  .sapUiCalHeadPrev,
94
93
  .sapUiCalHeadNext,
95
94
  .sapUiCalHeadToday {
95
+ line-height: 2.25rem;
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: center;
99
+
96
100
  &:not(.sapUiCalDsbl) .sapUiIcon {
97
101
  cursor: pointer;
98
102
  }
99
103
 
100
- position: absolute;
104
+ flex: 0 0 auto;
101
105
  width: 2.5rem;
102
106
  }
103
- .sapUiCalHeadNext {
104
- right: 0.5rem;
105
- }
107
+ }
108
+
109
+ /* Flex content containers for header buttons */
110
+ .sapUiCalHeadContent {
111
+ flex: 1;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ gap: 0.5rem;
116
+ min-width: 0;
117
+ }
118
+
119
+ .sapUiCalHeadAlignStart {
120
+ justify-content: flex-start;
121
+ }
122
+
123
+ .sapUiCalHeadAlignCenter {
124
+ justify-content: center;
125
+ }
126
+
127
+ .sapUiCalHeadAlignEnd {
128
+ justify-content: flex-end;
106
129
  }
107
130
 
108
131
  .sapUiCalHead.sapUiCalHeaderWithTodayButton {
109
132
  .sapUiCalHeadPrev,
110
133
  .sapUiCalHeadNext,
111
134
  .sapUiCalHeadToday {
112
- position: initial;
113
135
  width: 2rem;
114
136
  }
115
137
  }
@@ -120,9 +142,6 @@
120
142
  .sapUiCalHeadToday {
121
143
  width: 2rem;
122
144
  }
123
- .sapUiCalHeadNext {
124
- right: 0.25rem;
125
- }
126
145
  }
127
146
 
128
147
  .sapUiSizeCompact .sapUiCalHead.sapUiCalHeaderWithTodayButton {
@@ -133,53 +152,44 @@
133
152
  }
134
153
  }
135
154
 
136
- .sapUiCalHeadPrev {
137
- left: 0.5rem;
138
- }
139
-
140
- .sapUiCalHead.sapUiCalHeaderWithTodayButton {
141
- display: flex;
142
- justify-content: space-evenly;
143
- }
144
-
145
155
  /* no default (browser) outline, if device needs focus visualization its defined later */
146
- .sapUiCalHead > button:focus,
156
+ .sapUiCalHead button:focus,
147
157
  .sapUiCalCancel:focus {
148
158
  outline: none;
149
159
  }
150
160
 
151
161
  /* hover and focus makes only sense on desktops. On mobile devices it's not needed */
152
- html.sap-desktop .sapUiCalHead > button:focus,
162
+ html.sap-desktop .sapUiCalHead button:focus,
153
163
  html.sap-desktop .sapUiCalCancel:focus {
154
164
  background-color: @sapUiButtonHoverBackground;
155
165
  color: @sapUiButtonHoverTextColor;
156
166
  }
157
167
 
158
- html.sap-desktop .sapUiCalHead > button:hover,
168
+ html.sap-desktop .sapUiCalHead button:hover,
159
169
  html.sap-desktop .sapUiCalCancel:hover {
160
170
  background-color: @sapUiButtonHoverBackground;
161
171
  color: @sapUiButtonHoverTextColor;
162
172
  }
163
173
 
164
174
  /* once for desktop to overwrite focus and once for all devices needed */
165
- .sapUiCalHead > button:active,
175
+ .sapUiCalHead button:active,
166
176
  .sapUiCalCancel:active,
167
- html.sap-desktop .sapUiCalHead > button:active,
168
- html.sap-desktop .sapUiCalHead > button:active > .sapUiCalHeadBAddText,
177
+ html.sap-desktop .sapUiCalHead button:active,
178
+ html.sap-desktop .sapUiCalHead button:active .sapUiCalHeadBAddText,
169
179
  html.sap-desktop .sapUiCalCancel:active {
170
180
  background-color: @sapUiButtonActiveBackground;
171
181
  color: @sapUiButtonActiveTextColor;
172
182
  }
173
183
 
174
- .sapUiCalHead > button.sapUiCalDsbl {
184
+ .sapUiCalHead button.sapUiCalDsbl {
175
185
  cursor: default;
176
186
  opacity: .3;
177
187
  filter: alpha(opacity=30);
178
188
  }
179
189
 
180
- html.sap-desktop .sapUiCalHead > button.sapUiCalDsbl:focus,
181
- .sapUiCalHead > button.sapUiCalDsbl:hover,
182
- .sapUiCalHead > button.sapUiCalDsbl:active {
190
+ html.sap-desktop .sapUiCalHead button.sapUiCalDsbl:focus,
191
+ .sapUiCalHead button.sapUiCalDsbl:hover,
192
+ .sapUiCalHead button.sapUiCalDsbl:active {
183
193
  background-color: @sapUiButtonLiteBackground;
184
194
  color: @sapUiButtonTextColor;
185
195
  }
@@ -477,12 +487,6 @@ html.sap-desktop .sapUiCalHead > button.sapUiCalDsbl:focus,
477
487
  display: flex;
478
488
  justify-content: space-between;
479
489
  }
480
- .sapUiCalHeadNext {
481
- right: 0;
482
- }
483
- .sapUiCalHeadPrev {
484
- left: 0;
485
- }
486
490
  }
487
491
  .sapUiCal .sapUiCalMonthView {
488
492
  padding-bottom: 0.5rem;
@@ -529,21 +533,12 @@ html.sapUiMedia-Std-Phone .sapUiCalHeadB0{
529
533
  width: 3rem; /* do not overflow buttons on phone */
530
534
  }
531
535
 
532
- .sapUiCalHeadBFirst{
533
- margin-right: 0.25rem;
534
- }
535
-
536
- .sapUiCalHeadBLast{
537
- margin-left: 0.25rem;
538
- }
539
-
540
536
  .sapUiCalMulti .sapUiCalHeadB1,
541
537
  .sapUiCalMonthInt .sapUiCalHeadB2,
542
538
  .sapUiCalMulti .sapUiCalHeadB3,
543
539
  .sapUiCalIntLarge .sapUiCalHeadB3,
544
540
  .sapUiCalMonthInt .sapUiCalHeadB4 {
545
541
  width: 12.5rem;
546
- margin-right: 0.5rem
547
542
  }
548
543
 
549
544
  .sapUiCalIntLarge .sapUiCalHeadB1 {
@@ -590,34 +585,12 @@ html.sapUiMedia-Std-Phone .sapUiCalHeadB0{
590
585
  }
591
586
  }
592
587
 
593
- &.sapUiCalTwoMonthsTwoColumns,
594
- &.sapUiCalTwoMonthsTwoColumnsJaZh {
595
- .sapUiCalHeadB2.sapUiCalSingleYearButton{
596
- margin-left: calc(~"25% - 5.75rem");
597
- }
598
-
599
- .sapUiCalHeadB2 + .sapUiCalHeadB4 {
600
- margin-left: 6.25rem;
601
- }
602
- }
603
588
  }
604
589
 
605
590
  .sapUiCalHeadBPlaceholder {
606
591
  width: inherit;
607
592
  }
608
593
 
609
- .sapUiCalTwoMonthsTwoColumnsJaZh .sapUiCalHeadB2,
610
- .sapUiCalTwoMonthsTwoColumns .sapUiCalHeadB1 {
611
- margin-left: calc(~"25% - 6rem");
612
- }
613
-
614
- .sapUiSizeCompact .sapUiCalTwoMonthsTwoColumnsJaZh .sapUiCalHeadB4,
615
- .sapUiSizeCompact .sapUiCalTwoMonthsTwoColumns .sapUiCalHeadB3,
616
- .sapUiCalTwoMonthsTwoColumnsJaZh .sapUiCalHeadB4:not(.sapUiCalSingleYearButton),
617
- .sapUiCalTwoMonthsTwoColumns .sapUiCalHeadB3 {
618
- margin-left: 6.25rem;
619
- }
620
-
621
594
  .sapUiCalItemNow > .sapUiCalItemText{
622
595
  border: 0.125rem solid @sapUiCalendarColorToday;
623
596
  }
@@ -805,10 +778,18 @@ html.sapUiMedia-Std-Phone .sapUiCalHeadB0{
805
778
  padding: 0;
806
779
  }
807
780
 
808
- .sapUiSizeCompact .sapUiCalHead > button{
781
+ .sapUiSizeCompact .sapUiCalHead button{
809
782
  height: 2rem;
810
783
  }
811
784
 
785
+ .sapUiSizeCompact .sapUiCalHead{
786
+ .sapUiCalHeadPrev,
787
+ .sapUiCalHeadNext,
788
+ .sapUiCalHeadToday {
789
+ line-height: 2rem;
790
+ }
791
+ }
792
+
812
793
  .sapUiSizeCompact .sapUiCalMonthView,
813
794
  .sapUiSizeCompact .sapUiCalMonthPicker,
814
795
  .sapUiSizeCompact .sapUiCalYearPicker{
@@ -824,19 +805,6 @@ html.sapUiMedia-Std-Phone .sapUiCalHeadB0{
824
805
  padding-bottom: 0.5rem;
825
806
  }
826
807
 
827
- .sapUiSizeCompact .sapUiCal .sapUiCalHeadPrev,
828
- .sapUiSizeCompact.sapUiCal .sapUiCalHeadPrev{
829
- left: 0.25rem;
830
- }
831
-
832
- .sapUiSizeCompact .sapUiCalHeadBFirst{
833
- margin-right: 0.25rem;
834
- }
835
-
836
- .sapUiSizeCompact .sapUiCalHeadBLast{
837
- margin-left: 0.25rem;
838
- }
839
-
840
808
  .sapUiSizeCompact .sapUiCalMulti .sapUiCalHeadB3,
841
809
  .sapUiSizeCompact.sapUiCalMulti .sapUiCalHeadB3,
842
810
  .sapUiSizeCompact .sapUiCalIntLarge .sapUiCalHeadB3,
@@ -994,32 +962,6 @@ html.sap-phone [data-sap-ui-popup] .sapUiCal > .sapUiCalContent > .sapUiCalYearP
994
962
  }
995
963
 
996
964
  .sapUiCal.sapUiCalMulti.sapUiCalTwoMonthsTwoColumns {
997
- .sapUiCalHead.sapUiCalHeaderWithTodayButton {
998
- justify-content: space-evenly;
999
- }
1000
- .sapUiCalHead.sapUiCalHeaderWithTodayButton .sapUiCalHeadBPlaceholder {
1001
- width:100%;
1002
- }
1003
- & .sapUiCalHeadB.sapUiCalHeadB1 {
1004
- margin-right: 0.25rem;
1005
- }
1006
- & .sapUiCalHeadB.sapUiCalHeadB4 {
1007
- margin-left: 0.25rem;
1008
- }
1009
- & .sapUiCalHeadB.sapUiCalHeadB2.sapUiCalHeadBFirst {
1010
- margin-left: 0.25rem;
1011
- margin-right: calc(~"25% - 6rem");
1012
- }
1013
- & .sapUiCalHeadB.sapUiCalHeadB3.sapUiCalHeadBLast {
1014
- margin-right: 0.25rem;
1015
- margin-left: calc(~"25% - 6rem");
1016
- }
1017
- .sapUiCalHeadB.sapUiCalHeadB2.sapUiCalSingleYearButton,
1018
- .sapUiCalHeadB.sapUiCalHeadB4.sapUiCalSingleYearButton {
1019
- width: 12rem;
1020
- margin-left: calc(~"25% - 6rem");
1021
- }
1022
-
1023
965
  .sapUiCalContent > .sapUiCalMonthPicker, .sapUiCalContent > .sapUiCalYearPicker {
1024
966
  left: 50%;
1025
967
  }