@ui5/webcomponents 2.7.0-rc.1 → 2.7.0

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 (781) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +21 -16
  3. package/cypress/specs/{Button.cy.ts → Button.cy.tsx} +60 -33
  4. package/cypress/specs/CalendarLegend.cy.tsx +77 -0
  5. package/cypress/specs/{Card.cy.ts → Card.cy.tsx} +28 -28
  6. package/cypress/specs/ColorPalette.cy.tsx +213 -0
  7. package/cypress/specs/{ColorPicker.cy.ts → ColorPicker.cy.tsx} +7 -9
  8. package/cypress/specs/{ComboBox.cy.ts → ComboBox.cy.tsx} +9 -10
  9. package/cypress/specs/Dialog.cy.tsx +44 -0
  10. package/cypress/specs/{ExpandableText.cy.ts → ExpandableText.cy.tsx} +27 -23
  11. package/cypress/specs/F6.cy.tsx +906 -0
  12. package/cypress/specs/{Form.cy.ts → Form.cy.tsx} +326 -324
  13. package/cypress/specs/{FormSupport.cy.ts → FormSupport.cy.tsx} +270 -285
  14. package/cypress/specs/{Input.cy.ts → Input.cy.tsx} +38 -41
  15. package/cypress/specs/{Label.cy.ts → Label.cy.tsx} +62 -46
  16. package/cypress/specs/{Link.cy.ts → Link.cy.tsx} +2 -3
  17. package/cypress/specs/{List.cy.ts → List.cy.tsx} +34 -36
  18. package/cypress/specs/{LitKeyFunction.cy.ts → LitKeyFunction.cy.tsx} +10 -9
  19. package/cypress/specs/{Menu.cy.ts → Menu.cy.tsx} +208 -92
  20. package/cypress/specs/MessageStrip.cy.tsx +164 -0
  21. package/cypress/specs/MultiComboBox.cy.tsx +58 -0
  22. package/cypress/specs/{MultiInput.cy.ts → MultiInput.cy.tsx} +15 -15
  23. package/cypress/specs/{Popover.cy.ts → Popover.cy.tsx} +28 -25
  24. package/cypress/specs/RTL.cy.tsx +18 -0
  25. package/cypress/specs/{RatingIndicator.cy.ts → RatingIndicator.cy.tsx} +48 -11
  26. package/cypress/specs/{ResponsivePopover.mobile.cy.ts → ResponsivePopover.mobile.cy.tsx} +35 -16
  27. package/cypress/specs/Select.cy.tsx +56 -0
  28. package/cypress/specs/{StepInput.cy.ts → StepInput.cy.tsx} +4 -6
  29. package/cypress/specs/Table.cy.tsx +665 -0
  30. package/cypress/specs/{TableDragAndDrop.cy.ts → TableDragAndDrop.cy.tsx} +27 -24
  31. package/cypress/specs/{TableGrowing.cy.ts → TableGrowing.cy.tsx} +83 -75
  32. package/cypress/specs/TableLoading.cy.tsx +48 -0
  33. package/cypress/specs/{TableRowActions.cy.ts → TableRowActions.cy.tsx} +67 -61
  34. package/cypress/specs/{TableVirtualizer.cy.ts → TableVirtualizer.cy.tsx} +12 -15
  35. package/cypress/specs/{Tag.cy.ts → Tag.cy.tsx} +53 -31
  36. package/cypress/specs/{Text.cy.ts → Text.cy.tsx} +6 -7
  37. package/cypress/specs/{TextArea.cy.ts → TextArea.cy.tsx} +62 -49
  38. package/cypress/specs/Title.cy.tsx +36 -0
  39. package/cypress/specs/{Toast.cy.ts → Toast.cy.tsx} +17 -16
  40. package/cypress/specs/Tokenizer.cy.tsx +173 -0
  41. package/cypress/specs/{Toolbar.cy.ts → Toolbar.cy.tsx} +61 -63
  42. package/cypress/specs/{Tree.cy.ts → Tree.cy.tsx} +13 -12
  43. package/cypress/specs/base/{AccessibilityTextsHelper.cy.ts → AccessibilityTextsHelper.cy.tsx} +52 -41
  44. package/cypress/specs/base/{Events.cy.ts → Events.cy.tsx} +58 -57
  45. package/cypress/specs/base/{IconCollection.cy.ts → IconCollection.cy.tsx} +4 -4
  46. package/cypress/specs/base/{IgnoreCustomElements.cy.ts → IgnoreCustomElements.cy.tsx} +15 -12
  47. package/cypress/specs/base/Tooltips.cy.tsx +62 -0
  48. package/cypress/support/commands/ColorPalette.commands.ts +23 -5
  49. package/cypress/support/commands/Menu.commands.ts +7 -7
  50. package/cypress/support/commands.ts +1 -0
  51. package/cypress/tsconfig.json +2 -0
  52. package/dist/.tsbuildinfo +1 -1
  53. package/dist/AvatarGroup.d.ts +1 -1
  54. package/dist/Button.d.ts +11 -0
  55. package/dist/Button.js +19 -0
  56. package/dist/Button.js.map +1 -1
  57. package/dist/ButtonBadge.d.ts +32 -0
  58. package/dist/ButtonBadge.js +62 -0
  59. package/dist/ButtonBadge.js.map +1 -0
  60. package/dist/ButtonBadgeTemplate.d.ts +2 -0
  61. package/dist/ButtonBadgeTemplate.js +6 -0
  62. package/dist/ButtonBadgeTemplate.js.map +1 -0
  63. package/dist/ButtonTemplate.js +8 -2
  64. package/dist/ButtonTemplate.js.map +1 -1
  65. package/dist/Calendar.d.ts +1 -0
  66. package/dist/Calendar.js +8 -3
  67. package/dist/Calendar.js.map +1 -1
  68. package/dist/ColorPalettePopover.d.ts +0 -1
  69. package/dist/ColorPalettePopover.js +0 -1
  70. package/dist/ColorPalettePopover.js.map +1 -1
  71. package/dist/DayPicker.d.ts +2 -0
  72. package/dist/DayPicker.js +12 -3
  73. package/dist/DayPicker.js.map +1 -1
  74. package/dist/DayPickerTemplate.js +1 -1
  75. package/dist/DayPickerTemplate.js.map +1 -1
  76. package/dist/Dialog.js +1 -0
  77. package/dist/Dialog.js.map +1 -1
  78. package/dist/FileUploader.js +1 -1
  79. package/dist/FileUploader.js.map +1 -1
  80. package/dist/Input.d.ts +0 -14
  81. package/dist/Input.js +0 -9
  82. package/dist/Input.js.map +1 -1
  83. package/dist/List.js +4 -0
  84. package/dist/List.js.map +1 -1
  85. package/dist/Menu.d.ts +5 -0
  86. package/dist/Menu.js +35 -14
  87. package/dist/Menu.js.map +1 -1
  88. package/dist/MenuItem.d.ts +10 -5
  89. package/dist/MenuItem.js +25 -1
  90. package/dist/MenuItem.js.map +1 -1
  91. package/dist/MenuItemTemplate.js +1 -1
  92. package/dist/MenuItemTemplate.js.map +1 -1
  93. package/dist/MessageStrip.js +1 -3
  94. package/dist/MessageStrip.js.map +1 -1
  95. package/dist/MultiComboBox.js +4 -4
  96. package/dist/MultiComboBox.js.map +1 -1
  97. package/dist/Popover.d.ts +4 -0
  98. package/dist/Popover.js +6 -0
  99. package/dist/Popover.js.map +1 -1
  100. package/dist/RatingIndicator.js +4 -1
  101. package/dist/RatingIndicator.js.map +1 -1
  102. package/dist/Select.d.ts +1 -0
  103. package/dist/Select.js +3 -0
  104. package/dist/Select.js.map +1 -1
  105. package/dist/SelectPopoverTemplate.js +3 -3
  106. package/dist/SelectPopoverTemplate.js.map +1 -1
  107. package/dist/SpecialCalendarDate.d.ts +6 -0
  108. package/dist/SpecialCalendarDate.js +9 -0
  109. package/dist/SpecialCalendarDate.js.map +1 -1
  110. package/dist/SplitButton.d.ts +3 -0
  111. package/dist/SplitButton.js +3 -0
  112. package/dist/SplitButton.js.map +1 -1
  113. package/dist/Tab.d.ts +1 -1
  114. package/dist/Table.js +1 -1
  115. package/dist/Table.js.map +1 -1
  116. package/dist/TableGrowing.d.ts +6 -1
  117. package/dist/TableGrowing.js +6 -1
  118. package/dist/TableGrowing.js.map +1 -1
  119. package/dist/TableVirtualizer.js +4 -2
  120. package/dist/TableVirtualizer.js.map +1 -1
  121. package/dist/Tag.d.ts +2 -1
  122. package/dist/Tag.js +1 -0
  123. package/dist/Tag.js.map +1 -1
  124. package/dist/TagTemplate.js +2 -2
  125. package/dist/TagTemplate.js.map +1 -1
  126. package/dist/TimePicker.d.ts +6 -3
  127. package/dist/TimePicker.js +17 -6
  128. package/dist/TimePicker.js.map +1 -1
  129. package/dist/TimePickerClock.d.ts +22 -52
  130. package/dist/TimePickerClock.js +71 -224
  131. package/dist/TimePickerClock.js.map +1 -1
  132. package/dist/TimePickerClockTemplate.js +9 -6
  133. package/dist/TimePickerClockTemplate.js.map +1 -1
  134. package/dist/TimePickerInternals.d.ts +2 -1
  135. package/dist/TimePickerInternals.js.map +1 -1
  136. package/dist/TimePickerPopoverTemplate.js +1 -1
  137. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  138. package/dist/TimeSelectionClocks.d.ts +15 -3
  139. package/dist/TimeSelectionClocks.js +64 -28
  140. package/dist/TimeSelectionClocks.js.map +1 -1
  141. package/dist/TimeSelectionClocksTemplate.js +1 -1
  142. package/dist/TimeSelectionClocksTemplate.js.map +1 -1
  143. package/dist/Tokenizer.js +1 -1
  144. package/dist/Tokenizer.js.map +1 -1
  145. package/dist/YearPicker.js +2 -2
  146. package/dist/YearPicker.js.map +1 -1
  147. package/dist/bundle.esm.js +1 -2
  148. package/dist/bundle.esm.js.map +1 -1
  149. package/dist/css/themes/Avatar.css +1 -1
  150. package/dist/css/themes/AvatarGroup.css +1 -1
  151. package/dist/css/themes/Bar.css +1 -1
  152. package/dist/css/themes/Breadcrumbs.css +1 -1
  153. package/dist/css/themes/BusyIndicator.css +1 -1
  154. package/dist/css/themes/Button.css +1 -1
  155. package/dist/css/themes/ButtonBadge.css +1 -0
  156. package/dist/css/themes/Calendar.css +1 -1
  157. package/dist/css/themes/CalendarHeader.css +1 -1
  158. package/dist/css/themes/CalendarLegend.css +1 -1
  159. package/dist/css/themes/CalendarLegendItem.css +1 -1
  160. package/dist/css/themes/Card.css +1 -1
  161. package/dist/css/themes/CardHeader.css +1 -1
  162. package/dist/css/themes/Carousel.css +1 -1
  163. package/dist/css/themes/CheckBox.css +1 -1
  164. package/dist/css/themes/ColorPalette.css +1 -1
  165. package/dist/css/themes/ColorPaletteItem.css +1 -1
  166. package/dist/css/themes/ColorPalettePopover.css +1 -1
  167. package/dist/css/themes/ColorPicker.css +1 -1
  168. package/dist/css/themes/ComboBox.css +1 -1
  169. package/dist/css/themes/ComboBoxItem.css +1 -1
  170. package/dist/css/themes/DatePicker.css +1 -1
  171. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  172. package/dist/css/themes/DayPicker.css +1 -1
  173. package/dist/css/themes/Dialog.css +1 -1
  174. package/dist/css/themes/FileUploader.css +1 -1
  175. package/dist/css/themes/Form.css +1 -1
  176. package/dist/css/themes/FormItem.css +1 -1
  177. package/dist/css/themes/FormItemSpan.css +1 -1
  178. package/dist/css/themes/GrowingButton.css +1 -1
  179. package/dist/css/themes/Icon.css +1 -1
  180. package/dist/css/themes/Input.css +1 -1
  181. package/dist/css/themes/InputIcon.css +1 -1
  182. package/dist/css/themes/InputSharedStyles.css +1 -1
  183. package/dist/css/themes/Link.css +1 -1
  184. package/dist/css/themes/List.css +1 -1
  185. package/dist/css/themes/ListItem.css +1 -1
  186. package/dist/css/themes/ListItemBase.css +1 -1
  187. package/dist/css/themes/ListItemCustom.css +1 -1
  188. package/dist/css/themes/ListItemGroup.css +1 -1
  189. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  190. package/dist/css/themes/ListItemIcon.css +1 -1
  191. package/dist/css/themes/Menu.css +1 -1
  192. package/dist/css/themes/MenuItem.css +1 -1
  193. package/dist/css/themes/MessageStrip.css +1 -1
  194. package/dist/css/themes/MonthPicker.css +1 -1
  195. package/dist/css/themes/MultiComboBox.css +1 -1
  196. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  197. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  198. package/dist/css/themes/MultiInput.css +1 -1
  199. package/dist/css/themes/OptionBase.css +1 -1
  200. package/dist/css/themes/Panel.css +1 -1
  201. package/dist/css/themes/Popover.css +1 -1
  202. package/dist/css/themes/PopupsCommon.css +1 -1
  203. package/dist/css/themes/ProgressIndicator.css +1 -1
  204. package/dist/css/themes/RadioButton.css +1 -1
  205. package/dist/css/themes/RangeSlider.css +1 -1
  206. package/dist/css/themes/RatingIndicator.css +1 -1
  207. package/dist/css/themes/ResponsivePopover.css +1 -1
  208. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  209. package/dist/css/themes/SegmentedButton.css +1 -1
  210. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  211. package/dist/css/themes/Select.css +1 -1
  212. package/dist/css/themes/SliderBase.css +1 -1
  213. package/dist/css/themes/SplitButton.css +1 -1
  214. package/dist/css/themes/StepInput.css +1 -1
  215. package/dist/css/themes/SuggestionItem.css +1 -1
  216. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  217. package/dist/css/themes/Switch.css +1 -1
  218. package/dist/css/themes/TabContainer.css +1 -1
  219. package/dist/css/themes/TabInOverflow.css +1 -1
  220. package/dist/css/themes/TabInStrip.css +1 -1
  221. package/dist/css/themes/TabSemanticIcon.css +1 -1
  222. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  223. package/dist/css/themes/Table.css +1 -1
  224. package/dist/css/themes/TableCellBase.css +1 -1
  225. package/dist/css/themes/TableHeaderRow.css +1 -1
  226. package/dist/css/themes/TableRow.css +1 -1
  227. package/dist/css/themes/TableRowActionBase.css +1 -1
  228. package/dist/css/themes/TableRowBase.css +1 -1
  229. package/dist/css/themes/Tag.css +1 -1
  230. package/dist/css/themes/Text.css +1 -1
  231. package/dist/css/themes/TextArea.css +1 -1
  232. package/dist/css/themes/TimePicker.css +1 -1
  233. package/dist/css/themes/TimePickerClock.css +1 -1
  234. package/dist/css/themes/Toast.css +1 -1
  235. package/dist/css/themes/ToggleButton.css +1 -1
  236. package/dist/css/themes/Token.css +1 -1
  237. package/dist/css/themes/Tokenizer.css +1 -1
  238. package/dist/css/themes/TokenizerPopover.css +1 -1
  239. package/dist/css/themes/Toolbar.css +1 -1
  240. package/dist/css/themes/ToolbarPopover.css +1 -1
  241. package/dist/css/themes/TreeItem.css +1 -1
  242. package/dist/css/themes/ValueStateMessage.css +1 -1
  243. package/dist/css/themes/YearPicker.css +1 -1
  244. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  245. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  246. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  247. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  248. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  249. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  250. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  251. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  252. package/dist/custom-elements-internal.json +200 -45
  253. package/dist/custom-elements.json +145 -43
  254. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  258. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  268. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  269. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  304. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  305. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  306. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  307. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  308. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  309. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  310. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  311. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  312. package/dist/generated/i18n/i18n-defaults.d.ts +1 -2
  313. package/dist/generated/i18n/i18n-defaults.js +1 -2
  314. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  315. package/dist/generated/templates/TableGrowingTemplate.lit.js +2 -3
  316. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +1 -1
  317. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  318. package/dist/generated/themes/Avatar.css.js +1 -1
  319. package/dist/generated/themes/Avatar.css.js.map +1 -1
  320. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  321. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  322. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  323. package/dist/generated/themes/Bar.css.d.ts +1 -1
  324. package/dist/generated/themes/Bar.css.js +1 -1
  325. package/dist/generated/themes/Bar.css.js.map +1 -1
  326. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  327. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  328. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  329. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  330. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  331. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  332. package/dist/generated/themes/Button.css.d.ts +1 -1
  333. package/dist/generated/themes/Button.css.js +1 -1
  334. package/dist/generated/themes/Button.css.js.map +1 -1
  335. package/dist/generated/themes/ButtonBadge.css.d.ts +2 -0
  336. package/dist/generated/themes/ButtonBadge.css.js +8 -0
  337. package/dist/generated/themes/ButtonBadge.css.js.map +1 -0
  338. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  339. package/dist/generated/themes/Calendar.css.js +1 -1
  340. package/dist/generated/themes/Calendar.css.js.map +1 -1
  341. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  342. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  343. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  344. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  345. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  346. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  347. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  348. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  349. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  350. package/dist/generated/themes/Card.css.d.ts +1 -1
  351. package/dist/generated/themes/Card.css.js +1 -1
  352. package/dist/generated/themes/Card.css.js.map +1 -1
  353. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  354. package/dist/generated/themes/CardHeader.css.js +1 -1
  355. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  356. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  357. package/dist/generated/themes/Carousel.css.js +1 -1
  358. package/dist/generated/themes/Carousel.css.js.map +1 -1
  359. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  360. package/dist/generated/themes/CheckBox.css.js +1 -1
  361. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  362. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  363. package/dist/generated/themes/ColorPalette.css.js +1 -1
  364. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  365. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  366. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  367. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  368. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  369. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  370. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  371. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  372. package/dist/generated/themes/ColorPicker.css.js +1 -1
  373. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  374. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  375. package/dist/generated/themes/ComboBox.css.js +1 -1
  376. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  377. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  378. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  379. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  380. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  381. package/dist/generated/themes/DatePicker.css.js +1 -1
  382. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  383. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  384. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  385. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  386. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  387. package/dist/generated/themes/DayPicker.css.js +1 -1
  388. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  389. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  390. package/dist/generated/themes/Dialog.css.js +1 -1
  391. package/dist/generated/themes/Dialog.css.js.map +1 -1
  392. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  393. package/dist/generated/themes/FileUploader.css.js +1 -1
  394. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  395. package/dist/generated/themes/Form.css.d.ts +1 -1
  396. package/dist/generated/themes/Form.css.js +1 -1
  397. package/dist/generated/themes/Form.css.js.map +1 -1
  398. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  399. package/dist/generated/themes/FormItem.css.js +1 -1
  400. package/dist/generated/themes/FormItem.css.js.map +1 -1
  401. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  402. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  403. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  404. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  405. package/dist/generated/themes/GrowingButton.css.js +1 -1
  406. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  407. package/dist/generated/themes/Icon.css.d.ts +1 -1
  408. package/dist/generated/themes/Icon.css.js +1 -1
  409. package/dist/generated/themes/Icon.css.js.map +1 -1
  410. package/dist/generated/themes/Input.css.d.ts +1 -1
  411. package/dist/generated/themes/Input.css.js +1 -1
  412. package/dist/generated/themes/Input.css.js.map +1 -1
  413. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  414. package/dist/generated/themes/InputIcon.css.js +1 -1
  415. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  416. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  417. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  418. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  419. package/dist/generated/themes/Link.css.d.ts +1 -1
  420. package/dist/generated/themes/Link.css.js +1 -1
  421. package/dist/generated/themes/Link.css.js.map +1 -1
  422. package/dist/generated/themes/List.css.d.ts +1 -1
  423. package/dist/generated/themes/List.css.js +1 -1
  424. package/dist/generated/themes/List.css.js.map +1 -1
  425. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  426. package/dist/generated/themes/ListItem.css.js +1 -1
  427. package/dist/generated/themes/ListItem.css.js.map +1 -1
  428. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  429. package/dist/generated/themes/ListItemBase.css.js +1 -1
  430. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  431. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  432. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  433. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  434. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  435. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  436. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  437. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  438. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  439. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  440. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  441. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  442. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  443. package/dist/generated/themes/Menu.css.d.ts +1 -1
  444. package/dist/generated/themes/Menu.css.js +1 -1
  445. package/dist/generated/themes/Menu.css.js.map +1 -1
  446. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  447. package/dist/generated/themes/MenuItem.css.js +1 -1
  448. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  449. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  450. package/dist/generated/themes/MessageStrip.css.js +1 -1
  451. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  452. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  453. package/dist/generated/themes/MonthPicker.css.js +1 -1
  454. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  455. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  456. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  457. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  458. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  459. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  460. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  461. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  462. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  463. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  464. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  465. package/dist/generated/themes/MultiInput.css.js +1 -1
  466. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  467. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  468. package/dist/generated/themes/OptionBase.css.js +1 -1
  469. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  470. package/dist/generated/themes/Panel.css.d.ts +1 -1
  471. package/dist/generated/themes/Panel.css.js +1 -1
  472. package/dist/generated/themes/Panel.css.js.map +1 -1
  473. package/dist/generated/themes/Popover.css.d.ts +1 -1
  474. package/dist/generated/themes/Popover.css.js +1 -1
  475. package/dist/generated/themes/Popover.css.js.map +1 -1
  476. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  477. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  478. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  479. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  480. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  481. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  482. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  483. package/dist/generated/themes/RadioButton.css.js +1 -1
  484. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  485. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  486. package/dist/generated/themes/RangeSlider.css.js +1 -1
  487. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  488. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  489. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  490. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  491. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  492. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  493. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  494. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  495. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  496. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  497. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  498. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  499. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  500. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  501. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  502. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  503. package/dist/generated/themes/Select.css.d.ts +1 -1
  504. package/dist/generated/themes/Select.css.js +1 -1
  505. package/dist/generated/themes/Select.css.js.map +1 -1
  506. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  507. package/dist/generated/themes/SliderBase.css.js +1 -1
  508. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  509. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  510. package/dist/generated/themes/SplitButton.css.js +1 -1
  511. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  512. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  513. package/dist/generated/themes/StepInput.css.js +1 -1
  514. package/dist/generated/themes/StepInput.css.js.map +1 -1
  515. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  516. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  517. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  518. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  519. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  520. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  521. package/dist/generated/themes/Switch.css.d.ts +1 -1
  522. package/dist/generated/themes/Switch.css.js +1 -1
  523. package/dist/generated/themes/Switch.css.js.map +1 -1
  524. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  525. package/dist/generated/themes/TabContainer.css.js +1 -1
  526. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  527. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  528. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  529. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  530. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  531. package/dist/generated/themes/TabInStrip.css.js +1 -1
  532. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  533. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  534. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  535. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  536. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  537. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  538. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  539. package/dist/generated/themes/Table.css.d.ts +1 -1
  540. package/dist/generated/themes/Table.css.js +1 -1
  541. package/dist/generated/themes/Table.css.js.map +1 -1
  542. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  543. package/dist/generated/themes/TableCellBase.css.js +1 -1
  544. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  545. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  546. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  547. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  548. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  549. package/dist/generated/themes/TableRow.css.js +1 -1
  550. package/dist/generated/themes/TableRow.css.js.map +1 -1
  551. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  552. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  553. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  554. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  555. package/dist/generated/themes/TableRowBase.css.js +1 -1
  556. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  557. package/dist/generated/themes/Tag.css.d.ts +1 -1
  558. package/dist/generated/themes/Tag.css.js +1 -1
  559. package/dist/generated/themes/Tag.css.js.map +1 -1
  560. package/dist/generated/themes/Text.css.d.ts +1 -1
  561. package/dist/generated/themes/Text.css.js +1 -1
  562. package/dist/generated/themes/Text.css.js.map +1 -1
  563. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  564. package/dist/generated/themes/TextArea.css.js +1 -1
  565. package/dist/generated/themes/TextArea.css.js.map +1 -1
  566. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  567. package/dist/generated/themes/TimePicker.css.js +1 -1
  568. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  569. package/dist/generated/themes/TimePickerClock.css.d.ts +1 -1
  570. package/dist/generated/themes/TimePickerClock.css.js +1 -1
  571. package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
  572. package/dist/generated/themes/Toast.css.d.ts +1 -1
  573. package/dist/generated/themes/Toast.css.js +1 -1
  574. package/dist/generated/themes/Toast.css.js.map +1 -1
  575. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  576. package/dist/generated/themes/ToggleButton.css.js +1 -1
  577. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  578. package/dist/generated/themes/Token.css.d.ts +1 -1
  579. package/dist/generated/themes/Token.css.js +1 -1
  580. package/dist/generated/themes/Token.css.js.map +1 -1
  581. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  582. package/dist/generated/themes/Tokenizer.css.js +1 -1
  583. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  584. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  585. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  586. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  587. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  588. package/dist/generated/themes/Toolbar.css.js +1 -1
  589. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  590. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  591. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  592. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  593. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  594. package/dist/generated/themes/TreeItem.css.js +1 -1
  595. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  596. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  597. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  598. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  599. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  600. package/dist/generated/themes/YearPicker.css.js +1 -1
  601. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  602. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  603. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  604. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  605. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  606. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  607. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  608. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  609. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  610. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  611. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  612. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  613. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  614. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  615. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  616. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  617. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  618. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  619. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  620. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  621. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  622. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  623. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  624. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  625. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  626. package/dist/types/ButtonBadgeDesign.d.ts +25 -0
  627. package/dist/types/ButtonBadgeDesign.js +27 -0
  628. package/dist/types/ButtonBadgeDesign.js.map +1 -0
  629. package/dist/types/TableGrowingMode.d.ts +2 -0
  630. package/dist/types/TableGrowingMode.js +2 -0
  631. package/dist/types/TableGrowingMode.js.map +1 -1
  632. package/dist/vscode.html-custom-data.json +32 -11
  633. package/dist/web-types.json +83 -20
  634. package/package.json +12 -10
  635. package/src/ButtonBadgeTemplate.tsx +6 -0
  636. package/src/ButtonTemplate.tsx +10 -1
  637. package/src/DayPickerTemplate.tsx +1 -0
  638. package/src/MenuItemTemplate.tsx +0 -10
  639. package/src/SelectPopoverTemplate.tsx +3 -3
  640. package/src/TableGrowing.hbs +17 -19
  641. package/src/TagTemplate.tsx +2 -1
  642. package/src/TimePickerClockTemplate.tsx +35 -36
  643. package/src/TimePickerPopoverTemplate.tsx +1 -0
  644. package/src/TimeSelectionClocksTemplate.tsx +2 -1
  645. package/src/i18n/messagebundle.properties +0 -3
  646. package/src/i18n/messagebundle_ar.properties +11 -1
  647. package/src/i18n/messagebundle_bg.properties +11 -1
  648. package/src/i18n/messagebundle_ca.properties +11 -1
  649. package/src/i18n/messagebundle_cnr.properties +11 -1
  650. package/src/i18n/messagebundle_cs.properties +10 -0
  651. package/src/i18n/messagebundle_cy.properties +11 -1
  652. package/src/i18n/messagebundle_da.properties +10 -0
  653. package/src/i18n/messagebundle_de.properties +11 -1
  654. package/src/i18n/messagebundle_el.properties +11 -1
  655. package/src/i18n/messagebundle_en.properties +8 -0
  656. package/src/i18n/messagebundle_en_GB.properties +11 -1
  657. package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
  658. package/src/i18n/messagebundle_en_US_saprigi.properties +8 -2
  659. package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
  660. package/src/i18n/messagebundle_es.properties +11 -1
  661. package/src/i18n/messagebundle_es_MX.properties +11 -1
  662. package/src/i18n/messagebundle_et.properties +11 -1
  663. package/src/i18n/messagebundle_fi.properties +11 -1
  664. package/src/i18n/messagebundle_fr.properties +11 -1
  665. package/src/i18n/messagebundle_fr_CA.properties +11 -1
  666. package/src/i18n/messagebundle_hi.properties +11 -1
  667. package/src/i18n/messagebundle_hr.properties +11 -1
  668. package/src/i18n/messagebundle_hu.properties +11 -1
  669. package/src/i18n/messagebundle_id.properties +11 -1
  670. package/src/i18n/messagebundle_it.properties +11 -1
  671. package/src/i18n/messagebundle_iw.properties +11 -1
  672. package/src/i18n/messagebundle_ja.properties +11 -1
  673. package/src/i18n/messagebundle_kk.properties +11 -1
  674. package/src/i18n/messagebundle_ko.properties +11 -1
  675. package/src/i18n/messagebundle_lt.properties +11 -1
  676. package/src/i18n/messagebundle_lv.properties +11 -1
  677. package/src/i18n/messagebundle_mk.properties +11 -1
  678. package/src/i18n/messagebundle_ms.properties +11 -1
  679. package/src/i18n/messagebundle_nl.properties +11 -1
  680. package/src/i18n/messagebundle_no.properties +11 -1
  681. package/src/i18n/messagebundle_pl.properties +11 -1
  682. package/src/i18n/messagebundle_pt.properties +11 -1
  683. package/src/i18n/messagebundle_pt_PT.properties +11 -1
  684. package/src/i18n/messagebundle_ro.properties +11 -1
  685. package/src/i18n/messagebundle_ru.properties +10 -0
  686. package/src/i18n/messagebundle_sh.properties +11 -1
  687. package/src/i18n/messagebundle_sk.properties +11 -1
  688. package/src/i18n/messagebundle_sl.properties +12 -2
  689. package/src/i18n/messagebundle_sr.properties +11 -1
  690. package/src/i18n/messagebundle_sv.properties +10 -0
  691. package/src/i18n/messagebundle_th.properties +11 -1
  692. package/src/i18n/messagebundle_tr.properties +10 -0
  693. package/src/i18n/messagebundle_uk.properties +14 -4
  694. package/src/i18n/messagebundle_vi.properties +11 -1
  695. package/src/i18n/messagebundle_zh_CN.properties +11 -1
  696. package/src/i18n/messagebundle_zh_TW.properties +11 -1
  697. package/src/themes/Button.css +37 -0
  698. package/src/themes/ButtonBadge.css +17 -0
  699. package/src/themes/ColorPicker.css +32 -38
  700. package/src/themes/DayPicker.css +1 -0
  701. package/src/themes/MenuItem.css +5 -1
  702. package/src/themes/SegmentedButton.css +1 -1
  703. package/src/themes/SplitButton.css +8 -8
  704. package/src/themes/Switch.css +2 -0
  705. package/src/themes/TableRow.css +0 -1
  706. package/src/themes/TableRowBase.css +1 -0
  707. package/src/themes/TimePickerClock.css +180 -9
  708. package/src/themes/base/ButtonBadge-parameters.css +3 -0
  709. package/src/themes/base/ColorPicker-parameters.css +5 -5
  710. package/src/themes/base/SegmentedButtton-parameters.css +0 -1
  711. package/src/themes/base/SplitButton-parameters.css +0 -2
  712. package/src/themes/base/sizes-parameters.css +29 -3
  713. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  714. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  715. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  716. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  717. package/src/themes/sap_fiori_3_hcb/ColorPicker-parameters.css +5 -1
  718. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +0 -1
  719. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  720. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +6 -0
  721. package/src/themes/sap_fiori_3_hcw/ColorPicker-parameters.css +5 -1
  722. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +0 -1
  723. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  724. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +6 -0
  725. package/src/themes/sap_horizon/ColorPicker-parameters.css +0 -4
  726. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +0 -1
  727. package/src/themes/sap_horizon/SplitButton-parameters.css +0 -1
  728. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  729. package/src/themes/sap_horizon/sizes-parameters.css +0 -1
  730. package/src/themes/sap_horizon_dark/ColorPicker-parameters.css +0 -4
  731. package/src/themes/sap_horizon_dark/SegmentedButtton-parameters.css +0 -1
  732. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +0 -1
  733. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  734. package/src/themes/sap_horizon_dark/sizes-parameters.css +0 -1
  735. package/src/themes/sap_horizon_hcb/ColorPicker-parameters.css +3 -4
  736. package/src/themes/sap_horizon_hcb/SegmentedButtton-parameters.css +0 -1
  737. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +0 -1
  738. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  739. package/src/themes/sap_horizon_hcb/sizes-parameters.css +3 -1
  740. package/src/themes/sap_horizon_hcw/ColorPicker-parameters.css +3 -4
  741. package/src/themes/sap_horizon_hcw/SegmentedButtton-parameters.css +0 -1
  742. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +0 -1
  743. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
  744. package/src/themes/sap_horizon_hcw/sizes-parameters.css +3 -1
  745. package/cypress/specs/ColorPalette.cy.ts +0 -47
  746. package/cypress/specs/F6.cy.ts +0 -793
  747. package/cypress/specs/MessageStrip.cy.ts +0 -91
  748. package/cypress/specs/MultiComboBox.cy.ts +0 -22
  749. package/cypress/specs/RTL.cy.ts +0 -17
  750. package/cypress/specs/Select.cy.ts +0 -39
  751. package/cypress/specs/Table.cy.ts +0 -636
  752. package/cypress/specs/TableLoading.cy.ts +0 -44
  753. package/cypress/specs/Title.cy.ts +0 -37
  754. package/cypress/specs/Tokenizer.cy.ts +0 -114
  755. package/cypress/specs/base/Tooltips.cy.ts +0 -55
  756. package/dist/NavigationMenu.d.ts +0 -34
  757. package/dist/NavigationMenu.js +0 -64
  758. package/dist/NavigationMenu.js.map +0 -1
  759. package/dist/NavigationMenuItem.d.ts +0 -76
  760. package/dist/NavigationMenuItem.js +0 -76
  761. package/dist/NavigationMenuItem.js.map +0 -1
  762. package/dist/NavigationMenuItemTemplate.d.ts +0 -3
  763. package/dist/NavigationMenuItemTemplate.js +0 -44
  764. package/dist/NavigationMenuItemTemplate.js.map +0 -1
  765. package/dist/NavigationMenuTemplate.d.ts +0 -2
  766. package/dist/NavigationMenuTemplate.js +0 -15
  767. package/dist/NavigationMenuTemplate.js.map +0 -1
  768. package/dist/css/themes/NavigationMenu.css +0 -1
  769. package/dist/css/themes/NavigationMenuItem.css +0 -1
  770. package/dist/generated/themes/NavigationMenu.css.d.ts +0 -2
  771. package/dist/generated/themes/NavigationMenu.css.js +0 -8
  772. package/dist/generated/themes/NavigationMenu.css.js.map +0 -1
  773. package/dist/generated/themes/NavigationMenuItem.css.d.ts +0 -2
  774. package/dist/generated/themes/NavigationMenuItem.css.js +0 -8
  775. package/dist/generated/themes/NavigationMenuItem.css.js.map +0 -1
  776. package/src/NavigationMenuItemTemplate.tsx +0 -144
  777. package/src/NavigationMenuTemplate.tsx +0 -68
  778. package/src/themes/NavigationMenu.css +0 -17
  779. package/src/themes/NavigationMenuItem.css +0 -56
  780. /package/cypress/specs/{TableUtils.cy.ts → TableUtils.cy.tsx} +0 -0
  781. /package/cypress/specs/base/{InvisibleMessage.cy.ts → InvisibleMessage.cy.tsx} +0 -0
