@ui5/webcomponents 2.16.0-rc.1 → 2.16.0-rc.3

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 (699) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.js +5 -3
  4. package/dist/Button.js.map +1 -1
  5. package/dist/Calendar.d.ts +9 -9
  6. package/dist/Calendar.js +46 -38
  7. package/dist/Calendar.js.map +1 -1
  8. package/dist/CalendarHeaderTemplate.js +3 -3
  9. package/dist/CalendarHeaderTemplate.js.map +1 -1
  10. package/dist/Carousel.d.ts +39 -10
  11. package/dist/Carousel.js +89 -21
  12. package/dist/Carousel.js.map +1 -1
  13. package/dist/ComboBox.js +1 -1
  14. package/dist/ComboBox.js.map +1 -1
  15. package/dist/DatePicker.d.ts +2 -0
  16. package/dist/DatePicker.js +45 -5
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/DateRangePicker.d.ts +4 -0
  19. package/dist/DateRangePicker.js +40 -10
  20. package/dist/DateRangePicker.js.map +1 -1
  21. package/dist/DateTimePicker.d.ts +2 -0
  22. package/dist/DateTimePicker.js +27 -1
  23. package/dist/DateTimePicker.js.map +1 -1
  24. package/dist/DayPickerTemplate.js +1 -1
  25. package/dist/DayPickerTemplate.js.map +1 -1
  26. package/dist/DynamicDateRange.d.ts +5 -1
  27. package/dist/DynamicDateRange.js +11 -2
  28. package/dist/DynamicDateRange.js.map +1 -1
  29. package/dist/FileUploader.d.ts +2 -0
  30. package/dist/FileUploader.js +13 -1
  31. package/dist/FileUploader.js.map +1 -1
  32. package/dist/Form.d.ts +1 -0
  33. package/dist/Form.js +3 -2
  34. package/dist/Form.js.map +1 -1
  35. package/dist/FormGroup.d.ts +11 -0
  36. package/dist/FormGroup.js +23 -2
  37. package/dist/FormGroup.js.map +1 -1
  38. package/dist/FormTemplate.js +1 -1
  39. package/dist/FormTemplate.js.map +1 -1
  40. package/dist/Menu.d.ts +8 -0
  41. package/dist/Menu.js +10 -0
  42. package/dist/Menu.js.map +1 -1
  43. package/dist/MenuTemplate.js +1 -1
  44. package/dist/MenuTemplate.js.map +1 -1
  45. package/dist/MonthPicker.d.ts +6 -1
  46. package/dist/MonthPicker.js +13 -5
  47. package/dist/MonthPicker.js.map +1 -1
  48. package/dist/MonthPickerTemplate.js +1 -1
  49. package/dist/MonthPickerTemplate.js.map +1 -1
  50. package/dist/MultiComboBox.js +6 -5
  51. package/dist/MultiComboBox.js.map +1 -1
  52. package/dist/MultiInput.js +1 -1
  53. package/dist/MultiInput.js.map +1 -1
  54. package/dist/StepInput.d.ts +2 -0
  55. package/dist/StepInput.js +24 -4
  56. package/dist/StepInput.js.map +1 -1
  57. package/dist/Table.d.ts +22 -4
  58. package/dist/Table.js +27 -5
  59. package/dist/Table.js.map +1 -1
  60. package/dist/TableCellBase.d.ts +1 -2
  61. package/dist/TableCellBase.js +1 -4
  62. package/dist/TableCellBase.js.map +1 -1
  63. package/dist/TableCustomAnnouncement.js +4 -1
  64. package/dist/TableCustomAnnouncement.js.map +1 -1
  65. package/dist/TableHeaderCell.d.ts +1 -1
  66. package/dist/TableHeaderCell.js.map +1 -1
  67. package/dist/TableHeaderRowTemplate.js +4 -2
  68. package/dist/TableHeaderRowTemplate.js.map +1 -1
  69. package/dist/TableRow.js +3 -3
  70. package/dist/TableRow.js.map +1 -1
  71. package/dist/TableRowBase.d.ts +1 -0
  72. package/dist/TableRowBase.js +5 -1
  73. package/dist/TableRowBase.js.map +1 -1
  74. package/dist/TableRowTemplate.js +4 -2
  75. package/dist/TableRowTemplate.js.map +1 -1
  76. package/dist/TableSelection.js +1 -1
  77. package/dist/TableSelection.js.map +1 -1
  78. package/dist/TableSelectionMulti.js +1 -1
  79. package/dist/TableSelectionMulti.js.map +1 -1
  80. package/dist/TableTemplate.js +3 -6
  81. package/dist/TableTemplate.js.map +1 -1
  82. package/dist/TextArea.d.ts +1 -0
  83. package/dist/TextArea.js +1 -0
  84. package/dist/TextArea.js.map +1 -1
  85. package/dist/TimePicker.d.ts +6 -0
  86. package/dist/TimePicker.js +23 -3
  87. package/dist/TimePicker.js.map +1 -1
  88. package/dist/TimePickerTemplate.js +1 -1
  89. package/dist/TimePickerTemplate.js.map +1 -1
  90. package/dist/Token.d.ts +0 -1
  91. package/dist/Token.js +0 -4
  92. package/dist/Token.js.map +1 -1
  93. package/dist/Tokenizer.js +5 -0
  94. package/dist/Tokenizer.js.map +1 -1
  95. package/dist/YearPicker.d.ts +0 -1
  96. package/dist/YearPicker.js +0 -5
  97. package/dist/YearPicker.js.map +1 -1
  98. package/dist/YearRangePicker.d.ts +0 -1
  99. package/dist/YearRangePicker.js +0 -5
  100. package/dist/YearRangePicker.js.map +1 -1
  101. package/dist/bundle.esm.js +3 -0
  102. package/dist/bundle.esm.js.map +1 -1
  103. package/dist/css/themes/Avatar.css +1 -1
  104. package/dist/css/themes/AvatarGroup.css +1 -1
  105. package/dist/css/themes/Bar.css +1 -1
  106. package/dist/css/themes/Breadcrumbs.css +1 -1
  107. package/dist/css/themes/BusyIndicator.css +1 -1
  108. package/dist/css/themes/Button.css +1 -1
  109. package/dist/css/themes/ButtonBadge.css +1 -1
  110. package/dist/css/themes/Calendar.css +1 -1
  111. package/dist/css/themes/CalendarHeader.css +1 -1
  112. package/dist/css/themes/CalendarLegend.css +1 -1
  113. package/dist/css/themes/CalendarLegendItem.css +1 -1
  114. package/dist/css/themes/Card.css +1 -1
  115. package/dist/css/themes/CardHeader.css +1 -1
  116. package/dist/css/themes/Carousel.css +1 -1
  117. package/dist/css/themes/CheckBox.css +1 -1
  118. package/dist/css/themes/ColorPalette.css +1 -1
  119. package/dist/css/themes/ColorPaletteItem.css +1 -1
  120. package/dist/css/themes/ColorPalettePopover.css +1 -1
  121. package/dist/css/themes/ColorPicker.css +1 -1
  122. package/dist/css/themes/ComboBox.css +1 -1
  123. package/dist/css/themes/ComboBoxItem.css +1 -1
  124. package/dist/css/themes/DatePicker.css +1 -1
  125. package/dist/css/themes/DatePickerPopover.css +1 -1
  126. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  127. package/dist/css/themes/DayPicker.css +1 -1
  128. package/dist/css/themes/Dialog.css +1 -1
  129. package/dist/css/themes/DynamicDateRange.css +1 -1
  130. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  131. package/dist/css/themes/FileUploader.css +1 -1
  132. package/dist/css/themes/Form.css +1 -1
  133. package/dist/css/themes/FormItem.css +1 -1
  134. package/dist/css/themes/FormItemSpan.css +1 -1
  135. package/dist/css/themes/GrowingButton.css +1 -1
  136. package/dist/css/themes/Icon.css +1 -1
  137. package/dist/css/themes/Input.css +1 -1
  138. package/dist/css/themes/InputIcon.css +1 -1
  139. package/dist/css/themes/InputSharedStyles.css +1 -1
  140. package/dist/css/themes/Link.css +1 -1
  141. package/dist/css/themes/List.css +1 -1
  142. package/dist/css/themes/ListItem.css +1 -1
  143. package/dist/css/themes/ListItemBase.css +1 -1
  144. package/dist/css/themes/ListItemCustom.css +1 -1
  145. package/dist/css/themes/ListItemGroup.css +1 -1
  146. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  147. package/dist/css/themes/ListItemIcon.css +1 -1
  148. package/dist/css/themes/Menu.css +1 -1
  149. package/dist/css/themes/MenuItem.css +1 -1
  150. package/dist/css/themes/MessageStrip.css +1 -1
  151. package/dist/css/themes/MonthPicker.css +1 -1
  152. package/dist/css/themes/MultiComboBox.css +1 -1
  153. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  154. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  155. package/dist/css/themes/MultiInput.css +1 -1
  156. package/dist/css/themes/OptionBase.css +1 -1
  157. package/dist/css/themes/Panel.css +1 -1
  158. package/dist/css/themes/Popover.css +1 -1
  159. package/dist/css/themes/PopupsCommon.css +1 -1
  160. package/dist/css/themes/ProgressIndicator.css +1 -1
  161. package/dist/css/themes/RadioButton.css +1 -1
  162. package/dist/css/themes/RangeSlider.css +1 -1
  163. package/dist/css/themes/RatingIndicator.css +1 -1
  164. package/dist/css/themes/ResponsivePopover.css +1 -1
  165. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  166. package/dist/css/themes/SegmentedButton.css +1 -1
  167. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  168. package/dist/css/themes/Select.css +1 -1
  169. package/dist/css/themes/SliderBase.css +1 -1
  170. package/dist/css/themes/SplitButton.css +1 -1
  171. package/dist/css/themes/StepInput.css +1 -1
  172. package/dist/css/themes/SuggestionItem.css +1 -1
  173. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  174. package/dist/css/themes/Switch.css +1 -1
  175. package/dist/css/themes/TabContainer.css +1 -1
  176. package/dist/css/themes/TabInOverflow.css +1 -1
  177. package/dist/css/themes/TabInStrip.css +1 -1
  178. package/dist/css/themes/TabSemanticIcon.css +1 -1
  179. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  180. package/dist/css/themes/Table.css +1 -1
  181. package/dist/css/themes/TableCellBase.css +1 -1
  182. package/dist/css/themes/TableGrowing.css +1 -1
  183. package/dist/css/themes/TableHeaderRow.css +1 -1
  184. package/dist/css/themes/TableRow.css +1 -1
  185. package/dist/css/themes/TableRowActionBase.css +1 -1
  186. package/dist/css/themes/TableRowBase.css +1 -1
  187. package/dist/css/themes/Tag.css +1 -1
  188. package/dist/css/themes/Text.css +1 -1
  189. package/dist/css/themes/TextArea.css +1 -1
  190. package/dist/css/themes/TimePicker.css +1 -1
  191. package/dist/css/themes/Toast.css +1 -1
  192. package/dist/css/themes/ToggleButton.css +1 -1
  193. package/dist/css/themes/Token.css +1 -1
  194. package/dist/css/themes/Tokenizer.css +1 -1
  195. package/dist/css/themes/TokenizerPopover.css +1 -1
  196. package/dist/css/themes/Toolbar.css +1 -1
  197. package/dist/css/themes/ToolbarButton.css +1 -1
  198. package/dist/css/themes/ToolbarPopover.css +1 -1
  199. package/dist/css/themes/ToolbarSeparator.css +1 -1
  200. package/dist/css/themes/TreeItem.css +1 -1
  201. package/dist/css/themes/ValueStateMessage.css +1 -1
  202. package/dist/css/themes/ValueStateVariables.css +1 -1
  203. package/dist/css/themes/YearPicker.css +1 -1
  204. package/dist/css/themes/YearRangePicker.css +1 -1
  205. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  208. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  209. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  210. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  211. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  212. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  213. package/dist/custom-elements-internal.json +183 -31
  214. package/dist/custom-elements.json +173 -29
  215. package/dist/dynamic-date-range-options/DateTimeRange.d.ts +25 -0
  216. package/dist/dynamic-date-range-options/DateTimeRange.js +82 -0
  217. package/dist/dynamic-date-range-options/DateTimeRange.js.map +1 -0
  218. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.d.ts +2 -0
  219. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js +38 -0
  220. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js.map +1 -0
  221. package/dist/dynamic-date-range-options/FromDateTime.d.ts +36 -0
  222. package/dist/dynamic-date-range-options/FromDateTime.js +136 -0
  223. package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -0
  224. package/dist/dynamic-date-range-options/FromDateTimeTemplate.d.ts +2 -0
  225. package/dist/dynamic-date-range-options/FromDateTimeTemplate.js +24 -0
  226. package/dist/dynamic-date-range-options/FromDateTimeTemplate.js.map +1 -0
  227. package/dist/dynamic-date-range-options/ToDateTime.d.ts +36 -0
  228. package/dist/dynamic-date-range-options/ToDateTime.js +136 -0
  229. package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -0
  230. package/dist/dynamic-date-range-options/toDates.d.ts +3 -1
  231. package/dist/dynamic-date-range-options/toDates.js +25 -1
  232. package/dist/dynamic-date-range-options/toDates.js.map +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  253. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  254. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  258. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  284. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  285. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  286. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  287. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  288. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  289. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  290. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  291. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  292. package/dist/generated/i18n/i18n-defaults.d.ts +28 -1
  293. package/dist/generated/i18n/i18n-defaults.js +32 -5
  294. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  295. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  296. package/dist/generated/themes/Avatar.css.js +1 -1
  297. package/dist/generated/themes/Avatar.css.js.map +1 -1
  298. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  299. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  300. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  301. package/dist/generated/themes/Bar.css.d.ts +1 -1
  302. package/dist/generated/themes/Bar.css.js +1 -1
  303. package/dist/generated/themes/Bar.css.js.map +1 -1
  304. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  305. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  306. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  307. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  308. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  309. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  310. package/dist/generated/themes/Button.css.d.ts +1 -1
  311. package/dist/generated/themes/Button.css.js +1 -1
  312. package/dist/generated/themes/Button.css.js.map +1 -1
  313. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  314. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  315. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  316. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  317. package/dist/generated/themes/Calendar.css.js +1 -1
  318. package/dist/generated/themes/Calendar.css.js.map +1 -1
  319. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  320. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  321. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  322. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  323. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  324. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  325. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  326. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  327. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  328. package/dist/generated/themes/Card.css.d.ts +1 -1
  329. package/dist/generated/themes/Card.css.js +1 -1
  330. package/dist/generated/themes/Card.css.js.map +1 -1
  331. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  332. package/dist/generated/themes/CardHeader.css.js +1 -1
  333. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  334. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  335. package/dist/generated/themes/Carousel.css.js +1 -1
  336. package/dist/generated/themes/Carousel.css.js.map +1 -1
  337. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  338. package/dist/generated/themes/CheckBox.css.js +1 -1
  339. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  340. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  341. package/dist/generated/themes/ColorPalette.css.js +1 -1
  342. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  343. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  344. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  345. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  346. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  347. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  348. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  349. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  350. package/dist/generated/themes/ColorPicker.css.js +1 -1
  351. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  352. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  353. package/dist/generated/themes/ComboBox.css.js +1 -1
  354. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  355. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  356. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  357. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  358. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  359. package/dist/generated/themes/DatePicker.css.js +1 -1
  360. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  361. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  362. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  363. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  364. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  365. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  366. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  367. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  368. package/dist/generated/themes/DayPicker.css.js +1 -1
  369. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  370. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  371. package/dist/generated/themes/Dialog.css.js +1 -1
  372. package/dist/generated/themes/Dialog.css.js.map +1 -1
  373. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  374. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  375. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  376. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  377. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  378. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  379. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  380. package/dist/generated/themes/FileUploader.css.js +1 -1
  381. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  382. package/dist/generated/themes/Form.css.d.ts +1 -1
  383. package/dist/generated/themes/Form.css.js +1 -1
  384. package/dist/generated/themes/Form.css.js.map +1 -1
  385. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  386. package/dist/generated/themes/FormItem.css.js +1 -1
  387. package/dist/generated/themes/FormItem.css.js.map +1 -1
  388. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  389. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  390. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  391. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  392. package/dist/generated/themes/GrowingButton.css.js +1 -1
  393. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  394. package/dist/generated/themes/Icon.css.d.ts +1 -1
  395. package/dist/generated/themes/Icon.css.js +1 -1
  396. package/dist/generated/themes/Icon.css.js.map +1 -1
  397. package/dist/generated/themes/Input.css.d.ts +1 -1
  398. package/dist/generated/themes/Input.css.js +1 -1
  399. package/dist/generated/themes/Input.css.js.map +1 -1
  400. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  401. package/dist/generated/themes/InputIcon.css.js +1 -1
  402. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  403. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  404. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  405. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  406. package/dist/generated/themes/Link.css.d.ts +1 -1
  407. package/dist/generated/themes/Link.css.js +1 -1
  408. package/dist/generated/themes/Link.css.js.map +1 -1
  409. package/dist/generated/themes/List.css.d.ts +1 -1
  410. package/dist/generated/themes/List.css.js +1 -1
  411. package/dist/generated/themes/List.css.js.map +1 -1
  412. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  413. package/dist/generated/themes/ListItem.css.js +1 -1
  414. package/dist/generated/themes/ListItem.css.js.map +1 -1
  415. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  416. package/dist/generated/themes/ListItemBase.css.js +1 -1
  417. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  418. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  419. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  420. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  421. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  422. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  423. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  424. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  425. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  426. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  427. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  428. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  429. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  430. package/dist/generated/themes/Menu.css.d.ts +1 -1
  431. package/dist/generated/themes/Menu.css.js +1 -1
  432. package/dist/generated/themes/Menu.css.js.map +1 -1
  433. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  434. package/dist/generated/themes/MenuItem.css.js +1 -1
  435. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  436. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  437. package/dist/generated/themes/MessageStrip.css.js +1 -1
  438. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  439. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  440. package/dist/generated/themes/MonthPicker.css.js +1 -1
  441. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  442. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  443. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  444. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  445. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  446. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  447. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  448. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  449. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  450. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  451. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  452. package/dist/generated/themes/MultiInput.css.js +1 -1
  453. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  454. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  455. package/dist/generated/themes/OptionBase.css.js +1 -1
  456. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  457. package/dist/generated/themes/Panel.css.d.ts +1 -1
  458. package/dist/generated/themes/Panel.css.js +1 -1
  459. package/dist/generated/themes/Panel.css.js.map +1 -1
  460. package/dist/generated/themes/Popover.css.d.ts +1 -1
  461. package/dist/generated/themes/Popover.css.js +1 -1
  462. package/dist/generated/themes/Popover.css.js.map +1 -1
  463. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  464. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  465. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  466. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  467. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  468. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  469. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  470. package/dist/generated/themes/RadioButton.css.js +1 -1
  471. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  472. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  473. package/dist/generated/themes/RangeSlider.css.js +1 -1
  474. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  475. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  476. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  477. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  478. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  479. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  480. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  481. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  482. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  483. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  484. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  485. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  486. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  487. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  488. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  489. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  490. package/dist/generated/themes/Select.css.d.ts +1 -1
  491. package/dist/generated/themes/Select.css.js +1 -1
  492. package/dist/generated/themes/Select.css.js.map +1 -1
  493. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  494. package/dist/generated/themes/SliderBase.css.js +1 -1
  495. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  496. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  497. package/dist/generated/themes/SplitButton.css.js +1 -1
  498. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  499. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  500. package/dist/generated/themes/StepInput.css.js +1 -1
  501. package/dist/generated/themes/StepInput.css.js.map +1 -1
  502. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  503. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  504. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  505. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  506. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  507. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  508. package/dist/generated/themes/Switch.css.d.ts +1 -1
  509. package/dist/generated/themes/Switch.css.js +1 -1
  510. package/dist/generated/themes/Switch.css.js.map +1 -1
  511. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  512. package/dist/generated/themes/TabContainer.css.js +1 -1
  513. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  514. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  515. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  516. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  517. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  518. package/dist/generated/themes/TabInStrip.css.js +1 -1
  519. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  520. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  521. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  522. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  523. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  524. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  525. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  526. package/dist/generated/themes/Table.css.d.ts +1 -1
  527. package/dist/generated/themes/Table.css.js +1 -1
  528. package/dist/generated/themes/Table.css.js.map +1 -1
  529. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  530. package/dist/generated/themes/TableCellBase.css.js +1 -1
  531. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  532. package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
  533. package/dist/generated/themes/TableGrowing.css.js +1 -1
  534. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  535. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  536. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  537. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  538. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  539. package/dist/generated/themes/TableRow.css.js +1 -1
  540. package/dist/generated/themes/TableRow.css.js.map +1 -1
  541. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  542. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  543. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  544. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  545. package/dist/generated/themes/TableRowBase.css.js +1 -1
  546. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  547. package/dist/generated/themes/Tag.css.d.ts +1 -1
  548. package/dist/generated/themes/Tag.css.js +1 -1
  549. package/dist/generated/themes/Tag.css.js.map +1 -1
  550. package/dist/generated/themes/Text.css.d.ts +1 -1
  551. package/dist/generated/themes/Text.css.js +1 -1
  552. package/dist/generated/themes/Text.css.js.map +1 -1
  553. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  554. package/dist/generated/themes/TextArea.css.js +1 -1
  555. package/dist/generated/themes/TextArea.css.js.map +1 -1
  556. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  557. package/dist/generated/themes/TimePicker.css.js +1 -1
  558. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  559. package/dist/generated/themes/Toast.css.d.ts +1 -1
  560. package/dist/generated/themes/Toast.css.js +1 -1
  561. package/dist/generated/themes/Toast.css.js.map +1 -1
  562. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  563. package/dist/generated/themes/ToggleButton.css.js +1 -1
  564. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  565. package/dist/generated/themes/Token.css.d.ts +1 -1
  566. package/dist/generated/themes/Token.css.js +1 -1
  567. package/dist/generated/themes/Token.css.js.map +1 -1
  568. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  569. package/dist/generated/themes/Tokenizer.css.js +1 -1
  570. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  571. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  572. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  573. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  574. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  575. package/dist/generated/themes/Toolbar.css.js +1 -1
  576. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  577. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  578. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  579. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  580. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  581. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  582. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  583. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  584. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  585. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  586. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  587. package/dist/generated/themes/TreeItem.css.js +1 -1
  588. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  589. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  590. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  591. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  592. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  593. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  594. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  595. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  596. package/dist/generated/themes/YearPicker.css.js +1 -1
  597. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  598. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  599. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  600. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  601. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  602. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  603. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  604. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  605. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  606. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  607. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  608. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  609. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  610. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  611. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  612. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  613. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  614. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  615. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  616. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  617. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  618. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  619. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  620. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  621. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  622. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  623. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  624. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  625. package/dist/vscode.html-custom-data.json +34 -14
  626. package/dist/web-types.json +60 -25
  627. package/package.json +10 -10
  628. package/src/CalendarHeaderTemplate.tsx +3 -3
  629. package/src/DayPickerTemplate.tsx +0 -2
  630. package/src/FormTemplate.tsx +1 -1
  631. package/src/MenuTemplate.tsx +1 -1
  632. package/src/MonthPickerTemplate.tsx +1 -0
  633. package/src/TableHeaderRowTemplate.tsx +8 -9
  634. package/src/TableRowTemplate.tsx +5 -1
  635. package/src/TableTemplate.tsx +4 -20
  636. package/src/TimePickerTemplate.tsx +1 -0
  637. package/src/dynamic-date-range-options/DateTimeRangeTemplate.tsx +62 -0
  638. package/src/dynamic-date-range-options/FromDateTimeTemplate.tsx +53 -0
  639. package/src/i18n/messagebundle.properties +61 -2
  640. package/src/i18n/messagebundle_ar.properties +18 -6
  641. package/src/i18n/messagebundle_bg.properties +18 -6
  642. package/src/i18n/messagebundle_ca.properties +19 -7
  643. package/src/i18n/messagebundle_cnr.properties +18 -6
  644. package/src/i18n/messagebundle_cs.properties +18 -6
  645. package/src/i18n/messagebundle_cy.properties +18 -6
  646. package/src/i18n/messagebundle_da.properties +18 -6
  647. package/src/i18n/messagebundle_de.properties +19 -7
  648. package/src/i18n/messagebundle_el.properties +18 -6
  649. package/src/i18n/messagebundle_en.properties +22 -5
  650. package/src/i18n/messagebundle_en_GB.properties +20 -8
  651. package/src/i18n/messagebundle_en_US_sappsd.properties +15 -4
  652. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -4
  653. package/src/i18n/messagebundle_en_US_saptrc.properties +15 -4
  654. package/src/i18n/messagebundle_es.properties +19 -7
  655. package/src/i18n/messagebundle_es_MX.properties +19 -7
  656. package/src/i18n/messagebundle_et.properties +18 -6
  657. package/src/i18n/messagebundle_fi.properties +18 -6
  658. package/src/i18n/messagebundle_fr.properties +18 -6
  659. package/src/i18n/messagebundle_fr_CA.properties +18 -6
  660. package/src/i18n/messagebundle_hi.properties +18 -6
  661. package/src/i18n/messagebundle_hr.properties +19 -7
  662. package/src/i18n/messagebundle_hu.properties +18 -6
  663. package/src/i18n/messagebundle_id.properties +19 -7
  664. package/src/i18n/messagebundle_it.properties +18 -6
  665. package/src/i18n/messagebundle_iw.properties +18 -6
  666. package/src/i18n/messagebundle_ja.properties +18 -6
  667. package/src/i18n/messagebundle_kk.properties +18 -6
  668. package/src/i18n/messagebundle_ko.properties +18 -6
  669. package/src/i18n/messagebundle_lt.properties +18 -6
  670. package/src/i18n/messagebundle_lv.properties +18 -6
  671. package/src/i18n/messagebundle_mk.properties +18 -6
  672. package/src/i18n/messagebundle_ms.properties +18 -6
  673. package/src/i18n/messagebundle_nl.properties +18 -6
  674. package/src/i18n/messagebundle_no.properties +18 -6
  675. package/src/i18n/messagebundle_pl.properties +18 -6
  676. package/src/i18n/messagebundle_pt.properties +18 -6
  677. package/src/i18n/messagebundle_pt_PT.properties +18 -6
  678. package/src/i18n/messagebundle_ro.properties +18 -6
  679. package/src/i18n/messagebundle_ru.properties +18 -6
  680. package/src/i18n/messagebundle_sh.properties +18 -6
  681. package/src/i18n/messagebundle_sk.properties +18 -6
  682. package/src/i18n/messagebundle_sl.properties +18 -6
  683. package/src/i18n/messagebundle_sr.properties +18 -6
  684. package/src/i18n/messagebundle_sv.properties +22 -10
  685. package/src/i18n/messagebundle_th.properties +20 -8
  686. package/src/i18n/messagebundle_tr.properties +18 -6
  687. package/src/i18n/messagebundle_uk.properties +19 -7
  688. package/src/i18n/messagebundle_vi.properties +18 -6
  689. package/src/i18n/messagebundle_zh_CN.properties +18 -6
  690. package/src/i18n/messagebundle_zh_TW.properties +19 -7
  691. package/src/themes/Button.css +12 -0
  692. package/src/themes/DynamicDateRangePopover.css +15 -5
  693. package/src/themes/SplitButton.css +5 -0
  694. package/src/themes/StepInput.css +11 -4
  695. package/src/themes/Table.css +0 -14
  696. package/src/themes/TableGrowing.css +7 -14
  697. package/src/themes/TableHeaderRow.css +1 -0
  698. package/src/themes/TableRow.css +12 -8
  699. package/src/themes/base/Table-parameters.css +4 -0
