@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
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFieldTemplate.js","sourceRoot":"","sources":["../src/SearchFieldTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAEvD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,YAAY,MAAM,+CAA+C,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACf,cAAK,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAC/C,eAAK,KAAK,EAAC,0BAA0B,aACnC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;oBAC/B,8BACC,KAAC,MAAM,IACN,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,KAAK,EAAC,kBAAkB,EACxB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oCACpC,OAAO,KAAC,MAAM,IACb,QAAQ,EAAE,WAAW,CAAC,QAAQ,qBACb,WAAW,CAAC,YAAY,EACzC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YACrC,WAAW,CAAC,IAAI,GAAU,CAAC;gCAC9B,CAAC,EACD,IAAI,CAAC,GACG,EACT,cAAK,KAAK,EAAC,4BAA4B,GAAO,IAC5C,EAGJ,gBACC,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,WAAW,gBACJ,IAAI,CAAC,cAAc,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,8BAE7B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,GAAI,EAE9B,IAAI,CAAC,uBAAuB;oBAC5B,KAAC,IAAI,IACJ,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAC5C,OAAO,EAAE,IAAI,CAAC,YAAY,GACnB,EAGT,KAAC,IAAI,IACJ,KAAK,EAAE;wBACN,6BAA6B,EAAE,IAAI;wBACnC,oCAAoC,EAAE,IAAI,CAAC,aAAa;qBACxD,EACD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAC7C,OAAO,EAAE,IAAI,CAAC,sBAAsB,GAC7B,IACH,GACD,CACN,CAAC,CAAC,CAAC,CACH,KAAC,MAAM,IACN,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,CAAC,WAAW,8BAEhC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAC3C,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAClD,uBAAuB,EAAE,IAAI,CAAC,oCAAoC,GACzD,CACV,CACD,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Option from \"@ui5/webcomponents/dist/Option.js\";\nimport Select from \"@ui5/webcomponents/dist/Select.js\";\nimport type SearchField from \"./SearchField.js\";\nimport SearchMode from \"./types/SearchMode.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchFieldTemplate(this: SearchField) {\n\treturn (\n\t\tthis.expanded ? (\n\t\t\t<div class=\"ui5-search-field-root\" role=\"search\">\n\t\t\t\t<div class=\"ui5-search-field-content\">\n\t\t\t\t\t{this.mode === SearchMode.Scoped &&\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tonChange={this._handleScopeChange}\n\t\t\t\t\t\t\t\tclass=\"sapUiSizeCompact\"\n\t\t\t\t\t\t\t\taccessibleName={this._translations.scope}\n\t\t\t\t\t\t\t\ttooltip={this._translations.scope}>\n\t\t\t\t\t\t\t\t{this.scopeOptions.map(scopeOption => {\n\t\t\t\t\t\t\t\t\treturn <Option\n\t\t\t\t\t\t\t\t\t\tselected={scopeOption.selected}\n\t\t\t\t\t\t\t\t\t\tdata-ui5-stable={scopeOption.stableDomRef}\n\t\t\t\t\t\t\t\t\t\tref={this.captureRef.bind(scopeOption)}\n\t\t\t\t\t\t\t\t\t>{scopeOption.text}</Option>;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tthis)}\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<div class=\"ui5-search-field-separator\"></div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"ui5-search-field-inner-input\"\n\t\t\t\t\t\trole=\"searchbox\"\n\t\t\t\t\t\taria-label={this.accessibleName}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\t\tonInput={this._handleInput}\n\t\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t\t\tonKeyDown={this._onkeydown} />\n\n\t\t\t\t\t{this._effectiveShowClearIcon &&\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclass=\"ui5-shell-search-field-icon\"\n\t\t\t\t\t\t\tname={decline}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\taccessibleName={this._translations.clearIcon}\n\t\t\t\t\t\t\tonClick={this._handleClear}\n\t\t\t\t\t\t></Icon>\n\t\t\t\t\t}\n\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-shell-search-field-icon\": true,\n\t\t\t\t\t\t\t\"ui5-shell-search-field-search-icon\": this._isSearchIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={search}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\taccessibleName={this._translations.searchIcon}\n\t\t\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\t\t></Icon>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tclass=\"ui5-shell-search-field-button\"\n\t\t\t\ticon={search}\n\t\t\t\tdesign={ButtonDesign.Transparent}\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\ttooltip={this._translations.collapsedSearch}\n\t\t\t\taccessibleName={this._translations.collapsedSearch}\n\t\t\t\taccessibilityAttributes={this._searchButtonAccessibilityAttributes}\n\t\t\t></Button>\n\t\t)\n\t);\n}\n"]}
1
+ {"version":3,"file":"SearchFieldTemplate.js","sourceRoot":"","sources":["../src/SearchFieldTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AAEvD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,YAAY,MAAM,+CAA+C,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACf,cAAK,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,EAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,YAClF,eAAK,KAAK,EAAC,0BAA0B,aACnC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM;oBAC/B,8BACC,KAAC,MAAM,IACN,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,KAAK,EAAC,kBAAkB,EACxB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EACxC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,YAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oCACpC,OAAO,KAAC,MAAM,IACb,QAAQ,EAAE,WAAW,CAAC,QAAQ,qBACb,WAAW,CAAC,YAAY,EACzC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YACrC,WAAW,CAAC,IAAI,GAAU,CAAC;gCAC9B,CAAC,EACD,IAAI,CAAC,GACG,EACT,cAAK,KAAK,EAAC,4BAA4B,GAAO,IAC5C,EAGJ,gBACC,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,WAAW,gBACJ,IAAI,CAAC,cAAc,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,8BAE7B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,GAAI,EAE9B,IAAI,CAAC,uBAAuB;oBAC5B,KAAC,IAAI,IACJ,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAC5C,OAAO,EAAE,IAAI,CAAC,YAAY,GACnB,EAGT,KAAC,IAAI,IACJ,KAAK,EAAE;wBACN,6BAA6B,EAAE,IAAI;wBACnC,oCAAoC,EAAE,IAAI,CAAC,aAAa;qBACxD,EACD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAC7C,OAAO,EAAE,IAAI,CAAC,sBAAsB,GAC7B,IACH,GACD,CACN,CAAC,CAAC,CAAC,CACH,KAAC,MAAM,IACN,KAAK,EAAC,+BAA+B,EACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,CAAC,WAAW,8BAEhC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAC3C,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAClD,uBAAuB,EAAE,IAAI,CAAC,oCAAoC,GACzD,CACV,CACD,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Option from \"@ui5/webcomponents/dist/Option.js\";\nimport Select from \"@ui5/webcomponents/dist/Select.js\";\nimport type SearchField from \"./SearchField.js\";\nimport SearchMode from \"./types/SearchMode.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchFieldTemplate(this: SearchField) {\n\treturn (\n\t\tthis.expanded ? (\n\t\t\t<div class=\"ui5-search-field-root\" role=\"search\" onFocusOut={this._onFocusOutSearch}>\n\t\t\t\t<div class=\"ui5-search-field-content\">\n\t\t\t\t\t{this.mode === SearchMode.Scoped &&\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tonChange={this._handleScopeChange}\n\t\t\t\t\t\t\t\tclass=\"sapUiSizeCompact\"\n\t\t\t\t\t\t\t\taccessibleName={this._translations.scope}\n\t\t\t\t\t\t\t\ttooltip={this._translations.scope}>\n\t\t\t\t\t\t\t\t{this.scopeOptions.map(scopeOption => {\n\t\t\t\t\t\t\t\t\treturn <Option\n\t\t\t\t\t\t\t\t\t\tselected={scopeOption.selected}\n\t\t\t\t\t\t\t\t\t\tdata-ui5-stable={scopeOption.stableDomRef}\n\t\t\t\t\t\t\t\t\t\tref={this.captureRef.bind(scopeOption)}\n\t\t\t\t\t\t\t\t\t>{scopeOption.text}</Option>;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tthis)}\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<div class=\"ui5-search-field-separator\"></div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass=\"ui5-search-field-inner-input\"\n\t\t\t\t\t\trole=\"searchbox\"\n\t\t\t\t\t\taria-label={this.accessibleName}\n\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\t\tonInput={this._handleInput}\n\t\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t\t\tonKeyDown={this._onkeydown} />\n\n\t\t\t\t\t{this._effectiveShowClearIcon &&\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclass=\"ui5-shell-search-field-icon\"\n\t\t\t\t\t\t\tname={decline}\n\t\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\t\taccessibleName={this._translations.clearIcon}\n\t\t\t\t\t\t\tonClick={this._handleClear}\n\t\t\t\t\t\t></Icon>\n\t\t\t\t\t}\n\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-shell-search-field-icon\": true,\n\t\t\t\t\t\t\t\"ui5-shell-search-field-search-icon\": this._isSearchIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tname={search}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\taccessibleName={this._translations.searchIcon}\n\t\t\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\t\t></Icon>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tclass=\"ui5-shell-search-field-button\"\n\t\t\t\ticon={search}\n\t\t\t\tdesign={ButtonDesign.Transparent}\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tonClick={this._handleSearchIconPress}\n\t\t\t\ttooltip={this._translations.collapsedSearch}\n\t\t\t\taccessibleName={this._translations.collapsedSearch}\n\t\t\t\taccessibilityAttributes={this._searchButtonAccessibilityAttributes}\n\t\t\t></Button>\n\t\t)\n\t);\n}\n"]}
@@ -0,0 +1,52 @@
1
+ import ListItemBase from "@ui5/webcomponents/dist/ListItemBase.js";
2
+ /**
3
+ * @class
4
+ *
5
+ * ### Overview
6
+ *
7
+ * A `ui5-search-item` is a list item, used for displaying search suggestions
8
+ *
9
+ * ### ES6 Module Import
10
+ *
11
+ * `import "@ui5/webcomponents/fiori/dist/SearchItem.js";`
12
+ *
13
+ * @constructor
14
+ * @extends ListItemBase
15
+ * @public
16
+ * @since 2.9.0
17
+ * @experimental
18
+ */
19
+ declare class SearchItem extends ListItemBase {
20
+ eventDetails: ListItemBase["eventDetails"] & {
21
+ "delete": void;
22
+ };
23
+ /**
24
+ * Defines the heading text of the search item.
25
+ * @public
26
+ */
27
+ headingText: string;
28
+ /**
29
+ * Defines the icon name of the search item.
30
+ * @public
31
+ */
32
+ icon: string;
33
+ /**
34
+ * Defines whether the search item is selected.
35
+ * @default false
36
+ * @public
37
+ */
38
+ selected: boolean;
39
+ /**
40
+ * Defines the scope of the search item
41
+ * @default false
42
+ * @public
43
+ */
44
+ scopeName?: string;
45
+ highlightText: string;
46
+ _markupText: string;
47
+ _onfocusin(e: FocusEvent): void;
48
+ _onfocusout(): void;
49
+ _onDeleteButtonClick(): void;
50
+ onBeforeRendering(): void;
51
+ }
52
+ export default SearchItem;
@@ -0,0 +1,106 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { property } from "@ui5/webcomponents-base/dist/decorators.js";
8
+ import ListItemBase from "@ui5/webcomponents/dist/ListItemBase.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import SearchItemTemplate from "./SearchItemTemplate.js";
11
+ import SearchItemCss from "./generated/themes/SearchItem.css.js";
12
+ import generateHighlightedMarkup from "@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js";
13
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
+ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
15
+ /**
16
+ * @class
17
+ *
18
+ * ### Overview
19
+ *
20
+ * A `ui5-search-item` is a list item, used for displaying search suggestions
21
+ *
22
+ * ### ES6 Module Import
23
+ *
24
+ * `import "@ui5/webcomponents/fiori/dist/SearchItem.js";`
25
+ *
26
+ * @constructor
27
+ * @extends ListItemBase
28
+ * @public
29
+ * @since 2.9.0
30
+ * @experimental
31
+ */
32
+ let SearchItem = class SearchItem extends ListItemBase {
33
+ constructor() {
34
+ super(...arguments);
35
+ /**
36
+ * Defines the heading text of the search item.
37
+ * @public
38
+ */
39
+ this.headingText = "";
40
+ /**
41
+ * Defines the icon name of the search item.
42
+ * @public
43
+ */
44
+ this.icon = "";
45
+ /**
46
+ * Defines whether the search item is selected.
47
+ * @default false
48
+ * @public
49
+ */
50
+ this.selected = false;
51
+ this.highlightText = "";
52
+ this._markupText = "";
53
+ }
54
+ _onfocusin(e) {
55
+ super._onfocusin(e);
56
+ this.selected = true;
57
+ }
58
+ _onfocusout() {
59
+ this.selected = false;
60
+ }
61
+ _onDeleteButtonClick() {
62
+ this.fireDecoratorEvent("delete");
63
+ }
64
+ onBeforeRendering() {
65
+ super.onBeforeRendering();
66
+ // bold the matched text
67
+ this._markupText = this.highlightText ? generateHighlightedMarkup(this.headingText, this.highlightText) : this.headingText;
68
+ }
69
+ };
70
+ __decorate([
71
+ property()
72
+ ], SearchItem.prototype, "headingText", void 0);
73
+ __decorate([
74
+ property()
75
+ ], SearchItem.prototype, "icon", void 0);
76
+ __decorate([
77
+ property({ type: Boolean })
78
+ ], SearchItem.prototype, "selected", void 0);
79
+ __decorate([
80
+ property()
81
+ ], SearchItem.prototype, "scopeName", void 0);
82
+ __decorate([
83
+ property()
84
+ ], SearchItem.prototype, "highlightText", void 0);
85
+ SearchItem = __decorate([
86
+ customElement({
87
+ tag: "ui5-search-item",
88
+ languageAware: true,
89
+ renderer: jsxRenderer,
90
+ template: SearchItemTemplate,
91
+ styles: [
92
+ ListItemBase.styles,
93
+ SearchItemCss,
94
+ ],
95
+ })
96
+ /**
97
+ * Fired when delete button is pressed.
98
+ *
99
+ * @public
100
+ */
101
+ ,
102
+ event("delete")
103
+ ], SearchItem);
104
+ SearchItem.define();
105
+ export default SearchItem;
106
+ //# sourceMappingURL=SearchItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchItem.js","sourceRoot":"","sources":["../src/SearchItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,YAAY,MAAM,yCAAyC,CAAC;AACnE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,yBAAyB,MAAM,gEAAgE,CAAC;AACvG,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAE5E;;;;;;;;;;;;;;;;GAgBG;AAmBH,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAArC;;QAIC;;;WAGG;QAEH,gBAAW,GAAG,EAAE,CAAC;QAEjB;;;WAGG;QAEH,SAAI,GAAG,EAAE,CAAC;QAEV;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAWjB,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAG,EAAE,CAAC;IAsBlB,CAAC;IApBA,UAAU,CAAC,CAAa;QACvB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,wBAAwB;QACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5H,CAAC;CACD,CAAA;AAlDA;IADC,QAAQ,EAAE;+CACM;AAOjB;IADC,QAAQ,EAAE;wCACD;AAQV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACX;AAQjB;IADC,QAAQ,EAAE;6CACQ;AAGnB;IADC,QAAQ,EAAE;iDACQ;AAnCd,UAAU;IAlBf,aAAa,CAAC;QACd,GAAG,EAAE,iBAAiB;QACtB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,MAAM,EAAE;YACP,YAAY,CAAC,MAAM;YACnB,aAAa;SACb;KACD,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,QAAQ,CAAC;GAEV,UAAU,CA2Df;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","sourcesContent":["import { property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport SearchItemTemplate from \"./SearchItemTemplate.js\";\nimport SearchItemCss from \"./generated/themes/SearchItem.css.js\";\nimport generateHighlightedMarkup from \"@ui5/webcomponents-base/dist/util/generateHighlightedMarkup.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * A `ui5-search-item` is a list item, used for displaying search suggestions\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/fiori/dist/SearchItem.js\";`\n *\n * @constructor\n * @extends ListItemBase\n * @public\n * @since 2.9.0\n * @experimental\n */\n@customElement({\n\ttag: \"ui5-search-item\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: SearchItemTemplate,\n\tstyles: [\n\t\tListItemBase.styles,\n\t\tSearchItemCss,\n\t],\n})\n\n/**\n * Fired when delete button is pressed.\n *\n * @public\n */\n@event(\"delete\")\n\nclass SearchItem extends ListItemBase {\n\teventDetails!: ListItemBase[\"eventDetails\"] & {\n\t\t\"delete\": void,\n\t};\n\t/**\n\t * Defines the heading text of the search item.\n\t * @public\n\t */\n\t@property()\n\theadingText = \"\";\n\n\t/**\n\t * Defines the icon name of the search item.\n\t * @public\n\t */\n\t@property()\n\ticon = \"\";\n\n\t/**\n\t * Defines whether the search item is selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the scope of the search item\n\t * @default false\n\t * @public\n\t */\n\t@property()\n\tscopeName?: string;\n\n\t@property()\n\thighlightText = \"\";\n\n\t_markupText = \"\";\n\n\t_onfocusin(e: FocusEvent) {\n\t\tsuper._onfocusin(e);\n\n\t\tthis.selected = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.selected = false;\n\t}\n\n\t_onDeleteButtonClick() {\n\t\tthis.fireDecoratorEvent(\"delete\");\n\t}\n\n\tonBeforeRendering(): void {\n\t\tsuper.onBeforeRendering();\n\n\t\t// bold the matched text\n\t\tthis._markupText = this.highlightText ? generateHighlightedMarkup(this.headingText, this.highlightText) : this.headingText;\n\t}\n}\n\nSearchItem.define();\n\nexport default SearchItem;\n"]}
@@ -0,0 +1,17 @@
1
+ import ListItemGroup from "@ui5/webcomponents/dist/ListItemGroup.js";
2
+ import type ListItemGroupHeader from "@ui5/webcomponents/dist/ListItemGroupHeader.js";
3
+ /**
4
+ * @class
5
+ * The `ui5-search-item-group` is type of suggestion item,
6
+ * that can be used to split the `ui5-search-item` suggestions into groups.
7
+ * @constructor
8
+ * @extends ListItemGroup
9
+ * @public
10
+ * @since 2.9.0
11
+ * @experimental
12
+ */
13
+ declare class SearchItemGroup extends ListItemGroup {
14
+ get isGroupItem(): boolean;
15
+ getFocusDomRef(): ListItemGroupHeader;
16
+ }
17
+ export default SearchItemGroup;
@@ -0,0 +1,39 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
+ import ListItemGroup from "@ui5/webcomponents/dist/ListItemGroup.js";
9
+ import SearchItemGroupCss from "./generated/themes/SearchItemGroup.css.js";
10
+ /**
11
+ * @class
12
+ * The `ui5-search-item-group` is type of suggestion item,
13
+ * that can be used to split the `ui5-search-item` suggestions into groups.
14
+ * @constructor
15
+ * @extends ListItemGroup
16
+ * @public
17
+ * @since 2.9.0
18
+ * @experimental
19
+ */
20
+ let SearchItemGroup = class SearchItemGroup extends ListItemGroup {
21
+ get isGroupItem() {
22
+ return true;
23
+ }
24
+ getFocusDomRef() {
25
+ return this.shadowRoot.querySelector("[ui5-li-group-header]");
26
+ }
27
+ };
28
+ SearchItemGroup = __decorate([
29
+ customElement({
30
+ tag: "ui5-search-item-group",
31
+ styles: [
32
+ ListItemGroup.styles,
33
+ SearchItemGroupCss,
34
+ ],
35
+ })
36
+ ], SearchItemGroup);
37
+ SearchItemGroup.define();
38
+ export default SearchItemGroup;
39
+ //# sourceMappingURL=SearchItemGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchItemGroup.js","sourceRoot":"","sources":["../src/SearchItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,aAAa,MAAM,0CAA0C,CAAC;AAErE,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E;;;;;;;;;GASG;AAQH,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAAa;IAC1C,IAAI,WAAW;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,uBAAuB,CAAwB,CAAC;IACvF,CAAC;CACD,CAAA;AARK,eAAe;IAPpB,aAAa,CAAC;QACd,GAAG,EAAE,uBAAuB;QAC5B,MAAM,EAAE;YACP,aAAa,CAAC,MAAM;YACpB,kBAAkB;SAClB;KACD,CAAC;GACI,eAAe,CAQpB;AAED,eAAe,CAAC,MAAM,EAAE,CAAC;AAEzB,eAAe,eAAe,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ListItemGroup from \"@ui5/webcomponents/dist/ListItemGroup.js\";\nimport type ListItemGroupHeader from \"@ui5/webcomponents/dist/ListItemGroupHeader.js\";\nimport SearchItemGroupCss from \"./generated/themes/SearchItemGroup.css.js\";\n\n/**\n * @class\n * The `ui5-search-item-group` is type of suggestion item,\n * that can be used to split the `ui5-search-item` suggestions into groups.\n * @constructor\n * @extends ListItemGroup\n * @public\n * @since 2.9.0\n * @experimental\n */\n@customElement({\n\ttag: \"ui5-search-item-group\",\n\tstyles: [\n\t\tListItemGroup.styles,\n\t\tSearchItemGroupCss,\n\t],\n})\nclass SearchItemGroup extends ListItemGroup {\n\tget isGroupItem(): boolean {\n\t\treturn true;\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this.shadowRoot!.querySelector(\"[ui5-li-group-header]\") as ListItemGroupHeader;\n\t}\n}\n\nSearchItemGroup.define();\n\nexport default SearchItemGroup;\n"]}
@@ -0,0 +1,2 @@
1
+ import type SearchItem from "./SearchItem.js";
2
+ export default function SearchFieldTemplate(this: SearchItem): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ import Tag from "@ui5/webcomponents/dist/Tag.js";
4
+ import Button from "@ui5/webcomponents/dist/Button.js";
5
+ import decline from "@ui5/webcomponents-icons/dist/decline.js";
6
+ import ButtonDesign from "@ui5/webcomponents/dist/types/ButtonDesign.js";
7
+ import TagDesign from "@ui5/webcomponents/dist/types/TagDesign.js";
8
+ export default function SearchFieldTemplate() {
9
+ return (_jsx("li", { part: "native-li", class: "ui5-li-root ui5-li--focusable", "data-sap-focus-ref": true, draggable: this.movable, tabindex: this._effectiveTabIndex, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, onKeyUp: this._onkeyup, onKeyDown: this._onkeydown, onClick: this._onclick, children: _jsx("div", { part: "content", class: "ui5-search-item-content", children: _jsxs("div", { class: "ui5-search-item-begin-content", children: [this.icon &&
10
+ _jsx(Icon, { class: "ui5-search-item-icon", name: this.icon }), this.scopeName &&
11
+ _jsx(Tag, { design: TagDesign.Set2, colorScheme: "10", children: this.scopeName }), _jsx("div", { class: "ui5-search-item-titles-container", children: _jsx("span", { part: "title", class: "ui5-search-item-heading", dangerouslySetInnerHTML: { __html: this._markupText } }) }), this.selected &&
12
+ _jsx(Button, { class: "ui5-search-item-selected-delete", design: ButtonDesign.Transparent, icon: decline, onClick: this._onDeleteButtonClick })] }) }) }));
13
+ }
14
+ //# sourceMappingURL=SearchItemTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchItemTemplate.js","sourceRoot":"","sources":["../src/SearchItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAEnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,YAAY,MAAM,+CAA+C,CAAC;AACzE,OAAO,SAAS,MAAM,4CAA4C,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,aACC,IAAI,EAAC,WAAW,EAChB,KAAK,EAAC,+BAA+B,8BAErC,SAAS,EAAE,IAAI,CAAC,OAAO,EACvB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,YAEtB,cAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,yBAAyB,YAClD,eAAK,KAAK,EAAC,+BAA+B,aACxC,IAAI,CAAC,IAAI;wBACT,KAAC,IAAI,IAAC,KAAK,EAAC,sBAAsB,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAS,EAG3D,IAAI,CAAC,SAAS;wBACd,KAAC,GAAG,IAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,EAAC,IAAI,YAC3C,IAAI,CAAC,SAAS,GACV,EAGP,cAAK,KAAK,EAAC,kCAAkC,YAC5C,eAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,yBAAyB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,GAAS,GAC5G,EACL,IAAI,CAAC,QAAQ;wBACb,KAAC,MAAM,IAAC,KAAK,EAAC,iCAAiC,EAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,GAAW,IAE1I,GACD,GACD,CACN,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type SearchItem from \"./SearchItem.js\";\nimport Tag from \"@ui5/webcomponents/dist/Tag.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\nimport TagDesign from \"@ui5/webcomponents/dist/types/TagDesign.js\";\n\nexport default function SearchFieldTemplate(this: SearchItem) {\n\treturn (\n\t\t<li\n\t\t\tpart=\"native-li\"\n\t\t\tclass=\"ui5-li-root ui5-li--focusable\"\n\t\t\tdata-sap-focus-ref\n\t\t\tdraggable={this.movable}\n\t\t\ttabindex={this._effectiveTabIndex}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonClick={this._onclick}\n\t\t>\n\t\t\t<div part=\"content\" class=\"ui5-search-item-content\">\n\t\t\t\t<div class=\"ui5-search-item-begin-content\">\n\t\t\t\t\t{this.icon &&\n\t\t\t\t\t\t<Icon class=\"ui5-search-item-icon\" name={this.icon}></Icon>\n\t\t\t\t\t}\n\n\t\t\t\t\t{this.scopeName &&\n\t\t\t\t\t\t<Tag design={TagDesign.Set2} colorScheme=\"10\">\n\t\t\t\t\t\t\t{this.scopeName}\n\t\t\t\t\t\t</Tag>\n\t\t\t\t\t}\n\n\t\t\t\t\t<div class=\"ui5-search-item-titles-container\">\n\t\t\t\t\t\t<span part=\"title\" class=\"ui5-search-item-heading\" dangerouslySetInnerHTML={{ __html: this._markupText }}></span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.selected &&\n\t\t\t\t\t\t<Button class=\"ui5-search-item-selected-delete\" design={ButtonDesign.Transparent} icon={decline} onClick={this._onDeleteButtonClick}></Button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</li >\n\t);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type Search from "./Search.js";
2
+ export default function SearchPopoverTemplate(this: Search): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
3
+ import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
4
+ import Text from "@ui5/webcomponents/dist/Text.js";
5
+ import List from "@ui5/webcomponents/dist/List.js";
6
+ import Title from "@ui5/webcomponents/dist/Title.js";
7
+ import ListSeparator from "@ui5/webcomponents/dist/types/ListSeparator.js";
8
+ import TitleLevel from "@ui5/webcomponents/dist/types/TitleLevel.js";
9
+ import PopoverHorizontalAlign from "@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js";
10
+ import PopoverPlacement from "@ui5/webcomponents/dist/types/PopoverPlacement.js";
11
+ import Button from "@ui5/webcomponents/dist/Button.js";
12
+ import ButtonDesign from "@ui5/webcomponents/dist/types/ButtonDesign.js";
13
+ export default function SearchPopoverTemplate() {
14
+ return (_jsx(ResponsivePopover, { hideArrow: true, preventFocusRestore: true, preventInitialFocus: true, placement: PopoverPlacement.Bottom, horizontalAlign: PopoverHorizontalAlign.Start, open: this.open, opener: this, onOpen: this._handleOpen, onClose: this._handleClose, class: "ui5-search-popover", children: this._showIllustration ?
15
+ _jsx("slot", { name: "illustration" })
16
+ : (this._showLoading ?
17
+ _jsx(BusyIndicator, { class: "ui5-search-popover-loading-bi", active: true })
18
+ : (_jsxs(_Fragment, { children: [this._showHeader &&
19
+ (_jsxs("header", { slot: "header", class: "ui5-search-popover-header", children: [_jsx(Title, { size: TitleLevel.H6, children: this.headerText }), _jsx(Text, { class: "ui5-search-popover-subheader", children: _jsx("i", { children: this.subheaderText }) })] })), _jsx("main", { children: _jsx(List, { class: "ui5-search-list", separators: ListSeparator.None, onKeyDown: this._onItemKeydown, onItemClick: this._onItemClick, children: _jsx("slot", {}) }) }), this._showFooter &&
20
+ _jsx(Button, { slot: "footer", design: ButtonDesign.Transparent, class: "ui5-search-footer-button", onKeyDown: this._onFooterButtonKeyDown, onClick: this._onFooterButtonClick, children: this.popupActionText })] }))) }));
21
+ }
22
+ //# sourceMappingURL=SearchPopoverTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPopoverTemplate.js","sourceRoot":"","sources":["../src/SearchPopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAE7E,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,KAAK,MAAM,kCAAkC,CAAC;AACrD,OAAO,aAAa,MAAM,gDAAgD,CAAC;AAC3E,OAAO,UAAU,MAAM,6CAA6C,CAAC;AACrE,OAAO,sBAAsB,MAAM,yDAAyD,CAAC;AAC7F,OAAO,gBAAgB,MAAM,mDAAmD,CAAC;AACjF,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,YAAY,MAAM,+CAA+C,CAAC;AAEzE,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,KAAC,iBAAiB,IACjB,SAAS,EAAE,IAAI,EACf,mBAAmB,EAAE,IAAI,EACzB,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAClC,eAAe,EAAE,sBAAsB,CAAC,KAAK,EAC7C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,KAAK,EAAC,oBAAoB,YAGzB,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxB,eAAM,IAAI,EAAC,cAAc,GAAQ;YACjC,CAAC,CAAC,CACD,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClB,KAAC,aAAa,IAAC,KAAK,EAAC,+BAA+B,EAAC,MAAM,SAAiB;gBAC5E,CAAC,CAAC,CACD,8BACE,IAAI,CAAC,WAAW;4BAChB,CAAC,kBAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,2BAA2B,aACvD,KAAC,KAAK,IAAC,IAAI,EAAE,UAAU,CAAC,EAAE,YAAG,IAAI,CAAC,UAAU,GAAS,EACrD,KAAC,IAAI,IAAC,KAAK,EAAC,8BAA8B,YAAC,sBAAI,IAAI,CAAC,aAAa,GAAK,GAAO,IACrE,CAAC,EAGX,yBACC,KAAC,IAAI,IACJ,KAAK,EAAC,iBAAiB,EACvB,UAAU,EAAE,aAAa,CAAC,IAAI,EAC9B,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,YAC9B,gBAAa,GACP,GACD,EAEN,IAAI,CAAC,WAAW;4BAChB,KAAC,MAAM,IACN,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,YAAY,CAAC,WAAW,EAChC,KAAK,EAAC,0BAA0B,EAChC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EACtC,OAAO,EAAE,IAAI,CAAC,oBAAoB,YACjC,IAAI,CAAC,eAAe,GACb,IAER,CACH,CACF,GACiB,CACpB,CAAC;AACH,CAAC","sourcesContent":["import ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport type Search from \"./Search.js\";\nimport BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport Text from \"@ui5/webcomponents/dist/Text.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport ListSeparator from \"@ui5/webcomponents/dist/types/ListSeparator.js\";\nimport TitleLevel from \"@ui5/webcomponents/dist/types/TitleLevel.js\";\nimport PopoverHorizontalAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport PopoverPlacement from \"@ui5/webcomponents/dist/types/PopoverPlacement.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonDesign from \"@ui5/webcomponents/dist/types/ButtonDesign.js\";\n\nexport default function SearchPopoverTemplate(this: Search) {\n\treturn (\n\t\t<ResponsivePopover\n\t\t\thideArrow={true}\n\t\t\tpreventFocusRestore={true}\n\t\t\tpreventInitialFocus={true}\n\t\t\tplacement={PopoverPlacement.Bottom}\n\t\t\thorizontalAlign={PopoverHorizontalAlign.Start}\n\t\t\topen={this.open}\n\t\t\topener={this}\n\t\t\tonOpen={this._handleOpen}\n\t\t\tonClose={this._handleClose}\n\t\t\tclass=\"ui5-search-popover\"\n\t\t>\n\n\t\t\t{this._showIllustration ?\n\t\t\t\t<slot name=\"illustration\"></slot>\n\t\t\t\t: (\n\t\t\t\t\tthis._showLoading ?\n\t\t\t\t\t\t<BusyIndicator class=\"ui5-search-popover-loading-bi\" active></BusyIndicator>\n\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{this._showHeader &&\n\t\t\t\t\t\t\t\t\t(<header slot=\"header\" class=\"ui5-search-popover-header\">\n\t\t\t\t\t\t\t\t\t\t<Title size={TitleLevel.H6}>{this.headerText}</Title>\n\t\t\t\t\t\t\t\t\t\t<Text class=\"ui5-search-popover-subheader\"><i>{this.subheaderText}</i></Text>\n\t\t\t\t\t\t\t\t\t</header>)\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t<main>\n\t\t\t\t\t\t\t\t\t<List\n\t\t\t\t\t\t\t\t\t\tclass=\"ui5-search-list\"\n\t\t\t\t\t\t\t\t\t\tseparators={ListSeparator.None}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={this._onItemKeydown}\n\t\t\t\t\t\t\t\t\t\tonItemClick={this._onItemClick}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t</List>\n\t\t\t\t\t\t\t\t</main>\n\n\t\t\t\t\t\t\t\t{this._showFooter &&\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tslot=\"footer\"\n\t\t\t\t\t\t\t\t\t\tdesign={ButtonDesign.Transparent}\n\t\t\t\t\t\t\t\t\t\tclass=\"ui5-search-footer-button\"\n\t\t\t\t\t\t\t\t\t\tonKeyDown={this._onFooterButtonKeyDown}\n\t\t\t\t\t\t\t\t\t\tonClick={this._onFooterButtonClick}>\n\t\t\t\t\t\t\t\t\t\t{this.popupActionText}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t)}\n\t\t</ResponsivePopover>\n\t);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type Search from "./Search.js";
2
+ export default function SearchTemplate(this: Search): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import SearchFieldTemplate from "./SearchFieldTemplate.js";
3
+ import SearchPopoverTemplate from "./SearchPopoverTemplate.js";
4
+ export default function SearchTemplate() {
5
+ return (_jsxs(_Fragment, { children: [SearchFieldTemplate.call(this), SearchPopoverTemplate.call(this)] }));
6
+ }
7
+ //# sourceMappingURL=SearchTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchTemplate.js","sourceRoot":"","sources":["../src/SearchTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,cAAc;IACrC,OAAO,CACN,8BACG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAChC,CACH,CAAC;AACH,CAAC","sourcesContent":["import type Search from \"./Search.js\";\nimport SearchFieldTemplate from \"./SearchFieldTemplate.js\";\nimport SearchPopoverTemplate from \"./SearchPopoverTemplate.js\";\n\nexport default function SearchTemplate(this: Search) {\n\treturn (\n\t\t<>\n\t\t\t{ SearchFieldTemplate.call(this) }\n\t\t\t{ SearchPopoverTemplate.call(this) }\n\t\t</>\n\t);\n}\n"]}
@@ -9,6 +9,7 @@ import type { ClassMap, AccessibilityAttributes, AriaRole } from "@ui5/webcompon
9
9
  import type ListItemBase from "@ui5/webcomponents/dist/ListItemBase.js";
