@ui5/webcomponents 2.14.0-rc.7 → 2.15.0-rc.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 (585) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +7 -7
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/BreadcrumbsTemplate.js +1 -1
  5. package/dist/BreadcrumbsTemplate.js.map +1 -1
  6. package/dist/Calendar.d.ts +25 -2
  7. package/dist/Calendar.js +47 -16
  8. package/dist/Calendar.js.map +1 -1
  9. package/dist/CalendarHeaderTemplate.js +4 -4
  10. package/dist/CalendarHeaderTemplate.js.map +1 -1
  11. package/dist/DayPicker.d.ts +2 -0
  12. package/dist/DayPicker.js +19 -2
  13. package/dist/DayPicker.js.map +1 -1
  14. package/dist/List.d.ts +11 -7
  15. package/dist/List.js +49 -35
  16. package/dist/List.js.map +1 -1
  17. package/dist/ListTemplate.js +1 -1
  18. package/dist/ListTemplate.js.map +1 -1
  19. package/dist/MultiInput.js +4 -1
  20. package/dist/MultiInput.js.map +1 -1
  21. package/dist/TabContainerTemplate.js +2 -2
  22. package/dist/TabContainerTemplate.js.map +1 -1
  23. package/dist/ToolbarSelect.d.ts +20 -0
  24. package/dist/ToolbarSelect.js +34 -1
  25. package/dist/ToolbarSelect.js.map +1 -1
  26. package/dist/ToolbarSelectTemplate.js +3 -2
  27. package/dist/ToolbarSelectTemplate.js.map +1 -1
  28. package/dist/css/themes/Avatar.css +1 -1
  29. package/dist/css/themes/AvatarGroup.css +1 -1
  30. package/dist/css/themes/Bar.css +1 -1
  31. package/dist/css/themes/Breadcrumbs.css +1 -1
  32. package/dist/css/themes/BusyIndicator.css +1 -1
  33. package/dist/css/themes/Button.css +1 -1
  34. package/dist/css/themes/ButtonBadge.css +1 -1
  35. package/dist/css/themes/Calendar.css +1 -1
  36. package/dist/css/themes/CalendarHeader.css +1 -1
  37. package/dist/css/themes/CalendarLegend.css +1 -1
  38. package/dist/css/themes/CalendarLegendItem.css +1 -1
  39. package/dist/css/themes/Card.css +1 -1
  40. package/dist/css/themes/CardHeader.css +1 -1
  41. package/dist/css/themes/Carousel.css +1 -1
  42. package/dist/css/themes/CheckBox.css +1 -1
  43. package/dist/css/themes/ColorPalette.css +1 -1
  44. package/dist/css/themes/ColorPaletteItem.css +1 -1
  45. package/dist/css/themes/ColorPalettePopover.css +1 -1
  46. package/dist/css/themes/ColorPicker.css +1 -1
  47. package/dist/css/themes/ComboBox.css +1 -1
  48. package/dist/css/themes/ComboBoxItem.css +1 -1
  49. package/dist/css/themes/DatePicker.css +1 -1
  50. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  51. package/dist/css/themes/DayPicker.css +1 -1
  52. package/dist/css/themes/Dialog.css +1 -1
  53. package/dist/css/themes/DynamicDateRange.css +1 -1
  54. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  55. package/dist/css/themes/FileUploader.css +1 -1
  56. package/dist/css/themes/Form.css +1 -1
  57. package/dist/css/themes/FormItem.css +1 -1
  58. package/dist/css/themes/FormItemSpan.css +1 -1
  59. package/dist/css/themes/GrowingButton.css +1 -1
  60. package/dist/css/themes/Icon.css +1 -1
  61. package/dist/css/themes/Input.css +1 -1
  62. package/dist/css/themes/InputIcon.css +1 -1
  63. package/dist/css/themes/InputSharedStyles.css +1 -1
  64. package/dist/css/themes/Link.css +1 -1
  65. package/dist/css/themes/List.css +1 -1
  66. package/dist/css/themes/ListItem.css +1 -1
  67. package/dist/css/themes/ListItemBase.css +1 -1
  68. package/dist/css/themes/ListItemCustom.css +1 -1
  69. package/dist/css/themes/ListItemGroup.css +1 -1
  70. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  71. package/dist/css/themes/ListItemIcon.css +1 -1
  72. package/dist/css/themes/Menu.css +1 -1
  73. package/dist/css/themes/MenuItem.css +1 -1
  74. package/dist/css/themes/MessageStrip.css +1 -1
  75. package/dist/css/themes/MonthPicker.css +1 -1
  76. package/dist/css/themes/MultiComboBox.css +1 -1
  77. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  78. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  79. package/dist/css/themes/MultiInput.css +1 -1
  80. package/dist/css/themes/OptionBase.css +1 -1
  81. package/dist/css/themes/Panel.css +1 -1
  82. package/dist/css/themes/Popover.css +1 -1
  83. package/dist/css/themes/PopupsCommon.css +1 -1
  84. package/dist/css/themes/ProgressIndicator.css +1 -1
  85. package/dist/css/themes/RadioButton.css +1 -1
  86. package/dist/css/themes/RangeSlider.css +1 -1
  87. package/dist/css/themes/RatingIndicator.css +1 -1
  88. package/dist/css/themes/ResponsivePopover.css +1 -1
  89. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  90. package/dist/css/themes/SegmentedButton.css +1 -1
  91. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  92. package/dist/css/themes/Select.css +1 -1
  93. package/dist/css/themes/SliderBase.css +1 -1
  94. package/dist/css/themes/SplitButton.css +1 -1
  95. package/dist/css/themes/StepInput.css +1 -1
  96. package/dist/css/themes/SuggestionItem.css +1 -1
  97. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  98. package/dist/css/themes/Switch.css +1 -1
  99. package/dist/css/themes/TabContainer.css +1 -1
  100. package/dist/css/themes/TabInOverflow.css +1 -1
  101. package/dist/css/themes/TabInStrip.css +1 -1
  102. package/dist/css/themes/TabSemanticIcon.css +1 -1
  103. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  104. package/dist/css/themes/TableCellBase.css +1 -1
  105. package/dist/css/themes/TableHeaderRow.css +1 -1
  106. package/dist/css/themes/TableRow.css +1 -1
  107. package/dist/css/themes/TableRowActionBase.css +1 -1
  108. package/dist/css/themes/TableRowBase.css +1 -1
  109. package/dist/css/themes/Tag.css +1 -1
  110. package/dist/css/themes/Text.css +1 -1
  111. package/dist/css/themes/TextArea.css +1 -1
  112. package/dist/css/themes/TimePicker.css +1 -1
  113. package/dist/css/themes/Toast.css +1 -1
  114. package/dist/css/themes/ToggleButton.css +1 -1
  115. package/dist/css/themes/Token.css +1 -1
  116. package/dist/css/themes/Tokenizer.css +1 -1
  117. package/dist/css/themes/TokenizerPopover.css +1 -1
  118. package/dist/css/themes/Toolbar.css +1 -1
  119. package/dist/css/themes/ToolbarButton.css +1 -1
  120. package/dist/css/themes/ToolbarPopover.css +1 -1
  121. package/dist/css/themes/ToolbarSeparator.css +1 -1
  122. package/dist/css/themes/TreeItem.css +1 -1
  123. package/dist/css/themes/ValueStateMessage.css +1 -1
  124. package/dist/css/themes/ValueStateVariables.css +1 -1
  125. package/dist/css/themes/YearPicker.css +1 -1
  126. package/dist/css/themes/YearRangePicker.css +1 -1
  127. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  133. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  134. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  135. package/dist/custom-elements-internal.json +44 -15
  136. package/dist/custom-elements.json +38 -15
  137. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  149. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  150. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  151. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  152. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  153. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  186. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  187. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  188. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  189. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  190. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  191. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  192. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  193. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  194. package/dist/generated/i18n/i18n-defaults.d.ts +10 -3
  195. package/dist/generated/i18n/i18n-defaults.js +10 -3
  196. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  197. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  198. package/dist/generated/themes/Avatar.css.js +1 -1
  199. package/dist/generated/themes/Avatar.css.js.map +1 -1
  200. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  201. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  202. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  203. package/dist/generated/themes/Bar.css.d.ts +1 -1
  204. package/dist/generated/themes/Bar.css.js +1 -1
  205. package/dist/generated/themes/Bar.css.js.map +1 -1
  206. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  207. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  208. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  209. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  210. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  211. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  212. package/dist/generated/themes/Button.css.d.ts +1 -1
  213. package/dist/generated/themes/Button.css.js +1 -1
  214. package/dist/generated/themes/Button.css.js.map +1 -1
  215. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  216. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  217. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  218. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  219. package/dist/generated/themes/Calendar.css.js +1 -1
  220. package/dist/generated/themes/Calendar.css.js.map +1 -1
  221. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  222. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  223. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  224. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  225. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  226. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  227. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  228. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  229. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  230. package/dist/generated/themes/Card.css.d.ts +1 -1
  231. package/dist/generated/themes/Card.css.js +1 -1
  232. package/dist/generated/themes/Card.css.js.map +1 -1
  233. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  234. package/dist/generated/themes/CardHeader.css.js +1 -1
  235. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  236. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  237. package/dist/generated/themes/Carousel.css.js +1 -1
  238. package/dist/generated/themes/Carousel.css.js.map +1 -1
  239. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  240. package/dist/generated/themes/CheckBox.css.js +1 -1
  241. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  242. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  243. package/dist/generated/themes/ColorPalette.css.js +1 -1
  244. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  245. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  246. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  247. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  248. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  249. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  250. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  251. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  252. package/dist/generated/themes/ColorPicker.css.js +1 -1
  253. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  254. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  255. package/dist/generated/themes/ComboBox.css.js +1 -1
  256. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  257. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  258. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  259. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  260. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  261. package/dist/generated/themes/DatePicker.css.js +1 -1
  262. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  263. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  264. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  265. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  266. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  267. package/dist/generated/themes/DayPicker.css.js +1 -1
  268. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  269. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  270. package/dist/generated/themes/Dialog.css.js +1 -1
  271. package/dist/generated/themes/Dialog.css.js.map +1 -1
  272. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  273. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  274. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  275. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  276. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  277. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  278. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  279. package/dist/generated/themes/FileUploader.css.js +1 -1
  280. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  281. package/dist/generated/themes/Form.css.d.ts +1 -1
  282. package/dist/generated/themes/Form.css.js +1 -1
  283. package/dist/generated/themes/Form.css.js.map +1 -1
  284. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  285. package/dist/generated/themes/FormItem.css.js +1 -1
  286. package/dist/generated/themes/FormItem.css.js.map +1 -1
  287. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  288. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  289. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  290. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  291. package/dist/generated/themes/GrowingButton.css.js +1 -1
  292. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  293. package/dist/generated/themes/Icon.css.d.ts +1 -1
  294. package/dist/generated/themes/Icon.css.js +1 -1
  295. package/dist/generated/themes/Icon.css.js.map +1 -1
  296. package/dist/generated/themes/Input.css.d.ts +1 -1
  297. package/dist/generated/themes/Input.css.js +1 -1
  298. package/dist/generated/themes/Input.css.js.map +1 -1
  299. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  300. package/dist/generated/themes/InputIcon.css.js +1 -1
  301. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  302. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  303. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  304. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  305. package/dist/generated/themes/Link.css.d.ts +1 -1
  306. package/dist/generated/themes/Link.css.js +1 -1
  307. package/dist/generated/themes/Link.css.js.map +1 -1
  308. package/dist/generated/themes/List.css.d.ts +1 -1
  309. package/dist/generated/themes/List.css.js +1 -1
  310. package/dist/generated/themes/List.css.js.map +1 -1
  311. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  312. package/dist/generated/themes/ListItem.css.js +1 -1
  313. package/dist/generated/themes/ListItem.css.js.map +1 -1
  314. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  315. package/dist/generated/themes/ListItemBase.css.js +1 -1
  316. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  317. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  318. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  319. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  320. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  321. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  322. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  323. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  324. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  325. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  326. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  327. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  328. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  329. package/dist/generated/themes/Menu.css.d.ts +1 -1
  330. package/dist/generated/themes/Menu.css.js +1 -1
  331. package/dist/generated/themes/Menu.css.js.map +1 -1
  332. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  333. package/dist/generated/themes/MenuItem.css.js +1 -1
  334. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  335. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  336. package/dist/generated/themes/MessageStrip.css.js +1 -1
  337. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  338. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  339. package/dist/generated/themes/MonthPicker.css.js +1 -1
  340. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  341. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  342. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  343. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  344. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  345. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  346. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  347. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  348. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  349. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  350. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  351. package/dist/generated/themes/MultiInput.css.js +1 -1
  352. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  353. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  354. package/dist/generated/themes/OptionBase.css.js +1 -1
  355. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  356. package/dist/generated/themes/Panel.css.d.ts +1 -1
  357. package/dist/generated/themes/Panel.css.js +1 -1
  358. package/dist/generated/themes/Panel.css.js.map +1 -1
  359. package/dist/generated/themes/Popover.css.d.ts +1 -1
  360. package/dist/generated/themes/Popover.css.js +1 -1
  361. package/dist/generated/themes/Popover.css.js.map +1 -1
  362. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  363. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  364. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  365. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  366. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  367. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  368. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  369. package/dist/generated/themes/RadioButton.css.js +1 -1
  370. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  371. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  372. package/dist/generated/themes/RangeSlider.css.js +1 -1
  373. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  374. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  375. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  376. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  377. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  378. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  379. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  380. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  381. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  382. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  383. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  384. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  385. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  386. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  387. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  388. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  389. package/dist/generated/themes/Select.css.d.ts +1 -1
  390. package/dist/generated/themes/Select.css.js +1 -1
  391. package/dist/generated/themes/Select.css.js.map +1 -1
  392. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  393. package/dist/generated/themes/SliderBase.css.js +1 -1
  394. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  395. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  396. package/dist/generated/themes/SplitButton.css.js +1 -1
  397. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  398. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  399. package/dist/generated/themes/StepInput.css.js +1 -1
  400. package/dist/generated/themes/StepInput.css.js.map +1 -1
  401. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  402. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  403. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  404. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  405. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  406. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  407. package/dist/generated/themes/Switch.css.d.ts +1 -1
  408. package/dist/generated/themes/Switch.css.js +1 -1
  409. package/dist/generated/themes/Switch.css.js.map +1 -1
  410. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  411. package/dist/generated/themes/TabContainer.css.js +1 -1
  412. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  413. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  414. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  415. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  416. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  417. package/dist/generated/themes/TabInStrip.css.js +1 -1
  418. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  419. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  420. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  421. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  422. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  423. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  424. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  425. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  426. package/dist/generated/themes/TableCellBase.css.js +1 -1
  427. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  428. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  429. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  430. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  431. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  432. package/dist/generated/themes/TableRow.css.js +1 -1
  433. package/dist/generated/themes/TableRow.css.js.map +1 -1
  434. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  435. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  436. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  437. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  438. package/dist/generated/themes/TableRowBase.css.js +1 -1
  439. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  440. package/dist/generated/themes/Tag.css.d.ts +1 -1
  441. package/dist/generated/themes/Tag.css.js +1 -1
  442. package/dist/generated/themes/Tag.css.js.map +1 -1
  443. package/dist/generated/themes/Text.css.d.ts +1 -1
  444. package/dist/generated/themes/Text.css.js +1 -1
  445. package/dist/generated/themes/Text.css.js.map +1 -1
  446. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  447. package/dist/generated/themes/TextArea.css.js +1 -1
  448. package/dist/generated/themes/TextArea.css.js.map +1 -1
  449. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  450. package/dist/generated/themes/TimePicker.css.js +1 -1
  451. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  452. package/dist/generated/themes/Toast.css.d.ts +1 -1
  453. package/dist/generated/themes/Toast.css.js +1 -1
  454. package/dist/generated/themes/Toast.css.js.map +1 -1
  455. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  456. package/dist/generated/themes/ToggleButton.css.js +1 -1
  457. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  458. package/dist/generated/themes/Token.css.d.ts +1 -1
  459. package/dist/generated/themes/Token.css.js +1 -1
  460. package/dist/generated/themes/Token.css.js.map +1 -1
  461. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  462. package/dist/generated/themes/Tokenizer.css.js +1 -1
  463. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  464. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  465. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  466. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  467. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  468. package/dist/generated/themes/Toolbar.css.js +1 -1
  469. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  470. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  471. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  472. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  473. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  474. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  475. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  476. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  477. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  478. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  479. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  480. package/dist/generated/themes/TreeItem.css.js +1 -1
  481. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  482. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  483. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  484. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  485. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  486. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  487. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  488. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  489. package/dist/generated/themes/YearPicker.css.js +1 -1
  490. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  491. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  492. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  493. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  494. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  495. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  496. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  497. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  498. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  499. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  500. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  501. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  502. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  503. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  504. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  505. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  506. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  507. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  508. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  509. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  510. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  511. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  512. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  513. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  514. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  515. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  516. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  517. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  518. package/dist/vscode.html-custom-data.json +6 -1
  519. package/dist/web-types.json +16 -2
  520. package/package.json +11 -11
  521. package/src/BreadcrumbsTemplate.tsx +1 -1
  522. package/src/CalendarHeaderTemplate.tsx +11 -2
  523. package/src/ListTemplate.tsx +3 -0
  524. package/src/TabContainerTemplate.tsx +0 -2
  525. package/src/ToolbarSelectTemplate.tsx +6 -2
  526. package/src/i18n/messagebundle.properties +25 -4
  527. package/src/i18n/messagebundle_ar.properties +4 -4
  528. package/src/i18n/messagebundle_bg.properties +9 -9
  529. package/src/i18n/messagebundle_ca.properties +9 -9
  530. package/src/i18n/messagebundle_cnr.properties +9 -9
  531. package/src/i18n/messagebundle_cs.properties +9 -9
  532. package/src/i18n/messagebundle_cy.properties +9 -9
  533. package/src/i18n/messagebundle_da.properties +9 -9
  534. package/src/i18n/messagebundle_de.properties +14 -14
  535. package/src/i18n/messagebundle_el.properties +9 -9
  536. package/src/i18n/messagebundle_en.properties +0 -275
  537. package/src/i18n/messagebundle_en_GB.properties +9 -9
  538. package/src/i18n/messagebundle_en_US_sappsd.properties +9 -9
  539. package/src/i18n/messagebundle_en_US_saptrc.properties +9 -9
  540. package/src/i18n/messagebundle_es.properties +9 -9
  541. package/src/i18n/messagebundle_es_MX.properties +9 -9
  542. package/src/i18n/messagebundle_et.properties +9 -9
  543. package/src/i18n/messagebundle_fi.properties +9 -9
  544. package/src/i18n/messagebundle_fr.properties +4 -4
  545. package/src/i18n/messagebundle_fr_CA.properties +4 -4
  546. package/src/i18n/messagebundle_hi.properties +5 -5
  547. package/src/i18n/messagebundle_hr.properties +4 -4
  548. package/src/i18n/messagebundle_hu.properties +4 -4
  549. package/src/i18n/messagebundle_id.properties +11 -11
  550. package/src/i18n/messagebundle_it.properties +9 -9
  551. package/src/i18n/messagebundle_iw.properties +9 -9
  552. package/src/i18n/messagebundle_ja.properties +9 -9
  553. package/src/i18n/messagebundle_kk.properties +5 -5
  554. package/src/i18n/messagebundle_ko.properties +4 -4
  555. package/src/i18n/messagebundle_lt.properties +9 -9
  556. package/src/i18n/messagebundle_lv.properties +9 -9
  557. package/src/i18n/messagebundle_mk.properties +5 -5
  558. package/src/i18n/messagebundle_ms.properties +9 -9
  559. package/src/i18n/messagebundle_nl.properties +4 -4
  560. package/src/i18n/messagebundle_no.properties +9 -9
  561. package/src/i18n/messagebundle_pl.properties +5 -5
  562. package/src/i18n/messagebundle_pt.properties +9 -9
  563. package/src/i18n/messagebundle_pt_PT.properties +9 -9
  564. package/src/i18n/messagebundle_ro.properties +5 -5
  565. package/src/i18n/messagebundle_ru.properties +4 -4
  566. package/src/i18n/messagebundle_sh.properties +9 -9
  567. package/src/i18n/messagebundle_sk.properties +8 -8
  568. package/src/i18n/messagebundle_sl.properties +9 -9
  569. package/src/i18n/messagebundle_sr.properties +9 -9
  570. package/src/i18n/messagebundle_sv.properties +4 -4
  571. package/src/i18n/messagebundle_th.properties +5 -5
  572. package/src/i18n/messagebundle_tr.properties +9 -9
  573. package/src/i18n/messagebundle_uk.properties +9 -9
  574. package/src/i18n/messagebundle_vi.properties +5 -5
  575. package/src/i18n/messagebundle_zh_CN.properties +10 -10
  576. package/src/i18n/messagebundle_zh_TW.properties +9 -9
  577. package/src/themes/Breadcrumbs.css +5 -1
  578. package/src/themes/TextArea.css +1 -1
  579. package/src/themes/base/TextArea-parameters.css +1 -0
  580. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +1 -0
  581. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +1 -0
  582. package/src/themes/sap_horizon/TextArea-parameters.css +1 -0
  583. package/src/themes/sap_horizon_dark/TextArea-parameters.css +1 -0
  584. package/src/themes/sap_horizon_hcb/TextArea-parameters.css +1 -0
  585. package/src/themes/sap_horizon_hcw/TextArea-parameters.css +1 -0