package/dist/Carousel.js CHANGED
@@ -52,6 +52,12 @@ import CarouselCss from "./generated/themes/Carousel.css.js";
52
52
  * - The items you want to display need to be visible at the same time.
53
53
  * - The items you want to display are uniform and very similar.
54
54
  *
55
+ * ### Hidden Items
56
+ *
57
+ * Carousel items can be conditionally hidden by adding the `hidden` attribute to any child element.
58
+ * Hidden items are automatically excluded from carousel navigation and will not be displayed or counted in pagination.
59
+ * This allows for dynamic showing or hiding of carousel items without affecting the overall carousel behavior.
60
+ *
55
61
  * ### Keyboard Handling
56
62
  *
57
63
  * #### Basic Navigation
@@ -110,15 +116,6 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
110
116
  * @public
111
117
  */
112
118
  this.hideNavigationArrows = false;
113
- /**
114
- * Defines the current first visible item in the viewport.
115
- * Default value is 0, which means the first item in the viewport.
116
- *
117
- * @since 1.0.0-rc.15
118
- * @default 0
119
- * @public
120
- */
121
- this._currentSlideIndex = 0;
122
119
  /**
123
120
  * Defines the visibility of the page indicator.
124
121
  * If set to true the page indicator will be hidden.
@@ -182,8 +179,31 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
182
179
  * @since 1.0.0-rc.15
183
180
  */
