@ui5/webcomponents 2.1.1 → 2.2.0-rc.1

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 (580) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Assets-fetch.d.ts +5 -0
  4. package/dist/Assets-fetch.js +7 -0
  5. package/dist/Assets-fetch.js.map +1 -0
  6. package/dist/AvatarGroup.js +1 -1
  7. package/dist/AvatarGroup.js.map +1 -1
  8. package/dist/Breadcrumbs.d.ts +17 -1
  9. package/dist/Breadcrumbs.js +87 -11
  10. package/dist/Breadcrumbs.js.map +1 -1
  11. package/dist/BreadcrumbsItem.d.ts +1 -0
  12. package/dist/BreadcrumbsItem.js.map +1 -1
  13. package/dist/Button.d.ts +1 -0
  14. package/dist/Button.js +9 -2
  15. package/dist/Button.js.map +1 -1
  16. package/dist/Calendar.js +8 -4
  17. package/dist/Calendar.js.map +1 -1
  18. package/dist/ComboBox.d.ts +2 -1
  19. package/dist/ComboBox.js +10 -3
  20. package/dist/ComboBox.js.map +1 -1
  21. package/dist/DayPicker.js +2 -2
  22. package/dist/DayPicker.js.map +1 -1
  23. package/dist/Input.d.ts +4 -0
  24. package/dist/Input.js +8 -3
  25. package/dist/Input.js.map +1 -1
  26. package/dist/Link.js +4 -4
  27. package/dist/Link.js.map +1 -1
  28. package/dist/Menu.d.ts +1 -0
  29. package/dist/Menu.js +4 -1
  30. package/dist/Menu.js.map +1 -1
  31. package/dist/MenuItem.d.ts +1 -0
  32. package/dist/MenuItem.js +4 -1
  33. package/dist/MenuItem.js.map +1 -1
  34. package/dist/MultiComboBox.d.ts +1 -0
  35. package/dist/MultiComboBox.js +4 -1
  36. package/dist/MultiComboBox.js.map +1 -1
  37. package/dist/MultiInput.d.ts +1 -0
  38. package/dist/MultiInput.js +4 -1
  39. package/dist/MultiInput.js.map +1 -1
  40. package/dist/RatingIndicator.d.ts +1 -1
  41. package/dist/RatingIndicator.js +5 -1
  42. package/dist/RatingIndicator.js.map +1 -1
  43. package/dist/SegmentedButtonItem.js +2 -1
  44. package/dist/SegmentedButtonItem.js.map +1 -1
  45. package/dist/Select.d.ts +0 -1
  46. package/dist/Select.js +2 -5
  47. package/dist/Select.js.map +1 -1
  48. package/dist/SplitButton.d.ts +12 -3
  49. package/dist/SplitButton.js +16 -5
  50. package/dist/SplitButton.js.map +1 -1
  51. package/dist/Table.d.ts +2 -2
  52. package/dist/Table.js +4 -1
  53. package/dist/Table.js.map +1 -1
  54. package/dist/Text.d.ts +20 -0
  55. package/dist/Text.js +41 -7
  56. package/dist/Text.js.map +1 -1
  57. package/dist/bundle.common.bootstrap.d.ts +1 -0
  58. package/dist/bundle.common.bootstrap.js +2 -0
  59. package/dist/bundle.common.bootstrap.js.map +1 -1
  60. package/dist/bundle.esm.d.ts +1 -0
  61. package/dist/css/themes/Avatar.css +1 -1
  62. package/dist/css/themes/AvatarGroup.css +1 -1
  63. package/dist/css/themes/Bar.css +1 -1
  64. package/dist/css/themes/Breadcrumbs.css +1 -1
  65. package/dist/css/themes/BusyIndicator.css +1 -1
  66. package/dist/css/themes/Button.css +1 -1
  67. package/dist/css/themes/Calendar.css +1 -1
  68. package/dist/css/themes/CalendarHeader.css +1 -1
  69. package/dist/css/themes/CalendarLegend.css +1 -1
  70. package/dist/css/themes/CalendarLegendItem.css +1 -1
  71. package/dist/css/themes/Card.css +1 -1
  72. package/dist/css/themes/CardHeader.css +1 -1
  73. package/dist/css/themes/Carousel.css +1 -1
  74. package/dist/css/themes/CheckBox.css +1 -1
  75. package/dist/css/themes/ColorPalette.css +1 -1
  76. package/dist/css/themes/ColorPaletteItem.css +1 -1
  77. package/dist/css/themes/ColorPalettePopover.css +1 -1
  78. package/dist/css/themes/ColorPicker.css +1 -1
  79. package/dist/css/themes/ComboBox.css +1 -1
  80. package/dist/css/themes/DatePicker.css +1 -1
  81. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  82. package/dist/css/themes/DayPicker.css +1 -1
  83. package/dist/css/themes/Dialog.css +1 -1
  84. package/dist/css/themes/FileUploader.css +1 -1
  85. package/dist/css/themes/Form.css +1 -1
  86. package/dist/css/themes/FormItem.css +1 -1
  87. package/dist/css/themes/FormLabelSpan.css +1 -1
  88. package/dist/css/themes/GrowingButton.css +1 -1
  89. package/dist/css/themes/Icon.css +1 -1
  90. package/dist/css/themes/Input.css +1 -1
  91. package/dist/css/themes/InputIcon.css +1 -1
  92. package/dist/css/themes/InputSharedStyles.css +1 -1
  93. package/dist/css/themes/Link.css +1 -1
  94. package/dist/css/themes/List.css +1 -1
  95. package/dist/css/themes/ListItem.css +1 -1
  96. package/dist/css/themes/ListItemBase.css +1 -1
  97. package/dist/css/themes/ListItemCustom.css +1 -1
  98. package/dist/css/themes/ListItemGroup.css +1 -1
  99. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  100. package/dist/css/themes/ListItemIcon.css +1 -1
  101. package/dist/css/themes/Menu.css +1 -1
  102. package/dist/css/themes/MenuItem.css +1 -1
  103. package/dist/css/themes/MessageStrip.css +1 -1
  104. package/dist/css/themes/MonthPicker.css +1 -1
  105. package/dist/css/themes/MultiComboBox.css +1 -1
  106. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  107. package/dist/css/themes/MultiInput.css +1 -1
  108. package/dist/css/themes/NavigationMenu.css +1 -1
  109. package/dist/css/themes/NavigationMenuItem.css +1 -1
  110. package/dist/css/themes/OptionBase.css +1 -1
  111. package/dist/css/themes/Panel.css +1 -1
  112. package/dist/css/themes/Popover.css +1 -1
  113. package/dist/css/themes/PopupsCommon.css +1 -1
  114. package/dist/css/themes/ProgressIndicator.css +1 -1
  115. package/dist/css/themes/RadioButton.css +1 -1
  116. package/dist/css/themes/RangeSlider.css +1 -1
  117. package/dist/css/themes/RatingIndicator.css +1 -1
  118. package/dist/css/themes/ResponsivePopover.css +1 -1
  119. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  120. package/dist/css/themes/SegmentedButton.css +1 -1
  121. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  122. package/dist/css/themes/Select.css +1 -1
  123. package/dist/css/themes/SliderBase.css +1 -1
  124. package/dist/css/themes/SplitButton.css +1 -1
  125. package/dist/css/themes/StepInput.css +1 -1
  126. package/dist/css/themes/SuggestionItem.css +1 -1
  127. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  128. package/dist/css/themes/Switch.css +1 -1
  129. package/dist/css/themes/TabContainer.css +1 -1
  130. package/dist/css/themes/TabInOverflow.css +1 -1
  131. package/dist/css/themes/TabInStrip.css +1 -1
  132. package/dist/css/themes/TabSemanticIcon.css +1 -1
  133. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  134. package/dist/css/themes/Table.css +1 -1
  135. package/dist/css/themes/TableCellBase.css +1 -1
  136. package/dist/css/themes/TableHeaderRow.css +1 -1
  137. package/dist/css/themes/TableRow.css +1 -1
  138. package/dist/css/themes/TableRowBase.css +1 -1
  139. package/dist/css/themes/Tag.css +1 -1
  140. package/dist/css/themes/Text.css +1 -1
  141. package/dist/css/themes/TextArea.css +1 -1
  142. package/dist/css/themes/TimePicker.css +1 -1
  143. package/dist/css/themes/Toast.css +1 -1
  144. package/dist/css/themes/ToggleButton.css +1 -1
  145. package/dist/css/themes/Token.css +1 -1
  146. package/dist/css/themes/Tokenizer.css +1 -1
  147. package/dist/css/themes/TokenizerPopover.css +1 -1
  148. package/dist/css/themes/Toolbar.css +1 -1
  149. package/dist/css/themes/ToolbarPopover.css +1 -1
  150. package/dist/css/themes/TreeItem.css +1 -1
  151. package/dist/css/themes/ValueStateMessage.css +1 -1
  152. package/dist/css/themes/YearPicker.css +1 -1
  153. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  161. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  162. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  163. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  164. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  165. package/dist/custom-elements-internal.json +98 -0
  166. package/dist/custom-elements.json +65 -0
  167. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  168. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  169. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  170. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  171. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  172. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  173. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  174. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  175. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  176. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  177. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  178. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  179. package/dist/generated/i18n/i18n-defaults.d.ts +6 -1
  180. package/dist/generated/i18n/i18n-defaults.js +6 -1
  181. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  182. package/dist/generated/json-imports/Themes-fetch.d.ts +1 -0
  183. package/dist/generated/json-imports/Themes-fetch.js +29 -0
  184. package/dist/generated/json-imports/Themes-fetch.js.map +1 -0
  185. package/dist/generated/json-imports/i18n-fetch.d.ts +1 -0
  186. package/dist/generated/json-imports/i18n-fetch.js +120 -0
  187. package/dist/generated/json-imports/i18n-fetch.js.map +1 -0
  188. package/dist/generated/json-imports/i18n.js.map +1 -1
  189. package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -1
  190. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/BarTemplate.lit.js.map +1 -1
  192. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -1
  193. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +5 -3
  194. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  195. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -1
  196. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  197. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  198. package/dist/generated/templates/CalendarLegendItemTemplate.lit.js.map +1 -1
  199. package/dist/generated/templates/CalendarLegendTemplate.lit.js.map +1 -1
  200. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  201. package/dist/generated/templates/CardHeaderTemplate.lit.js.map +1 -1
  202. package/dist/generated/templates/CardTemplate.lit.js.map +1 -1
  203. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  204. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  205. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js.map +1 -1
  206. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  207. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  208. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  209. package/dist/generated/templates/ColorPickerTemplate.lit.js.map +1 -1
  210. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  211. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  212. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  213. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  214. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  215. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  216. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  217. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -1
  218. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  219. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  220. package/dist/generated/templates/DayPickerTemplate.lit.js.map +1 -1
  221. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  222. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  223. package/dist/generated/templates/DropIndicatorTemplate.lit.js.map +1 -1
  224. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  225. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  226. package/dist/generated/templates/FormItemTemplate.lit.js.map +1 -1
  227. package/dist/generated/templates/FormTemplate.lit.js.map +1 -1
  228. package/dist/generated/templates/IconTemplate.lit.js.map +1 -1
  229. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  230. package/dist/generated/templates/InputTemplate.lit.js +2 -2
  231. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  232. package/dist/generated/templates/LabelTemplate.lit.js.map +1 -1
  233. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  234. package/dist/generated/templates/ListItemBaseTemplate.lit.js.map +1 -1
  235. package/dist/generated/templates/ListItemCustomTemplate.lit.js.map +1 -1
  236. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js.map +1 -1
  237. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -1
  238. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -1
  239. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  240. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  241. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  242. package/dist/generated/templates/MenuItemTemplate.lit.js +1 -1
  243. package/dist/generated/templates/MenuItemTemplate.lit.js.map +1 -1
  244. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -1
  245. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  246. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  247. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  248. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  249. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +1 -1
  250. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  251. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  252. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  253. package/dist/generated/templates/MultiInputTemplate.lit.js +3 -3
  254. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  255. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js.map +1 -1
  256. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  257. package/dist/generated/templates/OptionCustomTemplate.lit.js.map +1 -1
  258. package/dist/generated/templates/OptionTemplate.lit.js.map +1 -1
  259. package/dist/generated/templates/PanelTemplate.lit.js.map +1 -1
  260. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  261. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -1
  262. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  263. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js.map +1 -1
  264. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  265. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  266. package/dist/generated/templates/RangeSliderTemplate.lit.js.map +1 -1
  267. package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +1 -1
  268. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  269. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  270. package/dist/generated/templates/SegmentedButtonTemplate.lit.js.map +1 -1
  271. package/dist/generated/templates/SelectPopoverTemplate.lit.js +11 -14
  272. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  273. package/dist/generated/templates/SelectTemplate.lit.js +11 -14
  274. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  275. package/dist/generated/templates/SliderBaseTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  277. package/dist/generated/templates/SliderTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  279. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  281. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -1
  283. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  285. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  286. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js.map +1 -1
  287. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  288. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  289. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  290. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js.map +1 -1
  291. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js.map +1 -1
  292. package/dist/generated/templates/TabTemplate.lit.js.map +1 -1
  293. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  294. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +1 -1
  295. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -1
  296. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  297. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  298. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  299. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  300. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  301. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  302. package/dist/generated/templates/TextTemplate.lit.d.ts +4 -0
  303. package/dist/generated/templates/TextTemplate.lit.js +7 -0
  304. package/dist/generated/templates/TextTemplate.lit.js.map +1 -0
  305. package/dist/generated/templates/TimePickerClockTemplate.lit.js.map +1 -1
  306. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  307. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  308. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  309. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js.map +1 -1
  310. package/dist/generated/templates/TitleTemplate.lit.js.map +1 -1
  311. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  312. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  313. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  314. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
  315. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  316. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  317. package/dist/generated/templates/ToolbarButtonTemplate.lit.js.map +1 -1
  318. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js.map +1 -1
  319. package/dist/generated/templates/ToolbarPopoverSelectTemplate.lit.js.map +1 -1
  320. package/dist/generated/templates/ToolbarPopoverSeparatorTemplate.lit.js.map +1 -1
  321. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  322. package/dist/generated/templates/ToolbarSelectTemplate.lit.js.map +1 -1
  323. package/dist/generated/templates/ToolbarSeparatorTemplate.lit.js.map +1 -1
  324. package/dist/generated/templates/ToolbarSpacerTemplate.lit.js.map +1 -1
  325. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  326. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
  327. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
  328. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
  329. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  330. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  331. package/dist/generated/themes/Avatar.css.js +1 -1
  332. package/dist/generated/themes/Avatar.css.js.map +1 -1
  333. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  334. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  335. package/dist/generated/themes/Bar.css.js +1 -1
  336. package/dist/generated/themes/Bar.css.js.map +1 -1
  337. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  338. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  339. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  340. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  341. package/dist/generated/themes/Button.css.js +1 -1
  342. package/dist/generated/themes/Button.css.js.map +1 -1
  343. package/dist/generated/themes/Calendar.css.js +1 -1
  344. package/dist/generated/themes/Calendar.css.js.map +1 -1
  345. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  346. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  347. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  348. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  349. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  350. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  351. package/dist/generated/themes/Card.css.js +1 -1
  352. package/dist/generated/themes/Card.css.js.map +1 -1
  353. package/dist/generated/themes/CardHeader.css.js +1 -1
  354. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  355. package/dist/generated/themes/Carousel.css.js +1 -1
  356. package/dist/generated/themes/Carousel.css.js.map +1 -1
  357. package/dist/generated/themes/CheckBox.css.js +1 -1
  358. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  359. package/dist/generated/themes/ColorPalette.css.js +1 -1
  360. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  361. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  362. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  363. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  364. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  365. package/dist/generated/themes/ColorPicker.css.js +1 -1
  366. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  367. package/dist/generated/themes/ComboBox.css.js +1 -1
  368. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  369. package/dist/generated/themes/DatePicker.css.js +1 -1
  370. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  371. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  372. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  373. package/dist/generated/themes/DayPicker.css.js +1 -1
  374. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  375. package/dist/generated/themes/Dialog.css.js +1 -1
  376. package/dist/generated/themes/Dialog.css.js.map +1 -1
  377. package/dist/generated/themes/FileUploader.css.js +1 -1
  378. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  379. package/dist/generated/themes/Form.css.js +1 -1
  380. package/dist/generated/themes/Form.css.js.map +1 -1
  381. package/dist/generated/themes/FormItem.css.js +1 -1
  382. package/dist/generated/themes/FormItem.css.js.map +1 -1
  383. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  384. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  385. package/dist/generated/themes/GrowingButton.css.js +1 -1
  386. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  387. package/dist/generated/themes/Icon.css.js +1 -1
  388. package/dist/generated/themes/Icon.css.js.map +1 -1
  389. package/dist/generated/themes/Input.css.js +1 -1
  390. package/dist/generated/themes/Input.css.js.map +1 -1
  391. package/dist/generated/themes/InputIcon.css.js +1 -1
  392. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  393. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  394. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  395. package/dist/generated/themes/Link.css.js +1 -1
  396. package/dist/generated/themes/Link.css.js.map +1 -1
  397. package/dist/generated/themes/List.css.js +1 -1
  398. package/dist/generated/themes/List.css.js.map +1 -1
  399. package/dist/generated/themes/ListItem.css.js +1 -1
  400. package/dist/generated/themes/ListItem.css.js.map +1 -1
  401. package/dist/generated/themes/ListItemBase.css.js +1 -1
  402. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  403. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  404. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  405. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  406. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  407. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  408. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  409. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  410. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  411. package/dist/generated/themes/Menu.css.js +1 -1
  412. package/dist/generated/themes/Menu.css.js.map +1 -1
  413. package/dist/generated/themes/MenuItem.css.js +1 -1
  414. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  415. package/dist/generated/themes/MessageStrip.css.js +1 -1
  416. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  417. package/dist/generated/themes/MonthPicker.css.js +1 -1
  418. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  419. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  420. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  421. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  422. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  423. package/dist/generated/themes/MultiInput.css.js +1 -1
  424. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  425. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  426. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  427. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  428. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  429. package/dist/generated/themes/OptionBase.css.js +1 -1
  430. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  431. package/dist/generated/themes/Panel.css.js +1 -1
  432. package/dist/generated/themes/Panel.css.js.map +1 -1
  433. package/dist/generated/themes/Popover.css.js +1 -1
  434. package/dist/generated/themes/Popover.css.js.map +1 -1
  435. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  436. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  437. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  438. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  439. package/dist/generated/themes/RadioButton.css.js +1 -1
  440. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  441. package/dist/generated/themes/RangeSlider.css.js +1 -1
  442. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  443. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  444. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  445. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  446. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  447. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  448. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  449. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  450. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  451. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  452. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  453. package/dist/generated/themes/Select.css.js +1 -1
  454. package/dist/generated/themes/Select.css.js.map +1 -1
  455. package/dist/generated/themes/SliderBase.css.js +1 -1
  456. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  457. package/dist/generated/themes/SplitButton.css.js +1 -1
  458. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  459. package/dist/generated/themes/StepInput.css.js +1 -1
  460. package/dist/generated/themes/StepInput.css.js.map +1 -1
  461. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  462. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  463. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  464. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  465. package/dist/generated/themes/Switch.css.js +1 -1
  466. package/dist/generated/themes/Switch.css.js.map +1 -1
  467. package/dist/generated/themes/TabContainer.css.js +1 -1
  468. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  469. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  470. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  471. package/dist/generated/themes/TabInStrip.css.js +1 -1
  472. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  473. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  474. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  475. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  476. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  477. package/dist/generated/themes/Table.css.js +1 -1
  478. package/dist/generated/themes/Table.css.js.map +1 -1
  479. package/dist/generated/themes/TableCellBase.css.js +1 -1
  480. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  481. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  482. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  483. package/dist/generated/themes/TableRow.css.js +1 -1
  484. package/dist/generated/themes/TableRow.css.js.map +1 -1
  485. package/dist/generated/themes/TableRowBase.css.js +1 -1
  486. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  487. package/dist/generated/themes/Tag.css.js +1 -1
  488. package/dist/generated/themes/Tag.css.js.map +1 -1
  489. package/dist/generated/themes/Text.css.js +1 -1
  490. package/dist/generated/themes/Text.css.js.map +1 -1
  491. package/dist/generated/themes/TextArea.css.js +1 -1
  492. package/dist/generated/themes/TextArea.css.js.map +1 -1
  493. package/dist/generated/themes/TimePicker.css.js +1 -1
  494. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  495. package/dist/generated/themes/Toast.css.js +1 -1
  496. package/dist/generated/themes/Toast.css.js.map +1 -1
  497. package/dist/generated/themes/ToggleButton.css.js +1 -1
  498. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  499. package/dist/generated/themes/Token.css.js +1 -1
  500. package/dist/generated/themes/Token.css.js.map +1 -1
  501. package/dist/generated/themes/Tokenizer.css.js +1 -1
  502. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  503. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  504. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  505. package/dist/generated/themes/Toolbar.css.js +1 -1
  506. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  507. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  508. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  509. package/dist/generated/themes/TreeItem.css.js +1 -1
  510. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  511. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  512. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  513. package/dist/generated/themes/YearPicker.css.js +1 -1
  514. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  515. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  516. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  517. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  518. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  519. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  520. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  521. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  522. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  523. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  524. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  525. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  526. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  527. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  528. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  529. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  530. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  531. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  532. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  533. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  534. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  535. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  536. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  537. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  538. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  539. package/dist/types/TextEmptyIndicatorMode.d.ts +17 -0
  540. package/dist/types/TextEmptyIndicatorMode.js +19 -0
  541. package/dist/types/TextEmptyIndicatorMode.js.map +1 -0
  542. package/dist/vscode.html-custom-data.json +7 -2
  543. package/dist/web-types.json +29 -3
  544. package/package.json +9 -9
  545. package/src/Breadcrumbs.hbs +18 -3
  546. package/src/ComboBox.hbs +1 -0
  547. package/src/ComboBoxPopover.hbs +1 -0
  548. package/src/Dialog.hbs +3 -3
  549. package/src/Input.hbs +3 -1
  550. package/src/List.hbs +1 -1
  551. package/src/Menu.hbs +1 -0
  552. package/src/MenuItem.hbs +1 -0
  553. package/src/MultiComboBox.hbs +1 -0
  554. package/src/MultiComboBoxPopover.hbs +1 -0
  555. package/src/MultiInput.hbs +1 -0
  556. package/src/RangeSlider.hbs +2 -2
  557. package/src/SelectPopover.hbs +1 -3
  558. package/src/Slider.hbs +1 -1
  559. package/src/SplitButton.hbs +3 -1
  560. package/src/Text.hbs +8 -0
  561. package/src/i18n/messagebundle.properties +14 -0
  562. package/src/themes/Breadcrumbs.css +13 -0
  563. package/src/themes/DayPicker.css +8 -3
  564. package/src/themes/Dialog.css +9 -3
  565. package/src/themes/List.css +10 -0
  566. package/src/themes/SplitButton.css +0 -1
  567. package/src/themes/Text.css +10 -1
  568. package/src/themes/TimePicker.css +1 -1
  569. package/src/themes/base/Dialog-parameters.css +0 -3
  570. package/src/themes/sap_horizon/Dialog-parameters.css +0 -2
  571. package/src/themes/sap_horizon_dark/Dialog-parameters.css +0 -2
  572. package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +0 -2
  573. package/src/themes/sap_horizon_exp/Dialog-parameters.css +0 -2
  574. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +0 -2
  575. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  576. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +0 -2
  577. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  578. package/tsconfig.json +55 -37
  579. package/src/themes/sap_horizon_hcb_exp/Dialog-parameters.css +0 -6
  580. package/src/themes/sap_horizon_hcw_exp/Dialog-parameters.css +0 -6
