@ui5/webcomponents 2.5.0-rc.2 → 2.5.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 (679) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cypress/specs/Button.cy.ts +84 -70
  3. package/cypress/specs/FormSupport.cy.ts +64 -0
  4. package/cypress/specs/Link.cy.ts +16 -0
  5. package/cypress/specs/List.cy.ts +84 -0
  6. package/cypress/specs/Menu.cy.ts +39 -0
  7. package/cypress/specs/RatingIndicator.cy.ts +39 -0
  8. package/cypress/specs/TableVirtualizer.cy.ts +246 -0
  9. package/dist/.tsbuildinfo +1 -1
  10. package/dist/Avatar.d.ts +3 -0
  11. package/dist/Avatar.js +1 -1
  12. package/dist/Avatar.js.map +1 -1
  13. package/dist/AvatarGroup.d.ts +4 -0
  14. package/dist/AvatarGroup.js +2 -13
  15. package/dist/AvatarGroup.js.map +1 -1
  16. package/dist/Bar.d.ts +3 -0
  17. package/dist/Bar.js +3 -0
  18. package/dist/Bar.js.map +1 -1
  19. package/dist/Breadcrumbs.d.ts +7 -4
  20. package/dist/Breadcrumbs.js +1 -23
  21. package/dist/Breadcrumbs.js.map +1 -1
  22. package/dist/Button.d.ts +12 -0
  23. package/dist/Button.js +7 -1
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +7 -2
  26. package/dist/Calendar.js +11 -22
  27. package/dist/Calendar.js.map +1 -1
  28. package/dist/CalendarLegend.d.ts +4 -0
  29. package/dist/CalendarLegend.js +1 -4
  30. package/dist/CalendarLegend.js.map +1 -1
  31. package/dist/CardHeader.d.ts +3 -0
  32. package/dist/CardHeader.js +1 -1
  33. package/dist/CardHeader.js.map +1 -1
  34. package/dist/Carousel.d.ts +3 -0
  35. package/dist/Carousel.js +1 -7
  36. package/dist/Carousel.js.map +1 -1
  37. package/dist/CheckBox.d.ts +4 -0
  38. package/dist/CheckBox.js +1 -1
  39. package/dist/CheckBox.js.map +1 -1
  40. package/dist/ColorPalette.d.ts +3 -0
  41. package/dist/ColorPalette.js +2 -11
  42. package/dist/ColorPalette.js.map +1 -1
  43. package/dist/ColorPalettePopover.d.ts +4 -0
  44. package/dist/ColorPalettePopover.js +1 -9
  45. package/dist/ColorPalettePopover.js.map +1 -1
  46. package/dist/ColorPicker.d.ts +3 -0
  47. package/dist/ColorPicker.js +1 -1
  48. package/dist/ColorPicker.js.map +1 -1
  49. package/dist/ComboBox.d.ts +5 -0
  50. package/dist/ComboBox.js +1 -7
  51. package/dist/ComboBox.js.map +1 -1
  52. package/dist/DatePicker.d.ts +9 -1
  53. package/dist/DatePicker.js +2 -44
  54. package/dist/DatePicker.js.map +1 -1
  55. package/dist/DayPicker.d.ts +4 -0
  56. package/dist/DayPicker.js +1 -1
  57. package/dist/DayPicker.js.map +1 -1
  58. package/dist/Dialog.d.ts +1 -0
  59. package/dist/Dialog.js.map +1 -1
  60. package/dist/FileUploader.d.ts +4 -0
  61. package/dist/FileUploader.js +1 -13
  62. package/dist/FileUploader.js.map +1 -1
  63. package/dist/Icon.d.ts +3 -0
  64. package/dist/Icon.js +1 -1
  65. package/dist/Icon.js.map +1 -1
  66. package/dist/Input.d.ts +10 -0
  67. package/dist/Input.js +2 -28
  68. package/dist/Input.js.map +1 -1
  69. package/dist/Link.d.ts +11 -0
  70. package/dist/Link.js +7 -19
  71. package/dist/Link.js.map +1 -1
  72. package/dist/List.d.ts +13 -0
  73. package/dist/List.js +29 -84
  74. package/dist/List.js.map +1 -1
  75. package/dist/ListItem.d.ts +7 -0
  76. package/dist/ListItem.js +1 -4
  77. package/dist/ListItem.js.map +1 -1
  78. package/dist/ListItemBase.d.ts +9 -2
  79. package/dist/ListItemBase.js +1 -1
  80. package/dist/ListItemBase.js.map +1 -1
  81. package/dist/ListItemGroup.d.ts +4 -0
  82. package/dist/ListItemGroup.js +1 -21
  83. package/dist/ListItemGroup.js.map +1 -1
  84. package/dist/Menu.d.ts +8 -0
  85. package/dist/Menu.js +13 -38
  86. package/dist/Menu.js.map +1 -1
  87. package/dist/MenuItem.d.ts +1 -0
  88. package/dist/MenuItem.js +8 -0
  89. package/dist/MenuItem.js.map +1 -1
  90. package/dist/MessageStrip.d.ts +3 -0
  91. package/dist/MessageStrip.js +1 -1
  92. package/dist/MessageStrip.js.map +1 -1
  93. package/dist/MonthPicker.d.ts +4 -0
  94. package/dist/MonthPicker.js +1 -1
  95. package/dist/MonthPicker.js.map +1 -1
  96. package/dist/MultiComboBox.d.ts +7 -0
  97. package/dist/MultiComboBox.js +1 -9
  98. package/dist/MultiComboBox.js.map +1 -1
  99. package/dist/MultiComboBoxItem.d.ts +4 -0
  100. package/dist/MultiComboBoxItem.js +1 -1
  101. package/dist/MultiComboBoxItem.js.map +1 -1
  102. package/dist/MultiInput.d.ts +4 -0
  103. package/dist/MultiInput.js +1 -7
  104. package/dist/MultiInput.js.map +1 -1
  105. package/dist/Panel.d.ts +3 -0
  106. package/dist/Panel.js +1 -1
  107. package/dist/Panel.js.map +1 -1
  108. package/dist/Popover.js +7 -2
  109. package/dist/Popover.js.map +1 -1
  110. package/dist/Popup.d.ts +7 -0
  111. package/dist/Popup.js +4 -12
  112. package/dist/Popup.js.map +1 -1
  113. package/dist/RadioButton.d.ts +3 -0
  114. package/dist/RadioButton.js +1 -1
  115. package/dist/RadioButton.js.map +1 -1
  116. package/dist/RatingIndicator.d.ts +4 -0
  117. package/dist/RatingIndicator.js +4 -1
  118. package/dist/RatingIndicator.js.map +1 -1
  119. package/dist/ResponsivePopover.d.ts +5 -3
  120. package/dist/ResponsivePopover.js +10 -8
  121. package/dist/ResponsivePopover.js.map +1 -1
  122. package/dist/SegmentedButton.d.ts +3 -0
  123. package/dist/SegmentedButton.js +2 -9
  124. package/dist/SegmentedButton.js.map +1 -1
  125. package/dist/Select.d.ts +8 -0
  126. package/dist/Select.js +1 -13
  127. package/dist/Select.js.map +1 -1
  128. package/dist/SliderBase.d.ts +4 -0
  129. package/dist/SliderBase.js +1 -1
  130. package/dist/SliderBase.js.map +1 -1
  131. package/dist/SplitButton.d.ts +4 -0
  132. package/dist/SplitButton.js +1 -1
  133. package/dist/SplitButton.js.map +1 -1
  134. package/dist/StepInput.d.ts +4 -0
  135. package/dist/StepInput.js +2 -16
  136. package/dist/StepInput.js.map +1 -1
  137. package/dist/Switch.d.ts +4 -0
  138. package/dist/Switch.js +1 -1
  139. package/dist/Switch.js.map +1 -1
  140. package/dist/TabContainer.d.ts +5 -0
  141. package/dist/TabContainer.js +1 -31
  142. package/dist/TabContainer.js.map +1 -1
  143. package/dist/Table.d.ts +12 -1
  144. package/dist/Table.js +20 -11
  145. package/dist/Table.js.map +1 -1
  146. package/dist/TableGrowing.d.ts +4 -1
  147. package/dist/TableGrowing.js +2 -2
  148. package/dist/TableGrowing.js.map +1 -1
  149. package/dist/TableNavigation.js +6 -1
  150. package/dist/TableNavigation.js.map +1 -1
  151. package/dist/TableRow.d.ts +7 -0
  152. package/dist/TableRow.js +13 -0
  153. package/dist/TableRow.js.map +1 -1
  154. package/dist/TableSelection.d.ts +3 -0
  155. package/dist/TableSelection.js +1 -1
  156. package/dist/TableSelection.js.map +1 -1
  157. package/dist/TableUtils.d.ts +2 -1
  158. package/dist/TableUtils.js +10 -1
  159. package/dist/TableUtils.js.map +1 -1
  160. package/dist/TableVirtualizer.d.ts +99 -0
  161. package/dist/TableVirtualizer.js +251 -0
  162. package/dist/TableVirtualizer.js.map +1 -0
  163. package/dist/Tag.d.ts +3 -0
  164. package/dist/Tag.js +1 -1
  165. package/dist/Tag.js.map +1 -1
  166. package/dist/TextArea.d.ts +7 -0
  167. package/dist/TextArea.js +5 -5
  168. package/dist/TextArea.js.map +1 -1
  169. package/dist/TimePicker.d.ts +8 -1
  170. package/dist/TimePicker.js +1 -29
  171. package/dist/TimePicker.js.map +1 -1
  172. package/dist/TimePickerClock.d.ts +3 -0
  173. package/dist/TimePickerClock.js +7 -21
  174. package/dist/TimePickerClock.js.map +1 -1
  175. package/dist/TimePickerInternals.d.ts +3 -0
  176. package/dist/TimePickerInternals.js +1 -5
  177. package/dist/TimePickerInternals.js.map +1 -1
  178. package/dist/TimeSelectionClocks.d.ts +3 -0
  179. package/dist/TimeSelectionClocks.js +1 -1
  180. package/dist/TimeSelectionClocks.js.map +1 -1
  181. package/dist/TimeSelectionInputs.d.ts +3 -0
  182. package/dist/TimeSelectionInputs.js +1 -1
  183. package/dist/TimeSelectionInputs.js.map +1 -1
  184. package/dist/Toast.d.ts +3 -0
  185. package/dist/Toast.js +1 -1
  186. package/dist/Toast.js.map +1 -1
  187. package/dist/Token.d.ts +6 -2
  188. package/dist/Token.js +1 -5
  189. package/dist/Token.js.map +1 -1
  190. package/dist/Tokenizer.d.ts +6 -0
  191. package/dist/Tokenizer.js +1 -10
  192. package/dist/Tokenizer.js.map +1 -1
  193. package/dist/Toolbar.d.ts +3 -0
  194. package/dist/Toolbar.js +2 -7
  195. package/dist/Toolbar.js.map +1 -1
  196. package/dist/ToolbarButton.d.ts +3 -0
  197. package/dist/ToolbarButton.js +5 -2
  198. package/dist/ToolbarButton.js.map +1 -1
  199. package/dist/ToolbarSelect.d.ts +5 -0
  200. package/dist/ToolbarSelect.js +1 -7
  201. package/dist/ToolbarSelect.js.map +1 -1
  202. package/dist/Tree.d.ts +11 -0
  203. package/dist/Tree.js +1 -56
  204. package/dist/Tree.js.map +1 -1
  205. package/dist/TreeItemBase.d.ts +5 -0
  206. package/dist/TreeItemBase.js +1 -10
  207. package/dist/TreeItemBase.js.map +1 -1
  208. package/dist/YearPicker.d.ts +4 -0
  209. package/dist/YearPicker.js +1 -1
  210. package/dist/YearPicker.js.map +1 -1
  211. package/dist/bundle.esm.js +1 -0
  212. package/dist/bundle.esm.js.map +1 -1
  213. package/dist/css/themes/Avatar.css +1 -1
  214. package/dist/css/themes/AvatarGroup.css +1 -1
  215. package/dist/css/themes/Bar.css +1 -1
  216. package/dist/css/themes/Breadcrumbs.css +1 -1
  217. package/dist/css/themes/BusyIndicator.css +1 -1
  218. package/dist/css/themes/Button.css +1 -1
  219. package/dist/css/themes/Calendar.css +1 -1
  220. package/dist/css/themes/CalendarHeader.css +1 -1
  221. package/dist/css/themes/CalendarLegend.css +1 -1
  222. package/dist/css/themes/CalendarLegendItem.css +1 -1
  223. package/dist/css/themes/Card.css +1 -1
  224. package/dist/css/themes/CardHeader.css +1 -1
  225. package/dist/css/themes/Carousel.css +1 -1
  226. package/dist/css/themes/CheckBox.css +1 -1
  227. package/dist/css/themes/ColorPalette.css +1 -1
  228. package/dist/css/themes/ColorPaletteItem.css +1 -1
  229. package/dist/css/themes/ColorPalettePopover.css +1 -1
  230. package/dist/css/themes/ColorPicker.css +1 -1
  231. package/dist/css/themes/ComboBox.css +1 -1
  232. package/dist/css/themes/ComboBoxItem.css +1 -1
  233. package/dist/css/themes/DatePicker.css +1 -1
  234. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  235. package/dist/css/themes/DayPicker.css +1 -1
  236. package/dist/css/themes/Dialog.css +1 -1
  237. package/dist/css/themes/FileUploader.css +1 -1
  238. package/dist/css/themes/Form.css +1 -1
  239. package/dist/css/themes/FormItem.css +1 -1
  240. package/dist/css/themes/FormItemSpan.css +1 -1
  241. package/dist/css/themes/GrowingButton.css +1 -1
  242. package/dist/css/themes/Icon.css +1 -1
  243. package/dist/css/themes/Input.css +1 -1
  244. package/dist/css/themes/InputIcon.css +1 -1
  245. package/dist/css/themes/InputSharedStyles.css +1 -1
  246. package/dist/css/themes/Link.css +1 -1
  247. package/dist/css/themes/List.css +1 -1
  248. package/dist/css/themes/ListItem.css +1 -1
  249. package/dist/css/themes/ListItemBase.css +1 -1
  250. package/dist/css/themes/ListItemCustom.css +1 -1
  251. package/dist/css/themes/ListItemGroup.css +1 -1
  252. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  253. package/dist/css/themes/ListItemIcon.css +1 -1
  254. package/dist/css/themes/Menu.css +1 -1
  255. package/dist/css/themes/MenuItem.css +1 -1
  256. package/dist/css/themes/MessageStrip.css +1 -1
  257. package/dist/css/themes/MonthPicker.css +1 -1
  258. package/dist/css/themes/MultiComboBox.css +1 -1
  259. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  260. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  261. package/dist/css/themes/MultiInput.css +1 -1
  262. package/dist/css/themes/NavigationMenu.css +1 -1
  263. package/dist/css/themes/NavigationMenuItem.css +1 -1
  264. package/dist/css/themes/OptionBase.css +1 -1
  265. package/dist/css/themes/Panel.css +1 -1
  266. package/dist/css/themes/Popover.css +1 -1
  267. package/dist/css/themes/PopupsCommon.css +1 -1
  268. package/dist/css/themes/ProgressIndicator.css +1 -1
  269. package/dist/css/themes/RadioButton.css +1 -1
  270. package/dist/css/themes/RangeSlider.css +1 -1
  271. package/dist/css/themes/RatingIndicator.css +1 -1
  272. package/dist/css/themes/ResponsivePopover.css +1 -1
  273. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  274. package/dist/css/themes/SegmentedButton.css +1 -1
  275. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  276. package/dist/css/themes/Select.css +1 -1
  277. package/dist/css/themes/SliderBase.css +1 -1
  278. package/dist/css/themes/SplitButton.css +1 -1
  279. package/dist/css/themes/StepInput.css +1 -1
  280. package/dist/css/themes/SuggestionItem.css +1 -1
  281. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  282. package/dist/css/themes/Switch.css +1 -1
  283. package/dist/css/themes/TabContainer.css +1 -1
  284. package/dist/css/themes/TabInOverflow.css +1 -1
  285. package/dist/css/themes/TabInStrip.css +1 -1
  286. package/dist/css/themes/TabSemanticIcon.css +1 -1
  287. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  288. package/dist/css/themes/Table.css +1 -1
  289. package/dist/css/themes/TableCellBase.css +1 -1
  290. package/dist/css/themes/TableHeaderRow.css +1 -1
  291. package/dist/css/themes/TableRow.css +1 -1
  292. package/dist/css/themes/TableRowBase.css +1 -1
  293. package/dist/css/themes/Tag.css +1 -1
  294. package/dist/css/themes/Text.css +1 -1
  295. package/dist/css/themes/TextArea.css +1 -1
  296. package/dist/css/themes/TimePicker.css +1 -1
  297. package/dist/css/themes/Toast.css +1 -1
  298. package/dist/css/themes/ToggleButton.css +1 -1
  299. package/dist/css/themes/Token.css +1 -1
  300. package/dist/css/themes/Tokenizer.css +1 -1
  301. package/dist/css/themes/TokenizerPopover.css +1 -1
  302. package/dist/css/themes/Toolbar.css +1 -1
  303. package/dist/css/themes/ToolbarPopover.css +1 -1
  304. package/dist/css/themes/TreeItem.css +1 -1
  305. package/dist/css/themes/ValueStateMessage.css +1 -1
  306. package/dist/css/themes/YearPicker.css +1 -1
  307. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  308. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  309. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  310. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  311. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  312. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  313. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  314. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  315. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  316. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  317. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  318. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  319. package/dist/custom-elements-internal.json +270 -8
  320. package/dist/custom-elements.json +220 -0
  321. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  362. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  363. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  364. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  365. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  366. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  367. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  372. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  373. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  374. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  375. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  376. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  377. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  378. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  379. package/dist/generated/templates/BarTemplate.lit.js +1 -1
  380. package/dist/generated/templates/BarTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  382. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  384. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +1 -1
  386. package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  388. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  390. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  392. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +1 -1
  394. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  395. package/dist/generated/themes/Avatar.css.js +1 -1
  396. package/dist/generated/themes/Avatar.css.js.map +1 -1
  397. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  398. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  399. package/dist/generated/themes/Bar.css.js +1 -1
  400. package/dist/generated/themes/Bar.css.js.map +1 -1
  401. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  402. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  403. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  404. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  405. package/dist/generated/themes/Button.css.js +1 -1
  406. package/dist/generated/themes/Button.css.js.map +1 -1
  407. package/dist/generated/themes/Calendar.css.js +1 -1
  408. package/dist/generated/themes/Calendar.css.js.map +1 -1
  409. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  410. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  411. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  412. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  413. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  414. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  415. package/dist/generated/themes/Card.css.js +1 -1
  416. package/dist/generated/themes/Card.css.js.map +1 -1
  417. package/dist/generated/themes/CardHeader.css.js +1 -1
  418. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  419. package/dist/generated/themes/Carousel.css.js +1 -1
  420. package/dist/generated/themes/Carousel.css.js.map +1 -1
  421. package/dist/generated/themes/CheckBox.css.js +1 -1
  422. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  423. package/dist/generated/themes/ColorPalette.css.js +1 -1
  424. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  425. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  426. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  427. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  428. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  429. package/dist/generated/themes/ColorPicker.css.js +1 -1
  430. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  431. package/dist/generated/themes/ComboBox.css.js +1 -1
  432. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  433. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  434. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  435. package/dist/generated/themes/DatePicker.css.js +1 -1
  436. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  437. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  438. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  439. package/dist/generated/themes/DayPicker.css.js +1 -1
  440. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  441. package/dist/generated/themes/Dialog.css.js +1 -1
  442. package/dist/generated/themes/Dialog.css.js.map +1 -1
  443. package/dist/generated/themes/FileUploader.css.js +1 -1
  444. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  445. package/dist/generated/themes/Form.css.js +1 -1
  446. package/dist/generated/themes/Form.css.js.map +1 -1
  447. package/dist/generated/themes/FormItem.css.js +1 -1
  448. package/dist/generated/themes/FormItem.css.js.map +1 -1
  449. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  450. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  451. package/dist/generated/themes/GrowingButton.css.js +1 -1
  452. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  453. package/dist/generated/themes/Icon.css.js +1 -1
  454. package/dist/generated/themes/Icon.css.js.map +1 -1
  455. package/dist/generated/themes/Input.css.js +1 -1
  456. package/dist/generated/themes/Input.css.js.map +1 -1
  457. package/dist/generated/themes/InputIcon.css.js +1 -1
  458. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  459. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  460. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  461. package/dist/generated/themes/Link.css.js +1 -1
  462. package/dist/generated/themes/Link.css.js.map +1 -1
  463. package/dist/generated/themes/List.css.js +1 -1
  464. package/dist/generated/themes/List.css.js.map +1 -1
  465. package/dist/generated/themes/ListItem.css.js +1 -1
  466. package/dist/generated/themes/ListItem.css.js.map +1 -1
  467. package/dist/generated/themes/ListItemBase.css.js +1 -1
  468. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  469. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  470. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  471. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  472. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  473. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  474. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  475. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  476. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  477. package/dist/generated/themes/Menu.css.js +1 -1
  478. package/dist/generated/themes/Menu.css.js.map +1 -1
  479. package/dist/generated/themes/MenuItem.css.js +1 -1
  480. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  481. package/dist/generated/themes/MessageStrip.css.js +1 -1
  482. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  483. package/dist/generated/themes/MonthPicker.css.js +1 -1
  484. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  485. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  486. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  487. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  488. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  489. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  490. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  491. package/dist/generated/themes/MultiInput.css.js +1 -1
  492. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  493. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  494. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  495. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  496. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  497. package/dist/generated/themes/OptionBase.css.js +1 -1
  498. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  499. package/dist/generated/themes/Panel.css.js +1 -1
  500. package/dist/generated/themes/Panel.css.js.map +1 -1
  501. package/dist/generated/themes/Popover.css.js +1 -1
  502. package/dist/generated/themes/Popover.css.js.map +1 -1
  503. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  504. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  505. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  506. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  507. package/dist/generated/themes/RadioButton.css.js +1 -1
  508. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  509. package/dist/generated/themes/RangeSlider.css.js +1 -1
  510. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  511. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  512. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  513. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  514. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  515. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  516. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  517. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  518. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  519. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  520. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  521. package/dist/generated/themes/Select.css.js +1 -1
  522. package/dist/generated/themes/Select.css.js.map +1 -1
  523. package/dist/generated/themes/SliderBase.css.js +1 -1
  524. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  525. package/dist/generated/themes/SplitButton.css.js +1 -1
  526. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  527. package/dist/generated/themes/StepInput.css.js +1 -1
  528. package/dist/generated/themes/StepInput.css.js.map +1 -1
  529. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  530. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  531. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  532. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  533. package/dist/generated/themes/Switch.css.js +1 -1
  534. package/dist/generated/themes/Switch.css.js.map +1 -1
  535. package/dist/generated/themes/TabContainer.css.js +1 -1
  536. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  537. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  538. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  539. package/dist/generated/themes/TabInStrip.css.js +1 -1
  540. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  541. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  542. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  543. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  544. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  545. package/dist/generated/themes/Table.css.js +1 -1
  546. package/dist/generated/themes/Table.css.js.map +1 -1
  547. package/dist/generated/themes/TableCellBase.css.js +1 -1
  548. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  549. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  550. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  551. package/dist/generated/themes/TableRow.css.js +1 -1
  552. package/dist/generated/themes/TableRow.css.js.map +1 -1
  553. package/dist/generated/themes/TableRowBase.css.js +1 -1
  554. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  555. package/dist/generated/themes/Tag.css.js +1 -1
  556. package/dist/generated/themes/Tag.css.js.map +1 -1
  557. package/dist/generated/themes/Text.css.js +1 -1
  558. package/dist/generated/themes/Text.css.js.map +1 -1
  559. package/dist/generated/themes/TextArea.css.js +1 -1
  560. package/dist/generated/themes/TextArea.css.js.map +1 -1
  561. package/dist/generated/themes/TimePicker.css.js +1 -1
  562. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  563. package/dist/generated/themes/Toast.css.js +1 -1
  564. package/dist/generated/themes/Toast.css.js.map +1 -1
  565. package/dist/generated/themes/ToggleButton.css.js +1 -1
  566. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  567. package/dist/generated/themes/Token.css.js +1 -1
  568. package/dist/generated/themes/Token.css.js.map +1 -1
  569. package/dist/generated/themes/Tokenizer.css.js +1 -1
  570. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  571. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  572. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  573. package/dist/generated/themes/Toolbar.css.js +1 -1
  574. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  575. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  576. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  577. package/dist/generated/themes/TreeItem.css.js +1 -1
  578. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  579. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  580. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  581. package/dist/generated/themes/YearPicker.css.js +1 -1
  582. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  583. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  584. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  585. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  586. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  587. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  588. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  589. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  590. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  591. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  592. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  593. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  594. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  595. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  596. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  597. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  598. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  599. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  600. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  601. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  602. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  603. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  604. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  605. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  606. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  607. package/dist/vscode.html-custom-data.json +43 -1
  608. package/dist/web-types.json +107 -2
  609. package/package.json +9 -9
  610. package/src/Bar.hbs +3 -3
  611. package/src/Button.hbs +1 -0
  612. package/src/Link.hbs +1 -0
  613. package/src/RatingIndicator.hbs +1 -1
  614. package/src/ResponsivePopover.hbs +2 -2
  615. package/src/Table.hbs +6 -1
  616. package/src/i18n/messagebundle_ar.properties +2 -0
  617. package/src/i18n/messagebundle_bg.properties +2 -0
  618. package/src/i18n/messagebundle_ca.properties +2 -0
  619. package/src/i18n/messagebundle_cnr.properties +2 -0
  620. package/src/i18n/messagebundle_cs.properties +2 -0
  621. package/src/i18n/messagebundle_cy.properties +2 -0
  622. package/src/i18n/messagebundle_da.properties +2 -0
  623. package/src/i18n/messagebundle_de.properties +2 -0
  624. package/src/i18n/messagebundle_el.properties +2 -0
  625. package/src/i18n/messagebundle_en_GB.properties +2 -0
  626. package/src/i18n/messagebundle_es.properties +2 -0
  627. package/src/i18n/messagebundle_es_MX.properties +2 -0
  628. package/src/i18n/messagebundle_et.properties +2 -0
  629. package/src/i18n/messagebundle_fi.properties +2 -0
  630. package/src/i18n/messagebundle_fr.properties +2 -0
  631. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  632. package/src/i18n/messagebundle_hi.properties +2 -0
  633. package/src/i18n/messagebundle_hr.properties +2 -0
  634. package/src/i18n/messagebundle_hu.properties +2 -0
  635. package/src/i18n/messagebundle_id.properties +2 -0
  636. package/src/i18n/messagebundle_it.properties +2 -0
  637. package/src/i18n/messagebundle_iw.properties +2 -0
  638. package/src/i18n/messagebundle_ja.properties +2 -0
  639. package/src/i18n/messagebundle_kk.properties +2 -0
  640. package/src/i18n/messagebundle_ko.properties +2 -0
  641. package/src/i18n/messagebundle_lt.properties +2 -0
  642. package/src/i18n/messagebundle_lv.properties +2 -0
  643. package/src/i18n/messagebundle_mk.properties +2 -0
  644. package/src/i18n/messagebundle_ms.properties +2 -0
  645. package/src/i18n/messagebundle_nl.properties +2 -0
  646. package/src/i18n/messagebundle_no.properties +2 -0
  647. package/src/i18n/messagebundle_pl.properties +2 -0
  648. package/src/i18n/messagebundle_pt.properties +2 -0
  649. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  650. package/src/i18n/messagebundle_ro.properties +2 -0
  651. package/src/i18n/messagebundle_ru.properties +2 -0
  652. package/src/i18n/messagebundle_sh.properties +2 -0
  653. package/src/i18n/messagebundle_sk.properties +2 -0
  654. package/src/i18n/messagebundle_sl.properties +2 -0
  655. package/src/i18n/messagebundle_sr.properties +2 -0
  656. package/src/i18n/messagebundle_sv.properties +2 -0
  657. package/src/i18n/messagebundle_th.properties +2 -0
  658. package/src/i18n/messagebundle_tr.properties +2 -0
  659. package/src/i18n/messagebundle_uk.properties +2 -0
  660. package/src/i18n/messagebundle_vi.properties +2 -0
  661. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  662. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  663. package/src/themes/ListItem.css +4 -0
  664. package/src/themes/ListItemBase.css +8 -0
  665. package/src/themes/RatingIndicator.css +1 -0
  666. package/src/themes/Table.css +15 -2
  667. package/src/themes/TableCellBase.css +1 -1
  668. package/src/themes/TableRow.css +5 -0
  669. package/src/themes/Tag.css +10 -0
  670. package/src/themes/base/RatingIndicator-parameters.css +3 -2
  671. package/src/themes/base/Tag-parameters.css +6 -0
  672. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +2 -0
  673. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +2 -0
  674. package/src/themes/sap_horizon/RatingIndicator-parameters.css +0 -2
  675. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +0 -2
  676. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +0 -1
  677. package/src/themes/sap_horizon_hcb/Tag-parameters.css +2 -0
  678. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +0 -1
  679. package/src/themes/sap_horizon_hcw/Tag-parameters.css +2 -0
