@ui5/webcomponents 0.0.0-934b4df24 → 0.0.0-b053ad005

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 (732) hide show
  1. package/CHANGELOG.md +552 -1
  2. package/README.md +144 -52
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +197 -46
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +44 -22
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +141 -37
  13. package/dist/Button.js +124 -68
  14. package/dist/Calendar.js +342 -546
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +133 -62
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +44 -158
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +267 -100
  21. package/dist/CheckBox.js +149 -49
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +599 -94
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +12 -24
  30. package/dist/CustomListItem.js +38 -4
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +392 -409
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +111 -384
  35. package/dist/DayPicker.js +509 -431
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +213 -25
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +141 -49
  41. package/dist/Input.js +614 -163
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -17
  44. package/dist/Link.js +123 -29
  45. package/dist/List.js +451 -117
  46. package/dist/ListItem.js +96 -26
  47. package/dist/ListItemBase.js +31 -8
  48. package/dist/MessageStrip.js +56 -70
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +574 -161
  51. package/dist/MultiComboBoxItem.js +8 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +100 -37
  55. package/dist/Popover.js +255 -169
  56. package/dist/Popup.js +370 -96
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +131 -51
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +291 -0
  62. package/dist/ResponsivePopover.js +67 -53
  63. package/dist/SegmentedButton.js +112 -76
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +441 -108
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -13
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +37 -31
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +59 -42
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +145 -65
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +480 -27
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +243 -10
  82. package/dist/TextArea.js +139 -41
  83. package/dist/TimePicker.js +55 -675
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +24 -13
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +84 -47
  90. package/dist/Tokenizer.js +246 -64
  91. package/dist/Tree.js +150 -63
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +136 -14
  94. package/dist/WheelSlider.js +79 -59
  95. package/dist/YearPicker.js +199 -255
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +251 -57
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -0
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -15
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -8
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -9
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -17
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -4
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -9
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -5
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -20
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -11
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -16
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  274. package/dist/generated/themes/DateTimePicker.css.js +8 -0
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  300. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +8 -0
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  397. package/dist/popup-utils/PopoverRegistry.js +49 -15
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +2 -2
  414. package/dist/types/ListMode.js +9 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +23 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +7 -0
  454. package/src/Avatar.hbs +20 -0
  455. package/src/Avatar.js +392 -0
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +14 -0
  459. package/src/Badge.js +165 -0
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +563 -0
  462. package/src/BreadcrumbsItem.js +109 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +32 -0
  465. package/src/BusyIndicator.js +269 -0
  466. package/src/Button.hbs +45 -0
  467. package/src/Button.js +463 -0
  468. package/src/Calendar.hbs +69 -0
  469. package/src/Calendar.js +489 -0
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +54 -0
  472. package/src/CalendarHeader.js +209 -0
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +14 -0
  475. package/src/Card.js +160 -0
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +85 -0
  479. package/src/Carousel.js +681 -0
  480. package/src/CheckBox.hbs +44 -0
  481. package/src/CheckBox.js +424 -0
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +49 -0
  492. package/src/ComboBox.js +1041 -0
  493. package/src/ComboBoxFilters.js +40 -0
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +49 -0
  496. package/src/ComboBoxPopover.hbs +125 -0
  497. package/src/CustomListItem.hbs +5 -0
  498. package/src/CustomListItem.js +99 -0
  499. package/src/DateComponentBase.js +170 -0
  500. package/src/DatePicker.hbs +44 -0
  501. package/src/DatePicker.js +823 -0
  502. package/src/DatePickerPopover.hbs +63 -0
  503. package/src/DateRangePicker.js +328 -0
  504. package/src/DateTimePicker.js +430 -0
  505. package/src/DateTimePickerPopover.hbs +74 -0
  506. package/src/DayPicker.hbs +66 -0
  507. package/src/DayPicker.js +754 -0
  508. package/src/Dialog.hbs +35 -0
  509. package/src/Dialog.js +601 -0
  510. package/src/DurationPicker.js +312 -0
  511. package/src/FileUploader.hbs +40 -0
  512. package/src/FileUploader.js +532 -0
  513. package/src/FileUploaderPopover.hbs +25 -0
  514. package/src/GroupHeaderListItem.hbs +15 -0
  515. package/src/GroupHeaderListItem.js +94 -0
  516. package/src/Icon.hbs +25 -0
  517. package/src/Icon.js +373 -0
  518. package/src/Input.hbs +78 -0
  519. package/src/Input.js +1381 -0
  520. package/src/InputPopover.hbs +118 -0
  521. package/src/Interfaces.js +192 -0
  522. package/src/Label.hbs +13 -0
  523. package/src/Label.js +152 -0
  524. package/src/Link.hbs +20 -0
  525. package/src/Link.js +349 -0
  526. package/src/List.hbs +89 -0
  527. package/src/List.js +1056 -0
  528. package/src/ListItem.hbs +102 -0
  529. package/src/ListItem.js +371 -0
  530. package/src/ListItemBase.js +179 -0
  531. package/src/MessageStrip.hbs +34 -0
  532. package/src/MessageStrip.js +227 -0
  533. package/src/MonthPicker.hbs +29 -0
  534. package/src/MonthPicker.js +299 -0
  535. package/src/MultiComboBox.hbs +78 -0
  536. package/src/MultiComboBox.js +1091 -0
  537. package/src/MultiComboBoxItem.js +43 -0
  538. package/src/MultiComboBoxPopover.hbs +133 -0
  539. package/src/MultiInput.hbs +41 -0
  540. package/src/MultiInput.js +301 -0
  541. package/src/Option.js +115 -0
  542. package/src/Panel.hbs +63 -0
  543. package/src/Panel.js +462 -0
  544. package/src/Popover.hbs +25 -0
  545. package/src/Popover.js +786 -0
  546. package/src/Popup.hbs +34 -0
  547. package/src/Popup.js +567 -0
  548. package/src/PopupBlockLayer.hbs +7 -0
  549. package/src/ProgressIndicator.hbs +35 -0
  550. package/src/ProgressIndicator.js +235 -0
  551. package/src/RadioButton.hbs +33 -0
  552. package/src/RadioButton.js +494 -0
  553. package/src/RadioButtonGroup.js +205 -0
  554. package/src/RangeSlider.hbs +70 -0
  555. package/src/RangeSlider.js +769 -0
  556. package/src/RatingIndicator.hbs +33 -0
  557. package/src/RatingIndicator.js +291 -0
  558. package/src/ResponsivePopover.hbs +39 -0
  559. package/src/ResponsivePopover.js +206 -0
  560. package/src/SegmentedButton.hbs +17 -0
  561. package/src/SegmentedButton.js +290 -0
  562. package/src/SegmentedButtonItem.hbs +42 -0
  563. package/src/SegmentedButtonItem.js +109 -0
  564. package/src/Select.hbs +45 -0
  565. package/src/Select.js +834 -0
  566. package/src/SelectPopover.hbs +89 -0
  567. package/src/Slider.hbs +42 -0
  568. package/src/Slider.js +320 -0
  569. package/src/SliderBase.hbs +38 -0
  570. package/src/SliderBase.js +842 -0
  571. package/src/StandardListItem.hbs +44 -0
  572. package/src/StandardListItem.js +191 -0
  573. package/src/StepInput.hbs +77 -0
  574. package/src/StepInput.js +681 -0
  575. package/src/SuggestionGroupItem.js +64 -0
  576. package/src/SuggestionItem.js +146 -0
  577. package/src/SuggestionListItem.hbs +33 -0
  578. package/src/SuggestionListItem.js +76 -0
  579. package/src/Switch.hbs +50 -0
  580. package/src/Switch.js +261 -0
  581. package/src/Tab.hbs +3 -0
  582. package/src/Tab.js +334 -0
  583. package/src/TabContainer.hbs +93 -0
  584. package/src/TabContainer.js +679 -0
  585. package/src/TabContainerPopover.hbs +24 -0
  586. package/src/TabInOverflow.hbs +22 -0
  587. package/src/TabInStrip.hbs +43 -0
  588. package/src/TabSeparator.hbs +1 -0
  589. package/src/TabSeparator.js +44 -0
  590. package/src/Table.hbs +99 -0
  591. package/src/Table.js +761 -0
  592. package/src/TableCell.hbs +7 -0
  593. package/src/TableCell.js +88 -0
  594. package/src/TableColumn.hbs +8 -0
  595. package/src/TableColumn.js +136 -0
  596. package/src/TableGroupRow.hbs +12 -0
  597. package/src/TableGroupRow.js +160 -0
  598. package/src/TableRow.hbs +61 -0
  599. package/src/TableRow.js +388 -0
  600. package/src/TextArea.hbs +50 -0
  601. package/src/TextArea.js +691 -0
  602. package/src/TextAreaPopover.hbs +28 -0
  603. package/src/TimePicker.hbs +35 -0
  604. package/src/TimePicker.js +166 -0
  605. package/src/TimePickerBase.js +463 -0
  606. package/src/TimePickerPopover.hbs +34 -0
  607. package/src/TimeSelection.hbs +60 -0
  608. package/src/TimeSelection.js +493 -0
  609. package/src/Title.hbs +47 -0
  610. package/src/Title.js +132 -0
  611. package/src/Toast.hbs +13 -0
  612. package/src/Toast.js +243 -0
  613. package/src/ToggleButton.hbs +5 -0
  614. package/src/ToggleButton.js +84 -0
  615. package/src/Token.hbs +30 -0
  616. package/src/Token.js +219 -0
  617. package/src/Tokenizer.hbs +27 -0
  618. package/src/Tokenizer.js +414 -0
  619. package/src/TokenizerPopover.hbs +50 -0
  620. package/src/Tree.hbs +42 -0
  621. package/src/Tree.js +443 -0
  622. package/src/TreeItem.js +168 -0
  623. package/src/TreeListItem.hbs +48 -0
  624. package/src/TreeListItem.js +332 -0
  625. package/src/WheelSlider.hbs +48 -0
  626. package/src/WheelSlider.js +435 -0
  627. package/src/YearPicker.hbs +27 -0
  628. package/src/YearPicker.js +324 -0
  629. package/src/features/ColorPaletteMoreColors.js +42 -0
  630. package/src/features/InputElementsFormSupport.js +88 -0
  631. package/src/features/InputSuggestions.js +530 -0
  632. package/src/i18n/messagebundle.properties +335 -0
  633. package/src/i18n/messagebundle_ar.properties +224 -0
  634. package/src/i18n/messagebundle_bg.properties +224 -0
  635. package/src/i18n/messagebundle_ca.properties +224 -0
  636. package/src/i18n/messagebundle_cs.properties +224 -0
  637. package/src/i18n/messagebundle_cy.properties +224 -0
  638. package/src/i18n/messagebundle_da.properties +224 -0
  639. package/src/i18n/messagebundle_de.properties +224 -0
  640. package/src/i18n/messagebundle_el.properties +224 -0
  641. package/src/i18n/messagebundle_en.properties +224 -0
  642. package/src/i18n/messagebundle_en_GB.properties +224 -0
  643. package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
  644. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  645. package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
  646. package/src/i18n/messagebundle_es.properties +224 -0
  647. package/src/i18n/messagebundle_es_MX.properties +224 -0
  648. package/src/i18n/messagebundle_et.properties +224 -0
  649. package/src/i18n/messagebundle_fi.properties +224 -0
  650. package/src/i18n/messagebundle_fr.properties +224 -0
  651. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  652. package/src/i18n/messagebundle_hi.properties +224 -0
  653. package/src/i18n/messagebundle_hr.properties +224 -0
  654. package/src/i18n/messagebundle_hu.properties +224 -0
  655. package/src/i18n/messagebundle_id.properties +224 -0
  656. package/src/i18n/messagebundle_in.properties +172 -0
  657. package/src/i18n/messagebundle_it.properties +224 -0
  658. package/src/i18n/messagebundle_iw.properties +224 -0
  659. package/src/i18n/messagebundle_ja.properties +224 -0
  660. package/src/i18n/messagebundle_kk.properties +224 -0
  661. package/src/i18n/messagebundle_ko.properties +224 -0
  662. package/src/i18n/messagebundle_lt.properties +224 -0
  663. package/src/i18n/messagebundle_lv.properties +224 -0
  664. package/src/i18n/messagebundle_ms.properties +224 -0
  665. package/src/i18n/messagebundle_nl.properties +224 -0
  666. package/src/i18n/messagebundle_no.properties +224 -0
  667. package/src/i18n/messagebundle_pl.properties +224 -0
  668. package/src/i18n/messagebundle_pt.properties +224 -0
  669. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  670. package/src/i18n/messagebundle_ro.properties +224 -0
  671. package/src/i18n/messagebundle_ru.properties +224 -0
  672. package/src/i18n/messagebundle_sh.properties +224 -0
  673. package/src/i18n/messagebundle_sk.properties +224 -0
  674. package/src/i18n/messagebundle_sl.properties +224 -0
  675. package/src/i18n/messagebundle_sv.properties +224 -0
  676. package/src/i18n/messagebundle_th.properties +224 -0
  677. package/src/i18n/messagebundle_tr.properties +224 -0
  678. package/src/i18n/messagebundle_uk.properties +224 -0
  679. package/src/i18n/messagebundle_vi.properties +224 -0
  680. package/src/i18n/messagebundle_zh_CN.properties +224 -0
  681. package/src/i18n/messagebundle_zh_TW.properties +224 -0
  682. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  683. package/src/popup-utils/PopoverRegistry.js +145 -0
  684. package/src/timepicker-utils/TimeSlider.js +103 -0
  685. package/src/types/AvatarColorScheme.js +104 -0
  686. package/src/types/AvatarGroupType.js +43 -0
  687. package/src/types/AvatarShape.js +41 -0
  688. package/src/types/AvatarSize.js +67 -0
  689. package/src/types/BreadcrumbsDesign.js +42 -0
  690. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  691. package/src/types/BusyIndicatorSize.js +47 -0
  692. package/src/types/ButtonDesign.js +68 -0
  693. package/src/types/CalendarSelectionMode.js +47 -0
  694. package/src/types/CarouselArrowsPlacement.js +40 -0
  695. package/src/types/GrowingMode.js +48 -0
  696. package/src/types/InputType.js +68 -0
  697. package/src/types/LinkDesign.js +47 -0
  698. package/src/types/ListGrowingMode.js +15 -0
  699. package/src/types/ListItemType.js +47 -0
  700. package/src/types/ListMode.js +77 -0
  701. package/src/types/ListSeparators.js +46 -0
  702. package/src/types/MessageStripDesign.js +54 -0
  703. package/src/types/PanelAccessibleRole.js +48 -0
  704. package/src/types/PopoverHorizontalAlign.js +54 -0
  705. package/src/types/PopoverPlacementType.js +54 -0
  706. package/src/types/PopoverVerticalAlign.js +54 -0
  707. package/src/types/Priority.js +55 -0
  708. package/src/types/SemanticColor.js +61 -0
  709. package/src/types/SwitchDesign.js +40 -0
  710. package/src/types/TabContainerTabsPlacement.js +40 -0
  711. package/src/types/TabLayout.js +40 -0
  712. package/src/types/TableGrowingMode.js +15 -0
  713. package/src/types/TableMode.js +47 -0
  714. package/src/types/TableRowType.js +40 -0
  715. package/src/types/TitleLevel.js +68 -0
  716. package/src/types/ToastPlacement.js +91 -0
  717. package/src/types/WrappingType.js +41 -0
  718. package/dist/Timeline.js +0 -97
  719. package/dist/TimelineItem.js +0 -161
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  722. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  723. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  724. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  725. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  726. package/dist/generated/themes/DurationPicker.css.js +0 -8
  727. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  728. package/dist/generated/themes/Timeline.css.js +0 -8
  729. package/dist/generated/themes/TimelineItem.css.js +0 -8
  730. package/dist/popup-utils/PopupUtils.js +0 -55
  731. package/dist/types/AvatarFitType.js +0 -40
  732. package/dist/webcomponentsjs/package.json +0 -46