10
10
  import type PopoverHorizontalAlign from "@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js";
11
11
  import type ShellBarItem from "./ShellBarItem.js";
12
+ import type { ShellBarItemAccessibilityAttributes } from "./ShellBarItem.js";
12
13
  type ShellBarLogoAccessibilityAttributes = {
13
14
  role?: Extract<AriaRole, "button" | "link">;
14
15
  name?: string;
@@ -62,6 +63,7 @@ interface IShelBarItemInfo extends IShellBarHidableItem {
62
63
  order?: number;
63
64
  profile?: boolean;
64
65
  tooltip?: string;
66
+ accessibilityAttributes?: ShellBarItemAccessibilityAttributes;
65
67
  }
66
68
  interface IShellBarContentItem extends IShellBarHidableItem {
67
69
  hideOrder: number;
@@ -385,8 +387,11 @@ declare class ShellBar extends UI5Element {
385
387
  get contentItemsSorted(): UI5Element[];
386
388
  get contentItemsWrappersSorted(): HTMLElement[];
387
389
  get autoSearchField(): boolean;
388
- get showStartSeparatorInWrapper(): boolean;
389
- get showEndSeparatorInWrapper(): boolean;
390
+ get startContentInfoSorted(): IShellBarContentItem[];
391
+ get endContentInfoSorted(): IShellBarContentItem[];
392
+ get showStartSeparator(): boolean;
393
+ get showEndSeparator(): boolean;
394
+ shouldIncludeSeparator(itemInfo: IShellBarContentItem | undefined, contentInfo: IShellBarContentItem[]): boolean;
390
395
  get classes(): ClassMap;
391
396
  get styles(): {
392
397
  searchField: {
package/dist/ShellBar.js CHANGED
@@ -616,6 +616,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
616
616
  title: item.title,
617
617
  stableDomRef: item.stableDomRef,
618
618
  tooltip: item.title || item.text,
619
+ accessibilityAttributes: item.accessibilityAttributes,
619
620
  };
620
621
  }),
621
622
  {
@@ -735,29 +736,30 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
735
736
  const isEmpty = this.searchField[0]?.value.length === 0;
736
737
  return (this.showSearchField || this._autoRestoreSearchField) && !onFocus && isEmpty;
737
738
  }
738
- get showStartSeparatorInWrapper() {
739
- // show separator at the beginning of content if more than one
740
- // item is visible, otherwise, the separator is packed with the
741
- // first visible item to be calculated with the next overflow action
742
- const starContent = this.startContent;
743
- const hiddenStartContentItems = this._contentInfo.filter(item => {
744
- const isHidden = item.classes.indexOf("ui5-shellbar-hidden-button") !== -1;
745
- const isInContent = starContent.find(contentItem => contentItem.slot === item.id);
746
- return isHidden && isInContent;
747
- }).map(item => item.id);
748
- return (starContent.length - hiddenStartContentItems.length) > 0;
749
- }
750
- get showEndSeparatorInWrapper() {
751
- // show separator at the end of content if more than one
752
- // item is visible, otherwise, the separator is packed with the
753
- // last visible item to be calculated with the next overflow
754
- const endContent = this.endContent;
755
- const hiddenEndContentItems = this._contentInfo.filter(item => {
756
- const isHidden = item.classes.indexOf("ui5-shellbar-hidden-button") !== -1;
757
- const isInContent = endContent.find(contentItem => contentItem.slot === item.id);
758
- return isHidden && isInContent;
759
- }).map(item => item.id);
760
- return (endContent.length - hiddenEndContentItems.length) > 0;
739
+ get startContentInfoSorted() {
740
+ return this._contentInfo
741
+ .filter(item => this.startContent.find(contentItem => contentItem.slot === item.id))
742
+ .sort((a, b) => a.hideOrder - b.hideOrder);
743
+ }
744
+ get endContentInfoSorted() {
745
+ return this._contentInfo
746
+ .filter(item => this.endContent.find(contentItem => contentItem.slot === item.id))
747
+ .sort((a, b) => a.hideOrder - b.hideOrder);
748
+ }
749
+ get showStartSeparator() {
750
+ return this.startContentInfoSorted.some(item => !item.classes.includes("ui5-shellbar-hidden-button"));
751
+ }
752
+ get showEndSeparator() {
753
+ return this.endContentInfoSorted.some(item => !item.classes.includes("ui5-shellbar-hidden-button"));
754
+ }
755
+ shouldIncludeSeparator(itemInfo, contentInfo) {
756
+ // once the last item from the start/end content was hidden, the
757
+ // separator is "packed" with it in order to account for any next measurements
758
+ if (!itemInfo) {
759
+ return false;
760
+ }
761
+ const lastVisibleItem = contentInfo.at(-1);
762
+ return lastVisibleItem?.id === itemInfo.id && itemInfo.classes.indexOf("ui5-shellbar-hidden-button") > -1;
761
763
  }
762
764
  get classes() {
763
765
  return {
@@ -861,11 +863,17 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
861
863
  get startContent() {
862
864
  // all items before the first spacer
863
865
  const spacerIndex = this.content.findIndex(child => child.hasAttribute("ui5-shellbar-spacer"));
866
+ if (spacerIndex === -1) {
867
+ return this.content;
868
+ }
864
869
  return this.content.slice(0, spacerIndex);
865
870
  }
866
871
  get endContent() {
867
872
  // all items after the first spacer
868
873
  const spacerIndex = this.content.findIndex(child => child.hasAttribute("ui5-shellbar-spacer"));
874
+ if (spacerIndex === -1) {
875
+ return [];
876
+ }
869
877
  return this.content.slice(spacerIndex + 1);
870
878
  }
871
879
  get _rightChildRole() {