@@ -0,0 +1,246 @@
1
+ import { html } from "lit";
2
+ import "../../src/Table.js";
3
+ import "../../src/TableHeaderRow.js";
4
+ import "../../src/TableHeaderCell.js";
5
+ import "../../src/TableRow.js";
6
+ import "../../src/TableCell.js";
7
+ import "../../src/TableVirtualizer.js";
8
+
9
+ import type Table from "../../src/Table.js";
10
+ import type TableVirtualizer from "../../src/TableVirtualizer.js";
11
+ import type { RangeChangeEventDetail } from "../../src/TableVirtualizer.js";
12
+
13
+ describe("TableVirtualizer", () => {
14
+ function mountTable(rowHeight = 50, rowCount = 100, tableHeight = 250) {
15
+ cy.mount(html`
16
+ <ui5-table style="height: ${tableHeight}px">
17
+ <ui5-table-header-row slot="headerRow" hidden>
18
+ <ui5-table-header-cell>Column</ui5-table-header-cell>
19
+ </ui5-table-header-row>
20
+ <ui5-table-virtualizer slot="features" row-height="${rowHeight}" row-count="${rowCount}"></ui5-table-virtualizer>
21
+ </ui5-table>
22
+ `);
23
+
24
+ cy.get<TableVirtualizer>("[ui5-table-virtualizer]").as("virtualizer").then($virtualizer => {
25
+ $virtualizer[0].addEventListener("range-change", updateRows as EventListener);
26
+ $virtualizer[0].reset();
27
+ });
28
+
29
+ cy.get("[ui5-table]").shadow().find("#table").as("innerTable");
30
+ cy.get("[ui5-table]").children("ui5-table-row").as("rows");
31
+ cy.get("@rows").first().as("firstRow");
32
+ cy.get("@rows").last().as("lastRow");
33
+ }
34
+
35
+ function updateRows(e: CustomEvent<RangeChangeEventDetail>) {
36
+ const table = document.querySelector("ui5-table") as Table;
37
+ for (let i = e.detail.first; i < e.detail.last; i++) {
38
+ const row = table.rows[i - e.detail.first];
39
+ if (row) {
40
+ row.position = i;
41
+ row.cells[0].textContent = `${i}`;
42
+ } else {
43
+ const newRow = `<ui5-table-row position="${i}"><ui5-table-cell>${i}</ui5-table-cell></ui5-table-row>`;
44
+ table.insertAdjacentHTML("beforeend", newRow);
45
+ }
46
+ }
47
+ for (let i = e.detail.last; i < table.rows.length; i++) {
48
+ table.rows[i].remove();
49
+ }
50
+ }
51
+
52
+ function testRows(start: number, end: number) {
53
+ for (let i = start; i < end; i++) {
54
+ cy.get("[ui5-table-row]")
55
+ .eq(i - start)
56
+ .should("have.attr", "position", `${i}`)
57
+ .should("have.attr", "aria-rowindex", `${i + 1}`)
58
+ .find("ui5-table-cell")
59
+ .should("have.text", `${i}`);
60
+ }
61
+
62
+ cy.get("[ui5-table]")
63
+ .shadow()
64
+ .find("#spacer")
65
+ .then($spacer => {
66
+ const transform = getComputedStyle($spacer[0]).transform;
67
+ return new DOMMatrix(transform);
68
+ })
69
+ .its("f")
70
+ .should("equal", start * 50);
71
+ }
72
+
73
+ describe("Rendering", () => {
74
+ it("should render initially 5 rows", () => {
75
+ mountTable();
76
+
77
+ cy.get("@innerTable")
78
+ .should("have.attr", "aria-rowcount", "100")
79
+ .should("have.css", "overflow-y", "auto")
80
+ .then($innerTable => window.getComputedStyle($innerTable[0]))
81
+ .invoke("getPropertyValue", "--row-height")
82
+ .and("equal", "50px");
83
+
84
+ cy.get("@innerTable")
85
+ .children("#rows")
86
+ .should("have.css", "height", "5000px");
87
+
88
+ cy.get("@innerTable")
89
+ .find("#spacer")
90
+ .should("have.css", "will-change", "transform");
91
+
92
+ testRows(0, 5);
93
+ });
94
+
95
+ it("should react to rowHeight changes", () => {
96
+ mountTable();
97
+
98
+ cy.get("@virtualizer").invoke("attr", "row-height", "60");
99
+
100
+ cy.get("@innerTable")
101
+ .then($innerTable => window.getComputedStyle($innerTable[0]))
102
+ .invoke("getPropertyValue", "--row-height")
103
+ .and("equal", "60px");
104
+
105
+ cy.get("@innerTable")
106
+ .children("#rows")
107
+ .should("have.css", "height", "6000px");
108
+ });
109
+
110
+ it("should react to rowCount changes", () => {
111
+ mountTable();
112
+
113
+ cy.get("@virtualizer").invoke("attr", "row-count", "200");
114
+
115
+ cy.get("@innerTable")
116
+ .should("have.attr", "aria-rowcount", "200")
117
+ .children("#rows")
118
+ .should("have.css", "height", "10000px");
119
+ });
120
+
121
+ it("should update rows on scroll", () => {
122
+ mountTable();
123
+
124
+ cy.get("@innerTable").scrollTo(0, 250);
125
+ testRows(5, 10);
126
+
127
+ cy.get("@innerTable").scrollTo("bottom");
128
+ testRows(95, 100);
129
+
130
+ cy.get("@innerTable").scrollTo(0, 4000);
131
+ testRows(80, 85);
132
+
133
+ cy.get("@innerTable").scrollTo("top");
134
+ testRows(0, 5);
135
+ });
136
+
137
+ it("should update rows via keyboard while focus is on the row", () => {
138
+ mountTable();
139
+
140
+ cy.get("@firstRow").realClick();
141
+ cy.get("@firstRow").should("have.focus");
142
+
143
+ cy.realPress("PageDown");
144
+ cy.get("@lastRow").should("have.focus");
145
+
146
+ cy.realPress("PageDown");
147
+ testRows(5, 10);
148
+
149
+ cy.realPress("ArrowDown");
150
+ testRows(6, 11);
151
+
152
+ cy.realPress("PageUp");
153
+ cy.get("@firstRow").should("have.focus");
154
+
155
+ cy.realPress("PageUp");
156
+ testRows(1, 6);
157
+
158
+ cy.realPress("ArrowUp");
159
+ testRows(0, 5);
160
+
161
+ cy.realPress("End");
162
+ cy.get("@lastRow").should("have.focus");
163
+
164
+ cy.realPress("End");
165
+ testRows(95, 100);
166
+
167
+ cy.realPress("Home");
168
+ cy.get("@firstRow").should("have.focus");
169
+
170
+ cy.realPress("Home");
171
+ testRows(0, 5);
172
+ });
173
+
174
+ it("should update rows via keyboard while focus is on the cell", () => {
175
+ mountTable();
176
+
177
+ cy.get("@firstRow").find("ui5-table-cell").first().as("firstRowFirstCell");
178
+ cy.get("@lastRow").find("ui5-table-cell").first().as("lastRowFirstCell");
179
+
180
+ cy.get("@firstRow").realClick().realPress("ArrowRight");
181
+ cy.get("@firstRowFirstCell").should("have.focus");
182
+
183
+ cy.realPress("PageDown");
184
+ cy.get("@lastRowFirstCell").should("have.focus");
185
+
186
+ cy.realPress("PageDown");
187
+ testRows(5, 10);
188
+
189
+ cy.realPress("ArrowDown");
190
+ testRows(6, 11);
191
+
192
+ cy.realPress("PageUp");
193
+ cy.get("@firstRowFirstCell").should("have.focus");
194
+
195
+ cy.realPress("PageUp");
196
+ testRows(1, 6);
197
+
198
+ cy.realPress("ArrowUp");
199
+ testRows(0, 5);
200
+
201
+ cy.realPress("End");
202
+ cy.get("@firstRow").should("have.focus");
203
+
204
+ cy.realPress("End");
205
+ cy.get("@lastRow").should("have.focus");
206
+
207
+ cy.realPress("End");
208
+ testRows(95, 100);
209
+
210
+ cy.get("@lastRow").realPress("ArrowRight");
211
+ cy.get("@lastRowFirstCell").should("have.focus");
212
+
213
+ cy.realPress("Home");
214
+ cy.get("@lastRow").should("have.focus");
215
+
216
+ cy.realPress("Home");
217
+ cy.get("@firstRow").should("have.focus");
218
+
219
+ cy.realPress("Home");
220
+ testRows(0, 5);
221
+ });
222
+
223
+ it("should have the reset() API", () => {
224
+ mountTable();
225
+
226
+ cy.get("@virtualizer").then($virtualizer => {
227
+ $virtualizer[0].addEventListener("range-change", cy.stub().as("rangeChange"));
228
+ });
229
+
230
+ cy.get("@innerTable").scrollTo("bottom");
231
+ cy.get("@rangeChange").should("have.been.calledOnce");
232
+ testRows(95, 100);
233
+
234
+ cy.get("@virtualizer").invoke("get", 0).invoke("reset");
235
+ cy.get("@rangeChange").should("have.been.calledTwice");
236
+ testRows(0, 5);
237
+
238
+ cy.get("@virtualizer").invoke("get", 0).invoke("reset");
239
+ cy.get("@rangeChange").should("have.been.calledThrice");
240
+
241
+ cy.get("@virtualizer").invoke("attr", "row-count", "2");
242
+ cy.get("@virtualizer").invoke("get", 0).invoke("reset");
243
+ testRows(0, 2);
244
+ });
245
+ });
246
+ });