@@ -0,0 +1,665 @@
1
+ import Table from "../../src/Table.js";
2
+ import TableHeaderRow from "../../src/TableHeaderRow.js";
3
+ import TableCell from "../../src/TableCell.js";
4
+ import TableRow from "../../src/TableRow.js";
5
+ import TableSelection from "../../src/TableSelection.js";
6
+ import TableHeaderCell from "../../src/TableHeaderCell.js";
7
+ import Label from "../../src/Label.js";
8
+ import Input from "../../src/Input.js";
9
+ import Bar from "../../src/Bar.js";
10
+ import Title from "../../src/Title.js";
11
+ import Slider from "../../src/Slider.js";
12
+
13
+ // Porting Table.spec.js (wdio tests) to cypress tests
14
+ const ROLE_COLUMN_HEADER = "columnheader";
15
+
16
+ describe("Table - Rendering", () => {
17
+ it("tests if table is rendered", () => {
18
+ cy.mount(
19
+ <Table id="table">
20
+ <TableHeaderRow slot="headerRow">
21
+ <TableHeaderCell><span>ColumnA</span></TableHeaderCell>
22
+ <TableHeaderCell><span>ColumnB</span></TableHeaderCell>
23
+ </TableHeaderRow>
24
+ <TableRow>
25
+ <TableCell><Label>Cell A</Label></TableCell>
26
+ <TableCell><Label>Cell B</Label></TableCell>
27
+ </TableRow>
28
+ </Table>
29
+ );
30
+
31
+ cy.get("ui5-table").should("exist");
32
+ cy.get("ui5-table-header-row").should("exist");
33
+ cy.get("ui5-table-row").should("exist");
34
+ cy.get("ui5-table-header-cell").should("have.length", 2);
35
+ });
36
+
37
+ it("tests if initial empty table renders without errors", () => {
38
+ cy.window().then(window => {
39
+ window.addEventListener("unhandledrejection", cy.stub().as("rejection"));
40
+
41
+ const table = window.document.createElement("ui5-table");
42
+ window.document.body.appendChild(table);
43
+
44
+ setTimeout(() => {
45
+ const row = window.document.createElement("ui5-table-row");
46
+ table.appendChild(row);
47
+
48
+ cy.get("@rejection").should("not.be.called");
49
+
50
+ table.remove();
51
+ }, 100);
52
+ });
53
+
54
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
55
+ cy.wait(500);
56
+ });
57
+ });
58
+
59
+ describe("Table - Popin Mode", () => {
60
+ beforeEach(() => {
61
+ cy.mount(
62
+ <Table id="table" overflowMode="Popin">
63
+ <TableHeaderRow slot="headerRow">
64
+ <TableHeaderCell id="colA" minWidth="300px"><span>ColumnA</span></TableHeaderCell>
65
+ <TableHeaderCell id="colB" minWidth="200px">Column B</TableHeaderCell>
66
+ <TableHeaderCell id="colC" minWidth="200px">Column C</TableHeaderCell>
67
+ <TableHeaderCell id="colD" minWidth="150px" popinText="Column ?">Column D</TableHeaderCell>
68
+ </TableHeaderRow>
69
+ <TableRow>
70
+ <TableCell><Label>Cell A</Label></TableCell>
71
+ <TableCell><Label>Cell B</Label></TableCell>
72
+ <TableCell><Label>Cell C</Label></TableCell>
73
+ <TableCell><Label>Cell D</Label></TableCell>
74
+ </TableRow>
75
+ <TableRow>
76
+ <TableCell><Label>Cell A</Label></TableCell>
77
+ <TableCell><Label>Cell B</Label></TableCell>
78
+ <TableCell><Label>Cell C</Label></TableCell>
79
+ <TableCell><Label>Cell D</Label></TableCell>
80
+ </TableRow>
81
+ <TableRow>
82
+ <TableCell><Label>Cell A</Label></TableCell>
83
+ <TableCell><Label>Cell B</Label></TableCell>
84
+ <TableCell><Label>Cell C</Label></TableCell>
85
+ <TableCell><Label>Cell D</Label></TableCell>
86
+ </TableRow>
87
+ </Table>
88
+ );
89
+ });
90
+
91
+ it("no pop-in width 'optimal' table width", () => {
92
+ cy.get("ui5-table").then($table => {
93
+ $table.css("width", "850px");
94
+ });
95
+
96
+ cy.get("ui5-table")
97
+ .should("exist")
98
+ .should("have.attr", "overflow-mode", "Popin")
99
+ .should("have.css", "width", "850px");
100
+ cy.get("ui5-table-header-cell")
101
+ .should("have.length", 4);
102
+
103
+ cy.get("ui5-table-header-cell").each(($cell, index) => {
104
+ cy.wrap($cell)
105
+ .should("have.attr", "role", ROLE_COLUMN_HEADER);
106
+ cy.get("ui5-table-header-row")
107
+ .shadow()
108
+ .find(`slot[name=default-${index + 1}]`)
109
+ .should("exist");
110
+ });
111
+ });
112
+
113
+ it("test with one by one popping in", () => {
114
+ const testWidths = [
115
+ { width: 850, poppedIn: [] },
116
+ { width: 700, poppedIn: ["colD"] },
117
+ { width: 500, poppedIn: ["colD", "colC"] },
118
+ { width: 300, poppedIn: ["colD", "colC", "colB"] },
119
+ { width: 150, poppedIn: ["colD", "colC", "colB"] },
120
+ ];
121
+
122
+ testWidths.forEach(({ width, poppedIn }) => {
123
+ cy.get("ui5-table").then($table => {
124
+ $table.css("width", `${width}px`);
125
+ });
126
+
127
+ cy.get("ui5-table-header-cell").each(($cell, index) => {
128
+ const id = $cell.attr("id") ?? "";
129
+ const shouldBePoppedIn = poppedIn.includes(id);
130
+ const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
131
+
132
+ cy.wrap($cell)
133
+ .should(roleCondition, "role", ROLE_COLUMN_HEADER);
134
+ cy.get("ui5-table-header-row")
135
+ .shadow()
136
+ .find(`slot[name=default-${index + 1}]`)
137
+ .should(shouldBePoppedIn ? "not.exist" : "exist");
138
+ });
139
+ });
140
+ });
141
+
142
+ it("test with one by one popping out", () => {
143
+ const testWidths = [
144
+ { width: 150, poppedIn: ["colD", "colC", "colB"] },
145
+ { width: 300, poppedIn: ["colD", "colC", "colB"] },
146
+ { width: 500, poppedIn: ["colD", "colC"] },
147
+ { width: 700, poppedIn: ["colD"] },
148
+ { width: 850, poppedIn: [] },
149
+ ];
150
+
151
+ testWidths.forEach(({ width, poppedIn }) => {
152
+ cy.get("ui5-table").then($table => {
153
+ $table.css("width", `${width}px`);
154
+ });
155
+
156
+ cy.get("ui5-table-header-cell").each(($cell, index) => {
157
+ const id = $cell.attr("id") ?? "";
158
+ const shouldBePoppedIn = poppedIn.includes(id);
159
+ const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
160
+
161
+ cy.wrap($cell)
162
+ .should(roleCondition, "role", ROLE_COLUMN_HEADER);
163
+ cy.get("ui5-table-header-row")
164
+ .shadow()
165
+ .find(`slot[name=default-${index + 1}]`)
166
+ .should(shouldBePoppedIn ? "not.exist" : "exist");
167
+ });
168
+ });
169
+ });
170
+
171
+ it("test with random widths", () => {
172
+ const expectedStates = [
173
+ { width: 500, poppedIn: ["colD", "colC", "colB"] },
174
+ { width: 700, poppedIn: ["colD", "colC"] },
175
+ { width: 850, poppedIn: ["colD"] },
176
+ { width: Infinity, poppedIn: [] },
177
+ ];
178
+
179
+ const runs = 10;
180
+ for (let i = 0; i < runs; i++) {
181
+ const randomWidth = Math.floor(Math.random() * 1000) + 1;
182
+ cy.get("ui5-table").then($table => {
183
+ $table.css("width", `${randomWidth}px`);
184
+ });
185
+
186
+ const expectedState = expectedStates.find(state => state.width >= randomWidth);
187
+ // eslint-disable-next-line cypress/no-unnecessary-waiting, no-loop-func
188
+ cy.get("ui5-table-header-cell").each(($cell, index) => {
189
+ const id = $cell.attr("id") ?? "";
190
+ const shouldBePoppedIn = expectedState?.poppedIn.includes(id);
191
+ const roleCondition = shouldBePoppedIn ? "not.have.attr" : "have.attr";
192
+
193
+ cy.wrap($cell)
194
+ .should(roleCondition, "role", ROLE_COLUMN_HEADER);
195
+
196
+ cy.get("ui5-table-header-row")
197
+ .shadow()
198
+ .find(`slot[name=default-${index + 1}]`)
199
+ .should(shouldBePoppedIn ? "not.exist" : "exist");
200
+ });
201
+ }
202
+ });
203
+
204
+ it("should show the popin-text in the popin area", () => {
205
+ cy.get("ui5-table").then($table => {
206
+ $table.css("width", "150px");
207
+ });
208
+
209
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
210
+ cy.wait(50);
211
+
212
+ cy.get("ui5-table").then($table => {
213
+ let popinCellCount = 0;
214
+ let validPopinTextCount = 0;
215
+ const table = $table[0] as Table;
216
+ // eslint-disable-next-line no-restricted-syntax
217
+ for (const row of table.rows) {
218
+ // eslint-disable-next-line no-restricted-syntax
219
+ for (const cell of row.cells) {
220
+ if (cell._popin) {
221
+ popinCellCount++;
222
+ const popinText = cell._headerCell.popinText || cell._headerCell.textContent;
223
+ if (cell.shadowRoot!.textContent === `${popinText}:`) {
224
+ validPopinTextCount++;
225
+ }
226
+ }
227
+ }
228
+ }
229
+ return popinCellCount && popinCellCount === validPopinTextCount;
230
+ }).should("be.true");
231
+ });
232
+ });
233
+
234
+ describe("Table - Horizontal alignment of cells", () => {
235
+ function check(id: string, index: number, alignment: string) {
236
+ cy.get(id)
237
+ .should("have.css", "justify-content", alignment)
238
+ .and($el => {
239
+ const style = $el.attr("style");
240
+ const variable = style?.match(/justify-content: ([^;]+)/)?.[1] ?? "";
241
+ expect(variable).to.equal(`var(--horizontal-align-default-${index})`);
242
+ });
243
+
244
+ cy.get("ui5-table-row")
245
+ .get(`ui5-table-cell:nth-of-type(${index})`)
246
+ .should("have.css", "justify-content", alignment);
247
+ }
248
+
249
+ beforeEach(() => {
250
+ cy.mount(
251
+ <Table id="table" overflowMode="Popin" style={{ width: "1120px" }}>
252
+ <TableHeaderRow slot="headerRow">
253
+ <TableHeaderCell id="productCol" width="300px"><span>Product</span></TableHeaderCell>
254
+ <TableHeaderCell id="supplierCol" horizontalAlign="Center" width="200px">Supplier</TableHeaderCell>
255
+ <TableHeaderCell id="dimensionsCol" horizontalAlign="Right" width="300px">Dimensions</TableHeaderCell>
256
+ <TableHeaderCell id="weightCol" width="100px">Weight</TableHeaderCell>
257
+ <TableHeaderCell id="priceCol" width="220px">Price</TableHeaderCell>
258
+ </TableHeaderRow>
259
+ <TableRow>
260
+ <TableCell><Label><b>Notebook Basic 15</b><br></br>HT-1000</Label></TableCell>
261
+ <TableCell><Label>Very Best Screens</Label></TableCell>
262
+ <TableCell><Label>30 x 18 x 3 cm</Label></TableCell>
263
+ <TableCell><Label style={{ color: "#2b7c2b" }}><b>4.2</b> KG</Label></TableCell>
264
+ <TableCell><Label><b>956</b> EUR</Label></TableCell>
265
+ </TableRow>
266
+ <TableRow>
267
+ <TableCell><Label><b>Notebook Basic 17</b><br></br>HT-1001</Label></TableCell>
268
+ <TableCell><Label>Smartcards</Label></TableCell>
269
+ <TableCell><Label>29 x 17 x 3.1 cm</Label></TableCell>
270
+ <TableCell><Label style={{ color: "#2b7c2b" }}><b>4.5</b> KG</Label></TableCell>
271
+ <TableCell><Label><b>1249</b> EUR</Label></TableCell>
272
+ </TableRow>
273
+ <TableRow>
274
+ <TableCell><Label><b>Notebook Basic 18</b><br></br>HT-1002</Label></TableCell>
275
+ <TableCell><Label>Technocom</Label></TableCell>
276
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
277
+ <TableCell><Label style={{ color: "#2b7c2b" }}><b>3.7</b> KG</Label></TableCell>
278
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
279
+ </TableRow>
280
+ </Table>
281
+ );
282
+
283
+ cy.get("[ui5-table]")
284
+ .should("be.visible");
285
+ });
286
+
287
+ it("default alignment when horizotal align is not set", () => {
288
+ check("#productCol", 1, "normal");
289
+ });
290
+
291
+ it("alignment is set correctly during runtime", () => {
292
+ const alignments = ["Left", "Start", "Right", "End", "Center"];
293
+
294
+ alignments.forEach(alignment => {
295
+ cy.get("#productCol")
296
+ .invoke("attr", "horizontal-align", alignment)
297
+ .should("have.attr", "horizontal-align", alignment);
298
+ check("#productCol", 1, alignment.toLowerCase());
299
+ });
300
+ });
301
+
302
+ it("alignment is normal if set to unknown value", () => {
303
+ cy.get("#productCol")
304
+ .invoke("attr", "horizontal-align", "UnknownValue")
305
+ .should("have.attr", "horizontal-align", "UnknownValue");
306
+ check("#productCol", 1, "normal");
307
+ });
308
+
309
+ it("alignment cells have same alignment as header cell on init time", () => {
310
+ check("#supplierCol", 2, "center");
311
+ check("#dimensionsCol", 3, "right");
312
+ });
313
+
314
+ it("cells should change alignment when changing headerCell alignment", () => {
315
+ check("#supplierCol", 2, "center");
316
+
317
+ cy.get("#supplierCol")
318
+ .invoke("attr", "horizontal-align", "End");
319
+
320
+ cy.get("#supplierCol")
321
+ .should("have.attr", "horizontal-align", "End");
322
+
323
+ check("#supplierCol", 2, "end");
324
+ });
325
+
326
+ it("single cell alignment does not affect other cells and is not affected by header cell alignment", () => {
327
+ check("#supplierCol", 2, "center");
328
+
329
+ cy.get("ui5-table-row:nth-of-type(2) > ui5-table-cell:nth-child(2)")
330
+ .invoke("attr", "horizontal-align", "Start");
331
+
332
+ cy.get("ui5-table-row:nth-of-type(2) > ui5-table-cell:nth-child(2)")
333
+ .should("have.attr", "horizontal-align", "Start")
334
+ .should("have.css", "justify-content", "start");
335
+
336
+ cy.get("#supplierCol")
337
+ .should("have.css", "justify-content", "center");
338
+
339
+ cy.get("ui5-table-row:nth-of-type(3) > ui5-table-cell:nth-child(2)")
340
+ .should("have.css", "justify-content", "center");
341
+
342
+ cy.get("ui5-table-row:nth-of-type(1) > ui5-table-cell:nth-child(2)")
343
+ .should("have.css", "justify-content", "center");
344
+
345
+ // Change alignment of header cell => should not affect custom cell alignment
346
+ cy.get("#supplierCol")
347
+ .invoke("attr", "horizontal-align", "End");
348
+
349
+ cy.get("#supplierCol")
350
+ .should("have.attr", "horizontal-align", "End");
351
+
352
+ cy.get("ui5-table-row:nth-of-type(2) > ui5-table-cell:nth-child(2)")
353
+ .should("have.attr", "horizontal-align", "Start")
354
+ .should("have.css", "justify-content", "start");
355
+
356
+ cy.get("ui5-table-row:nth-of-type(3) > ui5-table-cell:nth-child(2)")
357
+ .should("have.css", "justify-content", "end");
358
+
359
+ cy.get("ui5-table-row:nth-of-type(1) > ui5-table-cell:nth-child(2)")
360
+ .should("have.css", "justify-content", "end");
361
+ });
362
+
363
+ it("alignment with popin", () => {
364
+ const testWidths = [
365
+ { width: 1120, poppedIn: [] },
366
+ { width: 900, poppedIn: ["priceCol"] },
367
+ { width: 800, poppedIn: ["priceCol", "weightCol"] },
368
+ { width: 500, poppedIn: ["priceCol", "weightCol", "dimensionsCol"] },
369
+ { width: 300, poppedIn: ["priceCol", "weightCol", "dimensionsCol", "supplierCol"] },
370
+ ];
371
+ const alignments = {
372
+ "productCol": "normal",
373
+ "supplierCol": "center",
374
+ "dimensionsCol": "right",
375
+ "weightCol": "normal",
376
+ "priceCol": "normal",
377
+ "none": "",
378
+ };
379
+
380
+ testWidths.forEach(({ width, poppedIn }) => {
381
+ cy.get("ui5-table").then($table => {
382
+ $table.css("width", `${width}px`);
383
+ });
384
+
385
+ cy.get("ui5-table-header-cell").each(($cell, index) => {
386
+ const id = $cell.attr("id") as keyof typeof alignments ?? "none";
387
+ const shouldBePoppedIn = poppedIn.includes(id);
388
+
389
+ if (shouldBePoppedIn) {
390
+ check(`#${id}`, index + 1, "normal");
391
+ } else {
392
+ check(`#${id}`, index + 1, alignments[id]);
393
+ }
394
+ });
395
+ });
396
+ });
397
+ });
398
+
399
+ describe("Table - Fixed Header", () => {
400
+ function check(topOffset: number, lastRow: string) {
401
+ cy.get("ui5-table-header-row")
402
+ .should("have.css", "position", "sticky")
403
+ .should("have.css", "top", `${topOffset}px`);
404
+
405
+ cy.get(lastRow)
406
+ .scrollIntoView();
407
+
408
+ cy.get("ui5-table-header-row")
409
+ .then($header => {
410
+ const headerRect = $header[0].getBoundingClientRect();
411
+ expect(headerRect.top).to.be.eq(topOffset);
412
+ });
413
+ }
414
+
415
+ beforeEach(() => {
416
+ cy.window().then(window => {
417
+ window.document.body.style.margin = "0";
418
+ window.document.body.style.padding = "0";
419
+ });
420
+ });
421
+
422
+ it("fixed header with scrollable wrapping container", () => {
423
+ cy.mount(
424
+ <div style={{ height: "300px", overflow: "auto" }}>
425
+ <Bar
426
+ id="toolbar"
427
+ design="Header"
428
+ style={{
429
+ position: "sticky",
430
+ top: 0,
431
+ "z-index": 2,
432
+ height: "50px"
433
+ }}>
434
+ <Title tabindex={0} level="H3" id="title" slot="startContent">My Selectable Products (3)</Title>
435
+ <Slider id="slider" min={0} max={100} step={1} value={100} labelInterval={0}></Slider>
436
+ </Bar>
437
+ <Table id="table0" overflowMode="Popin" stickyTop="50px" accessibleNameRef="title" noDataText="No data found">
438
+ <TableHeaderRow sticky slot="headerRow">
439
+ <TableHeaderCell id="colA" minWidth="300px"><span>ColumnA</span></TableHeaderCell>
440
+ <TableHeaderCell id="colB" minWidth="200px">Column B</TableHeaderCell>
441
+ <TableHeaderCell id="colC" minWidth="200px">Column C</TableHeaderCell>
442
+ <TableHeaderCell id="colD" minWidth="150px">Column D</TableHeaderCell>
443
+ </TableHeaderRow>
444
+ ${Array.from({ length: 20 }).map((val, index) =>
445
+ <TableRow id={`row-${index + 1}`}><TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> </TableRow>
446
+ )}
447
+ </Table>
448
+ </div>
449
+ );
450
+
451
+ check(50, "#row-20");
452
+ });
453
+
454
+ it("fixed header with table being scrollable", () => {
455
+ cy.mount(
456
+ <Table id="table" overflowMode="Popin" stickyTop="0" accessibleNameRef="title" noDataText="No data found" style={{ height: "300px", overflow: "auto" }}>
457
+ <TableHeaderRow sticky slot="headerRow">
458
+ <TableHeaderCell id="colA" minWidth="300px"><span>ColumnA</span></TableHeaderCell>
459
+ <TableHeaderCell id="colB" minWidth="200px">Column B</TableHeaderCell>
460
+ <TableHeaderCell id="colC" minWidth="200px">Column C</TableHeaderCell>
461
+ <TableHeaderCell id="colD" minWidth="150px">Column D</TableHeaderCell>
462
+ </TableHeaderRow>
463
+ ${Array.from({ length: 20 }).map((val, index) =>
464
+ <TableRow id={`row-${index + 1}`}><TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> </TableRow>
465
+ )}
466
+ </Table>
467
+ );
468
+
469
+ check(0, "#row-20");
470
+ });
471
+
472
+ it("fixed header with body being scroll container", () => {
473
+ cy.mount(
474
+ <>
475
+ <Bar
476
+ id="toolbar2"
477
+ design="Header"
478
+ style={{
479
+ position: "sticky",
480
+ top: 0,
481
+ "z-index": 2,
482
+ height: "50px"
483
+ }}>
484
+ <Title tabindex={0} level="H3" id="title" slot="startContent">My Selectable Products (3)</Title>
485
+ <Slider id="slider" min={0} max={100} step={1} value={100} labelInterval={0}></Slider>
486
+ </Bar>
487
+ <Table id="table" overflowMode="Popin" stickyTop="50px" accessibleNameRef="title" noDataText="No data found">
488
+ <TableHeaderRow sticky slot="headerRow">
489
+ <TableHeaderCell id="colA" minWidth="300px"><span>ColumnA</span></TableHeaderCell>
490
+ <TableHeaderCell id="colB" minWidth="200px">Column B</TableHeaderCell>
491
+ <TableHeaderCell id="colC" minWidth="200px">Column C</TableHeaderCell>
492
+ <TableHeaderCell id="colD" minWidth="150px">Column D</TableHeaderCell>
493
+ </TableHeaderRow>
494
+ ${Array.from({ length: 100 }).map((val, index) =>
495
+ <TableRow id={`row-${index + 1}`}><TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> <TableCell></TableCell> </TableRow>
496
+ )}
497
+ </Table>
498
+ </>
499
+ );
500
+
501
+ check(50, "#row-100");
502
+ });
503
+ });
504
+
505
+ describe("Table - Horizontal Scrolling", () => {
506
+ beforeEach(() => {
507
+ cy.mount(
508
+ <Table id="table" overflowMode="Scroll" stickyTop="0px" style={{ width: "300px", overflow: "auto" }} accessibleNameRef="title">
509
+ <TableSelection id="selection" selected="0 2" slot="features"></TableSelection>
510
+ <TableHeaderRow slot="headerRow" sticky>
511
+ <TableHeaderCell id="produtCol" width="200px"><span>Product</span></TableHeaderCell>
512
+ <TableHeaderCell id="supplierCol" width="200px">Supplier</TableHeaderCell>
513
+ <TableHeaderCell id="dimensionsCol" width="200px">Dimensions</TableHeaderCell>
514
+ <TableHeaderCell id="weightCol" width="200px">Weight</TableHeaderCell>
515
+ <TableHeaderCell id="priceCol" width="200px">Price</TableHeaderCell>
516
+ </TableHeaderRow>
517
+ <TableRow id="firstRow" navigated={true} key="0">
518
+ <TableCell><Label><b>Notebook Basic 15</b><br /><a href="#">HT-1000</a></Label></TableCell>
519
+ <TableCell><Label>Very Best Screens</Label></TableCell>
520
+ <TableCell><Label>30 x 18 x 3 cm</Label></TableCell>
521
+ <TableCell><Label style="color: #2b7c2b"><b>4.2</b> KG</Label></TableCell>
522
+ <TableCell id="lastCell"><Label><b>956</b> EUR</Label></TableCell>
523
+ </TableRow>
524
+ <TableRow key="1">
525
+ <TableCell><Label><b>Notebook Basic 16</b><br /><a href="#">HT-1001</a></Label></TableCell>
526
+ <TableCell><Label>Smartcards</Label></TableCell>
527
+ <TableCell><Input value="29 x 17 x 3.1 cm" accessibleNameRef="dimensionsCol"></Input></TableCell>
528
+ <TableCell><Label style="color: #2b7c2b"><b>4.5</b> KG</Label></TableCell>
529
+ <TableCell><Label><b>1249</b> EUR</Label></TableCell>
530
+ </TableRow>
531
+ <TableRow key="2" interactive>
532
+ <TableCell><Label><b>Notebook Basic 17</b><br /><a href="#">HT-1002</a></Label></TableCell>
533
+ <TableCell><Label>Technocom</Label></TableCell>
534
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
535
+ <TableCell><Label style="color: #2b7c2b"><b>3.7</b> KG</Label></TableCell>
536
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
537
+ </TableRow>
538
+ <TableRow key="3">
539
+ <TableCell><Label><b>Notebook Basic 18</b><br /><a href="#">HT-1003</a></Label></TableCell>
540
+ <TableCell><Label>Technocom</Label></TableCell>
541
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
542
+ <TableCell><Label style="color: #2b7c2b"><b>3.7</b> KG</Label></TableCell>
543
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
544
+ </TableRow>
545
+ <TableRow key="4">
546
+ <TableCell><Label><b>Notebook Basic 19</b><br /><a href="#">HT-1004</a></Label></TableCell>
547
+ <TableCell><Label>Technocom</Label></TableCell>
548
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
549
+ <TableCell><Label style="color: #2b7c2b"><b>3.7</b> KG</Label></TableCell>
550
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
551
+ </TableRow>
552
+ <TableRow key="5">
553
+ <TableCell><Label><b>Notebook Basic 20</b><br /><a href="#">HT-1005</a></Label></TableCell>
554
+ <TableCell><Label>Technocom</Label></TableCell>
555
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
556
+ <TableCell><Label style="color: #2b7c2b"><b>3.7</b> KG</Label></TableCell>
557
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
558
+ </TableRow>
559
+ <TableRow key="6" interactive>
560
+ <TableCell><Label><b>Notebook Basic 21</b><br /><a href="#">HT-1006</a></Label></TableCell>
561
+ <TableCell><Label>Technocom</Label></TableCell>
562
+ <TableCell><Label>32 x 21 x 4 cm</Label></TableCell>
563
+ <TableCell><Label style="color: #2b7c2b"><b>3.7</b> KG</Label></TableCell>
564
+ <TableCell><Label><b>29</b> EUR</Label></TableCell>
565
+ </TableRow>
566
+ </Table>
567
+ );
568
+
569
+ cy.get("[ui5-table]")
570
+ .should("be.visible");
571
+ });
572
+
573
+ it("navigated indidcator is fixed to the right", () => {
574
+ cy.get("#lastCell")
575
+ .then($lastCell => {
576
+ $lastCell[0].scrollIntoView();
577
+ });
578
+
579
+ cy.get("#firstRow")
580
+ .shadow()
581
+ .find("#navigated-cell")
582
+ .should("have.css", "position", "sticky")
583
+ .should("have.css", "right", "0px");
584
+ });
585
+
586
+ it("selection column should be fixed to the left", () => {
587
+ cy.get("#lastCell")
588
+ .then($lastCell => {
589
+ $lastCell[0].scrollIntoView();
590
+ });
591
+
592
+ cy.get("#firstRow")
593
+ .shadow()
594
+ .find("#selection-cell")
595
+ .should("have.css", "position", "sticky")
596
+ .and($selectionCell => {
597
+ const selectionRect = $selectionCell[0].getBoundingClientRect();
598
+ expect(selectionRect.left).to.be.eq(0);
599
+ });
600
+
601
+ cy.get("#table")
602
+ .shadow()
603
+ .find("#table")
604
+ .should($table => {
605
+ const leftOffset = $table[0].scrollLeft;
606
+ expect(leftOffset).to.be.greaterThan(0);
607
+ });
608
+ });
609
+ });
610
+
611
+ describe("Table - Navigated Rows", () => {
612
+ it("Navigated cell is rendered", () => {
613
+ cy.mount(
614
+ <Table id="table1">
615
+ <TableHeaderRow slot="headerRow">
616
+ <TableHeaderCell id="colA"><span>ColumnA</span></TableHeaderCell>
617
+ </TableHeaderRow>
618
+ <TableRow id="row1" navigated={true}>
619
+ <TableCell><Label>Cell A</Label></TableCell>
620
+ </TableRow>
621
+ <TableRow id="row2">
622
+ <TableCell><Label>Cell A</Label></TableCell>
623
+ </TableRow>
624
+ </Table>
625
+ );
626
+
627
+ cy.get("#row1")
628
+ .shadow()
629
+ .find("#navigated-cell")
630
+ .should("exist")
631
+ .should("have.attr", "excluded-from-navigation", "");
632
+
633
+ cy.get("#row2")
634
+ .shadow()
635
+ .find("#navigated-cell")
636
+ .should("exist")
637
+ .should("have.attr", "excluded-from-navigation", "");
638
+
639
+ cy.get("#row1")
640
+ .shadow()
641
+ .find("#navigated")
642
+ .as("navigated1");
643
+
644
+ cy.get("#row2")
645
+ .shadow()
646
+ .find("#navigated")
647
+ .then($navigated2 => {
648
+ cy.get("@navigated1")
649
+ .should($navigated1 => {
650
+ const nav1BG = getComputedStyle($navigated1[0]).backgroundColor;
651
+ const nav2BG = getComputedStyle($navigated2[0]).backgroundColor;
652
+ expect(nav1BG).to.not.be.eq(nav2BG);
653
+ });
654
+ });
655
+
656
+ cy.get("#table1")
657
+ .shadow()
658
+ .find("#table")
659
+ .should($table => {
660
+ const gridTemplateColumns = $table[0].style.gridTemplateColumns;
661
+ // eslint-disable-next-line no-unused-expressions
662
+ expect(gridTemplateColumns.endsWith("table_navigated_cell_width)")).to.be.true;
663
+ });
664
+ });
665
+ });