184
181
  this._visibleNavigationArrows = false;
182
+ /**
183
+ * Internal trigger flag that forces component re-rendering when content items change.
184
+ * @private
185
+ * @since 2.16.0
186
+ */
187
+ this._visibleItemsCount = 0;
188
+ /**
189
+ * Defines the current slide index, which contains the visible item in the viewport.
190
+ * @private
191
+ * @since 2.16.0-r.c1
192
+ */
193
+ this._currentSlideIndex = 0;
185
194
  this._pageStep = 10;
186
195
  this._itemIndicator = 0;
196
+ this._observableContent = [];
197
+ this._contentItemsObserver = new MutationObserver(() => {
198
+ const visibleItemsCount = this._visibleItems.length;
199
+ if (this._visibleItemsCount === visibleItemsCount) {
200
+ return;
201
+ }
202
+ this._visibleItemsCount = visibleItemsCount;
203
+ this._currentSlideIndex = clamp(this._currentSlideIndex, 0, Math.max(0, this.items.length - this.effectiveItemsPerPage));
204
+ this._focusedItemIndex = clamp(this._focusedItemIndex, this._currentSlideIndex, this.items.length - 1);
205
+ this._moveToItem(this._currentSlideIndex);
206
+ });
187
207
  this._scrollEnablement = new ScrollEnablement(this);
188
208
  this._scrollEnablement.attachEvent("touchend", e => {
189
209
  this._updateScrolling(e);
@@ -195,6 +215,7 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
195
215
  this._visibleItemsIndexes = [];
196
216
  }
197
217
  onBeforeRendering() {
218
+ this._observeContentItems();
198
219
  if (this.arrowsPlacement === CarouselArrowsPlacement.Navigation || !isDesktop()) {
199
220
  this._visibleNavigationArrows = true;
200
221
  }
@@ -211,6 +232,8 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
211
232
  }
212
233
  }
213
234
  onExitDOM() {
235
+ this._contentItemsObserver.disconnect();
236
+ this._observableContent = [];
214
237
  ResizeHandler.deregister(this, this._onResizeBound);
215
238
  }
216
239
  validateSelectedIndex() {
@@ -276,8 +299,8 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
276
299
  return;
277
300
  }
278
301
  let pageIndex = -1;
