@ui5/webcomponents-fiori 2.8.0-rc.2 → 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 (301) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +3 -0
  3. package/cypress/specs/NotificationList.cy.tsx +154 -0
  4. package/cypress/specs/SearchField.cy.tsx +445 -0
  5. package/cypress/specs/UserSettingsDialog.cy.tsx +619 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/NotificationListGroupItem.d.ts +1 -1
  8. package/dist/NotificationListGroupItem.js +5 -2
  9. package/dist/NotificationListGroupItem.js.map +1 -1
  10. package/dist/NotificationListGroupItemTemplate.js +4 -5
  11. package/dist/NotificationListGroupItemTemplate.js.map +1 -1
  12. package/dist/NotificationListGroupList.d.ts +2 -0
  13. package/dist/NotificationListGroupList.js +9 -0
  14. package/dist/NotificationListGroupList.js.map +1 -1
  15. package/dist/NotificationListInternal.d.ts +6 -0
  16. package/dist/NotificationListInternal.js +119 -0
  17. package/dist/NotificationListInternal.js.map +1 -1
  18. package/dist/NotificationListItem.d.ts +0 -1
  19. package/dist/NotificationListItem.js +1 -32
  20. package/dist/NotificationListItem.js.map +1 -1
  21. package/dist/SearchField.d.ts +130 -0
  22. package/dist/SearchField.js +228 -0
  23. package/dist/SearchField.js.map +1 -0
  24. package/dist/SearchFieldScopeOption.d.ts +26 -0
  25. package/dist/SearchFieldScopeOption.js +35 -0
  26. package/dist/SearchFieldScopeOption.js.map +1 -0
  27. package/dist/SearchFieldTemplate.d.ts +2 -0
  28. package/dist/SearchFieldTemplate.js +20 -0
  29. package/dist/SearchFieldTemplate.js.map +1 -0
  30. package/dist/SideNavigationItem.js +1 -1
  31. package/dist/SideNavigationItem.js.map +1 -1
  32. package/dist/UserSettingsDialog.d.ts +118 -0
  33. package/dist/UserSettingsDialog.js +260 -0
  34. package/dist/UserSettingsDialog.js.map +1 -0
  35. package/dist/UserSettingsDialogTemplate.d.ts +2 -0
  36. package/dist/UserSettingsDialogTemplate.js +23 -0
  37. package/dist/UserSettingsDialogTemplate.js.map +1 -0
  38. package/dist/UserSettingsItem.d.ts +131 -0
  39. package/dist/UserSettingsItem.js +209 -0
  40. package/dist/UserSettingsItem.js.map +1 -0
  41. package/dist/UserSettingsItemTemplate.d.ts +4 -0
  42. package/dist/UserSettingsItemTemplate.js +20 -0
  43. package/dist/UserSettingsItemTemplate.js.map +1 -0
  44. package/dist/UserSettingsView.d.ts +43 -0
  45. package/dist/UserSettingsView.js +68 -0
  46. package/dist/UserSettingsView.js.map +1 -0
  47. package/dist/UserSettingsViewTemplate.d.ts +2 -0
  48. package/dist/UserSettingsViewTemplate.js +5 -0
  49. package/dist/UserSettingsViewTemplate.js.map +1 -0
  50. package/dist/bundle.esm.js +5 -0
  51. package/dist/bundle.esm.js.map +1 -1
  52. package/dist/css/themes/DynamicPage.css +1 -1
  53. package/dist/css/themes/DynamicPageHeader.css +1 -1
  54. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  55. package/dist/css/themes/DynamicPageTitle.css +1 -1
  56. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  57. package/dist/css/themes/IllustratedMessage.css +1 -1
  58. package/dist/css/themes/MediaGallery.css +1 -1
  59. package/dist/css/themes/MediaGalleryItem.css +1 -1
  60. package/dist/css/themes/NavigationMenu.css +1 -1
  61. package/dist/css/themes/NavigationMenuItem.css +1 -1
  62. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  63. package/dist/css/themes/NotificationListItem.css +1 -1
  64. package/dist/css/themes/NotificationListItemBase.css +1 -1
  65. package/dist/css/themes/NotificationStateIcon.css +1 -1
  66. package/dist/css/themes/Page.css +1 -1
  67. package/dist/css/themes/ProductSwitchItem.css +1 -1
  68. package/dist/css/themes/SearchField.css +1 -0
  69. package/dist/css/themes/ShellBar.css +1 -1
  70. package/dist/css/themes/ShellBarPopover.css +1 -1
  71. package/dist/css/themes/SideNavigation.css +1 -1
  72. package/dist/css/themes/SideNavigationGroup.css +1 -1
  73. package/dist/css/themes/SideNavigationItem.css +1 -1
  74. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  75. package/dist/css/themes/SideNavigationPopover.css +1 -1
  76. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  77. package/dist/css/themes/Timeline.css +1 -1
  78. package/dist/css/themes/TimelineGroupItem.css +1 -1
  79. package/dist/css/themes/TimelineItem.css +1 -1
  80. package/dist/css/themes/UploadCollection.css +1 -1
  81. package/dist/css/themes/UploadCollectionItem.css +1 -1
  82. package/dist/css/themes/UserSettingsDialog.css +1 -0
  83. package/dist/css/themes/UserSettingsItem.css +1 -0
  84. package/dist/css/themes/UserSettingsView.css +1 -0
  85. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  86. package/dist/css/themes/Wizard.css +1 -1
  87. package/dist/css/themes/WizardTab.css +1 -1
  88. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  89. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  90. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  91. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  92. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  100. package/dist/custom-elements-internal.json +730 -0
  101. package/dist/custom-elements.json +573 -0
  102. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  103. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  104. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  105. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  106. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  107. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  108. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  109. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  110. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  111. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  112. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  113. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  114. package/dist/generated/i18n/i18n-defaults.d.ts +10 -1
  115. package/dist/generated/i18n/i18n-defaults.js +10 -1
  116. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  117. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  118. package/dist/generated/themes/DynamicPage.css.js +1 -1
  119. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  120. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  121. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  122. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  123. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  124. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  125. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  126. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  127. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  128. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  129. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  130. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  131. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  132. package/dist/generated/themes/IllustratedMessage.css.d.ts +1 -1
  133. package/dist/generated/themes/IllustratedMessage.css.js +1 -1
  134. package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
  135. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  136. package/dist/generated/themes/MediaGallery.css.js +1 -1
  137. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  138. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  139. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  140. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  141. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  142. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  143. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  144. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  145. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  146. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  147. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  148. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  149. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  150. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  151. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  152. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  153. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  154. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  155. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  156. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  157. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  158. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  159. package/dist/generated/themes/Page.css.d.ts +1 -1
  160. package/dist/generated/themes/Page.css.js +1 -1
  161. package/dist/generated/themes/Page.css.js.map +1 -1
  162. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  163. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  164. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  165. package/dist/generated/themes/SearchField.css.d.ts +2 -0
  166. package/dist/generated/themes/SearchField.css.js +8 -0
  167. package/dist/generated/themes/SearchField.css.js.map +1 -0
  168. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  169. package/dist/generated/themes/ShellBar.css.js +1 -1
  170. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  171. package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
  172. package/dist/generated/themes/ShellBarPopover.css.js +1 -1
  173. package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
  174. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  175. package/dist/generated/themes/SideNavigation.css.js +1 -1
  176. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  177. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  178. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  179. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  180. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  181. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  182. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  183. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  184. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  185. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  186. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  187. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  188. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  189. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  190. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  191. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  192. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  193. package/dist/generated/themes/Timeline.css.js +1 -1
  194. package/dist/generated/themes/Timeline.css.js.map +1 -1
  195. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  196. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  197. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  198. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  199. package/dist/generated/themes/TimelineItem.css.js +1 -1
  200. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  201. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  202. package/dist/generated/themes/UploadCollection.css.js +1 -1
  203. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  204. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  205. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  206. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  207. package/dist/generated/themes/UserSettingsDialog.css.d.ts +2 -0
  208. package/dist/generated/themes/UserSettingsDialog.css.js +8 -0
  209. package/dist/generated/themes/UserSettingsDialog.css.js.map +1 -0
  210. package/dist/generated/themes/UserSettingsItem.css.d.ts +2 -0
  211. package/dist/generated/themes/UserSettingsItem.css.js +8 -0
  212. package/dist/generated/themes/UserSettingsItem.css.js.map +1 -0
  213. package/dist/generated/themes/UserSettingsView.css.d.ts +2 -0
  214. package/dist/generated/themes/UserSettingsView.css.js +8 -0
  215. package/dist/generated/themes/UserSettingsView.css.js.map +1 -0
  216. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  217. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  218. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  219. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  220. package/dist/generated/themes/Wizard.css.js +1 -1
  221. package/dist/generated/themes/Wizard.css.js.map +1 -1
  222. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  223. package/dist/generated/themes/WizardTab.css.js +1 -1
  224. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  225. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  226. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  227. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  228. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  229. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  230. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  231. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  232. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  233. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  234. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  235. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  236. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  237. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  238. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  239. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  240. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  241. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  242. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  243. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  244. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  245. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  246. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  247. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  248. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  249. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  250. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  251. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  252. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  253. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  254. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  255. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  256. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  257. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  258. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  259. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  260. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  261. package/dist/types/SearchMode.d.ts +17 -0
  262. package/dist/types/SearchMode.js +19 -0
  263. package/dist/types/SearchMode.js.map +1 -0
  264. package/dist/vscode.html-custom-data.json +104 -0
  265. package/dist/web-types.json +283 -1
  266. package/package.json +7 -7
  267. package/src/NotificationListGroupItemTemplate.tsx +37 -43
  268. package/src/SearchFieldTemplate.tsx +83 -0
  269. package/src/UserSettingsDialogTemplate.tsx +68 -0
  270. package/src/UserSettingsItemTemplate.tsx +52 -0
  271. package/src/UserSettingsViewTemplate.tsx +11 -0
  272. package/src/i18n/messagebundle.properties +27 -1
  273. package/src/themes/IllustratedMessage.css +5 -2
  274. package/src/themes/NavigationMenuItem.css +0 -1
  275. package/src/themes/NotificationListGroupItem.css +5 -0
  276. package/src/themes/SearchField.css +234 -0
  277. package/src/themes/ShellBar.css +7 -2
  278. package/src/themes/SideNavigationItemBase.css +71 -10
  279. package/src/themes/UserSettingsDialog.css +106 -0
  280. package/src/themes/UserSettingsItem.css +78 -0
  281. package/src/themes/UserSettingsView.css +13 -0
  282. package/src/themes/base/SearchField-parameters.css +23 -0
  283. package/src/themes/base/SideNavigation-parameters.css +7 -1
  284. package/src/themes/sap_fiori_3/SearchField-parameters.css +25 -0
  285. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  286. package/src/themes/sap_fiori_3_dark/SearchField-parameters.css +25 -0
  287. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  288. package/src/themes/sap_fiori_3_hcb/SearchField-parameters.css +25 -0
  289. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  290. package/src/themes/sap_fiori_3_hcw/SearchField-parameters.css +25 -0
  291. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  292. package/src/themes/sap_horizon/SideNavigation-parameters.css +7 -3
  293. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  294. package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +7 -3
  295. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  296. package/src/themes/sap_horizon_hcb/SearchField-parameters.css +25 -0
  297. package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +9 -3
  298. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  299. package/src/themes/sap_horizon_hcw/SearchField-parameters.css +25 -0
  300. package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +9 -3
  301. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