package/dist/Button.js CHANGED
@@ -19,6 +19,7 @@ import { getIconAccessibleName } from "@ui5/webcomponents-base/dist/asset-regist
19
19
  import { isDesktop, isSafari, } from "@ui5/webcomponents-base/dist/Device.js";
20
20
  import willShowContent from "@ui5/webcomponents-base/dist/util/willShowContent.js";
21
21
  import { submitForm, resetForm } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
22
+ import { getEnableDefaultTooltips } from "@ui5/webcomponents-base/dist/config/Tooltips.js";
22
23
  import ButtonDesign from "./types/ButtonDesign.js";
23
24
  import ButtonType from "./types/ButtonType.js";
24
25
  import ButtonTemplate from "./generated/templates/ButtonTemplate.lit.js";
@@ -194,7 +195,7 @@ let Button = Button_1 = class Button extends UI5Element {
194
195
  this.hasIcon = !!this.icon;
195
196
  this.hasEndIcon = !!this.endIcon;
196
197
  this.iconOnly = this.isIconOnly;
197
- this.buttonTitle = this.tooltip || await getIconAccessibleName(this.icon);
198
+ this.buttonTitle = this.tooltip || await this.getDefaultTooltip();
198
199
  }
199
200
  _onclick(e) {
200
201
  if (this.nonInteractive) {
@@ -306,6 +307,12 @@ let Button = Button_1 = class Button extends UI5Element {
306
307
  "Emphasized": BUTTON_ARIA_TYPE_EMPHASIZED,
307
308
  };
308
309
  }
310
+ getDefaultTooltip() {
311
+ if (!getEnableDefaultTooltips()) {
312
+ return;
313
+ }
314
+ return getIconAccessibleName(this.icon);
315
+ }
309
316
  get buttonTypeText() {
310
317
  return Button_1.i18nBundle.getText(Button_1.typeTextMappings()[this.design]);
311
318
  }
@@ -323,7 +330,7 @@ let Button = Button_1 = class Button extends UI5Element {
323
330
  return this.nonInteractive ? "-1" : this.forcedTabIndex;
324
331
  }
325
332
  get showIconTooltip() {
326
- return this.iconOnly && !this.tooltip;
333
+ return getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;
327
334
  }
328
335
  get ariaLabelText() {
329
336
  return getEffectiveAriaLabelText(this);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAGjG,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,OAAO,EACN,SAAS,EACT,QAAQ,GACR,MAAM,wCAAwC,CAAC;AAChD,OAAO,eAAe,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mEAAmE,CAAC;AAE1G,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO,cAAc,MAAM,6CAA6C,CAAC;AACzE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAElI,SAAS;AACT,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAUzD,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA0BH,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,UAAU;IAmN9B;QACC,KAAK,EAAE,CAAC;QAnNT;;;;WAIG;QAEH,WAAM,GAAsB,SAAS,CAAC;QAEtC;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QA8BjB;;;;;;;;WAQG;QAEH,YAAO,GAAG,KAAK,CAAC;QA+BhB;;;;;;;;;;;;;;;;WAgBG;QAEH,4BAAuB,GAAkC,EAAE,CAAC;QAE5D;;;;;;;WAOG;QAEH,SAAI,GAAoB,QAAQ,CAAC;QAEjC;;;;;;;;WAQG;QAEH,mBAAc,GAA8B,QAAQ,CAAC;QAErD;;;WAGG;QAEH,WAAM,GAAG,KAAK,CAAC;QAEf;;;WAGG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;WAGG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;;WAGG;QAEH,mBAAc,GAAG,KAAK,CAAC;QASvB;;WAEG;QAEH,kBAAa,GAAW,EAAE,CAAC;QAE3B;;;WAGG;QAEH,mBAAc,GAAG,GAAG,CAAC;QAErB;;;WAGG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAGjB,kBAAa,GAAG,KAAK,CAAC;QAmBrB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,YAAY,EAAE;gBACjB,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aACpC;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,uBAAuB,EAAE;YAC7B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvD,uBAAuB,GAAG,IAAI,CAAC;SAC/B;QAED,MAAM,qBAAqB,GAAG,CAAC,CAAa,EAAE,EAAE;YAC/C,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEvB,IAAI,IAAI,CAAC,cAAc,EAAE;gBACxB,OAAO;aACP;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG;YACpB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;IAED,UAAU;QACT,IAAI,SAAS,EAAE,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;SACjC;IACF,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO;SACP;QAED,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,UAAU,CAAC,IAAI,CAAC,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,SAAS,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,QAAQ,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;SAC1B;IACF,CAAC;IAED,YAAY,CAAC,CAAa;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO;SACP;QAED,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,YAAY,GAAG,IAAI,CAAC,CAAC,sBAAsB;IAC5C,CAAC;IAED,WAAW,CAAC,CAAa;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAI,YAAY,EAAE;YACjB,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SACpC;IACF,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEvB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5B;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;SACvB;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC5B;SACD;IACF,CAAC;IAED,WAAW;QACV,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO;SACP;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5B;IACF,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO;SACP;QAED,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,MAAe;QAC9B,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3E,IAAI,cAAc,EAAE;YACnB,OAAO;SACP;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,WAAW,CAAC;IACzF,CAAC;IAED,IAAI,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACf,OAAO,EAAE,CAAC;SACV;QAED,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,EAAE,CAAC;SACV;QAED,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACb,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,gBAAgB;QACtB,OAAO;YACN,UAAU,EAAE,uBAAuB;YACnC,UAAU,EAAE,uBAAuB;YACnC,YAAY,EAAE,2BAA2B;SACzC,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,aAAa;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACP;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,QAAQ,EAAE;YACb,OAAO,QAAQ,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACzD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,QAAM,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/D,CAAC;CACD,CAAA;AAhbA;IADC,QAAQ,EAAE;sCAC2B;AAUtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACX;AAYjB;IADC,QAAQ,EAAE;oCACG;AAgBd;IADC,QAAQ,EAAE;uCACM;AAYjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACZ;AAWhB;IADC,QAAQ,EAAE;uCACM;AASjB;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,EAAE;iDACgB;AAoB3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACiC;AAW5D;IADC,QAAQ,EAAE;oCACsB;AAYjC;IADC,QAAQ,EAAE;8CAC0C;AAOrD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACb;AAOf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACX;AAOjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACZ;AAOhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAOnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACL;AAOvB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CACX;AAMrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACA;AAO3B;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CACX;AAOrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACX;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;6CACzB;AAStB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;oCACnB;AA3Md,MAAM;IAzBX,aAAa,CAAC;QACd,GAAG,EAAE,YAAY;QACjB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,CAAC,IAAI,CAAC;QACpB,iBAAiB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KAC3C,CAAC;IACF;;;;;;;;OAQG;;IACF,KAAK,CAAC,OAAO,CAAC;IACf;;;OAGG;;IACF,KAAK,CAAC,sBAAsB,CAAC;GACxB,MAAM,CAubX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import 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.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisEscape,\n\tisShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport type { AccessibilityAttributes, PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nimport {\n\tisDesktop,\n\tisSafari,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { submitForm, resetForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport ButtonType from \"./types/ButtonType.js\";\nimport type ButtonAccessibleRole from \"./types/ButtonAccessibleRole.js\";\nimport ButtonTemplate from \"./generated/templates/ButtonTemplate.lit.js\";\nimport Icon from \"./Icon.js\";\nimport IconMode from \"./types/IconMode.js\";\n\nimport { BUTTON_ARIA_TYPE_ACCEPT, BUTTON_ARIA_TYPE_REJECT, BUTTON_ARIA_TYPE_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport buttonCss from \"./generated/themes/Button.css.js\";\n\n/**\n * Interface for components that may be used as a button inside numerous higher-order components\n * @public\n */\ninterface IButton extends HTMLElement, ITabbable {\n\tnonInteractive: boolean;\n}\n\nlet isGlobalHandlerAttached = false;\nlet activeButton: Button | null = null;\n\ntype ButtonAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"controls\">;\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-button` component represents a simple push button.\n * It enables users to trigger actions by clicking or tapping the `ui5-button`, or by pressing\n * certain keyboard keys, such as Enter.\n *\n * ### Usage\n *\n * For the `ui5-button` UI, you can define text, icon, or both. You can also specify\n * whether the text or the icon is displayed first.\n *\n * You can choose from a set of predefined types that offer different\n * styling to correspond to the triggered action.\n *\n * You can set the `ui5-button` as enabled or disabled. An enabled\n * `ui5-button` can be pressed by clicking or tapping it. The button changes\n * its style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-button` appears inactive and cannot be pressed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Button.js\";`\n * @csspart button - Used to style the native button element\n * @constructor\n * @extends UI5Element\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-button\",\n\tformAssociated: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ButtonTemplate,\n\tstyles: buttonCss,\n\tdependencies: [Icon],\n\tshadowRootOptions: { delegatesFocus: true },\n})\n/**\n * Fired when the component is activated either with a\n * mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @public\n * @native\n */\n@event(\"click\")\n/**\n * Fired whenever the active state of the component changes.\n * @private\n */\n@event(\"_active-state-change\")\nclass Button extends UI5Element implements IButton, IFormElement {\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the button text.\n\t *\n\t * **Note:** It is highly recommended to use `endIcon` property only together with `icon` and/or `text` properties.\n\t * Usage of `endIcon` only should be avoided.\n\t *\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t/**\n\t * When set to `true`, the component will\n\t * automatically submit the nearest HTML form element on `press`.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.`\n\t * @default false\n\t * @public\n\t * @deprecated Set the \"type\" property to \"Submit\" to achieve the same result. The \"submits\" property is ignored if \"type\" is set to any value other than \"Button\".\n\t */\n\t@property({ type: Boolean })\n\tsubmits = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\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 additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * - **controls**: Identifies the element (or elements) whose contents or presence are controlled by the button element.\n\t * Accepts a lowercase string value.\n\t *\n\t * @public\n\t * @since 1.2.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Defines whether the button has special form-related functionality.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default \"Button\"\n\t * @public\n\t * @since 1.15.0\n\t */\n\t@property()\n\ttype: `${ButtonType}` = \"Button\";\n\n\t/**\n\t * Describes the accessibility role of the button.\n\t *\n\t * **Note:** Use <code>ButtonAccessibleRole.Link</code> role only with a press handler, which performs a navigation. In all other scenarios the default button semantics are recommended.\n\t *\n\t * @default \"Button\"\n\t * @public\n\t * @since 1.23\n\t */\n\t@property()\n\taccessibleRole: `${ButtonAccessibleRole}` = \"Button\";\n\n\t/**\n\t * Used to switch 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 if a content has been added to the default slot\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the elements has a slotted icon\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasIcon = false;\n\n\t/**\n\t * Indicates if the elements has a slotted end icon\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasEndIcon = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * The current title of the button, either the tooltip property or the icons tooltip. The tooltip property with higher prio.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tbuttonTitle?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_iconSettings: object = {};\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"0\";\n\n\t/**\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isTouch = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelAction = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_deactivate: () => void;\n\n\t_ontouchstart: PassiveEventListenerObject;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._deactivate = () => {\n\t\t\tif (activeButton) {\n\t\t\t\tactiveButton._setActiveState(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tmarkEvent(e, \"button\");\n\n\t\t\tif (this.nonInteractive) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._setActiveState(true);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: 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\tasync onBeforeRendering() {\n\t\tthis.hasIcon = !!this.icon;\n\t\tthis.hasEndIcon = !!this.endIcon;\n\t\tthis.iconOnly = this.isIconOnly;\n\n\t\tthis.buttonTitle = this.tooltip || await getIconAccessibleName(this.icon);\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tif (this._isSubmit) {\n\t\t\tsubmitForm(this);\n\t\t}\n\n\t\tif (this._isReset) {\n\t\t\tresetForm(this);\n\t\t}\n\n\t\tif (isSafari()) {\n\t\t\tthis.getDomRef()?.focus();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tthis._setActiveState(true);\n\t\tactiveButton = this; // eslint-disable-line\n\t}\n\n\t_ontouchend(e: TouchEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\n\t\tif (activeButton) {\n\t\t\tactiveButton._setActiveState(false);\n\t\t}\n\t}\n\n\t_onmouseup(e: MouseEvent) {\n\t\tmarkEvent(e, \"button\");\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._cancelAction = isShift(e) || isEscape(e);\n\t\tmarkEvent(e, \"button\");\n\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis._setActiveState(true);\n\t\t} else if (this._cancelAction) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._cancelAction) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\tmarkEvent(e, \"button\");\n\t\t}\n\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tif (this.active) {\n\t\t\t\tthis._setActiveState(false);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t}\n\n\t_setActiveState(active: boolean) {\n\t\tconst eventPrevented = !this.fireEvent(\"_active-state-change\", null, true);\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = active;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\tget hasButtonType() {\n\t\treturn this.design !== ButtonDesign.Default && this.design !== ButtonDesign.Transparent;\n\t}\n\n\tget iconMode() {\n\t\tif (!this.icon) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn IconMode.Decorative;\n\t}\n\n\tget endIconMode() {\n\t\tif (!this.endIcon) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn IconMode.Decorative;\n\t}\n\n\tget isIconOnly() {\n\t\treturn !willShowContent(this.text);\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Positive\": BUTTON_ARIA_TYPE_ACCEPT,\n\t\t\t\"Negative\": BUTTON_ARIA_TYPE_REJECT,\n\t\t\t\"Emphasized\": BUTTON_ARIA_TYPE_EMPHASIZED,\n\t\t};\n\t}\n\n\tget buttonTypeText() {\n\t\treturn Button.i18nBundle.getText(Button.typeTextMappings()[this.design]);\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.nonInteractive ? \"-1\" : this.forcedTabIndex;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn this.iconOnly && !this.tooltip;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaDescribedbyText() {\n\t\treturn this.hasButtonType ? \"ui5-button-hiddenText-type\" : undefined;\n\t}\n\n\tget _isSubmit() {\n\t\treturn this.type === ButtonType.Submit || this.submits;\n\t}\n\n\tget _isReset() {\n\t\treturn this.type === ButtonType.Reset;\n\t}\n\n\tstatic async onDefine() {\n\t\tButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nButton.define();\n\nexport default Button;\nexport type {\n\tButtonAccessibilityAttributes,\n\tIButton,\n};\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.ts"],"names":[],"mappings":"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","sourcesContent":["import 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.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisEscape,\n\tisShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport type { AccessibilityAttributes, PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { markEvent } from \"@ui5/webcomponents-base/dist/MarkedEvents.js\";\nimport { getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\nimport {\n\tisDesktop,\n\tisSafari,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { submitForm, resetForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { getEnableDefaultTooltips } from \"@ui5/webcomponents-base/dist/config/Tooltips.js\";\nimport type { IFormElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport ButtonType from \"./types/ButtonType.js\";\nimport type ButtonAccessibleRole from \"./types/ButtonAccessibleRole.js\";\nimport ButtonTemplate from \"./generated/templates/ButtonTemplate.lit.js\";\nimport Icon from \"./Icon.js\";\nimport IconMode from \"./types/IconMode.js\";\n\nimport { BUTTON_ARIA_TYPE_ACCEPT, BUTTON_ARIA_TYPE_REJECT, BUTTON_ARIA_TYPE_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport buttonCss from \"./generated/themes/Button.css.js\";\n\n/**\n * Interface for components that may be used as a button inside numerous higher-order components\n * @public\n */\ninterface IButton extends HTMLElement, ITabbable {\n\tnonInteractive: boolean;\n}\n\nlet isGlobalHandlerAttached = false;\nlet activeButton: Button | null = null;\n\ntype ButtonAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"controls\">;\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-button` component represents a simple push button.\n * It enables users to trigger actions by clicking or tapping the `ui5-button`, or by pressing\n * certain keyboard keys, such as Enter.\n *\n * ### Usage\n *\n * For the `ui5-button` UI, you can define text, icon, or both. You can also specify\n * whether the text or the icon is displayed first.\n *\n * You can choose from a set of predefined types that offer different\n * styling to correspond to the triggered action.\n *\n * You can set the `ui5-button` as enabled or disabled. An enabled\n * `ui5-button` can be pressed by clicking or tapping it. The button changes\n * its style to provide visual feedback to the user that it is pressed or hovered over with\n * the mouse cursor. A disabled `ui5-button` appears inactive and cannot be pressed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Button.js\";`\n * @csspart button - Used to style the native button element\n * @constructor\n * @extends UI5Element\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-button\",\n\tformAssociated: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ButtonTemplate,\n\tstyles: buttonCss,\n\tdependencies: [Icon],\n\tshadowRootOptions: { delegatesFocus: true },\n})\n/**\n * Fired when the component is activated either with a\n * mouse/tap or by using the Enter or Space key.\n *\n * **Note:** The event will not be fired if the `disabled`\n * property is set to `true`.\n * @public\n * @native\n */\n@event(\"click\")\n/**\n * Fired whenever the active state of the component changes.\n * @private\n */\n@event(\"_active-state-change\")\nclass Button extends UI5Element implements IButton, IFormElement {\n\t/**\n\t * Defines the component design.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${ButtonDesign}` = \"Default\";\n\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be pressed or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the button text.\n\t *\n\t * **Note:** It is highly recommended to use `endIcon` property only together with `icon` and/or `text` properties.\n\t * Usage of `endIcon` only should be avoided.\n\t *\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t/**\n\t * When set to `true`, the component will\n\t * automatically submit the nearest HTML form element on `press`.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.`\n\t * @default false\n\t * @public\n\t * @deprecated Set the \"type\" property to \"Submit\" to achieve the same result. The \"submits\" property is ignored if \"type\" is set to any value other than \"Button\".\n\t */\n\t@property({ type: Boolean })\n\tsubmits = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\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 additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * - **controls**: Identifies the element (or elements) whose contents or presence are controlled by the button element.\n\t * Accepts a lowercase string value.\n\t *\n\t * @public\n\t * @since 1.2.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ButtonAccessibilityAttributes = {};\n\n\t/**\n\t * Defines whether the button has special form-related functionality.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default \"Button\"\n\t * @public\n\t * @since 1.15.0\n\t */\n\t@property()\n\ttype: `${ButtonType}` = \"Button\";\n\n\t/**\n\t * Describes the accessibility role of the button.\n\t *\n\t * **Note:** Use <code>ButtonAccessibleRole.Link</code> role only with a press handler, which performs a navigation. In all other scenarios the default button semantics are recommended.\n\t *\n\t * @default \"Button\"\n\t * @public\n\t * @since 1.23\n\t */\n\t@property()\n\taccessibleRole: `${ButtonAccessibleRole}` = \"Button\";\n\n\t/**\n\t * Used to switch 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 if a content has been added to the default slot\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the elements has a slotted icon\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasIcon = false;\n\n\t/**\n\t * Indicates if the elements has a slotted end icon\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasEndIcon = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * The current title of the button, either the tooltip property or the icons tooltip. The tooltip property with higher prio.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tbuttonTitle?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_iconSettings: object = {};\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex = \"0\";\n\n\t/**\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isTouch = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelAction = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t_deactivate: () => void;\n\n\t_ontouchstart: PassiveEventListenerObject;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._deactivate = () => {\n\t\t\tif (activeButton) {\n\t\t\t\tactiveButton._setActiveState(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tmarkEvent(e, \"button\");\n\n\t\t\tif (this.nonInteractive) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._setActiveState(true);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: 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\tasync onBeforeRendering() {\n\t\tthis.hasIcon = !!this.icon;\n\t\tthis.hasEndIcon = !!this.endIcon;\n\t\tthis.iconOnly = this.isIconOnly;\n\n\t\tthis.buttonTitle = this.tooltip || await this.getDefaultTooltip();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tif (this._isSubmit) {\n\t\t\tsubmitForm(this);\n\t\t}\n\n\t\tif (this._isReset) {\n\t\t\tresetForm(this);\n\t\t}\n\n\t\tif (isSafari()) {\n\t\t\tthis.getDomRef()?.focus();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t\tthis._setActiveState(true);\n\t\tactiveButton = this; // eslint-disable-line\n\t}\n\n\t_ontouchend(e: TouchEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\n\t\tif (activeButton) {\n\t\t\tactiveButton._setActiveState(false);\n\t\t}\n\t}\n\n\t_onmouseup(e: MouseEvent) {\n\t\tmarkEvent(e, \"button\");\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tthis._cancelAction = isShift(e) || isEscape(e);\n\t\tmarkEvent(e, \"button\");\n\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis._setActiveState(true);\n\t\t} else if (this._cancelAction) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this._cancelAction) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\tmarkEvent(e, \"button\");\n\t\t}\n\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tif (this.active) {\n\t\t\t\tthis._setActiveState(false);\n\t\t\t}\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.active) {\n\t\t\tthis._setActiveState(false);\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this.nonInteractive) {\n\t\t\treturn;\n\t\t}\n\n\t\tmarkEvent(e, \"button\");\n\t}\n\n\t_setActiveState(active: boolean) {\n\t\tconst eventPrevented = !this.fireEvent(\"_active-state-change\", null, true);\n\n\t\tif (eventPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = active;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\tget hasButtonType() {\n\t\treturn this.design !== ButtonDesign.Default && this.design !== ButtonDesign.Transparent;\n\t}\n\n\tget iconMode() {\n\t\tif (!this.icon) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn IconMode.Decorative;\n\t}\n\n\tget endIconMode() {\n\t\tif (!this.endIcon) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn IconMode.Decorative;\n\t}\n\n\tget isIconOnly() {\n\t\treturn !willShowContent(this.text);\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Positive\": BUTTON_ARIA_TYPE_ACCEPT,\n\t\t\t\"Negative\": BUTTON_ARIA_TYPE_REJECT,\n\t\t\t\"Emphasized\": BUTTON_ARIA_TYPE_EMPHASIZED,\n\t\t};\n\t}\n\n\tgetDefaultTooltip() {\n\t\tif (!getEnableDefaultTooltips()) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getIconAccessibleName(this.icon);\n\t}\n\n\tget buttonTypeText() {\n\t\treturn Button.i18nBundle.getText(Button.typeTextMappings()[this.design]);\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn this.accessibleRole.toLowerCase();\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.nonInteractive ? \"-1\" : this.forcedTabIndex;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaDescribedbyText() {\n\t\treturn this.hasButtonType ? \"ui5-button-hiddenText-type\" : undefined;\n\t}\n\n\tget _isSubmit() {\n\t\treturn this.type === ButtonType.Submit || this.submits;\n\t}\n\n\tget _isReset() {\n\t\treturn this.type === ButtonType.Reset;\n\t}\n\n\tstatic async onDefine() {\n\t\tButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nButton.define();\n\nexport default Button;\nexport type {\n\tButtonAccessibilityAttributes,\n\tIButton,\n};\n"]}
package/dist/Calendar.js CHANGED
@@ -268,15 +268,15 @@ let Calendar = Calendar_1 = class Calendar extends CalendarPart {
268
268
  return !!date;
269
269
  }
270
270
  get _specialCalendarDates() {
271
+ const hasSelectedType = this._specialDates.some(date => date.type === this._selectedItemType);
271
272
  const validSpecialDates = this._specialDates.filter(date => {
272
273
  const dateType = date.type;
273
274
  const dateValue = date.value;
274
- const isTypeMatch = this._selectedItemType !== "None" ? dateType === this._selectedItemType : true;
275
+ const isTypeMatch = hasSelectedType
276
+ ? (dateType === this._selectedItemType || dateType === "Working" || dateType === "NonWorking")
277
+ : true;
275
278
  return isTypeMatch && dateValue && this._isValidCalendarDate(dateValue);
276
279
  });
277
- if (validSpecialDates.length === 0) {
278
- this._selectedItemType = "None";
279
- }
280
280
  const uniqueDates = new Set();
281
281
  const uniqueSpecialDates = [];
282
282
  validSpecialDates.forEach(date => {
@@ -292,7 +292,11 @@ let Calendar = Calendar_1 = class Calendar extends CalendarPart {
292
292
  return uniqueSpecialDates;
293
293
  }
294
294
  _onCalendarLegendSelectionChange(e) {
295
+ const defaultTypes = ["Working", "NonWorking", "Selected", "Today"];
295
296
  this._selectedItemType = e.detail.item.type;
297
+ if (defaultTypes.includes(this._selectedItemType)) {
298
+ this._selectedItemType = "None"; // In order to avoid filtering of default types
299
+ }
296
300
  this._currentPickerDOM._autoFocus = false;
297
301
  }
298
302
  /**
@@ -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.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.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 getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.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 CalendarDate from \"./CalendarDate.js\";\nimport CalendarDateRange from \"./CalendarDateRange.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport CalendarLegend from \"./CalendarLegend.js\";\nimport type { CalendarLegendItemSelectionChangeEventDetail } from \"./CalendarLegend.js\";\nimport SpecialCalendarDate from \"./SpecialCalendarDate.js\";\nimport type CalendarLegendItemType from \"./types/CalendarLegendItemType.js\";\nimport Icon from \"./Icon.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./generated/templates/CalendarTemplate.lit.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\nimport CalendarHeaderCss from \"./generated/themes/CalendarHeader.css.js\";\nimport { CALENDAR_HEADER_NEXT_BUTTON, CALENDAR_HEADER_PREVIOUS_BUTTON } from \"./generated/i18n/i18n-defaults.js\";\n\ninterface ICalendarPicker {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_autoFocus?: boolean,\n\t_firstYear?: number,\n\t_lastYear?: number,\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};\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 year-cell - Used to style the year cells.\n * @csspart year-cell-selected - Used to style the year cells when selected.\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\tdependencies: [\n\t\tSpecialCalendarDate,\n\t\tCalendarDate,\n\t\tCalendarDateRange,\n\t\tDayPicker,\n\t\tMonthPicker,\n\t\tYearPicker,\n\t\tCalendarLegend,\n\t\tIcon,\n\t],\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 * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event<CalendarSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedDates: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedValues: { type: Array },\n\n\t\ttimestamp: { type: Number },\n\t},\n})\n\n@event(\"show-month-view\")\n@event(\"show-year-view\")\nclass Calendar extends CalendarPart {\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\n\t * @private\n\t */\n\t@property()\n\t_currentPicker: \"day\" | \"month\" | \"year\" = \"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({ noAttribute: true })\n\t_pickersMode: `${CalendarPickersMode}` = \"DAY_MONTH_YEAR\";\n\n\t_valueIsProcessed = false;\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 })\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\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\n\tstatic async onDefine() {\n\t\tCalendar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\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 validSpecialDates = this._specialDates.filter(date => {\n\t\t\tconst dateType = date.type;\n\t\t\tconst dateValue = date.value;\n\t\t\tconst isTypeMatch = this._selectedItemType !== \"None\" ? dateType === this._selectedItemType : true;\n\t\t\treturn isTypeMatch && dateValue && this._isValidCalendarDate(dateValue);\n\t\t});\n\n\t\tif (validSpecialDates.length === 0) {\n\t\t\tthis._selectedItemType = \"None\";\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\tuniqueSpecialDates.push({ specialDateTimestamp, type });\n\t\t\t}\n\t\t});\n\n\t\treturn uniqueSpecialDates;\n\t}\n\n\t_onCalendarLegendSelectionChange(e: CustomEvent<CalendarLegendItemSelectionChangeEventDetail>) {\n\t\tthis._selectedItemType = e.detail.item.type;\n\t\tthis._currentPickerDOM._autoFocus = false;\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._currentPicker = \"month\";\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis._currentPicker = \"year\";\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\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tthis._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\t\t}\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\tonHeaderShowMonthPress(e: CustomEvent) {\n\t\tthis.showMonth();\n\t\tthis.fireEvent(\"show-month-view\", e);\n\t}\n\n\tshowMonth() {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"month\";\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress(e: CustomEvent) {\n\t\tthis.showYear();\n\t\tthis.fireEvent(\"show-year-view\", e);\n\t}\n\n\tshowYear() {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"year\";\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\n\t\tif (this.calendarLegend) {\n\t\t\tthis._currentPickerDOM._autoFocus = true;\n\t\t}\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\n\t\tif (this.calendarLegend) {\n\t\t\tthis._currentPickerDOM._autoFocus = true;\n\t\t}\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t\t.firstDate;\n\t\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t\t.lastDate;\n\t\t\tthis._headerYearButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate(), true)} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\t\t}\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, true);\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 === \"month\" || this._currentPicker === \"year\";\n\t}\n\n\t/**\n\t * The year button is hidden when the year picker is shown\n\t * @private\n\t */\n\tget _isHeaderYearButtonHidden(): boolean {\n\t\treturn this._currentPicker === \"year\";\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\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.fireEvent<CalendarSelectionChangeEventDetail>(\"selection-change\", { timestamp: this.timestamp, selectedDates: [...selectedDates], selectedValues: datesValues }, true);\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._currentPicker = \"day\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\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._currentPicker = \"day\";\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis._currentPicker = \"month\";\n\t\t\tthis.fireEvent(\"show-month-view\", e);\n\t\t}\n\n\t\tif (isF4Shift(e) && this._currentPicker !== \"year\") {\n\t\t\tthis._currentPicker = \"year\";\n\t\t\tthis.fireEvent(\"show-year-view\", e);\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\treturn {\n\t\t\tariaLabelMonthButton: this.hasSecondaryCalendarType\n\t\t\t\t? `${this._headerMonthButtonText}, ${this.secondMonthButtonText}` : `${this._headerMonthButtonText}`,\n\t\t};\n\t}\n\n\tget headerPreviousButtonText() {\n\t\treturn Calendar.i18nBundle?.getText(CALENDAR_HEADER_PREVIOUS_BUTTON);\n\t}\n\n\tget headerNextButtonText() {\n\t\treturn Calendar.i18nBundle?.getText(CALENDAR_HEADER_NEXT_BUTTON);\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.showMonth();\n\t\t\tthis.fireEvent(\"show-month-view\", e);\n\t\t}\n\t}\n\n\tonMonthButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.showMonth();\n\t\t\tthis.fireEvent(\"show-month-view\", e);\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.showYear();\n\t\t\tthis.fireEvent(\"show-year-view\", e);\n\t\t}\n\t}\n\n\tonYearButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.showYear();\n\t\t\tthis.fireEvent(\"show-year-view\", e);\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\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.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.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 getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.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 CalendarDate from \"./CalendarDate.js\";\nimport CalendarDateRange from \"./CalendarDateRange.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport DayPicker from \"./DayPicker.js\";\nimport type { DayPickerChangeEventDetail } from \"./DayPicker.js\";\nimport MonthPicker from \"./MonthPicker.js\";\nimport type { MonthPickerChangeEventDetail } from \"./MonthPicker.js\";\nimport YearPicker from \"./YearPicker.js\";\nimport type { YearPickerChangeEventDetail } from \"./YearPicker.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport CalendarLegend from \"./CalendarLegend.js\";\nimport type { CalendarLegendItemSelectionChangeEventDetail } from \"./CalendarLegend.js\";\nimport SpecialCalendarDate from \"./SpecialCalendarDate.js\";\nimport type CalendarLegendItemType from \"./types/CalendarLegendItemType.js\";\nimport Icon from \"./Icon.js\";\n\n// Default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Template\nimport CalendarTemplate from \"./generated/templates/CalendarTemplate.lit.js\";\n\n// Styles\nimport calendarCSS from \"./generated/themes/Calendar.css.js\";\nimport CalendarHeaderCss from \"./generated/themes/CalendarHeader.css.js\";\nimport { CALENDAR_HEADER_NEXT_BUTTON, CALENDAR_HEADER_PREVIOUS_BUTTON } from \"./generated/i18n/i18n-defaults.js\";\n\ninterface ICalendarPicker {\n\t_showPreviousPage: () => void,\n\t_showNextPage: () => void,\n\t_hasPreviousPage: () => boolean,\n\t_hasNextPage: () => boolean,\n\t_autoFocus?: boolean,\n\t_firstYear?: number,\n\t_lastYear?: number,\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};\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 year-cell - Used to style the year cells.\n * @csspart year-cell-selected - Used to style the year cells when selected.\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\tdependencies: [\n\t\tSpecialCalendarDate,\n\t\tCalendarDate,\n\t\tCalendarDateRange,\n\t\tDayPicker,\n\t\tMonthPicker,\n\t\tYearPicker,\n\t\tCalendarLegend,\n\t\tIcon,\n\t],\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 * @allowPreventDefault\n * @param {Array<string>} selectedValues The selected dates\n * @param {Array<number>} selectedDates The selected dates as UTC timestamps\n * @public\n */\n@event<CalendarSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedDates: { type: Array },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tselectedValues: { type: Array },\n\n\t\ttimestamp: { type: Number },\n\t},\n})\n\n@event(\"show-month-view\")\n@event(\"show-year-view\")\nclass Calendar extends CalendarPart {\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\n\t * @private\n\t */\n\t@property()\n\t_currentPicker: \"day\" | \"month\" | \"year\" = \"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({ noAttribute: true })\n\t_pickersMode: `${CalendarPickersMode}` = \"DAY_MONTH_YEAR\";\n\n\t_valueIsProcessed = false;\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 })\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\tconstructor() {\n\t\tsuper();\n\n\t\tthis._valueIsProcessed = false;\n\t}\n\n\tstatic async onDefine() {\n\t\tCalendar.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\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\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\tuniqueSpecialDates.push({ specialDateTimestamp, type });\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\tthis._currentPickerDOM._autoFocus = false;\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._currentPicker = \"month\";\n\t\t}\n\n\t\tif (this._currentPicker === \"month\" && this._pickersMode === CalendarPickersMode.YEAR) {\n\t\t\tthis._currentPicker = \"year\";\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\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tthis._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonText = String(yearFormat.format(this._localDate, true));\n\t\t}\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\tonHeaderShowMonthPress(e: CustomEvent) {\n\t\tthis.showMonth();\n\t\tthis.fireEvent(\"show-month-view\", e);\n\t}\n\n\tshowMonth() {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"month\";\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress(e: CustomEvent) {\n\t\tthis.showYear();\n\t\tthis.fireEvent(\"show-year-view\", e);\n\t}\n\n\tshowYear() {\n\t\tthis._currentPickerDOM._autoFocus = false;\n\t\tthis._currentPicker = \"year\";\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\n\t\tif (this.calendarLegend) {\n\t\t\tthis._currentPickerDOM._autoFocus = true;\n\t\t}\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\n\t\tif (this.calendarLegend) {\n\t\t\tthis._currentPickerDOM._autoFocus = true;\n\t\t}\n\t}\n\n\t_setSecondaryCalendarTypeButtonText() {\n\t\tconst yearFormatSecType = DateFormat.getDateInstance({ format: \"y\", calendarType: this._secondaryCalendarType });\n\n\t\tif (this._currentPicker === \"year\") {\n\t\t\tconst rangeStart = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\tconst rangeEnd = new CalendarDateComponent(this._calendarDate, this._primaryCalendarType);\n\t\t\trangeStart.setYear(this._currentPickerDOM._firstYear!);\n\t\t\trangeEnd.setYear(this._currentPickerDOM._lastYear!);\n\n\t\t\tconst rangeStartSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeStart.valueOf() / 1000, true)\n\t\t\t\t.firstDate;\n\t\t\tconst rangeEndSecType = transformDateToSecondaryType(this.primaryCalendarType, this._secondaryCalendarType, rangeEnd.valueOf() / 1000, true)\n\t\t\t\t.lastDate;\n\t\t\tthis._headerYearButtonTextSecType = `${yearFormatSecType.format(rangeStartSecType.toLocalJSDate(), true)} - ${yearFormatSecType.format(rangeEndSecType.toLocalJSDate(), true)}`;\n\t\t} else {\n\t\t\tthis._headerYearButtonTextSecType = String(yearFormatSecType.format(this._localDate, true));\n\t\t}\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, true);\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 === \"month\" || this._currentPicker === \"year\";\n\t}\n\n\t/**\n\t * The year button is hidden when the year picker is shown\n\t * @private\n\t */\n\tget _isHeaderYearButtonHidden(): boolean {\n\t\treturn this._currentPicker === \"year\";\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\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.fireEvent<CalendarSelectionChangeEventDetail>(\"selection-change\", { timestamp: this.timestamp, selectedDates: [...selectedDates], selectedValues: datesValues }, true);\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._currentPicker = \"day\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\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._currentPicker = \"day\";\n\t\t} else if (this._pickersMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tthis._currentPicker = \"month\";\n\t\t} else {\n\t\t\tthis._fireEventAndUpdateSelectedDates([this.timestamp]);\n\t\t}\n\n\t\tthis._currentPickerDOM._autoFocus = true;\n\t}\n\n\tonNavigate(e: CustomEvent) {\n\t\tthis.timestamp = e.detail.timestamp;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF4(e) && this._currentPicker !== \"month\") {\n\t\t\tthis._currentPicker = \"month\";\n\t\t\tthis.fireEvent(\"show-month-view\", e);\n\t\t}\n\n\t\tif (isF4Shift(e) && this._currentPicker !== \"year\") {\n\t\t\tthis._currentPicker = \"year\";\n\t\t\tthis.fireEvent(\"show-year-view\", e);\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\treturn {\n\t\t\tariaLabelMonthButton: this.hasSecondaryCalendarType\n\t\t\t\t? `${this._headerMonthButtonText}, ${this.secondMonthButtonText}` : `${this._headerMonthButtonText}`,\n\t\t};\n\t}\n\n\tget headerPreviousButtonText() {\n\t\treturn Calendar.i18nBundle?.getText(CALENDAR_HEADER_PREVIOUS_BUTTON);\n\t}\n\n\tget headerNextButtonText() {\n\t\treturn Calendar.i18nBundle?.getText(CALENDAR_HEADER_NEXT_BUTTON);\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.showMonth();\n\t\t\tthis.fireEvent(\"show-month-view\", e);\n\t\t}\n\t}\n\n\tonMonthButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.showMonth();\n\t\t\tthis.fireEvent(\"show-month-view\", e);\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.showYear();\n\t\t\tthis.fireEvent(\"show-year-view\", e);\n\t\t}\n\t}\n\n\tonYearButtonKeyUp(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.showYear();\n\t\t\tthis.fireEvent(\"show-year-view\", e);\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\tICalendarSelectedDates,\n\tCalendarSelectionChangeEventDetail,\n\tSpecialCalendarDateT,\n};\n"]}
@@ -295,7 +295,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
295
295
  _announceSelectedItem(indexOfItem: number): void;
296
296
  _clear(): void;
297
297
  _makeAllVisible(item: IComboBoxItem): void;
298
- _scrollToItem(indexOfItem: number, forward: boolean): void;
298
+ _scrollToItem(indexOfItem: number): void;
299
299
  _announceValueStateText(): void;
300
300
  get _headerTitleText(): string;
301
301
  get _iconAccessibleNameText(): string;
@@ -321,6 +321,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
321
321
  get itemTabIndex(): undefined;
322
322
  get ariaLabelText(): string | undefined;
323
323
  get clearIconAccessibleName(): string;
324
+ get responsivePopoverId(): string;
324
325
  static onDefine(): Promise<void>;
325
326
  get styles(): {
326
327
  popoverHeader: {
package/dist/ComboBox.js CHANGED
@@ -491,7 +491,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
491
491
  }
492
492
  this._isValueStateFocused = false;
493
493
  this._announceSelectedItem(indexOfItem);
494
- this._scrollToItem(indexOfItem, isForward);
494
+ this._scrollToItem(indexOfItem);
495
495
  if (isGroupItem && this.open) {
496
496
  return;
497
497
  }
@@ -820,7 +820,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
820
820
  }
821
821
  item._isVisible = true;
822
822
  }
823
- _scrollToItem(indexOfItem, forward) {
823
+ _scrollToItem(indexOfItem) {
824
824
  const picker = this._getPicker();
825
825
  const list = this._getItemsList();
826
826
  const listItem = list?.listItems[indexOfItem];
@@ -829,7 +829,11 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
829
829
  const listItemRect = listItem.getBoundingClientRect();
830
830
  const isListItemInVisibleArea = listItemRect.top >= pickerRect.top && listItemRect.bottom <= pickerRect.bottom;
831
831
  if (!isListItemInVisibleArea) {
832
- listItem.scrollIntoView({ behavior: "instant", block: forward ? "end" : "start", inline: "nearest" });
832
+ listItem.scrollIntoView({
833
+ behavior: "auto",
834
+ block: "nearest",
835
+ inline: "nearest",
836
+ });
833
837
  }
834
838
  }
835
839
  }
@@ -931,6 +935,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
931
935
  get clearIconAccessibleName() {
932
936
  return ComboBox_1.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);
933
937
  }
938
+ get responsivePopoverId() {
939
+ return `${this._id}-popover`;
940
+ }
934
941
  static async onDefine() {
935
942
  ComboBox_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
936
943
  }