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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cypress/specs/Eventing.cy.ts +44 -0
  3. package/cypress/specs/F6.cy.ts +659 -0
  4. package/cypress/specs/Form.cy.ts +381 -0
  5. package/cypress/specs/FormSupport.cy.ts +896 -0
  6. package/cypress/specs/LitKeyFunction.cy.ts +50 -0
  7. package/cypress/specs/RTL.cy.ts +19 -0
  8. package/cypress/specs/base/AriaLabelHelper.cy.ts +282 -0
  9. package/cypress/specs/base/IconCollection.cy.ts +58 -0
  10. package/cypress/specs/base/IgnoreCustomElements.cy.ts +35 -0
  11. package/cypress/specs/base/InvisibleMessage.cy.ts +31 -0
  12. package/cypress/specs/base/Tooltips.cy.ts +55 -0
  13. package/cypress/specs/base/css/redfish.custom.theme.css +13 -0
  14. package/cypress.config.js +3 -1
  15. package/dist/.tsbuildinfo +1 -1
  16. package/dist/Calendar.js +4 -1
  17. package/dist/Calendar.js.map +1 -1
  18. package/dist/List.d.ts +2 -0
  19. package/dist/List.js +19 -15
  20. package/dist/List.js.map +1 -1
  21. package/dist/MultiComboBox.d.ts +1 -0
  22. package/dist/MultiComboBox.js +4 -1
  23. package/dist/MultiComboBox.js.map +1 -1
  24. package/dist/TabContainer.js +37 -31
  25. package/dist/TabContainer.js.map +1 -1
  26. package/dist/bundle.common.bootstrap.d.ts +11 -0
  27. package/dist/bundle.common.bootstrap.js +2 -0
  28. package/dist/bundle.common.bootstrap.js.map +1 -1
  29. package/dist/bundle.esm.d.ts +11 -0
  30. package/dist/css/themes/Avatar.css +1 -1
  31. package/dist/css/themes/AvatarGroup.css +1 -1
  32. package/dist/css/themes/Bar.css +1 -1
  33. package/dist/css/themes/Breadcrumbs.css +1 -1
  34. package/dist/css/themes/BusyIndicator.css +1 -1
  35. package/dist/css/themes/Button.css +1 -1
  36. package/dist/css/themes/Calendar.css +1 -1
  37. package/dist/css/themes/CalendarHeader.css +1 -1
  38. package/dist/css/themes/CalendarLegend.css +1 -1
  39. package/dist/css/themes/CalendarLegendItem.css +1 -1
  40. package/dist/css/themes/Card.css +1 -1
  41. package/dist/css/themes/CardHeader.css +1 -1
  42. package/dist/css/themes/Carousel.css +1 -1
  43. package/dist/css/themes/CheckBox.css +1 -1
  44. package/dist/css/themes/ColorPalette.css +1 -1
  45. package/dist/css/themes/ColorPaletteItem.css +1 -1
  46. package/dist/css/themes/ColorPalettePopover.css +1 -1
  47. package/dist/css/themes/ColorPicker.css +1 -1
  48. package/dist/css/themes/ComboBox.css +1 -1
  49. package/dist/css/themes/DatePicker.css +1 -1
  50. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  51. package/dist/css/themes/DayPicker.css +1 -1
  52. package/dist/css/themes/Dialog.css +1 -1
  53. package/dist/css/themes/FileUploader.css +1 -1
  54. package/dist/css/themes/Form.css +1 -1
  55. package/dist/css/themes/FormItem.css +1 -1
  56. package/dist/css/themes/FormLabelSpan.css +1 -1
  57. package/dist/css/themes/GrowingButton.css +1 -1
  58. package/dist/css/themes/Icon.css +1 -1
  59. package/dist/css/themes/Input.css +1 -1
  60. package/dist/css/themes/InputIcon.css +1 -1
  61. package/dist/css/themes/InputSharedStyles.css +1 -1
  62. package/dist/css/themes/Link.css +1 -1
  63. package/dist/css/themes/List.css +1 -1
  64. package/dist/css/themes/ListItem.css +1 -1
  65. package/dist/css/themes/ListItemBase.css +1 -1
  66. package/dist/css/themes/ListItemCustom.css +1 -1
  67. package/dist/css/themes/ListItemGroup.css +1 -1
  68. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  69. package/dist/css/themes/ListItemIcon.css +1 -1
  70. package/dist/css/themes/Menu.css +1 -1
  71. package/dist/css/themes/MenuItem.css +1 -1
  72. package/dist/css/themes/MessageStrip.css +1 -1
  73. package/dist/css/themes/MonthPicker.css +1 -1
  74. package/dist/css/themes/MultiComboBox.css +1 -1
  75. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  76. package/dist/css/themes/MultiInput.css +1 -1
  77. package/dist/css/themes/NavigationMenu.css +1 -1
  78. package/dist/css/themes/NavigationMenuItem.css +1 -1
  79. package/dist/css/themes/OptionBase.css +1 -1
  80. package/dist/css/themes/Panel.css +1 -1
  81. package/dist/css/themes/Popover.css +1 -1
  82. package/dist/css/themes/PopupsCommon.css +1 -1
  83. package/dist/css/themes/ProgressIndicator.css +1 -1
  84. package/dist/css/themes/RadioButton.css +1 -1
  85. package/dist/css/themes/RangeSlider.css +1 -1
  86. package/dist/css/themes/RatingIndicator.css +1 -1
  87. package/dist/css/themes/ResponsivePopover.css +1 -1
  88. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  89. package/dist/css/themes/SegmentedButton.css +1 -1
  90. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  91. package/dist/css/themes/Select.css +1 -1
  92. package/dist/css/themes/SliderBase.css +1 -1
  93. package/dist/css/themes/SplitButton.css +1 -1
  94. package/dist/css/themes/StepInput.css +1 -1
  95. package/dist/css/themes/SuggestionItem.css +1 -1
  96. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  97. package/dist/css/themes/Switch.css +1 -1
  98. package/dist/css/themes/TabContainer.css +1 -1
  99. package/dist/css/themes/TabInOverflow.css +1 -1
  100. package/dist/css/themes/TabInStrip.css +1 -1
  101. package/dist/css/themes/TabSemanticIcon.css +1 -1
  102. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  103. package/dist/css/themes/Table.css +1 -1
  104. package/dist/css/themes/TableCellBase.css +1 -1
  105. package/dist/css/themes/TableHeaderRow.css +1 -1
  106. package/dist/css/themes/TableRow.css +1 -1
  107. package/dist/css/themes/TableRowBase.css +1 -1
  108. package/dist/css/themes/Tag.css +1 -1
  109. package/dist/css/themes/Text.css +1 -1
  110. package/dist/css/themes/TextArea.css +1 -1
  111. package/dist/css/themes/TimePicker.css +1 -1
  112. package/dist/css/themes/Toast.css +1 -1
  113. package/dist/css/themes/ToggleButton.css +1 -1
  114. package/dist/css/themes/Token.css +1 -1
  115. package/dist/css/themes/Tokenizer.css +1 -1
  116. package/dist/css/themes/TokenizerPopover.css +1 -1
  117. package/dist/css/themes/Toolbar.css +1 -1
  118. package/dist/css/themes/ToolbarPopover.css +1 -1
  119. package/dist/css/themes/TreeItem.css +1 -1
  120. package/dist/css/themes/ValueStateMessage.css +1 -1
  121. package/dist/css/themes/YearPicker.css +1 -1
  122. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  133. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  134. package/dist/custom-elements-internal.json +52 -0
  135. package/dist/custom-elements.json +25 -0
  136. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  148. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  149. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  153. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  154. package/dist/generated/themes/Avatar.css.js +1 -1
  155. package/dist/generated/themes/Avatar.css.js.map +1 -1
  156. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  157. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  158. package/dist/generated/themes/Bar.css.js +1 -1
  159. package/dist/generated/themes/Bar.css.js.map +1 -1
  160. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  161. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  162. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  163. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  164. package/dist/generated/themes/Button.css.js +1 -1
  165. package/dist/generated/themes/Button.css.js.map +1 -1
  166. package/dist/generated/themes/Calendar.css.js +1 -1
  167. package/dist/generated/themes/Calendar.css.js.map +1 -1
  168. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  169. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  170. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  171. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  172. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  173. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  174. package/dist/generated/themes/Card.css.js +1 -1
  175. package/dist/generated/themes/Card.css.js.map +1 -1
  176. package/dist/generated/themes/CardHeader.css.js +1 -1
  177. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  178. package/dist/generated/themes/Carousel.css.js +1 -1
  179. package/dist/generated/themes/Carousel.css.js.map +1 -1
  180. package/dist/generated/themes/CheckBox.css.js +1 -1
  181. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  182. package/dist/generated/themes/ColorPalette.css.js +1 -1
  183. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  184. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  185. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  186. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  187. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  188. package/dist/generated/themes/ColorPicker.css.js +1 -1
  189. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  190. package/dist/generated/themes/ComboBox.css.js +1 -1
  191. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  192. package/dist/generated/themes/DatePicker.css.js +1 -1
  193. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  194. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  195. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  196. package/dist/generated/themes/DayPicker.css.js +1 -1
  197. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  198. package/dist/generated/themes/Dialog.css.js +1 -1
  199. package/dist/generated/themes/Dialog.css.js.map +1 -1
  200. package/dist/generated/themes/FileUploader.css.js +1 -1
  201. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  202. package/dist/generated/themes/Form.css.js +1 -1
  203. package/dist/generated/themes/Form.css.js.map +1 -1
  204. package/dist/generated/themes/FormItem.css.js +1 -1
  205. package/dist/generated/themes/FormItem.css.js.map +1 -1
  206. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  207. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  208. package/dist/generated/themes/GrowingButton.css.js +1 -1
  209. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  210. package/dist/generated/themes/Icon.css.js +1 -1
  211. package/dist/generated/themes/Icon.css.js.map +1 -1
  212. package/dist/generated/themes/Input.css.js +1 -1
  213. package/dist/generated/themes/Input.css.js.map +1 -1
  214. package/dist/generated/themes/InputIcon.css.js +1 -1
  215. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  216. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  217. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  218. package/dist/generated/themes/Link.css.js +1 -1
  219. package/dist/generated/themes/Link.css.js.map +1 -1
  220. package/dist/generated/themes/List.css.js +1 -1
  221. package/dist/generated/themes/List.css.js.map +1 -1
  222. package/dist/generated/themes/ListItem.css.js +1 -1
  223. package/dist/generated/themes/ListItem.css.js.map +1 -1
  224. package/dist/generated/themes/ListItemBase.css.js +1 -1
  225. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  226. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  227. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  228. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  229. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  230. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  231. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  232. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  233. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  234. package/dist/generated/themes/Menu.css.js +1 -1
  235. package/dist/generated/themes/Menu.css.js.map +1 -1
  236. package/dist/generated/themes/MenuItem.css.js +1 -1
  237. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  238. package/dist/generated/themes/MessageStrip.css.js +1 -1
  239. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  240. package/dist/generated/themes/MonthPicker.css.js +1 -1
  241. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  242. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  243. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  244. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  245. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  246. package/dist/generated/themes/MultiInput.css.js +1 -1
  247. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  248. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  249. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  250. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  251. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  252. package/dist/generated/themes/OptionBase.css.js +1 -1
  253. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  254. package/dist/generated/themes/Panel.css.js +1 -1
  255. package/dist/generated/themes/Panel.css.js.map +1 -1
  256. package/dist/generated/themes/Popover.css.js +1 -1
  257. package/dist/generated/themes/Popover.css.js.map +1 -1
  258. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  259. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  260. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  261. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  262. package/dist/generated/themes/RadioButton.css.js +1 -1
  263. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  264. package/dist/generated/themes/RangeSlider.css.js +1 -1
  265. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  266. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  267. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  268. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  269. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  270. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  271. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  272. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  273. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  274. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  275. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  276. package/dist/generated/themes/Select.css.js +1 -1
  277. package/dist/generated/themes/Select.css.js.map +1 -1
  278. package/dist/generated/themes/SliderBase.css.js +1 -1
  279. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  280. package/dist/generated/themes/SplitButton.css.js +1 -1
  281. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  282. package/dist/generated/themes/StepInput.css.js +1 -1
  283. package/dist/generated/themes/StepInput.css.js.map +1 -1
  284. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  285. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  286. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  287. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  288. package/dist/generated/themes/Switch.css.js +1 -1
  289. package/dist/generated/themes/Switch.css.js.map +1 -1
  290. package/dist/generated/themes/TabContainer.css.js +1 -1
  291. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  292. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  293. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  294. package/dist/generated/themes/TabInStrip.css.js +1 -1
  295. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  296. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  297. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  298. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  299. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  300. package/dist/generated/themes/Table.css.js +1 -1
  301. package/dist/generated/themes/Table.css.js.map +1 -1
  302. package/dist/generated/themes/TableCellBase.css.js +1 -1
  303. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  304. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  305. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  306. package/dist/generated/themes/TableRow.css.js +1 -1
  307. package/dist/generated/themes/TableRow.css.js.map +1 -1
  308. package/dist/generated/themes/TableRowBase.css.js +1 -1
  309. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  310. package/dist/generated/themes/Tag.css.js +1 -1
  311. package/dist/generated/themes/Tag.css.js.map +1 -1
  312. package/dist/generated/themes/Text.css.js +1 -1
  313. package/dist/generated/themes/Text.css.js.map +1 -1
  314. package/dist/generated/themes/TextArea.css.js +1 -1
  315. package/dist/generated/themes/TextArea.css.js.map +1 -1
  316. package/dist/generated/themes/TimePicker.css.js +1 -1
  317. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  318. package/dist/generated/themes/Toast.css.js +1 -1
  319. package/dist/generated/themes/Toast.css.js.map +1 -1
  320. package/dist/generated/themes/ToggleButton.css.js +1 -1
  321. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  322. package/dist/generated/themes/Token.css.js +1 -1
  323. package/dist/generated/themes/Token.css.js.map +1 -1
  324. package/dist/generated/themes/Tokenizer.css.js +1 -1
  325. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  326. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  327. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  328. package/dist/generated/themes/Toolbar.css.js +1 -1
  329. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  330. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  331. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  332. package/dist/generated/themes/TreeItem.css.js +1 -1
  333. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  334. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  335. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  336. package/dist/generated/themes/YearPicker.css.js +1 -1
  337. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  338. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  340. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  344. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  345. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  346. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  347. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  348. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  349. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  350. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  351. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  352. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  353. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  354. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  355. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  356. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  357. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  358. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  359. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  360. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  361. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  362. package/dist/types/NotificationListGrowingMode.d.ts +18 -0
  363. package/dist/types/NotificationListGrowingMode.js +20 -0
  364. package/dist/types/NotificationListGrowingMode.js.map +1 -0
  365. package/dist/vscode.html-custom-data.json +1 -1
  366. package/dist/web-types.json +10 -2
  367. package/package.json +9 -9
  368. package/src/Link.hbs +1 -0
  369. package/src/List.hbs +2 -1
  370. package/src/SegmentedButtonItem.hbs +1 -1
  371. package/src/themes/Breadcrumbs.css +10 -0
  372. package/src/themes/Dialog.css +5 -1
  373. package/src/themes/GrowingButton.css +1 -1
  374. package/src/themes/Popover.css +2 -1
  375. package/src/themes/base/Dialog-parameters.css +0 -1
  376. package/src/themes/base/PopupBlockLayer-parameters.css +1 -0
  377. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +0 -1
  378. package/src/themes/sap_fiori_3_hcb/PopupBlockLayer-parameters.css +5 -0
  379. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  380. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +0 -1
  381. package/src/themes/sap_fiori_3_hcw/PopupBlockLayer-parameters.css +5 -0
  382. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  383. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +0 -1
  384. package/src/themes/sap_horizon_hcb/PopupBlockLayer-parameters.css +5 -0
  385. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  386. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +0 -1
  387. package/src/themes/sap_horizon_hcw/PopupBlockLayer-parameters.css +5 -0
  388. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
