@ui5/webcomponents 1.14.5 → 1.14.7

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 (277) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/DayPicker.d.ts +7 -0
  3. package/dist/DayPicker.js +13 -1
  4. package/dist/DayPicker.js.map +1 -1
  5. package/dist/assets/ar.3ad59a04.js +1 -0
  6. package/dist/assets/ar_EG.00ca672f.js +1 -0
  7. package/dist/assets/ar_SA.e1a3a4d2.js +1 -0
  8. package/dist/assets/bg.3c032a87.js +1 -0
  9. package/dist/assets/ca.cab4313b.js +1 -0
  10. package/dist/assets/cs.1f96cbc0.js +1 -0
  11. package/dist/assets/da.2e215d32.js +1 -0
  12. package/dist/assets/de.120069b3.js +1 -0
  13. package/dist/assets/de_AT.dfed4892.js +1 -0
  14. package/dist/assets/de_CH.d9dd07d0.js +1 -0
  15. package/dist/assets/el.5886846f.js +1 -0
  16. package/dist/assets/el_CY.4524e0ca.js +1 -0
  17. package/dist/assets/en.792360a2.js +1 -0
  18. package/dist/assets/en_AU.9ed709d4.js +1 -0
  19. package/dist/assets/en_GB.57c4119f.js +1 -0
  20. package/dist/assets/en_HK.13ca666c.js +1 -0
  21. package/dist/assets/en_IE.30c3b469.js +1 -0
  22. package/dist/assets/en_IN.e5753d2b.js +1 -0
  23. package/dist/assets/en_NZ.d910d5b0.js +1 -0
  24. package/dist/assets/en_PG.cae89b39.js +1 -0
  25. package/dist/assets/en_SG.63e2963e.js +1 -0
  26. package/dist/assets/en_ZA.b0c84019.js +1 -0
  27. package/dist/assets/es.0d240cdf.js +1 -0
  28. package/dist/assets/es_AR.b9314089.js +1 -0
  29. package/dist/assets/es_BO.11479099.js +1 -0
  30. package/dist/assets/es_CL.8a61f00c.js +1 -0
  31. package/dist/assets/es_CO.f76765a8.js +1 -0
  32. package/dist/assets/es_MX.2402af81.js +1 -0
  33. package/dist/assets/es_PE.40699f80.js +1 -0
  34. package/dist/assets/es_UY.09813bf5.js +1 -0
  35. package/dist/assets/es_VE.1f46c3f3.js +1 -0
  36. package/dist/assets/et.0c6fe9ac.js +1 -0
  37. package/dist/assets/fa.746ac0d1.js +1 -0
  38. package/dist/assets/fi.df4a8dab.js +1 -0
  39. package/dist/assets/fr.ab311640.js +1 -0
  40. package/dist/assets/fr_BE.b7aa41c5.js +1 -0
  41. package/dist/assets/fr_CA.b2c8941e.js +1 -0
  42. package/dist/assets/fr_CH.7833d5a7.js +1 -0
  43. package/dist/assets/fr_LU.4fd92204.js +1 -0
  44. package/dist/assets/he.c2e769e5.js +1 -0
  45. package/dist/assets/hi.fa7b9987.js +1 -0
  46. package/dist/assets/hr.ed532d8f.js +1 -0
  47. package/dist/assets/hu.61127d52.js +1 -0
  48. package/dist/assets/id.1b0a0cba.js +1 -0
  49. package/dist/assets/it.4ff4c03e.js +1 -0
  50. package/dist/assets/it_CH.6611cf3a.js +1 -0
  51. package/dist/assets/ja.15eb4117.js +1 -0
  52. package/dist/assets/kk.91fb4c37.js +1 -0
  53. package/dist/assets/ko.26af5e7d.js +1 -0
  54. package/dist/assets/lt.d4dd44fe.js +1 -0
  55. package/dist/assets/lv.305d9621.js +1 -0
  56. package/dist/assets/ms.feea80f2.js +1 -0
  57. package/dist/assets/nb.093c87e5.js +1 -0
  58. package/dist/assets/nl.33c7b5b4.js +1 -0
  59. package/dist/assets/nl_BE.0cf4cf74.js +1 -0
  60. package/dist/assets/pl.04fee60b.js +1 -0
  61. package/dist/assets/pt.d6109ae7.js +1 -0
  62. package/dist/assets/pt_PT.c5ebd5ad.js +1 -0
  63. package/dist/assets/ro.8660889d.js +1 -0
  64. package/dist/assets/ru.33d902c4.js +1 -0
  65. package/dist/assets/ru_UA.cdda7b97.js +1 -0
  66. package/dist/assets/sk.3e444e75.js +1 -0
  67. package/dist/assets/sl.9c7b3eb3.js +1 -0
  68. package/dist/assets/sr.54acab71.js +1 -0
  69. package/dist/assets/sr_Latn.bb8f0cbc.js +1 -0
  70. package/dist/assets/sv.7f0ef87f.js +1 -0
  71. package/dist/assets/test/pages/{ComboBox.html.4b9001c1.js → ComboBox.html.b3bc0771.js} +1 -1
  72. package/dist/assets/test/pages/{Icon.html.4eca8a7c.js → Icon.html.348f946d.js} +1 -1
  73. package/dist/assets/test/pages/{Label.html.77c5407f.js → Label.html.6eb45ba6.js} +1 -1
  74. package/dist/assets/test/pages/{Popups.html.72f0c0fb.js → Popups.html.9a8f767e.js} +1 -1
  75. package/dist/assets/th.9c0a9185.js +1 -0
  76. package/dist/assets/tr.639a5003.js +1 -0
  77. package/dist/assets/uk.e03b63d6.js +1 -0
  78. package/dist/assets/vi.1e864ff7.js +1 -0
  79. package/dist/assets/zh_CN.6bf9ed05.js +1 -0
  80. package/dist/assets/zh_HK.2bb43aaf.js +1 -0
  81. package/dist/assets/zh_SG.4c4240d8.js +1 -0
  82. package/dist/assets/zh_TW.d9a31e16.js +1 -0
  83. package/dist/test/pages/72override.html +1 -1
  84. package/dist/test/pages/AnimanitionOff.html +1 -1
  85. package/dist/test/pages/Avatar.html +1 -1
  86. package/dist/test/pages/AvatarGroup.html +1 -1
  87. package/dist/test/pages/Badge.html +1 -1
  88. package/dist/test/pages/Breadcrumbs.html +1 -1
  89. package/dist/test/pages/BusyIndicator.html +1 -1
  90. package/dist/test/pages/Button.html +1 -1
  91. package/dist/test/pages/Calendar.html +1 -1
  92. package/dist/test/pages/Card.html +1 -1
  93. package/dist/test/pages/Carousel.html +1 -1
  94. package/dist/test/pages/CheckBox.html +1 -1
  95. package/dist/test/pages/ColorPalette.html +1 -1
  96. package/dist/test/pages/ColorPalettePopover.html +1 -1
  97. package/dist/test/pages/ColorPicker.html +1 -1
  98. package/dist/test/pages/ComboBox.html +2 -2
  99. package/dist/test/pages/Components.html +1 -1
  100. package/dist/test/pages/CoreControls.html +1 -1
  101. package/dist/test/pages/CoreControls_exp.html +1 -1
  102. package/dist/test/pages/CustomCSS.html +1 -1
  103. package/dist/test/pages/DatePicker.html +1 -1
  104. package/dist/test/pages/DatePicker_test_page.html +1 -1
  105. package/dist/test/pages/DateRangePicker.html +1 -1
  106. package/dist/test/pages/DateTimePicker.html +1 -1
  107. package/dist/test/pages/DateTimePicker_Timezone.html +1 -1
  108. package/dist/test/pages/DayPicker.html +1 -1
  109. package/dist/test/pages/Dialog.html +1 -1
  110. package/dist/test/pages/DialogLifecycle.html +1 -1
  111. package/dist/test/pages/DialogSemantic.html +1 -1
  112. package/dist/test/pages/Eventing.html +1 -1
  113. package/dist/test/pages/F6Test1.html +1 -1
  114. package/dist/test/pages/F6Test2.html +1 -1
  115. package/dist/test/pages/F6Test3.html +1 -1
  116. package/dist/test/pages/F6Test4.html +1 -1
  117. package/dist/test/pages/F6Test5.html +1 -1
  118. package/dist/test/pages/F6Test6.html +1 -1
  119. package/dist/test/pages/F6Test7.html +1 -1
  120. package/dist/test/pages/FileUploader.html +1 -1
  121. package/dist/test/pages/FormComponents.html +1 -1
  122. package/dist/test/pages/FormSupport.html +1 -1
  123. package/dist/test/pages/HCB.html +1 -1
  124. package/dist/test/pages/Icon.html +2 -2
  125. package/dist/test/pages/Icon_and_theming.html +1 -1
  126. package/dist/test/pages/Icon_custom.html +1 -1
  127. package/dist/test/pages/Input.html +1 -1
  128. package/dist/test/pages/InputFieldLabels.html +1 -1
  129. package/dist/test/pages/InputFieldMinWidth.html +1 -1
  130. package/dist/test/pages/InputIcons.html +1 -1
  131. package/dist/test/pages/Input_quickview.html +1 -1
  132. package/dist/test/pages/InputsAlignment.html +1 -1
  133. package/dist/test/pages/InputsLazyLoading.html +1 -1
  134. package/dist/test/pages/ItemNavigation.html +1 -1
  135. package/dist/test/pages/Kitchen.html +1 -1
  136. package/dist/test/pages/Kitchen.openui5.html +1 -1
  137. package/dist/test/pages/Label.html +2 -2
  138. package/dist/test/pages/Link.html +1 -1
  139. package/dist/test/pages/List.html +1 -1
  140. package/dist/test/pages/ListGrowing_Button.html +1 -1
  141. package/dist/test/pages/ListGrowing_Scroll.html +1 -1
  142. package/dist/test/pages/List_keyboard_support.html +1 -1
  143. package/dist/test/pages/List_test_page.html +1 -1
  144. package/dist/test/pages/LitKeyFunction.html +1 -1
  145. package/dist/test/pages/MemoryLeak.html +1 -1
  146. package/dist/test/pages/Menu.html +1 -1
  147. package/dist/test/pages/MessagePage.html +1 -1
  148. package/dist/test/pages/MessageStrip.html +1 -1
  149. package/dist/test/pages/MultiComboBox.html +1 -1
  150. package/dist/test/pages/MultiInput.html +1 -1
  151. package/dist/test/pages/MultiInput_Suggestions.html +1 -1
  152. package/dist/test/pages/OpenUI5-second.html +1 -1
  153. package/dist/test/pages/OpenUI5.html +1 -1
  154. package/dist/test/pages/OpenUI5Nightly.html +1 -1
  155. package/dist/test/pages/Panel.html +1 -1
  156. package/dist/test/pages/Popover.html +1 -1
  157. package/dist/test/pages/PopoverArrowBounds.html +1 -1
  158. package/dist/test/pages/Popups.html +2 -2
  159. package/dist/test/pages/ProgressIndicator.html +1 -1
  160. package/dist/test/pages/RTL.html +1 -1
  161. package/dist/test/pages/RadioButton.html +1 -1
  162. package/dist/test/pages/RangeSlider.html +1 -1
  163. package/dist/test/pages/RatingIndicator.html +1 -1
  164. package/dist/test/pages/ResizeHandler.html +1 -1
  165. package/dist/test/pages/ResponsivePopover.html +1 -1
  166. package/dist/test/pages/SegmentedButton.html +1 -1
  167. package/dist/test/pages/Select.html +1 -1
  168. package/dist/test/pages/Simple.html +1 -1
  169. package/dist/test/pages/Slider.html +1 -1
  170. package/dist/test/pages/SplitButton.html +1 -1
  171. package/dist/test/pages/StepInput.html +1 -1
  172. package/dist/test/pages/Switch.html +1 -1
  173. package/dist/test/pages/TabContainer.html +1 -1
  174. package/dist/test/pages/Table-perf-pure.html +1 -1
  175. package/dist/test/pages/Table-perf.html +1 -1
  176. package/dist/test/pages/Table.html +1 -1
  177. package/dist/test/pages/Table2.html +1 -1
  178. package/dist/test/pages/TableAllPopin.html +1 -1
  179. package/dist/test/pages/TableCustomStyling.html +1 -1
  180. package/dist/test/pages/TableGrouping.html +1 -1
  181. package/dist/test/pages/TableGrowingWithButton.html +1 -1
  182. package/dist/test/pages/TableGrowingWithScroll.html +1 -1
  183. package/dist/test/pages/TableSelection.html +1 -1
  184. package/dist/test/pages/TextArea.html +1 -1
  185. package/dist/test/pages/TimePicker.html +1 -1
  186. package/dist/test/pages/TimeSelection.html +1 -1
  187. package/dist/test/pages/Title.html +1 -1
  188. package/dist/test/pages/Toast.html +1 -1
  189. package/dist/test/pages/ToggleButton.html +1 -1
  190. package/dist/test/pages/Tokenizer.html +1 -1
  191. package/dist/test/pages/Tree.html +1 -1
  192. package/dist/test/pages/TreeDynamic.html +1 -1
  193. package/dist/test/pages/WheelSlider_Test_Page.html +1 -1
  194. package/dist/test/pages/base/AriaLabelHelper.html +1 -1
  195. package/dist/test/pages/base/DOMObserver.html +1 -1
  196. package/dist/test/pages/base/IconCollection.html +1 -1
  197. package/dist/test/pages/base/IconCollectionInCustomTheme.html +1 -1
  198. package/dist/test/pages/base/IgnoreCustomElements.html +1 -1
  199. package/dist/test/pages/base/InvisibleMessage.html +1 -1
  200. package/dist/test/pages/form.html +1 -1
  201. package/dist/test/pages/i18n-defaultLang.html +1 -1
  202. package/dist/test/pages/i18n-demo.html +1 -1
  203. package/package.json +7 -7
  204. package/dist/assets/ar.1041ec31.js +0 -1
  205. package/dist/assets/ar_EG.e95bec64.js +0 -1
  206. package/dist/assets/ar_SA.f148c268.js +0 -1
  207. package/dist/assets/bg.a5220db4.js +0 -1
  208. package/dist/assets/ca.e2d8c74a.js +0 -1
  209. package/dist/assets/cs.1329f2cd.js +0 -1
  210. package/dist/assets/da.8e8b0c3c.js +0 -1
  211. package/dist/assets/de.5189d32b.js +0 -1
  212. package/dist/assets/de_AT.3e48bebb.js +0 -1
  213. package/dist/assets/de_CH.92c64343.js +0 -1
  214. package/dist/assets/el.28eaca55.js +0 -1
  215. package/dist/assets/el_CY.32dcd4ff.js +0 -1
  216. package/dist/assets/en.45b4416a.js +0 -1
  217. package/dist/assets/en_AU.883bab70.js +0 -1
  218. package/dist/assets/en_GB.471ed2a3.js +0 -1
  219. package/dist/assets/en_HK.ec8572d7.js +0 -1
  220. package/dist/assets/en_IE.f777b349.js +0 -1
  221. package/dist/assets/en_IN.5a48cecf.js +0 -1
  222. package/dist/assets/en_NZ.6ccb69b4.js +0 -1
  223. package/dist/assets/en_PG.c1608957.js +0 -1
  224. package/dist/assets/en_SG.b63cc070.js +0 -1
  225. package/dist/assets/en_ZA.cd22b16a.js +0 -1
  226. package/dist/assets/es.d3f150cc.js +0 -1
  227. package/dist/assets/es_AR.927ccd27.js +0 -1
  228. package/dist/assets/es_BO.04001b79.js +0 -1
  229. package/dist/assets/es_CL.edc9b0de.js +0 -1
  230. package/dist/assets/es_CO.6281f9a6.js +0 -1
  231. package/dist/assets/es_MX.6f93b801.js +0 -1
  232. package/dist/assets/es_PE.888ff0f7.js +0 -1
  233. package/dist/assets/es_UY.ac61590e.js +0 -1
  234. package/dist/assets/es_VE.d5608918.js +0 -1
  235. package/dist/assets/et.ef445219.js +0 -1
  236. package/dist/assets/fa.9a9a21d7.js +0 -1
  237. package/dist/assets/fi.dc730063.js +0 -1
  238. package/dist/assets/fr.011a0e66.js +0 -1
  239. package/dist/assets/fr_BE.4136204b.js +0 -1
  240. package/dist/assets/fr_CA.58f92f20.js +0 -1
  241. package/dist/assets/fr_CH.b7d6ec2c.js +0 -1
  242. package/dist/assets/fr_LU.39b07855.js +0 -1
  243. package/dist/assets/he.9b41d56e.js +0 -1
  244. package/dist/assets/hi.7cb5ad1d.js +0 -1
  245. package/dist/assets/hr.2b28d0ba.js +0 -1
  246. package/dist/assets/hu.c3ac3f70.js +0 -1
  247. package/dist/assets/id.426b2421.js +0 -1
  248. package/dist/assets/it.ae39da3a.js +0 -1
  249. package/dist/assets/it_CH.a563377d.js +0 -1
  250. package/dist/assets/ja.be911ee9.js +0 -1
  251. package/dist/assets/kk.90f2ba89.js +0 -1
  252. package/dist/assets/ko.565a3e63.js +0 -1
  253. package/dist/assets/lt.a282adbc.js +0 -1
  254. package/dist/assets/lv.0e9df9cb.js +0 -1
  255. package/dist/assets/ms.e914c13a.js +0 -1
  256. package/dist/assets/nb.1d73a460.js +0 -1
  257. package/dist/assets/nl.a680abff.js +0 -1
  258. package/dist/assets/nl_BE.a4dc5781.js +0 -1
  259. package/dist/assets/pl.c0276728.js +0 -1
  260. package/dist/assets/pt.9536023e.js +0 -1
  261. package/dist/assets/pt_PT.2736c73a.js +0 -1
  262. package/dist/assets/ro.ffce20e9.js +0 -1
  263. package/dist/assets/ru.34fce129.js +0 -1
  264. package/dist/assets/ru_UA.7b719d26.js +0 -1
  265. package/dist/assets/sk.738988a3.js +0 -1
  266. package/dist/assets/sl.82708a3f.js +0 -1
  267. package/dist/assets/sr.a69c8ac7.js +0 -1
  268. package/dist/assets/sr_Latn.ce4d0563.js +0 -1
  269. package/dist/assets/sv.86262274.js +0 -1
  270. package/dist/assets/th.8ecb41b0.js +0 -1
  271. package/dist/assets/tr.72b9d85d.js +0 -1
  272. package/dist/assets/uk.ed9211ae.js +0 -1
  273. package/dist/assets/vi.9d0fe81c.js +0 -1
  274. package/dist/assets/zh_CN.cad8f95e.js +0 -1
  275. package/dist/assets/zh_HK.6f4cdfe2.js +0 -1
  276. package/dist/assets/zh_SG.4924225d.js +0 -1
  277. package/dist/assets/zh_TW.f3327c83.js +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.14.7](https://github.com/SAP/ui5-webcomponents/compare/v1.14.6...v1.14.7) (2024-01-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **framework:** update openi5/core to 1.120.3 ([#8122](https://github.com/SAP/ui5-webcomponents/issues/8122)) ([727ef13](https://github.com/SAP/ui5-webcomponents/commit/727ef13ab0aed2dc93b9dc185e2341e55992ebc1))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.14.6](https://github.com/SAP/ui5-webcomponents/compare/v1.14.5...v1.14.6) (2023-11-22)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **ui5-calendar:** render the correct length of day names ([#7866](https://github.com/SAP/ui5-webcomponents/issues/7866)) ([d3be843](https://github.com/SAP/ui5-webcomponents/commit/d3be84327be4ed5483102c70e30f774142489257)), closes [#7831](https://github.com/SAP/ui5-webcomponents/issues/7831)
23
+
24
+
25
+
26
+
27
+
6
28
  ## [1.14.5](https://github.com/SAP/ui5-webcomponents/compare/v1.14.4...v1.14.5) (2023-06-26)
7
29
 
8
30
  **Note:** Version bump only for package @ui5/webcomponents
@@ -117,6 +117,13 @@ declare class DayPicker extends CalendarPart implements ICalendarPicker {
117
117
  * @private
118
118
  */
119
119
  _buildDayNames(localeData: LocaleData): void;
120
+ /**
121
+ * Tells if any of the days is more than 4 characters(too long to render).
122
+ * @param { Array<string> } dayNames
123
+ * @returns { boolean }
124
+ * @private
125
+ */
126
+ namesTooLong(dayNames: Array<string>): boolean;
120
127
  onAfterRendering(): void;
121
128
  _onfocusin(): void;
122
129
  _onfocusout(): void;
package/dist/DayPicker.js CHANGED
@@ -153,8 +153,11 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
153
153
  }
154
154
  let dayOfTheWeek;
155
155
  const aDayNamesWide = localeData.getDays("wide", this._primaryCalendarType);
156
- const aDayNamesAbbreviated = localeData.getDays("abbreviated", this._primaryCalendarType);
156
+ let aDayNamesAbbreviated = localeData.getDays("abbreviated", this._primaryCalendarType);
157
157
  let dayName;
158
+ if (this.namesTooLong(aDayNamesAbbreviated)) {
159
+ aDayNamesAbbreviated = localeData.getDays("narrow", this._primaryCalendarType);
160
+ }
158
161
  this._dayNames = [];
159
162
  this._dayNames.push({
160
163
  classes: "ui5-dp-dayname",
@@ -177,6 +180,15 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
177
180
  this._dayNames.shift();
178
181
  }
179
182
  }
183
+ /**
184
+ * Tells if any of the days is more than 4 characters(too long to render).
185
+ * @param { Array<string> } dayNames
186
+ * @returns { boolean }
187
+ * @private
188
+ */
189
+ namesTooLong(dayNames) {
190
+ return dayNames.some(dayName => dayName.length > 3);
191
+ }
180
192
  onAfterRendering() {
181
193
  if (this._autoFocus && !this._hidden) {
182
194
  this.focus();
@@ -1 +1 @@
1
- {"version":3,"file":"DayPicker.js","sourceRoot":"","sources":["../src/DayPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisSpace,\n\tisSpaceShift,\n\tisEnter,\n\tisEnterShift,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageDownShiftCtrl,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport calculateWeekNumber from \"@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./generated/templates/DayPickerTemplate.lit.js\";\n\n// Styles\nimport dayPickerCSS from \"./generated/themes/DayPicker.css.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst DAYS_IN_WEEK = 7;\n\ntype DayName = {\n\tname: string,\n\tclasses: string,\n\tultraShortName?: string,\n}\n\ntype Day = {\n\ttimestamp: string,\n\tday: number,\n\tfocusRef: boolean,\n\t_tabIndex: string,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\tariaLabel: string,\n\tariaSelected: string,\n\tariaDisabled: string | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n}\n\ntype WeekNumber = {\n\tweekNum: number,\n\tisHidden: boolean,\n}\n\ntype Week = Array<Day | WeekNumber>;\n\ntype DayPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp?: number,\n}\n\ntype DayPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Represents the days inside a single month view of the <code>ui5-calendar</code> component.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.DayPicker\n * @extends sap.ui.webc.main.CalendarPart\n * @tagname ui5-daypicker\n * @public\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n * @public\n * @event sap.ui.webc.main.DayPicker#change\n */\n@event(\"change\")\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n * @public\n * @event sap.ui.webc.main.DayPicker#navigate\n */\n@event(\"navigate\")\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\t/**\n\t * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.\n\t * @type {array}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectedDates\n\t * @public\n\t */\n\t@property({\n\t\tvalidator: Integer,\n\t\tmultiple: true,\n\t\tcompareValues: true,\n\t})\n\tselectedDates!: Array<number>;\n\n\t/**\n\t * Defines the type of selection used in the day picker component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t * @type {sap.ui.webc.main.types.CalendarSelectionMode}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectionMode\n\t * @defaultvalue \"Single\"\n\t * @public\n\t */\n\t@property({ type: CalendarSelectionMode, defaultValue: CalendarSelectionMode.Single })\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:<b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.DayPicker.prototype.hideWeekNumbers\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * @type {object}\n\t * @private\n\t */\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_weeks!: Array<Week>;\n\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_dayNames!: Array<DayName>;\n\n\t/**\n\t * When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself\n\t * @type {boolean}\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden!: boolean;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first day in the range is selected, this is the currently hovered (when using mouse) or focused (when using keyboard) day by the user\n\t * @private\n\t */\n\t @property()\n\t_secondTimestamp?: number;\n\n\t_autoFocus?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._buildWeeks(localeData);\n\t\tthis._buildDayNames(localeData);\n\t}\n\n\t/**\n\t * Builds the \"_weeks\" object that represents the month.\n\t * @param { LocaleData }localeData\n\t * @private\n\t */\n\t_buildWeeks(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tthis._weeks = [];\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\t\tconst monthsNames = localeData.getMonths(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tconst secondaryMonthsNames = this.hasSecondaryCalendarType ? localeData.getMonths(\"wide\", this.secondaryCalendarType) as Array<string> : [];\n\t\tconst nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);\n\t\tconst todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);\n\t\tconst tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times\n\t\tconst todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once\n\t\tconst calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf\n\t\tconst minDate = this._minDate; // store the _minDate (expensive getter)\n\t\tconst maxDate = this._maxDate; // store the _maxDate (expensive getter)\n\n\t\tconst tempSecondDate = this.hasSecondaryCalendarType ? this._getSecondaryDay(tempDate) : undefined;\n\n\t\tlet week: Week = [];\n\t\tfor (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping\n\t\t\tconst timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it\n\n\t\t\tlet dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;\n\t\t\tif (dayOfTheWeek < 0) {\n\t\t\t\tdayOfTheWeek += DAYS_IN_WEEK;\n\t\t\t}\n\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();\n\t\t\tconst isSelected = this._isDaySelected(timestamp);\n\t\t\tconst isSelectedBetween = this._isDayInsideSelectionRange(timestamp);\n\t\t\tconst isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();\n\t\t\tconst isWeekend = this._isWeekend(tempDate);\n\t\t\tconst isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();\n\t\t\tconst isToday = tempDate.isSame(todayDate);\n\t\t\tconst isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;\n\n\t\t\tconst nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : \"\";\n\t\t\tconst todayAriaLabel = isToday ? `${todayLabel} ` : \"\";\n\n\t\t\tconst tempSecondDateNumber = tempSecondDate ? tempSecondDate.getDate() : \"\";\n\t\t\tconst tempSecondYearNumber = tempSecondDate ? tempSecondDate.getYear() : \"\";\n\t\t\tconst secondaryMonthsNamesString = secondaryMonthsNames.length > 0 ? secondaryMonthsNames[tempSecondDate!.getMonth()] : \"\";\n\n\t\t\tconst ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber}`\n\t\t\t\t: `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;\n\n\t\t\tconst day: Day = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? \"0\" : \"-1\",\n\t\t\t\tselected: isSelected,\n\t\t\t\tday: tempDate.getDate(),\n\t\t\t\tsecondDay: this.hasSecondaryCalendarType ? (tempSecondDate as CalendarDate).getDate() : undefined,\n\t\t\t\t_isSecondaryCalendarType: this.hasSecondaryCalendarType,\n\t\t\t\tclasses: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected ? \"true\" : \"false\",\n\t\t\t\tariaDisabled: isOtherMonth ? \"true\" : undefined,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t};\n\n\t\t\tif (isFirstDayOfWeek) {\n\t\t\t\tday.classes += \" ui5-dp-firstday\";\n\t\t\t}\n\n\t\t\tif (isSelected) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected-between\";\n\t\t\t}\n\n\t\t\tif (isToday) {\n\t\t\t\tday.classes += \" ui5-dp-item--now\";\n\t\t\t}\n\n\t\t\tif (isOtherMonth) {\n\t\t\t\tday.classes += \" ui5-dp-item--othermonth\";\n\t\t\t}\n\n\t\t\tif (isWeekend) {\n\t\t\t\tday.classes += \" ui5-dp-item--weeekend\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tday.classes += \" ui5-dp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tday.classes += \" ui5-dp-item--withsecondtype\";\n\t\t\t}\n\n\t\t\tweek.push(day);\n\n\t\t\tif (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),\n\t\t\t\t\tisHidden: this.shouldHideWeekNumbers,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers\n\t\t\t\tthis._weeks.push(week);\n\t\t\t\tweek = [];\n\t\t\t}\n\n\t\t\ttempDate.setDate(tempDate.getDate() + 1);\n\t\t\tif (this.hasSecondaryCalendarType && tempSecondDate) {\n\t\t\t\ttempSecondDate.setDate(tempSecondDate.getDate() + 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t * @param { LocaleData } localeData\n\t * @private\n\t */\n\t_buildDayNames(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tlet dayOfTheWeek;\n\n\t\tconst aDayNamesWide = localeData.getDays(\"wide\", this._primaryCalendarType);\n\t\tconst aDayNamesAbbreviated = localeData.getDays(\"abbreviated\", this._primaryCalendarType);\n\t\tlet dayName;\n\n\t\tthis._dayNames = [];\n\t\tthis._dayNames.push({\n\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\tname: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),\n\t\t});\n\t\tfor (let i = 0; i < DAYS_IN_WEEK; i++) {\n\t\t\tdayOfTheWeek = i + this._getFirstDayOfWeek();\n\t\t\tif (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed\n\t\t\t\tdayOfTheWeek -= DAYS_IN_WEEK;\n\t\t\t}\n\t\t\tdayName = {\n\t\t\t\tname: aDayNamesWide[dayOfTheWeek],\n\t\t\t\tultraShortName: aDayNamesAbbreviated[dayOfTheWeek],\n\t\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\t};\n\n\t\t\tthis._dayNames.push(dayName);\n\t\t}\n\n\t\tthis._dayNames[1].classes += \" ui5-dp-firstday\";\n\n\t\tif (this.shouldHideWeekNumbers) {\n\t\t\tthis._dayNames.shift();\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._autoFocus && !this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis._autoFocus = false;\n\t}\n\n\t/**\n\t * Tells if the day is selected (dark blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDaySelected(timestamp: number): boolean {\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\treturn timestamp === this.selectedDates[0];\n\t\t}\n\n\t\t// Multiple, Range\n\t\treturn this.selectedDates.includes(timestamp);\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDayInsideSelectionRange(timestamp: number): boolean {\n\t\t// No selection at all (or not in range selection mode)\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\t// Two dates selected - stable range\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t * @param { Event} e\n\t * @param { boolean} isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)\n\t * @private\n\t */\n\t_selectDate(e: Event, isShift: boolean) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!this._isDayPressed(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\tthis.selectedDates = [timestamp];\n\t\t} else if (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\tif (this.selectedDates.length > 0 && isShift) {\n\t\t\t\tthis._multipleSelection(timestamp);\n\t\t\t} else {\n\t\t\t\tthis._toggleTimestampInSelection(timestamp);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp]\tas Array<number> : [timestamp] as Array<number>;\n\t\t}\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t/**\n\t * Selects/deselects the whole row (week).\n\t * @private\n\t */\n\t_selectWeek() {\n\t\tthis._weeks.forEach((week: Week) => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex((item: Day) => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst notAllDaysOfThisWeekSelected = _week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));\n\t\t\t\tif (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._addTimestampToSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t} else { // only if all days of this week are selected, deselect them\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._removeTimestampFromSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_toggleTimestampInSelection(timestamp: number) {\n\t\tif (this.selectedDates.includes(timestamp)) {\n\t\t\tthis._removeTimestampFromSelection(timestamp);\n\t\t} else {\n\t\t\tthis._addTimestampToSelection(timestamp);\n\t\t}\n\t}\n\n\t_addTimestampToSelection(timestamp: number) {\n\t\tif (!this.selectedDates.includes(timestamp)) {\n\t\t\tthis.selectedDates = [...this.selectedDates, timestamp];\n\t\t}\n\t}\n\n\t_removeTimestampFromSelection(timestamp: number) {\n\t\tthis.selectedDates = this.selectedDates.filter(value => value !== timestamp);\n\t}\n\n\t/**\n\t * Called when at least one day is selected and the user presses \"Shift\".\n\t * @param { number } timestamp\n\t * @private\n\t */\n\t_multipleSelection(timestamp: number) {\n\t\tconst min = Math.min(...this.selectedDates);\n\t\tconst max = Math.max(...this.selectedDates);\n\t\tlet start;\n\t\tlet end;\n\t\tlet toggle = false;\n\n\t\tif (timestamp < min) {\n\t\t\tstart = timestamp;\n\t\t\tend = min;\n\t\t} else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused\n\t\t\tconst distanceToMin = Math.abs(timestamp - min);\n\t\t\tconst distanceToMax = Math.abs(timestamp - max);\n\n\t\t\tif (distanceToMin < distanceToMax) {\n\t\t\t\tstart = timestamp;\n\t\t\t\tend = max;\n\t\t\t} else {\n\t\t\t\tstart = min;\n\t\t\t\tend = timestamp;\n\t\t\t}\n\t\t\ttoggle = true;\n\t\t} else {\n\t\t\tstart = max;\n\t\t\tend = timestamp;\n\t\t}\n\n\t\tconst startDate = CalendarDate.fromTimestamp(start * 1000);\n\t\tconst endDate = CalendarDate.fromTimestamp(end * 1000);\n\n\t\twhile (startDate.valueOf() <= endDate.valueOf()) {\n\t\t\tthis[toggle ? \"_toggleTimestampInSelection\" : \"_addTimestampToSelection\"](startDate.valueOf() / 1000);\n\t\t\tstartDate.setDate(startDate.getDate() + 1);\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-dp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e) || isEnterShift(e)) {\n\t\t\tthis._selectDate(e, isEnterShift(e));\n\t\t} else if (isSpace(e) || isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"day\");\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\");\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\");\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\");\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"month\");\n\t\t} else if (isPageUpShift(e) || isPageUpAlt(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"year\");\n\t\t} else if (isPageDownShift(e) || isPageDownAlt(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"year\");\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(-10, \"year\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(10, \"year\");\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setDate(1); // Set the first day of the month\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(tempDate.getMonth() + 1);\n\t\t\ttempDate.setDate(0); // Set the last day of the month (0th day of next month)\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// Even if Space+Shift was pressed, ignore the shift unless in Multiple selection\n\t\tif (isSpace(e) || (isSpaceShift(e) && this.selectionMode !== CalendarSelectionMode.Multiple)) {\n\t\t\tthis._selectDate(e, false);\n\t\t} else if (isSpaceShift(e)) {\n\t\t\tthis._selectWeek();\n\t\t}\n\t}\n\n\t/**\n\t * Click is the same as \"Enter\".\n\t * <b>Note:</b> \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectDate(e, e.shiftKey);\n\t}\n\n\t/**\n\t * Called upon \"Home\" or \"End\" - moves the focus to the first or last item in the row.\n\t * @param { boolean } homePressed\n\t * @private\n\t */\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._weeks.forEach(week => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex(item => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week\n\t\t\t\tthis._setTimestamp(parseInt(_week[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * <b>Note:</b> same as for \"PageUp\"\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\");\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * <b>Note:</b> same as for \"PageDown\"\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\");\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t * @param { number } amount\n\t * @param { string } unit\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param { number } value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * During range selection, when the user is navigating with the keyboard,\n\t * the currently focused day is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\tget shouldHideWeekNumbers() {\n\t\tif (this._primaryCalendarType !== CalendarType.Gregorian) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.hideWeekNumbers;\n\t}\n\n\tget hasSecondaryCalendarType() {\n\t\treturn !!this.secondaryCalendarType;\n\t}\n\n\t_isWeekend(oDate: CalendarDate): boolean {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\tconst iWeekDay = oDate.getDay(),\n\t\t\tiWeekendStart = localeData.getWeekendStart(),\n\t\t\tiWeekendEnd = localeData.getWeekendEnd();\n\n\t\treturn (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)\n\t\t\t|| (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));\n\t}\n\n\t_isDayPressed(target: HTMLElement): boolean {\n\t\tconst targetParent = target.parentNode as HTMLElement;\n\t\treturn (target.className.indexOf(\"ui5-dp-item\") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains(\"ui5-dp-item\"));\n\t}\n\n\t_getSecondaryDay(tempDate: CalendarDate): CalendarDate {\n\t\treturn new CalendarDate(tempDate, this.secondaryCalendarType);\n\t}\n\n\t_getFirstDay(): CalendarDate {\n\t\tlet daysFromPreviousMonth;\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\n\t\t// determine weekday of first day in month\n\t\tconst firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\tfirstDay.setDate(1);\n\n\t\tdaysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;\n\n\t\tif (daysFromPreviousMonth < 0) {\n\t\t\tdaysFromPreviousMonth = 7 + daysFromPreviousMonth;\n\t\t}\n\n\t\tif (daysFromPreviousMonth > 0) {\n\t\t\tfirstDay.setDate(1 - daysFromPreviousMonth);\n\t\t}\n\n\t\treturn firstDay;\n\t}\n\n\t_getFirstDayOfWeek(): number {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst confFirstDayOfWeek = getFirstDayOfWeek();\n\t\treturn Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek! : localeData.getFirstDayOfWeek();\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoledescription() {\n\t\treturn this.hasSecondaryCalendarType\n\t\t\t? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType as string} calendar`\n\t\t\t: `${this._primaryCalendarType} calendar`;\n\t}\n}\n\nDayPicker.define();\n\nexport default DayPicker;\nexport type {\n\tDayPickerNavigateEventDetail,\n\tDayPickerChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"DayPicker.js","sourceRoot":"","sources":["../src/DayPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tisSpace,\n\tisSpaceShift,\n\tisEnter,\n\tisEnterShift,\n\tisUp,\n\tisDown,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageUpAlt,\n\tisPageUpShiftCtrl,\n\tisPageDownShift,\n\tisPageDownAlt,\n\tisPageDownShiftCtrl,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport calculateWeekNumber from \"@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./generated/templates/DayPickerTemplate.lit.js\";\n\n// Styles\nimport dayPickerCSS from \"./generated/themes/DayPicker.css.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst DAYS_IN_WEEK = 7;\n\ntype DayName = {\n\tname: string,\n\tclasses: string,\n\tultraShortName?: string,\n}\n\ntype Day = {\n\ttimestamp: string,\n\tday: number,\n\tfocusRef: boolean,\n\t_tabIndex: string,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\tariaLabel: string,\n\tariaSelected: string,\n\tariaDisabled: string | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n}\n\ntype WeekNumber = {\n\tweekNum: number,\n\tisHidden: boolean,\n}\n\ntype Week = Array<Day | WeekNumber>;\n\ntype DayPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp?: number,\n}\n\ntype DayPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * @class\n *\n * Represents the days inside a single month view of the <code>ui5-calendar</code> component.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.DayPicker\n * @extends sap.ui.webc.main.CalendarPart\n * @tagname ui5-daypicker\n * @public\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n * @public\n * @event sap.ui.webc.main.DayPicker#change\n */\n@event(\"change\")\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n * @public\n * @event sap.ui.webc.main.DayPicker#navigate\n */\n@event(\"navigate\")\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\t/**\n\t * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.\n\t * @type {array}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectedDates\n\t * @public\n\t */\n\t@property({\n\t\tvalidator: Integer,\n\t\tmultiple: true,\n\t\tcompareValues: true,\n\t})\n\tselectedDates!: Array<number>;\n\n\t/**\n\t * Defines the type of selection used in the day picker component.\n\t * Accepted property values are:<br>\n\t * <ul>\n\t * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>\n\t * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>\n\t * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>\n\t * </ul>\n\t * @type {sap.ui.webc.main.types.CalendarSelectionMode}\n\t * @name sap.ui.webc.main.DayPicker.prototype.selectionMode\n\t * @defaultvalue \"Single\"\n\t * @public\n\t */\n\t@property({ type: CalendarSelectionMode, defaultValue: CalendarSelectionMode.Single })\n\tselectionMode!: `${CalendarSelectionMode}`;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t * <br><br>\n\t *\n\t * <b>Note:<b> For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.DayPicker.prototype.hideWeekNumbers\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * @type {object}\n\t * @private\n\t */\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_weeks!: Array<Week>;\n\n\t@property({\n\t\ttype: Object,\n\t\tmultiple: true,\n\t})\n\t_dayNames!: Array<DayName>;\n\n\t/**\n\t * When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself\n\t * @type {boolean}\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden!: boolean;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first day in the range is selected, this is the currently hovered (when using mouse) or focused (when using keyboard) day by the user\n\t * @private\n\t */\n\t @property()\n\t_secondTimestamp?: number;\n\n\t_autoFocus?: boolean;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._buildWeeks(localeData);\n\t\tthis._buildDayNames(localeData);\n\t}\n\n\t/**\n\t * Builds the \"_weeks\" object that represents the month.\n\t * @param { LocaleData }localeData\n\t * @private\n\t */\n\t_buildWeeks(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tthis._weeks = [];\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\t\tconst monthsNames = localeData.getMonths(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tconst secondaryMonthsNames = this.hasSecondaryCalendarType ? localeData.getMonths(\"wide\", this.secondaryCalendarType) as Array<string> : [];\n\t\tconst nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);\n\t\tconst todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);\n\t\tconst tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times\n\t\tconst todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once\n\t\tconst calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf\n\t\tconst minDate = this._minDate; // store the _minDate (expensive getter)\n\t\tconst maxDate = this._maxDate; // store the _maxDate (expensive getter)\n\n\t\tconst tempSecondDate = this.hasSecondaryCalendarType ? this._getSecondaryDay(tempDate) : undefined;\n\n\t\tlet week: Week = [];\n\t\tfor (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping\n\t\t\tconst timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it\n\n\t\t\tlet dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;\n\t\t\tif (dayOfTheWeek < 0) {\n\t\t\t\tdayOfTheWeek += DAYS_IN_WEEK;\n\t\t\t}\n\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();\n\t\t\tconst isSelected = this._isDaySelected(timestamp);\n\t\t\tconst isSelectedBetween = this._isDayInsideSelectionRange(timestamp);\n\t\t\tconst isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();\n\t\t\tconst isWeekend = this._isWeekend(tempDate);\n\t\t\tconst isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();\n\t\t\tconst isToday = tempDate.isSame(todayDate);\n\t\t\tconst isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;\n\n\t\t\tconst nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : \"\";\n\t\t\tconst todayAriaLabel = isToday ? `${todayLabel} ` : \"\";\n\n\t\t\tconst tempSecondDateNumber = tempSecondDate ? tempSecondDate.getDate() : \"\";\n\t\t\tconst tempSecondYearNumber = tempSecondDate ? tempSecondDate.getYear() : \"\";\n\t\t\tconst secondaryMonthsNamesString = secondaryMonthsNames.length > 0 ? secondaryMonthsNames[tempSecondDate!.getMonth()] : \"\";\n\n\t\t\tconst ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber}`\n\t\t\t\t: `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;\n\n\t\t\tconst day: Day = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? \"0\" : \"-1\",\n\t\t\t\tselected: isSelected,\n\t\t\t\tday: tempDate.getDate(),\n\t\t\t\tsecondDay: this.hasSecondaryCalendarType ? (tempSecondDate as CalendarDate).getDate() : undefined,\n\t\t\t\t_isSecondaryCalendarType: this.hasSecondaryCalendarType,\n\t\t\t\tclasses: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected ? \"true\" : \"false\",\n\t\t\t\tariaDisabled: isOtherMonth ? \"true\" : undefined,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t};\n\n\t\t\tif (isFirstDayOfWeek) {\n\t\t\t\tday.classes += \" ui5-dp-firstday\";\n\t\t\t}\n\n\t\t\tif (isSelected) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tday.classes += \" ui5-dp-item--selected-between\";\n\t\t\t}\n\n\t\t\tif (isToday) {\n\t\t\t\tday.classes += \" ui5-dp-item--now\";\n\t\t\t}\n\n\t\t\tif (isOtherMonth) {\n\t\t\t\tday.classes += \" ui5-dp-item--othermonth\";\n\t\t\t}\n\n\t\t\tif (isWeekend) {\n\t\t\t\tday.classes += \" ui5-dp-item--weeekend\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tday.classes += \" ui5-dp-item--disabled\";\n\t\t\t}\n\n\t\t\tif (this.hasSecondaryCalendarType) {\n\t\t\t\tday.classes += \" ui5-dp-item--withsecondtype\";\n\t\t\t}\n\n\t\t\tweek.push(day);\n\n\t\t\tif (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),\n\t\t\t\t\tisHidden: this.shouldHideWeekNumbers,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers\n\t\t\t\tthis._weeks.push(week);\n\t\t\t\tweek = [];\n\t\t\t}\n\n\t\t\ttempDate.setDate(tempDate.getDate() + 1);\n\t\t\tif (this.hasSecondaryCalendarType && tempSecondDate) {\n\t\t\t\ttempSecondDate.setDate(tempSecondDate.getDate() + 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t * @param { LocaleData } localeData\n\t * @private\n\t */\n\t_buildDayNames(localeData: LocaleData) {\n\t\tif (this._hidden) {\n\t\t\treturn; // Optimization to not do any work unless the current picker\n\t\t}\n\n\t\tlet dayOfTheWeek;\n\n\t\tconst aDayNamesWide = localeData.getDays(\"wide\", this._primaryCalendarType) as Array<string>;\n\t\tlet aDayNamesAbbreviated = localeData.getDays(\"abbreviated\", this._primaryCalendarType) as Array<string>;\n\t\tlet dayName;\n\n\t\tif (this.namesTooLong(aDayNamesAbbreviated)) {\n\t\t\taDayNamesAbbreviated = localeData.getDays(\"narrow\", this._primaryCalendarType) as Array<string>;\n\t\t}\n\n\t\tthis._dayNames = [];\n\t\tthis._dayNames.push({\n\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\tname: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),\n\t\t});\n\t\tfor (let i = 0; i < DAYS_IN_WEEK; i++) {\n\t\t\tdayOfTheWeek = i + this._getFirstDayOfWeek();\n\t\t\tif (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed\n\t\t\t\tdayOfTheWeek -= DAYS_IN_WEEK;\n\t\t\t}\n\t\t\tdayName = {\n\t\t\t\tname: aDayNamesWide[dayOfTheWeek],\n\t\t\t\tultraShortName: aDayNamesAbbreviated[dayOfTheWeek],\n\t\t\t\tclasses: \"ui5-dp-dayname\",\n\t\t\t};\n\t\t\tthis._dayNames.push(dayName);\n\t\t}\n\t\tthis._dayNames[1].classes += \" ui5-dp-firstday\";\n\t\tif (this.shouldHideWeekNumbers) {\n\t\t\tthis._dayNames.shift();\n\t\t}\n\t}\n\n\t/**\n\t * Tells if any of the days is more than 4 characters(too long to render).\n\t * @param { Array<string> } dayNames\n\t * @returns { boolean }\n\t * @private\n\t */\n\tnamesTooLong(dayNames: Array<string>): boolean {\n\t\treturn dayNames.some(dayName => dayName.length > 3);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._autoFocus && !this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis._autoFocus = false;\n\t}\n\n\t/**\n\t * Tells if the day is selected (dark blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDaySelected(timestamp: number): boolean {\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\treturn timestamp === this.selectedDates[0];\n\t\t}\n\n\t\t// Multiple, Range\n\t\treturn this.selectedDates.includes(timestamp);\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t * @param { number } timestamp\n\t * @returns { boolean }\n\t * @private\n\t */\n\t_isDayInsideSelectionRange(timestamp: number): boolean {\n\t\t// No selection at all (or not in range selection mode)\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\t// Two dates selected - stable range\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t * @param { Event} e\n\t * @param { boolean} isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)\n\t * @private\n\t */\n\t_selectDate(e: Event, isShift: boolean) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!this._isDayPressed(target)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Single) {\n\t\t\tthis.selectedDates = [timestamp];\n\t\t} else if (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\tif (this.selectedDates.length > 0 && isShift) {\n\t\t\t\tthis._multipleSelection(timestamp);\n\t\t\t} else {\n\t\t\t\tthis._toggleTimestampInSelection(timestamp);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp]\tas Array<number> : [timestamp] as Array<number>;\n\t\t}\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t/**\n\t * Selects/deselects the whole row (week).\n\t * @private\n\t */\n\t_selectWeek() {\n\t\tthis._weeks.forEach((week: Week) => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex((item: Day) => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst notAllDaysOfThisWeekSelected = _week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));\n\t\t\t\tif (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._addTimestampToSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t} else { // only if all days of this week are selected, deselect them\n\t\t\t\t\t_week.filter(item => item.timestamp).forEach(item => {\n\t\t\t\t\t\tthis._removeTimestampFromSelection(parseInt(item.timestamp));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.fireEvent<DayPickerChangeEventDetail>(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_toggleTimestampInSelection(timestamp: number) {\n\t\tif (this.selectedDates.includes(timestamp)) {\n\t\t\tthis._removeTimestampFromSelection(timestamp);\n\t\t} else {\n\t\t\tthis._addTimestampToSelection(timestamp);\n\t\t}\n\t}\n\n\t_addTimestampToSelection(timestamp: number) {\n\t\tif (!this.selectedDates.includes(timestamp)) {\n\t\t\tthis.selectedDates = [...this.selectedDates, timestamp];\n\t\t}\n\t}\n\n\t_removeTimestampFromSelection(timestamp: number) {\n\t\tthis.selectedDates = this.selectedDates.filter(value => value !== timestamp);\n\t}\n\n\t/**\n\t * Called when at least one day is selected and the user presses \"Shift\".\n\t * @param { number } timestamp\n\t * @private\n\t */\n\t_multipleSelection(timestamp: number) {\n\t\tconst min = Math.min(...this.selectedDates);\n\t\tconst max = Math.max(...this.selectedDates);\n\t\tlet start;\n\t\tlet end;\n\t\tlet toggle = false;\n\n\t\tif (timestamp < min) {\n\t\t\tstart = timestamp;\n\t\t\tend = min;\n\t\t} else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused\n\t\t\tconst distanceToMin = Math.abs(timestamp - min);\n\t\t\tconst distanceToMax = Math.abs(timestamp - max);\n\n\t\t\tif (distanceToMin < distanceToMax) {\n\t\t\t\tstart = timestamp;\n\t\t\t\tend = max;\n\t\t\t} else {\n\t\t\t\tstart = min;\n\t\t\t\tend = timestamp;\n\t\t\t}\n\t\t\ttoggle = true;\n\t\t} else {\n\t\t\tstart = max;\n\t\t\tend = timestamp;\n\t\t}\n\n\t\tconst startDate = CalendarDate.fromTimestamp(start * 1000);\n\t\tconst endDate = CalendarDate.fromTimestamp(end * 1000);\n\n\t\twhile (startDate.valueOf() <= endDate.valueOf()) {\n\t\t\tthis[toggle ? \"_toggleTimestampInSelection\" : \"_addTimestampToSelection\"](startDate.valueOf() / 1000);\n\t\t\tstartDate.setDate(startDate.getDate() + 1);\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-dp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e) || isEnterShift(e)) {\n\t\t\tthis._selectDate(e, isEnterShift(e));\n\t\t} else if (isSpace(e) || isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"day\");\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\");\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\");\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\");\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"month\");\n\t\t} else if (isPageUpShift(e) || isPageUpAlt(e)) {\n\t\t\tthis._modifyTimestampBy(-1, \"year\");\n\t\t} else if (isPageDownShift(e) || isPageDownAlt(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"year\");\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(-10, \"year\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\tthis._modifyTimestampBy(10, \"year\");\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setDate(1); // Set the first day of the month\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tconst tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(tempDate.getMonth() + 1);\n\t\t\ttempDate.setDate(0); // Set the last day of the month (0th day of next month)\n\t\t\tthis._setTimestamp(tempDate.valueOf() / 1000);\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\t// Even if Space+Shift was pressed, ignore the shift unless in Multiple selection\n\t\tif (isSpace(e) || (isSpaceShift(e) && this.selectionMode !== CalendarSelectionMode.Multiple)) {\n\t\t\tthis._selectDate(e, false);\n\t\t} else if (isSpaceShift(e)) {\n\t\t\tthis._selectWeek();\n\t\t}\n\t}\n\n\t/**\n\t * Click is the same as \"Enter\".\n\t * <b>Note:</b> \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t * @param { MouseEvent } e\n\t * @private\n\t */\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectDate(e, e.shiftKey);\n\t}\n\n\t/**\n\t * Called upon \"Home\" or \"End\" - moves the focus to the first or last item in the row.\n\t * @param { boolean } homePressed\n\t * @private\n\t */\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._weeks.forEach(week => {\n\t\t\tconst _week = week as Array<Day>;\n\t\t\tconst dayInThisWeek = _week.findIndex(item => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);\n\t\t\t\treturn date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();\n\t\t\t}) !== -1;\n\t\t\tif (dayInThisWeek) { // The current day is in this week\n\t\t\t\tconst index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week\n\t\t\t\tthis._setTimestamp(parseInt(_week[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t * @returns { boolean }\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * <b>Note:</b> same as for \"PageUp\"\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\");\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * <b>Note:</b> same as for \"PageDown\"\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\");\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t * @param { number } amount\n\t * @param { string } unit\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param { number } value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireEvent<DayPickerNavigateEventDetail>(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * During range selection, when the user is navigating with the keyboard,\n\t * the currently focused day is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\tget shouldHideWeekNumbers() {\n\t\tif (this._primaryCalendarType !== CalendarType.Gregorian) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn this.hideWeekNumbers;\n\t}\n\n\tget hasSecondaryCalendarType() {\n\t\treturn !!this.secondaryCalendarType;\n\t}\n\n\t_isWeekend(oDate: CalendarDate): boolean {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\tconst iWeekDay = oDate.getDay(),\n\t\t\tiWeekendStart = localeData.getWeekendStart(),\n\t\t\tiWeekendEnd = localeData.getWeekendEnd();\n\n\t\treturn (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)\n\t\t\t|| (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));\n\t}\n\n\t_isDayPressed(target: HTMLElement): boolean {\n\t\tconst targetParent = target.parentNode as HTMLElement;\n\t\treturn (target.className.indexOf(\"ui5-dp-item\") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains(\"ui5-dp-item\"));\n\t}\n\n\t_getSecondaryDay(tempDate: CalendarDate): CalendarDate {\n\t\treturn new CalendarDate(tempDate, this.secondaryCalendarType);\n\t}\n\n\t_getFirstDay(): CalendarDate {\n\t\tlet daysFromPreviousMonth;\n\n\t\tconst firstDayOfWeek = this._getFirstDayOfWeek();\n\n\t\t// determine weekday of first day in month\n\t\tconst firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);\n\t\tfirstDay.setDate(1);\n\n\t\tdaysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;\n\n\t\tif (daysFromPreviousMonth < 0) {\n\t\t\tdaysFromPreviousMonth = 7 + daysFromPreviousMonth;\n\t\t}\n\n\t\tif (daysFromPreviousMonth > 0) {\n\t\t\tfirstDay.setDate(1 - daysFromPreviousMonth);\n\t\t}\n\n\t\treturn firstDay;\n\t}\n\n\t_getFirstDayOfWeek(): number {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst confFirstDayOfWeek = getFirstDayOfWeek();\n\t\treturn Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek! : localeData.getFirstDayOfWeek();\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoledescription() {\n\t\treturn this.hasSecondaryCalendarType\n\t\t\t? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType as string} calendar`\n\t\t\t: `${this._primaryCalendarType} calendar`;\n\t}\n}\n\nDayPicker.define();\n\nexport default DayPicker;\nexport type {\n\tDayPickerNavigateEventDetail,\n\tDayPickerChangeEventDetail,\n};\n"]}