@ui5/webcomponents 0.0.0-39bd3067f → 0.0.0-4180fe799

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 +610 -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 +159 -20
  13. package/dist/Button.js +132 -69
  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 +272 -76
  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 +603 -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 -9
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +418 -403
  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 +497 -50
  37. package/dist/DurationPicker.js +170 -317
  38. package/dist/FileUploader.js +217 -24
  39. package/dist/GroupHeaderListItem.js +24 -19
  40. package/dist/Icon.js +197 -36
  41. package/dist/Input.js +660 -167
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +138 -28
  45. package/dist/List.js +501 -110
  46. package/dist/ListItem.js +110 -28
  47. package/dist/ListItemBase.js +42 -8
  48. package/dist/MessageStrip.js +56 -70
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +583 -207
  51. package/dist/MultiComboBoxItem.js +8 -5
  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 -224
  56. package/dist/Popup.js +381 -284
  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 +73 -46
  63. package/dist/SegmentedButton.js +127 -60
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +448 -107
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -22
  69. package/dist/StepInput.js +684 -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 +60 -42
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +241 -82
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +480 -35
  78. package/dist/TableCell.js +11 -13
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +244 -18
  82. package/dist/TextArea.js +153 -55
  83. package/dist/TimePicker.js +55 -644
  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 -13
  89. package/dist/Token.js +84 -45
  90. package/dist/Tokenizer.js +246 -64
  91. package/dist/Tree.js +443 -0
  92. package/dist/TreeItem.js +168 -0
  93. package/dist/TreeListItem.js +332 -0
  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 +276 -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 -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 -5
  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 -8
  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 +6 -27
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
  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 +7 -0
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  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 -11
  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 -19
  219. package/dist/generated/templates/StepInputTemplate.lit.js +10 -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 -17
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +6 -30
  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 -10
  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 -8
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -5
  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 +21 -0
  245. package/dist/generated/templates/TreeTemplate.lit.js +8 -0
  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 +8 -0
  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 +8 -0
  333. package/dist/generated/themes/TreeListItem.css.js +8 -0
  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 +55 -21
  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 +55 -0
  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 -6
  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 +80 -0
  574. package/src/StepInput.js +684 -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 +262 -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 -8
  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,12 +83,29 @@ 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.
91
+ * @type {boolean}
92
+ * @since 1.0.0-rc.15
93
+ * @defaultvalue false
94
+ * @public
95
+ */
96
+ hideNavigationArrows: {
97
+ type: Boolean,
98
+ },
99
+
100
+ /**
101
+ * Defines the visibility of the paging indicator.
102
+ * If set to true the page indicator will be hidden.
84
103
  * @type {boolean}
104
+ * @since 1.0.0-rc.15
85
105
  * @defaultvalue false
86
106
  * @public
87
107
  */
