@ui5/webcomponents 2.8.0-rc.1 → 2.8.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 (690) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/cypress/specs/Avatar.cy.tsx +15 -0
  3. package/cypress/specs/Dialog.cy.tsx +89 -0
  4. package/cypress/specs/Input.cy.tsx +230 -1
  5. package/cypress/specs/Popover.cy.tsx +242 -0
  6. package/cypress/specs/Select.cy.tsx +15 -0
  7. package/cypress/specs/Table.cy.tsx +86 -83
  8. package/cypress/specs/TableNavigation.cy.tsx +223 -0
  9. package/cypress/specs/TableNavigationFixedHeader.cy.tsx +199 -0
  10. package/cypress/specs/TableSelection.cy.tsx +280 -0
  11. package/cypress/specs/TableSelections.cy.tsx +296 -0
  12. package/cypress/specs/Text.cy.tsx +19 -3
  13. package/cypress/specs/Tokenizer.cy.tsx +36 -0
  14. package/cypress/specs/base/Events.cy.tsx +4 -5
  15. package/dist/.tsbuildinfo +1 -1
  16. package/dist/Avatar.d.ts +4 -1
  17. package/dist/Avatar.js.map +1 -1
  18. package/dist/AvatarTemplate.js +1 -1
  19. package/dist/AvatarTemplate.js.map +1 -1
  20. package/dist/ComboBoxItemGroupTemplate.js +2 -2
  21. package/dist/ComboBoxItemGroupTemplate.js.map +1 -1
  22. package/dist/ExpandableText.d.ts +0 -1
  23. package/dist/ExpandableText.js +0 -7
  24. package/dist/ExpandableText.js.map +1 -1
  25. package/dist/ExpandableTextTemplate.js +1 -1
  26. package/dist/ExpandableTextTemplate.js.map +1 -1
  27. package/dist/Input.d.ts +1 -1
  28. package/dist/Input.js +11 -8
  29. package/dist/Input.js.map +1 -1
  30. package/dist/InputPopoverTemplate.d.ts +4 -1
  31. package/dist/InputPopoverTemplate.js +3 -2
  32. package/dist/InputPopoverTemplate.js.map +1 -1
  33. package/dist/InputTemplate.d.ts +3 -1
  34. package/dist/InputTemplate.js +2 -1
  35. package/dist/InputTemplate.js.map +1 -1
  36. package/dist/List.d.ts +5 -2
  37. package/dist/List.js +24 -2
  38. package/dist/List.js.map +1 -1
  39. package/dist/ListBoxItemGroupTemplate.d.ts +4 -0
  40. package/dist/ListBoxItemGroupTemplate.js +13 -0
  41. package/dist/ListBoxItemGroupTemplate.js.map +1 -0
  42. package/dist/ListItemGroupHeader.d.ts +6 -0
  43. package/dist/ListItemGroupHeader.js +20 -3
  44. package/dist/ListItemGroupHeader.js.map +1 -1
  45. package/dist/ListItemGroupHeaderTemplate.js +3 -3
  46. package/dist/ListItemGroupHeaderTemplate.js.map +1 -1
  47. package/dist/ListItemGroupTemplate.d.ts +1 -3
  48. package/dist/ListItemGroupTemplate.js +5 -8
  49. package/dist/ListItemGroupTemplate.js.map +1 -1
  50. package/dist/ListTemplate.js +2 -2
  51. package/dist/ListTemplate.js.map +1 -1
  52. package/dist/MultiComboBoxItemGroupTemplate.js +2 -2
  53. package/dist/MultiComboBoxItemGroupTemplate.js.map +1 -1
  54. package/dist/Popover.d.ts +0 -6
  55. package/dist/Popover.js +8 -14
  56. package/dist/Popover.js.map +1 -1
  57. package/dist/Popup.js +3 -1
  58. package/dist/Popup.js.map +1 -1
  59. package/dist/Select.d.ts +7 -0
  60. package/dist/Select.js +4 -3
  61. package/dist/Select.js.map +1 -1
  62. package/dist/SelectTemplate.js +2 -2
  63. package/dist/SelectTemplate.js.map +1 -1
  64. package/dist/SuggestionItemGroup.js +2 -0
  65. package/dist/SuggestionItemGroup.js.map +1 -1
  66. package/dist/Table.d.ts +13 -7
  67. package/dist/Table.js +26 -28
  68. package/dist/Table.js.map +1 -1
  69. package/dist/TableCellBase.d.ts +1 -0
  70. package/dist/TableCellBase.js +4 -0
  71. package/dist/TableCellBase.js.map +1 -1
  72. package/dist/TableHeaderCell.d.ts +11 -0
  73. package/dist/TableHeaderCell.js +14 -0
  74. package/dist/TableHeaderCell.js.map +1 -1
  75. package/dist/TableHeaderCellActionAI.d.ts +1 -0
  76. package/dist/TableHeaderCellActionAI.js +1 -0
  77. package/dist/TableHeaderCellActionAI.js.map +1 -1
  78. package/dist/TableHeaderRow.d.ts +0 -1
  79. package/dist/TableHeaderRow.js +1 -4
  80. package/dist/TableHeaderRow.js.map +1 -1
  81. package/dist/TableRow.d.ts +5 -3
  82. package/dist/TableRow.js +2 -9
  83. package/dist/TableRow.js.map +1 -1
  84. package/dist/TableRowAction.d.ts +10 -8
  85. package/dist/TableRowAction.js +10 -11
  86. package/dist/TableRowAction.js.map +1 -1
  87. package/dist/TableRowActionNavigation.d.ts +1 -0
  88. package/dist/TableRowActionNavigation.js +1 -0
  89. package/dist/TableRowActionNavigation.js.map +1 -1
  90. package/dist/TableRowBase.d.ts +2 -2
  91. package/dist/TableRowBase.js +9 -7
  92. package/dist/TableRowBase.js.map +1 -1
  93. package/dist/TableSelection.d.ts +9 -7
  94. package/dist/TableSelection.js +34 -30
  95. package/dist/TableSelection.js.map +1 -1
  96. package/dist/TableSelectionBase.d.ts +79 -0
  97. package/dist/TableSelectionBase.js +108 -0
  98. package/dist/TableSelectionBase.js.map +1 -0
  99. package/dist/TableSelectionMulti.d.ts +92 -0
  100. package/dist/TableSelectionMulti.js +260 -0
  101. package/dist/TableSelectionMulti.js.map +1 -0
  102. package/dist/TableSelectionSingle.d.ts +49 -0
  103. package/dist/TableSelectionSingle.js +67 -0
  104. package/dist/TableSelectionSingle.js.map +1 -0
  105. package/dist/Tokenizer.js +2 -2
  106. package/dist/Tokenizer.js.map +1 -1
  107. package/dist/bundle.esm.js +2 -0
  108. package/dist/bundle.esm.js.map +1 -1
  109. package/dist/css/themes/Avatar.css +1 -1
  110. package/dist/css/themes/AvatarGroup.css +1 -1
  111. package/dist/css/themes/Bar.css +1 -1
  112. package/dist/css/themes/Breadcrumbs.css +1 -1
  113. package/dist/css/themes/BusyIndicator.css +1 -1
  114. package/dist/css/themes/Button.css +1 -1
  115. package/dist/css/themes/ButtonBadge.css +1 -1
  116. package/dist/css/themes/Calendar.css +1 -1
  117. package/dist/css/themes/CalendarHeader.css +1 -1
  118. package/dist/css/themes/CalendarLegend.css +1 -1
  119. package/dist/css/themes/CalendarLegendItem.css +1 -1
  120. package/dist/css/themes/Card.css +1 -1
  121. package/dist/css/themes/CardHeader.css +1 -1
  122. package/dist/css/themes/Carousel.css +1 -1
  123. package/dist/css/themes/CheckBox.css +1 -1
  124. package/dist/css/themes/ColorPalette.css +1 -1
  125. package/dist/css/themes/ColorPaletteItem.css +1 -1
  126. package/dist/css/themes/ColorPalettePopover.css +1 -1
  127. package/dist/css/themes/ColorPicker.css +1 -1
  128. package/dist/css/themes/ComboBox.css +1 -1
  129. package/dist/css/themes/ComboBoxItem.css +1 -1
  130. package/dist/css/themes/DatePicker.css +1 -1
  131. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  132. package/dist/css/themes/DayPicker.css +1 -1
  133. package/dist/css/themes/Dialog.css +1 -1
  134. package/dist/css/themes/FileUploader.css +1 -1
  135. package/dist/css/themes/Form.css +1 -1
  136. package/dist/css/themes/FormItem.css +1 -1
  137. package/dist/css/themes/FormItemSpan.css +1 -1
  138. package/dist/css/themes/GrowingButton.css +1 -1
  139. package/dist/css/themes/Icon.css +1 -1
  140. package/dist/css/themes/Input.css +1 -1
  141. package/dist/css/themes/InputIcon.css +1 -1
  142. package/dist/css/themes/InputSharedStyles.css +1 -1
  143. package/dist/css/themes/Link.css +1 -1
  144. package/dist/css/themes/List.css +1 -1
  145. package/dist/css/themes/ListItem.css +1 -1
  146. package/dist/css/themes/ListItemBase.css +1 -1
  147. package/dist/css/themes/ListItemCustom.css +1 -1
  148. package/dist/css/themes/ListItemGroup.css +1 -1
  149. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  150. package/dist/css/themes/ListItemIcon.css +1 -1
  151. package/dist/css/themes/Menu.css +1 -1
  152. package/dist/css/themes/MenuItem.css +1 -1
  153. package/dist/css/themes/MessageStrip.css +1 -1
  154. package/dist/css/themes/MonthPicker.css +1 -1
  155. package/dist/css/themes/MultiComboBox.css +1 -1
  156. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  157. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  158. package/dist/css/themes/MultiInput.css +1 -1
  159. package/dist/css/themes/OptionBase.css +1 -1
  160. package/dist/css/themes/Panel.css +1 -1
  161. package/dist/css/themes/Popover.css +1 -1
  162. package/dist/css/themes/PopupsCommon.css +1 -1
  163. package/dist/css/themes/ProgressIndicator.css +1 -1
  164. package/dist/css/themes/RadioButton.css +1 -1
  165. package/dist/css/themes/RangeSlider.css +1 -1
  166. package/dist/css/themes/RatingIndicator.css +1 -1
  167. package/dist/css/themes/ResponsivePopover.css +1 -1
  168. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  169. package/dist/css/themes/SegmentedButton.css +1 -1
  170. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  171. package/dist/css/themes/Select.css +1 -1
  172. package/dist/css/themes/SliderBase.css +1 -1
  173. package/dist/css/themes/SplitButton.css +1 -1
  174. package/dist/css/themes/StepInput.css +1 -1
  175. package/dist/css/themes/SuggestionItem.css +1 -1
  176. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  177. package/dist/css/themes/Switch.css +1 -1
  178. package/dist/css/themes/TabContainer.css +1 -1
  179. package/dist/css/themes/TabInOverflow.css +1 -1
  180. package/dist/css/themes/TabInStrip.css +1 -1
  181. package/dist/css/themes/TabSemanticIcon.css +1 -1
  182. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  183. package/dist/css/themes/Table.css +1 -1
  184. package/dist/css/themes/TableCellBase.css +1 -1
  185. package/dist/css/themes/TableHeaderRow.css +1 -1
  186. package/dist/css/themes/TableRow.css +1 -1
  187. package/dist/css/themes/TableRowActionBase.css +1 -1
  188. package/dist/css/themes/TableRowBase.css +1 -1
  189. package/dist/css/themes/Tag.css +1 -1
  190. package/dist/css/themes/Text.css +1 -1
  191. package/dist/css/themes/TextArea.css +1 -1
  192. package/dist/css/themes/TimePicker.css +1 -1
  193. package/dist/css/themes/Toast.css +1 -1
  194. package/dist/css/themes/ToggleButton.css +1 -1
  195. package/dist/css/themes/Token.css +1 -1
  196. package/dist/css/themes/Tokenizer.css +1 -1
  197. package/dist/css/themes/TokenizerPopover.css +1 -1
  198. package/dist/css/themes/Toolbar.css +1 -1
  199. package/dist/css/themes/ToolbarPopover.css +1 -1
  200. package/dist/css/themes/TreeItem.css +1 -1
  201. package/dist/css/themes/ValueStateMessage.css +1 -1
  202. package/dist/css/themes/YearPicker.css +1 -1
  203. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  205. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  208. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  209. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  210. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  211. package/dist/custom-elements-internal.json +772 -34
  212. package/dist/custom-elements.json +725 -31
  213. package/dist/features/InputSuggestions.js +0 -2
  214. package/dist/features/InputSuggestions.js.map +1 -1
  215. package/dist/features/InputSuggestionsTemplate.d.ts +5 -1
  216. package/dist/features/InputSuggestionsTemplate.js +9 -5
  217. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  252. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  253. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  254. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  255. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  256. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  257. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  258. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  259. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  260. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  261. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  262. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  263. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  264. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  265. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  266. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  267. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  268. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  269. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  270. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  271. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  272. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  273. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  274. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  275. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  276. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  277. package/dist/generated/i18n/i18n-defaults.js +3 -1
  278. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  279. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +1 -1
  280. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  281. package/dist/generated/templates/TableRowTemplate.lit.js +2 -2
  282. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  283. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  284. package/dist/generated/themes/Avatar.css.js +1 -1
  285. package/dist/generated/themes/Avatar.css.js.map +1 -1
  286. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  287. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  288. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  289. package/dist/generated/themes/Bar.css.d.ts +1 -1
  290. package/dist/generated/themes/Bar.css.js +1 -1
  291. package/dist/generated/themes/Bar.css.js.map +1 -1
  292. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  293. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  294. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  295. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  296. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  297. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  298. package/dist/generated/themes/Button.css.d.ts +1 -1
  299. package/dist/generated/themes/Button.css.js +1 -1
  300. package/dist/generated/themes/Button.css.js.map +1 -1
  301. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  302. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  303. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  304. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  305. package/dist/generated/themes/Calendar.css.js +1 -1
  306. package/dist/generated/themes/Calendar.css.js.map +1 -1
  307. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  308. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  309. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  310. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  311. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  312. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  313. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  314. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  315. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  316. package/dist/generated/themes/Card.css.d.ts +1 -1
  317. package/dist/generated/themes/Card.css.js +1 -1
  318. package/dist/generated/themes/Card.css.js.map +1 -1
  319. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  320. package/dist/generated/themes/CardHeader.css.js +1 -1
  321. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  322. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  323. package/dist/generated/themes/Carousel.css.js +1 -1
  324. package/dist/generated/themes/Carousel.css.js.map +1 -1
  325. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  326. package/dist/generated/themes/CheckBox.css.js +1 -1
  327. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  328. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  329. package/dist/generated/themes/ColorPalette.css.js +1 -1
  330. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  331. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  332. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  333. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  334. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  335. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  336. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  337. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  338. package/dist/generated/themes/ColorPicker.css.js +1 -1
  339. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  340. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  341. package/dist/generated/themes/ComboBox.css.js +1 -1
  342. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  343. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  344. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  345. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  346. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  347. package/dist/generated/themes/DatePicker.css.js +1 -1
  348. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  349. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  350. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  351. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  352. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  353. package/dist/generated/themes/DayPicker.css.js +1 -1
  354. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  355. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  356. package/dist/generated/themes/Dialog.css.js +1 -1
  357. package/dist/generated/themes/Dialog.css.js.map +1 -1
  358. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  359. package/dist/generated/themes/FileUploader.css.js +1 -1
  360. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  361. package/dist/generated/themes/Form.css.d.ts +1 -1
  362. package/dist/generated/themes/Form.css.js +1 -1
  363. package/dist/generated/themes/Form.css.js.map +1 -1
  364. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  365. package/dist/generated/themes/FormItem.css.js +1 -1
  366. package/dist/generated/themes/FormItem.css.js.map +1 -1
  367. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  368. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  369. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  370. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  371. package/dist/generated/themes/GrowingButton.css.js +1 -1
  372. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  373. package/dist/generated/themes/Icon.css.d.ts +1 -1
  374. package/dist/generated/themes/Icon.css.js +1 -1
  375. package/dist/generated/themes/Icon.css.js.map +1 -1
  376. package/dist/generated/themes/Input.css.d.ts +1 -1
  377. package/dist/generated/themes/Input.css.js +1 -1
  378. package/dist/generated/themes/Input.css.js.map +1 -1
  379. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  380. package/dist/generated/themes/InputIcon.css.js +1 -1
  381. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  382. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  383. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  384. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  385. package/dist/generated/themes/Link.css.d.ts +1 -1
  386. package/dist/generated/themes/Link.css.js +1 -1
  387. package/dist/generated/themes/Link.css.js.map +1 -1
  388. package/dist/generated/themes/List.css.d.ts +1 -1
  389. package/dist/generated/themes/List.css.js +1 -1
  390. package/dist/generated/themes/List.css.js.map +1 -1
  391. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  392. package/dist/generated/themes/ListItem.css.js +1 -1
  393. package/dist/generated/themes/ListItem.css.js.map +1 -1
  394. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  395. package/dist/generated/themes/ListItemBase.css.js +1 -1
  396. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  397. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  398. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  399. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  400. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  401. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  402. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  403. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  404. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  405. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  406. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  407. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  408. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  409. package/dist/generated/themes/Menu.css.d.ts +1 -1
  410. package/dist/generated/themes/Menu.css.js +1 -1
  411. package/dist/generated/themes/Menu.css.js.map +1 -1
  412. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  413. package/dist/generated/themes/MenuItem.css.js +1 -1
  414. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  415. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  416. package/dist/generated/themes/MessageStrip.css.js +1 -1
  417. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  418. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  419. package/dist/generated/themes/MonthPicker.css.js +1 -1
  420. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  421. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  422. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  423. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  424. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  425. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  426. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  427. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  428. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  429. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  430. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  431. package/dist/generated/themes/MultiInput.css.js +1 -1
  432. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  433. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  434. package/dist/generated/themes/OptionBase.css.js +1 -1
  435. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  436. package/dist/generated/themes/Panel.css.d.ts +1 -1
  437. package/dist/generated/themes/Panel.css.js +1 -1
  438. package/dist/generated/themes/Panel.css.js.map +1 -1
  439. package/dist/generated/themes/Popover.css.d.ts +1 -1
  440. package/dist/generated/themes/Popover.css.js +1 -1
  441. package/dist/generated/themes/Popover.css.js.map +1 -1
  442. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  443. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  444. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  445. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  446. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  447. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  448. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  449. package/dist/generated/themes/RadioButton.css.js +1 -1
  450. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  451. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  452. package/dist/generated/themes/RangeSlider.css.js +1 -1
  453. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  454. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  455. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  456. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  457. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  458. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  459. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  460. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  461. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  462. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  463. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  464. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  465. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  466. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  467. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  468. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  469. package/dist/generated/themes/Select.css.d.ts +1 -1
  470. package/dist/generated/themes/Select.css.js +1 -1
  471. package/dist/generated/themes/Select.css.js.map +1 -1
  472. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  473. package/dist/generated/themes/SliderBase.css.js +1 -1
  474. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  475. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  476. package/dist/generated/themes/SplitButton.css.js +1 -1
  477. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  478. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  479. package/dist/generated/themes/StepInput.css.js +1 -1
  480. package/dist/generated/themes/StepInput.css.js.map +1 -1
  481. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  482. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  483. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  484. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  485. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  486. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  487. package/dist/generated/themes/Switch.css.d.ts +1 -1
  488. package/dist/generated/themes/Switch.css.js +1 -1
  489. package/dist/generated/themes/Switch.css.js.map +1 -1
  490. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  491. package/dist/generated/themes/TabContainer.css.js +1 -1
  492. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  493. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  494. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  495. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  496. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  497. package/dist/generated/themes/TabInStrip.css.js +1 -1
  498. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  499. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  500. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  501. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  502. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  503. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  504. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  505. package/dist/generated/themes/Table.css.d.ts +1 -1
  506. package/dist/generated/themes/Table.css.js +1 -1
  507. package/dist/generated/themes/Table.css.js.map +1 -1
  508. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  509. package/dist/generated/themes/TableCellBase.css.js +1 -1
  510. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  511. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  512. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  513. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  514. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  515. package/dist/generated/themes/TableRow.css.js +1 -1
  516. package/dist/generated/themes/TableRow.css.js.map +1 -1
  517. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  518. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  519. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  520. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  521. package/dist/generated/themes/TableRowBase.css.js +1 -1
  522. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  523. package/dist/generated/themes/Tag.css.d.ts +1 -1
  524. package/dist/generated/themes/Tag.css.js +1 -1
  525. package/dist/generated/themes/Tag.css.js.map +1 -1
  526. package/dist/generated/themes/Text.css.d.ts +1 -1
  527. package/dist/generated/themes/Text.css.js +1 -1
  528. package/dist/generated/themes/Text.css.js.map +1 -1
  529. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  530. package/dist/generated/themes/TextArea.css.js +1 -1
  531. package/dist/generated/themes/TextArea.css.js.map +1 -1
  532. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  533. package/dist/generated/themes/TimePicker.css.js +1 -1
  534. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  535. package/dist/generated/themes/Toast.css.d.ts +1 -1
  536. package/dist/generated/themes/Toast.css.js +1 -1
  537. package/dist/generated/themes/Toast.css.js.map +1 -1
  538. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  539. package/dist/generated/themes/ToggleButton.css.js +1 -1
  540. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  541. package/dist/generated/themes/Token.css.d.ts +1 -1
  542. package/dist/generated/themes/Token.css.js +1 -1
  543. package/dist/generated/themes/Token.css.js.map +1 -1
  544. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  545. package/dist/generated/themes/Tokenizer.css.js +1 -1
  546. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  547. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  548. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  549. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  550. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  551. package/dist/generated/themes/Toolbar.css.js +1 -1
  552. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  553. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  554. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  555. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  556. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  557. package/dist/generated/themes/TreeItem.css.js +1 -1
  558. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  559. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  560. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  561. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  562. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  563. package/dist/generated/themes/YearPicker.css.js +1 -1
  564. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  565. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  568. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  569. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  570. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  571. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  572. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  573. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  574. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  575. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  576. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  577. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  578. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  579. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  580. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  581. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  582. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  583. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  584. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  585. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  586. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  587. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  588. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  589. package/dist/types/ListItemAccessibleRole.d.ts +5 -0
  590. package/dist/types/ListItemAccessibleRole.js +5 -0
  591. package/dist/types/ListItemAccessibleRole.js.map +1 -1
  592. package/dist/types/TableCellHorizontalAlign.d.ts +1 -0
  593. package/dist/types/TableCellHorizontalAlign.js +1 -0
  594. package/dist/types/TableCellHorizontalAlign.js.map +1 -1
  595. package/dist/types/TableGrowingMode.d.ts +1 -0
  596. package/dist/types/TableGrowingMode.js +1 -0
  597. package/dist/types/TableGrowingMode.js.map +1 -1
  598. package/dist/types/TableOverflowMode.d.ts +1 -0
  599. package/dist/types/TableOverflowMode.js +1 -0
  600. package/dist/types/TableOverflowMode.js.map +1 -1
  601. package/dist/types/TableSelectionMode.d.ts +2 -0
  602. package/dist/types/TableSelectionMode.js +2 -0
  603. package/dist/types/TableSelectionMode.js.map +1 -1
  604. package/dist/vscode.html-custom-data.json +51 -10
  605. package/dist/web-types.json +99 -23
  606. package/package.json +10 -10
  607. package/src/AvatarTemplate.tsx +1 -1
  608. package/src/ComboBoxItemGroupTemplate.tsx +2 -2
  609. package/src/ExpandableTextTemplate.tsx +0 -1
  610. package/src/InputPopoverTemplate.tsx +5 -2
  611. package/src/InputTemplate.tsx +5 -3
  612. package/src/ListBoxItemGroupTemplate.tsx +33 -0
  613. package/src/ListItemGroupHeaderTemplate.tsx +5 -3
  614. package/src/ListItemGroupTemplate.tsx +21 -19
  615. package/src/ListTemplate.tsx +2 -1
  616. package/src/MultiComboBoxItemGroupTemplate.tsx +2 -2
  617. package/src/SelectTemplate.tsx +2 -0
  618. package/src/TableHeaderRow.hbs +1 -1
  619. package/src/TableRow.hbs +2 -2
  620. package/src/features/InputSuggestionsTemplate.tsx +12 -6
  621. package/src/i18n/messagebundle.properties +6 -0
  622. package/src/i18n/messagebundle_ar.properties +2 -0
  623. package/src/i18n/messagebundle_bg.properties +2 -0
  624. package/src/i18n/messagebundle_ca.properties +2 -0
  625. package/src/i18n/messagebundle_cnr.properties +2 -0
  626. package/src/i18n/messagebundle_cs.properties +2 -0
  627. package/src/i18n/messagebundle_cy.properties +2 -0
  628. package/src/i18n/messagebundle_da.properties +2 -0
  629. package/src/i18n/messagebundle_de.properties +2 -0
  630. package/src/i18n/messagebundle_el.properties +2 -0
  631. package/src/i18n/messagebundle_en.properties +2 -0
  632. package/src/i18n/messagebundle_en_GB.properties +2 -0
  633. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  634. package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
  635. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  636. package/src/i18n/messagebundle_es.properties +2 -0
  637. package/src/i18n/messagebundle_es_MX.properties +2 -0
  638. package/src/i18n/messagebundle_et.properties +2 -0
  639. package/src/i18n/messagebundle_fi.properties +2 -0
  640. package/src/i18n/messagebundle_fr.properties +2 -0
  641. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  642. package/src/i18n/messagebundle_hi.properties +2 -0
  643. package/src/i18n/messagebundle_hr.properties +2 -0
  644. package/src/i18n/messagebundle_hu.properties +2 -0
  645. package/src/i18n/messagebundle_id.properties +2 -0
  646. package/src/i18n/messagebundle_it.properties +2 -0
  647. package/src/i18n/messagebundle_iw.properties +2 -0
  648. package/src/i18n/messagebundle_ja.properties +2 -0
  649. package/src/i18n/messagebundle_kk.properties +2 -0
  650. package/src/i18n/messagebundle_ko.properties +2 -0
  651. package/src/i18n/messagebundle_lt.properties +2 -0
  652. package/src/i18n/messagebundle_lv.properties +2 -0
  653. package/src/i18n/messagebundle_mk.properties +2 -0
  654. package/src/i18n/messagebundle_ms.properties +2 -0
  655. package/src/i18n/messagebundle_nl.properties +2 -0
  656. package/src/i18n/messagebundle_no.properties +2 -0
  657. package/src/i18n/messagebundle_pl.properties +2 -0
  658. package/src/i18n/messagebundle_pt.properties +2 -0
  659. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  660. package/src/i18n/messagebundle_ro.properties +2 -0
  661. package/src/i18n/messagebundle_ru.properties +2 -0
  662. package/src/i18n/messagebundle_sh.properties +2 -0
  663. package/src/i18n/messagebundle_sk.properties +2 -0
  664. package/src/i18n/messagebundle_sl.properties +2 -0
  665. package/src/i18n/messagebundle_sr.properties +2 -0
  666. package/src/i18n/messagebundle_sv.properties +2 -0
  667. package/src/i18n/messagebundle_th.properties +2 -0
  668. package/src/i18n/messagebundle_tr.properties +2 -0
  669. package/src/i18n/messagebundle_uk.properties +2 -0
  670. package/src/i18n/messagebundle_vi.properties +2 -0
  671. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  672. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  673. package/src/themes/Avatar.css +51 -2
  674. package/src/themes/CheckBox.css +1 -1
  675. package/src/themes/List.css +1 -1
  676. package/src/themes/Menu.css +7 -0
  677. package/src/themes/PopupsCommon.css +7 -4
  678. package/src/themes/Tag.css +1 -6
  679. package/src/themes/Text.css +9 -5
  680. package/src/themes/Toast.css +1 -1
  681. package/src/themes/base/Avatar-parameters.css +1 -1
  682. package/src/themes/base/Toast-parameters.css +2 -2
  683. package/src/themes/sap_horizon/Avatar-parameters.css +3 -2
  684. package/src/themes/sap_horizon_dark/Avatar-parameters.css +2 -1
  685. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +3 -2
  686. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +3 -2
  687. package/dist/SuggestionItemGroupTemplate.d.ts +0 -2
  688. package/dist/SuggestionItemGroupTemplate.js +0 -5
  689. package/dist/SuggestionItemGroupTemplate.js.map +0 -1
  690. package/src/SuggestionItemGroupTemplate.tsx +0 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,53 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.8.0-rc.3](https://github.com/SAP/ui5-webcomponents/compare/v2.8.0-rc.2...v2.8.0-rc.3) (2025-02-27)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui5-input:** call change before submit event ([#10613](https://github.com/SAP/ui5-webcomponents/issues/10613)) ([3c3d641](https://github.com/SAP/ui5-webcomponents/commit/3c3d6410da70eec6f979c134539a0e2227be997b)), closes [#10534](https://github.com/SAP/ui5-webcomponents/issues/10534)
12
+ * **ui5-list:** improved acc description when groups are available ([#10561](https://github.com/SAP/ui5-webcomponents/issues/10561)) ([a7a981c](https://github.com/SAP/ui5-webcomponents/commit/a7a981c9095737941baa3c4052c4718cc9088713))
13
+ * **ui5-menu:** prevent global line-height inheritance ([#10916](https://github.com/SAP/ui5-webcomponents/issues/10916)) ([f6682b2](https://github.com/SAP/ui5-webcomponents/commit/f6682b2d076df747e74058b0b156b3cf0627952d))
14
+ * **ui5-notification-list:** improve keyboard accessibility for the "More" button ([#10822](https://github.com/SAP/ui5-webcomponents/issues/10822)) ([b659fe2](https://github.com/SAP/ui5-webcomponents/commit/b659fe2faeb42eb052dafcc0c16215a3bf1f1926))
15
+ * **ui5-popover, ui5-dialog:** fix finding keyboard focusable scroll containers ([#10891](https://github.com/SAP/ui5-webcomponents/issues/10891)) ([ed26b90](https://github.com/SAP/ui5-webcomponents/commit/ed26b9051ef02772d748de463b9b3084de12ebe8))
16
+ * **ui5-popover, ui5-dialog:** fix preventDefault for before-open and before-close events ([#10883](https://github.com/SAP/ui5-webcomponents/issues/10883)) ([e32e7ba](https://github.com/SAP/ui5-webcomponents/commit/e32e7ba83e4a950a7ad4745c302cc34b57c4cb8e))
17
+ * **ui5-text:** provide more optimal truncation for single line text ([#10794](https://github.com/SAP/ui5-webcomponents/issues/10794)) ([7e7b8ad](https://github.com/SAP/ui5-webcomponents/commit/7e7b8ad2dfa6bace21310697fac8c87f96689574))
18
+ * **ui5-tokenizer:** fix overflow mechanism ([#10901](https://github.com/SAP/ui5-webcomponents/issues/10901)) ([febd3f9](https://github.com/SAP/ui5-webcomponents/commit/febd3f9f3dbc60e4776f19ee4003c4ec072c28b9))
19
+
20
+
21
+ ### Features
22
+
23
+ * **ui5-search-field:** introduce base component ([#10922](https://github.com/SAP/ui5-webcomponents/issues/10922)) ([f4489c0](https://github.com/SAP/ui5-webcomponents/commit/f4489c0cecd8c0f2f7916b39e2183193f171f725))
24
+ * **ui5-select:** introduced tooltip property ([#10944](https://github.com/SAP/ui5-webcomponents/issues/10944)) ([c365aa3](https://github.com/SAP/ui5-webcomponents/commit/c365aa30b5abab1fda5fc109d74ab27a676badae)), closes [#10855](https://github.com/SAP/ui5-webcomponents/issues/10855)
25
+ * **ui5-table:** single and multi selection components added ([#10897](https://github.com/SAP/ui5-webcomponents/issues/10897)) ([f3b069c](https://github.com/SAP/ui5-webcomponents/commit/f3b069ce6931567f54e6671fb133c9a59318500b))
26
+ * update sap/icons to v5.11 & 4.23 ([#10930](https://github.com/SAP/ui5-webcomponents/issues/10930)) ([47b5942](https://github.com/SAP/ui5-webcomponents/commit/47b59428abf9e9dbcfd6556143efe1e1046b4c3d))
27
+
28
+
29
+
30
+
31
+
32
+ # [2.8.0-rc.2](https://github.com/SAP/ui5-webcomponents/compare/v2.8.0-rc.1...v2.8.0-rc.2) (2025-02-20)
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * **ui5-avatar:** fix acc-name announcement ([#10854](https://github.com/SAP/ui5-webcomponents/issues/10854)) ([cb37653](https://github.com/SAP/ui5-webcomponents/commit/cb37653ae80a82ba0a588d127490798f787705af)), closes [#10461](https://github.com/SAP/ui5-webcomponents/issues/10461)
38
+ * **ui5-checkbox:** ensure consistent focus behavior ([#10639](https://github.com/SAP/ui5-webcomponents/issues/10639)) ([a73c8d8](https://github.com/SAP/ui5-webcomponents/commit/a73c8d814e7769d81ba43d2239f51269a6fe0859))
39
+ * **ui5-list:** add correct focus style and accessibility roles for no-data item ([#10503](https://github.com/SAP/ui5-webcomponents/issues/10503)) ([9a0bc7c](https://github.com/SAP/ui5-webcomponents/commit/9a0bc7c33f3ff104c50e84f7ffecf69f7dfe116a)), closes [#10436](https://github.com/SAP/ui5-webcomponents/issues/10436)
40
+ * **ui5-popover:** don't close the popover if the opener is clicked ([#10780](https://github.com/SAP/ui5-webcomponents/issues/10780)) ([bc9eb08](https://github.com/SAP/ui5-webcomponents/commit/bc9eb0841074918d5c26ee7a37b51f8284ce87ae))
41
+ * **ui5-popover:** popover is opened from header slot ([#10856](https://github.com/SAP/ui5-webcomponents/issues/10856)) ([c224672](https://github.com/SAP/ui5-webcomponents/commit/c22467261d7598fdc080fde214bf737142715865)), closes [#10544](https://github.com/SAP/ui5-webcomponents/issues/10544)
42
+ * **ui5-tag:** fix tag alignment ([#10852](https://github.com/SAP/ui5-webcomponents/issues/10852)) ([ae629dc](https://github.com/SAP/ui5-webcomponents/commit/ae629dce61baa751819e7b968cb4fa779309f4e1)), closes [#10810](https://github.com/SAP/ui5-webcomponents/issues/10810)
43
+
44
+
45
+ ### Features
46
+
47
+ * **ui5-table-header-cell:** add popinHidden property ([#10834](https://github.com/SAP/ui5-webcomponents/issues/10834)) ([12e7dcd](https://github.com/SAP/ui5-webcomponents/commit/12e7dcd187f9f94150643bab7cbdc8ad7590337c))
48
+
49
+
50
+
51
+
52
+
6
53
  # [2.8.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.8.0-rc.0...v2.8.0-rc.1) (2025-02-13)
7
54
 
8
55
 
@@ -1,4 +1,5 @@
1
1
  import Avatar from "../../src/Avatar.js";
2
+ import "@ui5/webcomponents-icons/dist/supplier.js";
2
3
 
3
4
  describe("Accessibility", () => {
4
5
  it("checks if initials of avatar are correctly announced", () => {
@@ -15,4 +16,18 @@ describe("Accessibility", () => {
15
16
  .find(".ui5-avatar-root")
16
17
  .should("have.attr", "aria-label", expectedLabel);
17
18
  });
19
+
20
+ it("checks if accessible-name is correctly passed to the icon", () => {
21
+ const ACCESSIBLE_NAME = "Supplier Icon";
22
+ const ICON_NAME = "supplier";
23
+
24
+ cy.mount(<Avatar id="avatar-with-icon" icon={ICON_NAME} accessible-name={ACCESSIBLE_NAME}></Avatar>);
25
+
26
+ cy.get("#avatar-with-icon")
27
+ .shadow()
28
+ .find("ui5-icon")
29
+ .shadow()
30
+ .find("svg")
31
+ .should("have.attr", "aria-label", ACCESSIBLE_NAME);
32
+ });
18
33
  });
@@ -42,3 +42,92 @@ describe("Keyboard", () => {
42
42
  .should("be.focused");
43
43
  });
44
44
  });
45
+
46
+ describe("Events", () => {
47
+ it("before-open", () => {
48
+ cy.mount(
49
+ <>
50
+ <Dialog id="dialogId">
51
+ <div data-sap-ui-fastnavgroup="true">
52
+ <button id="first">First group focusable</button>
53
+ </div>
54
+ <div data-sap-ui-fastnavgroup="true">
55
+ <button id="second">Second group focusable</button>
56
+ </div>
57
+ </Dialog>
58
+ </>
59
+ );
60
+
61
+ cy.get("#dialogId")
62
+ .should("not.be.visible");
63
+
64
+ const preventDefault = (e : Event) => {
65
+ e.preventDefault();
66
+ };
67
+
68
+ cy.get("#dialogId").then($dialog => {
69
+ $dialog.get(0).addEventListener("before-open", preventDefault);
70
+ });
71
+
72
+ cy.get("#dialogId")
73
+ .invoke("prop", "open", true);
74
+
75
+ cy.get("#dialogId")
76
+ .should("not.be.visible");
77
+
78
+ cy.get("#dialogId").then($dialog => {
79
+ $dialog.get(0).removeEventListener("before-open", preventDefault);
80
+ });
81
+
82
+ cy.get("#dialogId")
83
+ .invoke("prop", "open", true);
84
+
85
+ cy.get("#dialogId")
86
+ .should("be.visible");
87
+ });
88
+
89
+ it("before-close", () => {
90
+ cy.mount(
91
+ <>
92
+ <Dialog id="dialogId">
93
+ <div data-sap-ui-fastnavgroup="true">
94
+ <button id="first">First group focusable</button>
95
+ </div>
96
+ <div data-sap-ui-fastnavgroup="true">
97
+ <button id="second">Second group focusable</button>
98
+ </div>
99
+ </Dialog>
100
+ </>
101
+ );
102
+
103
+ cy.get("#dialogId")
104
+ .invoke("prop", "open", true);
105
+
106
+ cy.get("#dialogId")
107
+ .should("be.visible");
108
+
109
+ const preventDefault = (e : Event) => {
110
+ e.preventDefault();
111
+ };
112
+
113
+ cy.get("#dialogId").then($dialog => {
114
+ $dialog.get(0).addEventListener("before-close", preventDefault);
115
+ });
116
+
117
+ cy.get("#dialogId")
118
+ .invoke("prop", "open", false);
119
+
120
+ cy.get("#dialogId")
121
+ .should("be.visible");
122
+
123
+ cy.get("#dialogId").then($dialog => {
124
+ $dialog.get(0).removeEventListener("before-close", preventDefault);
125
+ });
126
+
127
+ cy.get("#dialogId")
128
+ .invoke("prop", "open", false);
129
+
130
+ cy.get("#dialogId")
131
+ .should("not.be.visible");
132
+ });
133
+ });
@@ -2,6 +2,8 @@ import Input from "../../src/Input.js";
2
2
  import SuggestionItem from "../../src/SuggestionItem.js";
3
3
  import SuggestionItemCustom from "../../src/SuggestionItemCustom.js";
4
4
  import SuggestionItemGroup from "../../src/SuggestionItemGroup.js";
5
+ import Dialog from "../../src/Dialog.js";
6
+ import Button from "../../src/Button.js";
5
7
 
6
8
  describe("Input Tests", () => {
7
9
  it("tets input event prevention", () => {
@@ -122,9 +124,178 @@ describe("Input Tests", () => {
122
124
  .shadow()
123
125
  .find("[ui5-li-group-header]")
124
126
  .shadow()
125
- .find("ul")
127
+ .find("div")
126
128
  .should("not.have.attr", "tabindex", "0");
127
129
  });
130
+
131
+ it("tests submit and change event order", () => {
132
+ cy.mount(
133
+ <form>
134
+ <Input></Input>
135
+ </form>
136
+ );
137
+
138
+ cy.get("form")
139
+ .as("form");
140
+
141
+ cy.get("[ui5-input]")
142
+ .as("input");
143
+
144
+ // spy change event
145
+ cy.get<Input>("@input")
146
+ .then($input => {
147
+ $input.get(0).addEventListener("change", cy.spy().as("change"));
148
+ });
149
+
150
+ // spy submit event and prevent it
151
+ cy.get("@form")
152
+ .then($form => {
153
+ $form.get(0).addEventListener("submit", e => e.preventDefault());
154
+ $form.get(0).addEventListener("submit", cy.spy().as("submit"));
155
+ });
156
+
157
+ // check if submit is triggered after change
158
+ cy.get<Input>("@input")
159
+ .shadow()
160
+ .find("input")
161
+ .type("test{enter}");
162
+
163
+ cy.get("@change").should("have.been.calledBefore", cy.get("@submit"));
164
+ cy.get("@submit").should("have.been.calledOnce");
165
+ cy.get("@change").should("have.been.calledOnce");
166
+ });
167
+
168
+ it("tests if pressing enter twice fires submit 2 times and change once", () => {
169
+ cy.mount(
170
+ <form>
171
+ <Input></Input>
172
+ </form>
173
+ );
174
+
175
+ cy.get("form")
176
+ .as("form");
177
+
178
+ cy.get("[ui5-input]")
179
+ .as("input");
180
+
181
+ // spy change event
182
+ cy.get<Input>("@input")
183
+ .then($input => {
184
+ $input.get(0).addEventListener("change", cy.spy().as("change"));
185
+ });
186
+
187
+ // spy submit event and prevent it
188
+ cy.get("@form")
189
+ .then($form => {
190
+ $form.get(0).addEventListener("submit", e => e.preventDefault());
191
+ $form.get(0).addEventListener("submit", cy.spy().as("submit"));
192
+ });
193
+
194
+ // check if submit is triggered after change
195
+ cy.get<Input>("@input")
196
+ .shadow()
197
+ .find("input")
198
+ .type("test{enter}{enter}");
199
+
200
+ cy.get("@change").should("have.been.calledBefore", cy.get("@submit"));
201
+ cy.get("@submit").should("have.been.calledTwice");
202
+ cy.get("@change").should("have.been.calledOnce");
203
+ });
204
+
205
+ it("tests if submit is fired in case of autocomplete", () => {
206
+ cy.mount(
207
+ <form>
208
+ <Input showSuggestions={true}>
209
+ <SuggestionItem text="Hello"></SuggestionItem>
210
+ </Input>
211
+ </form>
212
+ );
213
+
214
+ cy.get("form")
215
+ .as("form");
216
+
217
+ cy.get("[ui5-input]")
218
+ .as("input");
219
+
220
+ // spy change event
221
+ cy.get<Input>("@input")
222
+ .then($input => {
223
+ $input.get(0).addEventListener("change", cy.spy().as("change"));
224
+ });
225
+
226
+ // spy submit event and prevent it
227
+ cy.get("@form")
228
+ .then($form => {
229
+ $form.get(0).addEventListener("submit", e => e.preventDefault());
230
+ $form.get(0).addEventListener("submit", cy.spy().as("submit"));
231
+ });
232
+
233
+ // checks when the submit is triggered
234
+ cy.get<Input>("@input")
235
+ .shadow()
236
+ .find("input")
237
+ .as("inner");
238
+
239
+ cy.get("@inner").realClick();
240
+ cy.get("@inner").type("H{enter}");
241
+
242
+ cy.get("@submit").should("have.not.been.called");
243
+ cy.get("@change").should("have.been.calledOnce");
244
+
245
+ cy.get("@inner").realPress("Enter");
246
+
247
+ cy.get("@submit").should("have.been.calledOnce");
248
+ cy.get("@change").should("have.been.calledOnce");
249
+ });
250
+
251
+ it("tests if submit event is fired upon item selection", () => {
252
+ cy.mount(
253
+ <form>
254
+ <Input showSuggestions={true}>
255
+ <SuggestionItem text="Hello"></SuggestionItem>
256
+ </Input>
257
+ </form>
258
+ );
259
+
260
+ cy.get("form")
261
+ .as("form");
262
+
263
+ cy.get("[ui5-input]")
264
+ .as("input");
265
+
266
+ // spy change event
267
+ cy.get<Input>("@input")
268
+ .then($input => {
269
+ $input.get(0).addEventListener("change", cy.spy().as("change"));
270
+ });
271
+
272
+ // spy submit event and prevent it
273
+ cy.get("@form")
274
+ .then($form => {
275
+ $form.get(0).addEventListener("submit", e => e.preventDefault());
276
+ $form.get(0).addEventListener("submit", cy.spy().as("submit"));
277
+ });
278
+
279
+ // checks when the submit is triggered
280
+ cy.get<Input>("@input")
281
+ .shadow()
282
+ .find("input")
283
+ .as("inner");
284
+
285
+ cy.get("@inner").realClick();
286
+ cy.get("@inner").type("H{downArrow}{enter}");
287
+
288
+ cy.get("@submit").should("have.not.been.called");
289
+ cy.get("@change").should("have.been.calledOnce");
290
+
291
+ cy.get<Input>("@input")
292
+ .shadow()
293
+ .find("input")
294
+ .type("{enter}");
295
+
296
+ cy.get("@submit").should("have.been.calledOnce");
297
+ cy.get("@change").should("have.been.calledOnce");
298
+ });
128
299
  });
129
300
 
130
301
  describe("Input general interaction", () => {
@@ -534,4 +705,62 @@ describe("Change event behavior when selecting the same suggestion item", () =>
534
705
  expect(changeCount).to.equal(1);
535
706
  });
536
707
  });
708
+
709
+ it("should not close the dialog when item is selected", () => {
710
+ cy.mount(
711
+ <>
712
+ <Button>Open</Button>
713
+ <Dialog>
714
+ <Input showSuggestions={true}>
715
+ <SuggestionItem text="First item"></SuggestionItem>
716
+ <SuggestionItem text="Second item"></SuggestionItem>
717
+ </Input>
718
+ </Dialog>
719
+ </>
720
+ );
721
+
722
+ cy.get("[ui5-button]")
723
+ .as("button");
724
+
725
+ cy.get("[ui5-dialog]")
726
+ .as("dialog");
727
+
728
+ cy.get("[ui5-input]")
729
+ .as("input");
730
+
731
+ cy.get("@button")
732
+ .then($btn => {
733
+ $btn[0].addEventListener("click", () => {
734
+ cy.get("@dialog").then($dialog => {
735
+ $dialog[0].setAttribute("open", "");
736
+ });
737
+ });
738
+ });
739
+
740
+ cy.get("@dialog")
741
+ .then($dialog => {
742
+ $dialog[0].addEventListener("close", () => {
743
+ $dialog[0].removeAttribute("open");
744
+ });
745
+ });
746
+
747
+ cy.get("@button")
748
+ .realClick();
749
+
750
+ cy.get("@input")
751
+ .realClick();
752
+
753
+ cy.get("@input")
754
+ .realType("f");
755
+
756
+ cy.get("[ui5-suggestion-item")
757
+ .eq(0)
758
+ .as("suggestion-item");
759
+
760
+ cy.get("@suggestion-item")
761
+ .click();
762
+
763
+ cy.get("@dialog")
764
+ .should("have.attr", "open");
765
+ });
537
766
  });
@@ -63,3 +63,245 @@ describe("Popover opener", () => {
63
63
  cy.get("#btnClosePopover").realClick();
64
64
  });
65
65
  });
66
+
67
+ describe("Popover interaction", () => {
68
+ describe("Automatic Closing", () => {
69
+ it("tests clicking outside the popover", () => {
70
+ cy.mount(
71
+ <>
72
+ <button id="opener">Open</button>
73
+ <Popover id="pop" open={true} opener="opener">
74
+ <Button id="btnClosePopover">Close</Button>
75
+ </Popover>
76
+ </>
77
+ );
78
+
79
+ cy.get("#pop").should("be.visible");
80
+
81
+ // act
82
+ cy.get("body").realClick();
83
+
84
+ // assert
85
+ cy.get("#pop").should("not.be.visible");
86
+ });
87
+
88
+ it("tests clicking on the opener", () => {
89
+ cy.mount(
90
+ <>
91
+ <button id="opener">Open</button>
92
+ <Popover id="pop" open={true} opener="opener">
93
+ <Button id="btnClosePopover">Close</Button>
94
+ </Popover>
95
+ </>
96
+ );
97
+
98
+ cy.get("#pop").should("be.visible");
99
+
100
+ // act
101
+ cy.get("#opener").realClick();
102
+
103
+ // assert
104
+ cy.get("#pop").should("be.visible");
105
+ });
106
+
107
+ it("tests clicking on the opener if both the popover and the opener are located in a shadow root", () => {
108
+ class OpenerShadowRootTest extends HTMLElement {
109
+ _shadow: ShadowRoot | null = null;
110
+
111
+ constructor() {
112
+ super();
113
+ }
114
+
115
+ connectedCallback() {
116
+ if (this._shadow) {
117
+ return;
118
+ }
119
+
120
+ this._shadow = this.attachShadow({ mode: "open" });
121
+
122
+ const btn = document.createElement("button");
123
+ btn.textContent = "Opener in Shadow Root";
124
+ btn.setAttribute("id", "opener");
125
+
126
+ const pop = document.createElement("ui5-popover") as Popover;
127
+ pop.opener = "opener";
128
+ pop.open = true;
129
+
130
+ this._shadow.appendChild(btn);
131
+ this._shadow.appendChild(pop);
132
+ }
133
+ }
134
+
135
+ cy.window().then(win => {
136
+ win.customElements.define("opener-shadow-root-test", OpenerShadowRootTest);
137
+ });
138
+
139
+ cy.mount(
140
+ <>
141
+ {/* @ts-expect-error */}
142
+ <opener-shadow-root-test id="openerShadowRooTest"></opener-shadow-root-test>
143
+ </>
144
+ );
145
+
146
+ // assert
147
+ cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").should("be.visible");
148
+
149
+ // act
150
+ cy.get("#openerShadowRooTest").shadow().find("button").realClick();
151
+
152
+ // assert
153
+ cy.get("#openerShadowRooTest").shadow().find("[ui5-popover]").should("be.visible");
154
+ });
155
+ });
156
+ });
157
+
158
+ describe("Focusing", () => {
159
+ it("tests no focusable elements, but content is scrolling", () => {
160
+ cy.mount(
161
+ <>
162
+ <Button id="btnOpen">Open</Button>
163
+ <Popover id="popoverId"
164
+ style="width: 10rem; height: 10rem;"
165
+ opener="btnOpen">
166
+ <div>
167
+ Note: The content of the prop will be rendered into a by assigning the
168
+ respective slot attribute (slot="footer"). Since you can't change the
169
+ DOM order of slots when declaring them within a prop, it might prove
170
+ beneficial to manually mount them as part of the component's children,
171
+ especially when facing problems with the reading order of screen
172
+ readers. Note: When passing a custom React component to this prop, you
173
+ have to make sure your component reads the slot prop and appends it to
174
+ the most outer element of your component. Learn more about it here.
175
+ </div>
176
+ </Popover>
177
+ </>
178
+ );
179
+
180
+ // act
181
+ cy.get("#popoverId").invoke("prop", "open", "true");
182
+
183
+ cy.get("#popoverId")
184
+ .shadow()
185
+ .find(".ui5-popup-content")
186
+ .should("be.focused");
187
+ });
188
+
189
+ it("tests first element is keyboard focusable scroll container", () => {
190
+ cy.mount(
191
+ <>
192
+ <Button id="btnOpen">Open</Button>
193
+ <Popover id="popoverId"
194
+ opener="btnOpen">
195
+ <div id="innerContent" style="width: 10rem; height: 10rem; overflow-y: auto;">
196
+ Note: The content of the prop will be rendered into a by assigning the
197
+ respective slot attribute (slot="footer"). Since you can't change the
198
+ DOM order of slots when declaring them within a prop, it might prove
199
+ beneficial to manually mount them as part of the component's children,
200
+ especially when facing problems with the reading order of screen
201
+ readers. Note: When passing a custom React component to this prop, you
202
+ have to make sure your component reads the slot prop and appends it to
203
+ the most outer element of your component. Learn more about it here.
204
+ </div>
205
+ <Button>Button</Button>
206
+ </Popover>
207
+ </>
208
+ );
209
+
210
+ // act
211
+ cy.get("#popoverId").invoke("prop", "open", "true");
212
+
213
+ cy.get("#innerContent")
214
+ .should("be.focused");
215
+ });
216
+ });
217
+
218
+ describe("Events", () => {
219
+ it("before-open", () => {
220
+ cy.mount(
221
+ <>
222
+ <Button id="btnOpenPopover">Open</Button>
223
+ <Popover id="popoverId" opener="btnOpenPopover">
224
+ <div data-sap-ui-fastnavgroup="true">
225
+ <button id="first">First group focusable</button>
226
+ </div>
227
+ <div data-sap-ui-fastnavgroup="true">
228
+ <button id="second">Second group focusable</button>
229
+ </div>
230
+ </Popover>
231
+ </>
232
+ );
233
+
234
+ cy.get("#popoverId")
235
+ .should("not.be.visible");
236
+
237
+ const preventDefault = (e : Event) => {
238
+ e.preventDefault();
239
+ };
240
+
241
+ cy.get("#popoverId").then($dialog => {
242
+ $dialog.get(0).addEventListener("before-open", preventDefault);
243
+ });
244
+
245
+ cy.get("#popoverId")
246
+ .invoke("prop", "open", true);
247
+
248
+ cy.get("#popoverId")
249
+ .should("not.be.visible");
250
+
251
+ cy.get("#popoverId").then($popover => {
252
+ $popover.get(0).removeEventListener("before-open", preventDefault);
253
+ });
254
+
255
+ cy.get("#popoverId")
256
+ .invoke("prop", "open", true);
257
+
258
+ cy.get("#popoverId")
259
+ .should("be.visible");
260
+ });
261
+
262
+ it("before-close", () => {
263
+ cy.mount(
264
+ <>
265
+ <Button id="btnOpenPopover">Open</Button>
266
+ <Popover id="popoverId" opener="btnOpenPopover">
267
+ <div data-sap-ui-fastnavgroup="true">
268
+ <button id="first">First group focusable</button>
269
+ </div>
270
+ <div data-sap-ui-fastnavgroup="true">
271
+ <button id="second">Second group focusable</button>
272
+ </div>
273
+ </Popover>
274
+ </>
275
+ );
276
+
277
+ cy.get("#popoverId")
278
+ .invoke("prop", "open", true);
279
+
280
+ cy.get("#popoverId")
281
+ .should("be.visible");
282
+
283
+ const preventDefault = (e : Event) => {
284
+ e.preventDefault();
285
+ };
286
+
287
+ cy.get("#popoverId").then($popover => {
288
+ $popover.get(0).addEventListener("before-close", preventDefault);
289
+ });
290
+
291
+ cy.get("#popoverId")
292
+ .invoke("prop", "open", false);
293
+
294
+ cy.get("#popoverId")
295
+ .should("be.visible");
296
+
297
+ cy.get("#popoverId").then($popover => {
298
+ $popover.get(0).removeEventListener("before-close", preventDefault);
299
+ });
300
+
301
+ cy.get("#popoverId")
302
+ .invoke("prop", "open", false);
303
+
304
+ cy.get("#popoverId")
305
+ .should("not.be.visible");
306
+ });
307
+ });
@@ -35,6 +35,21 @@ describe("Select - Accessibility", () => {
35
35
  .find("li.ui5-li-root")
36
36
  .should("have.attr", "title", EXPECTED_TOOLTIP);
37
37
  });
38
+
39
+ it("setting tooltip on the host is reflected on the select's shadow dom root", () => {
40
+ cy.mount(<Select tooltip="Go home">
41
+ <Option value="1">Option 1</Option>
42
+ <OptionCustom value="2">Option 2</OptionCustom>
43
+ </Select>);
44
+
45
+ cy.get("[ui5-select]")
46
+ .shadow()
47
+ .find(".ui5-select-root")
48
+ .as("select");
49
+
50
+ cy.get("@select")
51
+ .should("have.attr", "title", "Go home");
52
+ });
38
53
  });
39
54
 
40
55
  describe("Select - Popover", () => {