@@ -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 query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.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 CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport CalendarUtils from \"@ui5/webcomponents-localization/dist/CalendarUtils.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type {\n\tICalendarPicker,\n\tSpecialCalendarDateT,\n} from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n\tLIST_ITEM_SELECTED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./DayPickerTemplate.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: number,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\ttooltip?: string,\n\tariaLabel: string,\n\tariaSelected: boolean,\n\tariaDisabled: boolean | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n\ttype?: string,\n\tparts: string,\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 `ui5-calendar` component.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": DayPickerChangeEventDetail,\n\t\t\"navigate\": DayPickerNavigateEventDetail,\n\t};\n\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 * @default []\n\t */\n\t@property({ type: Array })\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:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables a single date selection.(default value)\n\t * - `CalendarSelectionMode.Range` - enables selection of a date range.\n\t * - `CalendarSelectionMode.Multiple` - enables selection of multiple dates.\n\t * @default \"Single\"\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t *\n\t * **Note:** For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t * @default false\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_weeks: Array<Week> = [];\n\n\t@property({ type: Array })\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 * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\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({ type: Number })\n\t_secondTimestamp?: number;\n\n\t/**\n\t * Array of special calendar dates (if such are passed) from the calendar.\n\t * @private\n\t */\n\t@property({ type: Array })\n\tspecialCalendarDates: Array<SpecialCalendarDateT> = [];\n\n\t@query(\"[data-sap-focus-ref]\")\n\t_focusableDay!: HTMLElement;\n\n\t_autoFocus?: boolean;\n\n\t@i18n(\"@ui5/webcomponents\")\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\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 specialCalendarDates = this._specialCalendarDates;\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(UI5Date.getInstance(), 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 specialCalendarDate = specialCalendarDates.find(specialDate => specialDate.specialDateTimestamp === timestamp);\n\t\t\tconst specialDayType = specialCalendarDate ? specialCalendarDate.type : \"\";\n\t\t\tconst specialDayTooltip = specialCalendarDate ? specialCalendarDate.tooltip : \"\";\n\t\t\tconst unnamedCalendarTypeLabel = specialDayTooltip && !this._isDefaultCalendarLegendType(specialDayType) ? specialDayTooltip : \"\";\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 || specialDayType === \"NonWorking\") && specialDayType !== \"Working\"\n\t\t\t\t? `${nonWorkingDayLabel} `\n\t\t\t\t: \"\";\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 tooltip = `${todayAriaLabel}${nonWorkingAriaLabel}${unnamedCalendarTypeLabel}`.trim();\n\n\t\t\tconst ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber} ${tooltip}`.trim()\n\t\t\t\t: `${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()} ${tooltip}`.trim();\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 || isSelectedBetween,\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\ttooltip,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tariaDisabled: isDisabled || isOtherMonth,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\ttype: specialDayType,\n\t\t\t\tparts: \"day-cell\",\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\tday.parts += \" day-cell-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\tday.parts += \" day-cell-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 || specialDayType === \"NonWorking\") && specialDayType !== \"Working\") {\n\t\t\t\tday.classes += \" ui5-dp-item--weekend\";\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\tconst weekNumber = this._calculateWeekNumber(tempDate.toLocalJSDate());\n\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: weekNumber,\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_calculateWeekNumber(date: Date): number {\n\t\tconst oDateFormat = DateFormat.getDateInstance({ pattern: \"w\", calendarType: this.primaryCalendarType, calendarWeekNumbering: this.calendarWeekNumbering });\n\t\tconst weekNumber = oDateFormat.format(date);\n\n\t\treturn Number(weekNumber);\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t * @param 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 dayNames\n\t * @private\n\t */\n\tnamesTooLong(dayNames: Array<string>): boolean {\n\t\treturn dayNames.some(dayName => dayName.length > 4);\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_focusCorrectDay() {\n\t\tif (this._shouldFocusDay) {\n\t\t\tthis._focusableDay.focus();\n\t\t}\n\t}\n\n\tget _shouldFocusDay() {\n\t\treturn document.activeElement !== this._focusableDay && this._specialCalendarDates.length === 0;\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t\tthis._focusCorrectDay();\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 timestamp\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\tif (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\treturn this.selectedDates.includes(timestamp);\n\t\t}\n\n\t\treturn timestamp === this.selectedDates[0] || timestamp === this.selectedDates[this.selectedDates.length - 1];\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t * @param timestamp\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[this.selectedDates.length - 1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t * @param e\n\t * @param 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\tlet target = e.target as HTMLElement;\n\n\t\tif (!target.hasAttribute(\"data-sap-timestamp\")) {\n\t\t\ttarget = target.parentNode as HTMLElement;\n\t\t}\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\t\tthis._updateSelectedDates(timestamp, isShift);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number, isShift: boolean) {\n\t\tif (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\treturn;\n\t\t}\n\n\t\tannounce(DayPicker.i18nBundle.getText(LIST_ITEM_SELECTED), InvisibleMessageMode.Assertive);\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\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.fireDecoratorEvent(\"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\tannounce(DayPicker.i18nBundle.getText(LIST_ITEM_SELECTED), InvisibleMessageMode.Assertive);\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 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 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\", false);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\", false);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\", false);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\", false);\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 * **Note:** \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t * @param 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 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 */\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 */\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 * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\", false);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\", false);\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t * @param amount\n\t * @param unit\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit, preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireDecoratorEvent(\"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 _specialCalendarDates() {\n\t\treturn this.specialCalendarDates;\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\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_isDefaultCalendarLegendType(type: string): boolean {\n\t\treturn [\"NonWorking\", \"Working\", \"Today\", \"Selected\", \"None\"].includes(type);\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 result = CalendarUtils.getWeekConfigurationValues(this.calendarWeekNumbering);\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn result?.firstDayOfWeek ? result.firstDayOfWeek : 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 query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type LocaleData from \"@ui5/webcomponents-localization/dist/LocaleData.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.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 CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport CalendarUtils from \"@ui5/webcomponents-localization/dist/CalendarUtils.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type {\n\tICalendarPicker,\n\tSpecialCalendarDateT,\n} from \"./Calendar.js\";\n\nimport {\n\tDAY_PICKER_WEEK_NUMBER_TEXT,\n\tDAY_PICKER_NON_WORKING_DAY,\n\tDAY_PICKER_TODAY,\n\tLIST_ITEM_SELECTED,\n\tDAY_PICKER_SELECTED_RANGE_START,\n\tDAY_PICKER_SELECTED_RANGE_END,\n\tDAY_PICKER_SELECTED_RANGE_BETWEEN,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DayPickerTemplate from \"./DayPickerTemplate.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: number,\n\tselected: boolean,\n\t_isSecondaryCalendarType: boolean,\n\tclasses: string,\n\ttooltip?: string,\n\tariaLabel: string,\n\tariaSelected: boolean,\n\tariaDisabled: boolean | undefined,\n\tdisabled: boolean,\n\tsecondDay?: number,\n\tweekNum?: number,\n\tisHidden?: boolean,\n\ttype?: string,\n\tparts: string,\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 `ui5-calendar` component.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-daypicker\",\n\tstyles: dayPickerCSS,\n\ttemplate: DayPickerTemplate,\n})\n/**\n * Fired when the selected date(s) change\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass DayPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"change\": DayPickerChangeEventDetail,\n\t\t\"navigate\": DayPickerNavigateEventDetail,\n\t};\n\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 * @default []\n\t */\n\t@property({ type: Array })\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:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables a single date selection.(default value)\n\t * - `CalendarSelectionMode.Range` - enables selection of a date range.\n\t * - `CalendarSelectionMode.Multiple` - enables selection of multiple dates.\n\t * @default \"Single\"\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t *\n\t * **Note:** For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t * @default false\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_weeks: Array<Week> = [];\n\n\t@property({ type: Array })\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 * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\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({ type: Number })\n\t_secondTimestamp?: number;\n\n\t/**\n\t * Array of special calendar dates (if such are passed) from the calendar.\n\t * @private\n\t */\n\t@property({ type: Array })\n\tspecialCalendarDates: Array<SpecialCalendarDateT> = [];\n\n\t@query(\"[data-sap-focus-ref]\")\n\t_focusableDay!: HTMLElement;\n\n\t_autoFocus?: boolean;\n\n\t@i18n(\"@ui5/webcomponents\")\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\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 specialCalendarDates = this._specialCalendarDates;\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(UI5Date.getInstance(), 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 specialCalendarDate = specialCalendarDates.find(specialDate => specialDate.specialDateTimestamp === timestamp);\n\t\t\tconst specialDayType = specialCalendarDate ? specialCalendarDate.type : \"\";\n\t\t\tconst specialDayTooltip = specialCalendarDate ? specialCalendarDate.tooltip : \"\";\n\t\t\tconst unnamedCalendarTypeLabel = specialDayTooltip && !this._isDefaultCalendarLegendType(specialDayType) ? specialDayTooltip : \"\";\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 || specialDayType === \"NonWorking\") && specialDayType !== \"Working\"\n\t\t\t\t? `${nonWorkingDayLabel} `\n\t\t\t\t: \"\";\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 tooltip = `${todayAriaLabel}${nonWorkingAriaLabel}${unnamedCalendarTypeLabel}`.trim();\n\n\t\t\tlet ariaLabel = this.hasSecondaryCalendarType\n\t\t\t\t? `${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNamesString} ${tempSecondDateNumber}, ${tempSecondYearNumber} ${tooltip}`.trim()\n\t\t\t\t: `${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()} ${tooltip}`.trim();\n\n\t\t\tif (this.selectionMode === CalendarSelectionMode.Range) {\n\t\t\t\tif (isSelected && this._isRangeEndDate(timestamp)) {\n\t\t\t\t\tariaLabel = DayPicker.i18nBundle.getText(DAY_PICKER_SELECTED_RANGE_END, ariaLabel);\n\t\t\t\t} else if (isSelected && this._isRangeStartDate(timestamp)) {\n\t\t\t\t\tariaLabel = DayPicker.i18nBundle.getText(DAY_PICKER_SELECTED_RANGE_START, ariaLabel);\n\t\t\t\t} else if (isSelectedBetween) {\n\t\t\t\t\tariaLabel = DayPicker.i18nBundle.getText(DAY_PICKER_SELECTED_RANGE_BETWEEN, ariaLabel);\n\t\t\t\t}\n\t\t\t}\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 || isSelectedBetween,\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\ttooltip,\n\t\t\t\tariaLabel,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tariaDisabled: isDisabled || isOtherMonth,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\ttype: specialDayType,\n\t\t\t\tparts: \"day-cell\",\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\tday.parts += \" day-cell-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\tday.parts += \" day-cell-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 || specialDayType === \"NonWorking\") && specialDayType !== \"Working\") {\n\t\t\t\tday.classes += \" ui5-dp-item--weekend\";\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\tconst weekNumber = this._calculateWeekNumber(tempDate.toLocalJSDate());\n\n\t\t\t\tweek.unshift({\n\t\t\t\t\tweekNum: weekNumber,\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_calculateWeekNumber(date: Date): number {\n\t\tconst oDateFormat = DateFormat.getDateInstance({ pattern: \"w\", calendarType: this.primaryCalendarType, calendarWeekNumbering: this.calendarWeekNumbering });\n\t\tconst weekNumber = oDateFormat.format(date);\n\n\t\treturn Number(weekNumber);\n\t}\n\n\t/**\n\t * Builds the dayNames object (header of the month).\n\t * @param 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 dayNames\n\t * @private\n\t */\n\tnamesTooLong(dayNames: Array<string>): boolean {\n\t\treturn dayNames.some(dayName => dayName.length > 4);\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_focusCorrectDay() {\n\t\tif (this._shouldFocusDay) {\n\t\t\tthis._focusableDay.focus();\n\t\t}\n\t}\n\n\tget _shouldFocusDay() {\n\t\treturn document.activeElement !== this._focusableDay && this._specialCalendarDates.length === 0;\n\t}\n\n\t_onfocusin() {\n\t\tthis._autoFocus = true;\n\t\tthis._focusCorrectDay();\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 timestamp\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\tif (this.selectionMode === CalendarSelectionMode.Multiple) {\n\t\t\treturn this.selectedDates.includes(timestamp);\n\t\t}\n\n\t\treturn timestamp === this.selectedDates[0] || timestamp === this.selectedDates[this.selectedDates.length - 1];\n\t}\n\n\t_isRangeEndDate(timestamp: number): boolean {\n\t\treturn this.selectionMode === CalendarSelectionMode.Range && timestamp === this.selectedDates[1];\n\t}\n\n\t_isRangeStartDate(timestamp: number): boolean {\n\t\treturn this.selectionMode === CalendarSelectionMode.Range && timestamp === this.selectedDates[0];\n\t}\n\n\t/**\n\t * Tells if the day is inside a selection range (light blue).\n\t * @param timestamp\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[this.selectedDates.length - 1]);\n\t}\n\n\t/**\n\t * Selects/deselects a day.\n\t * @param e\n\t * @param 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\tlet target = e.target as HTMLElement;\n\n\t\tif (!target.hasAttribute(\"data-sap-timestamp\")) {\n\t\t\ttarget = target.parentNode as HTMLElement;\n\t\t}\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\t\tthis._updateSelectedDates(timestamp, isShift);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number, isShift: boolean) {\n\t\tif (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\treturn;\n\t\t}\n\n\t\tannounce(DayPicker.i18nBundle.getText(LIST_ITEM_SELECTED), InvisibleMessageMode.Assertive);\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\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.fireDecoratorEvent(\"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\tannounce(DayPicker.i18nBundle.getText(LIST_ITEM_SELECTED), InvisibleMessageMode.Assertive);\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 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 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\", false);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1, \"day\", false);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-7, \"day\", false);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(7, \"day\", false);\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 * **Note:** \"Click+Shift\" has the same effect as \"Enter+Shift\".\n\t * @param 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 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 */\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 */\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 * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-1, \"month\", false);\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(1, \"month\", false);\n\t}\n\n\t/**\n\t * Modifies the timestamp by a certain amount of days/months/years.\n\t * @param amount\n\t * @param unit\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, unit: string, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, unit, preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis._updateSecondTimestamp();\n\t\tthis.fireDecoratorEvent(\"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 _specialCalendarDates() {\n\t\treturn this.specialCalendarDates;\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\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_isDefaultCalendarLegendType(type: string): boolean {\n\t\treturn [\"NonWorking\", \"Working\", \"Today\", \"Selected\", \"None\"].includes(type);\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 result = CalendarUtils.getWeekConfigurationValues(this.calendarWeekNumbering);\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn result?.firstDayOfWeek ? result.firstDayOfWeek : 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"]}
package/dist/List.d.ts CHANGED
@@ -281,16 +281,16 @@ declare class List extends UI5Element {
281
281
  static i18nBundle: I18nBundle;
282
282
  _previouslyFocusedItem: ListItemBase | null;
283
283
  _forwardingFocus: boolean;
284
- listEndObserved: boolean;
285
- _handleResizeCallback: ResizeObserverCallback;
286
- initialIntersection: boolean;
287
284
  _selectionRequested?: boolean;
288
285
  _groupCount: number;
289
286
  _groupItemCount: number;
290
- growingIntersectionObserver?: IntersectionObserver | null;
287
+ _endIntersectionObserver?: IntersectionObserver | null;
288
+ _startIntersectionObserver?: IntersectionObserver | null;
291
289
  _itemNavigation: ItemNavigation;
292
290
  _beforeElement?: HTMLElement | null;
293
291
  _afterElement?: HTMLElement | null;
292
+ _startMarkerOutOfView: boolean;
293
+ handleResizeCallback: ResizeObserverCallback;
294
294
  onItemFocusedBound: (e: CustomEvent) => void;
295
295
  onForwardAfterBound: (e: CustomEvent) => void;
296
296
  onForwardBeforeBound: (e: CustomEvent) => void;
@@ -316,6 +316,7 @@ declare class List extends UI5Element {
316
316
  get headerID(): string;
317
317
  get modeLabelID(): string;
318
318
  get listEndDOM(): Element | null;
319
+ get listStartDOM(): Element | null;
319
320
  get dropIndicatorDOM(): DropIndicator | null;
320
321
  get hasData(): boolean;
321
322
  get showBusyIndicatorOverlay(): boolean;
@@ -328,7 +329,6 @@ declare class List extends UI5Element {
328
329
  get ariaDescriptionText(): string;
329
330
  get growingButtonAriaLabel(): string | undefined;
330
331
  get growingButtonAriaLabelledBy(): string | undefined;
331
- get scrollContainer(): HTMLElement | null;
332
332
  hasGrowingComponent(): boolean;
333
333
  _getDescriptionForGroups(): string;
334
334
  get ariaLabelModeText(): string;
@@ -341,7 +341,10 @@ declare class List extends UI5Element {
341
341
  prepareListItems(): void;
342
342
  observeListEnd(): Promise<void>;
343
343
  unobserveListEnd(): void;
344
- onInteresection(entries: Array<IntersectionObserverEntry>): void;
344
+ observeListStart(): Promise<void>;
345
+ unobserveListStart(): void;
346
+ onEndIntersection(entries: Array<IntersectionObserverEntry>): void;
347
+ onStartIntersection(entries: Array<IntersectionObserverEntry>): void;
345
348
  onSelectionRequested(e: CustomEvent<SelectionRequestEventDetail>): void;
346
349
  handleSingle(item: ListItemBase): boolean;
347
350
  handleSingleStart(item: ListItemBase): boolean;
@@ -410,7 +413,8 @@ declare class List extends UI5Element {
410
413
  getFirstItem(filter: (item: ListItemBase) => boolean): ListItemBase | null;
411
414
  getAfterElement(): HTMLElement;
412
415
  getBeforeElement(): HTMLElement;
413
- getIntersectionObserver(): IntersectionObserver;
416
+ getEndIntersectionObserver(): IntersectionObserver;
417
+ getStartIntersectionObserver(): IntersectionObserver;
414
418
  }
415
419
  export default List;
416
420
  export type { ListItemClickEventDetail, ListItemFocusEventDetail, ListItemDeleteEventDetail, ListItemCloseEventDetail, ListItemToggleEventDetail, ListSelectionChangeEventDetail, ListMoveEventDetail, ListAccessibilityAttributes, };
package/dist/List.js CHANGED
@@ -36,7 +36,6 @@ import listCss from "./generated/themes/List.css.js";
36
36
  // Texts
37
37
  import { LIST_ROLE_LIST_GROUP_DESCRIPTION, LIST_ROLE_LISTBOX_GROUP_DESCRIPTION, LOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE, ARIA_LABEL_LIST_MULTISELECTABLE, ARIA_LABEL_LIST_DELETABLE, } from "./generated/i18n/i18n-defaults.js";
38
38
  import { isInstanceOfListItemGroup } from "./ListItemGroup.js";
39
- import { findVerticalScrollContainer } from "./TableUtils.js";
40
39
  const INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms
41
40
  const PAGE_UP_DOWN_SIZE = 10;
42
41
  /**
@@ -182,20 +181,16 @@ let List = List_1 = class List extends UI5Element {
182
181
  * @private
183
182
  */
184
183
  this.mediaRange = "S";
184
+ this._startMarkerOutOfView = false;
185
185
  this._previouslyFocusedItem = null;
186
186
  // Indicates that the List is forwarding the focus before or after the internal ul.
187
187
  this._forwardingFocus = false;
188
- // Indicates if the IntersectionObserver started observing the List
189
- this.listEndObserved = false;
190
188
  this._itemNavigation = new ItemNavigation(this, {
191
189
  skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
192
190
  navigationMode: NavigationMode.Vertical,
193
191
  getItemsCallback: () => this.getEnabledItems(),
194
192
  });
195
- this._handleResizeCallback = this._handleResize.bind(this);
196
- // Indicates the List bottom most part has been detected by the IntersectionObserver
197
- // for the first time.
198
- this.initialIntersection = true;
193
+ this.handleResizeCallback = this._handleResize.bind(this);
199
194
  this._groupCount = 0;
200
195
  this._groupItemCount = 0;
201
196
  this.onItemFocusedBound = this.onItemFocused.bind(this);
@@ -225,12 +220,13 @@ let List = List_1 = class List extends UI5Element {
225
220
  }
226
221
  onEnterDOM() {
227
222
  registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));
228
- ResizeHandler.register(this.getDomRef(), this._handleResizeCallback);
223
+ ResizeHandler.register(this.getDomRef(), this.handleResizeCallback);
229
224
  }
230
225
  onExitDOM() {
231
226
  deregisterUI5Element(this);
232
227
  this.unobserveListEnd();
233
- ResizeHandler.deregister(this.getDomRef(), this._handleResizeCallback);
228
+ this.unobserveListStart();
229
+ ResizeHandler.deregister(this.getDomRef(), this.handleResizeCallback);
234
230
  }
235
231
  onBeforeRendering() {
236
232
  this.detachGroupHeaderEvents();
@@ -240,9 +236,11 @@ let List = List_1 = class List extends UI5Element {
240
236
  this.attachGroupHeaderEvents();
241
237
  if (this.growsOnScroll) {
242
238
  this.observeListEnd();
239
+ this.observeListStart();
243
240
  }
244
- else if (this.listEndObserved) {
241
+ else {
245
242
  this.unobserveListEnd();
243
+ this.unobserveListStart();
246
244
  }
247
245
  if (this.grows) {
248
246
  this.checkListInViewport();
@@ -283,6 +281,9 @@ let List = List_1 = class List extends UI5Element {
283
281
  get listEndDOM() {
284
282
  return this.shadowRoot.querySelector(".ui5-list-end-marker");
285
283
  }
284
+ get listStartDOM() {
285
+ return this.shadowRoot.querySelector(".ui5-list-start-marker");
286
+ }
286
287
  get dropIndicatorDOM() {
287
288
  return this.shadowRoot.querySelector("[ui5-drop-indicator]");
288
289
  }
@@ -334,12 +335,9 @@ let List = List_1 = class List extends UI5Element {
334
335
  get growingButtonAriaLabelledBy() {
335
336
  return this.accessibilityAttributes.growingButton?.name ? undefined : `${this._id}-growingButton-text`;
336
337
  }
337
- get scrollContainer() {
338
- return this.shadowRoot.querySelector(".ui5-list-scroll-container");
339
- }
340
338
  hasGrowingComponent() {
341
- if (this.growsOnScroll && this.scrollContainer) {
342
- return this.scrollContainer.clientHeight !== this.scrollContainer.scrollHeight;
339
+ if (this.growsOnScroll) {
340
+ return this._startMarkerOutOfView;
343
341
  }
344
342
  return this.growsWithButton;
345
343
  }
@@ -405,30 +403,37 @@ let List = List_1 = class List extends UI5Element {
405
403
  });
406
404
  }
407
405
  async observeListEnd() {
408
- if (!this.listEndObserved) {
409
- await renderFinished();
410
- this.getIntersectionObserver().observe(this.listEndDOM);
411
- this.listEndObserved = true;
412
- }
406
+ await renderFinished();
407
+ this.getEndIntersectionObserver().observe(this.listEndDOM);
413
408
  }
414
409
  unobserveListEnd() {
415
- if (this.growingIntersectionObserver) {
416
- this.growingIntersectionObserver.disconnect();
417
- this.growingIntersectionObserver = null;
418
- this.listEndObserved = false;
410
+ if (this._endIntersectionObserver) {
411
+ this._endIntersectionObserver.disconnect();
412
+ this._endIntersectionObserver = null;
419
413
  }
420
414
  }
421
- onInteresection(entries) {
422
- if (this.initialIntersection) {
423
- this.initialIntersection = false;
424
- return;
415
+ async observeListStart() {
416
+ await renderFinished();
417
+ this.getStartIntersectionObserver().observe(this.listStartDOM);
418
+ }
419
+ unobserveListStart() {
420
+ if (this._startIntersectionObserver) {
421
+ this._startIntersectionObserver.disconnect();
422
+ this._startIntersectionObserver = null;
425
423
  }
424
+ }
425
+ onEndIntersection(entries) {
426
426
  entries.forEach(entry => {
427
427
  if (entry.isIntersecting) {
428
428
  debounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);
429
429
  }
430
430
  });
431
431
  }
432
+ onStartIntersection(entries) {
433
+ entries.forEach(entry => {
434
+ this._startMarkerOutOfView = !entry.isIntersecting;
435
+ });
436
+ }
432
437
  /*
433
438
  * ITEM SELECTION BASED ON THE CURRENT MODE
434
439
  */
@@ -910,16 +915,25 @@ let List = List_1 = class List extends UI5Element {
910
915
  }
911
916
  return this._beforeElement;
912
917
  }
913
- getIntersectionObserver() {
914
- if (!this.growingIntersectionObserver) {
915
- const scrollContainer = this.scrollContainer || findVerticalScrollContainer(this.getDomRef());
916
- this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
917
- root: scrollContainer,
918
- rootMargin: "5px",
918
+ getEndIntersectionObserver() {
919
+ if (!this._endIntersectionObserver) {
920
+ this._endIntersectionObserver = new IntersectionObserver(this.onEndIntersection.bind(this), {
921
+ root: null, // null means the viewport
922
+ rootMargin: "0px",
923
+ threshold: 1.0,
924
+ });
925
+ }
926
+ return this._endIntersectionObserver;
927
+ }
928
+ getStartIntersectionObserver() {
929
+ if (!this._startIntersectionObserver) {
930
+ this._startIntersectionObserver = new IntersectionObserver(this.onStartIntersection.bind(this), {
931
+ root: null, // null means the viewport
932
+ rootMargin: "0px",
919
933
  threshold: 1.0,
920
934
  });
921
935
  }
922
- return this.growingIntersectionObserver;
936
+ return this._startIntersectionObserver;
923
937
  }
924
938
  };
925
939
  __decorate([