@ui5/webcomponents 0.0.0-d849bec2c → 0.0.0-dc3ccac50

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 +120 -68
  14. package/dist/Calendar.js +341 -545
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +127 -56
  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 -98
  21. package/dist/CheckBox.js +146 -58
  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 +106 -384
  35. package/dist/DayPicker.js +508 -430
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +208 -26
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +140 -46
  41. package/dist/Input.js +613 -162
  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 +425 -94
  46. package/dist/ListItem.js +88 -19
  47. package/dist/ListItemBase.js +27 -5
  48. package/dist/MessageStrip.js +50 -65
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +569 -156
  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 +252 -139
  56. package/dist/Popup.js +364 -90
  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 +109 -73
  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 +142 -62
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +475 -22
  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 +235 -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 +242 -60
  91. package/dist/Tree.js +137 -51
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +127 -7
  94. package/dist/WheelSlider.js +76 -56
  95. package/dist/YearPicker.js +198 -254
  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 +247 -53
  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 -87
  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 +5 -5
  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 +1 -1
  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 +226 -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>load-more</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,15 +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 sap.ui.webcomponents.main.Carousel#load-more
188
- * @public
189
- * @since 1.0.0-rc.8
190
- */
191
- "load-more": {},
192
201
  },
193
202
  };
194
203
 
@@ -196,24 +205,44 @@ const metadata = {
196
205
  * @class
197
206
  *
198
207
  * <h3 class="comment-api-title">Overview</h3>
199
- * 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.
200
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>
201
216
  *
202
217
  * <h3>Usage</h3>
203
218
  *
204
- * 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>
225
+ *
226
+ * <h4>When not to use:</h4>
227
+ *
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>
205
232
  *
206
- * - The items you want to display are very different from each other.
207
- * - You want to display the items one after the other.
208
- * When not to use
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>
209
237
  *
210
- * - The items you want to display need to be visible at the same time.
211
- * - The items you want to display are uniform and very similar
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>
212
242
  *
213
- * For the <code>ui5-carousel</code>
214
243
  * <h3>ES6 Module Import</h3>
215
244
  *
216
- * <code>import @ui5/webcomponents/dist/Carousel.js";</code>
245
+ * <code>import "@ui5/webcomponents/dist/Carousel.js";</code>
217
246
  *
218
247
  * @constructor
219
248
  * @author SAP SE
@@ -251,13 +280,18 @@ class Carousel extends UI5Element {
251
280
  this._scrollEnablement.attachEvent("touchend", event => {
252
281
  this._updateScrolling(event);
253
282
  });
254
-
255
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
256
283
  this._onResizeBound = this._onResize.bind(this);
257
284
  this._resizing = false; // indicates if the carousel is in process of resizing
285
+
286
+ this._lastFocusedElements = [];
287
+ this._orderOfLastFocusedPages = [];
258
288
  }
259
289
 
260
290
  onBeforeRendering() {
291
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Navigation) {
292
+ this._visibleNavigationArrows = true;
293
+ }
294
+
261
295
  this.validateSelectedIndex();
262
296
  }
263
297
 
@@ -275,9 +309,8 @@ class Carousel extends UI5Element {
275
309
  }
276
310
 
277
311
  validateSelectedIndex() {
278
- if (!this.isIndexInRange(this.selectedIndex)) {
279
- this.selectedIndex = 0;
280
- console.warn(`The "selectedIndex" is out of range, changed to: ${0}`); // eslint-disable-line
312
+ if (!this.isIndexInRange(this._selectedIndex)) {
313
+ this._selectedIndex = 0;
281
314
  }
282
315
  }
283
316
 
@@ -297,9 +330,9 @@ class Carousel extends UI5Element {
297
330
  return;
298
331
  }
299
332
 
300
- if (this.selectedIndex > this.pagesCount - 1) {
301
- this.selectedIndex = this.pagesCount - 1;
302
- 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 });
303
336
  }
304
337
  }
305
338
 