package/dist/Carousel.js CHANGED
@@ -6,26 +6,28 @@ import {
6
6
  isRight,
7
7
  isDown,
8
8
  isUp,
9
+ isF7,
9
10
  } from "@ui5/webcomponents-base/dist/Keys.js";
10
- import {
11
- fetchI18nBundle,
12
- getI18nBundle,
13
- } from "@ui5/webcomponents-base/dist/i18nBundle.js";
11
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
12
  import ScrollEnablement from "@ui5/webcomponents-base/dist/delegate/ScrollEnablement.js";
15
13
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
14
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
16
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
17
16
  import AnimationMode from "@ui5/webcomponents-base/dist/types/AnimationMode.js";
18
17
  import { getAnimationMode } from "@ui5/webcomponents-base/dist/config/AnimationMode.js";
19
18
  import {
20
19
  CAROUSEL_OF_TEXT,
21
20
  CAROUSEL_DOT_TEXT,
21
+ CAROUSEL_PREVIOUS_ARROW_TEXT,
22
+ CAROUSEL_NEXT_ARROW_TEXT,
22
23
  } from "./generated/i18n/i18n-defaults.js";
23
24
  import CarouselArrowsPlacement from "./types/CarouselArrowsPlacement.js";
24
25
  import CarouselTemplate from "./generated/templates/CarouselTemplate.lit.js";