279
- for (let i = 0; i < this.content.length; i++) {
280
- if (this.content[i].isEqualNode(target?.querySelector("slot")?.assignedNodes()[0])) {
302
+ for (let i = 0; i < this._visibleItems.length; i++) {
303
+ if (this._visibleItems[i].isEqualNode(target?.querySelector("slot")?.assignedNodes()[0])) {
281
304
  pageIndex = i;
282
305
  break;
283
306
  }
@@ -333,6 +356,30 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
333
356
  this._lastInnerFocusedElement.focus();
334
357
  }
335
358
  }
359
+ _observeContentItems() {
360
+ if (this.hasMatchingContent) {
361
+ return;
362
+ }
363
+ this.content.forEach(item => {
364
+ if (!this._observableContent.includes(item)) {
365
+ this._contentItemsObserver.observe(item, {
366
+ characterData: false,
367
+ childList: false,
368
+ subtree: false,
369
+ attributes: true,
370
+ attributeFilter: ["hidden"],
371
+ });
372
+ }
373
+ });
374
+ this._observableContent = this.content;
375
+ }
376
+ get hasMatchingContent() {
377
+ if (this._observableContent.length !== this.content.length) {
378
+ return false;
379
+ }
380
+ const observableContentSet = new WeakSet(this._observableContent);
381
+ return this.content.every(item => observableContentSet.has(item));
382
+ }
336
383
  _handleHome(e) {
337
384
  e.preventDefault();
338
385
  this.navigateTo(0);
@@ -497,6 +544,9 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
497
544
  * @public
498
545
  */
499
546
  navigateTo(itemIndex) {
547
+ if (!this.isIndexInRange(itemIndex)) {
548
+ return;
549
+ }
500
550
  if (this._focusedItemIndex < itemIndex) {
501
551
  this._itemIndicator = 1;
502
552
  }
@@ -520,18 +570,27 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
520
570
  await renderFinished();
521
571
  this.focusItem();
522
572
  }
573
+ /**
574
+ * The indices of the currently visible items of the component.
575
+ * @public
576
+ * @since 1.0.0-rc.15
577
+ * @default []
578
+ */
579
+ get visibleItemsIndices() {
580
+ return this._visibleItemsIndexes;
581
+ }
523
582
  /**
524
583
  * Assuming that all items have the same width
525
584
  * @private
526
585
  */
527
586
  get items() {
528
- return this.content.map((item, idx) => {
587
+ return this._visibleItems.map((item, idx) => {
529
588
  return {
530
589
  id: `${this._id}-carousel-item-${idx + 1}`,
531
590
  item,
532
591
  tabIndex: this.isItemInViewport(this._focusedItemIndex) ? 0 : -1,
533
592
  posinset: idx + 1,
534
- setsize: this.content.length,
593
+ setsize: this._visibleItems.length,
535
594
  visible: this.isItemInViewport(idx),
536
595
  };
537
596
  });
@@ -628,7 +687,7 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
628
687
  };
629
688
  }
630
689
  get pagesCount() {
631
- const items = this.content.length;
690
+ const items = this._visibleItems.length;
632
691
  return items > this.effectiveItemsPerPage ? items - this.effectiveItemsPerPage + 1 : 1;
633
692
  }
634
693
  get isPageTypeDots() {
@@ -659,7 +718,7 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
659
718
  return this.cyclic || (this._focusedItemIndex - 1 >= 0 && this._currentSlideIndex !== 0);
660
719
  }
661
720
  get hasNext() {
662
- return this.cyclic || (this._focusedItemIndex + 1 <= this.content.length - 1 && this._currentSlideIndex < this.pagesCount - 1);
721
+ return this.cyclic || (this._focusedItemIndex + 1 <= this._visibleItems.length - 1 && this._currentSlideIndex < this.pagesCount - 1);
663
722
  }
664
723
  get suppressAnimation() {
665
724
  return this._resizing || getAnimationMode() === AnimationMode.None;
@@ -673,9 +732,6 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
673
732
  get ofText() {
674
733
  return Carousel_1.i18nBundle.getText(CAROUSEL_OF_TEXT);
675
734
  }
676
- get ariaActiveDescendant() {
677
- return this.content.length ? `${this._id}-carousel-item-${this._focusedItemIndex + 1}` : undefined;
678
- }
679
735
  get ariaLabelTxt() {
680
736
  return getEffectiveAriaLabelText(this);
681
737
  }
@@ -688,6 +744,15 @@ let Carousel = Carousel_1 = class Carousel extends UI5Element {
688
744
  get _roleDescription() {
689
745
  return Carousel_1.i18nBundle.getText(CAROUSEL_ARIA_ROLE_DESCRIPTION);
690
746
  }
747
+ /**
748
+ * Returns only visible (non-hidden) content items.
749
+ * Items with the 'hidden' attribute are automatically excluded from carousel navigation.
750
+ * @private
751
+ * @returns {Array<HTMLElement>}
752
+ */
753
+ get _visibleItems() {
754
+ return this.content.filter(x => !x.hasAttribute("hidden"));
755
+ }
691
756
  carouselItemDomRef(idx) {
692
757
  const items = this.getDomRef()?.querySelectorAll(".ui5-carousel-item") || [];
693
758
  return Array.from(items).filter((item, index) => {
@@ -710,9 +775,6 @@ __decorate([
710
775
  __decorate([
711
776
  property({ type: Boolean })
712
777
  ], Carousel.prototype, "hideNavigationArrows", void 0);
713
- __decorate([
714
- property({ type: Number, noAttribute: true })
715
- ], Carousel.prototype, "_currentSlideIndex", void 0);
716
778
  __decorate([
717
779
  property({ type: Boolean })
718
780
  ], Carousel.prototype, "hidePageIndicator", void 0);
@@ -743,6 +805,12 @@ __decorate([
743
805
  __decorate([
744
806
  property({ type: Boolean, noAttribute: true })
745
807
  ], Carousel.prototype, "_visibleNavigationArrows", void 0);
808
+ __decorate([
809
+ property({ type: Number, noAttribute: true })
810
+ ], Carousel.prototype, "_visibleItemsCount", void 0);
811
+ __decorate([
812
+ property({ type: Number, noAttribute: true })
813
+ ], Carousel.prototype, "_currentSlideIndex", void 0);
746
814
  __decorate([
747
815
  slot({ "default": true, type: HTMLElement, individualSlots: true })
748
816
  ], Carousel.prototype, "content", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../src/Carousel.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-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisDown,\n\tisUp,\n\tisF7,\n\tisHome,\n\tisEnd,\n\tisPageDown,\n\tisPageUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport type { ScrollEnablementEventListenerParam } from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport {\n\tCAROUSEL_OF_TEXT,\n\tCAROUSEL_DOT_TEXT,\n\tCAROUSEL_PREVIOUS_ARROW_TEXT,\n\tCAROUSEL_NEXT_ARROW_TEXT,\n\tCAROUSEL_ARIA_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CarouselArrowsPlacement from \"./types/CarouselArrowsPlacement.js\";\nimport CarouselPageIndicatorType from \"./types/CarouselPageIndicatorType.js\";\nimport type BackgroundDesign from \"./types/BackgroundDesign.js\";\nimport type BorderDesign from \"./types/BorderDesign.js\";\nimport CarouselTemplate from \"./CarouselTemplate.js\";\nimport type Icon from \"./Icon.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\n\n// Styles\nimport CarouselCss from \"./generated/themes/Carousel.css.js\";\n\ntype CarouselNavigateEventDetail = {\n\tselectedIndex: number;\n}\n\ntype ItemsInfo = {\n\tid: string,\n\titem: HTMLElement & { _individualSlot?: string },\n\ttabIndex: number,\n\tposinset: number,\n\tsetsize: number,\n\tvisible: boolean,\n\t_individualSlot?: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The Carousel allows the user to browse through a set of items.\n * The component is mostly used for showing a gallery of images, but can hold any other HTML element.\n *\n * There are several ways to perform navigation:\n *\n * - on desktop - the user can navigate using the navigation arrows or with keyboard shortcuts.\n * - on touch devices - the user can navigate using the navigation arrows (always visible) or can use swipe gestures.\n *\n * ### Usage\n *\n * #### When to use:\n *\n * - The items you want to display are very different from each other.\n * - You want to display the items one after the other.\n *\n * #### When not to use:\n *\n * - The items you want to display need to be visible at the same time.\n * - The items you want to display are uniform and very similar.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-carousel` is focused the user can navigate between the items\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] - Navigates to previous and next item\n * - [Left] or [Right] - Navigates to previous and next item\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 *\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Carousel.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n * @csspart content - Used to style the content of the component\n */\n@customElement({\n\ttag: \"ui5-carousel\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: jsxRenderer,\n\tstyles: CarouselCss,\n\ttemplate: CarouselTemplate,\n})\n/**\n * Fired whenever the page changes due to user interaction,\n * when the user clicks on the navigation arrows or while resizing,\n * based on the `items-per-page` property.\n * @param {Integer} selectedIndex the current selected index\n * @public\n * @since 1.0.0-rc.7\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\n\nclass Carousel extends UI5Element {\n\teventDetails!: {\n\t\tnavigate: CarouselNavigateEventDetail;\n\t}\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.24\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t * @since 1.24\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcyclic = false;\n\n\t/**\n\t * Defines the number of items per page depending on the carousel width.\n\t *\n\t * - 'S' for screens smaller than 600 pixels.\n\t * - 'M' for screens greater than or equal to 600 pixels and smaller than 1024 pixels.\n\t * - 'L' for screens greater than or equal to 1024 pixels and smaller than 1440 pixels.\n\t * - 'XL' for screens greater than or equal to 1440 pixels.\n\t *\n\t * One item per page is shown by default.\n\t * @default \"S1 M1 L1 XL1\"\n\t * @public\n\t */\n\t@property()\n\titemsPerPage = \"S1 M1 L1 XL1\";\n\n\t/**\n\t * Defines the visibility of the navigation arrows.\n\t * If set to true the navigation arrows will be hidden.\n\t *\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideNavigationArrows = false;\n\n\t/**\n\t * Defines the current first visible item in the viewport.\n\t * Default value is 0, which means the first item in the viewport.\n\t *\n\t * @since 1.0.0-rc.15\n\t * @default 0\n\t * @public\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_currentSlideIndex: number = 0;\n\n\t/**\n\t * Defines the visibility of the page indicator.\n\t * If set to true the page indicator will be hidden.\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thidePageIndicator = false;\n\n\t/**\n\t * Defines the style of the page indicator.\n\t * Available options are:\n\t *\n\t * - `Default` - The page indicator will be visualized as dots if there are fewer than 9 pages. If there are more pages, the page indicator will switch to displaying the current page and the total number of pages. (e.g. X of Y)\n\t * - `Numeric` - The page indicator will display the current page and the total number of pages. (e.g. X of Y)\n\t * @since 1.10\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorType: `${CarouselPageIndicatorType}` = \"Default\";\n\n\t/**\n\t * Defines the carousel's background design.\n\t * @since 1.14\n\t * @default \"Translucent\"\n\t * @public\n\t */\n\t@property()\n\tbackgroundDesign: `${BackgroundDesign}` = \"Translucent\";\n\n\t/**\n\t * Defines the page indicator background design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorBackgroundDesign: `${BackgroundDesign}` = \"Solid\";\n\n\t/**\n\t * Defines the page indicator border design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorBorderDesign: `${BorderDesign}` = \"Solid\";\n\n\t/**\n\t * Defines the index of the initially selected item.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_focusedItemIndex = 0;\n\n\t/**\n\t * Defines the position of arrows.\n\t *\n\t * Available options are:\n\t *\n\t * - `Content` - the arrows are placed on the sides of the current page.\n\t * - `Navigation` - the arrows are placed on the sides of the page indicator.\n\t * @default \"Content\"\n\t * @public\n\t */\n\t@property()\n\tarrowsPlacement: `${CarouselArrowsPlacement}` = \"Content\";\n\n\t/**\n\t * Defines the carousel width in pixels.\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_width?: number;\n\n\t/**\n\t * Defines the carousel item width in pixels.\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_itemWidth?: number;\n\n\t/**\n\t * If set to true navigation arrows are shown.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_visibleNavigationArrows = false;\n\n\t_scrollEnablement: ScrollEnablement;\n\t_onResizeBound: ResizeObserverCallback;\n\t_resizing: boolean;\n\t_lastFocusedElements: Array<HTMLElement>;\n\t_orderOfLastFocusedPages: Array<number>;\n\t_lastInnerFocusedElement?: HTMLElement;\n\t_pageStep: number = 10;\n\t_visibleItemsIndexes: Array<number>;\n\t_itemIndicator: number = 0;\n\n\t/**\n\t * Defines the content of the component.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, individualSlots: true })\n\tcontent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get pageTypeLimit() {\n\t\treturn 9;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._scrollEnablement = new ScrollEnablement(this);\n\t\tthis._scrollEnablement.attachEvent(\"touchend\", e => {\n\t\t\tthis._updateScrolling(e);\n\t\t});\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._resizing = false; // indicates if the carousel is in process of resizing\n\n\t\tthis._lastFocusedElements = [];\n\t\tthis._orderOfLastFocusedPages = [];\n\t\tthis._visibleItemsIndexes = [];\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation || !isDesktop()) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\n\t\tthis.validateSelectedIndex();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._scrollEnablement.scrollContainer = this.getDomRef()!;\n\t\tthis._resizing = false; // not invalidating\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeBound);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t}\n\n\tvalidateSelectedIndex() {\n\t\tif (!this.isIndexInRange(this._focusedItemIndex)) {\n\t\t\tthis._focusedItemIndex = 0;\n\t\t}\n\t}\n\n\t_onResize() {\n\t\tconst previousItemsPerPage = this.effectiveItemsPerPage;\n\n\t\t// Set the resizing flag to suppress animation while resizing\n\t\tthis._resizing = true;\n\n\t\t// Change transitively effectiveItemsPerPage by modifying _width\n\t\tthis._width = this.offsetWidth;\n\t\tthis._itemWidth = Math.floor(this._width / this.effectiveItemsPerPage);\n\t\tthis._updateVisibleItems(this._currentSlideIndex);\n\n\t\t// Items per page did not change or the current,\n\t\t// therefore page index does not need to be re-adjusted\n\t\tif (this.effectiveItemsPerPage === previousItemsPerPage) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedItemIndex = clamp(this._focusedItemIndex, this._currentSlideIndex, this.items.length - this.effectiveItemsPerPage);\n\t}\n\n\t_updateScrolling(e: ScrollEnablementEventListenerParam) {\n\t\tif (!e) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.isLeft) {\n\t\t\tthis.navigateLeft();\n\t\t} else if (e.isRight) {\n\t\t\tthis.navigateRight();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF7(e)) {\n\t\t\tthis._handleF7Key(e);\n\t\t\treturn;\n\t\t}\n\t\tif (isHome(e)) {\n\t\t\tthis._handleHome(e);\n\t\t}\n\t\tif (isEnd(e)) {\n\t\t\tthis._handleEnd(e);\n\t\t}\n\t\tif (isPageUp(e)) {\n\t\t\tthis._handlePageUp(e);\n\t\t}\n\t\tif (isPageDown(e)) {\n\t\t\tthis._handlePageDown(e);\n\t\t}\n\n\t\tif (isLeft(e) || isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.navigateLeft();\n\t\t} else if (isRight(e) || isDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.navigateRight();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target === this.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet pageIndex = -1;\n\t\tfor (let i = 0; i < this.content.length; i++) {\n\t\t\tif (this.content[i].isEqualNode(target?.querySelector(\"slot\")?.assignedNodes()[0] as HTMLElement)) {\n\t\t\t\tpageIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (pageIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedItemIndex = pageIndex;\n\t\t// Save reference of the last focused element for each page\n\t\tthis._lastFocusedElements[pageIndex] = target;\n\n\t\tconst sortedPageIndex = this._orderOfLastFocusedPages.indexOf(pageIndex);\n\t\tif (sortedPageIndex === -1) {\n\t\t\tthis._orderOfLastFocusedPages.unshift(pageIndex);\n\t\t} else {\n\t\t\tthis._orderOfLastFocusedPages.splice(0, 0, this._orderOfLastFocusedPages.splice(sortedPageIndex, 1)[0]);\n\t\t}\n\t}\n\n\t_onmouseout() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = false;\n\t\t}\n\t}\n\n\t_onmouseover() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\t}\n\n\t_ontouchstart(e: TouchEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\") || target.hasAttribute(\"data-ui5-arrow-back\")) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\") || target.hasAttribute(\"data-ui5-arrow-back\")) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tasync _handleF7Key(e: KeyboardEvent) {\n\t\tconst lastFocusedElement = this._lastFocusedElements[this._getLastFocusedActivePageIndex];\n\t\tif (!this._lastInnerFocusedElement) {\n\t\t\tconst firstFocusable = await getFirstFocusableElement(this.items[this._focusedItemIndex].item);\n\t\t\tfirstFocusable?.focus();\n\t\t\tthis._lastInnerFocusedElement = firstFocusable || undefined;\n\t\t} else if (this.carouselItemDomRef(this._focusedItemIndex)[0] === lastFocusedElement && lastFocusedElement !== e.target) {\n\t\t\tlastFocusedElement.focus();\n\t\t\tthis._lastInnerFocusedElement = e.target as HTMLElement;\n\t\t} else if (this._lastInnerFocusedElement) {\n\t\t\tthis._lastInnerFocusedElement.focus();\n\t\t}\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(0);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this.items.length - 1);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this._focusedItemIndex\t+ this._pageStep < this.items.length ? this._focusedItemIndex + this._pageStep : this.items.length - 1);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this._focusedItemIndex\t- this._pageStep > 0 ? this._focusedItemIndex - this._pageStep : 0);\n\t}\n\n\tget _backgroundDesign() {\n\t\treturn this.backgroundDesign.toLowerCase();\n\t}\n\n\tget _getLastFocusedActivePageIndex() {\n\t\tfor (let i = 0; i < this._orderOfLastFocusedPages.length; i++) {\n\t\t\tconst pageIndex = this._orderOfLastFocusedPages[i];\n\n\t\t\tif (this.isItemInViewport(pageIndex)) {\n\t\t\t\treturn pageIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn this._focusedItemIndex;\n\t}\n\n\tnavigateLeft() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._focusedItemIndex;\n\n\t\tif (this._focusedItemIndex - 1 < 0) {\n\t\t\tif (this.cyclic && this._visibleItemsIndexes.length >= 1) {\n\t\t\t\tif (this._focusedItemIndex === 0 && this.effectiveItemsPerPage > 1) {\n\t\t\t\t\tthis._focusedItemIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tthis._focusedItemIndex = this.items.length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t--this._focusedItemIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._focusedItemIndex) {\n\t\t\tthis.skipToItem(this._focusedItemIndex, -1);\n\t\t\tthis.fireDecoratorEvent(\"navigate\", { selectedIndex: this._focusedItemIndex });\n\t\t}\n\t}\n\n\tnavigateRight() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._focusedItemIndex;\n\n\t\tif (this._focusedItemIndex + 1 > this.items.length - 1) {\n\t\t\tif (this.cyclic) {\n\t\t\t\tif (this._focusedItemIndex === this.items.length - 1 && this.effectiveItemsPerPage > 1) {\n\t\t\t\t\tthis._focusedItemIndex = this.items.length - 1;\n\t\t\t\t} else {\n\t\t\t\t\tthis._focusedItemIndex = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\t++this._focusedItemIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._focusedItemIndex) {\n\t\t\tthis.skipToItem(this._focusedItemIndex, 1);\n\t\t\tthis.fireDecoratorEvent(\"navigate\", { selectedIndex: this._focusedItemIndex });\n\t\t}\n\t}\n\n\tnavigateArrowRight() {\n\t\tif (this._focusedItemIndex === this._visibleItemsIndexes[0]) {\n\t\t\tthis.navigateTo(this._focusedItemIndex + 1);\n\t\t\tthis._moveToItem(this._currentSlideIndex + 1);\n\t\t} else {\n\t\t\tthis._moveToItem(this._currentSlideIndex + 1);\n\t\t\tthis.navigateTo(this._focusedItemIndex);\n\t\t}\n\t}\n\n\tnavigateArrowLeft() {\n\t\tif (this._focusedItemIndex > 0 && this._focusedItemIndex === this._visibleItemsIndexes[this._visibleItemsIndexes.length - 1]) {\n\t\t\tthis.navigateTo(this._focusedItemIndex - 1);\n\t\t\tthis._moveToItem(this._currentSlideIndex - 1);\n\t\t} else {\n\t\t\tthis._moveToItem(this._currentSlideIndex === 0 ? this.pagesCount - 1 : this._currentSlideIndex - 1);\n\t\t\tthis.navigateTo(this._focusedItemIndex === 0 ? this.items.length - 1 : this._focusedItemIndex);\n\t\t}\n\t}\n\n\t_calculateItemSlideIndex(currentSlideIndex: number, itemStep: number) {\n\t\tif (this.isItemInViewport(this._focusedItemIndex)) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst itemsPerPage = this.effectiveItemsPerPage;\n\n\t\tlet slideIndex;\n\n\t\tif (itemsPerPage > 1) {\n\t\t\tif (currentSlideIndex === 0 && itemStep < 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (currentSlideIndex >= this.pagesCount && itemStep > 0) {\n\t\t\t\treturn this.pagesCount - 1;\n\t\t\t}\n\n\t\t\tslideIndex = currentSlideIndex + itemStep;\n\t\t} else {\n\t\t\tslideIndex = itemStep > 0 ? currentSlideIndex + 1 : currentSlideIndex - 1;\n\t\t\tif (this.cyclic) {\n\t\t\t\tif (currentSlideIndex === 0 && itemStep < 0) {\n\t\t\t\t\treturn this.pagesCount - 1;\n\t\t\t\t}\n\n\t\t\t\tif (currentSlideIndex === this.items.length - 1 && itemStep > 0) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn slideIndex;\n\t}\n\n\t_moveToItem(slideIndex: number) {\n\t\tif (this.items.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsInViewportToShow = this.effectiveItemsPerPage,\n\t\t\titemsCount = this.items.length,\n\t\t\tcyclic = this.cyclic;\n\n\t\tif (cyclic && itemsInViewportToShow !== 1 && (slideIndex < 0 || slideIndex > itemsCount - 1)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (slideIndex + itemsInViewportToShow > itemsCount - 1) {\n\t\t\tslideIndex = itemsCount - itemsInViewportToShow;\n\t\t}\n\n\t\tthis._updateVisibleItems(slideIndex);\n\t\tthis._currentSlideIndex = slideIndex;\n\t}\n\n\tfocusItem() {\n\t\tthis.carouselItemDomRef(this._focusedItemIndex)[0].focus({ preventScroll: true });\n\t}\n\n\t_navButtonClick(e: UI5CustomEvent<Icon, \"click\">) {\n\t\tconst target = e.target as Icon;\n\t\tif (this._visibleItemsIndexes.length > 1) {\n\t\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\")) {\n\t\t\t\tthis.navigateArrowRight();\n\t\t\t} else {\n\t\t\t\tthis.navigateArrowLeft();\n\t\t\t}\n\t\t} else if (this._visibleItemsIndexes.length <= 1) {\n\t\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\")) {\n\t\t\t\tthis.navigateRight();\n\t\t\t} else {\n\t\t\t\tthis.navigateLeft();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Changes the currently displayed page.\n\t * @param itemIndex The index of the target page\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\tnavigateTo(itemIndex: number) {\n\t\tif (this._focusedItemIndex < itemIndex) {\n\t\t\tthis._itemIndicator = 1;\n\t\t}\n\t\tthis._focusedItemIndex = itemIndex;\n\t\tthis._currentSlideIndex = itemIndex - this._itemIndicator;\n\t\tif (this.isItemInViewport(itemIndex)) {\n\t\t\tthis._currentSlideIndex = this._visibleItemsIndexes[0];\n\t\t\tthis.focusItem();\n\t\t\treturn;\n\t\t}\n\t\tthis.skipToItem(this._focusedItemIndex, 1);\n\t}\n\n\tasync skipToItem(focusIndex: number, offset: number) {\n\t\tif (!this.isItemInViewport(focusIndex)) {\n\t\t\tlet slideIndex = this._calculateItemSlideIndex(this._currentSlideIndex, offset);\n\t\t\tif (focusIndex === 0) {\n\t\t\t\tslideIndex = 0;\n\t\t\t}\n\t\t\tthis._moveToItem(slideIndex);\n\t\t}\n\n\t\tawait renderFinished();\n\n\t\tthis.focusItem();\n\t}\n\n\t/**\n\t * Assuming that all items have the same width\n\t * @private\n\t */\n\tget items(): Array<ItemsInfo> {\n\t\treturn this.content.map((item, idx) => {\n\t\t\treturn {\n\t\t\t\tid: `${this._id}-carousel-item-${idx + 1}`,\n\t\t\t\titem,\n\t\t\t\ttabIndex: this.isItemInViewport(this._focusedItemIndex) ? 0 : -1,\n\t\t\t\tposinset: idx + 1,\n\t\t\t\tsetsize: this.content.length,\n\t\t\t\tvisible: this.isItemInViewport(idx),\n\t\t\t};\n\t\t});\n\t}\n\tget effectiveItemsPerPage(): number {\n\t\tconst itemsPerPageArray = this.itemsPerPage.split(\" \");\n\t\tlet itemsPerPageSizeS = 1,\n\t\t\titemsPerPageSizeM = 1,\n\t\t\titemsPerPageSizeL = 1,\n\t\t\titemsPerPageSizeXL = 1;\n\n\t\titemsPerPageArray.forEach(element => {\n\t\t\tif (element.startsWith(\"S\")) {\n\t\t\t\titemsPerPageSizeS = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"M\")) {\n\t\t\t\titemsPerPageSizeM = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"L\")) {\n\t\t\t\titemsPerPageSizeL = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"XL\")) {\n\t\t\t\titemsPerPageSizeXL = Number(element.slice(2)) || 1;\n\t\t\t}\n\t\t});\n\n\t\tif (!this._width) {\n\t\t\treturn itemsPerPageSizeL;\n\t\t}\n\n\t\tif (this._width < 600) {\n\t\t\treturn itemsPerPageSizeS;\n\t\t}\n\n\t\tif (this._width >= 600 && this._width < 1024) {\n\t\t\treturn itemsPerPageSizeM;\n\t\t}\n\n\t\tif (this._width >= 1024 && this._width < 1440) {\n\t\t\treturn itemsPerPageSizeL;\n\t\t}\n\n\t\treturn itemsPerPageSizeXL;\n\t}\n\n\tisItemInViewport(index: number): boolean {\n\t\treturn this._visibleItemsIndexes.includes(index);\n\t}\n\n\t_updateVisibleItems(index:number) {\n\t\tlet newItemIndex = index;\n\t\tconst effectiveItemsPerPage: number = this.effectiveItemsPerPage;\n\t\tconst items = this.items;\n\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (newItemIndex > items.length - effectiveItemsPerPage) {\n\t\t\tnewItemIndex = items.length\t - effectiveItemsPerPage;\n\t\t}\n\t\tconst lastItemIndex = newItemIndex + effectiveItemsPerPage;\n\n\t\tthis._visibleItemsIndexes = [];\n\n\t\tfor (let i = newItemIndex; i < lastItemIndex; i++) {\n\t\t\tthis._visibleItemsIndexes.push(i);\n\t\t}\n\t}\n\n\tisIndexInRange(index: number): boolean {\n\t\treturn index >= 0 && index <= this.items.length - 1;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tget renderNavigation() {\n\t\tif (!this.hasManyPages) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this.hidePageIndicator) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget hasManyPages() {\n\t\treturn this.pagesCount > 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tviewport: {\n\t\t\t\t\"ui5-carousel-viewport\": true,\n\t\t\t\t\"ui5-carousel-viewport--single\": this.pagesCount === 1,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-carousel-content\": true,\n\t\t\t\t\"ui5-carousel-content-no-animation\": this.suppressAnimation,\n\t\t\t\t\"ui5-carousel-content-has-navigation\": this.renderNavigation,\n\t\t\t\t\"ui5-carousel-content-has-navigation-and-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\t\"ui5-carousel-navigation-wrapper\": true,\n\t\t\t\t\"ui5-carousel-navigation-with-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-bg-${this.pageIndicatorBackgroundDesign.toLowerCase()}`]: true,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-border-${this.pageIndicatorBorderDesign.toLowerCase()}`]: true,\n\t\t\t},\n\t\t};\n\t}\n\n\tget pagesCount() {\n\t\tconst items = this.content.length;\n\t\treturn items > this.effectiveItemsPerPage ? items - this.effectiveItemsPerPage + 1 : 1;\n\t}\n\tget isPageTypeDots() {\n\t\tif (this.pageIndicatorType === CarouselPageIndicatorType.Numeric) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.pagesCount < Carousel.pageTypeLimit;\n\t}\n\n\tget dots() {\n\t\tconst dots = [];\n\t\tconst pages = this.pagesCount;\n\n\t\tfor (let index = 0; index < pages; index++) {\n\t\t\tdots.push({\n\t\t\t\tactive: index === this._currentSlideIndex,\n\t\t\t\tariaLabel: Carousel.i18nBundle.getText(CAROUSEL_DOT_TEXT, index + 1, pages),\n\t\t\t});\n\t\t}\n\n\t\treturn dots;\n\t}\n\n\tget showArrows() {\n\t\tconst displayArrows = this._visibleNavigationArrows && this.hasManyPages;\n\t\treturn {\n\t\t\tcontent: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,\n\t\t\tnavigation: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,\n\t\t};\n\t}\n\n\tget hasPrev() {\n\t\treturn this.cyclic || (this._focusedItemIndex - 1 >= 0 && this._currentSlideIndex !== 0);\n\t}\n\n\tget hasNext() {\n\t\treturn this.cyclic || (this._focusedItemIndex + 1 <= this.content.length - 1 && this._currentSlideIndex < this.pagesCount - 1);\n\t}\n\n\tget suppressAnimation() {\n\t\treturn this._resizing || getAnimationMode() === AnimationMode.None;\n\t}\n\n\tget _isRTL() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget selectedIndexToShow() {\n\t\treturn this._isRTL ? this.items.length - (this.items.length - this._focusedItemIndex) + 1 : this._focusedItemIndex + 1;\n\t}\n\n\tget ofText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);\n\t}\n\n\tget ariaActiveDescendant() {\n\t\treturn this.content.length ? `${this._id}-carousel-item-${this._focusedItemIndex + 1}` : undefined;\n\t}\n\n\tget ariaLabelTxt() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget nextPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_NEXT_ARROW_TEXT);\n\t}\n\n\tget previousPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_PREVIOUS_ARROW_TEXT);\n\t}\n\n\tget _roleDescription() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\tcarouselItemDomRef(idx: number) : Array<HTMLElement> {\n\t\tconst items = this.getDomRef()?.querySelectorAll(\".ui5-carousel-item\") || [];\n\t\treturn Array.from(items).filter((item, index) => {\n\t\t\treturn index === idx;\n\t\t}) as Array<HTMLElement>;\n\t}\n}\n\nCarousel.define();\n\nexport default Carousel;\nexport type {\n\tCarouselNavigateEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../src/Carousel.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-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisDown,\n\tisUp,\n\tisF7,\n\tisHome,\n\tisEnd,\n\tisPageDown,\n\tisPageUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ScrollEnablement from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport type { ScrollEnablementEventListenerParam } from \"@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport {\n\tCAROUSEL_OF_TEXT,\n\tCAROUSEL_DOT_TEXT,\n\tCAROUSEL_PREVIOUS_ARROW_TEXT,\n\tCAROUSEL_NEXT_ARROW_TEXT,\n\tCAROUSEL_ARIA_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CarouselArrowsPlacement from \"./types/CarouselArrowsPlacement.js\";\nimport CarouselPageIndicatorType from \"./types/CarouselPageIndicatorType.js\";\nimport type BackgroundDesign from \"./types/BackgroundDesign.js\";\nimport type BorderDesign from \"./types/BorderDesign.js\";\nimport CarouselTemplate from \"./CarouselTemplate.js\";\nimport type Icon from \"./Icon.js\";\nimport { getFirstFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\n\n// Styles\nimport CarouselCss from \"./generated/themes/Carousel.css.js\";\n\ntype CarouselNavigateEventDetail = {\n\tselectedIndex: number;\n}\n\ntype ItemsInfo = {\n\tid: string,\n\titem: HTMLElement & { _individualSlot?: string },\n\ttabIndex: number,\n\tposinset: number,\n\tsetsize: number,\n\tvisible: boolean,\n\t_individualSlot?: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The Carousel allows the user to browse through a set of items.\n * The component is mostly used for showing a gallery of images, but can hold any other HTML element.\n *\n * There are several ways to perform navigation:\n *\n * - on desktop - the user can navigate using the navigation arrows or with keyboard shortcuts.\n * - on touch devices - the user can navigate using the navigation arrows (always visible) or can use swipe gestures.\n *\n * ### Usage\n *\n * #### When to use:\n *\n * - The items you want to display are very different from each other.\n * - You want to display the items one after the other.\n *\n * #### When not to use:\n *\n * - The items you want to display need to be visible at the same time.\n * - The items you want to display are uniform and very similar.\n *\n * ### Hidden Items\n *\n * Carousel items can be conditionally hidden by adding the `hidden` attribute to any child element.\n * Hidden items are automatically excluded from carousel navigation and will not be displayed or counted in pagination.\n * This allows for dynamic showing or hiding of carousel items without affecting the overall carousel behavior.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * When the `ui5-carousel` is focused the user can navigate between the items\n * with the following keyboard shortcuts:\n *\n * - [Up] or [Down] - Navigates to previous and next item\n * - [Left] or [Right] - Navigates to previous and next item\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 *\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Carousel.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n * @csspart content - Used to style the content of the component\n */\n@customElement({\n\ttag: \"ui5-carousel\",\n\tlanguageAware: true,\n\tfastNavigation: true,\n\trenderer: jsxRenderer,\n\tstyles: CarouselCss,\n\ttemplate: CarouselTemplate,\n})\n/**\n * Fired whenever the page changes due to user interaction,\n * when the user clicks on the navigation arrows or while resizing,\n * based on the `items-per-page` property.\n * @param {Integer} selectedIndex the current selected index\n * @public\n * @since 1.0.0-rc.7\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\n\nclass Carousel extends UI5Element {\n\teventDetails!: {\n\t\tnavigate: CarouselNavigateEventDetail;\n\t}\n\t/**\n\t * Defines the accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.24\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the input.\n\t * @default undefined\n\t * @public\n\t * @since 1.24\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcyclic = false;\n\n\t/**\n\t * Defines the number of items per page depending on the carousel width.\n\t *\n\t * - 'S' for screens smaller than 600 pixels.\n\t * - 'M' for screens greater than or equal to 600 pixels and smaller than 1024 pixels.\n\t * - 'L' for screens greater than or equal to 1024 pixels and smaller than 1440 pixels.\n\t * - 'XL' for screens greater than or equal to 1440 pixels.\n\t *\n\t * One item per page is shown by default.\n\t * @default \"S1 M1 L1 XL1\"\n\t * @public\n\t */\n\t@property()\n\titemsPerPage = \"S1 M1 L1 XL1\";\n\n\t/**\n\t * Defines the visibility of the navigation arrows.\n\t * If set to true the navigation arrows will be hidden.\n\t *\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideNavigationArrows = false;\n\n\t/**\n\t * Defines the visibility of the page indicator.\n\t * If set to true the page indicator will be hidden.\n\t * @since 1.0.0-rc.15\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thidePageIndicator = false;\n\n\t/**\n\t * Defines the style of the page indicator.\n\t * Available options are:\n\t *\n\t * - `Default` - The page indicator will be visualized as dots if there are fewer than 9 pages. If there are more pages, the page indicator will switch to displaying the current page and the total number of pages. (e.g. X of Y)\n\t * - `Numeric` - The page indicator will display the current page and the total number of pages. (e.g. X of Y)\n\t * @since 1.10\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorType: `${CarouselPageIndicatorType}` = \"Default\";\n\n\t/**\n\t * Defines the carousel's background design.\n\t * @since 1.14\n\t * @default \"Translucent\"\n\t * @public\n\t */\n\t@property()\n\tbackgroundDesign: `${BackgroundDesign}` = \"Translucent\";\n\n\t/**\n\t * Defines the page indicator background design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorBackgroundDesign: `${BackgroundDesign}` = \"Solid\";\n\n\t/**\n\t * Defines the page indicator border design.\n\t * @since 1.14\n\t * @default \"Solid\"\n\t * @public\n\t */\n\t@property()\n\tpageIndicatorBorderDesign: `${BorderDesign}` = \"Solid\";\n\n\t/**\n\t * Defines the index of the initially selected item.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_focusedItemIndex = 0;\n\n\t/**\n\t * Defines the position of arrows.\n\t *\n\t * Available options are:\n\t *\n\t * - `Content` - the arrows are placed on the sides of the current page.\n\t * - `Navigation` - the arrows are placed on the sides of the page indicator.\n\t * @default \"Content\"\n\t * @public\n\t */\n\t@property()\n\tarrowsPlacement: `${CarouselArrowsPlacement}` = \"Content\";\n\n\t/**\n\t * Defines the carousel width in pixels.\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_width?: number;\n\n\t/**\n\t * Defines the carousel item width in pixels.\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_itemWidth?: number;\n\n\t/**\n\t * If set to true navigation arrows are shown.\n\t * @private\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_visibleNavigationArrows = false;\n\n\t/**\n\t * Internal trigger flag that forces component re-rendering when content items change.\n\t * @private\n\t * @since 2.16.0\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_visibleItemsCount = 0;\n\n\t/**\n\t * Defines the current slide index, which contains the visible item in the viewport.\n\t * @private\n\t * @since 2.16.0-r.c1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_currentSlideIndex: number = 0;\n\n\t_scrollEnablement: ScrollEnablement;\n\t_onResizeBound: ResizeObserverCallback;\n\t_resizing: boolean;\n\t_lastFocusedElements: Array<HTMLElement>;\n\t_orderOfLastFocusedPages: Array<number>;\n\t_lastInnerFocusedElement?: HTMLElement;\n\t_pageStep: number = 10;\n\t_visibleItemsIndexes: Array<number>;\n\t_itemIndicator: number = 0;\n\t_contentItemsObserver: MutationObserver;\n\t_observableContent: Array<HTMLElement> = [];\n\n\t/**\n\t * Defines the content of the component.\n\t *\n\t * **Note:** Items with the `hidden` attribute will be automatically excluded from carousel navigation and page calculations.\n\t * They will not be displayed or accessible via keyboard navigation. See [sample](./#carousel-with-hidden-items).\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, individualSlots: true })\n\tcontent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get pageTypeLimit() {\n\t\treturn 9;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._contentItemsObserver = new MutationObserver(() => {\n\t\t\tconst visibleItemsCount = this._visibleItems.length;\n\n\t\t\tif (this._visibleItemsCount === visibleItemsCount) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._visibleItemsCount = visibleItemsCount;\n\n\t\t\tthis._currentSlideIndex = clamp(this._currentSlideIndex, 0, Math.max(0, this.items.length - this.effectiveItemsPerPage));\n\t\t\tthis._focusedItemIndex = clamp(this._focusedItemIndex, this._currentSlideIndex, this.items.length - 1);\n\t\t\tthis._moveToItem(this._currentSlideIndex);\n\t\t});\n\n\t\tthis._scrollEnablement = new ScrollEnablement(this);\n\t\tthis._scrollEnablement.attachEvent(\"touchend\", e => {\n\t\t\tthis._updateScrolling(e);\n\t\t});\n\t\tthis._onResizeBound = this._onResize.bind(this);\n\t\tthis._resizing = false; // indicates if the carousel is in process of resizing\n\n\t\tthis._lastFocusedElements = [];\n\t\tthis._orderOfLastFocusedPages = [];\n\t\tthis._visibleItemsIndexes = [];\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._observeContentItems();\n\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation || !isDesktop()) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\n\t\tthis.validateSelectedIndex();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._scrollEnablement.scrollContainer = this.getDomRef()!;\n\t\tthis._resizing = false; // not invalidating\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResizeBound);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tthis._contentItemsObserver.disconnect();\n\t\tthis._observableContent = [];\n\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t}\n\n\tvalidateSelectedIndex() {\n\t\tif (!this.isIndexInRange(this._focusedItemIndex)) {\n\t\t\tthis._focusedItemIndex = 0;\n\t\t}\n\t}\n\n\t_onResize() {\n\t\tconst previousItemsPerPage = this.effectiveItemsPerPage;\n\n\t\t// Set the resizing flag to suppress animation while resizing\n\t\tthis._resizing = true;\n\n\t\t// Change transitively effectiveItemsPerPage by modifying _width\n\t\tthis._width = this.offsetWidth;\n\t\tthis._itemWidth = Math.floor(this._width / this.effectiveItemsPerPage);\n\t\tthis._updateVisibleItems(this._currentSlideIndex);\n\n\t\t// Items per page did not change or the current,\n\t\t// therefore page index does not need to be re-adjusted\n\t\tif (this.effectiveItemsPerPage === previousItemsPerPage) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedItemIndex = clamp(this._focusedItemIndex, this._currentSlideIndex, this.items.length - this.effectiveItemsPerPage);\n\t}\n\n\t_updateScrolling(e: ScrollEnablementEventListenerParam) {\n\t\tif (!e) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.isLeft) {\n\t\t\tthis.navigateLeft();\n\t\t} else if (e.isRight) {\n\t\t\tthis.navigateRight();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isF7(e)) {\n\t\t\tthis._handleF7Key(e);\n\t\t\treturn;\n\t\t}\n\t\tif (isHome(e)) {\n\t\t\tthis._handleHome(e);\n\t\t}\n\t\tif (isEnd(e)) {\n\t\t\tthis._handleEnd(e);\n\t\t}\n\t\tif (isPageUp(e)) {\n\t\t\tthis._handlePageUp(e);\n\t\t}\n\t\tif (isPageDown(e)) {\n\t\t\tthis._handlePageDown(e);\n\t\t}\n\n\t\tif (isLeft(e) || isUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.navigateLeft();\n\t\t} else if (isRight(e) || isDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.navigateRight();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target === this.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet pageIndex = -1;\n\t\tfor (let i = 0; i < this._visibleItems.length; i++) {\n\t\t\tif (this._visibleItems[i].isEqualNode(target?.querySelector(\"slot\")?.assignedNodes()[0] as HTMLElement)) {\n\t\t\t\tpageIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (pageIndex === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedItemIndex = pageIndex;\n\t\t// Save reference of the last focused element for each page\n\t\tthis._lastFocusedElements[pageIndex] = target;\n\n\t\tconst sortedPageIndex = this._orderOfLastFocusedPages.indexOf(pageIndex);\n\t\tif (sortedPageIndex === -1) {\n\t\t\tthis._orderOfLastFocusedPages.unshift(pageIndex);\n\t\t} else {\n\t\t\tthis._orderOfLastFocusedPages.splice(0, 0, this._orderOfLastFocusedPages.splice(sortedPageIndex, 1)[0]);\n\t\t}\n\t}\n\n\t_onmouseout() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = false;\n\t\t}\n\t}\n\n\t_onmouseover() {\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Content) {\n\t\t\tthis._visibleNavigationArrows = true;\n\t\t}\n\t}\n\n\t_ontouchstart(e: TouchEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\") || target.hasAttribute(\"data-ui5-arrow-back\")) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\") || target.hasAttribute(\"data-ui5-arrow-back\")) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tasync _handleF7Key(e: KeyboardEvent) {\n\t\tconst lastFocusedElement = this._lastFocusedElements[this._getLastFocusedActivePageIndex];\n\t\tif (!this._lastInnerFocusedElement) {\n\t\t\tconst firstFocusable = await getFirstFocusableElement(this.items[this._focusedItemIndex].item);\n\t\t\tfirstFocusable?.focus();\n\t\t\tthis._lastInnerFocusedElement = firstFocusable || undefined;\n\t\t} else if (this.carouselItemDomRef(this._focusedItemIndex)[0] === lastFocusedElement && lastFocusedElement !== e.target) {\n\t\t\tlastFocusedElement.focus();\n\t\t\tthis._lastInnerFocusedElement = e.target as HTMLElement;\n\t\t} else if (this._lastInnerFocusedElement) {\n\t\t\tthis._lastInnerFocusedElement.focus();\n\t\t}\n\t}\n\n\t_observeContentItems() {\n\t\tif (this.hasMatchingContent) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.content.forEach(item => {\n\t\t\tif (!this._observableContent.includes(item)) {\n\t\t\t\tthis._contentItemsObserver.observe(item, {\n\t\t\t\t\tcharacterData: false,\n\t\t\t\t\tchildList: false,\n\t\t\t\t\tsubtree: false,\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: [\"hidden\"],\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tthis._observableContent = this.content;\n\t}\n\n\tget hasMatchingContent() {\n\t\tif (this._observableContent.length !== this.content.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst observableContentSet = new WeakSet(this._observableContent);\n\t\treturn this.content.every(item => observableContentSet.has(item));\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(0);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this.items.length - 1);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this._focusedItemIndex\t+ this._pageStep < this.items.length ? this._focusedItemIndex + this._pageStep : this.items.length - 1);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent) {\n\t\te.preventDefault();\n\t\tthis.navigateTo(this._focusedItemIndex\t- this._pageStep > 0 ? this._focusedItemIndex - this._pageStep : 0);\n\t}\n\n\tget _backgroundDesign() {\n\t\treturn this.backgroundDesign.toLowerCase();\n\t}\n\n\tget _getLastFocusedActivePageIndex() {\n\t\tfor (let i = 0; i < this._orderOfLastFocusedPages.length; i++) {\n\t\t\tconst pageIndex = this._orderOfLastFocusedPages[i];\n\n\t\t\tif (this.isItemInViewport(pageIndex)) {\n\t\t\t\treturn pageIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn this._focusedItemIndex;\n\t}\n\n\tnavigateLeft() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._focusedItemIndex;\n\n\t\tif (this._focusedItemIndex - 1 < 0) {\n\t\t\tif (this.cyclic && this._visibleItemsIndexes.length >= 1) {\n\t\t\t\tif (this._focusedItemIndex === 0 && this.effectiveItemsPerPage > 1) {\n\t\t\t\t\tthis._focusedItemIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tthis._focusedItemIndex = this.items.length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t--this._focusedItemIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._focusedItemIndex) {\n\t\t\tthis.skipToItem(this._focusedItemIndex, -1);\n\t\t\tthis.fireDecoratorEvent(\"navigate\", { selectedIndex: this._focusedItemIndex });\n\t\t}\n\t}\n\n\tnavigateRight() {\n\t\tthis._resizing = false;\n\n\t\tconst previousSelectedIndex = this._focusedItemIndex;\n\n\t\tif (this._focusedItemIndex + 1 > this.items.length - 1) {\n\t\t\tif (this.cyclic) {\n\t\t\t\tif (this._focusedItemIndex === this.items.length - 1 && this.effectiveItemsPerPage > 1) {\n\t\t\t\t\tthis._focusedItemIndex = this.items.length - 1;\n\t\t\t\t} else {\n\t\t\t\t\tthis._focusedItemIndex = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\t++this._focusedItemIndex;\n\t\t}\n\n\t\tif (previousSelectedIndex !== this._focusedItemIndex) {\n\t\t\tthis.skipToItem(this._focusedItemIndex, 1);\n\t\t\tthis.fireDecoratorEvent(\"navigate\", { selectedIndex: this._focusedItemIndex });\n\t\t}\n\t}\n\n\tnavigateArrowRight() {\n\t\tif (this._focusedItemIndex === this._visibleItemsIndexes[0]) {\n\t\t\tthis.navigateTo(this._focusedItemIndex + 1);\n\t\t\tthis._moveToItem(this._currentSlideIndex + 1);\n\t\t} else {\n\t\t\tthis._moveToItem(this._currentSlideIndex + 1);\n\t\t\tthis.navigateTo(this._focusedItemIndex);\n\t\t}\n\t}\n\n\tnavigateArrowLeft() {\n\t\tif (this._focusedItemIndex > 0 && this._focusedItemIndex === this._visibleItemsIndexes[this._visibleItemsIndexes.length - 1]) {\n\t\t\tthis.navigateTo(this._focusedItemIndex - 1);\n\t\t\tthis._moveToItem(this._currentSlideIndex - 1);\n\t\t} else {\n\t\t\tthis._moveToItem(this._currentSlideIndex === 0 ? this.pagesCount - 1 : this._currentSlideIndex - 1);\n\t\t\tthis.navigateTo(this._focusedItemIndex === 0 ? this.items.length - 1 : this._focusedItemIndex);\n\t\t}\n\t}\n\n\t_calculateItemSlideIndex(currentSlideIndex: number, itemStep: number) {\n\t\tif (this.isItemInViewport(this._focusedItemIndex)) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst itemsPerPage = this.effectiveItemsPerPage;\n\n\t\tlet slideIndex;\n\n\t\tif (itemsPerPage > 1) {\n\t\t\tif (currentSlideIndex === 0 && itemStep < 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif (currentSlideIndex >= this.pagesCount && itemStep > 0) {\n\t\t\t\treturn this.pagesCount - 1;\n\t\t\t}\n\n\t\t\tslideIndex = currentSlideIndex + itemStep;\n\t\t} else {\n\t\t\tslideIndex = itemStep > 0 ? currentSlideIndex + 1 : currentSlideIndex - 1;\n\t\t\tif (this.cyclic) {\n\t\t\t\tif (currentSlideIndex === 0 && itemStep < 0) {\n\t\t\t\t\treturn this.pagesCount - 1;\n\t\t\t\t}\n\n\t\t\t\tif (currentSlideIndex === this.items.length - 1 && itemStep > 0) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn slideIndex;\n\t}\n\n\t_moveToItem(slideIndex: number) {\n\t\tif (this.items.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst itemsInViewportToShow = this.effectiveItemsPerPage,\n\t\t\titemsCount = this.items.length,\n\t\t\tcyclic = this.cyclic;\n\n\t\tif (cyclic && itemsInViewportToShow !== 1 && (slideIndex < 0 || slideIndex > itemsCount - 1)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (slideIndex + itemsInViewportToShow > itemsCount - 1) {\n\t\t\tslideIndex = itemsCount - itemsInViewportToShow;\n\t\t}\n\n\t\tthis._updateVisibleItems(slideIndex);\n\t\tthis._currentSlideIndex = slideIndex;\n\t}\n\n\tfocusItem() {\n\t\tthis.carouselItemDomRef(this._focusedItemIndex)[0].focus({ preventScroll: true });\n\t}\n\n\t_navButtonClick(e: UI5CustomEvent<Icon, \"click\">) {\n\t\tconst target = e.target as Icon;\n\t\tif (this._visibleItemsIndexes.length > 1) {\n\t\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\")) {\n\t\t\t\tthis.navigateArrowRight();\n\t\t\t} else {\n\t\t\t\tthis.navigateArrowLeft();\n\t\t\t}\n\t\t} else if (this._visibleItemsIndexes.length <= 1) {\n\t\t\tif (target.hasAttribute(\"data-ui5-arrow-forward\")) {\n\t\t\t\tthis.navigateRight();\n\t\t\t} else {\n\t\t\t\tthis.navigateLeft();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Changes the currently displayed page.\n\t * @param itemIndex The index of the target page\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\tnavigateTo(itemIndex: number) {\n\t\tif (!this.isIndexInRange(itemIndex)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._focusedItemIndex < itemIndex) {\n\t\t\tthis._itemIndicator = 1;\n\t\t}\n\t\tthis._focusedItemIndex = itemIndex;\n\t\tthis._currentSlideIndex = itemIndex - this._itemIndicator;\n\t\tif (this.isItemInViewport(itemIndex)) {\n\t\t\tthis._currentSlideIndex = this._visibleItemsIndexes[0];\n\t\t\tthis.focusItem();\n\t\t\treturn;\n\t\t}\n\t\tthis.skipToItem(this._focusedItemIndex, 1);\n\t}\n\n\tasync skipToItem(focusIndex: number, offset: number) {\n\t\tif (!this.isItemInViewport(focusIndex)) {\n\t\t\tlet slideIndex = this._calculateItemSlideIndex(this._currentSlideIndex, offset);\n\t\t\tif (focusIndex === 0) {\n\t\t\t\tslideIndex = 0;\n\t\t\t}\n\t\t\tthis._moveToItem(slideIndex);\n\t\t}\n\n\t\tawait renderFinished();\n\n\t\tthis.focusItem();\n\t}\n\n\t/**\n\t * The indices of the currently visible items of the component.\n\t * @public\n\t * @since 1.0.0-rc.15\n\t * @default []\n\t */\n\tget visibleItemsIndices() : Array<number> {\n\t\treturn this._visibleItemsIndexes;\n\t}\n\n\t/**\n\t * Assuming that all items have the same width\n\t * @private\n\t */\n\tget items(): Array<ItemsInfo> {\n\t\treturn this._visibleItems.map((item, idx) => {\n\t\t\treturn {\n\t\t\t\tid: `${this._id}-carousel-item-${idx + 1}`,\n\t\t\t\titem,\n\t\t\t\ttabIndex: this.isItemInViewport(this._focusedItemIndex) ? 0 : -1,\n\t\t\t\tposinset: idx + 1,\n\t\t\t\tsetsize: this._visibleItems.length,\n\t\t\t\tvisible: this.isItemInViewport(idx),\n\t\t\t};\n\t\t});\n\t}\n\tget effectiveItemsPerPage(): number {\n\t\tconst itemsPerPageArray = this.itemsPerPage.split(\" \");\n\t\tlet itemsPerPageSizeS = 1,\n\t\t\titemsPerPageSizeM = 1,\n\t\t\titemsPerPageSizeL = 1,\n\t\t\titemsPerPageSizeXL = 1;\n\n\t\titemsPerPageArray.forEach(element => {\n\t\t\tif (element.startsWith(\"S\")) {\n\t\t\t\titemsPerPageSizeS = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"M\")) {\n\t\t\t\titemsPerPageSizeM = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"L\")) {\n\t\t\t\titemsPerPageSizeL = Number(element.slice(1)) || 1;\n\t\t\t} else if (element.startsWith(\"XL\")) {\n\t\t\t\titemsPerPageSizeXL = Number(element.slice(2)) || 1;\n\t\t\t}\n\t\t});\n\n\t\tif (!this._width) {\n\t\t\treturn itemsPerPageSizeL;\n\t\t}\n\n\t\tif (this._width < 600) {\n\t\t\treturn itemsPerPageSizeS;\n\t\t}\n\n\t\tif (this._width >= 600 && this._width < 1024) {\n\t\t\treturn itemsPerPageSizeM;\n\t\t}\n\n\t\tif (this._width >= 1024 && this._width < 1440) {\n\t\t\treturn itemsPerPageSizeL;\n\t\t}\n\n\t\treturn itemsPerPageSizeXL;\n\t}\n\n\tisItemInViewport(index: number): boolean {\n\t\treturn this._visibleItemsIndexes.includes(index);\n\t}\n\n\t_updateVisibleItems(index:number) {\n\t\tlet newItemIndex = index;\n\t\tconst effectiveItemsPerPage: number = this.effectiveItemsPerPage;\n\t\tconst items = this.items;\n\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (newItemIndex > items.length - effectiveItemsPerPage) {\n\t\t\tnewItemIndex = items.length\t - effectiveItemsPerPage;\n\t\t}\n\t\tconst lastItemIndex = newItemIndex + effectiveItemsPerPage;\n\n\t\tthis._visibleItemsIndexes = [];\n\n\t\tfor (let i = newItemIndex; i < lastItemIndex; i++) {\n\t\t\tthis._visibleItemsIndexes.push(i);\n\t\t}\n\t}\n\n\tisIndexInRange(index: number): boolean {\n\t\treturn index >= 0 && index <= this.items.length - 1;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tget renderNavigation() {\n\t\tif (!this.hasManyPages) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this.hidePageIndicator) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget hasManyPages() {\n\t\treturn this.pagesCount > 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tviewport: {\n\t\t\t\t\"ui5-carousel-viewport\": true,\n\t\t\t\t\"ui5-carousel-viewport--single\": this.pagesCount === 1,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-carousel-content\": true,\n\t\t\t\t\"ui5-carousel-content-no-animation\": this.suppressAnimation,\n\t\t\t\t\"ui5-carousel-content-has-navigation\": this.renderNavigation,\n\t\t\t\t\"ui5-carousel-content-has-navigation-and-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t},\n\t\t\tnavigation: {\n\t\t\t\t\"ui5-carousel-navigation-wrapper\": true,\n\t\t\t\t\"ui5-carousel-navigation-with-buttons\": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-bg-${this.pageIndicatorBackgroundDesign.toLowerCase()}`]: true,\n\t\t\t\t[`ui5-carousel-navigation-wrapper-border-${this.pageIndicatorBorderDesign.toLowerCase()}`]: true,\n\t\t\t},\n\t\t};\n\t}\n\n\tget pagesCount() {\n\t\tconst items = this._visibleItems.length;\n\t\treturn items > this.effectiveItemsPerPage ? items - this.effectiveItemsPerPage + 1 : 1;\n\t}\n\tget isPageTypeDots() {\n\t\tif (this.pageIndicatorType === CarouselPageIndicatorType.Numeric) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.pagesCount < Carousel.pageTypeLimit;\n\t}\n\n\tget dots() {\n\t\tconst dots = [];\n\t\tconst pages = this.pagesCount;\n\n\t\tfor (let index = 0; index < pages; index++) {\n\t\t\tdots.push({\n\t\t\t\tactive: index === this._currentSlideIndex,\n\t\t\t\tariaLabel: Carousel.i18nBundle.getText(CAROUSEL_DOT_TEXT, index + 1, pages),\n\t\t\t});\n\t\t}\n\n\t\treturn dots;\n\t}\n\n\tget showArrows() {\n\t\tconst displayArrows = this._visibleNavigationArrows && this.hasManyPages;\n\t\treturn {\n\t\t\tcontent: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,\n\t\t\tnavigation: !this.hideNavigationArrows && displayArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,\n\t\t};\n\t}\n\n\tget hasPrev() {\n\t\treturn this.cyclic || (this._focusedItemIndex - 1 >= 0 && this._currentSlideIndex !== 0);\n\t}\n\n\tget hasNext() {\n\t\treturn this.cyclic || (this._focusedItemIndex + 1 <= this._visibleItems.length - 1 && this._currentSlideIndex < this.pagesCount - 1);\n\t}\n\n\tget suppressAnimation() {\n\t\treturn this._resizing || getAnimationMode() === AnimationMode.None;\n\t}\n\n\tget _isRTL() {\n\t\treturn this.effectiveDir === \"rtl\";\n\t}\n\n\tget selectedIndexToShow() {\n\t\treturn this._isRTL ? this.items.length - (this.items.length - this._focusedItemIndex) + 1 : this._focusedItemIndex + 1;\n\t}\n\n\tget ofText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);\n\t}\n\n\tget ariaLabelTxt() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget nextPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_NEXT_ARROW_TEXT);\n\t}\n\n\tget previousPageText() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_PREVIOUS_ARROW_TEXT);\n\t}\n\n\tget _roleDescription() {\n\t\treturn Carousel.i18nBundle.getText(CAROUSEL_ARIA_ROLE_DESCRIPTION);\n\t}\n\n\t/**\n \t * Returns only visible (non-hidden) content items.\n\t * Items with the 'hidden' attribute are automatically excluded from carousel navigation.\n\t * @private\n\t * @returns {Array<HTMLElement>}\n\t */\n\tget _visibleItems() {\n\t\treturn this.content.filter(x => !x.hasAttribute(\"hidden\"));\n\t}\n\n\tcarouselItemDomRef(idx: number) : Array<HTMLElement> {\n\t\tconst items = this.getDomRef()?.querySelectorAll(\".ui5-carousel-item\") || [];\n\t\treturn Array.from(items).filter((item, index) => {\n\t\t\treturn index === idx;\n\t\t}) as Array<HTMLElement>;\n\t}\n}\n\nCarousel.define();\n\nexport default Carousel;\nexport type {\n\tCarouselNavigateEventDetail,\n};\n"]}
package/dist/ComboBox.js CHANGED
@@ -873,7 +873,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
873
873
  announce(`${groupHeaderText} ${currentItem.headerText}`, InvisibleMessageMode.Polite);
874
874
  }
875
875
  else {
876
- announce(`${currentItemAdditionalText} ${itemPositionText}`.trim(), InvisibleMessageMode.Polite);
876
+ announce(`${currentItemAdditionalText} ${this.open ? itemPositionText : ""}`.trim(), InvisibleMessageMode.Polite);
877
877
  }
878
878
  }
879
879
  _clear() {