@ui5/webcomponents-fiori 2.9.0-rc.0 → 2.9.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 (332) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cypress/specs/DynamicPage.cy.tsx +38 -0
  3. package/cypress/specs/Search.cy.tsx +817 -0
  4. package/cypress/specs/SearchField.cy.tsx +0 -4
  5. package/cypress/specs/ShellBar.cy.tsx +99 -4
  6. package/cypress/specs/SideNavigation.cy.tsx +52 -0
  7. package/cypress/specs/UserMenu.cy.tsx +66 -9
  8. package/dist/.tsbuildinfo +1 -1
  9. package/dist/DynamicPage.js +12 -0
  10. package/dist/DynamicPage.js.map +1 -1
  11. package/dist/NavigationMenuItem.d.ts +1 -1
  12. package/dist/NavigationMenuItem.js +1 -1
  13. package/dist/NavigationMenuItem.js.map +1 -1
  14. package/dist/NavigationMenuItemTemplate.d.ts +2 -2
  15. package/dist/NavigationMenuItemTemplate.js +2 -12
  16. package/dist/NavigationMenuItemTemplate.js.map +1 -1
  17. package/dist/Search.d.ts +175 -0
  18. package/dist/Search.js +420 -0
  19. package/dist/Search.js.map +1 -0
  20. package/dist/SearchField.d.ts +3 -1
  21. package/dist/SearchField.js +7 -2
  22. package/dist/SearchField.js.map +1 -1
  23. package/dist/SearchFieldScopeOption.d.ts +2 -0
  24. package/dist/SearchFieldScopeOption.js +2 -0
  25. package/dist/SearchFieldScopeOption.js.map +1 -1
  26. package/dist/SearchFieldTemplate.js +1 -1
  27. package/dist/SearchFieldTemplate.js.map +1 -1
  28. package/dist/SearchItem.d.ts +52 -0
  29. package/dist/SearchItem.js +106 -0
  30. package/dist/SearchItem.js.map +1 -0
  31. package/dist/SearchItemGroup.d.ts +17 -0
  32. package/dist/SearchItemGroup.js +39 -0
  33. package/dist/SearchItemGroup.js.map +1 -0
  34. package/dist/SearchItemTemplate.d.ts +2 -0
  35. package/dist/SearchItemTemplate.js +14 -0
  36. package/dist/SearchItemTemplate.js.map +1 -0
  37. package/dist/SearchPopoverTemplate.d.ts +2 -0
  38. package/dist/SearchPopoverTemplate.js +22 -0
  39. package/dist/SearchPopoverTemplate.js.map +1 -0
  40. package/dist/SearchTemplate.d.ts +2 -0
  41. package/dist/SearchTemplate.js +7 -0
  42. package/dist/SearchTemplate.js.map +1 -0
  43. package/dist/ShellBar.d.ts +7 -2
  44. package/dist/ShellBar.js +31 -23
  45. package/dist/ShellBar.js.map +1 -1
  46. package/dist/ShellBarItem.d.ts +24 -0
  47. package/dist/ShellBarItem.js +27 -0
  48. package/dist/ShellBarItem.js.map +1 -1
  49. package/dist/ShellBarPopoverTemplate.js +1 -1
  50. package/dist/ShellBarPopoverTemplate.js.map +1 -1
  51. package/dist/ShellBarTemplate.js +11 -7
  52. package/dist/ShellBarTemplate.js.map +1 -1
  53. package/dist/SideNavigation.d.ts +21 -0
  54. package/dist/SideNavigation.js +22 -0
  55. package/dist/SideNavigation.js.map +1 -1
  56. package/dist/SideNavigationGroup.js +3 -3
  57. package/dist/SideNavigationGroup.js.map +1 -1
  58. package/dist/SideNavigationItem.js +3 -3
  59. package/dist/SideNavigationItem.js.map +1 -1
  60. package/dist/SideNavigationTemplate.js +1 -1
  61. package/dist/SideNavigationTemplate.js.map +1 -1
  62. package/dist/UserMenu.d.ts +6 -2
  63. package/dist/UserMenu.js +17 -14
  64. package/dist/UserMenu.js.map +1 -1
  65. package/dist/UserMenuAccount.d.ts +7 -0
  66. package/dist/UserMenuAccount.js +10 -0
  67. package/dist/UserMenuAccount.js.map +1 -1
  68. package/dist/UserMenuTemplate.js +26 -19
  69. package/dist/UserMenuTemplate.js.map +1 -1
  70. package/dist/ViewSettingsDialog.d.ts +1 -0
  71. package/dist/ViewSettingsDialog.js +6 -1
  72. package/dist/ViewSettingsDialog.js.map +1 -1
  73. package/dist/ViewSettingsDialogTemplate.js +1 -1
  74. package/dist/ViewSettingsDialogTemplate.js.map +1 -1
  75. package/dist/bundle.esm.js +3 -0
  76. package/dist/bundle.esm.js.map +1 -1
  77. package/dist/css/themes/DynamicPage.css +1 -1
  78. package/dist/css/themes/DynamicPageHeader.css +1 -1
  79. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  80. package/dist/css/themes/DynamicPageTitle.css +1 -1
  81. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  82. package/dist/css/themes/MediaGallery.css +1 -1
  83. package/dist/css/themes/MediaGalleryItem.css +1 -1
  84. package/dist/css/themes/NavigationMenu.css +1 -1
  85. package/dist/css/themes/NavigationMenuItem.css +1 -1
  86. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  87. package/dist/css/themes/NotificationListItem.css +1 -1
  88. package/dist/css/themes/NotificationListItemBase.css +1 -1
  89. package/dist/css/themes/NotificationStateIcon.css +1 -1
  90. package/dist/css/themes/Page.css +1 -1
  91. package/dist/css/themes/ProductSwitchItem.css +1 -1
  92. package/dist/css/themes/Search.css +1 -0
  93. package/dist/css/themes/SearchField.css +1 -1
  94. package/dist/css/themes/SearchItem.css +1 -0
  95. package/dist/css/themes/SearchItemGroup.css +1 -0
  96. package/dist/css/themes/ShellBar.css +1 -1
  97. package/dist/css/themes/ShellBarPopover.css +1 -1
  98. package/dist/css/themes/SideNavigation.css +1 -1
  99. package/dist/css/themes/SideNavigationGroup.css +1 -1
  100. package/dist/css/themes/SideNavigationItem.css +1 -1
  101. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  102. package/dist/css/themes/SideNavigationPopover.css +1 -1
  103. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  104. package/dist/css/themes/Timeline.css +1 -1
  105. package/dist/css/themes/TimelineGroupItem.css +1 -1
  106. package/dist/css/themes/TimelineItem.css +1 -1
  107. package/dist/css/themes/UploadCollection.css +1 -1
  108. package/dist/css/themes/UploadCollectionItem.css +1 -1
  109. package/dist/css/themes/UserMenu.css +1 -1
  110. package/dist/css/themes/UserMenuItem.css +1 -1
  111. package/dist/css/themes/UserSettingsItem.css +1 -1
  112. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  113. package/dist/css/themes/Wizard.css +1 -1
  114. package/dist/css/themes/WizardTab.css +1 -1
  115. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  116. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  117. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  118. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  127. package/dist/custom-elements-internal.json +552 -0
  128. package/dist/custom-elements.json +479 -0
  129. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  131. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  132. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  133. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  134. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  135. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  143. package/dist/generated/i18n/i18n-defaults.d.ts +5 -1
  144. package/dist/generated/i18n/i18n-defaults.js +6 -2
  145. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  146. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  147. package/dist/generated/themes/DynamicPage.css.js +1 -1
  148. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  149. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  150. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  151. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  152. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  153. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  154. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  155. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  156. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  157. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  158. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  159. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  160. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  161. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  162. package/dist/generated/themes/MediaGallery.css.js +1 -1
  163. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  164. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  165. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  166. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  167. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  168. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  169. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  170. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  171. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  172. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  173. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  174. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  175. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  176. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  177. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  178. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  179. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  180. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  181. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  182. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  183. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  184. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  185. package/dist/generated/themes/Page.css.d.ts +1 -1
  186. package/dist/generated/themes/Page.css.js +1 -1
  187. package/dist/generated/themes/Page.css.js.map +1 -1
  188. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  189. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  190. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  191. package/dist/generated/themes/Search.css.d.ts +2 -0
  192. package/dist/generated/themes/Search.css.js +8 -0
  193. package/dist/generated/themes/Search.css.js.map +1 -0
  194. package/dist/generated/themes/SearchField.css.d.ts +1 -1
  195. package/dist/generated/themes/SearchField.css.js +1 -1
  196. package/dist/generated/themes/SearchField.css.js.map +1 -1
  197. package/dist/generated/themes/SearchItem.css.d.ts +2 -0
  198. package/dist/generated/themes/SearchItem.css.js +8 -0
  199. package/dist/generated/themes/SearchItem.css.js.map +1 -0
  200. package/dist/generated/themes/SearchItemGroup.css.d.ts +2 -0
  201. package/dist/generated/themes/SearchItemGroup.css.js +8 -0
  202. package/dist/generated/themes/SearchItemGroup.css.js.map +1 -0
  203. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  204. package/dist/generated/themes/ShellBar.css.js +1 -1
  205. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  206. package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
  207. package/dist/generated/themes/ShellBarPopover.css.js +1 -1
  208. package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
  209. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  210. package/dist/generated/themes/SideNavigation.css.js +1 -1
  211. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  212. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  213. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  214. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  215. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  216. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  217. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  218. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  219. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  220. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  221. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  222. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  223. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  224. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  225. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  226. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  227. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  228. package/dist/generated/themes/Timeline.css.js +1 -1
  229. package/dist/generated/themes/Timeline.css.js.map +1 -1
  230. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  231. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  232. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  233. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  234. package/dist/generated/themes/TimelineItem.css.js +1 -1
  235. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  236. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  237. package/dist/generated/themes/UploadCollection.css.js +1 -1
  238. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  239. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  240. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  241. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  242. package/dist/generated/themes/UserMenu.css.d.ts +1 -1
  243. package/dist/generated/themes/UserMenu.css.js +1 -1
  244. package/dist/generated/themes/UserMenu.css.js.map +1 -1
  245. package/dist/generated/themes/UserMenuItem.css.d.ts +1 -1
  246. package/dist/generated/themes/UserMenuItem.css.js +1 -1
  247. package/dist/generated/themes/UserMenuItem.css.js.map +1 -1
  248. package/dist/generated/themes/UserSettingsItem.css.d.ts +1 -1
  249. package/dist/generated/themes/UserSettingsItem.css.js +1 -1
  250. package/dist/generated/themes/UserSettingsItem.css.js.map +1 -1
  251. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  252. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  253. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  254. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  255. package/dist/generated/themes/Wizard.css.js +1 -1
  256. package/dist/generated/themes/Wizard.css.js.map +1 -1
  257. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  258. package/dist/generated/themes/WizardTab.css.js +1 -1
  259. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  260. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  261. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  262. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  263. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  264. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  265. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  266. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  267. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  268. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  269. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  270. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  271. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  272. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  273. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  274. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  275. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  276. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  277. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  278. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  279. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  280. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  281. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  282. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  283. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  284. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  285. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  286. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  287. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  288. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  289. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  290. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  291. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  292. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  293. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  294. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  295. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  296. package/dist/types/SideNavigationDesign.d.ts +17 -0
  297. package/dist/types/SideNavigationDesign.js +19 -0
  298. package/dist/types/SideNavigationDesign.js.map +1 -0
  299. package/dist/vscode.html-custom-data.json +99 -0
  300. package/dist/web-types.json +240 -1
  301. package/package.json +7 -7
  302. package/src/NavigationMenuItemTemplate.tsx +3 -83
  303. package/src/SearchFieldTemplate.tsx +1 -1
  304. package/src/SearchItemTemplate.tsx +45 -0
  305. package/src/SearchPopoverTemplate.tsx +68 -0
  306. package/src/SearchTemplate.tsx +12 -0
  307. package/src/ShellBarPopoverTemplate.tsx +1 -0
  308. package/src/ShellBarTemplate.tsx +9 -6
  309. package/src/SideNavigationTemplate.tsx +1 -0
  310. package/src/UserMenuTemplate.tsx +104 -76
  311. package/src/ViewSettingsDialogTemplate.tsx +1 -0
  312. package/src/i18n/messagebundle.properties +13 -1
  313. package/src/i18n/messagebundle_en.properties +184 -1
  314. package/src/i18n/messagebundle_en_US_saprigi.properties +7 -1
  315. package/src/themes/NavigationMenu.css +5 -7
  316. package/src/themes/NavigationMenuItem.css +21 -6
  317. package/src/themes/Search.css +63 -0
  318. package/src/themes/SearchField.css +11 -10
  319. package/src/themes/SearchItem.css +59 -0
  320. package/src/themes/SearchItemGroup.css +13 -0
  321. package/src/themes/SideNavigation.css +10 -1
  322. package/src/themes/SideNavigationItem.css +5 -7
  323. package/src/themes/SideNavigationItemBase.css +6 -0
  324. package/src/themes/SideNavigationPopover.css +0 -4
  325. package/src/themes/SideNavigationSubItem.css +4 -1
  326. package/src/themes/UserMenu.css +97 -48
  327. package/src/themes/UserMenuItem.css +1 -0
  328. package/src/themes/base/SideNavigation-parameters.css +4 -13
  329. package/src/themes/sap_horizon/SideNavigation-parameters.css +5 -13
  330. package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +5 -13
  331. package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +5 -12
  332. package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +5 -12
