@ui5/webcomponents 2.17.0-rc.4 → 2.17.0-rc.5

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 (506) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Calendar.d.ts +18 -1
  4. package/dist/Calendar.js +14 -0
  5. package/dist/Calendar.js.map +1 -1
  6. package/dist/CalendarTemplate.js +1 -1
  7. package/dist/CalendarTemplate.js.map +1 -1
  8. package/dist/CheckBox.d.ts +2 -0
  9. package/dist/CheckBox.js +6 -2
  10. package/dist/CheckBox.js.map +1 -1
  11. package/dist/ColorPickerTemplate.js +1 -1
  12. package/dist/ColorPickerTemplate.js.map +1 -1
  13. package/dist/ComboBox.js.map +1 -1
  14. package/dist/DayPicker.d.ts +25 -1
  15. package/dist/DayPicker.js +54 -3
  16. package/dist/DayPicker.js.map +1 -1
  17. package/dist/Input.js +7 -6
  18. package/dist/Input.js.map +1 -1
  19. package/dist/InputPopoverTemplate.d.ts +1 -0
  20. package/dist/InputPopoverTemplate.js +7 -2
  21. package/dist/InputPopoverTemplate.js.map +1 -1
  22. package/dist/InputTemplate.d.ts +1 -0
  23. package/dist/InputTemplate.js +2 -1
  24. package/dist/InputTemplate.js.map +1 -1
  25. package/dist/MultiComboBox.js.map +1 -1
  26. package/dist/MultiInput.d.ts +22 -0
  27. package/dist/MultiInput.js +52 -1
  28. package/dist/MultiInput.js.map +1 -1
  29. package/dist/MultiInputTemplate.js +29 -1
  30. package/dist/MultiInputTemplate.js.map +1 -1
  31. package/dist/Select.d.ts +10 -1
  32. package/dist/Select.js +11 -0
  33. package/dist/Select.js.map +1 -1
  34. package/dist/TextArea.js.map +1 -1
  35. package/dist/Tokenizer.js.map +1 -1
  36. package/dist/ToolbarSelect.js +1 -0
  37. package/dist/ToolbarSelect.js.map +1 -1
  38. package/dist/bundle.common.bootstrap.d.ts +2 -0
  39. package/dist/bundle.common.bootstrap.js +3 -1
  40. package/dist/bundle.common.bootstrap.js.map +1 -1
  41. package/dist/bundle.esm.d.ts +2 -0
  42. package/dist/css/themes/Avatar.css +1 -1
  43. package/dist/css/themes/AvatarGroup.css +1 -1
  44. package/dist/css/themes/Bar.css +1 -1
  45. package/dist/css/themes/Breadcrumbs.css +1 -1
  46. package/dist/css/themes/BusyIndicator.css +1 -1
  47. package/dist/css/themes/Button.css +1 -1
  48. package/dist/css/themes/ButtonBadge.css +1 -1
  49. package/dist/css/themes/Calendar.css +1 -1
  50. package/dist/css/themes/CalendarHeader.css +1 -1
  51. package/dist/css/themes/CalendarLegend.css +1 -1
  52. package/dist/css/themes/CalendarLegendItem.css +1 -1
  53. package/dist/css/themes/Card.css +1 -1
  54. package/dist/css/themes/CardHeader.css +1 -1
  55. package/dist/css/themes/Carousel.css +1 -1
  56. package/dist/css/themes/CheckBox.css +1 -1
  57. package/dist/css/themes/ColorPalette.css +1 -1
  58. package/dist/css/themes/ColorPaletteItem.css +1 -1
  59. package/dist/css/themes/ColorPalettePopover.css +1 -1
  60. package/dist/css/themes/ColorPicker.css +1 -1
  61. package/dist/css/themes/ComboBox.css +1 -1
  62. package/dist/css/themes/ComboBoxItem.css +1 -1
  63. package/dist/css/themes/DatePicker.css +1 -1
  64. package/dist/css/themes/DatePickerPopover.css +1 -1
  65. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  66. package/dist/css/themes/DayPicker.css +1 -1
  67. package/dist/css/themes/Dialog.css +1 -1
  68. package/dist/css/themes/DynamicDateRange.css +1 -1
  69. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  70. package/dist/css/themes/FileUploader.css +1 -1
  71. package/dist/css/themes/Form.css +1 -1
  72. package/dist/css/themes/FormItem.css +1 -1
  73. package/dist/css/themes/FormItemSpan.css +1 -1
  74. package/dist/css/themes/GrowingButton.css +1 -1
  75. package/dist/css/themes/Icon.css +1 -1
  76. package/dist/css/themes/Input.css +1 -1
  77. package/dist/css/themes/InputIcon.css +1 -1
  78. package/dist/css/themes/InputSharedStyles.css +1 -1
  79. package/dist/css/themes/Link.css +1 -1
  80. package/dist/css/themes/List.css +1 -1
  81. package/dist/css/themes/ListItem.css +1 -1
  82. package/dist/css/themes/ListItemBase.css +1 -1
  83. package/dist/css/themes/ListItemCustom.css +1 -1
  84. package/dist/css/themes/ListItemGroup.css +1 -1
  85. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  86. package/dist/css/themes/ListItemIcon.css +1 -1
  87. package/dist/css/themes/Menu.css +1 -1
  88. package/dist/css/themes/MenuItem.css +1 -1
  89. package/dist/css/themes/MessageStrip.css +1 -1
  90. package/dist/css/themes/MonthPicker.css +1 -1
  91. package/dist/css/themes/MultiComboBox.css +1 -1
  92. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  93. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  94. package/dist/css/themes/MultiInput.css +1 -1
  95. package/dist/css/themes/OptionBase.css +1 -1
  96. package/dist/css/themes/Panel.css +1 -1
  97. package/dist/css/themes/Popover.css +1 -1
  98. package/dist/css/themes/PopupsCommon.css +1 -1
  99. package/dist/css/themes/ProgressIndicator.css +1 -1
  100. package/dist/css/themes/RadioButton.css +1 -1
  101. package/dist/css/themes/RangeSlider.css +1 -1
  102. package/dist/css/themes/RatingIndicator.css +1 -1
  103. package/dist/css/themes/ResponsivePopover.css +1 -1
  104. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  105. package/dist/css/themes/SegmentedButton.css +1 -1
  106. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  107. package/dist/css/themes/Select.css +1 -1
  108. package/dist/css/themes/SliderBase.css +1 -1
  109. package/dist/css/themes/SplitButton.css +1 -1
  110. package/dist/css/themes/StepInput.css +1 -1
  111. package/dist/css/themes/SuggestionItem.css +1 -1
  112. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  113. package/dist/css/themes/Suggestions.css +1 -1
  114. package/dist/css/themes/Switch.css +1 -1
  115. package/dist/css/themes/TabContainer.css +1 -1
  116. package/dist/css/themes/TabInOverflow.css +1 -1
  117. package/dist/css/themes/TabInStrip.css +1 -1
  118. package/dist/css/themes/TabSemanticIcon.css +1 -1
  119. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  120. package/dist/css/themes/TableCellBase.css +1 -1
  121. package/dist/css/themes/TableHeaderRow.css +1 -1
  122. package/dist/css/themes/TableRow.css +1 -1
  123. package/dist/css/themes/TableRowActionBase.css +1 -1
  124. package/dist/css/themes/TableRowBase.css +1 -1
  125. package/dist/css/themes/Tag.css +1 -1
  126. package/dist/css/themes/Text.css +1 -1
  127. package/dist/css/themes/TextArea.css +1 -1
  128. package/dist/css/themes/TimePicker.css +1 -1
  129. package/dist/css/themes/Toast.css +1 -1
  130. package/dist/css/themes/ToggleButton.css +1 -1
  131. package/dist/css/themes/Token.css +1 -1
  132. package/dist/css/themes/Tokenizer.css +1 -1
  133. package/dist/css/themes/TokenizerPopover.css +1 -1
  134. package/dist/css/themes/Toolbar.css +1 -1
  135. package/dist/css/themes/ToolbarButton.css +1 -1
  136. package/dist/css/themes/ToolbarPopover.css +1 -1
  137. package/dist/css/themes/ToolbarSeparator.css +1 -1
  138. package/dist/css/themes/TreeItem.css +1 -1
  139. package/dist/css/themes/ValueStateMessage.css +1 -1
  140. package/dist/css/themes/ValueStateVariables.css +1 -1
  141. package/dist/css/themes/YearPicker.css +1 -1
  142. package/dist/css/themes/YearRangePicker.css +1 -1
  143. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  144. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  145. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  146. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  147. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  148. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  149. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  151. package/dist/custom-elements-internal.json +16 -0
  152. package/dist/custom-elements.json +4 -0
  153. package/dist/features/InputSuggestions.js.map +1 -1
  154. package/dist/features/InputSuggestionsTemplate.d.ts +1 -0
  155. package/dist/features/InputSuggestionsTemplate.js +4 -2
  156. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  157. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  159. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  160. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  161. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  162. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  163. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  164. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  165. package/dist/generated/i18n/i18n-defaults.d.ts +5 -1
  166. package/dist/generated/i18n/i18n-defaults.js +5 -1
  167. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  168. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  169. package/dist/generated/themes/Avatar.css.js +1 -1
  170. package/dist/generated/themes/Avatar.css.js.map +1 -1
  171. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  172. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  173. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  174. package/dist/generated/themes/Bar.css.d.ts +1 -1
  175. package/dist/generated/themes/Bar.css.js +1 -1
  176. package/dist/generated/themes/Bar.css.js.map +1 -1
  177. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  178. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  179. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  180. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  181. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  182. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  183. package/dist/generated/themes/Button.css.d.ts +1 -1
  184. package/dist/generated/themes/Button.css.js +1 -1
  185. package/dist/generated/themes/Button.css.js.map +1 -1
  186. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  187. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  188. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  189. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  190. package/dist/generated/themes/Calendar.css.js +1 -1
  191. package/dist/generated/themes/Calendar.css.js.map +1 -1
  192. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  193. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  194. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  195. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  196. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  197. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  198. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  199. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  200. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  201. package/dist/generated/themes/Card.css.d.ts +1 -1
  202. package/dist/generated/themes/Card.css.js +1 -1
  203. package/dist/generated/themes/Card.css.js.map +1 -1
  204. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  205. package/dist/generated/themes/CardHeader.css.js +1 -1
  206. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  207. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  208. package/dist/generated/themes/Carousel.css.js +1 -1
  209. package/dist/generated/themes/Carousel.css.js.map +1 -1
  210. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  211. package/dist/generated/themes/CheckBox.css.js +1 -1
  212. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  213. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  214. package/dist/generated/themes/ColorPalette.css.js +1 -1
  215. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  216. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  217. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  218. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  219. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  220. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  221. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  222. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  223. package/dist/generated/themes/ColorPicker.css.js +1 -1
  224. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  225. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  226. package/dist/generated/themes/ComboBox.css.js +1 -1
  227. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  228. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  229. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  230. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  231. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  232. package/dist/generated/themes/DatePicker.css.js +1 -1
  233. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  234. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  235. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  236. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  237. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  238. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  239. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  240. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  241. package/dist/generated/themes/DayPicker.css.js +1 -1
  242. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  243. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  244. package/dist/generated/themes/Dialog.css.js +1 -1
  245. package/dist/generated/themes/Dialog.css.js.map +1 -1
  246. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  247. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  248. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  249. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  250. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  251. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  252. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  253. package/dist/generated/themes/FileUploader.css.js +1 -1
  254. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  255. package/dist/generated/themes/Form.css.d.ts +1 -1
  256. package/dist/generated/themes/Form.css.js +1 -1
  257. package/dist/generated/themes/Form.css.js.map +1 -1
  258. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  259. package/dist/generated/themes/FormItem.css.js +1 -1
  260. package/dist/generated/themes/FormItem.css.js.map +1 -1
  261. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  262. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  263. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  264. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  265. package/dist/generated/themes/GrowingButton.css.js +1 -1
  266. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  267. package/dist/generated/themes/Icon.css.d.ts +1 -1
  268. package/dist/generated/themes/Icon.css.js +1 -1
  269. package/dist/generated/themes/Icon.css.js.map +1 -1
  270. package/dist/generated/themes/Input.css.d.ts +1 -1
  271. package/dist/generated/themes/Input.css.js +1 -1
  272. package/dist/generated/themes/Input.css.js.map +1 -1
  273. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  274. package/dist/generated/themes/InputIcon.css.js +1 -1
  275. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  276. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  277. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  278. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  279. package/dist/generated/themes/Link.css.d.ts +1 -1
  280. package/dist/generated/themes/Link.css.js +1 -1
  281. package/dist/generated/themes/Link.css.js.map +1 -1
  282. package/dist/generated/themes/List.css.d.ts +1 -1
  283. package/dist/generated/themes/List.css.js +1 -1
  284. package/dist/generated/themes/List.css.js.map +1 -1
  285. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  286. package/dist/generated/themes/ListItem.css.js +1 -1
  287. package/dist/generated/themes/ListItem.css.js.map +1 -1
  288. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  289. package/dist/generated/themes/ListItemBase.css.js +1 -1
  290. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  291. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  292. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  293. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  294. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  295. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  296. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  297. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  298. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  299. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  300. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  301. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  302. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  303. package/dist/generated/themes/Menu.css.d.ts +1 -1
  304. package/dist/generated/themes/Menu.css.js +1 -1
  305. package/dist/generated/themes/Menu.css.js.map +1 -1
  306. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  307. package/dist/generated/themes/MenuItem.css.js +1 -1
  308. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  309. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  310. package/dist/generated/themes/MessageStrip.css.js +1 -1
  311. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  312. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  313. package/dist/generated/themes/MonthPicker.css.js +1 -1
  314. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  315. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  316. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  317. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  318. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  319. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  320. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  321. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  322. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  323. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  324. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  325. package/dist/generated/themes/MultiInput.css.js +1 -1
  326. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  327. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  328. package/dist/generated/themes/OptionBase.css.js +1 -1
  329. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  330. package/dist/generated/themes/Panel.css.d.ts +1 -1
  331. package/dist/generated/themes/Panel.css.js +1 -1
  332. package/dist/generated/themes/Panel.css.js.map +1 -1
  333. package/dist/generated/themes/Popover.css.d.ts +1 -1
  334. package/dist/generated/themes/Popover.css.js +1 -1
  335. package/dist/generated/themes/Popover.css.js.map +1 -1
  336. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  337. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  338. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  339. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  340. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  341. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  342. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  343. package/dist/generated/themes/RadioButton.css.js +1 -1
  344. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  345. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  346. package/dist/generated/themes/RangeSlider.css.js +1 -1
  347. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  348. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  349. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  350. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  351. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  352. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  353. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  354. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  355. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  356. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  357. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  358. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  359. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  360. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  361. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  362. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  363. package/dist/generated/themes/Select.css.d.ts +1 -1
  364. package/dist/generated/themes/Select.css.js +1 -1
  365. package/dist/generated/themes/Select.css.js.map +1 -1
  366. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  367. package/dist/generated/themes/SliderBase.css.js +1 -1
  368. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  369. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  370. package/dist/generated/themes/SplitButton.css.js +1 -1
  371. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  372. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  373. package/dist/generated/themes/StepInput.css.js +1 -1
  374. package/dist/generated/themes/StepInput.css.js.map +1 -1
  375. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  376. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  377. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  378. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  379. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  380. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  381. package/dist/generated/themes/Suggestions.css.d.ts +1 -1
  382. package/dist/generated/themes/Suggestions.css.js +1 -1
  383. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  384. package/dist/generated/themes/Switch.css.d.ts +1 -1
  385. package/dist/generated/themes/Switch.css.js +1 -1
  386. package/dist/generated/themes/Switch.css.js.map +1 -1
  387. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  388. package/dist/generated/themes/TabContainer.css.js +1 -1
  389. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  390. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  391. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  392. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  393. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  394. package/dist/generated/themes/TabInStrip.css.js +1 -1
  395. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  396. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  397. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  398. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  399. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  400. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  401. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  402. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  403. package/dist/generated/themes/TableCellBase.css.js +1 -1
  404. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  405. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  406. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  407. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  408. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  409. package/dist/generated/themes/TableRow.css.js +1 -1
  410. package/dist/generated/themes/TableRow.css.js.map +1 -1
  411. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  412. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  413. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  414. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  415. package/dist/generated/themes/TableRowBase.css.js +1 -1
  416. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  417. package/dist/generated/themes/Tag.css.d.ts +1 -1
  418. package/dist/generated/themes/Tag.css.js +1 -1
  419. package/dist/generated/themes/Tag.css.js.map +1 -1
  420. package/dist/generated/themes/Text.css.d.ts +1 -1
  421. package/dist/generated/themes/Text.css.js +1 -1
  422. package/dist/generated/themes/Text.css.js.map +1 -1
  423. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  424. package/dist/generated/themes/TextArea.css.js +1 -1
  425. package/dist/generated/themes/TextArea.css.js.map +1 -1
  426. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  427. package/dist/generated/themes/TimePicker.css.js +1 -1
  428. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  429. package/dist/generated/themes/Toast.css.d.ts +1 -1
  430. package/dist/generated/themes/Toast.css.js +1 -1
  431. package/dist/generated/themes/Toast.css.js.map +1 -1
  432. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  433. package/dist/generated/themes/ToggleButton.css.js +1 -1
  434. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  435. package/dist/generated/themes/Token.css.d.ts +1 -1
  436. package/dist/generated/themes/Token.css.js +1 -1
  437. package/dist/generated/themes/Token.css.js.map +1 -1
  438. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  439. package/dist/generated/themes/Tokenizer.css.js +1 -1
  440. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  441. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  442. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  443. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  444. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  445. package/dist/generated/themes/Toolbar.css.js +1 -1
  446. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  447. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  448. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  449. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  450. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  451. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  452. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  453. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  454. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  455. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  456. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  457. package/dist/generated/themes/TreeItem.css.js +1 -1
  458. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  459. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  460. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  461. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  462. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  463. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  464. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  465. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  466. package/dist/generated/themes/YearPicker.css.js +1 -1
  467. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  468. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  469. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  470. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  471. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  472. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  473. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  474. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  475. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  476. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  477. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  478. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  479. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  480. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  481. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  482. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  483. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  484. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  485. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  486. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  487. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  488. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  489. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  490. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  491. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  492. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  493. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  494. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  495. package/dist/vscode.html-custom-data.json +1 -1
  496. package/dist/web-types.json +6 -2
  497. package/package.json +9 -11
  498. package/src/CalendarTemplate.tsx +1 -0
  499. package/src/ColorPickerTemplate.tsx +1 -0
  500. package/src/InputPopoverTemplate.tsx +11 -5
  501. package/src/InputTemplate.tsx +3 -2
  502. package/src/MultiInputTemplate.tsx +76 -1
  503. package/src/features/InputSuggestionsTemplate.tsx +21 -18
  504. package/src/i18n/messagebundle.properties +12 -0
  505. package/src/themes/Suggestions.css +4 -0
  506. package/src/themes/TabInStrip.css +1 -1
