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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cypress/specs/Button.cy.tsx +21 -4
  3. package/cypress/specs/Card.cy.tsx +8 -0
  4. package/cypress/specs/Carousel.cy.tsx +565 -11
  5. package/cypress/specs/Carousel.mobile.cy.tsx +67 -0
  6. package/cypress/specs/DateTimePicker.cy.tsx +299 -212
  7. package/cypress/specs/FormSupport.cy.tsx +33 -0
  8. package/cypress/specs/Input.cy.tsx +1 -2
  9. package/cypress/specs/Popover.cy.tsx +44 -10
  10. package/cypress/specs/Table.cy.tsx +20 -0
  11. package/cypress/specs/TableGrowing.cy.tsx +55 -7
  12. package/cypress/support/commands/DateTimePicker.commands.ts +81 -36
  13. package/cypress/support/commands.ts +4 -0
  14. package/dist/.tsbuildinfo +1 -1
  15. package/dist/AvatarGroup.d.ts +2 -1
  16. package/dist/AvatarGroup.js.map +1 -1
  17. package/dist/AvatarGroupTemplate.js +1 -0
  18. package/dist/AvatarGroupTemplate.js.map +1 -1
  19. package/dist/Button.d.ts +10 -4
  20. package/dist/Button.js +39 -10
  21. package/dist/Button.js.map +1 -1
  22. package/dist/ButtonTemplate.js +3 -4
  23. package/dist/ButtonTemplate.js.map +1 -1
  24. package/dist/Carousel.d.ts +3 -1
  25. package/dist/Carousel.js.map +1 -1
  26. package/dist/CheckBox.d.ts +3 -0
  27. package/dist/CheckBox.js +3 -0
  28. package/dist/CheckBox.js.map +1 -1
  29. package/dist/ExpandableText.d.ts +3 -1
  30. package/dist/ExpandableText.js.map +1 -1
  31. package/dist/MenuItem.d.ts +0 -1
  32. package/dist/MenuItem.js +0 -3
  33. package/dist/MenuItem.js.map +1 -1
  34. package/dist/MultiComboBox.d.ts +3 -1
  35. package/dist/MultiComboBox.js.map +1 -1
  36. package/dist/Panel.d.ts +3 -1
  37. package/dist/Panel.js +1 -1
  38. package/dist/Panel.js.map +1 -1
  39. package/dist/Popover.js +2 -2
  40. package/dist/Popover.js.map +1 -1
  41. package/dist/SplitButton.d.ts +3 -3
  42. package/dist/SplitButton.js.map +1 -1
  43. package/dist/TableGrowing.js +1 -2
  44. package/dist/TableGrowing.js.map +1 -1
  45. package/dist/TableHeaderCellActionBase.d.ts +3 -1
  46. package/dist/TableHeaderCellActionBase.js.map +1 -1
  47. package/dist/TableRow.d.ts +3 -1
  48. package/dist/TableRow.js +1 -1
  49. package/dist/TableRow.js.map +1 -1
  50. package/dist/TableRowActionBase.d.ts +3 -1
  51. package/dist/TableRowActionBase.js.map +1 -1
  52. package/dist/TableTemplate.js +1 -1
  53. package/dist/TableTemplate.js.map +1 -1
  54. package/dist/Tokenizer.d.ts +3 -1
  55. package/dist/Tokenizer.js.map +1 -1
  56. package/dist/Tree.js +3 -0
  57. package/dist/Tree.js.map +1 -1
  58. package/dist/css/themes/Avatar.css +1 -1
  59. package/dist/css/themes/AvatarGroup.css +1 -1
  60. package/dist/css/themes/Bar.css +1 -1
  61. package/dist/css/themes/Breadcrumbs.css +1 -1
  62. package/dist/css/themes/BusyIndicator.css +1 -1
  63. package/dist/css/themes/Button.css +1 -1
  64. package/dist/css/themes/ButtonBadge.css +1 -1
  65. package/dist/css/themes/Calendar.css +1 -1
  66. package/dist/css/themes/CalendarHeader.css +1 -1
  67. package/dist/css/themes/CalendarLegend.css +1 -1
  68. package/dist/css/themes/CalendarLegendItem.css +1 -1
  69. package/dist/css/themes/Card.css +1 -1
  70. package/dist/css/themes/CardHeader.css +1 -1
  71. package/dist/css/themes/Carousel.css +1 -1
  72. package/dist/css/themes/CheckBox.css +1 -1
  73. package/dist/css/themes/ColorPalette.css +1 -1
  74. package/dist/css/themes/ColorPaletteItem.css +1 -1
  75. package/dist/css/themes/ColorPalettePopover.css +1 -1
  76. package/dist/css/themes/ColorPicker.css +1 -1
  77. package/dist/css/themes/ComboBox.css +1 -1
  78. package/dist/css/themes/ComboBoxItem.css +1 -1
  79. package/dist/css/themes/DatePicker.css +1 -1
  80. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  81. package/dist/css/themes/DayPicker.css +1 -1
  82. package/dist/css/themes/Dialog.css +1 -1
  83. package/dist/css/themes/FileUploader.css +1 -1
  84. package/dist/css/themes/Form.css +1 -1
  85. package/dist/css/themes/FormItem.css +1 -1
  86. package/dist/css/themes/FormItemSpan.css +1 -1
  87. package/dist/css/themes/GrowingButton.css +1 -1
  88. package/dist/css/themes/Icon.css +1 -1
  89. package/dist/css/themes/Input.css +1 -1
  90. package/dist/css/themes/InputIcon.css +1 -1
  91. package/dist/css/themes/InputSharedStyles.css +1 -1
  92. package/dist/css/themes/Link.css +1 -1
  93. package/dist/css/themes/List.css +1 -1
  94. package/dist/css/themes/ListItem.css +1 -1
  95. package/dist/css/themes/ListItemBase.css +1 -1
  96. package/dist/css/themes/ListItemCustom.css +1 -1
  97. package/dist/css/themes/ListItemGroup.css +1 -1
  98. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  99. package/dist/css/themes/ListItemIcon.css +1 -1
  100. package/dist/css/themes/Menu.css +1 -1
  101. package/dist/css/themes/MenuItem.css +1 -1
  102. package/dist/css/themes/MessageStrip.css +1 -1
  103. package/dist/css/themes/MonthPicker.css +1 -1
  104. package/dist/css/themes/MultiComboBox.css +1 -1
  105. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  106. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  107. package/dist/css/themes/MultiInput.css +1 -1
  108. package/dist/css/themes/OptionBase.css +1 -1
  109. package/dist/css/themes/Panel.css +1 -1
  110. package/dist/css/themes/Popover.css +1 -1
  111. package/dist/css/themes/PopupsCommon.css +1 -1
  112. package/dist/css/themes/ProgressIndicator.css +1 -1
  113. package/dist/css/themes/RadioButton.css +1 -1
  114. package/dist/css/themes/RangeSlider.css +1 -1
  115. package/dist/css/themes/RatingIndicator.css +1 -1
  116. package/dist/css/themes/ResponsivePopover.css +1 -1
  117. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  118. package/dist/css/themes/SegmentedButton.css +1 -1
  119. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  120. package/dist/css/themes/Select.css +1 -1
  121. package/dist/css/themes/SliderBase.css +1 -1
  122. package/dist/css/themes/SplitButton.css +1 -1
  123. package/dist/css/themes/StepInput.css +1 -1
  124. package/dist/css/themes/SuggestionItem.css +1 -1
  125. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  126. package/dist/css/themes/Switch.css +1 -1
  127. package/dist/css/themes/TabContainer.css +1 -1
  128. package/dist/css/themes/TabInOverflow.css +1 -1
  129. package/dist/css/themes/TabInStrip.css +1 -1
  130. package/dist/css/themes/TabSemanticIcon.css +1 -1
  131. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  132. package/dist/css/themes/TableCellBase.css +1 -1
  133. package/dist/css/themes/TableHeaderRow.css +1 -1
  134. package/dist/css/themes/TableRow.css +1 -1
  135. package/dist/css/themes/TableRowActionBase.css +1 -1
  136. package/dist/css/themes/TableRowBase.css +1 -1
  137. package/dist/css/themes/Tag.css +1 -1
  138. package/dist/css/themes/Text.css +1 -1
  139. package/dist/css/themes/TextArea.css +1 -1
  140. package/dist/css/themes/TimePicker.css +1 -1
  141. package/dist/css/themes/Toast.css +1 -1
  142. package/dist/css/themes/ToggleButton.css +1 -1
  143. package/dist/css/themes/Token.css +1 -1
  144. package/dist/css/themes/Tokenizer.css +1 -1
  145. package/dist/css/themes/TokenizerPopover.css +1 -1
  146. package/dist/css/themes/Toolbar.css +1 -1
  147. package/dist/css/themes/ToolbarPopover.css +1 -1
  148. package/dist/css/themes/TreeItem.css +1 -1
  149. package/dist/css/themes/ValueStateMessage.css +1 -1
  150. package/dist/css/themes/YearPicker.css +1 -1
  151. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  159. package/dist/custom-elements-internal.json +111 -11
  160. package/dist/custom-elements.json +20 -6
  161. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  162. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  163. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  164. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  165. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  166. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  167. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  168. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  169. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  170. package/dist/generated/i18n/i18n-defaults.js +2 -1
  171. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  172. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  173. package/dist/generated/themes/Avatar.css.js +1 -1
  174. package/dist/generated/themes/Avatar.css.js.map +1 -1
  175. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  176. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  177. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  178. package/dist/generated/themes/Bar.css.d.ts +1 -1
  179. package/dist/generated/themes/Bar.css.js +1 -1
  180. package/dist/generated/themes/Bar.css.js.map +1 -1
  181. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  182. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  183. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  184. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  185. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  186. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  187. package/dist/generated/themes/Button.css.d.ts +1 -1
  188. package/dist/generated/themes/Button.css.js +1 -1
  189. package/dist/generated/themes/Button.css.js.map +1 -1
  190. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  191. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  192. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  193. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  194. package/dist/generated/themes/Calendar.css.js +1 -1
  195. package/dist/generated/themes/Calendar.css.js.map +1 -1
  196. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  197. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  198. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  199. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  200. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  201. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  202. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  203. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  204. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  205. package/dist/generated/themes/Card.css.d.ts +1 -1
  206. package/dist/generated/themes/Card.css.js +1 -1
  207. package/dist/generated/themes/Card.css.js.map +1 -1
  208. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  209. package/dist/generated/themes/CardHeader.css.js +1 -1
  210. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  211. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  212. package/dist/generated/themes/Carousel.css.js +1 -1
  213. package/dist/generated/themes/Carousel.css.js.map +1 -1
  214. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  215. package/dist/generated/themes/CheckBox.css.js +1 -1
  216. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  217. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  218. package/dist/generated/themes/ColorPalette.css.js +1 -1
  219. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  220. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  221. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  222. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  223. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  224. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  225. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  226. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  227. package/dist/generated/themes/ColorPicker.css.js +1 -1
  228. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  229. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  230. package/dist/generated/themes/ComboBox.css.js +1 -1
  231. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  232. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  233. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  234. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  235. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  236. package/dist/generated/themes/DatePicker.css.js +1 -1
  237. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  238. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  239. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  240. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  241. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  242. package/dist/generated/themes/DayPicker.css.js +1 -1
  243. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  244. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  245. package/dist/generated/themes/Dialog.css.js +1 -1
  246. package/dist/generated/themes/Dialog.css.js.map +1 -1
  247. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  248. package/dist/generated/themes/FileUploader.css.js +1 -1
  249. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  250. package/dist/generated/themes/Form.css.d.ts +1 -1
  251. package/dist/generated/themes/Form.css.js +1 -1
  252. package/dist/generated/themes/Form.css.js.map +1 -1
  253. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  254. package/dist/generated/themes/FormItem.css.js +1 -1
  255. package/dist/generated/themes/FormItem.css.js.map +1 -1
  256. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  257. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  258. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  259. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  260. package/dist/generated/themes/GrowingButton.css.js +1 -1
  261. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  262. package/dist/generated/themes/Icon.css.d.ts +1 -1
  263. package/dist/generated/themes/Icon.css.js +1 -1
  264. package/dist/generated/themes/Icon.css.js.map +1 -1
  265. package/dist/generated/themes/Input.css.d.ts +1 -1
  266. package/dist/generated/themes/Input.css.js +1 -1
  267. package/dist/generated/themes/Input.css.js.map +1 -1
  268. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  269. package/dist/generated/themes/InputIcon.css.js +1 -1
  270. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  271. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  272. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  273. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  274. package/dist/generated/themes/Link.css.d.ts +1 -1
  275. package/dist/generated/themes/Link.css.js +1 -1
  276. package/dist/generated/themes/Link.css.js.map +1 -1
  277. package/dist/generated/themes/List.css.d.ts +1 -1
  278. package/dist/generated/themes/List.css.js +1 -1
  279. package/dist/generated/themes/List.css.js.map +1 -1
  280. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  281. package/dist/generated/themes/ListItem.css.js +1 -1
  282. package/dist/generated/themes/ListItem.css.js.map +1 -1
  283. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  284. package/dist/generated/themes/ListItemBase.css.js +1 -1
  285. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  286. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  287. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  288. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  289. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  290. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  291. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  292. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  293. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  294. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  295. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  296. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  297. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  298. package/dist/generated/themes/Menu.css.d.ts +1 -1
  299. package/dist/generated/themes/Menu.css.js +1 -1
  300. package/dist/generated/themes/Menu.css.js.map +1 -1
  301. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  302. package/dist/generated/themes/MenuItem.css.js +1 -1
  303. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  304. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  305. package/dist/generated/themes/MessageStrip.css.js +1 -1
  306. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  307. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  308. package/dist/generated/themes/MonthPicker.css.js +1 -1
  309. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  310. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  311. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  312. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  313. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  314. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  315. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  316. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  317. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  318. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  319. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  320. package/dist/generated/themes/MultiInput.css.js +1 -1
  321. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  322. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  323. package/dist/generated/themes/OptionBase.css.js +1 -1
  324. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  325. package/dist/generated/themes/Panel.css.d.ts +1 -1
  326. package/dist/generated/themes/Panel.css.js +1 -1
  327. package/dist/generated/themes/Panel.css.js.map +1 -1
  328. package/dist/generated/themes/Popover.css.d.ts +1 -1
  329. package/dist/generated/themes/Popover.css.js +1 -1
  330. package/dist/generated/themes/Popover.css.js.map +1 -1
  331. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  332. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  333. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  334. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  335. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  336. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  337. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  338. package/dist/generated/themes/RadioButton.css.js +1 -1
  339. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  340. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  341. package/dist/generated/themes/RangeSlider.css.js +1 -1
  342. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  343. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  344. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  345. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  346. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  347. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  348. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  349. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  350. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  351. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  352. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  353. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  354. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  355. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  356. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  357. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  358. package/dist/generated/themes/Select.css.d.ts +1 -1
  359. package/dist/generated/themes/Select.css.js +1 -1
  360. package/dist/generated/themes/Select.css.js.map +1 -1
  361. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  362. package/dist/generated/themes/SliderBase.css.js +1 -1
  363. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  364. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  365. package/dist/generated/themes/SplitButton.css.js +1 -1
  366. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  367. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  368. package/dist/generated/themes/StepInput.css.js +1 -1
  369. package/dist/generated/themes/StepInput.css.js.map +1 -1
  370. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  371. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  372. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  373. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  374. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  375. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  376. package/dist/generated/themes/Switch.css.d.ts +1 -1
  377. package/dist/generated/themes/Switch.css.js +1 -1
  378. package/dist/generated/themes/Switch.css.js.map +1 -1
  379. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  380. package/dist/generated/themes/TabContainer.css.js +1 -1
  381. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  382. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  383. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  384. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  385. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  386. package/dist/generated/themes/TabInStrip.css.js +1 -1
  387. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  388. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  389. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  390. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  391. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  392. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  393. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  394. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  395. package/dist/generated/themes/TableCellBase.css.js +1 -1
  396. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  397. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  398. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  399. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  400. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  401. package/dist/generated/themes/TableRow.css.js +1 -1
  402. package/dist/generated/themes/TableRow.css.js.map +1 -1
  403. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  404. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  405. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  406. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  407. package/dist/generated/themes/TableRowBase.css.js +1 -1
  408. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  409. package/dist/generated/themes/Tag.css.d.ts +1 -1
  410. package/dist/generated/themes/Tag.css.js +1 -1
  411. package/dist/generated/themes/Tag.css.js.map +1 -1
  412. package/dist/generated/themes/Text.css.d.ts +1 -1
  413. package/dist/generated/themes/Text.css.js +1 -1
  414. package/dist/generated/themes/Text.css.js.map +1 -1
  415. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  416. package/dist/generated/themes/TextArea.css.js +1 -1
  417. package/dist/generated/themes/TextArea.css.js.map +1 -1
  418. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  419. package/dist/generated/themes/TimePicker.css.js +1 -1
  420. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  421. package/dist/generated/themes/Toast.css.d.ts +1 -1
  422. package/dist/generated/themes/Toast.css.js +1 -1
  423. package/dist/generated/themes/Toast.css.js.map +1 -1
  424. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  425. package/dist/generated/themes/ToggleButton.css.js +1 -1
  426. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  427. package/dist/generated/themes/Token.css.d.ts +1 -1
  428. package/dist/generated/themes/Token.css.js +1 -1
  429. package/dist/generated/themes/Token.css.js.map +1 -1
  430. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  431. package/dist/generated/themes/Tokenizer.css.js +1 -1
  432. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  433. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  434. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  435. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  436. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  437. package/dist/generated/themes/Toolbar.css.js +1 -1
  438. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  439. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  440. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  441. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  442. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  443. package/dist/generated/themes/TreeItem.css.js +1 -1
  444. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  445. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  446. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  447. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  448. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  449. package/dist/generated/themes/YearPicker.css.js +1 -1
  450. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  451. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  452. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  455. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  456. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  458. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  461. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  462. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  463. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  464. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  467. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  468. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  469. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  473. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  474. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  475. package/dist/vscode.html-custom-data.json +3 -3
  476. package/dist/web-types.json +9 -9
  477. package/package.json +9 -9
  478. package/src/AvatarGroupTemplate.tsx +1 -0
  479. package/src/ButtonTemplate.tsx +0 -6
  480. package/src/TableTemplate.tsx +1 -1
  481. package/src/i18n/messagebundle.properties +3 -0
  482. package/src/themes/Breadcrumbs.css +1 -1
  483. package/src/themes/CalendarLegendItem.css +14 -1
  484. package/src/themes/CheckBox.css +13 -0
  485. package/src/themes/base/CalendarLegendItem-parameters.css +1 -0
  486. package/src/themes/base/sizes-parameters.css +1 -1
  487. package/src/themes/sap_horizon/CalendarLegendItem-parameters.css +1 -0
  488. package/src/themes/sap_horizon_dark/CalendarLegendItem-parameters.css +1 -0