@@ -0,0 +1,619 @@
1
+ import UserSettingsItem from "../../src/UserSettingsItem.js";
2
+ import UserSettingsView from "../../src/UserSettingsView.js";
3
+ import UserSettingsDialog from "../../src/UserSettingsDialog.js";
4
+ import Button from "@ui5/webcomponents/dist/Button.js";
5
+ import Text from "@ui5/webcomponents/dist/Text.js";
6
+
7
+ describe("Initial rendering", () => {
8
+ it("tests no config provided", () => {
9
+ cy.mount(<UserSettingsDialog open>
10
+ </UserSettingsDialog>);
11
+ cy.get("[ui5-user-settings-dialog]").as("settings");
12
+ cy.get("@settings").should("exist");
13
+ cy.get("@settings").shadow().find("[ui5-dialog]").as("dialog");
14
+ cy.get("@dialog").should("exist");
15
+ cy.get("@dialog").find("[ui5-toolbar]").as("toolbar");
16
+ cy.get("@toolbar").should("exist");
17
+ cy.get("@toolbar").find("[ui5-toolbar-button]").should("have.length", 1);
18
+ cy.get("@dialog").find("div").should("have.class", "ui5-user-settings-content");
19
+ cy.get("@dialog").find("div").should("have.class", "ui5-user-settings-side");
20
+ });
21
+
22
+ it("tests header-text provided", () => {
23
+ cy.mount(<UserSettingsDialog header-text="Settings" open>
24
+ </UserSettingsDialog>);
25
+ cy.get("[ui5-user-settings-dialog]").as("settings");
26
+ cy.get("@settings").should("exist");
27
+ cy.get("@settings").shadow().find("[ui5-dialog]").as("dialog");
28
+ cy.get("@dialog").should("exist");
29
+ cy.get("@dialog").find("[ui5-title]").contains("Settings");
30
+ cy.get("@dialog").find("[ui5-title]").should("have.length", 1);
31
+ });
32
+
33
+ it("tests show-search-field provided", () => {
34
+ cy.mount(<UserSettingsDialog show-search-field open>
35
+ </UserSettingsDialog>);
36
+ cy.get("[ui5-user-settings-dialog]").as("settings");
37
+ cy.get("@settings").should("exist");
38
+ cy.get("@settings").shadow().find("[ui5-dialog]").as("dialog");
39
+ cy.get("@dialog").should("exist");
40
+ cy.get("@dialog").find("[ui5-input]").should("have.length", 1);
41
+ cy.get("@dialog").find("[ui5-input]").should("have.attr", "placeholder", "Search");
42
+ });
43
+
44
+ it("tests setting item no config", () => {
45
+ cy.mount(<UserSettingsDialog open>
46
+ <UserSettingsItem>
47
+ <UserSettingsView>
48
+ </UserSettingsView>
49
+ </UserSettingsItem>
50
+ </UserSettingsDialog>);
51
+ cy.get("[ui5-user-settings-dialog]").as("settings");
52
+ cy.get("@settings").should("exist");
53
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
54
+ cy.get("@settingItem").should("exist");
55
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingView");
56
+ cy.get("@settingView").should("exist");
57
+ });
58
+
59
+ it("tests setting item no config", () => {
60
+ cy.mount(<UserSettingsDialog open>
61
+ <UserSettingsItem slot="fixedItems" selected>
62
+ <UserSettingsView>
63
+ </UserSettingsView>
64
+ </UserSettingsItem>
65
+ </UserSettingsDialog>);
66
+ cy.get("[ui5-user-settings-dialog]").as("settings");
67
+ cy.get("@settings").should("exist");
68
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
69
+ cy.get("@settingItem").should("exist");
70
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingView");
71
+ cy.get("@settingView").should("exist");
72
+ });
73
+
74
+ it("tests setting with button", () => {
75
+ cy.mount(<UserSettingsDialog open>
76
+ <UserSettingsItem>
77
+ <UserSettingsView>
78
+ <Button>Setting 3 Content 1</Button>
79
+ </UserSettingsView>
80
+ </UserSettingsItem>
81
+ </UserSettingsDialog>);
82
+ cy.get("[ui5-user-settings-dialog]").as("settings");
83
+ cy.get("@settings").should("exist");
84
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
85
+ cy.get("@settingItem").should("exist");
86
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingView");
87
+ cy.get("@settingView").should("exist");
88
+ cy.get("@settingView").find("[ui5-button]").should("have.length", 1);
89
+ cy.get("@settingView").find("[ui5-button]").contains("Setting 3 Content 1");
90
+ });
91
+
92
+ it("tests setting text", () => {
93
+ cy.mount(<UserSettingsDialog open>
94
+ <UserSettingsItem text="Setting">
95
+ <UserSettingsView text="Setting1">
96
+ </UserSettingsView>
97
+ </UserSettingsItem>
98
+ </UserSettingsDialog>);
99
+ cy.get("[ui5-user-settings-dialog]").as("settings");
100
+ cy.get("@settings").should("exist");
101
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
102
+ cy.get("@settingItem").should("exist");
103
+ cy.get("@settingItem").should("have.attr", "text", "Setting");
104
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingView");
105
+ cy.get("@settingView").should("exist");
106
+ cy.get("@settingView").should("have.attr", "text", "Setting1");
107
+ });
108
+
109
+ it("tests setting tooltip", () => {
110
+ cy.mount(<UserSettingsDialog open>
111
+ <UserSettingsItem text="Setting" tooltip="Setting tooltip">
112
+ </UserSettingsItem>
113
+ </UserSettingsDialog>);
114
+ cy.get("[ui5-user-settings-dialog]").as("settings");
115
+ cy.get("@settings").should("exist");
116
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
117
+ cy.get("@settingItem").should("exist");
118
+ cy.get("@settingItem").should("have.attr", "text", "Setting");
119
+ cy.get("@settingItem").should("have.attr", "tooltip", "Setting tooltip");
120
+ });
121
+
122
+ it("tests setting icon", () => {
123
+ cy.mount(<UserSettingsDialog open>
124
+ <UserSettingsItem icon="accessibility">
125
+ </UserSettingsItem>
126
+ </UserSettingsDialog>);
127
+ cy.get("[ui5-user-settings-dialog]").as("settings");
128
+ cy.get("@settings").should("exist");
129
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
130
+ cy.get("@settingItem").should("exist");
131
+ cy.get("@settingItem").should("have.attr", "icon", "accessibility");
132
+ });
133
+
134
+ it("tests setting header-text", () => {
135
+ cy.mount(<UserSettingsDialog open>
136
+ <UserSettingsItem header-text="Header title | Setting 3">
137
+ <UserSettingsView text="Setting1">
138
+ </UserSettingsView>
139
+ </UserSettingsItem>
140
+ </UserSettingsDialog>);
141
+ cy.get("[ui5-user-settings-dialog]").as("settings");
142
+ cy.get("@settings").should("exist");
143
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
144
+ cy.get("@settingItem").should("exist");
145
+ cy.get("@settingItem").shadow().find("[ui5-title]").as("title");
146
+ cy.get("@title").should("have.length", 1);
147
+ cy.get("@title").contains("Header title | Setting 3");
148
+ });
149
+
150
+ it("tests setting tabs", () => {
151
+ cy.mount(<UserSettingsDialog open>
152
+ <UserSettingsItem>
153
+ <UserSettingsView text="Setting1">
154
+ </UserSettingsView>
155
+ <UserSettingsView text="Setting2">
156
+ </UserSettingsView>
157
+ </UserSettingsItem>
158
+ </UserSettingsDialog>);
159
+ cy.get("[ui5-user-settings-dialog]").as("settings");
160
+ cy.get("@settings").should("exist");
161
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
162
+ cy.get("@settingItem").should("exist");
163
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
164
+ cy.get("@settingViews").should("exist");
165
+ cy.get("@settingViews").should("have.length", 2);
166
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("exist");
167
+ });
168
+
169
+ it("tests setting page", () => {
170
+ cy.mount(<UserSettingsDialog open>
171
+ <UserSettingsItem>
172
+ <UserSettingsView text="Setting1" slot="pages">
173
+ </UserSettingsView>
174
+ </UserSettingsItem>
175
+ </UserSettingsDialog>);
176
+ cy.get("[ui5-user-settings-dialog]").as("settings");
177
+ cy.get("@settings").should("exist");
178
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
179
+ cy.get("@settingItem").should("exist");
180
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
181
+ cy.get("@settingViews").should("exist");
182
+ cy.get("@settingViews").should("have.length", 1);
183
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
184
+ });
185
+
186
+ it("tests setting page with secondary", () => {
187
+ cy.mount(<UserSettingsDialog open>
188
+ <UserSettingsItem>
189
+ <UserSettingsView slot="pages">
190
+ <Button id="product1-button">Product 1</Button>
191
+ <Button id="product2-button">Product 2</Button>
192
+ </UserSettingsView>
193
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary>second page content
194
+ </UserSettingsView>
195
+ </UserSettingsItem>
196
+ </UserSettingsDialog>);
197
+ cy.get("[ui5-user-settings-dialog]").as("settings");
198
+ cy.get("@settings").should("exist");
199
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
200
+ cy.get("@settingItem").should("exist");
201
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
202
+ cy.get("@settingViews").should("exist");
203
+ cy.get("@settingViews").should("have.length", 2);
204
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
205
+ });
206
+
207
+ it("tests setting page secondary selected", () => {
208
+ cy.mount(<UserSettingsDialog open>
209
+ <UserSettingsItem>
210
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary selected>
211
+ <Text>second page content</Text>
212
+ </UserSettingsView>
213
+ </UserSettingsItem>
214
+ </UserSettingsDialog>);
215
+ cy.get("[ui5-user-settings-dialog]").as("settings");
216
+ cy.get("@settings").should("exist");
217
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
218
+ cy.get("@settingItem").should("exist");
219
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
220
+ cy.get("@settingViews").should("exist");
221
+ cy.get("@settingViews").should("have.length", 1);
222
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
223
+ cy.get("@settingItem").find("[ui5-text]").should("exist");
224
+ cy.get("@settingItem").shadow().find("[ui5-button]").as("navigateBackButton");
225
+ cy.get("@navigateBackButton").should("exist");
226
+ cy.get("@navigateBackButton").should("have.attr", "icon", "nav-back");
227
+ });
228
+ });
229
+
230
+ describe("Events", () => {
231
+ it("tests selection-change", () => {
232
+ cy.mount(<UserSettingsDialog open>
233
+ <UserSettingsItem text="Setting">
234
+ <UserSettingsView text="Setting1">
235
+ </UserSettingsView>
236
+ <UserSettingsView text="Setting2">
237
+ </UserSettingsView>
238
+ <UserSettingsView text="Setting3">
239
+ </UserSettingsView>
240
+ </UserSettingsItem>
241
+ <UserSettingsItem text="Fixed" slot="fixedItems">
242
+ </UserSettingsItem>
243
+ </UserSettingsDialog>);
244
+ cy.get("[ui5-user-settings-dialog]").as("settings");
245
+ cy.get("@settings").should("exist");
246
+ cy.get("@settings")
247
+ .shadow()
248
+ .find("[ui5-dialog]")
249
+ .find("[ui5-list]")
250
+ .as("list");
251
+ cy.get("@list")
252
+ .find("[ui5-li]").first()
253
+ .as("item");
254
+ cy.get("@item").should("have.attr", "type", "Active");
255
+ cy.get("@settings")
256
+ .then($settings => {
257
+ $settings.get(0).addEventListener("selection-change", cy.stub().as("selection-change"));
258
+ });
259
+
260
+ cy.get("@item").click();
261
+
262
+ cy.get("@selection-change").should("have.been.calledOnce");
263
+ });
264
+
265
+ it("tests open event", () => {
266
+ cy.mount(<><Button id="openSettingsBtn">Settings</Button>
267
+ <UserSettingsDialog>
268
+ <UserSettingsItem text="Setting">
269
+ <UserSettingsView text="Setting1">
270
+ </UserSettingsView>
271
+ </UserSettingsItem>
272
+ </UserSettingsDialog></>);
273
+
274
+ cy.get("[ui5-user-settings-dialog]").as("settings");
275
+ cy.get("@settings")
276
+ .then($settings => {
277
+ $settings.get(0).addEventListener("open", cy.stub().as("opened"));
278
+ });
279
+
280
+ cy.get("@settings").invoke("attr", "open", true);
281
+
282
+ cy.get("@settings").should("have.attr", "open");
283
+
284
+ cy.get("@settings").shadow().find("[ui5-dialog]").should("have.attr", "open");
285
+ cy.get("@opened").should("have.been.calledOnce");
286
+ });
287
+
288
+ it("tests before close event", () => {
289
+ cy.mount(<UserSettingsDialog open>
290
+ <UserSettingsItem text="Setting">
291
+ <UserSettingsView text="Setting1">
292
+ </UserSettingsView>
293
+ </UserSettingsItem>
294
+ </UserSettingsDialog>);
295
+ cy.get("[ui5-user-settings-dialog]").as("settings");
296
+ cy.get("@settings")
297
+ .then(settings => {
298
+ settings.get(0).addEventListener("before-close", cy.stub().as("beforeClosed"));
299
+ });
300
+
301
+ cy.get("@settings").shadow().find("[ui5-toolbar]").shadow()
302
+ .find("[ui5-button]")
303
+ .first()
304
+ .as("closeButton");
305
+ cy.get("@closeButton")
306
+ .click();
307
+ cy.get("@beforeClosed").should("have.been.calledOnce");
308
+ });
309
+
310
+ it("tests close event", () => {
311
+ cy.mount(<UserSettingsDialog open>
312
+ <UserSettingsItem text="Setting">
313
+ <UserSettingsView text="Setting1">
314
+ </UserSettingsView>
315
+ </UserSettingsItem>
316
+ </UserSettingsDialog>);
317
+ cy.get("[ui5-user-settings-dialog]").as("settings");
318
+ cy.get("@settings")
319
+ .then(settings => {
320
+ settings.get(0).addEventListener("close", cy.stub().as("closed"));
321
+ });
322
+
323
+ cy.get("@settings").shadow().find("[ui5-toolbar]").shadow()
324
+ .find("[ui5-button]")
325
+ .first()
326
+ .as("closeButton");
327
+ cy.get("@closeButton")
328
+ .click();
329
+ cy.get("@closed").should("have.been.calledOnce");
330
+ });
331
+
332
+ it("tests back-click event on secondary page", () => {
333
+ cy.mount(<UserSettingsDialog open>
334
+ <UserSettingsItem>
335
+ <UserSettingsView slot="pages">
336
+ <Button id="product1-button">Product 1</Button>
337
+ <Button id="product2-button">Product 2</Button>
338
+ </UserSettingsView>
339
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary selected>second page content
340
+ </UserSettingsView>
341
+ </UserSettingsItem>
342
+ </UserSettingsDialog>);
343
+ cy.get("[ui5-user-settings-dialog]").as("settings");
344
+ cy.get("@settings").should("exist");
345
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingsItem");
346
+ cy.get("@settingsItem")
347
+ .then(settingsItem => {
348
+ settingsItem.get(0).addEventListener("selection-change", cy.stub().as("backClicked"));
349
+ });
350
+ cy.get("@settingsItem").shadow()
351
+ .find(".ui5-user-settings-item-collapse-btn")
352
+ .first()
353
+ .as("backButton");
354
+
355
+ cy.get("@backButton")
356
+ .click();
357
+
358
+ cy.get("@backClicked").should("have.been.calledOnce");
359
+ });
360
+
361
+ it("tests _collapse event on secondary page mobile", () => {
362
+ cy.ui5SimulateDevice("phone");
363
+ cy.mount(<UserSettingsDialog open>
364
+ <UserSettingsItem>
365
+ <UserSettingsView slot="pages">
366
+ <Button id="product1-button">Product 1</Button>
367
+ <Button id="product2-button">Product 2</Button>
368
+ </UserSettingsView>
369
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary>second page content
370
+ </UserSettingsView>
371
+ </UserSettingsItem>
372
+ </UserSettingsDialog>);
373
+ cy.get("[ui5-user-settings-dialog]").as("settings");
374
+ cy.get("@settings").should("exist");
375
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingsItem");
376
+ cy.get("@settingsItem")
377
+ .then(settingsItem => {
378
+ settingsItem.get(0).addEventListener("_collapse", cy.stub().as("collapsed"));
379
+ });
380
+ cy.get("@settings")
381
+ .shadow()
382
+ .find("[ui5-dialog]")
383
+ .find("[ui5-list]")
384
+ .as("list");
385
+ cy.get("@list")
386
+ .find("[ui5-li]")
387
+ .as("item");
388
+ cy.get("@item").click();
389
+
390
+ cy.get("@settingsItem").shadow()
391
+ .find(".ui5-user-settings-item-collapse-btn")
392
+ .first()
393
+ .as("backButton");
394
+
395
+ cy.get("@backButton")
396
+ .click();
397
+
398
+ cy.get("@collapsed").should("have.been.calledOnce");
399
+ });
400
+
401
+ it("tests selection-change event", () => {
402
+ cy.mount(<UserSettingsDialog open>
403
+ <UserSettingsItem>
404
+ <UserSettingsView text="First tab">
405
+ <Button id="product1-button">Product 1</Button>
406
+ <Button id="product2-button">Product 2</Button>
407
+ </UserSettingsView>
408
+ <UserSettingsView text="Second tab" id="notification-second-page">second tab
409
+ </UserSettingsView>
410
+ </UserSettingsItem>
411
+ </UserSettingsDialog>);
412
+ cy.get("[ui5-user-settings-dialog]").as("settings");
413
+ cy.get("@settings").should("exist");
414
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingsItem");
415
+ cy.get("@settingsItem")
416
+ .then(settingsItem => {
417
+ settingsItem.get(0).addEventListener("selection-change", cy.stub().as("selectionChanged"));
418
+ });
419
+
420
+ cy.get("@settingsItem").shadow().find("[ui5-tabcontainer]").as("tabContainer");
421
+ cy.get("@tabContainer").shadow().find(".ui5-tc__header>.ui5-tc__tabStrip>.ui5-tab-strip-item").last()
422
+ .as("secondTab");
423
+ cy.get("@secondTab").click();
424
+ cy.get("@selectionChanged").should("have.been.calledOnce");
425
+ });
426
+
427
+ it("tests selection-change event prevented", () => {
428
+ cy.mount(<UserSettingsDialog open>
429
+ <UserSettingsItem>
430
+ <UserSettingsView text="First tab">
431
+ <Button id="product1-button">Product 1</Button>
432
+ <Button id="product2-button">Product 2</Button>
433
+ </UserSettingsView>
434
+ <UserSettingsView text="Second tab" id="notification-second-page">second tab
435
+ </UserSettingsView>
436
+ </UserSettingsItem>
437
+ </UserSettingsDialog>);
438
+ cy.get("[ui5-user-settings-dialog]").as("settings");
439
+ cy.get("@settings").should("exist");
440
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingsItem");
441
+ cy.get("@settingsItem")
442
+ .then(settingsItem => {
443
+ settingsItem.get(0).addEventListener("selection-change", e => e.preventDefault());
444
+ settingsItem.get(0).addEventListener("selection-change", cy.stub().as("selectionChanged"));
445
+ });
446
+
447
+ cy.get("@settingsItem").shadow().find("[ui5-tabcontainer]").as("tabContainer");
448
+ cy.get("@tabContainer").shadow().find(".ui5-tc__header>.ui5-tc__tabStrip>.ui5-tab-strip-item").last()
449
+ .as("secondTab");
450
+ cy.get("@secondTab").click();
451
+ cy.get("@selectionChanged").should("have.been.calledOnce");
452
+ });
453
+
454
+ it("tests search", () => {
455
+ cy.mount(<UserSettingsDialog show-search-field open>
456
+ <UserSettingsItem text="Setting">
457
+ <UserSettingsView text="Setting1">
458
+ </UserSettingsView>
459
+ <UserSettingsView text="Setting2" slot="fixedItems">
460
+ </UserSettingsView>
461
+ </UserSettingsItem>
462
+ </UserSettingsDialog>);
463
+ cy.get("[ui5-user-settings-dialog]").as("settings");
464
+ cy.get("@settings").should("exist");
465
+ cy.get("@settings").shadow().find("[ui5-dialog]").as("dialog");
466
+ cy.get("@dialog").should("exist");
467
+ cy.get("@dialog").find("[ui5-input]").as("search");
468
+ cy.get("@search").should("have.attr", "placeholder", "Search");
469
+ cy.get("@search").shadow().find("input").type("test");
470
+ });
471
+ });
472
+
473
+ describe("Responsiveness", () => {
474
+ it("test basic structure on phone", () => {
475
+ cy.ui5SimulateDevice("phone");
476
+ cy.mount(<UserSettingsDialog open>
477
+ <UserSettingsItem text="Setting">
478
+ <UserSettingsView text="Setting1">
479
+ </UserSettingsView>
480
+ </UserSettingsItem>
481
+ </UserSettingsDialog>);
482
+ cy.get("[ui5-user-settings-dialog]").as("settings");
483
+ cy.get("@settings").should("exist");
484
+ cy.get("@settings")
485
+ .then(settings => {
486
+ settings.get(0).addEventListener("close", cy.stub().as("closed"));
487
+ });
488
+ cy.get("@settings").shadow().find("[ui5-dialog]").should("exist");
489
+ cy.get("@settings").shadow().find("[ui5-toolbar]").should("exist");
490
+ cy.get("@settings").shadow().find("[ui5-toolbar]").shadow()
491
+ .find("[ui5-button]")
492
+ .first()
493
+ .as("closeButton");
494
+ cy.get("@closeButton")
495
+ .click();
496
+ cy.get("@closed").should("have.been.calledOnce");
497
+ cy.get("@settings").should("not.have.attr", "open");
498
+ cy.get("@settings").shadow().find("[ui5-dialog]").should("not.have.attr", "open");
499
+ });
500
+
501
+ it("test basic structure on phone", () => {
502
+ cy.ui5SimulateDevice("phone");
503
+ cy.mount(<UserSettingsDialog open>
504
+ <UserSettingsItem text="Setting">
505
+ <UserSettingsView text="Setting1">
506
+ </UserSettingsView>
507
+ </UserSettingsItem>
508
+ </UserSettingsDialog>);
509
+ cy.get("[ui5-user-settings-dialog]").as("settings");
510
+ cy.get("@settings").should("exist");
511
+ cy.get("@settings")
512
+ .then(settings => {
513
+ settings.get(0).addEventListener("close", cy.stub().as("closed"));
514
+ });
515
+ cy.get("@settings").shadow().find("[ui5-dialog]").should("exist");
516
+ cy.get("@settings").shadow().find("[ui5-toolbar]").should("exist");
517
+ cy.get("@settings")
518
+ .shadow()
519
+ .find("[ui5-dialog]")
520
+ .find("[ui5-list]")
521
+ .as("list");
522
+ cy.get("@list")
523
+ .find("[ui5-li]")
524
+ .as("item");
525
+ cy.get("@item").should("have.attr", "type", "Navigation");
526
+ cy.get("@settings").shadow().find("[ui5-toolbar]").shadow()
527
+ .find("[ui5-button]")
528
+ .first()
529
+ .as("closeButton");
530
+ cy.get("@closeButton")
531
+ .click();
532
+ cy.get("@closed").should("have.been.calledOnce");
533
+ cy.get("@settings").should("not.have.attr", "open");
534
+ cy.get("@settings").shadow().find("[ui5-dialog]").should("not.have.attr", "open");
535
+ });
536
+
537
+ it("tests setting tabs", () => {
538
+ cy.ui5SimulateDevice("phone");
539
+ cy.mount(<UserSettingsDialog open>
540
+ <UserSettingsItem>
541
+ <UserSettingsView text="Setting1">
542
+ </UserSettingsView>
543
+ <UserSettingsView text="Setting2">
544
+ </UserSettingsView>
545
+ </UserSettingsItem>
546
+ </UserSettingsDialog>);
547
+ cy.get("[ui5-user-settings-dialog]").as("settings");
548
+ cy.get("@settings").should("exist");
549
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
550
+ cy.get("@settingItem").should("exist");
551
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
552
+ cy.get("@settingViews").should("exist");
553
+ cy.get("@settingViews").should("have.length", 2);
554
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("exist");
555
+ });
556
+
557
+ it("tests setting page", () => {
558
+ cy.ui5SimulateDevice("phone");
559
+ cy.mount(<UserSettingsDialog open>
560
+ <UserSettingsItem>
561
+ <UserSettingsView text="Setting1" slot="pages">
562
+ </UserSettingsView>
563
+ </UserSettingsItem>
564
+ </UserSettingsDialog>);
565
+ cy.get("[ui5-user-settings-dialog]").as("settings");
566
+ cy.get("@settings").should("exist");
567
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
568
+ cy.get("@settingItem").should("exist");
569
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
570
+ cy.get("@settingViews").should("exist");
571
+ cy.get("@settingViews").should("have.length", 1);
572
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
573
+ });
574
+
575
+ it("tests setting page with secondary", () => {
576
+ cy.ui5SimulateDevice("phone");
577
+ cy.mount(<UserSettingsDialog open>
578
+ <UserSettingsItem>
579
+ <UserSettingsView slot="pages">
580
+ <Button id="product1-button">Product 1</Button>
581
+ <Button id="product2-button">Product 2</Button>
582
+ </UserSettingsView>
583
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary>second page content
584
+ </UserSettingsView>
585
+ </UserSettingsItem>
586
+ </UserSettingsDialog>);
587
+ cy.get("[ui5-user-settings-dialog]").as("settings");
588
+ cy.get("@settings").should("exist");
589
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
590
+ cy.get("@settingItem").should("exist");
591
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
592
+ cy.get("@settingViews").should("exist");
593
+ cy.get("@settingViews").should("have.length", 2);
594
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
595
+ });
596
+
597
+ it("tests setting page secondary selected", () => {
598
+ cy.ui5SimulateDevice("phone");
599
+ cy.mount(<UserSettingsDialog open>
600
+ <UserSettingsItem>
601
+ <UserSettingsView slot="pages" text="Inner Page" id="notification-second-page" secondary selected>
602
+ <Text>second page content</Text>
603
+ </UserSettingsView>
604
+ </UserSettingsItem>
605
+ </UserSettingsDialog>);
606
+ cy.get("[ui5-user-settings-dialog]").as("settings");
607
+ cy.get("@settings").should("exist");
608
+ cy.get("@settings").find("[ui5-user-settings-item]").as("settingItem");
609
+ cy.get("@settingItem").should("exist");
610
+ cy.get("@settingItem").find("[ui5-user-settings-view]").as("settingViews");
611
+ cy.get("@settingViews").should("exist");
612
+ cy.get("@settingViews").should("have.length", 1);
613
+ cy.get("@settingItem").shadow().find("[ui5-tabcontainer]").should("not.exist");
614
+ cy.get("@settingItem").find("[ui5-text]").should("exist");
615
+ cy.get("@settingItem").shadow().find("[ui5-button]").as("navigateBackButton");
616
+ cy.get("@navigateBackButton").should("exist");
617
+ cy.get("@navigateBackButton").should("have.attr", "icon", "nav-back");
618
+ });
619
+ });