@@ -4,6 +4,7 @@ import CalendarDateComponent from "@ui5/webcomponents-localization/dist/dates/Ca
4
4
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
5
5
  import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
6
6
  import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
7
+ import CalendarDateRange from "./CalendarDateRange.js";
7
8
  import "./SpecialCalendarDate.js";
8
9
  import CalendarPart from "./CalendarPart.js";
9
10
  import type { DayPickerChangeEventDetail } from "./DayPicker.js";
@@ -49,6 +50,10 @@ type CalendarYearRangeT = {
49
50
  startYear: number;
50
51
  endYear: number;
51
52
  };
53
+ type DisabledDateRangeT = {
54
+ startValue?: string;
55
+ endValue?: string;
56
+ };
52
57
  /**
53
58
  * @class
54
59
  *
@@ -224,6 +229,14 @@ declare class Calendar extends CalendarPart {
224
229
  * @since 1.23.0
225
230
  */
226
231
  specialDates: Array<SpecialCalendarDate>;
232
+ /**
233
+ * Defines the disabled date ranges that cannot be selected in the calendar.
234
+ * Use `ui5-date-range` elements to specify ranges of disabled dates.
235
+ * Each range can define a start date, an end date, or both.
236
+ * @public
237
+ * @since 2.16.0
238
+ */
239
+ disabledDates: Array<CalendarDateRange>;
227
240
  /**
228
241
  * Defines the selected item type of the calendar legend item (if such exists).
229
242
  * @private
@@ -240,6 +253,10 @@ declare class Calendar extends CalendarPart {
240
253
  */
241
254
  _setSelectedDates(selectedDates: Array<number>): void;
242
255
  _isValidCalendarDate(dateString: string): boolean;
256
+ get _disabledDates(): {
257
+ startValue: string;
258
+ endValue: string;
259
+ }[];
243
260
  get _specialCalendarDates(): SpecialCalendarDateT[];
244
261
  _onCalendarLegendSelectionChange(e: CustomEvent<CalendarLegendItemSelectionChangeEventDetail>): void;