88
- hideNavigation: {
108
+ hidePageIndicator: {
89
109
  type: Boolean,
90
110
  },
91
111
 
@@ -93,9 +113,9 @@ const metadata = {
93
113
  * Defines the index of the initially selected item.
94
114
  * @type {Integer}
95
115
  * @defaultvalue 0
96
- * @public
116
+ * @private
97
117
  */
98
- selectedIndex: {
118
+ _selectedIndex: {
99
119
  type: Integer,
100
120
  defaultValue: 0,
101
121
  },
@@ -122,7 +142,7 @@ const metadata = {
122
142
  },
123
143
 
124
144
  /**
125
- * Defines the carousel width in pixels
145
+ * Defines the carousel width in pixels.
126
146
  * @private
127
147
  */
128
148
  _width: {
@@ -130,19 +150,29 @@ const metadata = {
130
150
  },
131
151
 
132
152
  /**
133
- * Defines the carousel item width in pixels
153
+ * Defines the carousel item width in pixels.
134
154
  * @private
135
155
  */
136
156
  _itemWidth: {
137
157
  type: Integer,
138
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
+ },
139
169
  },
140
170
  managedSlots: true,
141
171
  slots: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
142
172
  /**
143
- * Defines the content of the <code>ui5-carousel</code>.
173
+ * Defines the content of the component.
144
174
  * @type {HTMLElement[]}
145
- * @slot
175
+ * @slot content
146
176
  * @public
147
177
  */
148
178
  "default": {
@@ -154,12 +184,12 @@ const metadata = {
154
184
  events: /** @lends sap.ui.webcomponents.main.Carousel.prototype */ {
155
185
 
156
186
  /**
157
- * Fired whenever the <code>selectedIndex</code> changes due to user interaction,
187
+ * Fired whenever the page changes due to user interaction,
158
188
  * when the user clicks on the navigation arrows or while resizing,
159
189
  * based on the <code>items-per-page-l</code>, <code>items-per-page-m</code> and <code>items-per-page-s</code> properties.
160
190
  *
161
191
  * @event
162
- * @param {Integer} selectedIndex the current <code>selectedIndex</code>.
192
+ * @param {Integer} selectedIndex the current selected index
163
193
  * @public
164
194
  * @since 1.0.0-rc.7
165
195
  */
@@ -175,24 +205,44 @@ const metadata = {
175
205
  * @class
176
206
  *
177
207
  * <h3 class="comment-api-title">Overview</h3>
178
- * 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.
179
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>
180
216
  *
181
217
  * <h3>Usage</h3>
182
218
  *
183
- * When to use
219
+ * <h4>When to use:</h4>
184
220
  *
185
- * - The items you want to display are very different from each other.
186
- * - You want to display the items one after the other.
187
- * When not to use
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>
188
225
  *
189
- * - The items you want to display need to be visible at the same time.
190
- * - The items you want to display are uniform and very similar
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>
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>
191
242
  *
192
- * For the <code>ui5-carousel</code>
193
243
  * <h3>ES6 Module Import</h3>
194
244
  *
195
- * <code>import @ui5/webcomponents/dist/Carousel.js";</code>
245
+ * <code>import "@ui5/webcomponents/dist/Carousel.js";</code>
196
246
  *
197
247
  * @constructor
198
248
  * @author SAP SE
@@ -230,13 +280,18 @@ class Carousel extends UI5Element {
230
280
  this._scrollEnablement.attachEvent("touchend", event => {
231
281
  this._updateScrolling(event);
232
282
  });
233
-
234
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
235
283
  this._onResizeBound = this._onResize.bind(this);
236
284
  this._resizing = false; // indicates if the carousel is in process of resizing
285
+
286
+ this._lastFocusedElements = [];
287
+ this._orderOfLastFocusedPages = [];
237
288
  }
238
289
 
239
290
  onBeforeRendering() {
291
+ if (this.arrowsPlacement === CarouselArrowsPlacement.Navigation) {
292
+ this._visibleNavigationArrows = true;
293
+ }
294
+
240
295
  this.validateSelectedIndex();
241
296
  }
242
297
 
@@ -254,9 +309,8 @@ class Carousel extends UI5Element {
254
309
  }
255
310
 
256
311
  validateSelectedIndex() {
257
- if (!this.isIndexInRange(this.selectedIndex)) {
258
- this.selectedIndex = 0;
259
- console.warn(`The "selectedIndex" is out of range, changed to: ${0}`); // eslint-disable-line
312
+ if (!this.isIndexInRange(this._selectedIndex)) {
313
+ this._selectedIndex = 0;
260
314
  }
261
315
  }
262
316
 
@@ -276,9 +330,9 @@ class Carousel extends UI5Element {
276
330
  return;
277
331
  }
278
332
 
279
- if (this.selectedIndex > this.pagesCount - 1) {
280
- this.selectedIndex = this.pagesCount - 1;
281
- 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 });
282
336
  }
283
337
  }
284
338
 
@@ -294,68 +348,156 @@ class Carousel extends UI5Element {
294
348
  }
295
349
  }
296
350
 
297
- _onkeydown(event) {
351
+ async _onkeydown(event) {
352
+ if (isF7(event)) {
353
+ this._handleF7Key(event);
354
+ return;
355
+ }
356
+
298
357
  if (event.target !== this.getDomRef()) {
299
358
  return;
300
359
  }
301
360
 
302
361
  if (isLeft(event) || isDown(event)) {
303
362
  this.navigateLeft();
363
+ await renderFinished();
364
+ this.getDomRef().focus();
304
365
  } else if (isRight(event) || isUp(event)) {
305
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;
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
+ }
306
430
  }
431
+
432
+ return this._selectedIndex;
307
433
  }
308
434
 
309
435
  navigateLeft() {
310
436
  this._resizing = false;
311
437
 
312
- const peviousSelectedIndex = this.selectedIndex;
438
+ const previousSelectedIndex = this._selectedIndex;
313
439
 
314
- if (this.selectedIndex - 1 < 0) {
440
+ if (this._selectedIndex - 1 < 0) {
315
441
  if (this.cyclic) {
316
- this.selectedIndex = this.pagesCount - 1;
442
+ this._selectedIndex = this.pagesCount - 1;
317
443
  }
318
444
  } else {
319
- --this.selectedIndex;
445
+ --this._selectedIndex;
320
446
  }
321
447
 
322
- if (peviousSelectedIndex !== this.selectedIndex) {
323
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
448
+ if (previousSelectedIndex !== this._selectedIndex) {
449
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
324
450
  }
325
451
  }
326
452
 
327
453
  navigateRight() {
328
454
  this._resizing = false;
329
455
 
330
- const peviousSelectedIndex = this.selectedIndex;
456
+ const previousSelectedIndex = this._selectedIndex;
331
457
 
332
- if (this.selectedIndex + 1 > this.pagesCount - 1) {
458
+ if (this._selectedIndex + 1 > this.pagesCount - 1) {
333
459
  if (this.cyclic) {
334
- this.selectedIndex = 0;
460
+ this._selectedIndex = 0;
461
+ } else {
462
+ return;
335
463
  }
336
464
  } else {
337
- ++this.selectedIndex;
465
+ ++this._selectedIndex;
338
466
  }
339
467
 
340
- if (peviousSelectedIndex !== this.selectedIndex) {
341
- this.fireEvent("navigate", { selectedIndex: this.selectedIndex });
468
+ if (previousSelectedIndex !== this._selectedIndex) {
469
+ this.fireEvent("navigate", { selectedIndex: this._selectedIndex });
342
470
  }
343
471
  }
344
472
 
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;
482
+ }
483
+
345
484
  /**
346
485
  * Assuming that all items have the same width
347
486
  * @private
348
487
  */
349
488
  get items() {
350
489
  return this.content.map((item, idx) => {
490
+ const visible = this.isItemInViewport(idx);
351
491
  return {
352
492
  id: `${this._id}-carousel-item-${idx + 1}`,
353
493
  item,
354
- tabIndex: idx === this.selectedIndex ? "0" : "-1",
494
+ tabIndex: visible ? "0" : "-1",
355
495
  posinset: idx + 1,
356
496
  setsize: this.content.length,
357
- width: this._itemWidth,
358
- classes: this.isItemInViewport(idx) ? "" : "ui5-carousel-item--hidden",
497
+ styles: {
498
+ width: `${this._itemWidth}px`,
499
+ },
500
+ classes: visible ? "" : "ui5-carousel-item--hidden",
359
501
  };
360
502
  });
361
503
  }
@@ -373,17 +515,40 @@ class Carousel extends UI5Element {
373
515
  }
374
516
 
375
517
  isItemInViewport(index) {
376
- return index >= this.selectedIndex && index <= this.selectedIndex + this.effectiveItemsPerPage - 1;
518
+ return index >= this._selectedIndex && index <= this._selectedIndex + this.effectiveItemsPerPage - 1;
377
519
  }
378
520
 
379
521
  isIndexInRange(index) {
380
522
  return index >= 0 && index <= this.pagesCount - 1;
381
523
  }
382
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
+
383
548
  get styles() {
384
549
  return {
385
550
  content: {
386
- transform: `translateX(-${this.selectedIndex * this._itemWidth}px`,
551
+ transform: `translateX(${this._isRTL ? "" : "-"}${this._selectedIndex * this._itemWidth}px`,
387
552
  },
388
553
  };
389
554
  }
@@ -391,17 +556,18 @@ class Carousel extends UI5Element {
391
556
  get classes() {
392
557
  return {
393
558
  viewport: {
559
+ "ui5-carousel-viewport": true,
394
560
  "ui5-carousel-viewport--single": this.pagesCount === 1,
395
561
  },
396
562
  content: {
397
563
  "ui5-carousel-content": true,
398
- "ui5-carousel-content-no-animation": this.supressAimation,
399
- "ui5-carousel-content-has-navigation": this.showNavigationArrows,
400
- "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,
401
567
  },
402
568
  navigation: {
403
569
  "ui5-carousel-navigation-wrapper": true,
404
- "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,
405
571
  },
406
572
  navPrevButton: {
407
573
  "ui5-carousel-navigation-button--hidden": !this.hasPrev,
@@ -427,8 +593,8 @@ class Carousel extends UI5Element {
427
593
 
428
594
  for (let index = 0; index < pages; index++) {
429
595
  dots.push({
430
- active: index === this.selectedIndex,
431
- 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),
432
598
  });
433
599
  }
434
600
 
@@ -436,47 +602,77 @@ class Carousel extends UI5Element {
436
602
  }
437
603
 
438
604
  get arrows() {
439
- const showArrows = this.showNavigationArrows && isDesktop();
605
+ const showArrows = this._visibleNavigationArrows && this.hasManyPages && isDesktop();
440
606
 
441
607
  return {
442
- content: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
443
- navigation: showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
608
+ content: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Content,
609
+ navigation: !this.hideNavigationArrows && showArrows && this.arrowsPlacement === CarouselArrowsPlacement.Navigation,
444
610
  };
445
611
  }
446
612
 
447
613
  get hasPrev() {
448
- return this.cyclic || this.selectedIndex - 1 >= 0;
614
+ return this.cyclic || this._selectedIndex - 1 >= 0;
449
615
  }
450
616
 
451
617
  get hasNext() {
452
- return this.cyclic || this.selectedIndex + 1 <= this.pagesCount - 1;
618
+ return this.cyclic || this._selectedIndex + 1 <= this.pagesCount - 1;
453
619
  }
454
620
 
455
- get supressAimation() {
621
+ get suppressAnimation() {
456
622
  return this._resizing || getAnimationMode() === AnimationMode.None;
457
623
  }
458
624
 
459
- get selectedIndexToShow() {
460
- return this.selectedIndex + 1;
625
+ get _isRTL() {
626
+ return this.effectiveDir === "rtl";
461
627
  }
462
628
 
463
- get showNavigationArrows() {
464
- return !this.hideNavigation && this.pagesCount > 1;
629
+ get selectedIndexToShow() {
630
+ return this._isRTL ? this.pagesCount - (this.pagesCount - this._selectedIndex) + 1 : this._selectedIndex + 1;
465
631
  }
466
632
 
467
633
  get ofText() {
468
- return this.i18nBundle.getText(CAROUSEL_OF_TEXT);
634
+ return Carousel.i18nBundle.getText(CAROUSEL_OF_TEXT);
469
635
  }
470
636
 
471
637
  get ariaActiveDescendant() {
472
- 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
+ ];
473
672
  }
474
673
 
475
674
  static async onDefine() {
476
- await Promise.all([
477
- fetchI18nBundle("@ui5/webcomponents"),
478
- Button.define(),
479
- ]);
675
+ Carousel.i18nBundle = await getI18nBundle("@ui5/webcomponents");
480
676
  }
481
677
  }
482
678