@@ -315,58 +348,137 @@ class Carousel extends UI5Element {
315
348
  }
316
349
  }
317
350
 
318
- _onkeydown(event) {
351
+ async _onkeydown(event) {
352
+ if (isF7(event)) {
353
+ this._handleF7Key(event);
354
+ return;
355
+ }
356
+
319
357
  if (event.target !== this.getDomRef()) {
320
358
  return;
321
359
  }
322
360
 
323
361
  if (isLeft(event) || isDown(event)) {
324
362
  this.navigateLeft();
363
+ await renderFinished();
364
+ this.getDomRef().focus();
325
365
  } else if (isRight(event) || isUp(event)) {
326
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]);
327
398
  }
328
399
  }
329
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;
410
+ }
411
+ }
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
+
330
435
  navigateLeft() {
331
436
  this._resizing = false;
332
437
 
333
- const peviousSelectedIndex = this.selectedIndex;
438
+ const previousSelectedIndex = this._selectedIndex;
334
439
 
335
- if (this.selectedIndex - 1 < 0) {
440
+ if (this._selectedIndex - 1 < 0) {
336
441
  if (this.cyclic) {
337
- this.selectedIndex = this.pagesCount - 1;
442
+ this._selectedIndex = this.pagesCount - 1;
338
443
  }
339
444
  } else {
340
- --this.selectedIndex;
445
+ --this._selectedIndex;
341
446
  }
342
447
 
343
- if (peviousSelectedIndex !== this.selectedIndex) {
344
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
448
+ if (previousSelectedIndex !== this._selectedIndex) {
449
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
345
450
  }
346
451
  }
347
452
 
348
453
  navigateRight() {
349
454
  this._resizing = false;
350
455
 
351
- const peviousSelectedIndex = this.selectedIndex;
456
+ const previousSelectedIndex = this._selectedIndex;
352
457
 
353
- if (this.selectedIndex + 1 > this.pagesCount - 1) {
458
+ if (this._selectedIndex + 1 > this.pagesCount - 1) {
354
459
  if (this.cyclic) {
355
- this.selectedIndex = 0;
460
+ this._selectedIndex = 0;
356
461
  } else {
357
462
  return;
358
463
  }
359
464
  } else {
360
- ++this.selectedIndex;
465
+ ++this._selectedIndex;
361
466
  }
362
467
 
363
- if (peviousSelectedIndex !== this.selectedIndex) {
364
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
468
+ if (previousSelectedIndex !== this._selectedIndex) {
469
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
365
470
  }
471
+ }
366
472
 
367
- if (this.pagesCount - this.selectedIndex <= this.infiniteScrollOffset + 1) {
368
- this.fireEvent("load-more");
369
- }
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;
370
482
  }
371
483
 
372
484
  /**
@@ -375,14 +487,17 @@ class Carousel extends UI5Element {
375
487
  */
376
488
  get items() {
377
489
  return this.content.map((item, idx) => {
490
+ const visible = this.isItemInViewport(idx);
378
491
  return {
379
492
  id: `${this._id}-carousel-item-${idx + 1}`,
380
493
  item,
381
- tabIndex: idx === this.selectedIndex ? "0" : "-1",
494
+ tabIndex: visible ? "0" : "-1",
382
495
  posinset: idx + 1,
383
496
  setsize: this.content.length,
384
- width: this._itemWidth,
385
- classes: this.isItemInViewport(idx) ? "" : "ui5-carousel-item--hidden",
497
+ styles: {
498
+ width: `${this._itemWidth}px`,
499
+ },
500
+ classes: visible ? "" : "ui5-carousel-item--hidden",
386
501
  };
387
502
  });
388
503
  }
@@ -400,17 +515,40 @@ class Carousel extends UI5Element {
400
515
  }
401
516
 
402
517
  isItemInViewport(index) {
403
- return index >= this.selectedIndex && index <= this.selectedIndex + this.effectiveItemsPerPage - 1;
518
+ return index >= this._selectedIndex && index <= this._selectedIndex + this.effectiveItemsPerPage - 1;
404
519
  }
405
520
 
406
521
  isIndexInRange(index) {
407
522
  return index >= 0 && index <= this.pagesCount - 1;
408
523
  }
409
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
+
410
548
  get styles() {
411
549
  return {
412
550
  content: {
413
- transform: `translateX(-${this.selectedIndex * this._itemWidth}px`,
551
+ transform: `translateX(${this._isRTL ? "" : "-"}${this._selectedIndex * this._itemWidth}px`,
414
552
  },
415
553
  };
416
554
  }
@@ -418,17 +556,18 @@ class Carousel extends UI5Element {
418
556
  get classes() {
419
557
  return {
420
558
  viewport: {
559
+ "ui5-carousel-viewport": true,
421
560
  "ui5-carousel-viewport--single": this.pagesCount === 1,
422
561
  },
423
562
  content: {
424
563
  "ui5-carousel-content": true,
425
- "ui5-carousel-content-no-animation": this.supressAimation,
426
- "ui5-carousel-content-has-navigation": this.showNavigationArrows,
427
- "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,
428
567
  },
429
568
  navigation: {
430
569
  "ui5-carousel-navigation-wrapper": true,
431
- "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,
432
571
  },
433
572
  navPrevButton: {
434
573
  "ui5-carousel-navigation-button--hidden": !this.hasPrev,
@@ -454,8 +593,8 @@ class Carousel extends UI5Element {
454
593
 
455
594
  for (let index = 0; index < pages; index++) {
456
595
  dots.push({
457
- active: index === this.selectedIndex,
458
- 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),
459
598
  });
460
599
  }
461
600
 
@@ -463,47 +602,77 @@ class Carousel extends UI5Element {
463
602
  }
464
603
 
465
604
  get arrows() {
466
- const showArrows = this.showNavigationArrows && isDesktop();
605
+ const showArrows = this._visibleNavigationArrows && this.hasManyPages && isDesktop();
467
606
 
468
607
  return {
469
- content: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
470
- navigation: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
608
+ content: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
609
+ navigation: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
471
610
  };
472
611
  }
473
612
 
474
613
  get hasPrev() {
475
- return this.cyclic || this.selectedIndex - 1 >= 0;
614
+ return this.cyclic || this._selectedIndex - 1 >= 0;
476
615
  }
477
616
 
478
617
  get hasNext() {
479
- return this.cyclic || this.selectedIndex + 1 <= this.pagesCount - 1;
618
+ return this.cyclic || this._selectedIndex + 1 <= this.pagesCount - 1;
480
619
  }
481
620
 
482
- get supressAimation() {
621
+ get suppressAnimation() {
483
622
  return this._resizing || getAnimationMode() === AnimationMode.None;
484
623
  }
485
624
 
486
- get selectedIndexToShow() {
487
- return this.selectedIndex + 1;
625
+ get _isRTL() {
626
+ return this.effectiveDir === "rtl";
488
627
  }
489
628
 
490
- get showNavigationArrows() {
491
- return !this.hideNavigation && this.pagesCount > 1;
629
+ get selectedIndexToShow() {
630
+ return this._isRTL ? this.pagesCount - (this.pagesCount - this._selectedIndex) + 1 : this._selectedIndex + 1;
492
631
  }
493
632
 
494
633
  get ofText() {
495
- return this.i18nBundle.getText(CAROUSEL_OF_TEXT);
634
+ return Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);
496
635
  }
497
636
 
498
637
  get ariaActiveDescendant() {
499
- 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
+ ];
500
672
  }
501
673
 
502
674
  static async onDefine() {
503
- await Promise.all([
504
- fetchI18nBundle("@ui5/webcomponents"),
505
- Button.define(),
506
- ]);
675
+ Carousel.i18nBundle = await getI18nBundle("@ui5/webcomponents");
507
676
  }
508
677
  }
509
678