245
262
  /**
@@ -370,4 +387,4 @@ declare class Calendar extends CalendarPart {
370
387
  set selectedDates(selectedDates: Array<number>);
371
388
  }
372
389
  export default Calendar;
373
- export type { ICalendarPicker, CalendarYearRangeT, ICalendarSelectedDates, CalendarSelectionChangeEventDetail, SpecialCalendarDateT, };
390
+ export type { ICalendarPicker, CalendarYearRangeT, ICalendarSelectedDates, CalendarSelectionChangeEventDetail, SpecialCalendarDateT, DisabledDateRangeT, };
package/dist/Calendar.js CHANGED
@@ -270,6 +270,17 @@ let Calendar = Calendar_1 = class Calendar extends CalendarPart {
270
270
  const date = this.getFormat().parse(dateString);
271
271
  return !!date;
272
272
  }
273
+ get _disabledDates() {
274
+ const validDisabledDateRanges = this.disabledDates.filter(dateRange => {
275
+ const startValue = dateRange.startValue;
276
+ const endValue = dateRange.endValue;
277
+ return (startValue && this._isValidCalendarDate(startValue)) || (endValue && this._isValidCalendarDate(endValue));
278
+ });
279
+ return validDisabledDateRanges.map(dateRange => ({
280
+ startValue: dateRange.startValue,
281
+ endValue: dateRange.endValue,
282
+ }));
283
+ }
273
284
  get _specialCalendarDates() {
274
285
  const hasSelectedType = this._specialDates.some(date => date.type === this._selectedItemType);
275
286
  const validSpecialDates = this._specialDates.filter(date => {
@@ -746,6 +757,9 @@ __decorate([
746
757
  __decorate([
747
758
  slot({ type: HTMLElement, invalidateOnChildChange: true })
748
759
  ], Calendar.prototype, "specialDates", void 0);
760
+ __decorate([
761
+ slot({ type: HTMLElement, invalidateOnChildChange: true })
762
+ ], Calendar.prototype, "disabledDates", void 0);
749
763
  __decorate([
750
764
  property()
751
765
  ], Calendar.prototype, "_selectedItemType", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport CalendarDateComponent from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisEnter,\n\tisF4,\n\tisF4Shift,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { getMaxCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport CalendarDate from \"./CalendarDate.js\";\nimport CalendarDateRange from \"./CalendarDateRange.js\";\nimport \"./SpecialCalendarDate.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type CalendarLegend from \"./CalendarLegend.js\";\nimport type { CalendarLegendItemSelectionChangeEventDetail } from \"./CalendarLegend.js\";\nimport type SpecialCalendarDate from \"./SpecialCalendarDate.js\";\nimport type CalendarLegendItemType from \"./types/CalendarLegendItemType.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./CalendarTemplate.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\nimport CalendarHeaderCss from \"./generated/themes/CalendarHeader.css.js\";\nimport {\n\tCALENDAR_HEADER_MONTH_BUTTON,\n\tCALENDAR_HEADER_MONTH_BUTTON_SHORTCUT,\n\tCALENDAR_HEADER_YEAR_BUTTON,\n\tCALENDAR_HEADER_YEAR_BUTTON_SHORTCUT,\n\tCALENDAR_HEADER_YEAR_RANGE_BUTTON,\n\tCALENDAR_HEADER_YEAR_RANGE_BUTTON_SHORTCUT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { YearRangePickerChangeEventDetail } from \"./YearRangePicker.js\";\n\ninterface ICalendarPicker extends HTMLElement {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_currentYearRange?: CalendarYearRangeT,\n}\n\n/**\n * Interface for components that may be slotted inside a `ui5-calendar`.\n *\n * **Note:** Use with `ui5-date` or `ui5-date-range` as calendar date selection types.\n * @public\n */\ninterface ICalendarSelectedDates extends UI5Element {\n\tvalue?: string,\n\tstartValue?: string,\n\tendValue?: string\n}\n\ntype CalendarSelectionChangeEventDetail = {\n\tselectedValues: Array<string>,\n\tselectedDates: Array<number>,\n\ttimestamp: number | undefined,\n}\n\ntype SpecialCalendarDateT = {\n\tspecialDateTimestamp: number;\n\ttype: `${CalendarLegendItemType}`;\n\ttooltip?: string;\n};\n\ntype CalendarYearRangeT = {\n\tstartYear: number,\n\tendYear: number,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-calendar` component allows users to select one or more dates.\n *\n * Currently selected dates are represented with instances of `ui5-date` as\n * children of the `ui5-calendar`. The value property of each `ui5-date` must be a\n * date string, correctly formatted according to the `ui5-calendar`'s `formatPattern` property.\n * Whenever the user changes the date selection, `ui5-calendar` will automatically create/remove instances\n * of `ui5-date` in itself, unless you prevent this behavior by calling `preventDefault()` for the\n * `selection-change` event. This is useful if you want to control the selected dates externally.\n *\n * ### Usage\n *\n * The user can navigate to a particular date by:\n *\n * - Pressing over a month inside the months view\n * - Pressing over an year inside the years view\n *\n * The user can confirm a date selection by pressing over a date inside the days view.\n *\n * ### Keyboard Handling\n * The `ui5-calendar` provides advanced keyboard handling.\n * When a picker is showed and focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - Day picker:\n *\n * - [F4] - Shows month picker\n * - [Shift] + [F4] - Shows year picker\n * - [Page Up] - Navigate to the previous month\n * - [Page Down] - Navigate to the next month\n * - [Shift] + [Page Up] - Navigate to the previous year\n * - [Shift] + [Page Down] - Navigate to the next year\n * - [Ctrl] + [Shift] + [Page Up] - Navigate ten years backwards\n * - [Ctrl] + [Shift] + [Page Down] - Navigate ten years forwards\n * - [Home] - Navigate to the first day of the week\n * - [End] - Navigate to the last day of the week\n * - [Ctrl] + [Home] - Navigate to the first day of the month\n * - [Ctrl] + [End] - Navigate to the last day of the month\n *\n * - Month picker:\n *\n * - [Page Up] - Navigate to the previous year\n * - [Page Down] - Navigate to the next year\n * - [Home] - Navigate to the first month of the current row\n * - [End] - Navigate to the last month of the current row\n * - [Ctrl] + [Home] - Navigate to the first month of the current year\n * - [Ctrl] + [End] - Navigate to the last month of the year\n *\n * - Year picker:\n *\n * - [Page Up] - Navigate to the previous year range\n * - [Page Down] - Navigate the next year range\n * - [Home] - Navigate to the first year of the current row\n * - [End] - Navigate to the last year of the current row\n * - [Ctrl] + [Home] - Navigate to the first year of the current year range\n * - [Ctrl] + [End] - Navigate to the last year of the current year range\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### Calendar types\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the `primaryCalendarType` property and import one or more of the following modules:\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";`\n *\n * Or, you can use the global configuration and set the `calendarType` key:\n *\n * ```html\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * \t{\n * \t\t\"calendarType\": \"Japanese\"\n * \t}\n * </script>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Calendar.js\";`\n * @constructor\n * @extends CalendarPart\n * @public\n * @csspart day-cell - Used to style the day cells.\n * @csspart day-cell-selected - Used to style the day cells when selected.\n * @csspart day-cell-selected-between - Used to style the day cells in between of selected dates in range.\n * @csspart month-cell - Used to style the month cells.\n * @csspart month-cell-selected - Used to style the month cells when selected.\n * @csspart month-cell-selected-between - Used to style the day cells in between of selected months in range.\n * @csspart month-picker-root - Used to style the month picker root container.\n * @csspart year-cell - Used to style the year cells.\n * @csspart year-cell-selected - Used to style the year cells when selected.\n * @csspart year-cell-selected-between - Used to style the year cells in between of selected years in range.\n * @csspart year-picker-root - Used to style the year picker root container.\n * @csspart year-range-cell - Used to style the year range cells.\n * @csspart year-range-cell-selected - Used to style the year range cells when selected.\n * @csspart year-range-cell-selected-between - Used to style the year range cells in between of selected year ranges.\n * @csspart year-range-picker-root - Used to style the year range picker root container.\n * @csspart calendar-header-middle-button - Used to style the calendar header middle buttons (month/year/year-range buttons).\n * @csspart calendar-header-arrow-button - Used to style the calendar header navigation arrow buttons (previous/next buttons).\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-calendar\",\n\tfastNavigation: true,\n\ttemplate: CalendarTemplate,\n\tstyles: [calendarCSS, CalendarHeaderCss],\n})\n/**\n * Fired when the selected dates change.\n *\n * **Note:** If you call `preventDefault()` for this event, the component will not\n * create instances of `ui5-date` for the newly selected dates. In that case you should do this manually.\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n@event(\"show-month-view\", {\n\tbubbles: true,\n})\n@event(\"show-year-view\", {\n\tbubbles: true,\n})\n@event(\"show-year-range-view\", {\n\tbubbles: true,\n})\nclass Calendar extends CalendarPart {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"selection-change\": CalendarSelectionChangeEventDetail,\n\t\t\"show-month-view\": void,\n\t\t\"show-year-view\": void,\n\t\t\"show-year-range-view\": void,\n\t}\n\t/**\n\t * Defines the type of selection used in the calendar 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 * @public\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 * @public\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers = false;\n\n\t/**\n\t * Which picker is currently visible to the user: day/month/year/yearRange\n\t * @private\n\t */\n\t@property()\n\t_currentPicker: \"day\" | \"month\" | \"year\" | \"yearrange\" = \"day\"\n\n\t@property({ type: Boolean })\n\t_previousButtonDisabled = false;\n\n\t@property({ type: Boolean })\n\t_nextButtonDisabled = false;\n\n\t@property()\n\t_headerMonthButtonText?: string;\n\n\t@property()\n\t_headerYearButtonText?: string;\n\n\t@property()\n\t_headerYearButtonTextSecType?: string;\n\n\t@property()\n\t_headerYearRangeButtonText?: string;\n\n\t@property()\n\t_headerYearRangeButtonTextSecType?: string;\n\n\t@property({ noAttribute: true })\n\t_pickersMode: `${CalendarPickersMode}` = \"DAY_MONTH_YEAR\";\n\n\t_valueIsProcessed = false;\n\n\t_rangeStartYear?: number;\n\n\t/**\n\t * Defines the calendar legend of the component.\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tcalendarLegend!: Array<CalendarLegend>;\n\n\t/**\n\t * Defines the selected date or dates (depending on the `selectionMode` property)\n\t * for this calendar as instances of `ui5-date` or `ui5-date-range`.\n\t * Use `ui5-date` for single or multiple selection, and `ui5-date-range` for range selection.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\tdates!: Array<ICalendarSelectedDates>;\n\n\t/**\n\t * Defines the special dates, visually emphasized in the calendar.\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tspecialDates!: Array<SpecialCalendarDate>;\n\n\t/**\n\t * Defines the selected item type of the calendar legend item (if such exists).\n\t * @private\n\t */\n\t@property()\n\t_selectedItemType: `${CalendarLegendItemType}` = \"None\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tget _selectedDatesTimestamps(): Array<number> {\n\t\tlet selectedDates: Array<number> = [];\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Range) {\n\t\t\tconst range = this.dates.find(date => date.hasAttribute(\"ui5-date-range\"));\n\t\t\tconst startDate = range && range.startValue && this.getFormat().parse(range.startValue, true) as Date;\n\t\t\tconst endDate = range && range.endValue && this.getFormat().parse(range.endValue, true) as Date;\n\n\t\t\tif (startDate) {\n\t\t\t\tselectedDates.push(startDate.getTime() / 1000);\n\t\t\t}\n\n\t\t\tif (endDate) {\n\t\t\t\tselectedDates.push(endDate.getTime() / 1000);\n\t\t\t}\n\t\t} else {\n\t\t\tselectedDates = this.dates\n\t\t\t\t.filter(dateElement => {\n\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date\")\n\t\t\t\t\t\t&& dateElement.value\n\t\t\t\t\t\t&& this._isValidCalendarDate(dateElement.value)\n\t\t\t\t\t\t&& this._getTimeStampFromString(dateElement.value);\n\t\t\t\t})\n\t\t\t\t.map(dateElement => Number(this._getTimeStampFromString(dateElement.value!)) / 1000);\n\t\t}\n\n\t\treturn selectedDates;\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_setSelectedDates(selectedDates: Array<number>) {\n\t\tconst selectedUTCDates = selectedDates.map(timestamp => this.getFormat().format(UI5Date.getInstance(timestamp * 1000), true));\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Range) {\n\t\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\t\tif (selectedUTCDates.length) {\n\t\t\t\tlet dateRange = this.dates.find(dateElement => dateElement.hasAttribute(\"ui5-date-range\") && dateElement.startValue === selectedUTCDates[0]);\n\t\t\t\tif (!dateRange) {\n\t\t\t\t\tdateRange = document.createElement(CalendarDateRange.getMetadata().getTag()) as CalendarDateRange;\n\t\t\t\t\tdateRange.startValue = selectedUTCDates[0];\n\t\t\t\t\tthis.appendChild(dateRange);\n\t\t\t\t} else {\n\t\t\t\t\tdateRange.endValue = selectedUTCDates[1];\n\t\t\t\t}\n\t\t\t\t// Remove all elements for dates that are no longer selected\n\t\t\t\tthis.dates\n\t\t\t\t\t.filter(dateElement => {\n\t\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date\")\n\t\t\t\t\t\t\t|| (dateRange && dateElement.startValue !== dateRange.startValue);\n\t\t\t\t\t})\n\t\t\t\t\t.forEach(dateElement => {\n\t\t\t\t\t\tthis.removeChild(dateElement);\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tconst valuesInDOM = this._selectedDatesTimestamps.map(timestamp => this.getFormat().format(UI5Date.getInstance(timestamp * 1000)));\n\n\t\t\t// Remove all elements for dates that are no longer selected\n\t\t\tthis.dates\n\t\t\t\t.filter(dateElement => {\n\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date-range\")\n\t\t\t\t\t\t|| (dateElement.hasAttribute(\"ui5-date\") && !selectedUTCDates.includes(dateElement.value!));\n\t\t\t\t})\n\t\t\t\t.forEach(dateElement => {\n\t\t\t\t\tthis.removeChild(dateElement);\n\t\t\t\t});\n\n\t\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\t\tselectedUTCDates\n\t\t\t\t.filter(value => !valuesInDOM.includes(value))\n\t\t\t\t.forEach(value => {\n\t\t\t\t\tconst dateElement = document.createElement(CalendarDate.getMetadata().getTag()) as CalendarDate;\n\t\t\t\t\tdateElement.value = value;\n\t\t\t\t\tthis.appendChild(dateElement);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t_isValidCalendarDate(dateString: string): boolean {\n\t\tconst date = this.getFormat().parse(dateString);\n\t\treturn !!date;\n\t}\n\n\tget _specialCalendarDates() {\n\t\tconst hasSelectedType = this._specialDates.some(date => date.type === this._selectedItemType);\n\t\tconst validSpecialDates = this._specialDates.filter(date => {\n\t\t\tconst dateType = date.type;\n\t\t\tconst dateValue = date.value;\n\t\t\tconst isTypeMatch = hasSelectedType\n\t\t\t\t? (dateType === this._selectedItemType || dateType === \"Working\" || dateType === \"NonWorking\")\n\t\t\t\t: true;\n\t\t\treturn isTypeMatch && dateValue && this._isValidCalendarDate(dateValue);\n\t\t});\n\n\t\tvalidSpecialDates.forEach(date => {\n\t\t\tconst refLegendItem = this.calendarLegend.length ? this.calendarLegend[0].items.find(item => item.type === date.type) : undefined;\n\t\t\tdate._tooltip = refLegendItem?.text || \"\";\n\t\t});\n\n\t\tconst uniqueDates = new Set();\n\t\tconst uniqueSpecialDates: Array<SpecialCalendarDateT> = [];\n\n\t\tvalidSpecialDates.forEach(date => {\n\t\t\tconst dateFromValue = this.getFormat().parse(date.value) as Date | UI5Date;\n\t\t\tconst timestamp = dateFromValue.getTime();\n\n\t\t\tif (!uniqueDates.has(timestamp)) {\n\t\t\t\tuniqueDates.add(timestamp);\n\t\t\t\tconst specialDateTimestamp = CalendarDateComponent.fromLocalJSDate(dateFromValue).valueOf() / 1000;\n\t\t\t\tconst type = date.type;\n\t\t\t\tconst tooltip = date._tooltip;\n\t\t\t\tuniqueSpecialDates.push({ specialDateTimestamp, type, tooltip });\n\t\t\t}\n\t\t});\n\n\t\treturn uniqueSpecialDates;\n\t}\n\n\t_onCalendarLegendSelectionChange(e: CustomEvent<CalendarLegendItemSelectionChangeEventDetail>) {\n\t\tconst defaultTypes = [\"Working\", \"NonWorking\", \"Selected\", \"Today\"];\n\t\tthis._selectedItemType = e.detail.item.type;\n\n\t\tif (defaultTypes.includes(this._selectedItemType)) {\n\t\t\tthis._selectedItemType = \"None\"; // In order to avoid filtering of default types\n\t\t}\n\t}\n\n\t/**\n\t * Makes sure that _currentPicker is always set to a value, allowed by _pickersMode\n\t */\n\t_normalizeCurrentPicker() {\n\t\tif (this._currentPicker === \"day\" && this._pickersMode !== CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToMonthPicker(true);\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis.switchToYearPicker(true);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._normalizeCurrentPicker();\n\n\t\tif (!this._valueIsProcessed) {\n\t\t\tif (this._selectedDatesTimestamps) {\n\t\t\t\tthis.timestamp = this._selectedDatesTimestamps[0];\n\t\t\t}\n\n\t\t\tthis._valueIsProcessed = true;\n\t\t}\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages\n\t\tthis._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();\n\t\tthis._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();\n\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._headerMonthButtonText = localeData.getMonthsStandAlone(\"wide\", this.primaryCalendarType)[this._calendarDate.getMonth()];\n\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStartText, rangeEndText } = this._formatYearRangeText(currentYearRange);\n\t\tthis._headerYearRangeButtonText = `${rangeStartText} - ${rangeEndText}`;\n\n\t\tthis._secondaryCalendarType && this._setSecondaryCalendarTypeButtonText();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tthis._valueIsProcessed = false;\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderMonthButtonPress() {\n\t\tthis.switchToMonthPicker();\n\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t}\n\n\tasync switchToDayPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"day\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\tasync switchToMonthPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"month\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderYearButtonPress() {\n\t\tthis.switchToYearPicker();\n\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t}\n\n\tasync switchToYearPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"year\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"year range\" button in the YearPicker header\n\t */\n\tonHeaderYearRangeButtonPress() {\n\t\tthis.switchToYearRangePicker();\n\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t}\n\n\tasync switchToYearRangePicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"yearrange\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\tget _currentPickerDOM() {\n\t\t// Calendar's shadowRoot and all the pickers are always present - the \"!\" is safe to be used.\n\t\treturn this.shadowRoot!.querySelector(`[ui5-${this._currentPicker}picker]`)! as unknown as ICalendarPicker;\n\t}\n\n\t/**\n\t * The year clicked the \"Previous\" button in the header\n\t */\n\tonHeaderPreviousPress() {\n\t\tthis._currentPickerDOM._showPreviousPage();\n\t}\n\n\t/**\n\t * The year clicked the \"Next\" button in the header\n\t */\n\tonHeaderNextPress() {\n\t\tthis._currentPickerDOM._showNextPage();\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStart, rangeEnd } = this._createYearRangeDates(currentYearRange);\n\n\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t.firstDate;\n\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t.lastDate;\n\n\t\tthis._headerYearRangeButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate())} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate())}`;\n\t}\n\n\tget secondaryCalendarTypeButtonText() {\n\t\tif (!this.hasSecondaryCalendarType) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localDate = UI5Date.getInstance(this._timestamp * 1000);\n\t\tconst secondYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tconst dateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this._secondaryCalendarType, this._timestamp);\n\t\tconst secondMonthInfo = convertMonthNumbersToMonthNames(dateInSecType.firstDate.getMonth(), dateInSecType.lastDate.getMonth(), this._secondaryCalendarType);\n\t\tconst secondYearText = secondYearFormat.format(localDate);\n\n\t\treturn {\n\t\t\tyearButtonText: secondYearText,\n\t\t\tmonthButtonText: secondMonthInfo.text,\n\t\t\tmonthButtonInfo: secondMonthInfo.textInfo,\n\t\t};\n\t}\n\n\t/**\n\t * The month button is hidden when the month picker or year picker is shown\n\t * @private\n\t */\n\tget _isHeaderMonthButtonHidden(): boolean {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\t/**\n\t * The year range picker button is shown only in the year picker\n\t * @private\n\t */\n\tget _isHeaderYearRangeButtonHidden(): boolean {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\t/**\n\t * The year button is shown only in the day & month pickers\n\t * @private\n\t */\n\tget _isHeaderYearButtonHidden(): boolean {\n\t\treturn !(this._currentPicker === \"day\" || this._currentPicker === \"month\");\n\t}\n\n\tget _isDayPickerHidden() {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\tget _isMonthPickerHidden() {\n\t\treturn this._currentPicker !== \"month\";\n\t}\n\n\tget _isYearPickerHidden() {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\tget _isYearRangePickerHidden() {\n\t\treturn this._currentPicker !== \"yearrange\";\n\t}\n\n\tget _currentYearRange(): CalendarYearRangeT {\n\t\tconst rangeSize = this.hasSecondaryCalendarType ? 8 : 20;\n\t\tconst yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;\n\t\tconst currentYear = this._calendarDate.getYear();\n\n\t\t// On first load, current year should be the 3rd or 10th year in the range (depending on the calendar type)\n\t\tif (!this._rangeStartYear) {\n\t\t\tthis._rangeStartYear = currentYear - yearsOffset;\n\t\t}\n\n\t\t// If page navigation occured, update the current range start year\n\t\tthis._rangeStartYear += Math.floor((currentYear - this._rangeStartYear) / rangeSize) * rangeSize;\n\n\t\t// Normalize range start year to be between the min and absolute max year\n\t\tconst minYear = this._minDate.getYear();\n\t\tif (currentYear - rangeSize < minYear) {\n\t\t\tthis._rangeStartYear = minYear;\n\t\t}\n\n\t\tconst absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();\n\t\tif (currentYear + rangeSize > absoluteMaxYear) {\n\t\t\tthis._rangeStartYear = absoluteMaxYear - rangeSize + 1;\n\t\t}\n\n\t\treturn {\n\t\t\tstartYear: this._rangeStartYear,\n\t\t\tendYear: this._rangeStartYear + rangeSize - 1,\n\t\t};\n\t}\n\n\t_fireEventAndUpdateSelectedDates(selectedDates: Array<number>) {\n\t\tconst datesValues = selectedDates.map(timestamp => {\n\t\t\tconst calendarDate = CalendarDateComponent.fromTimestamp(timestamp * 1000, this._primaryCalendarType);\n\t\t\treturn this.getFormat().format(calendarDate.toUTCJSDate(), true);\n\t\t});\n\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"selection-change\", { timestamp: this.timestamp, selectedDates: [...selectedDates], selectedValues: datesValues });\n\t\tif (!defaultPrevented) {\n\t\t\tthis._setSelectedDates(selectedDates);\n\t\t}\n\t}\n\n\tonSelectedDatesChange(e: CustomEvent<DayPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t}\n\n\tonSelectedMonthChange(e: CustomEvent<MonthPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToDayPicker();\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t\t}\n\t}\n\n\tonSelectedYearChange(e: CustomEvent<YearPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToDayPicker();\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis.switchToMonthPicker();\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t\t}\n\t}\n\n\tonSelectedYearRangeChange(e: CustomEvent<YearRangePickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis.switchToYearPicker();\n\t}\n\n\tasync onNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tawait renderFinished();\n\t\tthis._currentPickerDOM.focus();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\n\t\tif (!isF4Shift(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._currentPicker !== \"year\") {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t} else {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\t_onLegendFocusOut() {\n\t\tthis._selectedItemType = \"None\";\n\t}\n\n\tget _specialDates() {\n\t\treturn this.getSlottedNodes<SpecialCalendarDate>(\"specialDates\");\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tprevButton: {\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._previousButtonDisabled,\n\t\t\t},\n\t\t\tnextButton: {\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._nextButtonDisabled,\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStartText, rangeEndText } = this._formatYearRangeText(currentYearRange);\n\n\t\tconst headerMonthButtonText = this.hasSecondaryCalendarType\n\t\t\t? `${this._headerMonthButtonText}, ${this.secondMonthButtonText}` : `${this._headerMonthButtonText}`;\n\n\t\t// Get base labels\n\t\tconst monthLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_MONTH_BUTTON, headerMonthButtonText);\n\t\tconst yearLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_BUTTON, this._headerYearButtonText as string);\n\t\tconst yearRangeLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_RANGE_BUTTON, rangeStartText, rangeEndText);\n\n\t\t// Get shortcuts\n\t\tconst monthShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_MONTH_BUTTON_SHORTCUT);\n\t\tconst yearShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_BUTTON_SHORTCUT);\n\t\tconst yearRangeShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_RANGE_BUTTON_SHORTCUT);\n\n\t\treturn {\n\t\t\tariaLabelMonthButton: monthLabel,\n\t\t\tariaLabelYearButton: yearLabel,\n\t\t\tariaLabelYearRangeButton: yearRangeLabel,\n\n\t\t\t// Keyboard shortcuts for aria-keyshortcuts\n\t\t\tkeyShortcutMonthButton: monthShortcut,\n\t\t\tkeyShortcutYearButton: yearShortcut,\n\t\t\tkeyShortcutYearRangeButton: yearRangeShortcut,\n\n\t\t\t// Tooltips combining label and shortcut\n\t\t\ttooltipMonthButton: `${monthLabel} (${monthShortcut})`,\n\t\t\ttooltipYearButton: `${yearLabel} (${yearShortcut})`,\n\t\t\ttooltipYearRangeButton: `${yearRangeLabel} (${yearRangeShortcut})`,\n\t\t};\n\t}\n\n\t/**\n\t * Helper method to create CalendarDateComponent instances for year range\n\t * @private\n\t */\n\t_createYearRangeDates(yearRange: CalendarYearRangeT, calendarType: string = this._primaryCalendarType) {\n\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, calendarType);\n\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, calendarType);\n\n\t\trangeStart.setYear(yearRange.startYear);\n\t\trangeEnd.setYear(yearRange.endYear);\n\n\t\treturn { rangeStart, rangeEnd };\n\t}\n\n\t/**\n\t * Helper method to format year range text\n\t * @private\n\t */\n\t_formatYearRangeText(yearRange: CalendarYearRangeT) {\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst { rangeStart, rangeEnd } = this._createYearRangeDates(yearRange, this.primaryCalendarType);\n\n\t\tconst rangeStartText = yearFormat.format(rangeStart.toLocalJSDate());\n\t\tconst rangeEndText = yearFormat.format(rangeEnd.toLocalJSDate());\n\n\t\treturn { rangeStartText, rangeEndText };\n\t}\n\n\tget secondMonthButtonText() {\n\t\tconst secondMonthButtonText = this.secondaryCalendarTypeButtonText?.monthButtonText as string;\n\n\t\treturn secondMonthButtonText;\n\t}\n\n\tonMonthButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\t}\n\n\tonMonthButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\t}\n\n\tonYearButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t}\n\t}\n\n\tonYearButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t}\n\t}\n\n\tonYearRangeButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\tonYearRangeButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\tonPrevButtonClick(e: MouseEvent) {\n\t\tif (this._previousButtonDisabled) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onHeaderPreviousPress();\n\t\te.preventDefault();\n\t}\n\n\tonNextButtonClick(e: MouseEvent) {\n\t\tif (this._nextButtonDisabled) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onHeaderNextPress();\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Returns an array of UTC timestamps, representing the selected dates.\n\t * @protected\n\t * @deprecated\n\t */\n\tget selectedDates(): Array<number> {\n\t\treturn this._selectedDatesTimestamps;\n\t}\n\n\t/**\n\t * Creates instances of `ui5-date` or `ui5-date-range` inside this `ui5-calendar` with values, equal to the provided UTC timestamps\n\t * @protected\n\t * @deprecated\n\t * @param selectedDates Array of UTC timestamps\n\t */\n\tset selectedDates(selectedDates: Array<number>) {\n\t\tthis._setSelectedDates(selectedDates);\n\t}\n}\n\nCalendar.define();\n\nexport default Calendar;\nexport type {\n\tICalendarPicker,\n\tCalendarYearRangeT,\n\tICalendarSelectedDates,\n\tCalendarSelectionChangeEventDetail,\n\tSpecialCalendarDateT,\n};\n"]}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../src/Calendar.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport CalendarDateComponent from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisEnter,\n\tisF4,\n\tisF4Shift,\n\tisSpace,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-left.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-right.js\";\nimport { getMaxCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport CalendarDate from \"./CalendarDate.js\";\nimport CalendarDateRange from \"./CalendarDateRange.js\";\nimport \"./SpecialCalendarDate.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type CalendarLegend from \"./CalendarLegend.js\";\nimport type { CalendarLegendItemSelectionChangeEventDetail } from \"./CalendarLegend.js\";\nimport type SpecialCalendarDate from \"./SpecialCalendarDate.js\";\nimport type CalendarLegendItemType from \"./types/CalendarLegendItemType.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./CalendarTemplate.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\nimport CalendarHeaderCss from \"./generated/themes/CalendarHeader.css.js\";\nimport {\n\tCALENDAR_HEADER_MONTH_BUTTON,\n\tCALENDAR_HEADER_MONTH_BUTTON_SHORTCUT,\n\tCALENDAR_HEADER_YEAR_BUTTON,\n\tCALENDAR_HEADER_YEAR_BUTTON_SHORTCUT,\n\tCALENDAR_HEADER_YEAR_RANGE_BUTTON,\n\tCALENDAR_HEADER_YEAR_RANGE_BUTTON_SHORTCUT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type { YearRangePickerChangeEventDetail } from \"./YearRangePicker.js\";\n\ninterface ICalendarPicker extends HTMLElement {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_currentYearRange?: CalendarYearRangeT,\n}\n\n/**\n * Interface for components that may be slotted inside a `ui5-calendar`.\n *\n * **Note:** Use with `ui5-date` or `ui5-date-range` as calendar date selection types.\n * @public\n */\ninterface ICalendarSelectedDates extends UI5Element {\n\tvalue?: string,\n\tstartValue?: string,\n\tendValue?: string\n}\n\ntype CalendarSelectionChangeEventDetail = {\n\tselectedValues: Array<string>,\n\tselectedDates: Array<number>,\n\ttimestamp: number | undefined,\n}\n\ntype SpecialCalendarDateT = {\n\tspecialDateTimestamp: number;\n\ttype: `${CalendarLegendItemType}`;\n\ttooltip?: string;\n};\n\ntype CalendarYearRangeT = {\n\tstartYear: number,\n\tendYear: number,\n}\n\ntype DisabledDateRangeT = {\n\tstartValue?: string,\n\tendValue?: string\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-calendar` component allows users to select one or more dates.\n *\n * Currently selected dates are represented with instances of `ui5-date` as\n * children of the `ui5-calendar`. The value property of each `ui5-date` must be a\n * date string, correctly formatted according to the `ui5-calendar`'s `formatPattern` property.\n * Whenever the user changes the date selection, `ui5-calendar` will automatically create/remove instances\n * of `ui5-date` in itself, unless you prevent this behavior by calling `preventDefault()` for the\n * `selection-change` event. This is useful if you want to control the selected dates externally.\n *\n * ### Usage\n *\n * The user can navigate to a particular date by:\n *\n * - Pressing over a month inside the months view\n * - Pressing over an year inside the years view\n *\n * The user can confirm a date selection by pressing over a date inside the days view.\n *\n * ### Keyboard Handling\n * The `ui5-calendar` provides advanced keyboard handling.\n * When a picker is showed and focused the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - Day picker:\n *\n * - [F4] - Shows month picker\n * - [Shift] + [F4] - Shows year picker\n * - [Page Up] - Navigate to the previous month\n * - [Page Down] - Navigate to the next month\n * - [Shift] + [Page Up] - Navigate to the previous year\n * - [Shift] + [Page Down] - Navigate to the next year\n * - [Ctrl] + [Shift] + [Page Up] - Navigate ten years backwards\n * - [Ctrl] + [Shift] + [Page Down] - Navigate ten years forwards\n * - [Home] - Navigate to the first day of the week\n * - [End] - Navigate to the last day of the week\n * - [Ctrl] + [Home] - Navigate to the first day of the month\n * - [Ctrl] + [End] - Navigate to the last day of the month\n *\n * - Month picker:\n *\n * - [Page Up] - Navigate to the previous year\n * - [Page Down] - Navigate to the next year\n * - [Home] - Navigate to the first month of the current row\n * - [End] - Navigate to the last month of the current row\n * - [Ctrl] + [Home] - Navigate to the first month of the current year\n * - [Ctrl] + [End] - Navigate to the last month of the year\n *\n * - Year picker:\n *\n * - [Page Up] - Navigate to the previous year range\n * - [Page Down] - Navigate the next year range\n * - [Home] - Navigate to the first year of the current row\n * - [End] - Navigate to the last year of the current row\n * - [Ctrl] + [Home] - Navigate to the first year of the current year range\n * - [Ctrl] + [End] - Navigate to the last year of the current year range\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### Calendar types\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the `primaryCalendarType` property and import one or more of the following modules:\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";`\n *\n * Or, you can use the global configuration and set the `calendarType` key:\n *\n * ```html\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * \t{\n * \t\t\"calendarType\": \"Japanese\"\n * \t}\n * </script>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Calendar.js\";`\n * @constructor\n * @extends CalendarPart\n * @public\n * @csspart day-cell - Used to style the day cells.\n * @csspart day-cell-selected - Used to style the day cells when selected.\n * @csspart day-cell-selected-between - Used to style the day cells in between of selected dates in range.\n * @csspart month-cell - Used to style the month cells.\n * @csspart month-cell-selected - Used to style the month cells when selected.\n * @csspart month-cell-selected-between - Used to style the day cells in between of selected months in range.\n * @csspart month-picker-root - Used to style the month picker root container.\n * @csspart year-cell - Used to style the year cells.\n * @csspart year-cell-selected - Used to style the year cells when selected.\n * @csspart year-cell-selected-between - Used to style the year cells in between of selected years in range.\n * @csspart year-picker-root - Used to style the year picker root container.\n * @csspart year-range-cell - Used to style the year range cells.\n * @csspart year-range-cell-selected - Used to style the year range cells when selected.\n * @csspart year-range-cell-selected-between - Used to style the year range cells in between of selected year ranges.\n * @csspart year-range-picker-root - Used to style the year range picker root container.\n * @csspart calendar-header-middle-button - Used to style the calendar header middle buttons (month/year/year-range buttons).\n * @csspart calendar-header-arrow-button - Used to style the calendar header navigation arrow buttons (previous/next buttons).\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-calendar\",\n\tfastNavigation: true,\n\ttemplate: CalendarTemplate,\n\tstyles: [calendarCSS, CalendarHeaderCss],\n})\n/**\n * Fired when the selected dates change.\n *\n * **Note:** If you call `preventDefault()` for this event, the component will not\n * create instances of `ui5-date` for the newly selected dates. In that case you should do this manually.\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n@event(\"show-month-view\", {\n\tbubbles: true,\n})\n@event(\"show-year-view\", {\n\tbubbles: true,\n})\n@event(\"show-year-range-view\", {\n\tbubbles: true,\n})\nclass Calendar extends CalendarPart {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\t\"selection-change\": CalendarSelectionChangeEventDetail,\n\t\t\"show-month-view\": void,\n\t\t\"show-year-view\": void,\n\t\t\"show-year-range-view\": void,\n\t}\n\t/**\n\t * Defines the type of selection used in the calendar 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 * @public\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 * @public\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers = false;\n\n\t/**\n\t * Which picker is currently visible to the user: day/month/year/yearRange\n\t * @private\n\t */\n\t@property()\n\t_currentPicker: \"day\" | \"month\" | \"year\" | \"yearrange\" = \"day\"\n\n\t@property({ type: Boolean })\n\t_previousButtonDisabled = false;\n\n\t@property({ type: Boolean })\n\t_nextButtonDisabled = false;\n\n\t@property()\n\t_headerMonthButtonText?: string;\n\n\t@property()\n\t_headerYearButtonText?: string;\n\n\t@property()\n\t_headerYearButtonTextSecType?: string;\n\n\t@property()\n\t_headerYearRangeButtonText?: string;\n\n\t@property()\n\t_headerYearRangeButtonTextSecType?: string;\n\n\t@property({ noAttribute: true })\n\t_pickersMode: `${CalendarPickersMode}` = \"DAY_MONTH_YEAR\";\n\n\t_valueIsProcessed = false;\n\n\t_rangeStartYear?: number;\n\n\t/**\n\t * Defines the calendar legend of the component.\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tcalendarLegend!: Array<CalendarLegend>;\n\n\t/**\n\t * Defines the selected date or dates (depending on the `selectionMode` property)\n\t * for this calendar as instances of `ui5-date` or `ui5-date-range`.\n\t * Use `ui5-date` for single or multiple selection, and `ui5-date-range` for range selection.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\tdates!: Array<ICalendarSelectedDates>;\n\n\t/**\n\t * Defines the special dates, visually emphasized in the calendar.\n\t * @public\n\t * @since 1.23.0\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tspecialDates!: Array<SpecialCalendarDate>;\n\n\t/**\n\t * Defines the disabled date ranges that cannot be selected in the calendar.\n\t * Use `ui5-date-range` elements to specify ranges of disabled dates.\n\t * Each range can define a start date, an end date, or both.\n\t * @public\n\t * @since 2.16.0\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tdisabledDates!: Array<CalendarDateRange>;\n\n\t/**\n\t * Defines the selected item type of the calendar legend item (if such exists).\n\t * @private\n\t */\n\t@property()\n\t_selectedItemType: `${CalendarLegendItemType}` = \"None\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tget _selectedDatesTimestamps(): Array<number> {\n\t\tlet selectedDates: Array<number> = [];\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Range) {\n\t\t\tconst range = this.dates.find(date => date.hasAttribute(\"ui5-date-range\"));\n\t\t\tconst startDate = range && range.startValue && this.getFormat().parse(range.startValue, true) as Date;\n\t\t\tconst endDate = range && range.endValue && this.getFormat().parse(range.endValue, true) as Date;\n\n\t\t\tif (startDate) {\n\t\t\t\tselectedDates.push(startDate.getTime() / 1000);\n\t\t\t}\n\n\t\t\tif (endDate) {\n\t\t\t\tselectedDates.push(endDate.getTime() / 1000);\n\t\t\t}\n\t\t} else {\n\t\t\tselectedDates = this.dates\n\t\t\t\t.filter(dateElement => {\n\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date\")\n\t\t\t\t\t\t&& dateElement.value\n\t\t\t\t\t\t&& this._isValidCalendarDate(dateElement.value)\n\t\t\t\t\t\t&& this._getTimeStampFromString(dateElement.value);\n\t\t\t\t})\n\t\t\t\t.map(dateElement => Number(this._getTimeStampFromString(dateElement.value!)) / 1000);\n\t\t}\n\n\t\treturn selectedDates;\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_setSelectedDates(selectedDates: Array<number>) {\n\t\tconst selectedUTCDates = selectedDates.map(timestamp => this.getFormat().format(UI5Date.getInstance(timestamp * 1000), true));\n\n\t\tif (this.selectionMode === CalendarSelectionMode.Range) {\n\t\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\t\tif (selectedUTCDates.length) {\n\t\t\t\tlet dateRange = this.dates.find(dateElement => dateElement.hasAttribute(\"ui5-date-range\") && dateElement.startValue === selectedUTCDates[0]);\n\t\t\t\tif (!dateRange) {\n\t\t\t\t\tdateRange = document.createElement(CalendarDateRange.getMetadata().getTag()) as CalendarDateRange;\n\t\t\t\t\tdateRange.startValue = selectedUTCDates[0];\n\t\t\t\t\tthis.appendChild(dateRange);\n\t\t\t\t} else {\n\t\t\t\t\tdateRange.endValue = selectedUTCDates[1];\n\t\t\t\t}\n\t\t\t\t// Remove all elements for dates that are no longer selected\n\t\t\t\tthis.dates\n\t\t\t\t\t.filter(dateElement => {\n\t\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date\")\n\t\t\t\t\t\t\t|| (dateRange && dateElement.startValue !== dateRange.startValue);\n\t\t\t\t\t})\n\t\t\t\t\t.forEach(dateElement => {\n\t\t\t\t\t\tthis.removeChild(dateElement);\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tconst valuesInDOM = this._selectedDatesTimestamps.map(timestamp => this.getFormat().format(UI5Date.getInstance(timestamp * 1000)));\n\n\t\t\t// Remove all elements for dates that are no longer selected\n\t\t\tthis.dates\n\t\t\t\t.filter(dateElement => {\n\t\t\t\t\treturn dateElement.hasAttribute(\"ui5-date-range\")\n\t\t\t\t\t\t|| (dateElement.hasAttribute(\"ui5-date\") && !selectedUTCDates.includes(dateElement.value!));\n\t\t\t\t})\n\t\t\t\t.forEach(dateElement => {\n\t\t\t\t\tthis.removeChild(dateElement);\n\t\t\t\t});\n\n\t\t\t// Create tags for the selected dates that don't already exist in DOM\n\t\t\tselectedUTCDates\n\t\t\t\t.filter(value => !valuesInDOM.includes(value))\n\t\t\t\t.forEach(value => {\n\t\t\t\t\tconst dateElement = document.createElement(CalendarDate.getMetadata().getTag()) as CalendarDate;\n\t\t\t\t\tdateElement.value = value;\n\t\t\t\t\tthis.appendChild(dateElement);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t_isValidCalendarDate(dateString: string): boolean {\n\t\tconst date = this.getFormat().parse(dateString);\n\t\treturn !!date;\n\t}\n\n\tget _disabledDates() {\n\t\tconst validDisabledDateRanges = this.disabledDates.filter(dateRange => {\n\t\t\tconst startValue = dateRange.startValue;\n\t\t\tconst endValue = dateRange.endValue;\n\t\t\treturn (startValue && this._isValidCalendarDate(startValue)) || (endValue && this._isValidCalendarDate(endValue));\n\t\t});\n\n\t\treturn validDisabledDateRanges.map(dateRange => ({\n\t\t\tstartValue: dateRange.startValue,\n\t\t\tendValue: dateRange.endValue,\n\t\t}));\n\t}\n\n\tget _specialCalendarDates() {\n\t\tconst hasSelectedType = this._specialDates.some(date => date.type === this._selectedItemType);\n\t\tconst validSpecialDates = this._specialDates.filter(date => {\n\t\t\tconst dateType = date.type;\n\t\t\tconst dateValue = date.value;\n\t\t\tconst isTypeMatch = hasSelectedType\n\t\t\t\t? (dateType === this._selectedItemType || dateType === \"Working\" || dateType === \"NonWorking\")\n\t\t\t\t: true;\n\t\t\treturn isTypeMatch && dateValue && this._isValidCalendarDate(dateValue);\n\t\t});\n\n\t\tvalidSpecialDates.forEach(date => {\n\t\t\tconst refLegendItem = this.calendarLegend.length ? this.calendarLegend[0].items.find(item => item.type === date.type) : undefined;\n\t\t\tdate._tooltip = refLegendItem?.text || \"\";\n\t\t});\n\n\t\tconst uniqueDates = new Set();\n\t\tconst uniqueSpecialDates: Array<SpecialCalendarDateT> = [];\n\n\t\tvalidSpecialDates.forEach(date => {\n\t\t\tconst dateFromValue = this.getFormat().parse(date.value) as Date | UI5Date;\n\t\t\tconst timestamp = dateFromValue.getTime();\n\n\t\t\tif (!uniqueDates.has(timestamp)) {\n\t\t\t\tuniqueDates.add(timestamp);\n\t\t\t\tconst specialDateTimestamp = CalendarDateComponent.fromLocalJSDate(dateFromValue).valueOf() / 1000;\n\t\t\t\tconst type = date.type;\n\t\t\t\tconst tooltip = date._tooltip;\n\t\t\t\tuniqueSpecialDates.push({ specialDateTimestamp, type, tooltip });\n\t\t\t}\n\t\t});\n\n\t\treturn uniqueSpecialDates;\n\t}\n\n\t_onCalendarLegendSelectionChange(e: CustomEvent<CalendarLegendItemSelectionChangeEventDetail>) {\n\t\tconst defaultTypes = [\"Working\", \"NonWorking\", \"Selected\", \"Today\"];\n\t\tthis._selectedItemType = e.detail.item.type;\n\n\t\tif (defaultTypes.includes(this._selectedItemType)) {\n\t\t\tthis._selectedItemType = \"None\"; // In order to avoid filtering of default types\n\t\t}\n\t}\n\n\t/**\n\t * Makes sure that _currentPicker is always set to a value, allowed by _pickersMode\n\t */\n\t_normalizeCurrentPicker() {\n\t\tif (this._currentPicker === \"day\" && this._pickersMode !== CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToMonthPicker(true);\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis.switchToYearPicker(true);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._normalizeCurrentPicker();\n\n\t\tif (!this._valueIsProcessed) {\n\t\t\tif (this._selectedDatesTimestamps) {\n\t\t\t\tthis.timestamp = this._selectedDatesTimestamps[0];\n\t\t\t}\n\n\t\t\tthis._valueIsProcessed = true;\n\t\t}\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages\n\t\tthis._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();\n\t\tthis._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();\n\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tthis._headerMonthButtonText = localeData.getMonthsStandAlone(\"wide\", this.primaryCalendarType)[this._calendarDate.getMonth()];\n\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStartText, rangeEndText } = this._formatYearRangeText(currentYearRange);\n\t\tthis._headerYearRangeButtonText = `${rangeStartText} - ${rangeEndText}`;\n\n\t\tthis._secondaryCalendarType && this._setSecondaryCalendarTypeButtonText();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tthis._valueIsProcessed = false;\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderMonthButtonPress() {\n\t\tthis.switchToMonthPicker();\n\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t}\n\n\tasync switchToDayPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"day\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\tasync switchToMonthPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"month\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderYearButtonPress() {\n\t\tthis.switchToYearPicker();\n\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t}\n\n\tasync switchToYearPicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"year\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\t/**\n\t * The user clicked the \"year range\" button in the YearPicker header\n\t */\n\tonHeaderYearRangeButtonPress() {\n\t\tthis.switchToYearRangePicker();\n\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t}\n\n\tasync switchToYearRangePicker(suppressFocus = false) {\n\t\tthis._currentPicker = \"yearrange\";\n\t\tif (!suppressFocus) {\n\t\t\tawait renderFinished();\n\t\t\tthis._currentPickerDOM.focus();\n\t\t}\n\t}\n\n\tget _currentPickerDOM() {\n\t\t// Calendar's shadowRoot and all the pickers are always present - the \"!\" is safe to be used.\n\t\treturn this.shadowRoot!.querySelector(`[ui5-${this._currentPicker}picker]`)! as unknown as ICalendarPicker;\n\t}\n\n\t/**\n\t * The year clicked the \"Previous\" button in the header\n\t */\n\tonHeaderPreviousPress() {\n\t\tthis._currentPickerDOM._showPreviousPage();\n\t}\n\n\t/**\n\t * The year clicked the \"Next\" button in the header\n\t */\n\tonHeaderNextPress() {\n\t\tthis._currentPickerDOM._showNextPage();\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStart, rangeEnd } = this._createYearRangeDates(currentYearRange);\n\n\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t.firstDate;\n\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t.lastDate;\n\n\t\tthis._headerYearRangeButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate())} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate())}`;\n\t}\n\n\tget secondaryCalendarTypeButtonText() {\n\t\tif (!this.hasSecondaryCalendarType) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localDate = UI5Date.getInstance(this._timestamp * 1000);\n\t\tconst secondYearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\t\tconst dateInSecType = transformDateToSecondaryType(this._primaryCalendarType, this._secondaryCalendarType, this._timestamp);\n\t\tconst secondMonthInfo = convertMonthNumbersToMonthNames(dateInSecType.firstDate.getMonth(), dateInSecType.lastDate.getMonth(), this._secondaryCalendarType);\n\t\tconst secondYearText = secondYearFormat.format(localDate);\n\n\t\treturn {\n\t\t\tyearButtonText: secondYearText,\n\t\t\tmonthButtonText: secondMonthInfo.text,\n\t\t\tmonthButtonInfo: secondMonthInfo.textInfo,\n\t\t};\n\t}\n\n\t/**\n\t * The month button is hidden when the month picker or year picker is shown\n\t * @private\n\t */\n\tget _isHeaderMonthButtonHidden(): boolean {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\t/**\n\t * The year range picker button is shown only in the year picker\n\t * @private\n\t */\n\tget _isHeaderYearRangeButtonHidden(): boolean {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\t/**\n\t * The year button is shown only in the day & month pickers\n\t * @private\n\t */\n\tget _isHeaderYearButtonHidden(): boolean {\n\t\treturn !(this._currentPicker === \"day\" || this._currentPicker === \"month\");\n\t}\n\n\tget _isDayPickerHidden() {\n\t\treturn this._currentPicker !== \"day\";\n\t}\n\n\tget _isMonthPickerHidden() {\n\t\treturn this._currentPicker !== \"month\";\n\t}\n\n\tget _isYearPickerHidden() {\n\t\treturn this._currentPicker !== \"year\";\n\t}\n\n\tget _isYearRangePickerHidden() {\n\t\treturn this._currentPicker !== \"yearrange\";\n\t}\n\n\tget _currentYearRange(): CalendarYearRangeT {\n\t\tconst rangeSize = this.hasSecondaryCalendarType ? 8 : 20;\n\t\tconst yearsOffset = this.hasSecondaryCalendarType ? 2 : 9;\n\t\tconst currentYear = this._calendarDate.getYear();\n\n\t\t// On first load, current year should be the 3rd or 10th year in the range (depending on the calendar type)\n\t\tif (!this._rangeStartYear) {\n\t\t\tthis._rangeStartYear = currentYear - yearsOffset;\n\t\t}\n\n\t\t// If page navigation occured, update the current range start year\n\t\tthis._rangeStartYear += Math.floor((currentYear - this._rangeStartYear) / rangeSize) * rangeSize;\n\n\t\t// Normalize range start year to be between the min and absolute max year\n\t\tconst minYear = this._minDate.getYear();\n\t\tif (currentYear - rangeSize < minYear) {\n\t\t\tthis._rangeStartYear = minYear;\n\t\t}\n\n\t\tconst absoluteMaxYear = getMaxCalendarDate(this._primaryCalendarType).getYear();\n\t\tif (currentYear + rangeSize > absoluteMaxYear) {\n\t\t\tthis._rangeStartYear = absoluteMaxYear - rangeSize + 1;\n\t\t}\n\n\t\treturn {\n\t\t\tstartYear: this._rangeStartYear,\n\t\t\tendYear: this._rangeStartYear + rangeSize - 1,\n\t\t};\n\t}\n\n\t_fireEventAndUpdateSelectedDates(selectedDates: Array<number>) {\n\t\tconst datesValues = selectedDates.map(timestamp => {\n\t\t\tconst calendarDate = CalendarDateComponent.fromTimestamp(timestamp * 1000, this._primaryCalendarType);\n\t\t\treturn this.getFormat().format(calendarDate.toUTCJSDate(), true);\n\t\t});\n\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"selection-change\", { timestamp: this.timestamp, selectedDates: [...selectedDates], selectedValues: datesValues });\n\t\tif (!defaultPrevented) {\n\t\t\tthis._setSelectedDates(selectedDates);\n\t\t}\n\t}\n\n\tonSelectedDatesChange(e: CustomEvent<DayPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t}\n\n\tonSelectedMonthChange(e: CustomEvent<MonthPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToDayPicker();\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t\t}\n\t}\n\n\tonSelectedYearChange(e: CustomEvent<YearPickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\n\t\tif (this._pickersMode === CalendarPickersMode.DAY_MONTH_YEAR) {\n\t\t\tthis.switchToDayPicker();\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis.switchToMonthPicker();\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates(e.detail.dates);\n\t\t}\n\t}\n\n\tonSelectedYearRangeChange(e: CustomEvent<YearRangePickerChangeEventDetail>) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tthis.switchToYearPicker();\n\t}\n\n\tasync onNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t\tawait renderFinished();\n\t\tthis._currentPickerDOM.focus();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\n\t\tif (!isF4Shift(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._currentPicker !== \"year\") {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t} else {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\t_onLegendFocusOut() {\n\t\tthis._selectedItemType = \"None\";\n\t}\n\n\tget _specialDates() {\n\t\treturn this.getSlottedNodes<SpecialCalendarDate>(\"specialDates\");\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tprevButton: {\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._previousButtonDisabled,\n\t\t\t},\n\t\t\tnextButton: {\n\t\t\t\t\"ui5-calheader-arrowbtn\": true,\n\t\t\t\t\"ui5-calheader-arrowbtn-disabled\": this._nextButtonDisabled,\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\tconst currentYearRange = this._currentYearRange;\n\t\tconst { rangeStartText, rangeEndText } = this._formatYearRangeText(currentYearRange);\n\n\t\tconst headerMonthButtonText = this.hasSecondaryCalendarType\n\t\t\t? `${this._headerMonthButtonText}, ${this.secondMonthButtonText}` : `${this._headerMonthButtonText}`;\n\n\t\t// Get base labels\n\t\tconst monthLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_MONTH_BUTTON, headerMonthButtonText);\n\t\tconst yearLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_BUTTON, this._headerYearButtonText as string);\n\t\tconst yearRangeLabel = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_RANGE_BUTTON, rangeStartText, rangeEndText);\n\n\t\t// Get shortcuts\n\t\tconst monthShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_MONTH_BUTTON_SHORTCUT);\n\t\tconst yearShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_BUTTON_SHORTCUT);\n\t\tconst yearRangeShortcut = Calendar.i18nBundle?.getText(CALENDAR_HEADER_YEAR_RANGE_BUTTON_SHORTCUT);\n\n\t\treturn {\n\t\t\tariaLabelMonthButton: monthLabel,\n\t\t\tariaLabelYearButton: yearLabel,\n\t\t\tariaLabelYearRangeButton: yearRangeLabel,\n\n\t\t\t// Keyboard shortcuts for aria-keyshortcuts\n\t\t\tkeyShortcutMonthButton: monthShortcut,\n\t\t\tkeyShortcutYearButton: yearShortcut,\n\t\t\tkeyShortcutYearRangeButton: yearRangeShortcut,\n\n\t\t\t// Tooltips combining label and shortcut\n\t\t\ttooltipMonthButton: `${monthLabel} (${monthShortcut})`,\n\t\t\ttooltipYearButton: `${yearLabel} (${yearShortcut})`,\n\t\t\ttooltipYearRangeButton: `${yearRangeLabel} (${yearRangeShortcut})`,\n\t\t};\n\t}\n\n\t/**\n\t * Helper method to create CalendarDateComponent instances for year range\n\t * @private\n\t */\n\t_createYearRangeDates(yearRange: CalendarYearRangeT, calendarType: string = this._primaryCalendarType) {\n\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, calendarType);\n\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, calendarType);\n\n\t\trangeStart.setYear(yearRange.startYear);\n\t\trangeEnd.setYear(yearRange.endYear);\n\n\t\treturn { rangeStart, rangeEnd };\n\t}\n\n\t/**\n\t * Helper method to format year range text\n\t * @private\n\t */\n\t_formatYearRangeText(yearRange: CalendarYearRangeT) {\n\t\tconst yearFormat = DateFormat.getDateInstance({ format: \"y\", calendarType: this.primaryCalendarType });\n\t\tconst { rangeStart, rangeEnd } = this._createYearRangeDates(yearRange, this.primaryCalendarType);\n\n\t\tconst rangeStartText = yearFormat.format(rangeStart.toLocalJSDate());\n\t\tconst rangeEndText = yearFormat.format(rangeEnd.toLocalJSDate());\n\n\t\treturn { rangeStartText, rangeEndText };\n\t}\n\n\tget secondMonthButtonText() {\n\t\tconst secondMonthButtonText = this.secondaryCalendarTypeButtonText?.monthButtonText as string;\n\n\t\treturn secondMonthButtonText;\n\t}\n\n\tonMonthButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\t}\n\n\tonMonthButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.switchToMonthPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-month-view\");\n\t\t}\n\t}\n\n\tonYearButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t}\n\t}\n\n\tonYearButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.switchToYearPicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-view\");\n\t\t}\n\t}\n\n\tonYearRangeButtonKeyDown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\tonYearRangeButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.switchToYearRangePicker();\n\t\t\tthis.fireDecoratorEvent(\"show-year-range-view\");\n\t\t}\n\t}\n\n\tonPrevButtonClick(e: MouseEvent) {\n\t\tif (this._previousButtonDisabled) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onHeaderPreviousPress();\n\t\te.preventDefault();\n\t}\n\n\tonNextButtonClick(e: MouseEvent) {\n\t\tif (this._nextButtonDisabled) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.onHeaderNextPress();\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Returns an array of UTC timestamps, representing the selected dates.\n\t * @protected\n\t * @deprecated\n\t */\n\tget selectedDates(): Array<number> {\n\t\treturn this._selectedDatesTimestamps;\n\t}\n\n\t/**\n\t * Creates instances of `ui5-date` or `ui5-date-range` inside this `ui5-calendar` with values, equal to the provided UTC timestamps\n\t * @protected\n\t * @deprecated\n\t * @param selectedDates Array of UTC timestamps\n\t */\n\tset selectedDates(selectedDates: Array<number>) {\n\t\tthis._setSelectedDates(selectedDates);\n\t}\n}\n\nCalendar.define();\n\nexport default Calendar;\nexport type {\n\tICalendarPicker,\n\tCalendarYearRangeT,\n\tICalendarSelectedDates,\n\tCalendarSelectionChangeEventDetail,\n\tSpecialCalendarDateT,\n\tDisabledDateRangeT,\n};\n"]}
@@ -6,6 +6,6 @@ import YearRangePicker from "./YearRangePicker.js";
6
6
  import CalendarHeaderTemplate from "./CalendarHeaderTemplate.js";
7
7
  import CalendarSelectionMode from "./types/CalendarSelectionMode.js";
8
8
  export default function CalendarTemplate() {
9
- return (_jsxs(_Fragment, { children: [_jsxs("div", { class: "ui5-cal-root", onKeyDown: this._onkeydown, children: [_jsxs("div", { id: `${this._id}-content`, class: "ui5-cal-content", children: [_jsx(DayPicker, { id: `${this._id}-daypicker`, hidden: this._isDayPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, specialCalendarDates: this._specialCalendarDates, _hidden: this._isDayPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, calendarWeekNumbering: this.calendarWeekNumbering, timestamp: this._timestamp, hideWeekNumbers: this.hideWeekNumbers, onChange: this.onSelectedDatesChange, onNavigate: this.onNavigate, exportparts: "day-cell, day-cell-selected, day-cell-selected-between" }), _jsx(MonthPicker, { id: `${this._id}-MP`, hidden: this._isMonthPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _hidden: this._isMonthPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, onChange: this.onSelectedMonthChange, onNavigate: this.onNavigate, exportparts: "month-cell, month-cell-selected, month-cell-selected-between, month-picker-root" }), _jsx(YearPicker, { id: `${this._id}-YP`, hidden: this._isYearPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _hidden: this._isYearPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, _currentYearRange: this._currentYearRange, onChange: this.onSelectedYearChange, onNavigate: this.onNavigate, exportparts: "year-cell, year-cell-selected, year-cell-selected-between, year-picker-root" }), _jsx(YearRangePicker, { id: `${this._id}-YRP`, hidden: this._isYearRangePickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _showRangeSelection: this.selectionMode === CalendarSelectionMode.Range, _hidden: this._isYearRangePickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, _currentYearRange: this._currentYearRange, onChange: this.onSelectedYearRangeChange, onNavigate: this.onNavigate, exportparts: "year-range-cell, year-range-cell-selected, year-range-cell-selected-between, year-range-picker-root" })] }), _jsx("div", { class: "ui5-calheader", exportparts: "calendar-header-arrow-button, calendar-header-middle-button", children: CalendarHeaderTemplate.call(this) })] }), _jsx("div", { "onui5-calendar-legend-selection-change": this._onCalendarLegendSelectionChange, "onui5-calendar-legend-focus-out": this._onLegendFocusOut, children: _jsx("slot", { name: "calendarLegend" }) })] }));
9
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { class: "ui5-cal-root", onKeyDown: this._onkeydown, children: [_jsxs("div", { id: `${this._id}-content`, class: "ui5-cal-content", children: [_jsx(DayPicker, { id: `${this._id}-daypicker`, hidden: this._isDayPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, specialCalendarDates: this._specialCalendarDates, disabledDates: this._disabledDates, _hidden: this._isDayPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, calendarWeekNumbering: this.calendarWeekNumbering, timestamp: this._timestamp, hideWeekNumbers: this.hideWeekNumbers, onChange: this.onSelectedDatesChange, onNavigate: this.onNavigate, exportparts: "day-cell, day-cell-selected, day-cell-selected-between" }), _jsx(MonthPicker, { id: `${this._id}-MP`, hidden: this._isMonthPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _hidden: this._isMonthPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, onChange: this.onSelectedMonthChange, onNavigate: this.onNavigate, exportparts: "month-cell, month-cell-selected, month-cell-selected-between, month-picker-root" }), _jsx(YearPicker, { id: `${this._id}-YP`, hidden: this._isYearPickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _hidden: this._isYearPickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, selectionMode: this.selectionMode, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, _currentYearRange: this._currentYearRange, onChange: this.onSelectedYearChange, onNavigate: this.onNavigate, exportparts: "year-cell, year-cell-selected, year-cell-selected-between, year-picker-root" }), _jsx(YearRangePicker, { id: `${this._id}-YRP`, hidden: this._isYearRangePickerHidden, formatPattern: this._formatPattern, selectedDates: this._selectedDatesTimestamps, _showRangeSelection: this.selectionMode === CalendarSelectionMode.Range, _hidden: this._isYearRangePickerHidden, primaryCalendarType: this._primaryCalendarType, secondaryCalendarType: this._secondaryCalendarType, minDate: this.minDate, maxDate: this.maxDate, timestamp: this._timestamp, _currentYearRange: this._currentYearRange, onChange: this.onSelectedYearRangeChange, onNavigate: this.onNavigate, exportparts: "year-range-cell, year-range-cell-selected, year-range-cell-selected-between, year-range-picker-root" })] }), _jsx("div", { class: "ui5-calheader", exportparts: "calendar-header-arrow-button, calendar-header-middle-button", children: CalendarHeaderTemplate.call(this) })] }), _jsx("div", { "onui5-calendar-legend-selection-change": this._onCalendarLegendSelectionChange, "onui5-calendar-legend-focus-out": this._onLegendFocusOut, children: _jsx("slot", { name: "calendarLegend" }) })] }));
10
10
  }