@@ -0,0 +1,659 @@
1
+ import { html } from "lit";
2
+ import "@ui5/webcomponents-base/dist/features/F6Navigation.js";
3
+ import "../../src/Button.js";
4
+
5
+ describe("F6 navigation", () => {
6
+ describe("F6 Forward navigation", () => {
7
+ it("tests navigation", () => {
8
+ cy.mount(html`<div>
9
+ <div class="section">
10
+ <button id="before">Before element</button>
11
+ </div>
12
+ <div class="section" data-sap-ui-fastnavgroup="true">
13
+ <ui5-button id="first">First focusable</ui5-button>
14
+ </div>
15
+ <div class="section">
16
+ <ui5-button>Something focusable</ui5-button>
17
+ </div>
18
+ <div class="section" data-sap-ui-fastnavgroup="true">
19
+ <ui5-button id="second">Second focusable</ui5-button>
20
+ </div>
21
+ <div class="section">
22
+ <ui5-button>Something focusable</ui5-button>
23
+ </div>
24
+ <div class="section" data-sap-ui-fastnavgroup="true">
25
+ <ui5-button id="third">Third focusable</ui5-button>
26
+ </div>
27
+ <div class="section">
28
+ <ui5-button>After Element</ui5-button>
29
+ </div>
30
+ </div`);
31
+
32
+ // act
33
+ cy.get("#before").focus();
34
+ cy.realPress("F6");
35
+
36
+ // assert 1st group is focused
37
+ cy.get("#first")
38
+ .should("be.focused");
39
+
40
+ // act
41
+ cy.realPress("F6");
42
+
43
+ // assert 2nd group is focused
44
+ cy.get("#second")
45
+ .should("be.focused");
46
+
47
+ // act
48
+ cy.realPress("F6");
49
+
50
+ // assert 3rd group is focused
51
+ cy.get("#third")
52
+ .should("be.focused");
53
+
54
+ // act
55
+ cy.realPress("F6");
56
+
57
+ // assert 1st group is focused agian
58
+ cy.get("#first")
59
+ .should("be.focused");
60
+ });
61
+
62
+ it("tests navigation with empty group", () => {
63
+ cy.mount(html`<div>
64
+ <div class="section">
65
+ <button id="before">Before element</button>
66
+ </div>
67
+ <div class="section" data-sap-ui-fastnavgroup="true">
68
+ <ui5-button id="first">First focusable</ui5-button>
69
+ </div>
70
+ <div class="section">
71
+ <ui5-button>Something focusable</ui5-button>
72
+ </div>
73
+ <div class="section" data-sap-ui-fastnavgroup="true">
74
+ Group without focusable element
75
+ </div>
76
+ <div class="section">
77
+ <ui5-button>Something focusable</ui5-button>
78
+ </div>
79
+ <div class="section" data-sap-ui-fastnavgroup="true">
80
+ <ui5-button id="second">Second focusable</ui5-button>
81
+ </div>
82
+ <div class="section">
83
+ <ui5-button>After Element</ui5-button>
84
+ </div>
85
+ </div`);
86
+
87
+ // act
88
+ cy.get("#before").focus();
89
+ cy.realPress("F6");
90
+
91
+ // assert 1st group is focused
92
+ cy.get("#first")
93
+ .should("be.focused");
94
+
95
+ // act
96
+ cy.realPress("F6");
97
+
98
+ // assert 2nd group is focused (an empty group is skipped)
99
+ cy.get("#second")
100
+ .should("be.focused");
101
+
102
+ // act
103
+ cy.realPress("F6");
104
+
105
+ // assert 1st group is focused agian
106
+ cy.get("#first")
107
+ .should("be.focused");
108
+ });
109
+
110
+ it("tests navigation with nested groups", () => {
111
+ cy.mount(html`<div class="section">
112
+ <button id="before">Before element</button>
113
+ </div>
114
+ <div class="section" data-sap-ui-fastnavgroup="true">
115
+ <ui5-button id="first">First focusable</ui5-button>
116
+ <div class="section" data-sap-ui-fastnavgroup="true">
117
+ <ui5-button id="second">Second focusable</ui5-button>
118
+ </div>
119
+ </div>
120
+ <div class="section">
121
+ <ui5-button>Something focusable</ui5-button>
122
+ </div>
123
+ <div class="section" data-sap-ui-fastnavgroup="true">
124
+ <ui5-button id="third">Third focusable</ui5-button>
125
+ </div>
126
+ <div class="section">
127
+ <ui5-button>After Element</ui5-button>
128
+ </div>`);
129
+
130
+ // act
131
+ cy.get("#before").focus();
132
+ cy.realPress("F6");
133
+
134
+ // assert 1st group is focused
135
+ cy.get("#first")
136
+ .should("be.focused");
137
+
138
+ // act
139
+ cy.realPress("F6");
140
+
141
+ // assert 2nd group is focused (an empty group is skipped)
142
+ cy.get("#second")
143
+ .should("be.focused");
144
+
145
+ // act
146
+ cy.realPress("F6");
147
+
148
+ // assert 3rd group is focused
149
+ cy.get("#third")
150
+ .should("be.focused");
151
+
152
+ // act
153
+ cy.realPress("F6");
154
+
155
+ // assert 1st group is focused agian
156
+ cy.get("#first")
157
+ .should("be.focused");
158
+ });
159
+
160
+ it("tests navigation with nesting inside empty fastnav-group parent", () => {
161
+ cy.mount(html`<div class="section">
162
+ <button id="before">Before element</button>
163
+ </div>
164
+ <div class="section" data-sap-ui-fastnavgroup="true">
165
+ <div class="section" data-sap-ui-fastnavgroup="true">
166
+ <ui5-button id="first">First focusable</ui5-button>
167
+ </div>
168
+ </div>
169
+ <div class="section">
170
+ <ui5-button>Something focusable</ui5-button>
171
+ </div>
172
+ <div class="section" data-sap-ui-fastnavgroup="true">
173
+ <div class="section" data-sap-ui-fastnavgroup="true">
174
+ <ui5-button id="second">First focusable</ui5-button>
175
+ </div>
176
+ </div>
177
+ <div class="section">
178
+ <ui5-button>Something focusable</ui5-button>
179
+ </div>
180
+ <div class="section" data-sap-ui-fastnavgroup="true">
181
+ <ui5-button id="third">Second focusable</ui5-button>
182
+ </div>
183
+ <div class="section">
184
+ <ui5-button>After Element</ui5-button>
185
+ </div>`);
186
+
187
+ // act
188
+ cy.get("#before").focus();
189
+ cy.realPress("F6");
190
+
191
+ // assert 1st group is focused
192
+ cy.get("#first")
193
+ .should("be.focused");
194
+
195
+ // act
196
+ cy.realPress("F6");
197
+
198
+ // assert 2nd group is focused (an empty group is skipped)
199
+ cy.get("#second")
200
+ .should("be.focused");
201
+
202
+ // act
203
+ cy.get("#second").realPress("F6");
204
+
205
+ // assert 3rd group is focused
206
+ cy.get("#third")
207
+ .should("be.focused");
208
+
209
+ // act
210
+ cy.realPress("F6");
211
+
212
+ // assert 1st group is focused agian
213
+ cy.get("#first")
214
+ .should("be.focused");
215
+ });
216
+
217
+ it("tests navigation with group as a focusable element", () => {
218
+ cy.mount(html`<div class="section">
219
+ <button id="before">Before element</button>
220
+ </div>
221
+ <div class="section" data-sap-ui-fastnavgroup="true">
222
+ <ui5-button id="first">First focusable</ui5-button>
223
+ </div>
224
+ <div class="section">
225
+ <ui5-button>Something focusable</ui5-button>
226
+ </div>
227
+ <div class="section" tabindex="0" id="second" data-sap-ui-fastnavgroup="true">
228
+ Second focusable
229
+ </div>
230
+ <div class="section">
231
+ <ui5-button>Something focusable</ui5-button>
232
+ </div>
233
+ <div class="section" data-sap-ui-fastnavgroup="true">
234
+ <ui5-button id="third">Third focusable</ui5-button>
235
+ </div>
236
+ <div class="section">
237
+ <ui5-button>After Element</ui5-button>
238
+ </div>`);
239
+
240
+ // act
241
+ cy.get("#before").focus();
242
+ cy.realPress("F6");
243
+
244
+ // assert 1st group is focused
245
+ cy.get("#first")
246
+ .should("be.focused");
247
+
248
+ // act
249
+ cy.get("#first").realPress("F6");
250
+
251
+ // assert 2nd group is focused (an empty group is skipped)
252
+ cy.get("#second")
253
+ .should("be.focused");
254
+
255
+ // act
256
+ cy.realPress("F6");
257
+
258
+ // assert 3rd group is focused
259
+ cy.get("#third")
260
+ .should("be.focused");
261
+
262
+ // act
263
+ cy.realPress("F6");
264
+
265
+ // assert 1st group is focused agian
266
+ cy.get("#first")
267
+ .should("be.focused");
268
+ });
269
+
270
+ it("tests navigation without a focusable element", () => {
271
+ cy.mount(html`<div class="section">
272
+ <ui5-button id="first">Before element</ui5-button>
273
+ </div>
274
+ <div class="section" data-sap-ui-fastnavgroup="true">
275
+ Group without focusable element
276
+ </div>
277
+ <div class="section">
278
+ <ui5-button>Something focusable</ui5-button>
279
+ </div>
280
+ <div class="section" data-sap-ui-fastnavgroup="true">
281
+ Group without focusable element
282
+ </div>
283
+ <div class="section">
284
+ <ui5-button>Something focusable</ui5-button>
285
+ </div>
286
+ <div class="section">
287
+ <ui5-button>After Element</ui5-button>
288
+ </div>`);
289
+
290
+ // act
291
+ cy.get("#first")
292
+ .realClick();
293
+
294
+ // assert clicked btn is also the focused element
295
+ cy.get("#first")
296
+ .should("be.focused");
297
+
298
+ // act
299
+ cy.realPress("F6");
300
+
301
+ // assert same button remains focused as there is no fasnav group with focusable elements
302
+ cy.get("#first")
303
+ .should("be.focused");
304
+ });
305
+
306
+ it("tests navigation with a single group", () => {
307
+ cy.mount(html`<div class="section">
308
+ <button id="before">Before element</button>
309
+ </div>
310
+ <div class="section" data-sap-ui-fastnavgroup="true">
311
+ <ui5-button id="first">Before element</ui5-button>
312
+ </div>
313
+ <div class="section">
314
+ <ui5-button>Something focusable</ui5-button>
315
+ </div>
316
+ <div class="section">
317
+ <ui5-button>Something focusable</ui5-button>
318
+ </div>
319
+ <div class="section">
320
+ <ui5-button>After Element</ui5-button>
321
+ </div>`);
322
+
323
+ // act
324
+ cy.get("#before").focus();
325
+ cy.realPress("F6");
326
+
327
+ // assert 1st group is focused
328
+ cy.get("#first")
329
+ .should("be.focused");
330
+ });
331
+ });
332
+
333
+ describe("F6 Backward navigation", () => {
334
+ it("tests navigation", () => {
335
+ cy.mount(html`<div>
336
+ <div class="section">
337
+ <button id="before">Before element</button>
338
+ </div>
339
+ <div class="section" data-sap-ui-fastnavgroup="true">
340
+ <ui5-button id="first">First focusable</ui5-button>
341
+ </div>
342
+ <div class="section">
343
+ <ui5-button>Something focusable</ui5-button>
344
+ </div>
345
+ <div class="section" data-sap-ui-fastnavgroup="true">
346
+ <ui5-button id="second">Second focusable</ui5-button>
347
+ </div>
348
+ <div class="section">
349
+ <ui5-button>Something focusable</ui5-button>
350
+ </div>
351
+ <div class="section" data-sap-ui-fastnavgroup="true">
352
+ <ui5-button id="third">Third focusable</ui5-button>
353
+ </div>
354
+ <div class="section">
355
+ <ui5-button>After Element</ui5-button>
356
+ </div>
357
+ </div`);
358
+
359
+ // act
360
+ cy.get("#before").focus();
361
+ cy.realPress(["Shift", "F6"]);
362
+
363
+ // assert 3rd group is focused
364
+ cy.get("#third")
365
+ .should("be.focused");
366
+
367
+ // act
368
+ cy.realPress(["Shift", "F6"]);
369
+
370
+ // assert 2nd group is focused
371
+ cy.get("#second")
372
+ .should("be.focused");
373
+
374
+ // act
375
+ cy.realPress(["Shift", "F6"]);
376
+
377
+ // assert 1st group is focused
378
+ cy.get("#first")
379
+ .should("be.focused");
380
+
381
+ // act
382
+ cy.realPress(["Shift", "F6"]);
383
+
384
+ // assert 3rd group is focused agian
385
+ cy.get("#third")
386
+ .should("be.focused");
387
+ });
388
+
389
+ it("tests navigation with empty group", () => {
390
+ cy.mount(html`<div>
391
+ <div class="section">
392
+ <button id="before">Before element</button>
393
+ </div>
394
+ <div class="section" data-sap-ui-fastnavgroup="true">
395
+ <ui5-button id="first">First focusable</ui5-button>
396
+ </div>
397
+ <div class="section">
398
+ <ui5-button>Something focusable</ui5-button>
399
+ </div>
400
+ <div class="section" data-sap-ui-fastnavgroup="true">
401
+ Group without focusable element
402
+ </div>
403
+ <div class="section">
404
+ <ui5-button>Something focusable</ui5-button>
405
+ </div>
406
+ <div class="section" data-sap-ui-fastnavgroup="true">
407
+ <ui5-button id="second">Second focusable</ui5-button>
408
+ </div>
409
+ <div class="section">
410
+ <ui5-button>After Element</ui5-button>
411
+ </div>
412
+ </div`);
413
+
414
+ // act
415
+ cy.get("#before").focus();
416
+ cy.realPress(["Shift", "F6"]);
417
+
418
+ // assert 2nd group is focused
419
+ cy.get("#second")
420
+ .should("be.focused");
421
+
422
+ // act
423
+ cy.realPress(["Shift", "F6"]);
424
+
425
+ // assert 1st group is focused (an empty group is skipped)
426
+ cy.get("#first")
427
+ .should("be.focused");
428
+
429
+ // act
430
+ cy.realPress(["Shift", "F6"]);
431
+
432
+ // assert 1st group is focused agian
433
+ cy.get("#second")
434
+ .should("be.focused");
435
+ });
436
+
437
+ it("tests navigation with nested groups", () => {
438
+ cy.mount(html`<div class="section">
439
+ <button id="before">Before element</button>
440
+ </div>
441
+ <div class="section" data-sap-ui-fastnavgroup="true">
442
+ <ui5-button id="first">First focusable</ui5-button>
443
+ <div class="section" data-sap-ui-fastnavgroup="true">
444
+ <ui5-button id="second">Second focusable</ui5-button>
445
+ </div>
446
+ </div>
447
+ <div class="section">
448
+ <ui5-button>Something focusable</ui5-button>
449
+ </div>
450
+ <div class="section" data-sap-ui-fastnavgroup="true">
451
+ <ui5-button id="third">Third focusable</ui5-button>
452
+ </div>
453
+ <div class="section">
454
+ <ui5-button>After Element</ui5-button>
455
+ </div>`);
456
+
457
+ // act
458
+ cy.get("#before").focus();
459
+ cy.realPress(["Shift", "F6"]);
460
+
461
+ // assert 3rd group is focused
462
+ cy.get("#third")
463
+ .should("be.focused");
464
+
465
+ // act
466
+ cy.realPress(["Shift", "F6"]);
467
+
468
+ // assert 2nd group is focused (an empty group is skipped)
469
+ cy.get("#second")
470
+ .should("be.focused");
471
+
472
+ // act
473
+ cy.realPress(["Shift", "F6"]);
474
+
475
+ // assert 1st group is focused
476
+ cy.get("#first")
477
+ .should("be.focused");
478
+
479
+ // act
480
+ cy.realPress(["Shift", "F6"]);
481
+
482
+ // assert 3rd group is focused agian
483
+ cy.get("#third")
484
+ .should("be.focused");
485
+ });
486
+
487
+ it("tests navigation with nesting inside empty fastnav-group parent", () => {
488
+ cy.mount(html`<div class="section">
489
+ <button id="before">Before element</button>
490
+ </div>
491
+ <div class="section" data-sap-ui-fastnavgroup="true">
492
+ <div class="section" data-sap-ui-fastnavgroup="true">
493
+ <ui5-button id="first">First focusable</ui5-button>
494
+ </div>
495
+ </div>
496
+ <div class="section">
497
+ <ui5-button>Something focusable</ui5-button>
498
+ </div>
499
+ <div class="section" data-sap-ui-fastnavgroup="true">
500
+ <div class="section" data-sap-ui-fastnavgroup="true">
501
+ <ui5-button id="second">First focusable</ui5-button>
502
+ </div>
503
+ </div>
504
+ <div class="section">
505
+ <ui5-button>Something focusable</ui5-button>
506
+ </div>
507
+ <div class="section" data-sap-ui-fastnavgroup="true">
508
+ <ui5-button id="third">Second focusable</ui5-button>
509
+ </div>
510
+ <div class="section">
511
+ <ui5-button>After Element</ui5-button>
512
+ </div>`);
513
+
514
+ // act
515
+ cy.get("#before").focus();
516
+ cy.realPress(["Shift", "F6"]);
517
+
518
+ // assert 3rd group is focused
519
+ cy.get("#third")
520
+ .should("be.focused");
521
+
522
+ // act
523
+ cy.realPress(["Shift", "F6"]);
524
+
525
+ // assert 2nd group is focused (an empty group is skipped)
526
+ cy.get("#second")
527
+ .should("be.focused");
528
+
529
+ // act
530
+ cy.realPress(["Shift", "F6"]);
531
+
532
+ // assert 1st group is focused
533
+ cy.get("#first")
534
+ .should("be.focused");
535
+
536
+ // act
537
+ cy.realPress(["Shift", "F6"]);
538
+
539
+ // assert 1st group is focused agian
540
+ cy.get("#third")
541
+ .should("be.focused");
542
+ });
543
+
544
+ it("tests navigation with group as a focusable element", () => {
545
+ cy.mount(html`<div class="section">
546
+ <button id="before">Before element</button>
547
+ </div>
548
+ <div class="section" data-sap-ui-fastnavgroup="true">
549
+ <ui5-button id="first">First focusable</ui5-button>
550
+ </div>
551
+ <div class="section">
552
+ <ui5-button>Something focusable</ui5-button>
553
+ </div>
554
+ <div class="section" tabindex="0" id="second" data-sap-ui-fastnavgroup="true">
555
+ Second focusable
556
+ </div>
557
+ <div class="section">
558
+ <ui5-button>Something focusable</ui5-button>
559
+ </div>
560
+ <div class="section" data-sap-ui-fastnavgroup="true">
561
+ <ui5-button id="third">Third focusable</ui5-button>
562
+ </div>
563
+ <div class="section">
564
+ <ui5-button>After Element</ui5-button>
565
+ </div>`);
566
+
567
+ // act
568
+ cy.get("#before").focus();
569
+ cy.realPress(["Shift", "F6"]);
570
+
571
+ // assert 3rd group is focused
572
+ cy.get("#third")
573
+ .should("be.focused");
574
+
575
+ // act
576
+ cy.realPress(["Shift", "F6"]);
577
+
578
+ // assert 2nd group is focused (an empty group is skipped)
579
+ cy.get("#second")
580
+ .should("be.focused");
581
+
582
+ // act
583
+ cy.realPress(["Shift", "F6"]);
584
+
585
+ // assert 1st group is focused
586
+ cy.get("#first")
587
+ .should("be.focused");
588
+
589
+ // act
590
+ cy.realPress(["Shift", "F6"]);
591
+
592
+ // assert 3rd group is focused agian
593
+ cy.get("#third")
594
+ .should("be.focused");
595
+ });
596
+
597
+ it("tests navigation without a focusable element", () => {
598
+ cy.mount(html`<div class="section">
599
+ <ui5-button id="first">Before element</ui5-button>
600
+ </div>
601
+ <div class="section" data-sap-ui-fastnavgroup="true">
602
+ Group without focusable element
603
+ </div>
604
+ <div class="section">
605
+ <ui5-button>Something focusable</ui5-button>
606
+ </div>
607
+ <div class="section" data-sap-ui-fastnavgroup="true">
608
+ Group without focusable element
609
+ </div>
610
+ <div class="section">
611
+ <ui5-button>Something focusable</ui5-button>
612
+ </div>
613
+ <div class="section">
614
+ <ui5-button>After Element</ui5-button>
615
+ </div>`);
616
+
617
+ // act
618
+ cy.get("#first")
619
+ .realClick();
620
+
621
+ // assert clicked btn is also the focused element
622
+ cy.get("#first")
623
+ .should("be.focused");
624
+
625
+ // act
626
+ cy.realPress(["Shift", "F6"]);
627
+
628
+ // assert same button remains focused as there is no fasnav group with focusable elements
629
+ cy.get("#first")
630
+ .should("be.focused");
631
+ });
632
+
633
+ it("tests navigation with a single group", () => {
634
+ cy.mount(html`<div class="section">
635
+ <button id="before">Before element</button>
636
+ </div>
637
+ <div class="section" data-sap-ui-fastnavgroup="true">
638
+ <ui5-button id="first">Before element</ui5-button>
639
+ </div>
640
+ <div class="section">
641
+ <ui5-button>Something focusable</ui5-button>
642
+ </div>
643
+ <div class="section">
644
+ <ui5-button>Something focusable</ui5-button>
645
+ </div>
646
+ <div class="section">
647
+ <ui5-button>After Element</ui5-button>
648
+ </div>`);
649
+
650
+ // act
651
+ cy.get("#before").focus();
652
+ cy.realPress(["Shift", "F6"]);
653
+
654
+ // assert 1st group is focused
655
+ cy.get("#first")
656
+ .should("be.focused");
657
+ });
658
+ });
659
+ });