@@ -1,27 +1,581 @@
1
+ import Button from "../../src/Button.js";
1
2
  import Carousel from "../../src/Carousel.js";
2
- import Text from "../../src/Text.js";
3
+ import Card from "../../src/Card.js";
4
+ import Input from "../../src/Input.js";
5
+ import List from "../../src/List.js";
6
+ import CardHeader from "../../src/CardHeader.js";
7
+ import Icon from "../../src/Icon.js";
8
+ import ListItemGroup from "../../src/ListItemGroup.js";
9
+ import Avatar from "../../src/Avatar.js";
10
+ import ListItemStandard from "../../src/ListItemStandard.js";
3
11
 
4
- describe("Accessibility", () => {
5
- it("tests carousel aria roles", () => {
12
+ describe("Carousel general interaction", () => {
13
+ it("rendering", () => {
6
14
  cy.mount(
7
- <Carousel id="carousel">
8
- <Text id="text">Test</Text>
9
- </Carousel>
10
- );
15
+ <Carousel id="carousel1">
16
+ <Button>Button 1</Button>
17
+ <Button>Button 2</Button>
18
+ </Carousel>);
11
19
 
12
- cy.get("#carousel")
20
+ cy.get("#carousel1")
21
+ .shadow()
22
+ .find(".ui5-carousel-root")
23
+ .should("exist");
24
+
25
+ cy.get("#carousel1")
26
+ .shadow()
27
+ .find(".ui5-carousel-item:nth-child(1)")
28
+ .should("not.have.class", "ui5-carousel-item--hidden");
29
+
30
+ cy.get("#carousel1")
31
+ .shadow()
32
+ .find(".ui5-carousel-item:nth-child(2)")
33
+ .should("have.class", "ui5-carousel-item--hidden");
34
+ });
35
+
36
+ it("Carousel navigates left", () => {
37
+ cy.mount(
38
+ <Carousel id="carousel1" cyclic={true}>
39
+ <Button>Button 1</Button>
40
+ <Button>Button 2</Button>
41
+ <Button>Button 3</Button>
42
+ </Carousel>);
43
+
44
+ cy.get("#carousel1")
45
+ .realHover()
46
+ .shadow()
47
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
48
+ .realClick();
49
+
50
+ cy.get("#carousel1").should("have.prop", "_selectedIndex", 2);
51
+ });
52
+
53
+ it("Carousel navigates right", () => {
54
+ cy.mount(
55
+ <Carousel id="carousel1">
56
+ <Button>Button 1</Button>
57
+ <Button>Button 2</Button>
58
+ <Button>Button 3</Button>
59
+ </Carousel>);
60
+
61
+ cy.get("#carousel1")
62
+ .realHover()
63
+ .shadow()
64
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
65
+ .realClick();
66
+
67
+ cy.get("#carousel1").should("have.prop", "_selectedIndex", 1);
68
+ });
69
+
70
+ it("Navigation is rendered for carousel with less than 9 elements", () => {
71
+ cy.mount(
72
+ <Carousel id="carousel1">
73
+ <Button>Button 1</Button>
74
+ <Button>Button 2</Button>
75
+ <Button>Button 3</Button>
76
+ </Carousel>);
77
+
78
+ cy.get("#carousel1")
79
+ .shadow()
80
+ .find(".ui5-carousel-navigation > div")
81
+ .should("exist");
82
+ });
83
+
84
+ it("Navigation is rendered for carousel with more than 9 elements", () => {
85
+ cy.mount(
86
+ <Carousel id="carousel2">
87
+ <Button>Button 1 </Button>
88
+ <Button>Button 2 </Button>
89
+ <Button>Button 3 </Button>
90
+ <Button>Button 4 </Button>
91
+ <Button>Button 5 </Button>
92
+ <Button>Button 6 </Button>
93
+ <Button>Button 7 </Button>
94
+ <Button>Button 8 </Button>
95
+ <Button>Button 9 </Button>
96
+ </Carousel>);
97
+
98
+ cy.get("#carousel2")
99
+ .shadow()
100
+ .find(".ui5-carousel-navigation > .ui5-carousel-navigation-text")
101
+ .should("exist")
102
+ .and("have.attr", "dir", "auto");
103
+ });
104
+
105
+ it("Buttons are rendered in the content only when hovering (arrows-placement)", () => {
106
+ cy.mount(
107
+ <Carousel id="carousel2">
108
+ <Button>Button 1 </Button>
109
+ <Button>Button 2 </Button>
110
+ <Button>Button 3 </Button>
111
+ <Button>Button 4 </Button>
112
+ <Button>Button 5 </Button>
113
+ <Button>Button 6 </Button>
114
+ <Button>Button 7 </Button>
115
+ <Button>Button 8 </Button>
116
+ <Button>Button 9 </Button>
117
+ </Carousel>);
118
+
119
+ cy.get("#carousel2")
120
+ .realHover()
121
+ .shadow()
122
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
123
+ .should("have.length", 1);
124
+
125
+ cy.get("#carousel2")
126
+ .realHover()
127
+ .shadow()
128
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
129
+ .realClick();
130
+
131
+ cy.get("#carousel2")
132
+ .realHover()
133
+ .shadow()
134
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
135
+ .should("have.length", 2);
136
+ });
137
+
138
+ it("Buttons are rendered in the navigation without hovering (arrows-placement)", () => {
139
+ cy.mount(
140
+ <Carousel id="carousel3" arrowsPlacement="Navigation">
141
+ <Button>Button 1</Button>
142
+ <Button>Button 2</Button>
143
+ <Button>Button 3</Button>
144
+ </Carousel>);
145
+
146
+ cy.get("#carousel3")
147
+ .shadow()
148
+ .find(".ui5-carousel-navigation-button[data-ui5-arrow-forward]")
149
+ .realClick();
150
+
151
+ cy.get("#carousel3")
152
+ .shadow()
153
+ .find(".ui5-carousel-navigation-wrapper .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
154
+ .should("have.length", 2)
155
+ });
156
+
157
+ it("ItemsPerPage property is working properly", () => {
158
+ cy.mount(
159
+ <Carousel id="carousel4">
160
+ <span>page 1</span>
161
+ <span>page 2</span>
162
+ <span>page 3</span>
163
+ </Carousel>);
164
+
165
+ cy.get("#carousel4")
166
+ .should("have.prop", "pagesCount", 3)
167
+ });
168
+
169
+ it("Aria attributes are set", () => {
170
+ const PAGE_INDICATOR_ARIA_LABEL1 = "Item 1 of 5 displayed";
171
+ const PAGE_INDICATOR_ARIA_LABEL2 = "Item 2 of 5 displayed";
172
+ const CAROUSEL_ITEM3_POS = "3";
173
+ const CAROUSEL_ITEM4_POS = "4";
174
+ const SETSIZE = "8";
175
+
176
+ cy.mount(
177
+ <>
178
+ <Carousel id="carousel5" itemsPerPage="S1 M4 L4 XL4">
179
+ <Button>Button 1</Button>
180
+ <Button>Button 2</Button>
181
+ <Button>Button 3</Button>
182
+ <Button>Button 4</Button>
183
+ <Button>Button 5</Button>
184
+ <Button>Button 6</Button>
185
+ <Button>Button 7</Button>
186
+ <Button>Button 8</Button>
187
+ </Carousel>
188
+ <Carousel id="carouselAccName" cyclic={true} accessibleName="Buttons Carousel">
189
+ <Button>Button 1</Button>
190
+ <Button>Button 2</Button>
191
+ <Button>Button 3</Button>
192
+ </Carousel>
193
+ <h4 id="manyButtons">Many Buttons Carousel</h4>
194
+ <Carousel id="carouselAccNameRef" accessibleNameRef="manyButtons">
195
+ <Button>Button 1</Button>
196
+ <Button>Button 2</Button>
197
+ <Button>Button 3</Button>
198
+ <Button>Button 4</Button>
199
+ <Button>Button 5</Button>
200
+ <Button>Button 6</Button>
201
+ <Button>Button 7</Button>
202
+ <Button>Button 8</Button>
203
+ <Button>Button 9</Button>
204
+ </Carousel>
205
+ </>);
206
+
207
+ cy.get("#carousel5")
208
+ .shadow()
209
+ .find(".ui5-carousel-navigation-dot:first-child")
210
+ .should("have.attr", "aria-label", PAGE_INDICATOR_ARIA_LABEL1);
211
+
212
+ cy.get("#carousel5")
213
+ .shadow()
214
+ .find(".ui5-carousel-navigation-dot:nth-child(2)")
215
+ .should("have.attr", "aria-label", PAGE_INDICATOR_ARIA_LABEL2);
216
+
217
+ cy.get("#carousel5")
218
+ .shadow()
219
+ .find(".ui5-carousel-item:first-child")
220
+ .should("have.attr", "aria-selected", "true");
221
+
222
+ cy.get("#carousel5")
223
+ .shadow()
224
+ .find(".ui5-carousel-item:nth-child(3)")
225
+ .should("have.attr", "aria-posinset", CAROUSEL_ITEM3_POS)
226
+ .and("have.attr", "aria-setsize", SETSIZE);
227
+
228
+ cy.get("#carousel5")
229
+ .shadow()
230
+ .find(".ui5-carousel-item:nth-child(4)")
231
+ .should("have.attr", "aria-posinset", CAROUSEL_ITEM4_POS)
232
+ .and("have.attr", "aria-setsize", SETSIZE);
233
+
234
+ cy.get<Carousel>('#carousel5')
235
+ .then(($carousel) => {
236
+ const el = $carousel[0];
237
+
238
+ cy.get('#carousel5')
239
+ .shadow()
240
+ .find('.ui5-carousel-root')
241
+ .should('have.attr', 'aria-activedescendant', `${el._id}-carousel-item-1`);
242
+ });
243
+
244
+ cy.get("#carousel5")
245
+ .shadow()
246
+ .find(".ui5-carousel-navigation-button:nth-child(2)")
247
+ .realClick();
248
+
249
+ cy.get<Carousel>('#carousel5')
250
+ .then(($carousel) => {
251
+ const el = $carousel[0];
252
+ cy.get('#carousel5')
253
+ .shadow()
254
+ .find('.ui5-carousel-root')
255
+ .should('have.attr', 'aria-activedescendant', `${el._id}-carousel-item-2`);
256
+ });
257
+
258
+ cy.get("#carouselAccName")
259
+ .shadow()
260
+ .find(".ui5-carousel-root")
261
+ .should("have.attr", "aria-label", "Buttons Carousel");
262
+
263
+ cy.get("#carouselAccNameRef")
264
+ .shadow()
265
+ .find(".ui5-carousel-root")
266
+ .should("have.attr", "aria-label", "Many Buttons Carousel");
267
+
268
+ cy.get("#carousel5")
13
269
  .shadow()
14
270
  .find(".ui5-carousel-root")
15
271
  .should("have.attr", "role", "list");
16
272
 
17
- cy.get("#carousel")
273
+ cy.get("#carousel5")
18
274
  .shadow()
19
275
  .find(".ui5-carousel-item")
20
276
  .should("have.attr", "role", "listitem");
21
277
 
22
- cy.get("#carousel")
278
+ cy.get("#carousel5")
23
279
  .shadow()
24
280
  .find(".ui5-carousel-root")
25
281
  .should("have.attr", "aria-roledescription", "Carousel");
26
282
  });
27
- });
283
+
284
+ it("all visible elements in the current page have correct tabindex values", () => {
285
+ cy.mount(
286
+ <Carousel id="carouselCards" itemsPerPage="S3 M3 L3 XL3">
287
+ <span>item 1</span>
288
+ <span>item 2</span>
289
+ <span>item 3</span>
290
+ </Carousel>);
291
+
292
+ cy.get("#carouselCards")
293
+ .shadow()
294
+ .find(".ui5-carousel-item:nth-child(1) slot")
295
+ .should("have.prop", "tabindex", 0);
296
+
297
+ cy.get("#carouselCards")
298
+ .shadow()
299
+ .find(".ui5-carousel-item:nth-child(2) slot")
300
+ .should("have.prop", "tabindex", 0);
301
+
302
+ cy.get("#carouselCards")
303
+ .shadow()
304
+ .find(".ui5-carousel-item:nth-child(3) slot")
305
+ .should("have.prop", "tabindex", 0);
306
+ });
307
+
308
+ it("Arrows and Dots not displayed in case of single page", () => {
309
+ cy.mount(
310
+ <Carousel id="carousel6">
311
+ <Button>Button 1</Button>
312
+ </Carousel>);
313
+
314
+ cy.get("#carousel6")
315
+ .shadow()
316
+ .find(".ui5-carousel-navigation-wrapper")
317
+ .should("not.exist");
318
+
319
+ cy.get("#carousel6")
320
+ .shadow()
321
+ .find(".ui5-carousel-navigation-arrows")
322
+ .should("not.exist");
323
+
324
+ cy.get("#carousel6")
325
+ .should("have.prop", "pagesCount", 1);
326
+ });
327
+
328
+ it("Event navigate fired when pressing navigation arrows", () => {
329
+ const navigateEventStub = cy.stub().as("myStub");
330
+ cy.mount(
331
+ <Carousel id="carousel8" itemsPerPage="S1 M4 L4 XL4" onNavigate={navigateEventStub}>
332
+ <Button>Button 1</Button>
333
+ <Button>Button 2</Button>
334
+ <Button>Button 3</Button>
335
+ <Button>Button 4</Button>
336
+ <Button>Button 5</Button>
337
+ <Button>Button 6</Button>
338
+ <Button>Button 7</Button>
339
+ <Button>Button 8</Button>
340
+ </Carousel>);
341
+
342
+ cy.get("#carousel8")
343
+ .shadow()
344
+ .find("ui5-button[data-ui5-arrow-forward]")
345
+ .should("exist")
346
+ .realClick();
347
+ cy.get("@myStub").should("have.been.calledOnce");
348
+
349
+ cy.get("#carousel8")
350
+ .shadow()
351
+ .find("ui5-button[data-ui5-arrow-forward]")
352
+ .should("exist")
353
+ .realClick();
354
+ cy.get("@myStub").should("have.been.calledTwice");
355
+
356
+ cy.get("#carousel8")
357
+ .shadow()
358
+ .find("ui5-button[data-ui5-arrow-back]")
359
+ .should("exist")
360
+ .realClick();
361
+ cy.get("@myStub").should("have.been.calledThrice");
362
+
363
+ cy.get("#carousel8")
364
+ .shadow()
365
+ .find("ui5-button[data-ui5-arrow-back]")
366
+ .should("exist")
367
+ .realClick();
368
+ cy.get("@myStub").should("have.callCount", 4);
369
+
370
+ cy.get("#carousel8").realClick();
371
+ cy.get("#carousel8").realPress("ArrowRight");
372
+ cy.get("@myStub").should("have.callCount", 5);
373
+
374
+ cy.get("#carousel8").realPress("ArrowLeft");
375
+ cy.get("@myStub").should("have.callCount", 6);
376
+ });
377
+
378
+ it("page-indicator-type property", () => {
379
+ cy.mount(
380
+ <Carousel id="carouselNumericPageIndicator" pageIndicatorType="Numeric">
381
+ <Button>Button 1</Button>
382
+ <Button>Button 2</Button>
383
+ </Carousel>);
384
+
385
+ cy.get("#carouselNumericPageIndicator")
386
+ .shadow()
387
+ .find(".ui5-carousel-navigation .ui5-carousel-navigation-text")
388
+ .contains("1 of 2");
389
+ });
390
+
391
+ it("hide-page-indicator property", () => {
392
+ cy.mount(
393
+ <Carousel id="carouselHiddenPageIndicator" arrowsPlacement="Navigation" hidePageIndicator>
394
+ <Button>Button 1</Button>
395
+ <Button>Button 2</Button>
396
+ <Button>Button 3</Button>
397
+ </Carousel>);
398
+
399
+ cy.get("#carouselHiddenPageIndicator")
400
+ .shadow()
401
+ .find(".ui5-carousel-navigation > *")
402
+ .should('have.length', 0);
403
+
404
+ });
405
+
406
+ it("navigateTo method and visibleItemsIndices", () => {
407
+ cy.mount(
408
+ <Carousel id="carousel9" itemsPerPage="S1 M2 L2 XL2">
409
+ <Button>Button 1</Button>
410
+ <Button>Button 2</Button>
411
+ <Button>Button 3</Button>
412
+ <Button>Button 4</Button>
413
+ <Button>Button 5</Button>
414
+ <Button>Button 6</Button>
415
+ <Button>Button 7</Button>
416
+ <Button>Button 8</Button>
417
+ <Button>Button 9</Button>
418
+ <Button>Button 10</Button>
419
+ </Carousel>);
420
+
421
+ cy.get("#carousel9")
422
+ .invoke("prop", "visibleItemsIndices")
423
+ .should("deep.equal", [0, 1]);
424
+
425
+ cy.get<Carousel>("#carousel9").then(($carousel) => {
426
+ $carousel[0].navigateTo(1);
427
+ });
428
+
429
+ cy.get("#carousel9")
430
+ .invoke("prop", "visibleItemsIndices")
431
+ .should("deep.equal", [1, 2]);
432
+ });
433
+
434
+ it("F7 keyboard navigation", () => {
435
+ cy.mount(
436
+ <Carousel id="carouselF7" itemsPerPage="S3 M3 L3 XL3">
437
+ <Card class="myCard">
438
+ <div>
439
+ Page 1 <br />
440
+ <Button>Button 1</Button>
441
+ <br />
442
+ <Button id="carouselF7Button">Button 2</Button>
443
+ <br />
444
+ <Input></Input>
445
+ </div>
446
+ </Card>
447
+ <Card class="myCard">
448
+ <div>
449
+ Page 2 <br />
450
+ <Button>Button 1</Button>
451
+ <br />
452
+ <Button>Button 2</Button>
453
+ <br />
454
+ <Input></Input>
455
+ </div>
456
+ </Card>
457
+ <Card class="myCard">
458
+ <div>
459
+ Page 3 <br />
460
+ <Button>Button 1</Button>
461
+ <br />
462
+ <Button>Button 2</Button>
463
+ <br />
464
+ <Input id="carouselF7Input"></Input>
465
+ </div>
466
+ </Card>
467
+ <Card class="myCard">
468
+ <div>
469
+ Page 4 <br />
470
+ <Button>Button 1</Button>
471
+ <br />
472
+ <Button>Button 2</Button>
473
+ <br />
474
+ <Input></Input>
475
+ </div>
476
+ </Card>
477
+ <Card class="myCard">
478
+ <div>
479
+ Page 5 <br />
480
+ <Button>Button 1</Button>
481
+ <br />
482
+ <Button>Button 2</Button>
483
+ <br />
484
+ <Input></Input>
485
+ </div>
486
+ </Card>
487
+ <Card class="myCard">
488
+ <div>
489
+ Page 6 <br />
490
+ <Button>Button 1</Button>
491
+ <br />
492
+ <Button>Button 2</Button>
493
+ <br />
494
+ <Input></Input>
495
+ </div>
496
+ </Card>
497
+ </Carousel>);
498
+
499
+ cy.get(".myCard").should("be.visible");
500
+
501
+ cy.get("#carouselF7Button").realClick();
502
+ cy.get("#carouselF7Button").should('be.focused');
503
+
504
+ cy.realPress("F7");
505
+ cy.focused().should("have.class", "ui5-carousel-root");
506
+
507
+ cy.realPress("F7");
508
+ cy.focused().should("have.class", "ui5-button-root");
509
+
510
+ cy.get("#carouselF7Input").realClick();
511
+ cy.realPress("F7");
512
+ cy.focused().should("have.class", "ui5-carousel-root");
513
+
514
+ cy.realPress("F7");
515
+ cy.focused().should("have.class", "ui5-input-inner");
516
+
517
+ cy.get("#carouselF7Button").realClick();
518
+ cy.realPress("F7");
519
+
520
+ cy.get<Carousel>("#carouselF7").then(($carousel) => {
521
+ $carousel[0].navigateTo(1);
522
+ });
523
+ cy.realPress("F7");
524
+ cy.focused().should("have.class", "ui5-input-inner");
525
+ });
526
+
527
+ it("Items per page", () => {
528
+ cy.mount(
529
+ <Carousel
530
+ id="itemsPerPage"
531
+ cyclic
532
+ itemsPerPage="S1 M2 L3 XL4"
533
+ arrowsPlacement="Navigation"
534
+ >
535
+ <span>item 1</span>
536
+ <span>item 2</span>
537
+ <span>item 3</span>
538
+ <span>item 4</span>
539
+ <span>item 5</span>
540
+ </Carousel>);
541
+
542
+ cy.viewport(500, 500);
543
+ cy.get("#itemsPerPage")
544
+ .shadow()
545
+ .find(".ui5-carousel-item:nth-child(2)")
546
+ .should("have.class", "ui5-carousel-item--hidden");
547
+
548
+ cy.viewport(1000, 500);
549
+ cy.get("#itemsPerPage")
550
+ .shadow()
551
+ .find(".ui5-carousel-item:nth-child(2)")
552
+ .should("not.have.class", "ui5-carousel-item--hidden");
553
+
554
+ cy.get("#itemsPerPage")
555
+ .shadow()
556
+ .find(".ui5-carousel-item:nth-child(3)")
557
+ .should("have.class", "ui5-carousel-item--hidden");
558
+
559
+ cy.viewport(1240, 500);
560
+ cy.get("#itemsPerPage")
561
+ .shadow()
562
+ .find(".ui5-carousel-item:nth-child(3)")
563
+ .should("not.have.class", "ui5-carousel-item--hidden");
564
+
565
+ cy.get("#itemsPerPage")
566
+ .shadow()
567
+ .find(".ui5-carousel-item:nth-child(4)")
568
+ .should("have.class", "ui5-carousel-item--hidden");
569
+
570
+ cy.viewport(1540, 500);
571
+ cy.get("#itemsPerPage")
572
+ .shadow()
573
+ .find(".ui5-carousel-item:nth-child(4)")
574
+ .should("not.have.class", "ui5-carousel-item--hidden");
575
+
576
+ cy.get("#itemsPerPage")
577
+ .shadow()
578
+ .find(".ui5-carousel-item:nth-child(5)")
579
+ .should("have.class", "ui5-carousel-item--hidden");
580
+ });
581
+ });
@@ -0,0 +1,67 @@
1
+ import Button from "../../src/Button.js";
2
+ import Carousel from "../../src/Carousel.js";
3
+
4
+ describe("Carousel general interaction", () => {
5
+ before(() => {
6
+ cy.ui5SimulateDevice("phone");
7
+ });
8
+
9
+ it("Buttons (navigation arrows) are rendered in the content without hovering", () => {
10
+ cy.mount(
11
+ <Carousel id="carousel2">
12
+ <Button>Button 1 </Button>
13
+ <Button>Button 2 </Button>
14
+ <Button>Button 3 </Button>
15
+ <Button>Button 4 </Button>
16
+ <Button>Button 5 </Button>
17
+ <Button>Button 6 </Button>
18
+ <Button>Button 7 </Button>
19
+ <Button>Button 8 </Button>
20
+ <Button>Button 9 </Button>
21
+ </Carousel>);
22
+
23
+ cy.get("#carousel2")
24
+ .shadow()
25
+ .find(".ui5-carousel-navigation-arrows .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
26
+ .should("have.length", 1);
27
+ });
28
+
29
+ it("Buttons (navigation arrows) are rendered in the navigation without hovering (arrows-placement)", () => {
30
+ cy.mount(
31
+ <Carousel id="carousel3" arrowsPlacement="Navigation">
32
+ <Button>Button 1</Button>
33
+ <Button>Button 2</Button>
34
+ <Button>Button 3</Button>
35
+ </Carousel>);
36
+
37
+ cy.get("#carousel3")
38
+ .shadow()
39
+ .find(".ui5-carousel-navigation-button[data-ui5-arrow-forward]")
40
+ .realClick();
41
+
42
+ cy.get("#carousel3")
43
+ .shadow()
44
+ .find(".ui5-carousel-navigation-wrapper .ui5-carousel-navigation-button:not(.ui5-carousel-navigation-button--hidden)")
45
+ .should("have.length", 2);
46
+ });
47
+
48
+ it("Arrows (navigation arrows) and Dots (page indicator) not displayed in case of single page", () => {
49
+ cy.mount(
50
+ <Carousel id="carousel6">
51
+ <Button>Button 1</Button>
52
+ </Carousel>);
53
+
54
+ cy.get("#carousel6")
55
+ .shadow()
56
+ .find(".ui5-carousel-navigation-wrapper")
57
+ .should("not.exist");
58
+
59
+ cy.get("#carousel6")
60
+ .shadow()
61
+ .find(".ui5-carousel-navigation-arrows")
62
+ .should("not.exist");
63
+
64
+ cy.get("#carousel6")
65
+ .should("have.prop", "pagesCount", 1);
66
+ });
67
+ });