@ui5/webcomponents 2.10.0-rc.0 → 2.10.0-rc.2

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 (518) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/cypress/specs/Button.cy.tsx +21 -4
  3. package/cypress/specs/Carousel.cy.tsx +565 -11
  4. package/cypress/specs/Carousel.mobile.cy.tsx +67 -0
  5. package/cypress/specs/Form.cy.tsx +21 -0
  6. package/cypress/specs/Input.cy.tsx +80 -26
  7. package/cypress/specs/List.cy.tsx +80 -1
  8. package/cypress/specs/List.mobile.cy.tsx +31 -0
  9. package/cypress/specs/Popover.cy.tsx +44 -10
  10. package/cypress/specs/Table.cy.tsx +183 -0
  11. package/cypress/specs/TableGrowing.cy.tsx +55 -7
  12. package/cypress/specs/TableRowActions.cy.tsx +21 -6
  13. package/cypress/specs/TableSelection.cy.tsx +1 -1
  14. package/cypress/specs/TableSelections.cy.tsx +1 -1
  15. package/cypress/specs/TableUtils.cy.tsx +38 -1
  16. package/cypress/support/commands.ts +4 -0
  17. package/dist/.tsbuildinfo +1 -1
  18. package/dist/Button.d.ts +0 -2
  19. package/dist/Button.js +8 -9
  20. package/dist/Button.js.map +1 -1
  21. package/dist/ButtonTemplate.js +3 -4
  22. package/dist/ButtonTemplate.js.map +1 -1
  23. package/dist/Form.d.ts +1 -0
  24. package/dist/Form.js +7 -0
  25. package/dist/Form.js.map +1 -1
  26. package/dist/Input.js +1 -0
  27. package/dist/Input.js.map +1 -1
  28. package/dist/List.d.ts +8 -3
  29. package/dist/List.js +19 -13
  30. package/dist/List.js.map +1 -1
  31. package/dist/ListItem.d.ts +6 -0
  32. package/dist/ListItem.js +9 -0
  33. package/dist/ListItem.js.map +1 -1
  34. package/dist/ListItemStandard.d.ts +44 -5
  35. package/dist/ListItemStandard.js +65 -8
  36. package/dist/ListItemStandard.js.map +1 -1
  37. package/dist/ListItemStandardTemplate.js +33 -1
  38. package/dist/ListItemStandardTemplate.js.map +1 -1
  39. package/dist/Menu.d.ts +9 -2
  40. package/dist/Menu.js +11 -2
  41. package/dist/Menu.js.map +1 -1
  42. package/dist/MenuTemplate.js +1 -1
  43. package/dist/MenuTemplate.js.map +1 -1
  44. package/dist/Popover.js +2 -2
  45. package/dist/Popover.js.map +1 -1
  46. package/dist/Table.js +24 -22
  47. package/dist/Table.js.map +1 -1
  48. package/dist/TableGrowing.js +1 -2
  49. package/dist/TableGrowing.js.map +1 -1
  50. package/dist/TableHeaderCell.d.ts +15 -13
  51. package/dist/TableHeaderCell.js +0 -35
  52. package/dist/TableHeaderCell.js.map +1 -1
  53. package/dist/TableRow.js +1 -0
  54. package/dist/TableRow.js.map +1 -1
  55. package/dist/TableTemplate.js +1 -1
  56. package/dist/TableTemplate.js.map +1 -1
  57. package/dist/TableUtils.d.ts +8 -1
  58. package/dist/TableUtils.js +12 -1
  59. package/dist/TableUtils.js.map +1 -1
  60. package/dist/Tokenizer.d.ts +4 -0
  61. package/dist/Tokenizer.js.map +1 -1
  62. package/dist/Tree.js +3 -0
  63. package/dist/Tree.js.map +1 -1
  64. package/dist/css/themes/Avatar.css +1 -1
  65. package/dist/css/themes/AvatarGroup.css +1 -1
  66. package/dist/css/themes/Bar.css +1 -1
  67. package/dist/css/themes/Breadcrumbs.css +1 -1
  68. package/dist/css/themes/BusyIndicator.css +1 -1
  69. package/dist/css/themes/Button.css +1 -1
  70. package/dist/css/themes/ButtonBadge.css +1 -1
  71. package/dist/css/themes/Calendar.css +1 -1
  72. package/dist/css/themes/CalendarHeader.css +1 -1
  73. package/dist/css/themes/CalendarLegend.css +1 -1
  74. package/dist/css/themes/CalendarLegendItem.css +1 -1
  75. package/dist/css/themes/Card.css +1 -1
  76. package/dist/css/themes/CardHeader.css +1 -1
  77. package/dist/css/themes/Carousel.css +1 -1
  78. package/dist/css/themes/CheckBox.css +1 -1
  79. package/dist/css/themes/ColorPalette.css +1 -1
  80. package/dist/css/themes/ColorPaletteItem.css +1 -1
  81. package/dist/css/themes/ColorPalettePopover.css +1 -1
  82. package/dist/css/themes/ColorPicker.css +1 -1
  83. package/dist/css/themes/ComboBox.css +1 -1
  84. package/dist/css/themes/ComboBoxItem.css +1 -1
  85. package/dist/css/themes/DatePicker.css +1 -1
  86. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  87. package/dist/css/themes/DayPicker.css +1 -1
  88. package/dist/css/themes/Dialog.css +1 -1
  89. package/dist/css/themes/FileUploader.css +1 -1
  90. package/dist/css/themes/Form.css +1 -1
  91. package/dist/css/themes/FormItem.css +1 -1
  92. package/dist/css/themes/FormItemSpan.css +1 -1
  93. package/dist/css/themes/GrowingButton.css +1 -1
  94. package/dist/css/themes/Icon.css +1 -1
  95. package/dist/css/themes/Input.css +1 -1
  96. package/dist/css/themes/InputIcon.css +1 -1
  97. package/dist/css/themes/InputSharedStyles.css +1 -1
  98. package/dist/css/themes/Link.css +1 -1
  99. package/dist/css/themes/List.css +1 -1
  100. package/dist/css/themes/ListItem.css +1 -1
  101. package/dist/css/themes/ListItemBase.css +1 -1
  102. package/dist/css/themes/ListItemCustom.css +1 -1
  103. package/dist/css/themes/ListItemGroup.css +1 -1
  104. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  105. package/dist/css/themes/ListItemIcon.css +1 -1
  106. package/dist/css/themes/Menu.css +1 -1
  107. package/dist/css/themes/MenuItem.css +1 -1
  108. package/dist/css/themes/MessageStrip.css +1 -1
  109. package/dist/css/themes/MonthPicker.css +1 -1
  110. package/dist/css/themes/MultiComboBox.css +1 -1
  111. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  112. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  113. package/dist/css/themes/MultiInput.css +1 -1
  114. package/dist/css/themes/OptionBase.css +1 -1
  115. package/dist/css/themes/Panel.css +1 -1
  116. package/dist/css/themes/Popover.css +1 -1
  117. package/dist/css/themes/PopupsCommon.css +1 -1
  118. package/dist/css/themes/ProgressIndicator.css +1 -1
  119. package/dist/css/themes/RadioButton.css +1 -1
  120. package/dist/css/themes/RangeSlider.css +1 -1
  121. package/dist/css/themes/RatingIndicator.css +1 -1
  122. package/dist/css/themes/ResponsivePopover.css +1 -1
  123. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  124. package/dist/css/themes/SegmentedButton.css +1 -1
  125. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  126. package/dist/css/themes/Select.css +1 -1
  127. package/dist/css/themes/SliderBase.css +1 -1
  128. package/dist/css/themes/SplitButton.css +1 -1
  129. package/dist/css/themes/StepInput.css +1 -1
  130. package/dist/css/themes/SuggestionItem.css +1 -1
  131. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  132. package/dist/css/themes/Switch.css +1 -1
  133. package/dist/css/themes/TabContainer.css +1 -1
  134. package/dist/css/themes/TabInOverflow.css +1 -1
  135. package/dist/css/themes/TabInStrip.css +1 -1
  136. package/dist/css/themes/TabSemanticIcon.css +1 -1
  137. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  138. package/dist/css/themes/Table.css +1 -1
  139. package/dist/css/themes/TableCellBase.css +1 -1
  140. package/dist/css/themes/TableHeaderRow.css +1 -1
  141. package/dist/css/themes/TableRow.css +1 -1
  142. package/dist/css/themes/TableRowActionBase.css +1 -1
  143. package/dist/css/themes/TableRowBase.css +1 -1
  144. package/dist/css/themes/Tag.css +1 -1
  145. package/dist/css/themes/Text.css +1 -1
  146. package/dist/css/themes/TextArea.css +1 -1
  147. package/dist/css/themes/TimePicker.css +1 -1
  148. package/dist/css/themes/Toast.css +1 -1
  149. package/dist/css/themes/ToggleButton.css +1 -1
  150. package/dist/css/themes/Token.css +1 -1
  151. package/dist/css/themes/Tokenizer.css +1 -1
  152. package/dist/css/themes/TokenizerPopover.css +1 -1
  153. package/dist/css/themes/Toolbar.css +1 -1
  154. package/dist/css/themes/ToolbarPopover.css +1 -1
  155. package/dist/css/themes/TreeItem.css +1 -1
  156. package/dist/css/themes/ValueStateMessage.css +1 -1
  157. package/dist/css/themes/YearPicker.css +1 -1
  158. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  159. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  160. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  161. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  162. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  163. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  164. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  165. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  166. package/dist/custom-elements-internal.json +126 -42
  167. package/dist/custom-elements.json +112 -42
  168. package/dist/features/ListItemStandardExpandableText.d.ts +1 -0
  169. package/dist/features/ListItemStandardExpandableText.js +5 -0
  170. package/dist/features/ListItemStandardExpandableText.js.map +1 -0
  171. package/dist/features/ListItemStandardExpandableTextTemplate.d.ts +10 -0
  172. package/dist/features/ListItemStandardExpandableTextTemplate.js +14 -0
  173. package/dist/features/ListItemStandardExpandableTextTemplate.js.map +1 -0
  174. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  175. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  176. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  177. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  178. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  179. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  180. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  181. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  182. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  183. package/dist/generated/i18n/i18n-defaults.js +2 -1
  184. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  185. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  186. package/dist/generated/themes/Avatar.css.js +1 -1
  187. package/dist/generated/themes/Avatar.css.js.map +1 -1
  188. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  189. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  190. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  191. package/dist/generated/themes/Bar.css.d.ts +1 -1
  192. package/dist/generated/themes/Bar.css.js +1 -1
  193. package/dist/generated/themes/Bar.css.js.map +1 -1
  194. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  195. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  196. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  197. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  198. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  199. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  200. package/dist/generated/themes/Button.css.d.ts +1 -1
  201. package/dist/generated/themes/Button.css.js +1 -1
  202. package/dist/generated/themes/Button.css.js.map +1 -1
  203. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  204. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  205. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  206. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  207. package/dist/generated/themes/Calendar.css.js +1 -1
  208. package/dist/generated/themes/Calendar.css.js.map +1 -1
  209. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  210. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  211. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  212. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  213. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  214. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  215. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  216. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  217. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  218. package/dist/generated/themes/Card.css.d.ts +1 -1
  219. package/dist/generated/themes/Card.css.js +1 -1
  220. package/dist/generated/themes/Card.css.js.map +1 -1
  221. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  222. package/dist/generated/themes/CardHeader.css.js +1 -1
  223. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  224. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  225. package/dist/generated/themes/Carousel.css.js +1 -1
  226. package/dist/generated/themes/Carousel.css.js.map +1 -1
  227. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  228. package/dist/generated/themes/CheckBox.css.js +1 -1
  229. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  230. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  231. package/dist/generated/themes/ColorPalette.css.js +1 -1
  232. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  233. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  234. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  235. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  236. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  237. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  238. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  239. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  240. package/dist/generated/themes/ColorPicker.css.js +1 -1
  241. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  242. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  243. package/dist/generated/themes/ComboBox.css.js +1 -1
  244. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  245. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  246. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  247. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  248. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  249. package/dist/generated/themes/DatePicker.css.js +1 -1
  250. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  251. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  252. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  253. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  254. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  255. package/dist/generated/themes/DayPicker.css.js +1 -1
  256. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  257. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  258. package/dist/generated/themes/Dialog.css.js +1 -1
  259. package/dist/generated/themes/Dialog.css.js.map +1 -1
  260. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  261. package/dist/generated/themes/FileUploader.css.js +1 -1
  262. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  263. package/dist/generated/themes/Form.css.d.ts +1 -1
  264. package/dist/generated/themes/Form.css.js +1 -1
  265. package/dist/generated/themes/Form.css.js.map +1 -1
  266. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  267. package/dist/generated/themes/FormItem.css.js +1 -1
  268. package/dist/generated/themes/FormItem.css.js.map +1 -1
  269. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  270. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  271. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  272. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  273. package/dist/generated/themes/GrowingButton.css.js +1 -1
  274. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  275. package/dist/generated/themes/Icon.css.d.ts +1 -1
  276. package/dist/generated/themes/Icon.css.js +1 -1
  277. package/dist/generated/themes/Icon.css.js.map +1 -1
  278. package/dist/generated/themes/Input.css.d.ts +1 -1
  279. package/dist/generated/themes/Input.css.js +1 -1
  280. package/dist/generated/themes/Input.css.js.map +1 -1
  281. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  282. package/dist/generated/themes/InputIcon.css.js +1 -1
  283. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  284. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  285. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  286. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  287. package/dist/generated/themes/Link.css.d.ts +1 -1
  288. package/dist/generated/themes/Link.css.js +1 -1
  289. package/dist/generated/themes/Link.css.js.map +1 -1
  290. package/dist/generated/themes/List.css.d.ts +1 -1
  291. package/dist/generated/themes/List.css.js +1 -1
  292. package/dist/generated/themes/List.css.js.map +1 -1
  293. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  294. package/dist/generated/themes/ListItem.css.js +1 -1
  295. package/dist/generated/themes/ListItem.css.js.map +1 -1
  296. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  297. package/dist/generated/themes/ListItemBase.css.js +1 -1
  298. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  299. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  300. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  301. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  302. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  303. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  304. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  305. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  306. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  307. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  308. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  309. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  310. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  311. package/dist/generated/themes/Menu.css.d.ts +1 -1
  312. package/dist/generated/themes/Menu.css.js +1 -1
  313. package/dist/generated/themes/Menu.css.js.map +1 -1
  314. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  315. package/dist/generated/themes/MenuItem.css.js +1 -1
  316. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  317. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  318. package/dist/generated/themes/MessageStrip.css.js +1 -1
  319. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  320. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  321. package/dist/generated/themes/MonthPicker.css.js +1 -1
  322. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  323. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  324. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  325. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  326. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  327. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  328. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  329. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  330. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  331. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  332. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  333. package/dist/generated/themes/MultiInput.css.js +1 -1
  334. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  335. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  336. package/dist/generated/themes/OptionBase.css.js +1 -1
  337. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  338. package/dist/generated/themes/Panel.css.d.ts +1 -1
  339. package/dist/generated/themes/Panel.css.js +1 -1
  340. package/dist/generated/themes/Panel.css.js.map +1 -1
  341. package/dist/generated/themes/Popover.css.d.ts +1 -1
  342. package/dist/generated/themes/Popover.css.js +1 -1
  343. package/dist/generated/themes/Popover.css.js.map +1 -1
  344. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  345. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  346. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  347. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  348. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  349. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  350. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  351. package/dist/generated/themes/RadioButton.css.js +1 -1
  352. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  353. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  354. package/dist/generated/themes/RangeSlider.css.js +1 -1
  355. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  356. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  357. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  358. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  359. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  360. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  361. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  362. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  363. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  364. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  365. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  366. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  367. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  368. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  369. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  370. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  371. package/dist/generated/themes/Select.css.d.ts +1 -1
  372. package/dist/generated/themes/Select.css.js +1 -1
  373. package/dist/generated/themes/Select.css.js.map +1 -1
  374. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  375. package/dist/generated/themes/SliderBase.css.js +1 -1
  376. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  377. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  378. package/dist/generated/themes/SplitButton.css.js +1 -1
  379. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  380. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  381. package/dist/generated/themes/StepInput.css.js +1 -1
  382. package/dist/generated/themes/StepInput.css.js.map +1 -1
  383. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  384. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  385. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  386. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  387. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  388. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  389. package/dist/generated/themes/Switch.css.d.ts +1 -1
  390. package/dist/generated/themes/Switch.css.js +1 -1
  391. package/dist/generated/themes/Switch.css.js.map +1 -1
  392. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  393. package/dist/generated/themes/TabContainer.css.js +1 -1
  394. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  395. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  396. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  397. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  398. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  399. package/dist/generated/themes/TabInStrip.css.js +1 -1
  400. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  401. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  402. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  403. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  404. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  405. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  406. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  407. package/dist/generated/themes/Table.css.d.ts +1 -1
  408. package/dist/generated/themes/Table.css.js +1 -1
  409. package/dist/generated/themes/Table.css.js.map +1 -1
  410. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  411. package/dist/generated/themes/TableCellBase.css.js +1 -1
  412. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  413. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  414. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  415. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  416. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  417. package/dist/generated/themes/TableRow.css.js +1 -1
  418. package/dist/generated/themes/TableRow.css.js.map +1 -1
  419. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  420. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  421. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  422. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  423. package/dist/generated/themes/TableRowBase.css.js +1 -1
  424. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  425. package/dist/generated/themes/Tag.css.d.ts +1 -1
  426. package/dist/generated/themes/Tag.css.js +1 -1
  427. package/dist/generated/themes/Tag.css.js.map +1 -1
  428. package/dist/generated/themes/Text.css.d.ts +1 -1
  429. package/dist/generated/themes/Text.css.js +1 -1
  430. package/dist/generated/themes/Text.css.js.map +1 -1
  431. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  432. package/dist/generated/themes/TextArea.css.js +1 -1
  433. package/dist/generated/themes/TextArea.css.js.map +1 -1
  434. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  435. package/dist/generated/themes/TimePicker.css.js +1 -1
  436. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  437. package/dist/generated/themes/Toast.css.d.ts +1 -1
  438. package/dist/generated/themes/Toast.css.js +1 -1
  439. package/dist/generated/themes/Toast.css.js.map +1 -1
  440. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  441. package/dist/generated/themes/ToggleButton.css.js +1 -1
  442. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  443. package/dist/generated/themes/Token.css.d.ts +1 -1
  444. package/dist/generated/themes/Token.css.js +1 -1
  445. package/dist/generated/themes/Token.css.js.map +1 -1
  446. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  447. package/dist/generated/themes/Tokenizer.css.js +1 -1
  448. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  449. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  450. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  451. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  452. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  453. package/dist/generated/themes/Toolbar.css.js +1 -1
  454. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  455. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  456. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  457. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  458. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  459. package/dist/generated/themes/TreeItem.css.js +1 -1
  460. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  461. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  462. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  463. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  464. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  465. package/dist/generated/themes/YearPicker.css.js +1 -1
  466. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  467. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  468. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  469. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  470. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  471. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  472. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  473. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  474. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  475. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  476. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  477. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  478. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  479. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  480. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  481. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  482. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  483. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  484. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  485. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  486. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  487. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  488. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  489. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  490. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  491. package/dist/types/ExpandableTextTemplateParams.d.ts +13 -0
  492. package/dist/types/ExpandableTextTemplateParams.js +2 -0
  493. package/dist/types/ExpandableTextTemplateParams.js.map +1 -0
  494. package/dist/vscode.html-custom-data.json +31 -16
  495. package/dist/web-types.json +68 -34
  496. package/package.json +9 -9
  497. package/src/ButtonTemplate.tsx +0 -6
  498. package/src/ListItemStandardTemplate.tsx +55 -16
  499. package/src/MenuTemplate.tsx +1 -0
  500. package/src/TableTemplate.tsx +2 -1
  501. package/src/features/ListItemStandardExpandableTextTemplate.tsx +31 -0
  502. package/src/i18n/messagebundle.properties +3 -0
  503. package/src/themes/Breadcrumbs.css +1 -1
  504. package/src/themes/BusyIndicator.css +2 -2
  505. package/src/themes/ListItem.css +69 -4
  506. package/src/themes/Table.css +2 -2
  507. package/src/themes/TableHeaderRow.css +2 -0
  508. package/src/themes/TableRow.css +4 -0
  509. package/src/themes/TableRowBase.css +11 -2
  510. package/src/themes/base/BusyIndicator-parameters.css +1 -2
  511. package/src/themes/base/Table-parameters.css +1 -0
  512. package/src/themes/base/sizes-parameters.css +1 -1
  513. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +0 -1
  514. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +0 -1
  515. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +0 -1
  516. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +0 -1
  517. package/src/themes/sap_fiori_3_hcb/BusyIndicator-parameters.css +0 -5
  518. package/src/themes/sap_fiori_3_hcw/BusyIndicator-parameters.css +0 -5