11
11
  //# sourceMappingURL=CalendarTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarTemplate.js","sourceRoot":"","sources":["../src/CalendarTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type Calendar from \"./Calendar.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport YearRangePicker from \"./YearRangePicker.js\";\nimport CalendarHeaderTemplate from \"./CalendarHeaderTemplate.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nexport default function CalendarTemplate(this: Calendar) {\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclass=\"ui5-cal-root\"\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t<div id={`${this._id}-content`} class=\"ui5-cal-content\">\n\t\t\t\t\t<DayPicker\n\t\t\t\t\t\tid={`${this._id}-daypicker`}\n\t\t\t\t\t\thidden={this._isDayPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\tspecialCalendarDates={this._specialCalendarDates}\n\t\t\t\t\t\t_hidden={this._isDayPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\tcalendarWeekNumbering={this.calendarWeekNumbering}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\thideWeekNumbers={this.hideWeekNumbers}\n\t\t\t\t\t\tonChange={this.onSelectedDatesChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"day-cell, day-cell-selected, day-cell-selected-between\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<MonthPicker\n\t\t\t\t\t\tid={`${this._id}-MP`}\n\t\t\t\t\t\thidden={this._isMonthPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_hidden={this._isMonthPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\tonChange={this.onSelectedMonthChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"month-cell, month-cell-selected, month-cell-selected-between, month-picker-root\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<YearPicker\n\t\t\t\t\t\tid={`${this._id}-YP`}\n\t\t\t\t\t\thidden={this._isYearPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_hidden={this._isYearPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\t_currentYearRange = {this._currentYearRange}\n\t\t\t\t\t\tonChange={this.onSelectedYearChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"year-cell, year-cell-selected, year-cell-selected-between, year-picker-root\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<YearRangePicker\n\t\t\t\t\t\tid={`${this._id}-YRP`}\n\t\t\t\t\t\thidden={this._isYearRangePickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_showRangeSelection={this.selectionMode === CalendarSelectionMode.Range}\n\t\t\t\t\t\t_hidden={this._isYearRangePickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\t_currentYearRange = {this._currentYearRange}\n\t\t\t\t\t\tonChange={this.onSelectedYearRangeChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"year-range-cell, year-range-cell-selected, year-range-cell-selected-between, year-range-picker-root\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"ui5-calheader\" exportparts=\"calendar-header-arrow-button, calendar-header-middle-button\">\n\t\t\t\t\t{ CalendarHeaderTemplate.call(this) }\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tonui5-calendar-legend-selection-change={this._onCalendarLegendSelectionChange}\n\t\t\t\tonui5-calendar-legend-focus-out={this._onLegendFocusOut}\n\t\t\t>\n\t\t\t\t<slot name=\"calendarLegend\"></slot>\n\t\t\t</div>\n\t\t</>);\n}\n"]}