@@ -75,7 +75,6 @@ describe("SearchField general interaction", () => {
75
75
 
76
76
  cy.get("@inner-button")
77
77
  .should("have.attr", "title", SEARCH_FIELD_SEARCH_COLLAPSED.defaultText);
78
-
79
78
  cy.get("@inner-button")
80
79
  .should("have.attr", "aria-label", SEARCH_FIELD_SEARCH_COLLAPSED.defaultText);
81
80
  });
@@ -124,7 +123,6 @@ describe("SearchField general interaction", () => {
124
123
  cy.get("@search-icon")
125
124
  .find("title")
126
125
  .should("contain.text", SEARCH_FIELD_SEARCH_EXPANDED.defaultText);
127
-
128
126
  cy.get("@search-icon")
129
127
  .should("have.attr", "aria-label", SEARCH_FIELD_SEARCH_EXPANDED.defaultText);
130
128
 
@@ -157,7 +155,6 @@ describe("SearchField general interaction", () => {
157
155
  cy.get("@search-icon")
158
156
  .find("title")
159
157
  .should("contain.text", SEARCH_FIELD_SEARCH_ICON.defaultText);
160
-
161
158
  cy.get("@search-icon")
162
159
  .should("have.attr", "aria-label", SEARCH_FIELD_SEARCH_ICON.defaultText);
163
160
  });
@@ -225,7 +222,6 @@ describe("SearchField general interaction", () => {
225
222
  cy.get("@clear-icon")
226
223
  .find("title")
227
224
  .should("contain.text", SEARCH_FIELD_CLEAR_ICON.defaultText);
228
-
229
225
  cy.get("@clear-icon")
230
226
  .should("have.attr", "aria-label", SEARCH_FIELD_CLEAR_ICON.defaultText);
231
227
  });
@@ -1,5 +1,6 @@
1
1
  import ShellBar from "../../src/ShellBar.js";
2
2
  import ShellBarItem from "../../src/ShellBarItem.js";
3
+ import ShellBarSpacer from "@ui5/webcomponents-fiori/dist/ShellBarSpacer.js";
3
4
  import activities from "@ui5/webcomponents-icons/dist/activities.js";
4
5
  import navBack from "@ui5/webcomponents-icons/dist/nav-back.js";
5
6
  import sysHelp from "@ui5/webcomponents-icons/dist/sys-help.js";
@@ -30,12 +31,12 @@ describe("Responsiveness", () => {
30
31
  <img src="https://sdk.openui5.org/test-resources/sap/f/images/Woman_avatar_01.png" />
31
32
  </Avatar>
32
33
 
33
- <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg"/>
34
+ <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg" />
34
35
 
35
36
  <Button icon={navBack} slot="startButton" id="start-button"></Button>
36
37
 
37
38
  <ShellBarItem id="disc" icon={activities} text="Disconnect"></ShellBarItem>
38
- <ShellBarItem id="call" icon={sysHelp} text="Incoming Calls"></ShellBarItem>
39
+ <ShellBarItem id="call" icon={sysHelp} text="Incoming Calls" stable-dom-ref="call"></ShellBarItem>
39
40
 
40
41
  <Input placeholder="Instructions" slot="searchField" showSuggestions={true} valueState="Information">
41
42
  <div slot="valueStateMessage">Instructions</div>
@@ -66,7 +67,7 @@ describe("Responsiveness", () => {
66
67
  <img src="https://sdk.openui5.org/test-resources/sap/f/images/Woman_avatar_01.png" />
67
68
  </Avatar>
68
69
 
69
- <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg"/>
70
+ <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg" />
70
71
 
71
72
  <Button icon={navBack} slot="startButton" id="start-button"></Button>
72
73
 
@@ -88,7 +89,7 @@ describe("Responsiveness", () => {
88
89
  showNotifications={true}
89
90
  showProductSwitch={true}
90
91
  >
91
- <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg"/>
92
+ <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg" />
92
93
  </ShellBar>;
93
94
  }
94
95
  beforeEach(() => {
@@ -101,6 +102,9 @@ describe("Responsiveness", () => {
101
102
  cy.get("#shellbar")
102
103
  .as("shellbar");
103
104
  });
105
+ afterEach(() => {
106
+ cy.viewport(1920, 1080);
107
+ });
104
108
 
105
109
  it("tests XL Breakpoint 1920px", () => {
106
110
  cy.viewport(1920, 1080);
@@ -295,4 +299,95 @@ describe("Responsiveness", () => {
295
299
  .find(".ui5-shellbar-overflow-button")
296
300
  .should("be.hidden");
297
301
  });
302
+
303
+ it("Test accessibility attributes on custom action buttons", () => {
304
+ cy.mount(basicTemplate()).as("html");
305
+
306
+ cy.get("@shellbar")
307
+ .shadow()
308
+ .find<Button>(`[data-ui5-stable="call"]`)
309
+ .as("call-button")
310
+ .then($el => {
311
+ $el.get(0).accessibilityAttributes = { "hasPopup": "dialog", "expanded": "true" };
312
+ });
313
+ cy.get("@call-button")
314
+ .shadow()
315
+ .find("button")
316
+ .should("have.attr", "aria-expanded", "true")
317
+ .should("have.attr", "aria-hasPopup", "dialog");
318
+ });
319
+ });
320
+
321
+ describe("Slots", () => {
322
+ describe("Content slot", () => {
323
+ it("Test separators visibility", () => {
324
+ function assertStartSeparatorVisibility(expectedExist: boolean) {
325
+ cy.get("#shellbar")
326
+ .shadow()
327
+ .find(".ui5-shellbar-overflow-container-right-inner > .ui5-shellbar-separator-start")
328
+ .should(expectedExist ? "exist" : "not.exist");
329
+ }
330
+ function assertEndSeparatorVisibility(expectedExist: boolean) {
331
+ cy.get("#shellbar")
332
+ .shadow()
333
+ .find(".ui5-shellbar-overflow-container-right-inner > .ui5-shellbar-separator-end")
334
+ .should(expectedExist ? "exist" : "not.exist");
335
+ }
336
+
337
+ cy.mount(
338
+ <ShellBar id="shellbar" primaryTitle="Product Title" showNotifications={true} showProductSwitch={true}>
339
+ <Button icon={navBack} slot="startButton"></Button>
340
+ <img slot="logo" src="https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg" />
341
+ <Button slot="content">Start Button 1</Button>
342
+ <Button slot="content" data-hide-order="1">Start Button 2</Button>
343
+ <Button slot="content">Start Button 3</Button>
344
+ <ShellBarSpacer slot="content" />
345
+ <Button slot="content">End Button 1</Button>
346
+ <Button slot="content" data-hide-order="1">End Button 2</Button>
347
+ <Button slot="content">End Button 3</Button>
348
+ </ShellBar>
349
+ );
350
+
351
+ // both separators should be visible
352
+ assertStartSeparatorVisibility(true);
353
+ assertEndSeparatorVisibility(true);
354
+
355
+ cy.viewport(420, 1080);
356
+ // only end separator should be hidden
357
+ assertStartSeparatorVisibility(true);
358
+ assertEndSeparatorVisibility(false);
359
+
360
+ cy.viewport(320, 1080);
361
+ // both separators should be hidden
362
+ assertStartSeparatorVisibility(false);
363
+ assertEndSeparatorVisibility(false);
364
+
365
+ // once items are hidden, both separators should be rendered with the last visible item
366
+ cy.get("#shellbar")
367
+ .shadow()
368
+ .find("div[id='content-2'] > .ui5-shellbar-separator-start")
369
+ .should("exist");
370
+
371
+ cy.get("#shellbar")
372
+ .shadow()
373
+ .find("div[id='content-6'] > .ui5-shellbar-separator-end")
374
+ .should("exist");
375
+
376
+ cy.viewport(1920, 1080);
377
+ // both separators should be visible
378
+ assertStartSeparatorVisibility(true);
379
+ assertEndSeparatorVisibility(true);
380
+
381
+ // once items are shown, both separators shouldn't be rendered with the last visible item
382
+ cy.get("#shellbar")
383
+ .shadow()
384
+ .find("div[id='content-2'] > .ui5-shellbar-separator-start")
385
+ .should("not.exist");
386
+
387
+ cy.get("#shellbar")
388
+ .shadow()
389
+ .find("div[id='content-6'] > .ui5-shellbar-separator-end")
390
+ .should("not.exist");
391
+ });
392
+ });
298
393
  });
@@ -2,6 +2,7 @@ import SideNavigation from "../../src/SideNavigation.js";
2
2
  import SideNavigationItem from "../../src/SideNavigationItem.js";
3
3
  import SideNavigationSubItem from "../../src/SideNavigationSubItem.js";
4
4
  import group from "@ui5/webcomponents-icons/dist/group.js";
5
+ import { NAVIGATION_MENU_POPOVER_HIDDEN_TEXT } from "../../src/generated/i18n/i18n-defaults.js";
5
6
 
6
7
  describe("Side Navigation Rendering", () => {
7
8
  it("Tests rendering in collapsed mode", () => {
@@ -65,6 +66,18 @@ describe("Side Navigation Rendering", () => {
65
66
  .find(".ui5-side-navigation-overflow-menu [ui5-navigation-menu-item][text='3.1']")
66
67
  .should("have.attr", "design", "Action");
67
68
  });
69
+
70
+ it("Tests accessibility", () => {
71
+ cy.mount(
72
+ <SideNavigation id="sideNav" accessible-name="Main">
73
+ </SideNavigation>
74
+ );
75
+
76
+ cy.get("#sideNav")
77
+ .shadow()
78
+ .find(".ui5-sn-root")
79
+ .should("have.attr", "aria-label", "Main");
80
+ });
68
81
  });
69
82
 
70
83
  describe("Side Navigation interaction", () => {
@@ -715,6 +728,45 @@ describe("Side Navigation Accessibility", () => {
715
728
  .find(".ui5-sn-item")
716
729
  .should("not.have.attr", "aria-checked");
717
730
  });
731
+
732
+ it("Tests accessible-name of overflow menu and sub menu", () => {
733
+ cy.mount(
734
+ <SideNavigation id="sideNav" collapsed={true}>
735
+ <SideNavigationItem text="dummy item"></SideNavigationItem>
736
+ <SideNavigationItem text="1">
737
+ <SideNavigationSubItem text="1.1" />
738
+ </SideNavigationItem>
739
+ </SideNavigation>
740
+ );
741
+
742
+ cy.get("#sideNav")
743
+ .invoke("attr", "style", "height: 100px");
744
+
745
+ cy.get("#sideNav")
746
+ .shadow()
747
+ .find(".ui5-sn-item-overflow")
748
+ .realClick();
749
+
750
+ cy.get("#sideNav")
751
+ .shadow()
752
+ .find(".ui5-side-navigation-overflow-menu")
753
+ .shadow()
754
+ .find(".ui5-menu-rp")
755
+ .invoke("attr", "accessible-name-ref")
756
+ .should("match", /navigationMenuPopoverText$/);
757
+
758
+ cy.get("#sideNav")
759
+ .shadow()
760
+ .find(".ui5-side-navigation-overflow-menu [ui5-navigation-menu-item][text='1']")
761
+ .realClick();
762
+
763
+ cy.get("#sideNav")
764
+ .shadow()
765
+ .find(".ui5-side-navigation-overflow-menu [ui5-navigation-menu-item][text='1']")
766
+ .shadow()
767
+ .find(".ui5-menu-rp")
768
+ .should("have.attr", "accessible-name", NAVIGATION_MENU_POPOVER_HIDDEN_TEXT.defaultText);
769
+ });
718
770
  });
719
771
 
720
772
  describe("Focusable items", () => {
@@ -75,7 +75,7 @@ describe("Initial rendering", () => {
75
75
  cy.get("@userMenu").should("exist");
76
76
  cy.get("@userMenu").shadow().find("[ui5-responsive-popover]").as("responsivePopover");
77
77
  cy.get("@responsivePopover").should("exist");
78
- cy.get("@responsivePopover").find("[ui5-panel]").contains(`${USER_MENU_OTHER_ACCOUNT_BUTTON_TXT.defaultText} (1)`);
78
+ cy.get("@responsivePopover").find("[ui5-panel]").contains(`${USER_MENU_OTHER_ACCOUNT_BUTTON_TXT.defaultText} (2)`);
79
79
  cy.get("@responsivePopover").find("[ui5-button]").should("have.length", 1);
80
80
  });
81
81
 
@@ -105,9 +105,66 @@ describe("Initial rendering", () => {
105
105
  cy.get("@userMenu").should("exist");
106
106
  cy.get("@userMenu").shadow().find("[ui5-responsive-popover]").as("responsivePopover");
107
107
  cy.get("@responsivePopover").should("exist");
108
- cy.get("@responsivePopover").find(".ui5-pm-add-account-btn").should("exist");
108
+ cy.get("@responsivePopover").find(".ui5-user-menu-add-account-btn").should("exist");
109
109
  cy.get("@responsivePopover").find("[ui5-button]").should("have.length", 2);
110
110
  });
111
+
112
+ it("tests scroll", () => {
113
+ cy.mount(
114
+ <>
115
+ <Button id="openUserMenuBtn">Open User Menu</Button>
116
+ <UserMenu
117
+ id="userMenuShellBar"
118
+ open={true} opener="openUserMenuBtn"
119
+ showManageAccount={true}
120
+ showEditAccounts={true}
121
+ >
122
+ <UserMenuAccount slot="accounts" titleText="Alain Chevalier 1"></UserMenuAccount>
123
+ <UserMenuItem text="Setting1" data-id="setting1"></UserMenuItem>
124
+ <UserMenuItem text="Setting2" data-id="setting2"></UserMenuItem>
125
+ <UserMenuItem text="Setting3" data-id="setting3"></UserMenuItem>
126
+ <UserMenuItem text="Setting4" data-id="setting4"></UserMenuItem>
127
+ <UserMenuItem text="Setting5" data-id="setting5"></UserMenuItem>
128
+ <UserMenuItem text="Setting6" data-id="setting6"></UserMenuItem>
129
+ <UserMenuItem text="Setting7" data-id="setting7"></UserMenuItem>
130
+ <UserMenuItem text="Setting8" data-id="setting8"></UserMenuItem>
131
+ <UserMenuItem text="Setting9" data-id="setting9"></UserMenuItem>
132
+ <UserMenuItem text="Setting10" data-id="setting10"></UserMenuItem>
133
+ <UserMenuItem text="Setting11" data-id="setting11"></UserMenuItem>
134
+ <UserMenuItem text="Setting12" data-id="setting12"></UserMenuItem>
135
+ <UserMenuItem text="Setting13" data-id="setting13"></UserMenuItem>
136
+ <UserMenuItem text="Setting14" data-id="setting14"></UserMenuItem>
137
+ <UserMenuItem text="Setting15" data-id="setting15"></UserMenuItem>
138
+ <UserMenuItem text="Setting16" data-id="setting16"></UserMenuItem>
139
+ <UserMenuItem text="Setting17" data-id="setting17"></UserMenuItem>
140
+ <UserMenuItem text="Setting18" data-id="setting18"></UserMenuItem>
141
+ <UserMenuItem text="Setting19" data-id="setting19"></UserMenuItem>
142
+ <UserMenuItem text="Setting20" data-id="setting20"></UserMenuItem>
143
+ <UserMenuItem text="Setting21" data-id="setting21"></UserMenuItem>
144
+ <UserMenuItem text="Setting22" data-id="setting22"></UserMenuItem>
145
+ <UserMenuItem text="Setting23" data-id="setting23"></UserMenuItem>
146
+ <UserMenuItem text="Setting24" data-id="setting24"></UserMenuItem>
147
+ <UserMenuItem text="Setting25" data-id="setting25"></UserMenuItem>
148
+ <UserMenuItem text="Setting26" data-id="setting26"></UserMenuItem>
149
+ <UserMenuItem text="Setting27" data-id="setting27"></UserMenuItem>
150
+ <UserMenuItem text="Setting28" data-id="setting28"></UserMenuItem>
151
+ <UserMenuItem text="Setting29" data-id="setting29"></UserMenuItem>
152
+ <UserMenuItem text="Setting30" data-id="setting30"></UserMenuItem>
153
+ <UserMenuItem text="Setting31" data-id="setting31"></UserMenuItem>
154
+ <UserMenuItem text="Setting32" data-id="setting32"></UserMenuItem>
155
+ </UserMenu>
156
+ </>
157
+ );
158
+
159
+ cy.get("[ui5-user-menu]")
160
+ .shadow()
161
+ .find("[ui5-responsive-popover]")
162
+ .shadow()
163
+ .find(`div[part="content"]`)
164
+ .scrollTo("bottom");
165
+ cy.get("[ui5-user-menu]").shadow().find("[ui5-bar]").as("headerBar");
166
+ cy.get("@headerBar").find("[ui5-title]").contains("Alain Chevalier 1");
167
+ });
111
168
  });
112
169
 
113
170
  describe("Menu configuration", () => {
@@ -338,7 +395,7 @@ describe("Events", () => {
338
395
  cy.get("@clicked").should("have.been.calledOnce");
339
396
  });
340
397
 
341
- it("tests add-account-click event", () => {
398
+ it("tests edit-accounts-click event", () => {
342
399
  cy.mount(
343
400
  <>
344
401
  <Button id="openUserMenuBtn">Open User Menu</Button>
@@ -351,7 +408,7 @@ describe("Events", () => {
351
408
  cy.get("[ui5-user-menu]").as("userMenu");
352
409
  cy.get("@userMenu")
353
410
  .shadow()
354
- .find(".ui5-pm-add-account-btn")
411
+ .find(".ui5-user-menu-add-account-btn")
355
412
  .as("addAccountBtn");
356
413
 
357
414
  cy.get("@userMenu")
@@ -369,8 +426,8 @@ describe("Events", () => {
369
426
  <>
370
427
  <Button id="openUserMenuBtn">Open User Menu</Button>
371
428
  <UserMenu open={true} opener="openUserMenuBtn" showOtherAccounts={true}>
372
- <UserMenuAccount slot="accounts" titleText="Alain Chevalier 1"></UserMenuAccount>
373
429
  <UserMenuAccount slot="accounts" titleText="Alain Chevalier 2"></UserMenuAccount>
430
+ <UserMenuAccount selected slot="accounts" titleText="Alain Chevalier 1"></UserMenuAccount>
374
431
  </UserMenu>
375
432
  </>
376
433
  );
@@ -390,7 +447,7 @@ describe("Events", () => {
390
447
  .click();
391
448
 
392
449
  cy.get("@otherAccounts")
393
- .find("[ui5-li-custom]")
450
+ .find("[ui5-li-custom]").first()
394
451
  .click();
395
452
 
396
453
  cy.get("@changedAccount").should("have.been.calledOnce");
@@ -434,7 +491,7 @@ describe("Events", () => {
434
491
  cy.get("@avatar").find("img").as("image");
435
492
  cy.get("@image").should("have.length", 1);
436
493
  cy.get("@image").should("have.attr", "src", "./../../test/pages/img/man_avatar_1.png");
437
- cy.get("@avatar").should("have.class", "ui5-pm--selected-account-avatar");
494
+ cy.get("@avatar").should("have.class", "ui5-user-menu--selected-account-avatar");
438
495
  });
439
496
 
440
497
  it("tests item-click event", () => {
@@ -623,7 +680,7 @@ describe("Responsiveness", () => {
623
680
  cy.get("[ui5-user-menu]").as("userMenu");
624
681
  cy.get("@userMenu").should("exist");
625
682
  cy.get("@userMenu").shadow().find("[ui5-bar]").as("headerBar");
626
- cy.get("@headerBar").should("have.class", "ui5-pm-phone-header");
683
+ cy.get("@headerBar").should("have.class", "ui5-user-menu-fixed-header");
627
684
  });
628
685
 
629
686
  it("tests scroll on phone", () => {
@@ -668,6 +725,6 @@ describe("Responsiveness", () => {
668
725
  .scrollTo("bottom");
669
726
  cy.get("[ui5-user-menu]").shadow().find("[ui5-bar]").as("headerBar");
670
727
  cy.get("@headerBar").find("[ui5-title]").contains("Alain Chevalier 1");
671
- cy.get("@headerBar").find("[ui5-button]").should("have.length", 2);
728
+ cy.get("@headerBar").find("[ui5-button]").should("have.length", 1);
672
729
  });
673
730
  });