25
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-left.js";
26
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-right.js";
26
+ import "@ui5/webcomponents-icons/dist/slim-arrow-left.js";
27
+ import "@ui5/webcomponents-icons/dist/slim-arrow-right.js";
27
28
 
28
29
  import Button from "./Button.js";
30
+ import Label from "./Label.js";
29
31
 
30
32
  // Styles
31
33
  import CarouselCss from "./generated/themes/Carousel.css.js";
@@ -35,6 +37,7 @@ import CarouselCss from "./generated/themes/Carousel.css.js";
35
37
  */
36
38
  const metadata = {
37
39
  tag: "ui5-carousel",
40
+ languageAware: true,
38
41
  properties: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
39
42
  /**
40
43
  * Defines whether the carousel should loop, i.e show the first page after the last page is reached and vice versa.
@@ -47,7 +50,7 @@ const metadata = {
47
50
  },
48
51
 
49
52
  /**
50
- * Sets the number of items per page on small size (up to 640px). One item per page shown by default.
53
+ * Defines the number of items per page on small size (up to 640px). One item per page shown by default.
51
54
  * @type {Integer}
52
55
  * @defaultvalue 1
53
56
  * @public
@@ -58,7 +61,7 @@ const metadata = {
58
61
  },
59
62
 
60
63
  /**
61
- * Sets the number of items per page on medium size (from 640px to 1024px). One item per page shown by default.
64
+ * Defines the number of items per page on medium size (from 640px to 1024px). One item per page shown by default.
62
65
  * @type {Integer}
63
66
  * @defaultvalue 1
64
67
  * @public
@@ -69,7 +72,7 @@ const metadata = {
69
72
  },
70
73
 
71
74
  /**
72
- * Sets the number of items per page on large size (more than 1024px). One item per page shown by default.
75
+ * Defines the number of items per page on large size (more than 1024px). One item per page shown by default.
73
76
  * @type {Integer}
74
77
  * @defaultvalue 1
75
78
  * @public
@@ -80,36 +83,41 @@ const metadata = {
80
83
  },
81
84
 
82
85
  /**
83
- * If set to true the navigation is hidden.
86
+ * Defines the visibility of the navigation arrows.
87
+ * If set to true the navigation arrows will be hidden.
88
+ * <br><br>
89
+ * <b>Note:</b> The navigation arrows are never displayed on touch devices.
90
+ * In this case, the user can swipe to navigate through the items.
84
91
  * @type {boolean}
92
+ * @since 1.0.0-rc.15
85
93
  * @defaultvalue false
86
94
  * @public
87
95
  */
88
- hideNavigation: {
96
+ hideNavigationArrows: {
89
97
  type: Boolean,
90
98
  },
91
99
 
92
100
  /**
93
- * Defines the index of the initially selected item.
94
- * @type {Integer}
95
- * @defaultvalue 0
101
+ * Defines the visibility of the paging indicator.
102
+ * If set to true the page indicator will be hidden.
103
+ * @type {boolean}
104
+ * @since 1.0.0-rc.15
105
+ * @defaultvalue false
96
106
  * @public
97
107
  */
98
- selectedIndex: {
99
- type: Integer,
100
- defaultValue: 0,
108
+ hidePageIndicator: {
109
+ type: Boolean,
101
110
  },
102
111
 
103
112
  /**
104
- * Defines when the <code>loadMore</code> event is thrown. If not applied the event will not be thrown.
113
+ * Defines the index of the initially selected item.
105
114
  * @type {Integer}
106
- * @defaultvalue 1
107
- * @public
108
- * @since 1.0.0-rc.8
115
+ * @defaultvalue 0
116
+ * @private
109
117
  */
110
- infiniteScrollOffset: {
118
+ _selectedIndex: {
111
119
  type: Integer,
112
- defaultValue: 1,
120
+ defaultValue: 0,
113
121
  },
114
122
 
115
123
  /**
@@ -134,7 +142,7 @@ const metadata = {
134
142
  },
135
143
 
136
144
  /**
137
- * Defines the carousel width in pixels
145
+ * Defines the carousel width in pixels.
138
146
  * @private
139
147
  */
140
148
  _width: {
@@ -142,19 +150,29 @@ const metadata = {
142
150
  },
143
151
 
144
152
  /**
145
- * Defines the carousel item width in pixels
153
+ * Defines the carousel item width in pixels.
146
154
  * @private
147
155
  */
148
156
  _itemWidth: {
149
157
  type: Integer,
150
158
  },
159
+
160
+ /**
161
+ * If set to true navigation arrows are shown.
162
+ * @private
163
+ * @since 1.0.0-rc.15
164
+ */
165
+ _visibleNavigationArrows: {
166
+ type: Boolean,
167
+ noAttribute: true,
168
+ },
151
169
  },
152
170
  managedSlots: true,
153
171
  slots: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
154
172
  /**
155
- * Defines the content of the <code>ui5-carousel</code>.
173
+ * Defines the content of the component.
156
174
  * @type {HTMLElement[]}
157
- * @slot
175
+ * @slot content
158
176
  * @public
159
177
  */
160
178
  "default": {
@@ -166,12 +184,12 @@ const metadata = {
166
184
  events: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
167
185
 
168
186
  /**
169
- * Fired whenever the <code>selectedIndex</code> changes due to user interaction,
187
+ * Fired whenever the page changes due to user interaction,
170
188
  * when the user clicks on the navigation arrows or while resizing,
171
189
  * based on the <code>items-per-page-l</code>, <code>items-per-page-m</code> and <code>items-per-page-s</code> properties.
172
190
  *
173
191
  * @event
174
- * @param {Integer} selectedIndex the current <code>selectedIndex</code>.
192
+ * @param {Integer} selectedIndex the current selected index
175
193
  * @public
176
194
  * @since 1.0.0-rc.7
177
195
  */
@@ -180,17 +198,6 @@ const metadata = {
180
198
  selectedIndex: { type: Integer },
181
199
  },
182
200
  },
183
-
184
- /**
185
- * Fired for the last items of the <code>ui5-carousel</code> if it is scrolled and the direction of scrolling is to the end.
186
- * The number of items for which the event is thrown is controlled by the <code>infiniteScrollOffset</code> property.
187
- * @event
188
- * @public
189
- * @since 1.0.0-rc.8
190
- */
191
- loadMore: {
192
-
193
- },
194
201
  },
195
202
  };
196
203
 
@@ -198,24 +205,44 @@ const metadata = {
198
205
  * @class
199
206
  *
200
207
  * <h3 class="comment-api-title">Overview</h3>
201
- * The carousel allows the user to browse through a set of items by swiping right or left.
208
+ * The Carousel allows the user to browse through a set of items.
202
209
  * The component is mostly used for showing a gallery of images, but can hold any other HTML element.
210
+ * <br>
211
+ * There are several ways to perform navigation:
212
+ * <ul>
213
+ * <li>on desktop - the user can navigate using the navigation arrows or with keyboard shorcuts.</li>
214
+ * <li>on mobile - the user can use swipe gestures.</li>
215
+ * </ul>
203
216
  *
204
217
  * <h3>Usage</h3>
205
218
  *
206
- * When to use
219
+ * <h4>When to use:</h4>
220
+ *
221
+ * <ul>
222
+ * <li>The items you want to display are very different from each other.</li>
223
+ * <li>You want to display the items one after the other.</li>
224
+ * </ul>
207
225
  *
208
- * - The items you want to display are very different from each other.
209
- * - You want to display the items one after the other.
210
- * When not to use
226
+ * <h4>When not to use:</h4>
211
227
  *
212
- * - The items you want to display need to be visible at the same time.
213
- * - The items you want to display are uniform and very similar
228
+ * <ul>
229
+ * <li>The items you want to display need to be visible at the same time.</li>
230
+ * <li>The items you want to display are uniform and very similar.</li>
231
+ * </ul>
232
+ *
233
+ * <h3>Keyboard Handling</h3>
234
+ * When the <code>ui5-carousel</code> is focused the user can navigate between the items
235
+ * with the following keyboard shortcuts:
236
+ * <br>
237
+ *
238
+ * <ul>
239
+ * <li>[UP/DOWN] - Navigates to previous and next item</li>
240
+ * <li>[LEFT/RIGHT] - Navigates to previous and next item</li>
241
+ * </ul>
214
242
  *
215
- * For the <code>ui5-carousel</code>
216
243
  * <h3>ES6 Module Import</h3>
217
244
  *
218
- * <code>import @ui5/webcomponents/dist/Carousel.js";</code>
245
+ * <code>import "@ui5/webcomponents/dist/Carousel.js";</code>
219
246
  *
220
247
  * @constructor
221
248
  * @author SAP SE
@@ -253,13 +280,18 @@ class Carousel extends UI5Element {
253
280
  this._scrollEnablement.attachEvent("touchend", event => {
254
281
  this._updateScrolling(event);
255
282
  });
256
-
257
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
258
283
  this._onResizeBound = this._onResize.bind(this);
259
284
  this._resizing = false; // indicates if the carousel is in process of resizing
285
+
286
+ this._lastFocusedElements = [];
287
+ this._orderOfLastFocusedPages = [];
260
288
  }
261
289
 
262
290
  onBeforeRendering() {
291
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Navigation) {
292
+ this._visibleNavigationArrows = true;
293
+ }
294
+
263
295
  this.validateSelectedIndex();
264
296
  }
265
297
 
@@ -277,9 +309,8 @@ class Carousel extends UI5Element {
277
309
  }
278
310
 
279
311
  validateSelectedIndex() {
280
- if (!this.isIndexInRange(this.selectedIndex)) {
281
- this.selectedIndex = 0;
282
- console.warn(`The "selectedIndex" is out of range, changed to: ${0}`); // eslint-disable-line
312
+ if (!this.isIndexInRange(this._selectedIndex)) {
313
+ this._selectedIndex = 0;
283
314
  }
284
315
  }
285
316
 
@@ -299,9 +330,9 @@ class Carousel extends UI5Element {
299
330
  return;
300
331
  }
301
332
 
302
- if (this.selectedIndex > this.pagesCount - 1) {
303
- this.selectedIndex = this.pagesCount - 1;
304
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
333
+ if (this._selectedIndex > this.pagesCount - 1) {
334
+ this._selectedIndex = this.pagesCount - 1;
335
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
305
336
  }
306
337
  }
307
338
 
@@ -317,58 +348,137 @@ class Carousel extends UI5Element {
317
348
  }
318
349
  }
319
350
 
320
- _onkeydown(event) {
351
+ async _onkeydown(event) {
352
+ if (isF7(event)) {
353
+ this._handleF7Key(event);
354
+ return;
355
+ }
356
+
321
357
  if (event.target !== this.getDomRef()) {
322
358
  return;
323
359
  }
324
360
 
325
361
  if (isLeft(event) || isDown(event)) {
326
362
  this.navigateLeft();
363
+ await renderFinished();
364
+ this.getDomRef().focus();
327
365
  } else if (isRight(event) || isUp(event)) {
328
366
  this.navigateRight();
367
+ await renderFinished();
368
+ this.getDomRef().focus();
369
+ }
370
+ }
371
+
372
+ _onfocusin(event) {
373
+ if (event.target === this.getDomRef()) {
374
+ return;
375
+ }
376
+
377
+ let pageIndex = -1;
378
+
379
+ for (let i = 0; i < this.content.length; i++) {
380
+ if (this.content[i].contains(event.target)) {
381
+ pageIndex = i;
382
+ break;
383
+ }
384
+ }
385
+
386
+ if (pageIndex === -1) {
387
+ return;
388
+ }
389
+
390
+ // Save reference of the last focused element for each page
391
+ this._lastFocusedElements[pageIndex] = event.target;
392
+
393
+ const sortedPageIndex = this._orderOfLastFocusedPages.indexOf(pageIndex);
394
+ if (sortedPageIndex === -1) {
395
+ this._orderOfLastFocusedPages.unshift(pageIndex);
396
+ } else {
397
+ this._orderOfLastFocusedPages.splice(0, 0, this._orderOfLastFocusedPages.splice(sortedPageIndex, 1)[0]);
398
+ }
399
+ }
400
+
401
+ _onmouseout() {
402
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Content) {
403
+ this._visibleNavigationArrows = false;
404
+ }
405
+ }
406
+
407
+ _onmouseover() {
408
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Content) {
409
+ this._visibleNavigationArrows = true;
329
410
  }
330
411
  }
331
412
 
413
+ _handleF7Key(event) {
414
+ const lastFocusedElement = this._lastFocusedElements[this._getLastFocusedActivePageIndex];
415
+
416
+ if (event.target === this.getDomRef() && lastFocusedElement) {
417
+ lastFocusedElement.focus();
418
+ } else {
419
+ this.getDomRef().focus();
420
+ }
421
+ }
422
+
423
+ get _getLastFocusedActivePageIndex() {
424
+ for (let i = 0; i < this._orderOfLastFocusedPages.length; i++) {
425
+ const pageIndex = this._orderOfLastFocusedPages[i];
426
+
427
+ if (this.isItemInViewport(pageIndex)) {
428
+ return pageIndex;
429
+ }
430
+ }
431
+
432
+ return this._selectedIndex;
433
+ }
434
+
332
435
  navigateLeft() {
333
436
  this._resizing = false;
334
437
 
335
- const peviousSelectedIndex = this.selectedIndex;
438
+ const previousSelectedIndex = this._selectedIndex;
336
439
 
337
- if (this.selectedIndex - 1 < 0) {
440
+ if (this._selectedIndex - 1 < 0) {
338
441
  if (this.cyclic) {
339
- this.selectedIndex = this.pagesCount - 1;
442
+ this._selectedIndex = this.pagesCount - 1;
340
443
  }
341
444
  } else {
342
- --this.selectedIndex;
445
+ --this._selectedIndex;
343
446
  }
344
447
 
345
- if (peviousSelectedIndex !== this.selectedIndex) {
346
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
448
+ if (previousSelectedIndex !== this._selectedIndex) {
449
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
347
450
  }
348
451
  }
349
452
 
350
453
  navigateRight() {
351
454
  this._resizing = false;
352
455
 
353
- const peviousSelectedIndex = this.selectedIndex;
456
+ const previousSelectedIndex = this._selectedIndex;
354
457
 
355
- if (this.selectedIndex + 1 > this.pagesCount - 1) {
458
+ if (this._selectedIndex + 1 > this.pagesCount - 1) {
356
459
  if (this.cyclic) {
357
- this.selectedIndex = 0;
460
+ this._selectedIndex = 0;
358
461
  } else {
359
462
  return;
360
463
  }
361
464
  } else {
362
- ++this.selectedIndex;
465
+ ++this._selectedIndex;
363
466
  }
364
467
 
365
- if (peviousSelectedIndex !== this.selectedIndex) {
366
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
468
+ if (previousSelectedIndex !== this._selectedIndex) {
469
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
367
470
  }
471
+ }
368
472
 
369
- if (this.pagesCount - this.selectedIndex <= this.infiniteScrollOffset + 1) {
370
- this.fireEvent("loadMore");
371
- }
473
+ /**
474
+ * Changes the currently displayed page.
475
+ * @param {Integer} itemIndex The index of the target page
476
+ * @since 1.0.0-rc.15
477
+ * @public
478
+ */
479
+ navigateTo(itemIndex) {
480
+ this._resizing = false;
481
+ this._selectedIndex = itemIndex;
372
482
  }
373
483
 
374
484
  /**
@@ -377,14 +487,17 @@ class Carousel extends UI5Element {
377
487
  */
378
488
  get items() {
379
489
  return this.content.map((item, idx) => {
490
+ const visible = this.isItemInViewport(idx);
380
491
  return {
381
492
  id: `${this._id}-carousel-item-${idx + 1}`,
382
493
  item,
383
- tabIndex: idx === this.selectedIndex ? "0" : "-1",
494
+ tabIndex: visible ? "0" : "-1",
384
495
  posinset: idx + 1,
385
496
  setsize: this.content.length,
386
- width: this._itemWidth,
387
- classes: this.isItemInViewport(idx) ? "" : "ui5-carousel-item--hidden",
497
+ styles: {
498
+ width: `${this._itemWidth}px`,
499
+ },
500
+ classes: visible ? "" : "ui5-carousel-item--hidden",
388
501
  };
389
502
  });
390
503
  }
@@ -402,17 +515,40 @@ class Carousel extends UI5Element {
402
515
  }
403
516
 
404
517
  isItemInViewport(index) {
405
- return index >= this.selectedIndex && index <= this.selectedIndex + this.effectiveItemsPerPage - 1;
518
+ return index >= this._selectedIndex && index <= this._selectedIndex + this.effectiveItemsPerPage - 1;
406
519
  }
407
520
 
408
521
  isIndexInRange(index) {
409
522
  return index >= 0 && index <= this.pagesCount - 1;
410
523
  }
411
524
 
525
+ /**
526
+ * @private
527
+ */
528
+ get renderNavigation() {
529
+ if (!this.hasManyPages) {
530
+ return false;
531
+ }
532
+
533
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows) {
534
+ return true;
535
+ }
536
+
537
+ if (this.hidePageIndicator) {
538
+ return false;
539
+ }
540
+
541
+ return true;
542
+ }
543
+
544
+ get hasManyPages() {
545
+ return this.pagesCount > 1;
546
+ }
547
+
412
548
  get styles() {
413
549
  return {
414
550
  content: {
415
- transform: `translateX(-${this.selectedIndex * this._itemWidth}px`,
551
+ transform: `translateX(${this._isRTL ? "" : "-"}${this._selectedIndex * this._itemWidth}px`,
416
552
  },
417
553
  };
418
554
  }
@@ -420,17 +556,18 @@ class Carousel extends UI5Element {
420
556
  get classes() {
421
557
  return {
422
558
  viewport: {
559
+ "ui5-carousel-viewport": true,
423
560
  "ui5-carousel-viewport--single": this.pagesCount === 1,
424
561
  },
425
562
  content: {
426
563
  "ui5-carousel-content": true,
427
- "ui5-carousel-content-no-animation": this.supressAimation,
428
- "ui5-carousel-content-has-navigation": this.showNavigationArrows,
429
- "ui5-carousel-content-has-navigation-and-buttons": this.showNavigationArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
564
+ "ui5-carousel-content-no-animation": this.suppressAnimation,
565
+ "ui5-carousel-content-has-navigation": this.renderNavigation,
566
+ "ui5-carousel-content-has-navigation-and-buttons": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,
430
567
  },
431
568
  navigation: {
432
569
  "ui5-carousel-navigation-wrapper": true,
433
- "ui5-carousel-navigation-with-buttons": this.showNavigationArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
570
+ "ui5-carousel-navigation-with-buttons": this.renderNavigation && this.arrowsPlacement === CarouselArrowsPlacement.Navigation && !this.hideNavigationArrows,
434
571
  },
435
572
  navPrevButton: {
436
573
  "ui5-carousel-navigation-button--hidden": !this.hasPrev,
@@ -456,8 +593,8 @@ class Carousel extends UI5Element {
456
593
 
457
594
  for (let index = 0; index < pages; index++) {
458
595
  dots.push({
459
- active: index === this.selectedIndex,
460
- ariaLabel: this.i18nBundle.getText(CAROUSEL_DOT_TEXT, [index + 1], [pages]),
596
+ active: index === this._selectedIndex,
597
+ ariaLabel: Carousel.i18nBundle.getText(CAROUSEL_DOT_TEXT, index + 1, pages),
461
598
  });
462
599
  }
463
600
 
@@ -465,47 +602,77 @@ class Carousel extends UI5Element {
465
602
  }
466
603
 
467
604
  get arrows() {
468
- const showArrows = this.showNavigationArrows && isDesktop();
605
+ const showArrows = this._visibleNavigationArrows && this.hasManyPages && isDesktop();
469
606
 
470
607
  return {
471
- content: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
472
- navigation: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
608
+ content: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
609
+ navigation: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
473
610
  };
474
611
  }
475
612
 
476
613
  get hasPrev() {
477
- return this.cyclic || this.selectedIndex - 1 >= 0;
614
+ return this.cyclic || this._selectedIndex - 1 >= 0;
478
615
  }
479
616
 
480
617
  get hasNext() {
481
- return this.cyclic || this.selectedIndex + 1 <= this.pagesCount - 1;
618
+ return this.cyclic || this._selectedIndex + 1 <= this.pagesCount - 1;
482
619
  }
483
620
 
484
- get supressAimation() {
621
+ get suppressAnimation() {
485
622
  return this._resizing || getAnimationMode() === AnimationMode.None;
486
623
  }
487
624
 
488
- get selectedIndexToShow() {
489
- return this.selectedIndex + 1;
625
+ get _isRTL() {
626
+ return this.effectiveDir === "rtl";
490
627
  }
491
628
 
492
- get showNavigationArrows() {
493
- return !this.hideNavigation && this.pagesCount > 1;
629
+ get selectedIndexToShow() {
630
+ return this._isRTL ? this.pagesCount - (this.pagesCount - this._selectedIndex) + 1 : this._selectedIndex + 1;
494
631
  }
495
632
 
496
633
  get ofText() {
497
- return this.i18nBundle.getText(CAROUSEL_OF_TEXT);
634
+ return Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);
498
635
  }
499
636
 
500
637
  get ariaActiveDescendant() {
501
- return this.content.length ? `${this._id}-carousel-item-${this.selectedIndex + 1}` : undefined;
638
+ return this.content.length ? `${this._id}-carousel-item-${this._selectedIndex + 1}` : undefined;
639
+ }
640
+
641
+ get nextPageText() {
642
+ return Carousel.i18nBundle.getText(CAROUSEL_NEXT_ARROW_TEXT);
643
+ }
644
+
645
+ get previousPageText() {
646
+ return Carousel.i18nBundle.getText(CAROUSEL_PREVIOUS_ARROW_TEXT);
647
+ }
648
+
649
+ /**
650
+ * The indices of the currently visible items of the component.
651
+ * @readonly
652
+ * @since 1.0.0-rc.15
653
+ * @returns {Integer[]} the indices of the visible items
654
+ */
655
+ get visibleItemsIndices() {
656
+ const visibleItemsIndices = [];
657
+
658
+ this.items.forEach((item, index) => {
659
+ if (this.isItemInViewport(index)) {
660
+ visibleItemsIndices.push(index);
661
+ }
662
+ });
663
+
664
+ return visibleItemsIndices;
665
+ }
666
+
667
+ static get dependencies() {
668
+ return [
669
+ Button,
670
+ Label,
671
+ ];
502
672
  }
503
673
 
504
674
  static async onDefine() {
505
- await Promise.all([
506
- fetchI18nBundle("@ui5/webcomponents"),
507
- Button.define(),
508
- ]);
675
+ Carousel.i18nBundle = await getI18nBundle("@ui5/webcomponents");
509
676
  }
510
677
  }
511
678