1
+ {"version":3,"file":"CalendarTemplate.js","sourceRoot":"","sources":["../src/CalendarTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACvC,OAAO,CACN,8BACC,eACC,KAAK,EAAC,cAAc,EACpB,SAAS,EAAE,IAAI,CAAC,UAAU,aAE1B,eAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,KAAK,EAAC,iBAAiB,aACtD,KAAC,SAAS,IACT,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY,EAC3B,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAC/B,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAC5C,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,EAChD,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAC9C,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,EAClD,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EACjD,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAC,wDAAwD,GACnE,EAEF,KAAC,WAAW,IACX,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EACjC,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAC5C,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAC9C,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,EAClD,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAC,iFAAiF,GAC5F,EAEF,KAAC,UAAU,IACV,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAChC,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAC5C,OAAO,EAAE,IAAI,CAAC,mBAAmB,EACjC,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAC9C,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,EAClD,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,iBAAiB,EAAI,IAAI,CAAC,iBAAiB,EAC3C,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAC,6EAA6E,GACxF,EAEF,KAAC,eAAe,IACf,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,EACrB,MAAM,EAAE,IAAI,CAAC,wBAAwB,EACrC,aAAa,EAAE,IAAI,CAAC,cAAc,EAClC,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAC5C,mBAAmB,EAAE,IAAI,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK,EACvE,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAC9C,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,EAClD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,iBAAiB,EAAI,IAAI,CAAC,iBAAiB,EAC3C,QAAQ,EAAE,IAAI,CAAC,yBAAyB,EACxC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAC,qGAAqG,GAChH,IACG,EAEN,cAAK,KAAK,EAAC,eAAe,EAAC,WAAW,EAAC,6DAA6D,YACjG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC9B,IACD,EAEN,wDACyC,IAAI,CAAC,gCAAgC,qCAC5C,IAAI,CAAC,iBAAiB,YAEvD,eAAM,IAAI,EAAC,gBAAgB,GAAQ,GAC9B,IACJ,CAAC,CAAC;AACP,CAAC","sourcesContent":["import type Calendar from \"./Calendar.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport YearRangePicker from \"./YearRangePicker.js\";\nimport CalendarHeaderTemplate from \"./CalendarHeaderTemplate.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nexport default function CalendarTemplate(this: Calendar) {\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclass=\"ui5-cal-root\"\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t>\n\t\t\t\t<div id={`${this._id}-content`} class=\"ui5-cal-content\">\n\t\t\t\t\t<DayPicker\n\t\t\t\t\t\tid={`${this._id}-daypicker`}\n\t\t\t\t\t\thidden={this._isDayPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\tspecialCalendarDates={this._specialCalendarDates}\n\t\t\t\t\t\tdisabledDates={this._disabledDates}\n\t\t\t\t\t\t_hidden={this._isDayPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\tcalendarWeekNumbering={this.calendarWeekNumbering}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\thideWeekNumbers={this.hideWeekNumbers}\n\t\t\t\t\t\tonChange={this.onSelectedDatesChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"day-cell, day-cell-selected, day-cell-selected-between\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<MonthPicker\n\t\t\t\t\t\tid={`${this._id}-MP`}\n\t\t\t\t\t\thidden={this._isMonthPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_hidden={this._isMonthPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\tonChange={this.onSelectedMonthChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"month-cell, month-cell-selected, month-cell-selected-between, month-picker-root\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<YearPicker\n\t\t\t\t\t\tid={`${this._id}-YP`}\n\t\t\t\t\t\thidden={this._isYearPickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_hidden={this._isYearPickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tselectionMode={this.selectionMode}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\t_currentYearRange = {this._currentYearRange}\n\t\t\t\t\t\tonChange={this.onSelectedYearChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"year-cell, year-cell-selected, year-cell-selected-between, year-picker-root\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<YearRangePicker\n\t\t\t\t\t\tid={`${this._id}-YRP`}\n\t\t\t\t\t\thidden={this._isYearRangePickerHidden}\n\t\t\t\t\t\tformatPattern={this._formatPattern}\n\t\t\t\t\t\tselectedDates={this._selectedDatesTimestamps}\n\t\t\t\t\t\t_showRangeSelection={this.selectionMode === CalendarSelectionMode.Range}\n\t\t\t\t\t\t_hidden={this._isYearRangePickerHidden}\n\t\t\t\t\t\tprimaryCalendarType={this._primaryCalendarType}\n\t\t\t\t\t\tsecondaryCalendarType={this._secondaryCalendarType}\n\t\t\t\t\t\tminDate={this.minDate}\n\t\t\t\t\t\tmaxDate={this.maxDate}\n\t\t\t\t\t\ttimestamp={this._timestamp}\n\t\t\t\t\t\t_currentYearRange = {this._currentYearRange}\n\t\t\t\t\t\tonChange={this.onSelectedYearRangeChange}\n\t\t\t\t\t\tonNavigate={this.onNavigate}\n\t\t\t\t\t\texportparts=\"year-range-cell, year-range-cell-selected, year-range-cell-selected-between, year-range-picker-root\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"ui5-calheader\" exportparts=\"calendar-header-arrow-button, calendar-header-middle-button\">\n\t\t\t\t\t{ CalendarHeaderTemplate.call(this) }\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tonui5-calendar-legend-selection-change={this._onCalendarLegendSelectionChange}\n\t\t\t\tonui5-calendar-legend-focus-out={this._onLegendFocusOut}\n\t\t\t>\n\t\t\t\t<slot name=\"calendarLegend\"></slot>\n\t\t\t</div>\n\t\t</>);\n}\n"]}
@@ -231,7 +231,9 @@ declare class CheckBox extends UI5Element implements IFormInputElement {
231
231
  get isDisplayOnly(): boolean;
232
232
  get accessibilityInfo(): {
233
233
  role: import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").JSXInternal.AriaRole | undefined;
234
+ type: string;
234
235
  description: string;
236
+ label: string | undefined;
235
237
  disabled: boolean;
236
238
  readonly: boolean;
237
239
  required: boolean | undefined;
package/dist/CheckBox.js CHANGED
@@ -15,7 +15,7 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
16
16
  import { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
17
17
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
18
- import { VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_SUCCESS, FORM_CHECKABLE_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
18
+ import { VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_SUCCESS, FORM_CHECKABLE_REQUIRED, CHECKBOX_CHECKED, CHECKBOX_NOT_CHECKED, CHECKBOX_ARIA_TYPE, } from "./generated/i18n/i18n-defaults.js";
19
19
  // Styles
20
20
  import checkboxCss from "./generated/themes/CheckBox.css.js";
21
21
  // Template
@@ -312,9 +312,13 @@ let CheckBox = CheckBox_1 = class CheckBox extends UI5Element {
312
312
  return this.displayOnly && !this.disabled;
313
313
  }
314
314
  get accessibilityInfo() {
315
+ const checkboxState = this.checked ? CheckBox_1.i18nBundle.getText(CHECKBOX_CHECKED) : CheckBox_1.i18nBundle.getText(CHECKBOX_NOT_CHECKED);
316
+ const description = [this.text || "", checkboxState].filter(Boolean).join(" ");
315
317
  return {
316
318
  role: this.accInfo.role,
317
- description: this.ariaLabelText || this.text || "",
319
+ type: CheckBox_1.i18nBundle.getText(CHECKBOX_ARIA_TYPE),
320
+ description,
321
+ label: this.ariaLabelText,
318
322
  disabled: !!this.accInfo.ariaDisabled,
319
323
  readonly: !!this.accInfo.ariaReadonly,
320
324
  required: this.accInfo.ariaRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type {\n\tAriaRole,\n\tAriaChecked,\n\tAriaDisabled,\n\tAriaReadonly,\n} from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tFORM_CHECKABLE_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\n\n// Template\nimport CheckBoxTemplate from \"./CheckBoxTemplate.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\ntype CheckBoxAccInfo = {\n\trole?: AriaRole,\n\tariaChecked?: AriaChecked,\n\tariaReadonly?: AriaReadonly,\n\tariaDisabled?: AriaDisabled,\n\tariaRequired?: boolean,\n\ttabindex?: number | undefined,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *\n * The `ui5-checkbox` component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the `ui5-checkbox`, the user has to click or tap the square\n * box or its label.\n *\n * The `ui5-checkbox` component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the `ui5-checkbox` between checked and unchecked state.\n *\n * ### Usage\n *\n * You can define the checkbox text with via the `text` property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to truncate, set the `wrappingType` property to \"None\".\n * The touchable area for toggling the `ui5-checkbox` ends where the text ends.\n *\n * You can disable the `ui5-checkbox` by setting the `disabled` property to\n * `true`,\n * or use the `ui5-checkbox` in read-only mode by setting the `readonly`\n * property to `true`.\n *\n * ### Keyboard Handling\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the `ui5-checkbox`.\n *\n * - [Space],[Enter] - Toggles between different states: checked, not checked.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/CheckBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the outermost wrapper of the `ui5-checkbox`\n * @csspart label - Used to style the label of the `ui5-checkbox`\n * @csspart icon - Used to style the icon of the `ui5-checkbox`\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n})\n/**\n * Fired when the component checked state changes.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"value-changed\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass CheckBox extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": void,\n\t\t\"value-changed\": void,\n\t};\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Determines whether the `ui5-checkbox` is in display only state.\n\t *\n\t * When set to `true`, the `ui5-checkbox` is not interactive, not editable, not focusable\n\t * and not in the tab chain. This setting is used for forms in review mode.\n\t *\n\t * **Note:** When the property `disabled` is set to `true` this property has no effect.\n\t * @since 1.22.0\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisplayOnly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * **Note:** We advise against using the text property of the checkbox when there is a\n\t * label associated with it to avoid having two required asterisks.\n\t * @default false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the `indeterminate`\n\t* and `checked` properties:\n\t*\n\t* - If the component is checked and indeterminate, it will be displayed as partially checked\n\t* - If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* - If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* @default false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate = false;\n\n\t/**\n\t * Defines if the component is checked.\n\t *\n\t * **Note:** The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the text of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *\n\t * **Note:** for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t * **Note:** for option \"None\" the text will be truncated with an ellipsis.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the form value of the component that is submitted when the checkbox is checked.\n\t *\n\t * When a form containing `ui5-checkbox` elements is submitted, only the values of the\n\t * **checked** checkboxes are included in the form data sent to the server. Unchecked\n\t * checkboxes do not contribute any data to the form submission.\n\t *\n\t * This property is particularly useful for **checkbox groups**, where multiple checkboxes with the same `name` but different `value` properties can be used to represent a set of related options.\n\t *\n\t * @default \"on\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"on\";\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Defines custom aria implementation object.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_accInfo?: CheckBoxAccInfo;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tget formValidityMessage() {\n\t\treturn CheckBox.i18nBundle.getText(FORM_CHECKABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.checked };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.checked ? this.value : null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = true;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\");\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChangePrevented = !this.fireDecoratorEvent(\"value-changed\");\n\n\t\t\tif (changePrevented || valueChangePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.displayOnly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Negative\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Positive\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly || this.displayOnly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (this.tabbable) {\n\t\t\treturn tabindex ? parseInt(tabindex) : 0;\n\t\t}\n\t}\n\n\tget tabbable() {\n\t\treturn !this.disabled && !this.displayOnly;\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tget isDisplayOnly() {\n\t\treturn this.displayOnly && !this.disabled;\n\t}\n\n\tget accessibilityInfo() {\n\t\treturn {\n\t\t\trole: this.accInfo.role,\n\t\t\tdescription: this.ariaLabelText || this.text || \"\",\n\t\t\tdisabled: !!this.accInfo.ariaDisabled,\n\t\t\treadonly: !!this.accInfo.ariaReadonly,\n\t\t\trequired: this.accInfo.ariaRequired,\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"role\": this._accInfo ? this._accInfo.role : \"checkbox\" as AriaRole,\n\t\t\t\"ariaChecked\": this._accInfo ? this._accInfo.ariaChecked : this.effectiveAriaChecked as AriaChecked,\n\t\t\t\"ariaReadonly\": this._accInfo ? this._accInfo.ariaReadonly : this.ariaReadonly as AriaReadonly,\n\t\t\t\"ariaDisabled\": this._accInfo ? this._accInfo.ariaDisabled : this.effectiveAriaDisabled as AriaDisabled,\n\t\t\t\"ariaRequired\": this._accInfo ? this._accInfo.ariaRequired : this.required,\n\t\t\t\"tabindex\": this._accInfo ? this._accInfo.tabindex : this.effectiveTabIndex,\n\t\t};\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
1
+ {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type {\n\tAriaRole,\n\tAriaChecked,\n\tAriaDisabled,\n\tAriaReadonly,\n} from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tFORM_CHECKABLE_REQUIRED,\n\tCHECKBOX_CHECKED,\n\tCHECKBOX_NOT_CHECKED,\n\tCHECKBOX_ARIA_TYPE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\n\n// Template\nimport CheckBoxTemplate from \"./CheckBoxTemplate.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\ntype CheckBoxAccInfo = {\n\trole?: AriaRole,\n\tariaChecked?: AriaChecked,\n\tariaReadonly?: AriaReadonly,\n\tariaDisabled?: AriaDisabled,\n\tariaRequired?: boolean,\n\ttabindex?: number | undefined,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *\n * The `ui5-checkbox` component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the `ui5-checkbox`, the user has to click or tap the square\n * box or its label.\n *\n * The `ui5-checkbox` component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the `ui5-checkbox` between checked and unchecked state.\n *\n * ### Usage\n *\n * You can define the checkbox text with via the `text` property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to truncate, set the `wrappingType` property to \"None\".\n * The touchable area for toggling the `ui5-checkbox` ends where the text ends.\n *\n * You can disable the `ui5-checkbox` by setting the `disabled` property to\n * `true`,\n * or use the `ui5-checkbox` in read-only mode by setting the `readonly`\n * property to `true`.\n *\n * ### Keyboard Handling\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the `ui5-checkbox`.\n *\n * - [Space],[Enter] - Toggles between different states: checked, not checked.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/CheckBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the outermost wrapper of the `ui5-checkbox`\n * @csspart label - Used to style the label of the `ui5-checkbox`\n * @csspart icon - Used to style the icon of the `ui5-checkbox`\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n})\n/**\n * Fired when the component checked state changes.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"value-changed\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass CheckBox extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": void,\n\t\t\"value-changed\": void,\n\t};\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Determines whether the `ui5-checkbox` is in display only state.\n\t *\n\t * When set to `true`, the `ui5-checkbox` is not interactive, not editable, not focusable\n\t * and not in the tab chain. This setting is used for forms in review mode.\n\t *\n\t * **Note:** When the property `disabled` is set to `true` this property has no effect.\n\t * @since 1.22.0\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisplayOnly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * **Note:** We advise against using the text property of the checkbox when there is a\n\t * label associated with it to avoid having two required asterisks.\n\t * @default false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the `indeterminate`\n\t* and `checked` properties:\n\t*\n\t* - If the component is checked and indeterminate, it will be displayed as partially checked\n\t* - If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* - If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* @default false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate = false;\n\n\t/**\n\t * Defines if the component is checked.\n\t *\n\t * **Note:** The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the text of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *\n\t * **Note:** for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t * **Note:** for option \"None\" the text will be truncated with an ellipsis.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the form value of the component that is submitted when the checkbox is checked.\n\t *\n\t * When a form containing `ui5-checkbox` elements is submitted, only the values of the\n\t * **checked** checkboxes are included in the form data sent to the server. Unchecked\n\t * checkboxes do not contribute any data to the form submission.\n\t *\n\t * This property is particularly useful for **checkbox groups**, where multiple checkboxes with the same `name` but different `value` properties can be used to represent a set of related options.\n\t *\n\t * @default \"on\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"on\";\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Defines custom aria implementation object.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_accInfo?: CheckBoxAccInfo;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tget formValidityMessage() {\n\t\treturn CheckBox.i18nBundle.getText(FORM_CHECKABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.checked };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.checked ? this.value : null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = true;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\");\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChangePrevented = !this.fireDecoratorEvent(\"value-changed\");\n\n\t\t\tif (changePrevented || valueChangePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.displayOnly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Negative\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Positive\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly || this.displayOnly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (this.tabbable) {\n\t\t\treturn tabindex ? parseInt(tabindex) : 0;\n\t\t}\n\t}\n\n\tget tabbable() {\n\t\treturn !this.disabled && !this.displayOnly;\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tget isDisplayOnly() {\n\t\treturn this.displayOnly && !this.disabled;\n\t}\n\n\tget accessibilityInfo() {\n\t\tconst checkboxState = this.checked ? CheckBox.i18nBundle.getText(CHECKBOX_CHECKED) : CheckBox.i18nBundle.getText(CHECKBOX_NOT_CHECKED);\n\t\tconst description = [this.text || \"\", checkboxState].filter(Boolean).join(\" \");\n\n\t\treturn {\n\t\t\trole: this.accInfo.role,\n\t\t\ttype: CheckBox.i18nBundle.getText(CHECKBOX_ARIA_TYPE),\n\t\t\tdescription,\n\t\t\tlabel: this.ariaLabelText,\n\t\t\tdisabled: !!this.accInfo.ariaDisabled,\n\t\t\treadonly: !!this.accInfo.ariaReadonly,\n\t\t\trequired: this.accInfo.ariaRequired,\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"role\": this._accInfo ? this._accInfo.role : \"checkbox\" as AriaRole,\n\t\t\t\"ariaChecked\": this._accInfo ? this._accInfo.ariaChecked : this.effectiveAriaChecked as AriaChecked,\n\t\t\t\"ariaReadonly\": this._accInfo ? this._accInfo.ariaReadonly : this.ariaReadonly as AriaReadonly,\n\t\t\t\"ariaDisabled\": this._accInfo ? this._accInfo.ariaDisabled : this.effectiveAriaDisabled as AriaDisabled,\n\t\t\t\"ariaRequired\": this._accInfo ? this._accInfo.ariaRequired : this.required,\n\t\t\t\"tabindex\": this._accInfo ? this._accInfo.tabindex : this.effectiveTabIndex,\n\t\t};\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
@@ -4,7 +4,7 @@ import Slider from "./Slider.js";
4
4
  import Input from "./Input.js";
5
5
  import Button from "./Button.js";
6
6
  export default function ColorPickerTemplate() {
7
- return (_jsxs("section", { class: "ui5-color-picker-root", role: "group", "aria-label": this.colorPickerLabel, children: [_jsx("div", { class: "ui5-color-picker-main-color", style: { "background-color": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})` }, onMouseDown: this._handleMouseDown, onMouseUp: this._handleMouseUp, onMouseMove: this._handleMouseMove, onMouseOut: this._handleMouseOut, children: _jsx("div", { class: "ui5-color-picker-circle", style: {
7
+ return (_jsxs("section", { class: "ui5-color-picker-root", role: "group", "aria-label": this.colorPickerLabel, children: [_jsx("div", { class: "ui5-color-picker-main-color", role: "presentation", style: { "background-color": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})` }, onMouseDown: this._handleMouseDown, onMouseUp: this._handleMouseUp, onMouseMove: this._handleMouseMove, onMouseOut: this._handleMouseOut, children: _jsx("div", { class: "ui5-color-picker-circle", style: {
8
8
  left: `${this._selectedCoordinates.x}px`,
9
9
  top: `${this._selectedCoordinates.y}px`,
10
10
  } }) }), _jsxs("div", { class: "ui5-color-picker-sliders-wrapper", role: "group", "aria-label": this.sliderGroupLabel, children: [_jsx(Slider, { disabled: this.inputsDisabled, class: "ui5-color-picker-hue-slider", min: 0, max: 360, step: 1, value: this._hue, accessibleName: this.hueSliderLabel, showTooltip: true, onInput: this._handleHueInput }), this._isDefaultPickerMode &&