@@ -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
+ });
@@ -199,6 +199,27 @@ describe("General API", () => {
199
199
  .and("have.prop", "emptySpanXl", 1);
200
200
  });
201
201
 
202
+ it("tests calculated state of Form item-spacing='Large'", () => {
203
+ cy.mount(<Form id="addressForm" item-spacing="Large">
204
+ <FormGroup id="formGroup">
205
+ <FormItem id="formItem">
206
+ <Label slot="labelContent">Name:</Label>
207
+ <Text>Red Point Stores</Text>
208
+ </FormItem>
209
+
210
+ <FormItem>
211
+ <Label slot="labelContent">Country:</Label>
212
+ <Text>Germany</Text>
213
+ </FormItem>
214
+ </FormGroup>
215
+ </Form>);
216
+
217
+ cy.get("#formGroup")
218
+ .should("have.prop", "itemSpacing", "Large");
219
+ cy.get("#formItem")
220
+ .should("have.prop", "itemSpacing", "Large");
221
+ });
222
+
202
223
  it("tests calculated state of two FormGroups in layout='S1 M2 L3 XL4'", () => {
203
224
  cy.mount(<Form headerText="WebC :: Supplier 2gr (S1 M2 L3 XL4)" layout="S1 M2 L3 XL4">
204
225
  <FormGroup id="testFormGroup4" headerText="Address">
@@ -384,13 +384,13 @@ describe("Input general interaction", () => {
384
384
  it("tests selection-change with custom items", () => {
385
385
  cy.mount(
386
386
  <Input id="myInput2" showSuggestions class="input3auto">
387
- <SuggestionItem text="Cozy" />
388
- <SuggestionItem text="Compact" />
389
- <SuggestionItem text="Condensed" />
390
- <SuggestionItem text="Compact" />
391
- <SuggestionItem text="Condensed" />
387
+ <SuggestionItem text="Cozy" />
388
+ <SuggestionItem text="Compact" />
389
+ <SuggestionItem text="Condensed" />
390
+ <SuggestionItem text="Compact" />
391
+ <SuggestionItem text="Condensed" />
392
392
  </Input>
393
- );
393
+ );
394
394
 
395
395
  cy.get("ui5-input")
396
396
  .as("input");
@@ -435,11 +435,11 @@ describe("Input general interaction", () => {
435
435
  it("Should fire 'input' event when the value is cleared with ESC", () => {
436
436
  cy.mount(
437
437
  <Input></Input>
438
- );
438
+ );
439
439
 
440
- cy.get("[ui5-input]").then($input => {
441
- $input[0].addEventListener("ui5-input", cy.spy().as("inputEvent"));
442
- });
440
+ cy.get("[ui5-input]").then($input => {
441
+ $input[0].addEventListener("ui5-input", cy.spy().as("inputEvent"));
442
+ });
443
443
 
444
444
  cy.get("[ui5-input]").realClick();
445
445
  cy.get("[ui5-input]").realPress("a");
@@ -499,13 +499,13 @@ describe("Input arrow navigation", () => {
499
499
  it("Should navigate up and down through the suggestions popover with arrow keys", () => {
500
500
  cy.mount(
501
501
  <Input id="myInput2" showSuggestions class="input3auto">
502
- <SuggestionItem text="Cozy" />
503
- <SuggestionItem text="Compact" />
504
- <SuggestionItem text="Condensed" />
505
- <SuggestionItem text="Compact" />
506
- <SuggestionItem text="Condensed" />
502
+ <SuggestionItem text="Cozy" />
503
+ <SuggestionItem text="Compact" />
504
+ <SuggestionItem text="Condensed" />
505
+ <SuggestionItem text="Compact" />
506
+ <SuggestionItem text="Condensed" />
507
507
  </Input>
508
- );
508
+ );
509
509
 
510
510
  cy.get("#myInput2")
511
511
  .as("input");
@@ -551,7 +551,7 @@ describe("Input PAGEUP/PAGEDOWN navigation", () => {
551
551
  beforeEach(() => {
552
552
  cy.mount(
553
553
  <Input id="myInput" showSuggestions placeholder="Search for a country ...">
554
- <SuggestionItemGroup headerText="A">
554
+ <SuggestionItemGroup headerText="A">
555
555
  <SuggestionItem text="Afghanistan" />
556
556
  <SuggestionItem text="Argentina" />
557
557
  <SuggestionItem text="Albania" />
@@ -564,9 +564,9 @@ describe("Input PAGEUP/PAGEDOWN navigation", () => {
564
564
  <SuggestionItem text="Azerbaijan" />
565
565
  <SuggestionItem text="Aruba" />
566
566
  <SuggestionItem text="Antigua and Barbuda" />
567
- </SuggestionItemGroup>
567
+ </SuggestionItemGroup>
568
568
  </Input>
569
- );
569
+ );
570
570
  });
571
571
  it("Should focus the tenth item from the suggestions popover with PAGEDOWN", () => {
572
572
  cy.get("ui5-input")
@@ -626,11 +626,11 @@ describe("Selection-change event", () => {
626
626
  it("Selection-change event fires with null arguments when suggestion was selected but user alters input value to something else", () => {
627
627
  cy.mount(
628
628
  <Input id="input-selection-change" showSuggestions>
629
- <SuggestionItem text="Cozy" />
630
- <SuggestionItem text="Compact" />
631
- <SuggestionItem text="Condensed" />
629
+ <SuggestionItem text="Cozy" />
630
+ <SuggestionItem text="Compact" />
631
+ <SuggestionItem text="Condensed" />
632
632
  </Input>
633
- );
633
+ );
634
634
 
635
635
  cy.get("ui5-input")
636
636
  .as("input");
@@ -676,6 +676,60 @@ describe("Selection-change event", () => {
676
676
  expect(eventCount).to.equal(2);
677
677
  });
678
678
  });
679
+
680
+ it("Fires selection-change when same item is reselected after input is changed", () => {
681
+ cy.mount(
682
+ <Input id="input-selection-change" showSuggestions>
683
+ <SuggestionItem text="Cozy" />
684
+ <SuggestionItem text="Compact" />
685
+ <SuggestionItem text="Condensed" />
686
+ </Input>
687
+ );
688
+
689
+ cy.get("ui5-input")
690
+ .as("input");
691
+
692
+ cy.get("ui5-input")
693
+ .shadow()
694
+ .find("input")
695
+ .as("innerInput");
696
+
697
+ cy.get("@input").then($input => { $input[0].addEventListener("ui5-selection-change", cy.stub().as("inputSelectionChange")); });
698
+
699
+ cy.get("@innerInput")
700
+ .realClick();
701
+
702
+ cy.get("[ui5-suggestion-item")
703
+ .eq(0)
704
+ .as("suggestion-item");
705
+
706
+ cy.get("@innerInput")
707
+ .type("C");
708
+
709
+ cy.get("@suggestion-item")
710
+ .realClick();
711
+
712
+ cy.get("@inputSelectionChange").should("have.been.calledOnce");
713
+
714
+ cy.get("@innerInput")
715
+ .should("have.value", "Cozy");
716
+
717
+ cy.get("@innerInput")
718
+ .realClick();
719
+ cy.get("@innerInput").type("{selectall}{backspace}");
720
+
721
+ cy.get("@inputSelectionChange").should("have.been.calledTwice");
722
+
723
+ cy.get("@innerInput")
724
+ .type("C");
725
+ cy.get("@suggestion-item")
726
+ .realClick();
727
+
728
+ cy.get("@inputSelectionChange").should("have.been.calledThrice");
729
+
730
+ cy.get("@innerInput")
731
+ .should("have.value", "Cozy");
732
+ });
679
733
  });
680
734
 
681
735
  describe("Change event behavior when selecting the same suggestion item", () => {
@@ -684,15 +738,15 @@ describe("Change event behavior when selecting the same suggestion item", () =>
684
738
  beforeEach(() => {
685
739
  cy.mount(
686
740
  <Input id="myInput" showSuggestions placeholder="Search for a country ...">
687
- <SuggestionItemGroup headerText="A">
741
+ <SuggestionItemGroup headerText="A">
688
742
  <SuggestionItem text="Afghanistan" />
689
743
  <SuggestionItem text="Argentina" />
690
744
  <SuggestionItem text="Albania" />
691
745
  <SuggestionItem text="Armenia" />
692
746
  <SuggestionItem text="Algeria" />
693
- </SuggestionItemGroup>
747
+ </SuggestionItemGroup>
694
748
  </Input>
695
- );
749
+ );
696
750
 
697
751
  cy.get("#myInput")
698
752
  .as("input");
@@ -20,7 +20,7 @@ describe("List Tests", () => {
20
20
 
21
21
  cy.get<List>("@list")
22
22
  .then(list => {
23
- list.get(0).addEventListener("ui5-load-more", cy.stub().as("loadMore"));
23
+ list.get(0)?.addEventListener("ui5-load-more", cy.stub().as("loadMore"));
24
24
  })
25
25
  .shadow()
26
26
  .find(".ui5-list-scroll-container")
@@ -177,3 +177,82 @@ describe("List - Accessibility", () => {
177
177
  });
178
178
  });
179
179
  });
180
+
181
+ describe("List - Wrapping Behavior", () => {
182
+ it("renders list items with wrapping functionality", () => {
183
+ const longText = "This is a very long text that should demonstrate the wrapping functionality of ListItemStandard components; This is a very long text that should demonstrate the wrapping functionality of ListItemStandard components; This is a very long text that should demonstrate the wrapping functionality of ListItemStandard components; This is a very long text that should demonstrate the wrapping functionality of ListItemStandard components; This is a very long text that should demonstrate the wrapping functionality of ListItemStandard components";
184
+ const longDescription = "This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well; This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well; This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well; This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well; This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well; This is an even longer description text to verify that wrapping works correctly for the description part of the list item as well";
185
+
186
+ cy.mount(
187
+ <List>
188
+ <ListItemStandard id="wrapping-item" wrappingType="Normal" text={longText} description={longDescription}></ListItemStandard>
189
+ </List>
190
+ );
191
+
192
+ // Check wrapping attributes are set correctly
193
+ cy.get("#wrapping-item")
194
+ .should("have.attr", "wrapping-type", "Normal");
195
+
196
+ // Check that ExpandableText components are present in the wrapping item
197
+ cy.get("#wrapping-item")
198
+ .shadow()
199
+ .find("ui5-expandable-text")
200
+ .should("exist")
201
+ .and("have.length", 2);
202
+ });
203
+
204
+ it("uses maxCharacters of 300 on desktop viewport for wrapping list items", () => {
205
+ const longText = "This is a very long text that exceeds 100 characters but is less than 300 characters. This sentence is just to add more text to ensure we pass the 100 character threshold. And now we're adding even more text to be extra certain that we have enough content to demonstrate the behavior properly. And now we're adding even more text to be extra certain that we have enough content to demonstrate the behavior properly. And now we're adding even more text to be extra certain that we have enough content to demonstrate the behavior properly.";
206
+
207
+ cy.mount(
208
+ <List>
209
+ <ListItemStandard id="wrapping-item" wrappingType="Normal" text={longText}></ListItemStandard>
210
+ </List>
211
+ );
212
+
213
+ // Check that ExpandableText is created with maxCharacters prop of 300
214
+ cy.get("#wrapping-item")
215
+ .shadow()
216
+ .find("ui5-expandable-text")
217
+ .first()
218
+ .invoke('prop', 'maxCharacters')
219
+ .should('eq', 300);
220
+ });
221
+
222
+ it("should render different nodes based on wrappingType prop", () => {
223
+ const longText = "This is a very long text that should be wrapped when the wrapping prop is enabled, and truncated when it's disabled. This is a very long text that should be wrapped when the wrapping prop is enabled, and truncated when it's disabled. This is a very long text that should be wrapped when the wrapping prop is enabled, and truncated when it's disabled. This is a very long text that should be wrapped when the wrapping prop is enabled, and truncated when it's disabled. This is a very long text that should be wrapped when the wrapping prop is enabled, and truncated when it's disabled. And now we're adding even more text to be extra certain that we have enough content to demonstrate the behavior properly.";
224
+
225
+ // First render with wrapping enabled
226
+ cy.mount(
227
+ <List>
228
+ <ListItemStandard id="wrapping-item" wrappingType="Normal" text={longText}></ListItemStandard>
229
+ </List>
230
+ );
231
+
232
+ // Check that wrapping-type attribute is set to Normal
233
+ cy.get("#wrapping-item")
234
+ .should("have.attr", "wrapping-type", "Normal");
235
+
236
+ // Should have expandable text component when wrapping is enabled
237
+ cy.get("#wrapping-item")
238
+ .shadow()
239
+ .find("ui5-expandable-text")
240
+ .should("exist");
241
+
242
+ // Set wrappingType to None
243
+ cy.get("#wrapping-item")
244
+ .then($el => {
245
+ $el[0].setAttribute("wrapping-type", "None");
246
+ });
247
+
248
+ // Check that wrapping-type attribute is set to None
249
+ cy.get("#wrapping-item")
250
+ .should("have.attr", "wrapping-type", "None");
251
+
252
+ // Should not have expandable text component when wrapping is disabled
253
+ cy.get("#wrapping-item")
254
+ .shadow()
255
+ .find("ui5-expandable-text")
256
+ .should("not.exist");
257
+ });
258
+ });
@@ -0,0 +1,31 @@
1
+ import List from "../../src/List.js";
2
+ import ListItemStandard from "../../src/ListItemStandard.js";
3
+
4
+ describe("List Mobile Tests", () => {
5
+ before(() => {
6
+ cy.ui5SimulateDevice("phone");
7
+ });
8
+
9
+ it("adjusts maxCharacters based on viewport size for wrapping list items", () => {
10
+ const longText = "This is a very long text that exceeds 100 characters but is less than 300 characters. This sentence is just to add more text to ensure we pass the 100 character threshold. And now we're adding even more text to be extra certain.";
11
+
12
+ cy.mount(
13
+ <List>
14
+ <ListItemStandard id="wrapping-item" wrappingType="Normal" text={longText}></ListItemStandard>
15
+ </List>
16
+ );
17
+
18
+ // Get the list item and check its media range
19
+ cy.get("#wrapping-item")
20
+ .invoke('prop', 'mediaRange')
21
+ .should('eq', 'S');
22
+
23
+ // Check that ExpandableText is created with maxCharacters prop of 100
24
+ cy.get("#wrapping-item")
25
+ .shadow()
26
+ .find("ui5-expandable-text")
27
+ .first()
28
+ .invoke('prop', 'maxCharacters')
29
+ .should('eq', 100);
30
+ });
31
+ });
@@ -3,6 +3,40 @@ import Toolbar from "../../src/Toolbar.js";
3
3
  import Popover from "../../src/Popover.js";
4
4
  import Button from "../../src/Button.js";
5
5
 
6
+ describe("Rendering", () => {
7
+ it("tests arrow positioning", () => {
8
+ cy.mount(
9
+ <>
10
+ <div id="icon1" tabindex="0" style="width: 10px; height: 10px; background:red;"></div>
11
+ <Popover id="popup"
12
+ opener="icon1"
13
+ headerText="Newsletter subscription"
14
+ placement="End"
15
+ verticalAlign="Top">
16
+ <Button id="btnClosePopover">Close</Button>
17
+ </Popover>
18
+ </>
19
+ );
20
+
21
+ // act
22
+ cy.get("#popup")
23
+ .invoke("prop", "open", "true");
24
+
25
+ cy.get("#popup")
26
+ .ui5PopoverOpened();
27
+
28
+ cy.get("#popup")
29
+ .shadow()
30
+ .find(".ui5-popover-arrow")
31
+ .should("be.visible");
32
+
33
+ cy.get("#popup")
34
+ .shadow()
35
+ .find(".ui5-popover-arrow")
36
+ .should("have.css", "transform", "matrix(1, 0, 0, 1, 0, -42)");
37
+ });
38
+ });
39
+
6
40
  describe("Popover opener", () => {
7
41
  it("tests 'opener' set as string of abstract element's ID ", () => {
8
42
  cy.mount(
@@ -110,7 +144,7 @@ describe("Popover opener", () => {
110
144
  });
111
145
 
112
146
  cy.get("#popover")
113
- .should("be.visible");
147
+ .ui5PopoverOpened();
114
148
 
115
149
  cy.get("@showOutsideViewport")
116
150
  .should("have.been.calledOnce");
@@ -129,7 +163,7 @@ describe("Popover interaction", () => {
129
163
  </>
130
164
  );
131
165
 
132
- cy.get("#pop").should("be.visible");
166
+ cy.get("#pop").ui5PopoverOpened();
133
167
 
134
168
  // act
135
169
  cy.get("body").realClick();
@@ -148,13 +182,13 @@ describe("Popover interaction", () => {
148
182
  </>
149
183
  );
150
184
 
151
- cy.get("#pop").should("be.visible");
185
+ cy.get("#pop").ui5PopoverOpened();
152
186
 
153
187
  // act
154
188
  cy.get("#opener").realClick();
155
189
 
156
190
  // assert
157
- cy.get("#pop").should("be.visible");
191
+ cy.get("#pop").ui5PopoverOpened();
158
192
  });
159
193
 
160
194
  it("tests clicking on the opener if both the popover and the opener are located in a shadow root", () => {
@@ -197,13 +231,13 @@ describe("Popover interaction", () => {
197
231
  );
198
232
 
199
233
  // assert
200
- cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").should("be.visible");
234
+ cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").ui5PopoverOpened();
201
235
 
202
236
  // act
203
237
  cy.get("#openerShadowRooTest").shadow().find("button").realClick();
204
238
 
205
239
  // assert
206
- cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").should("be.visible");
240
+ cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").ui5PopoverOpened();
207
241
  });
208
242
 
209
243
  it("tests clicking outside the popover when 'mousedown' event propagation is stopped", () => {
@@ -217,7 +251,7 @@ describe("Popover interaction", () => {
217
251
  </>
218
252
  );
219
253
 
220
- cy.get("#pop").should("be.visible");
254
+ cy.get("#pop").ui5PopoverOpened();
221
255
  cy.get("#btn").then(btn => {
222
256
  btn.get(0).addEventListener("mousedown", event => {
223
257
  event.stopPropagation();
@@ -334,7 +368,7 @@ describe("Events", () => {
334
368
  .invoke("prop", "open", true);
335
369
 
336
370
  cy.get("#popoverId")
337
- .should("be.visible");
371
+ .ui5PopoverOpened();
338
372
  });
339
373
 
340
374
  it("before-close", () => {
@@ -356,7 +390,7 @@ describe("Events", () => {
356
390
  .invoke("prop", "open", true);
357
391
 
358
392
  cy.get("#popoverId")
359
- .should("be.visible");
393
+ .ui5PopoverOpened();
360
394
 
361
395
  const preventDefault = (e : Event) => {
362
396
  e.preventDefault();
@@ -370,7 +404,7 @@ describe("Events", () => {
370
404
  .invoke("prop", "open", false);
371
405
 
372
406
  cy.get("#popoverId")
373
- .should("be.visible");
407
+ .ui5PopoverOpened();
374
408
 
375
409
  cy.get("#popoverId").then($popover => {
376
410
  $popover.get(0).removeEventListener("before-close", preventDefault);