@ui5/webcomponents-fiori 2.5.0-rc.3 → 2.6.0-rc.0

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 (485) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cypress/specs/UserMenu.cy.ts +57 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/BarcodeScannerDialog.js +3 -3
  5. package/dist/BarcodeScannerDialog.js.map +1 -1
  6. package/dist/BarcodeScannerDialogTemplate.d.ts +2 -0
  7. package/dist/BarcodeScannerDialogTemplate.js +8 -0
  8. package/dist/BarcodeScannerDialogTemplate.js.map +1 -0
  9. package/dist/DynamicPage.d.ts +1 -1
  10. package/dist/DynamicPage.js +3 -3
  11. package/dist/DynamicPage.js.map +1 -1
  12. package/dist/DynamicPageHeader.js +3 -3
  13. package/dist/DynamicPageHeader.js.map +1 -1
  14. package/dist/DynamicPageHeaderActions.d.ts +3 -3
  15. package/dist/DynamicPageHeaderActions.js +3 -3
  16. package/dist/DynamicPageHeaderActions.js.map +1 -1
  17. package/dist/DynamicPageHeaderActionsTemplate.d.ts +2 -0
  18. package/dist/DynamicPageHeaderActionsTemplate.js +8 -0
  19. package/dist/DynamicPageHeaderActionsTemplate.js.map +1 -0
  20. package/dist/DynamicPageHeaderTemplate.d.ts +2 -0
  21. package/dist/DynamicPageHeaderTemplate.js +5 -0
  22. package/dist/DynamicPageHeaderTemplate.js.map +1 -0
  23. package/dist/DynamicPageTemplate.d.ts +2 -0
  24. package/dist/DynamicPageTemplate.js +14 -0
  25. package/dist/DynamicPageTemplate.js.map +1 -0
  26. package/dist/DynamicPageTitle.d.ts +2 -10
  27. package/dist/DynamicPageTitle.js +7 -17
  28. package/dist/DynamicPageTitle.js.map +1 -1
  29. package/dist/DynamicPageTitleTemplate.d.ts +2 -0
  30. package/dist/DynamicPageTitleTemplate.js +16 -0
  31. package/dist/DynamicPageTitleTemplate.js.map +1 -0
  32. package/dist/DynamicSideContent.d.ts +10 -2
  33. package/dist/DynamicSideContent.js +7 -7
  34. package/dist/DynamicSideContent.js.map +1 -1
  35. package/dist/DynamicSideContentTemplate.d.ts +2 -0
  36. package/dist/DynamicSideContentTemplate.js +14 -0
  37. package/dist/DynamicSideContentTemplate.js.map +1 -0
  38. package/dist/FlexibleColumnLayout.d.ts +4 -45
  39. package/dist/FlexibleColumnLayout.js +3 -48
  40. package/dist/FlexibleColumnLayout.js.map +1 -1
  41. package/dist/FlexibleColumnLayoutTemplate.d.ts +2 -0
  42. package/dist/FlexibleColumnLayoutTemplate.js +28 -0
  43. package/dist/FlexibleColumnLayoutTemplate.js.map +1 -0
  44. package/dist/IllustratedMessage.js +3 -3
  45. package/dist/IllustratedMessage.js.map +1 -1
  46. package/dist/IllustratedMessageTemplate.d.ts +2 -0
  47. package/dist/IllustratedMessageTemplate.js +15 -0
  48. package/dist/IllustratedMessageTemplate.js.map +1 -0
  49. package/dist/NavigationLayout.js +3 -3
  50. package/dist/NavigationLayout.js.map +1 -1
  51. package/dist/NavigationLayoutTemplate.d.ts +2 -0
  52. package/dist/NavigationLayoutTemplate.js +5 -0
  53. package/dist/NavigationLayoutTemplate.js.map +1 -0
  54. package/dist/NotificationList.js +3 -3
  55. package/dist/NotificationList.js.map +1 -1
  56. package/dist/NotificationListGroupItem.d.ts +1 -1
  57. package/dist/NotificationListGroupItem.js +3 -1
  58. package/dist/NotificationListGroupItem.js.map +1 -1
  59. package/dist/NotificationListInternal.js +1 -0
  60. package/dist/NotificationListInternal.js.map +1 -1
  61. package/dist/NotificationListItem.js +7 -0
  62. package/dist/NotificationListItem.js.map +1 -1
  63. package/dist/NotificationListTemplate.d.ts +2 -0
  64. package/dist/NotificationListTemplate.js +6 -0
  65. package/dist/NotificationListTemplate.js.map +1 -0
  66. package/dist/Page.d.ts +0 -1
  67. package/dist/Page.js +3 -4
  68. package/dist/Page.js.map +1 -1
  69. package/dist/PageTemplate.d.ts +2 -0
  70. package/dist/PageTemplate.js +10 -0
  71. package/dist/PageTemplate.js.map +1 -0
  72. package/dist/ProductSwitch.js +3 -3
  73. package/dist/ProductSwitch.js.map +1 -1
  74. package/dist/ProductSwitchItem.js +3 -3
  75. package/dist/ProductSwitchItem.js.map +1 -1
  76. package/dist/ProductSwitchItemTemplate.d.ts +2 -0
  77. package/dist/ProductSwitchItemTemplate.js +15 -0
  78. package/dist/ProductSwitchItemTemplate.js.map +1 -0
  79. package/dist/ProductSwitchTemplate.d.ts +2 -0
  80. package/dist/ProductSwitchTemplate.js +5 -0
  81. package/dist/ProductSwitchTemplate.js.map +1 -0
  82. package/dist/ShellBar.d.ts +7 -9
  83. package/dist/ShellBar.js +1 -2
  84. package/dist/ShellBar.js.map +1 -1
  85. package/dist/SideNavigation.d.ts +7 -10
  86. package/dist/SideNavigation.js +12 -19
  87. package/dist/SideNavigation.js.map +1 -1
  88. package/dist/SideNavigationGroup.d.ts +4 -7
  89. package/dist/SideNavigationGroup.js +19 -24
  90. package/dist/SideNavigationGroup.js.map +1 -1
  91. package/dist/SideNavigationGroupTemplate.d.ts +2 -0
  92. package/dist/SideNavigationGroupTemplate.js +16 -0
  93. package/dist/SideNavigationGroupTemplate.js.map +1 -0
  94. package/dist/SideNavigationItem.d.ts +9 -14
  95. package/dist/SideNavigationItem.js +45 -52
  96. package/dist/SideNavigationItem.js.map +1 -1
  97. package/dist/SideNavigationItemBase.d.ts +3 -0
  98. package/dist/SideNavigationItemBase.js.map +1 -1
  99. package/dist/SideNavigationItemTemplate.d.ts +2 -0
  100. package/dist/SideNavigationItemTemplate.js +36 -0
  101. package/dist/SideNavigationItemTemplate.js.map +1 -0
  102. package/dist/SideNavigationPopoverTemplate.d.ts +2 -0
  103. package/dist/SideNavigationPopoverTemplate.js +17 -0
  104. package/dist/SideNavigationPopoverTemplate.js.map +1 -0
  105. package/dist/SideNavigationSelectableItemBase.d.ts +2 -5
  106. package/dist/SideNavigationSelectableItemBase.js +0 -7
  107. package/dist/SideNavigationSelectableItemBase.js.map +1 -1
  108. package/dist/SideNavigationSubItem.d.ts +4 -6
  109. package/dist/SideNavigationSubItem.js +14 -19
  110. package/dist/SideNavigationSubItem.js.map +1 -1
  111. package/dist/SideNavigationSubItemTemplate.d.ts +2 -0
  112. package/dist/SideNavigationSubItemTemplate.js +18 -0
  113. package/dist/SideNavigationSubItemTemplate.js.map +1 -0
  114. package/dist/SideNavigationTemplate.d.ts +2 -0
  115. package/dist/SideNavigationTemplate.js +20 -0
  116. package/dist/SideNavigationTemplate.js.map +1 -0
  117. package/dist/Timeline.js +3 -3
  118. package/dist/Timeline.js.map +1 -1
  119. package/dist/TimelineGroupItem.js +3 -3
  120. package/dist/TimelineGroupItem.js.map +1 -1
  121. package/dist/TimelineGroupItemTemplate.d.ts +2 -0
  122. package/dist/TimelineGroupItemTemplate.js +6 -0
  123. package/dist/TimelineGroupItemTemplate.js.map +1 -0
  124. package/dist/TimelineItem.d.ts +1 -13
  125. package/dist/TimelineItem.js +3 -20
  126. package/dist/TimelineItem.js.map +1 -1
  127. package/dist/TimelineItemTemplate.d.ts +2 -0
  128. package/dist/TimelineItemTemplate.js +27 -0
  129. package/dist/TimelineItemTemplate.js.map +1 -0
  130. package/dist/TimelineTemplate.d.ts +2 -0
  131. package/dist/TimelineTemplate.js +5 -0
  132. package/dist/TimelineTemplate.js.map +1 -0
  133. package/dist/UploadCollection.d.ts +0 -10
  134. package/dist/UploadCollection.js +3 -13
  135. package/dist/UploadCollection.js.map +1 -1
  136. package/dist/UploadCollectionItem.d.ts +3 -2
  137. package/dist/UploadCollectionItem.js +7 -5
  138. package/dist/UploadCollectionItem.js.map +1 -1
  139. package/dist/UploadCollectionItemTemplate.d.ts +3 -0
  140. package/dist/UploadCollectionItemTemplate.js +22 -0
  141. package/dist/UploadCollectionItemTemplate.js.map +1 -0
  142. package/dist/UploadCollectionTemplate.d.ts +2 -0
  143. package/dist/UploadCollectionTemplate.js +24 -0
  144. package/dist/UploadCollectionTemplate.js.map +1 -0
  145. package/dist/UserMenu.d.ts +40 -13
  146. package/dist/UserMenu.js +89 -16
  147. package/dist/UserMenu.js.map +1 -1
  148. package/dist/UserMenuItem.js +1 -1
  149. package/dist/UserMenuItem.js.map +1 -1
  150. package/dist/UserMenuItemTemplate.d.ts +2 -0
  151. package/dist/UserMenuItemTemplate.js +5 -0
  152. package/dist/UserMenuItemTemplate.js.map +1 -0
  153. package/dist/UserMenuTemplate.d.ts +2 -0
  154. package/dist/UserMenuTemplate.js +44 -0
  155. package/dist/UserMenuTemplate.js.map +1 -0
  156. package/dist/ViewSettingsDialog.js +4 -4
  157. package/dist/ViewSettingsDialog.js.map +1 -1
  158. package/dist/ViewSettingsDialogTemplate.d.ts +2 -0
  159. package/dist/ViewSettingsDialogTemplate.js +31 -0
  160. package/dist/ViewSettingsDialogTemplate.js.map +1 -0
  161. package/dist/Wizard.d.ts +7 -15
  162. package/dist/Wizard.js +3 -16
  163. package/dist/Wizard.js.map +1 -1
  164. package/dist/WizardPopoverTemplate.d.ts +2 -0
  165. package/dist/WizardPopoverTemplate.js +12 -0
  166. package/dist/WizardPopoverTemplate.js.map +1 -0
  167. package/dist/WizardTab.d.ts +8 -11
  168. package/dist/WizardTab.js +8 -5
  169. package/dist/WizardTab.js.map +1 -1
  170. package/dist/WizardTabTemplate.d.ts +2 -0
  171. package/dist/WizardTabTemplate.js +7 -0
  172. package/dist/WizardTabTemplate.js.map +1 -0
  173. package/dist/WizardTemplate.d.ts +2 -0
  174. package/dist/WizardTemplate.js +11 -0
  175. package/dist/WizardTemplate.js.map +1 -0
  176. package/dist/css/themes/DynamicPage.css +1 -1
  177. package/dist/css/themes/DynamicPageHeader.css +1 -1
  178. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  179. package/dist/css/themes/DynamicPageTitle.css +1 -1
  180. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  181. package/dist/css/themes/MediaGallery.css +1 -1
  182. package/dist/css/themes/MediaGalleryItem.css +1 -1
  183. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  184. package/dist/css/themes/NotificationListItem.css +1 -1
  185. package/dist/css/themes/NotificationListItemBase.css +1 -1
  186. package/dist/css/themes/NotificationStateIcon.css +1 -1
  187. package/dist/css/themes/Page.css +1 -1
  188. package/dist/css/themes/ProductSwitchItem.css +1 -1
  189. package/dist/css/themes/ShellBar.css +1 -1
  190. package/dist/css/themes/SideNavigation.css +1 -1
  191. package/dist/css/themes/SideNavigationGroup.css +1 -1
  192. package/dist/css/themes/SideNavigationItem.css +1 -1
  193. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  194. package/dist/css/themes/SideNavigationPopover.css +1 -1
  195. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  196. package/dist/css/themes/Timeline.css +1 -1
  197. package/dist/css/themes/TimelineGroupItem.css +1 -1
  198. package/dist/css/themes/TimelineItem.css +1 -1
  199. package/dist/css/themes/UploadCollection.css +1 -1
  200. package/dist/css/themes/UploadCollectionItem.css +1 -1
  201. package/dist/css/themes/UserMenu.css +1 -1
  202. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  203. package/dist/css/themes/Wizard.css +1 -1
  204. package/dist/css/themes/WizardTab.css +1 -1
  205. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  206. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  207. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  208. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  209. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  210. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  211. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  212. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  213. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  214. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  215. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  216. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  217. package/dist/custom-elements-internal.json +43 -43
  218. package/dist/custom-elements.json +36 -36
  219. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  220. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  221. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  222. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  223. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  224. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  225. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  226. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  227. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  228. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  229. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  230. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  231. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  232. package/dist/generated/i18n/i18n-defaults.js +2 -1
  233. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  234. package/dist/generated/templates/MediaGalleryItemTemplate.lit.d.ts +2 -3
  235. package/dist/generated/templates/MediaGalleryItemTemplate.lit.js +3 -1
  236. package/dist/generated/templates/MediaGalleryItemTemplate.lit.js.map +1 -1
  237. package/dist/generated/templates/MediaGalleryTemplate.lit.d.ts +2 -3
  238. package/dist/generated/templates/MediaGalleryTemplate.lit.js +3 -1
  239. package/dist/generated/templates/MediaGalleryTemplate.lit.js.map +1 -1
  240. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.d.ts +2 -3
  241. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +3 -1
  242. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
  243. package/dist/generated/templates/NotificationListItemTemplate.lit.d.ts +2 -3
  244. package/dist/generated/templates/NotificationListItemTemplate.lit.js +3 -1
  245. package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
  246. package/dist/generated/templates/ShellBarPopoverTemplate.lit.d.ts +2 -3
  247. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js +3 -1
  248. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js.map +1 -1
  249. package/dist/generated/templates/ShellBarTemplate.lit.d.ts +2 -3
  250. package/dist/generated/templates/ShellBarTemplate.lit.js +3 -1
  251. package/dist/generated/templates/ShellBarTemplate.lit.js.map +1 -1
  252. package/dist/generated/themes/DynamicPage.css.js +1 -1
  253. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  254. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  255. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  256. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  257. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  258. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  259. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  260. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  261. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  262. package/dist/generated/themes/MediaGallery.css.js +1 -1
  263. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  264. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  265. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  266. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  267. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  268. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  269. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  270. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  271. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  272. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  273. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  274. package/dist/generated/themes/Page.css.js +1 -1
  275. package/dist/generated/themes/Page.css.js.map +1 -1
  276. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  277. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  278. package/dist/generated/themes/ShellBar.css.js +1 -1
  279. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  280. package/dist/generated/themes/SideNavigation.css.js +1 -1
  281. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  282. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  283. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  284. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  285. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  286. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  287. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  288. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  289. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  290. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  291. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  292. package/dist/generated/themes/Timeline.css.js +1 -1
  293. package/dist/generated/themes/Timeline.css.js.map +1 -1
  294. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  295. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  296. package/dist/generated/themes/TimelineItem.css.js +1 -1
  297. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  298. package/dist/generated/themes/UploadCollection.css.js +1 -1
  299. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  300. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  301. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  302. package/dist/generated/themes/UserMenu.css.js +1 -1
  303. package/dist/generated/themes/UserMenu.css.js.map +1 -1
  304. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  305. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  306. package/dist/generated/themes/Wizard.css.js +1 -1
  307. package/dist/generated/themes/Wizard.css.js.map +1 -1
  308. package/dist/generated/themes/WizardTab.css.js +1 -1
  309. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  310. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  311. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  312. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  313. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  314. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  315. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  316. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  317. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  318. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  319. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  320. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  321. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  322. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  323. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  324. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  325. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  326. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  327. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  328. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  329. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  330. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  331. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  332. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  333. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  334. package/dist/web-types.json +1 -1
  335. package/package.json +7 -7
  336. package/src/BarcodeScannerDialogTemplate.tsx +38 -0
  337. package/src/DynamicPageHeaderActionsTemplate.tsx +33 -0
  338. package/src/DynamicPageHeaderTemplate.tsx +9 -0
  339. package/src/DynamicPageTemplate.tsx +69 -0
  340. package/src/DynamicPageTitleTemplate.tsx +75 -0
  341. package/src/DynamicSideContentTemplate.tsx +46 -0
  342. package/src/FlexibleColumnLayoutTemplate.tsx +103 -0
  343. package/src/IllustratedMessageTemplate.tsx +71 -0
  344. package/src/NavigationLayoutTemplate.tsx +19 -0
  345. package/src/NotificationListTemplate.tsx +17 -0
  346. package/src/PageTemplate.tsx +29 -0
  347. package/src/ProductSwitchItemTemplate.tsx +60 -0
  348. package/src/ProductSwitchTemplate.tsx +16 -0
  349. package/src/SideNavigationGroupTemplate.tsx +55 -0
  350. package/src/SideNavigationItemTemplate.tsx +167 -0
  351. package/src/SideNavigationPopoverTemplate.tsx +88 -0
  352. package/src/SideNavigationSubItemTemplate.tsx +70 -0
  353. package/src/SideNavigationTemplate.tsx +70 -0
  354. package/src/TimelineGroupItemTemplate.tsx +34 -0
  355. package/src/TimelineItemTemplate.tsx +71 -0
  356. package/src/TimelineTemplate.tsx +20 -0
  357. package/src/UploadCollectionItemTemplate.tsx +142 -0
  358. package/src/UploadCollectionTemplate.tsx +63 -0
  359. package/src/UserMenuItemTemplate.tsx +6 -0
  360. package/src/UserMenuTemplate.tsx +158 -0
  361. package/src/ViewSettingsDialogTemplate.tsx +175 -0
  362. package/src/WizardPopoverTemplate.tsx +42 -0
  363. package/src/WizardTabTemplate.tsx +39 -0
  364. package/src/WizardTemplate.tsx +75 -0
  365. package/src/i18n/messagebundle.properties +2 -0
  366. package/src/themes/UserMenu.css +14 -0
  367. package/src/themes/ViewSettingsDialog.css +1 -1
  368. package/src/themes/Wizard.css +2 -2
  369. package/tsconfig.json +2 -0
  370. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.d.ts +0 -4
  371. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +0 -5
  372. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +0 -1
  373. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.d.ts +0 -4
  374. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js +0 -6
  375. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js.map +0 -1
  376. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.d.ts +0 -4
  377. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js +0 -5
  378. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js.map +0 -1
  379. package/dist/generated/templates/DynamicPageTemplate.lit.d.ts +0 -4
  380. package/dist/generated/templates/DynamicPageTemplate.lit.js +0 -14
  381. package/dist/generated/templates/DynamicPageTemplate.lit.js.map +0 -1
  382. package/dist/generated/templates/DynamicPageTitleTemplate.lit.d.ts +0 -4
  383. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js +0 -11
  384. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js.map +0 -1
  385. package/dist/generated/templates/DynamicSideContentTemplate.lit.d.ts +0 -4
  386. package/dist/generated/templates/DynamicSideContentTemplate.lit.js +0 -7
  387. package/dist/generated/templates/DynamicSideContentTemplate.lit.js.map +0 -1
  388. package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.d.ts +0 -4
  389. package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.js +0 -5
  390. package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.js.map +0 -1
  391. package/dist/generated/templates/IllustratedMessageTemplate.lit.d.ts +0 -4
  392. package/dist/generated/templates/IllustratedMessageTemplate.lit.js +0 -16
  393. package/dist/generated/templates/IllustratedMessageTemplate.lit.js.map +0 -1
  394. package/dist/generated/templates/NavigationLayoutTemplate.lit.d.ts +0 -4
  395. package/dist/generated/templates/NavigationLayoutTemplate.lit.js +0 -5
  396. package/dist/generated/templates/NavigationLayoutTemplate.lit.js.map +0 -1
  397. package/dist/generated/templates/NotificationListTemplate.lit.d.ts +0 -4
  398. package/dist/generated/templates/NotificationListTemplate.lit.js +0 -5
  399. package/dist/generated/templates/NotificationListTemplate.lit.js.map +0 -1
  400. package/dist/generated/templates/PageTemplate.lit.d.ts +0 -4
  401. package/dist/generated/templates/PageTemplate.lit.js +0 -5
  402. package/dist/generated/templates/PageTemplate.lit.js.map +0 -1
  403. package/dist/generated/templates/ProductSwitchItemTemplate.lit.d.ts +0 -4
  404. package/dist/generated/templates/ProductSwitchItemTemplate.lit.js +0 -13
  405. package/dist/generated/templates/ProductSwitchItemTemplate.lit.js.map +0 -1
  406. package/dist/generated/templates/ProductSwitchTemplate.lit.d.ts +0 -4
  407. package/dist/generated/templates/ProductSwitchTemplate.lit.js +0 -5
  408. package/dist/generated/templates/ProductSwitchTemplate.lit.js.map +0 -1
  409. package/dist/generated/templates/SideNavigationGroupTemplate.lit.d.ts +0 -4
  410. package/dist/generated/templates/SideNavigationGroupTemplate.lit.js +0 -9
  411. package/dist/generated/templates/SideNavigationGroupTemplate.lit.js.map +0 -1
  412. package/dist/generated/templates/SideNavigationItemTemplate.lit.d.ts +0 -4
  413. package/dist/generated/templates/SideNavigationItemTemplate.lit.js +0 -22
  414. package/dist/generated/templates/SideNavigationItemTemplate.lit.js.map +0 -1
  415. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.d.ts +0 -4
  416. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +0 -9
  417. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +0 -1
  418. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.d.ts +0 -4
  419. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js +0 -12
  420. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js.map +0 -1
  421. package/dist/generated/templates/SideNavigationTemplate.lit.d.ts +0 -4
  422. package/dist/generated/templates/SideNavigationTemplate.lit.js +0 -15
  423. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +0 -1
  424. package/dist/generated/templates/TimelineGroupItemTemplate.lit.d.ts +0 -4
  425. package/dist/generated/templates/TimelineGroupItemTemplate.lit.js +0 -6
  426. package/dist/generated/templates/TimelineGroupItemTemplate.lit.js.map +0 -1
  427. package/dist/generated/templates/TimelineItemTemplate.lit.d.ts +0 -4
  428. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  429. package/dist/generated/templates/TimelineItemTemplate.lit.js.map +0 -1
  430. package/dist/generated/templates/TimelineTemplate.lit.d.ts +0 -4
  431. package/dist/generated/templates/TimelineTemplate.lit.js +0 -6
  432. package/dist/generated/templates/TimelineTemplate.lit.js.map +0 -1
  433. package/dist/generated/templates/UploadCollectionItemTemplate.lit.d.ts +0 -4
  434. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +0 -32
  435. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +0 -1
  436. package/dist/generated/templates/UploadCollectionTemplate.lit.d.ts +0 -4
  437. package/dist/generated/templates/UploadCollectionTemplate.lit.js +0 -7
  438. package/dist/generated/templates/UploadCollectionTemplate.lit.js.map +0 -1
  439. package/dist/generated/templates/UserMenuItemTemplate.lit.d.ts +0 -4
  440. package/dist/generated/templates/UserMenuItemTemplate.lit.js +0 -35
  441. package/dist/generated/templates/UserMenuItemTemplate.lit.js.map +0 -1
  442. package/dist/generated/templates/UserMenuTemplate.lit.d.ts +0 -4
  443. package/dist/generated/templates/UserMenuTemplate.lit.js +0 -21
  444. package/dist/generated/templates/UserMenuTemplate.lit.js.map +0 -1
  445. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.d.ts +0 -4
  446. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +0 -20
  447. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +0 -1
  448. package/dist/generated/templates/WizardPopoverTemplate.lit.d.ts +0 -4
  449. package/dist/generated/templates/WizardPopoverTemplate.lit.js +0 -6
  450. package/dist/generated/templates/WizardPopoverTemplate.lit.js.map +0 -1
  451. package/dist/generated/templates/WizardTabTemplate.lit.d.ts +0 -4
  452. package/dist/generated/templates/WizardTabTemplate.lit.js +0 -10
  453. package/dist/generated/templates/WizardTabTemplate.lit.js.map +0 -1
  454. package/dist/generated/templates/WizardTemplate.lit.d.ts +0 -4
  455. package/dist/generated/templates/WizardTemplate.lit.js +0 -8
  456. package/dist/generated/templates/WizardTemplate.lit.js.map +0 -1
  457. package/src/BarcodeScannerDialog.hbs +0 -12
  458. package/src/DynamicPage.hbs +0 -60
  459. package/src/DynamicPageHeader.hbs +0 -3
  460. package/src/DynamicPageHeaderActions.hbs +0 -25
  461. package/src/DynamicPageTitle.hbs +0 -55
  462. package/src/DynamicSideContent.hbs +0 -34
  463. package/src/FlexibleColumnLayout.hbs +0 -58
  464. package/src/IllustratedMessage.hbs +0 -67
  465. package/src/NavigationLayout.hbs +0 -13
  466. package/src/NotificationList.hbs +0 -10
  467. package/src/Page.hbs +0 -15
  468. package/src/ProductSwitch.hbs +0 -9
  469. package/src/ProductSwitchItem.hbs +0 -44
  470. package/src/SideNavigation.hbs +0 -57
  471. package/src/SideNavigationGroup.hbs +0 -41
  472. package/src/SideNavigationItem.hbs +0 -155
  473. package/src/SideNavigationPopover.hbs +0 -73
  474. package/src/SideNavigationSubItem.hbs +0 -59
  475. package/src/Timeline.hbs +0 -14
  476. package/src/TimelineGroupItem.hbs +0 -25
  477. package/src/TimelineItem.hbs +0 -40
  478. package/src/UploadCollection.hbs +0 -37
  479. package/src/UploadCollectionItem.hbs +0 -112
  480. package/src/UserMenu.hbs +0 -99
  481. package/src/UserMenuItem.hbs +0 -1
  482. package/src/ViewSettingsDialog.hbs +0 -129
  483. package/src/Wizard.hbs +0 -47
  484. package/src/WizardPopover.hbs +0 -31
  485. package/src/WizardTab.hbs +0 -33
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSwitch.js","sourceRoot":"","sources":["../src/ProductSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["import type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\nimport {\n\tisDown,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nimport ProductSwitchTemplate from \"./generated/templates/ProductSwitchTemplate.lit.js\";\n\nimport {\n\tPRODUCT_SWITCH_CONTAINER_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ProductSwitchCss from \"./generated/themes/ProductSwitch.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-product-switch` as items\n * @public\n */\ninterface IProductSwitchItem extends HTMLElement, ITabbable {\n\ttitleText?: string,\n\tsubtitleText?: string,\n\ticon?: string,\n\ttarget?: string,\n\ttargetSrc?: string,\n\tselected: boolean,\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-product-switch` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily switch between products.\n *\n * ### Keyboard Handling\n * The `ui5-product-switch` provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Tab] - Move focus to the next interactive element after the `ui5-product-switch`\n * - [Up] or [Down] - Navigates up and down the items\n * - [Left] or [Right] - Navigates left and right the items\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitch.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitchItem.js\";` (for `ui5-product-switch-item`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.5\n */\n@customElement({\n\ttag: \"ui5-product-switch\",\n\trenderer: litRender,\n\tstyles: ProductSwitchCss,\n\ttemplate: ProductSwitchTemplate,\n})\nclass ProductSwitch extends UI5Element {\n\t/**\n\t * Indicates how many columns are displayed.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tdesktopColumns?: number;\n\n\t/**\n\t * Defines the items of the `ui5-product-switch`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IProductSwitchItem>\n\n\t_itemNavigation: ItemNavigation;\n\t_currentIndex: number;\n\t_rowSize: number;\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._currentIndex = 0;\n\t\tthis._rowSize = 4;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\trowSize: this._rowSize,\n\t\t\tgetItemsCallback: () => this.items,\n\t\t});\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\t}\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get ROW_MIN_WIDTH() {\n\t\treturn {\n\t\t\tONE_COLUMN: 600,\n\t\t\tTHREE_COLUMN: 900,\n\t\t};\n\t}\n\n\tget _ariaLabelText() {\n\t\treturn ProductSwitch.i18nBundle.getText(PRODUCT_SWITCH_CONTAINER_LABEL);\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(document.body, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(document.body, this._handleResizeBound);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.desktopColumns = this.items.length > 6 ? 4 : 3;\n\t}\n\n\t_handleResize() {\n\t\tconst documentWidth = document.body.clientWidth;\n\n\t\tif (documentWidth <= (this.constructor as typeof ProductSwitch).ROW_MIN_WIDTH.ONE_COLUMN) {\n\t\t\tthis._setRowSize(1);\n\t\t} else if (documentWidth <= (this.constructor as typeof ProductSwitch).ROW_MIN_WIDTH.THREE_COLUMN || this.items.length <= 6) {\n\t\t\tthis._setRowSize(3);\n\t\t} else {\n\t\t\tthis._setRowSize(4);\n\t\t}\n\t}\n\n\thandleProductSwitchItemClick(e: MouseEvent) {\n\t\tthis.items.forEach(item => { item.selected = false; });\n\t\t(e.target as IProductSwitchItem).selected = true;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as IProductSwitchItem;\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\tthis._currentIndex = this.items.indexOf(target);\n\t}\n\n\t_setRowSize(size: number) {\n\t\tthis._rowSize = size;\n\t\tthis._itemNavigation.setRowSize(size);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isDown(e)) {\n\t\t\tthis._handleDown(e);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._handleUp(e);\n\t\t}\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tconst itemsLength = this.items.length;\n\t\tif (this._currentIndex + this._rowSize > itemsLength) { // border reached, do nothing\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this._currentIndex - this._rowSize < 0) { // border reached, do nothing\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n}\n\nProductSwitch.define();\n\nexport default ProductSwitch;\n\nexport type {\n\tIProductSwitchItem,\n};\n"]}
1
+ {"version":3,"file":"ProductSwitch.js","sourceRoot":"","sources":["../src/ProductSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["import type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\n\nimport {\n\tisDown,\n\tisUp,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\nimport ProductSwitchTemplate from \"./ProductSwitchTemplate.js\";\n\nimport {\n\tPRODUCT_SWITCH_CONTAINER_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ProductSwitchCss from \"./generated/themes/ProductSwitch.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-product-switch` as items\n * @public\n */\ninterface IProductSwitchItem extends HTMLElement, ITabbable {\n\ttitleText?: string,\n\tsubtitleText?: string,\n\ticon?: string,\n\ttarget?: string,\n\ttargetSrc?: string,\n\tselected: boolean,\n}\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-product-switch` is an SAP Fiori specific web component that is used in `ui5-shellbar`\n * and allows the user to easily switch between products.\n *\n * ### Keyboard Handling\n * The `ui5-product-switch` provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Tab] - Move focus to the next interactive element after the `ui5-product-switch`\n * - [Up] or [Down] - Navigates up and down the items\n * - [Left] or [Right] - Navigates left and right the items\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitch.js\";`\n *\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitchItem.js\";` (for `ui5-product-switch-item`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.5\n */\n@customElement({\n\ttag: \"ui5-product-switch\",\n\trenderer: jsxRenderer,\n\tstyles: ProductSwitchCss,\n\ttemplate: ProductSwitchTemplate,\n})\nclass ProductSwitch extends UI5Element {\n\t/**\n\t * Indicates how many columns are displayed.\n\t * @private\n\t */\n\t@property({ type: Number })\n\tdesktopColumns?: number;\n\n\t/**\n\t * Defines the items of the `ui5-product-switch`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<IProductSwitchItem>\n\n\t_itemNavigation: ItemNavigation;\n\t_currentIndex: number;\n\t_rowSize: number;\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._currentIndex = 0;\n\t\tthis._rowSize = 4;\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\trowSize: this._rowSize,\n\t\t\tgetItemsCallback: () => this.items,\n\t\t});\n\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\t}\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic get ROW_MIN_WIDTH() {\n\t\treturn {\n\t\t\tONE_COLUMN: 600,\n\t\t\tTHREE_COLUMN: 900,\n\t\t};\n\t}\n\n\tget _ariaLabelText() {\n\t\treturn ProductSwitch.i18nBundle.getText(PRODUCT_SWITCH_CONTAINER_LABEL);\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(document.body, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(document.body, this._handleResizeBound);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.desktopColumns = this.items.length > 6 ? 4 : 3;\n\t}\n\n\t_handleResize() {\n\t\tconst documentWidth = document.body.clientWidth;\n\n\t\tif (documentWidth <= (this.constructor as typeof ProductSwitch).ROW_MIN_WIDTH.ONE_COLUMN) {\n\t\t\tthis._setRowSize(1);\n\t\t} else if (documentWidth <= (this.constructor as typeof ProductSwitch).ROW_MIN_WIDTH.THREE_COLUMN || this.items.length <= 6) {\n\t\t\tthis._setRowSize(3);\n\t\t} else {\n\t\t\tthis._setRowSize(4);\n\t\t}\n\t}\n\n\thandleProductSwitchItemClick(e: MouseEvent) {\n\t\tthis.items.forEach(item => { item.selected = false; });\n\t\t(e.target as IProductSwitchItem).selected = true;\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = e.target as IProductSwitchItem;\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\tthis._currentIndex = this.items.indexOf(target);\n\t}\n\n\t_setRowSize(size: number) {\n\t\tthis._rowSize = size;\n\t\tthis._itemNavigation.setRowSize(size);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isDown(e)) {\n\t\t\tthis._handleDown(e);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._handleUp(e);\n\t\t}\n\t}\n\n\t_handleDown(e: KeyboardEvent) {\n\t\tconst itemsLength = this.items.length;\n\t\tif (this._currentIndex + this._rowSize > itemsLength) { // border reached, do nothing\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_handleUp(e: KeyboardEvent) {\n\t\tif (this._currentIndex - this._rowSize < 0) { // border reached, do nothing\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n}\n\nProductSwitch.define();\n\nexport default ProductSwitch;\n\nexport type {\n\tIProductSwitchItem,\n};\n"]}
@@ -5,14 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
9
9
  import { isSpace, isEnter, isSpaceShift } from "@ui5/webcomponents-base/dist/Keys.js";
10
10
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
11
11
  import Icon from "@ui5/webcomponents/dist/Icon.js";
12
12
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
13
13
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
14
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
15
- import ProductSwitchItemTemplate from "./generated/templates/ProductSwitchItemTemplate.lit.js";
15
+ import ProductSwitchItemTemplate from "./ProductSwitchItemTemplate.js";
16
16
  // Styles
17
17
  import ProductSwitchItemCss from "./generated/themes/ProductSwitchItem.css.js";
18
18
  /**
@@ -131,7 +131,7 @@ __decorate([
131
131
  ProductSwitchItem = __decorate([
132
132
  customElement({
133
133
  tag: "ui5-product-switch-item",
134
- renderer: litRender,
134
+ renderer: jsxRenderer,
135
135
  styles: ProductSwitchItemCss,
136
136
  template: ProductSwitchItemTemplate,
137
137
  dependencies: [Icon],
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSwitchItem.js","sourceRoot":"","sources":["../src/ProductSwitchItem.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { isSpace, isEnter, isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ProductSwitchItemTemplate from \"./generated/templates/ProductSwitchItemTemplate.lit.js\";\nimport type { IProductSwitchItem } from \"./ProductSwitch.js\";\n\n// Styles\nimport ProductSwitchItemCss from \"./generated/themes/ProductSwitchItem.css.js\";\n\n/**\n * @class\n * ### Overview\n * The `ui5-product-switch-item` web component represents the items displayed in the\n * `ui5-product-switch` web component.\n *\n * **Note:** `ui5-product-switch-item` is not supported when used outside of `ui5-product-switch`.\n *\n * ### Keyboard Handling\n * The `ui5-product-switch` provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitchItem.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @implements {IProductSwitchItem}\n * @since 1.0.0-rc.5\n */\n@customElement({\n\ttag: \"ui5-product-switch-item\",\n\trenderer: litRender,\n\tstyles: ProductSwitchItemCss,\n\ttemplate: ProductSwitchItemTemplate,\n\tdependencies: [Icon],\n})\n/**\n * Fired when the `ui5-product-switch-item` is activated either with a\n * click/tap or by using the Enter or Space key.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\n@event(\"_focused\", {\n\tbubbles: true,\n})\nclass ProductSwitchItem extends UI5Element implements IProductSwitchItem {\n\teventDetails!: {\n\t\tclick: { item: ProductSwitchItem },\n\t\t_focused: void,\n\t}\n\t/**\n\t * Defines the title of the component.\n\t * @default undefined\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t * Defines the subtitle of the component.\n\t * @default undefined\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t * Defines the icon to be displayed as a graphical element within the component.\n\t *\n\t * Example:\n\t *\n\t * `<ui5-product-switch-item icon=\"palette\">`\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines a target where the `targetSrc` content must be open.\n\t *\n\t * Available options are:\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **Note:** By default target will be open in the same frame as it was clicked.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component target URI. Supports standard hyperlink behavior.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttargetSrc?: string;\n\n\t/**\n\t * Used to switch the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tprivate active = false;\n\n\t/**\n\t * Used to set the selected state of the component. Only one selected in a sequence.\n\t * **Note:** Set by the `ProductSwitch`\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the component tabindex.\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_deactivate: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (this.active) {\n\t\t\t\tthis.active = false;\n\t\t\t}\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._deactivate);\n\t}\n\n\t_onmousedown() {\n\t\tthis.active = true;\n\t}\n\n\tget _effectiveTarget() {\n\t\treturn this.target || \"_self\";\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis.active = true;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis.active = false;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\tif (isSpaceShift(e)) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusin() {\n\t\tthis.fireDecoratorEvent(\"_focused\");\n\t}\n\n\t_fireItemClick() {\n\t\tthis.fireDecoratorEvent(\"click\", { item: this });\n\t}\n}\n\nProductSwitchItem.define();\n\nexport default ProductSwitchItem;\n"]}
1
+ {"version":3,"file":"ProductSwitchItem.js","sourceRoot":"","sources":["../src/ProductSwitchItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAGvE,SAAS;AACT,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmBH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAqFzC;QACC,KAAK,EAAE,CAAC;QAvBT;;;WAGG;QAEK,WAAM,GAAG,KAAK,CAAC;QAEvB;;;WAGG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAahB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACrB,CAAC;QACF,CAAC,CAAC;IACH,CAAC;IAED,UAAU;QACT,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,SAAS,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,SAAS;QACR,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY;QACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,CAAC,CAAC,eAAe,EAAE,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC;IACF,CAAC;IAED,WAAW;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,cAAc;QACb,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;CACD,CAAA;AA7IA;IADC,QAAQ,EAAE;oDACQ;AASnB;IADC,QAAQ,EAAE;uDACW;AActB;IADC,QAAQ,EAAE;+CACG;AAkBd;IADC,QAAQ,EAAE;iDACK;AAQhB;IADC,QAAQ,EAAE;oDACQ;AAOX;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACL;AAOvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACX;AAMjB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yDACR;AAjFnB,iBAAiB;IAlBtB,aAAa,CAAC;QACd,GAAG,EAAE,yBAAyB;QAC9B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,yBAAyB;QACnC,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;KACb,CAAC;IACD,KAAK,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,iBAAiB,CAyJtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { isSpace, isEnter, isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ProductSwitchItemTemplate from \"./ProductSwitchItemTemplate.js\";\nimport type { IProductSwitchItem } from \"./ProductSwitch.js\";\n\n// Styles\nimport ProductSwitchItemCss from \"./generated/themes/ProductSwitchItem.css.js\";\n\n/**\n * @class\n * ### Overview\n * The `ui5-product-switch-item` web component represents the items displayed in the\n * `ui5-product-switch` web component.\n *\n * **Note:** `ui5-product-switch-item` is not supported when used outside of `ui5-product-switch`.\n *\n * ### Keyboard Handling\n * The `ui5-product-switch` provides advanced keyboard handling.\n * When focused, the user can use the following keyboard\n * shortcuts in order to perform a navigation:\n *\n * - [Space] / [Enter] or [Return] - Trigger `ui5-click` event\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ProductSwitchItem.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @implements {IProductSwitchItem}\n * @since 1.0.0-rc.5\n */\n@customElement({\n\ttag: \"ui5-product-switch-item\",\n\trenderer: jsxRenderer,\n\tstyles: ProductSwitchItemCss,\n\ttemplate: ProductSwitchItemTemplate,\n\tdependencies: [Icon],\n})\n/**\n * Fired when the `ui5-product-switch-item` is activated either with a\n * click/tap or by using the Enter or Space key.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\n@event(\"_focused\", {\n\tbubbles: true,\n})\nclass ProductSwitchItem extends UI5Element implements IProductSwitchItem {\n\teventDetails!: {\n\t\tclick: { item: ProductSwitchItem },\n\t\t_focused: void,\n\t}\n\t/**\n\t * Defines the title of the component.\n\t * @default undefined\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t * Defines the subtitle of the component.\n\t * @default undefined\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t * Defines the icon to be displayed as a graphical element within the component.\n\t *\n\t * Example:\n\t *\n\t * `<ui5-product-switch-item icon=\"palette\">`\n\t *\n\t * See all the available icons in the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines a target where the `targetSrc` content must be open.\n\t *\n\t * Available options are:\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **Note:** By default target will be open in the same frame as it was clicked.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component target URI. Supports standard hyperlink behavior.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttargetSrc?: string;\n\n\t/**\n\t * Used to switch the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tprivate active = false;\n\n\t/**\n\t * Used to set the selected state of the component. Only one selected in a sequence.\n\t * **Note:** Set by the `ProductSwitch`\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the component tabindex.\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_deactivate: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (this.active) {\n\t\t\t\tthis.active = false;\n\t\t\t}\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._deactivate);\n\t}\n\n\t_onmousedown() {\n\t\tthis.active = true;\n\t}\n\n\tget _effectiveTarget() {\n\t\treturn this.target || \"_self\";\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis.active = true;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e) || isEnter(e)) {\n\t\t\tthis.active = false;\n\t\t}\n\n\t\tif (isSpace(e)) {\n\t\t\tif (isSpaceShift(e)) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t\tthis._fireItemClick();\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusin() {\n\t\tthis.fireDecoratorEvent(\"_focused\");\n\t}\n\n\t_fireItemClick() {\n\t\tthis.fireDecoratorEvent(\"click\", { item: this });\n\t}\n}\n\nProductSwitchItem.define();\n\nexport default ProductSwitchItem;\n"]}
@@ -0,0 +1,2 @@
1
+ import type ProductSwitchItem from "./ProductSwitchItem.js";
2
+ export default function ProductSwitchItemTemplate(this: ProductSwitchItem): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import Icon from "@ui5/webcomponents/dist/Icon.js";
3
+ export default function ProductSwitchItemTemplate() {
4
+ return (_jsx(_Fragment, { children: this.targetSrc ?
5
+ _jsx("a", { "data-sap-focus-ref": true, class: "ui5-product-switch-item-root", onFocusOut: this._onfocusout, onFocusIn: this._onfocusin, onMouseDown: this._onmousedown, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, tabindex: this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined, href: this.targetSrc, target: this._effectiveTarget, children: item.call(this) })
6
+ :
7
+ _jsx("div", { role: "listitem", class: "ui5-product-switch-item-root", "data-sap-focus-ref": true, onFocusOut: this._onfocusout, onFocusIn: this._onfocusin, onMouseDown: this._onmousedown, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, tabindex: this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined, children: item.call(this) }) }));
8
+ }
9
+ function item() {
10
+ return (_jsxs(_Fragment, { children: [this.icon &&
11
+ _jsx(Icon, { class: "ui5-product-switch-item-icon", name: this.icon }), _jsxs("span", { class: "ui5-product-switch-item-text-content", children: [this.titleText &&
12
+ _jsx("span", { class: "ui5-product-switch-item-title", children: this.titleText }), this.subtitleText &&
13
+ _jsx("span", { class: "ui5-product-switch-item-subtitle", children: this.subtitleText })] })] }));
14
+ }
15
+ //# sourceMappingURL=ProductSwitchItemTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductSwitchItemTemplate.js","sourceRoot":"","sources":["../src/ProductSwitchItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAChD,OAAO,CACN,4BACE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChB,wCAEC,KAAK,EAAC,8BAA8B,EACpC,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EACzE,IAAI,EAAE,IAAI,CAAC,SAAS,EACpB,MAAM,EAAE,IAAI,CAAC,gBAAgB,YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GACd;YACJ,CAAC;gBACD,cACC,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,8BAEpC,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,YAEvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GACZ,GAEL,CACH,CAAC;AACH,CAAC;AAED,SAAS,IAAI;IACZ,OAAO,CACN,8BACE,IAAI,CAAC,IAAI;gBACT,KAAC,IAAI,IACJ,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAE,IAAI,CAAC,IAAI,GACd,EAGH,gBAAM,KAAK,EAAC,sCAAsC,aAChD,IAAI,CAAC,SAAS;wBACd,eAAM,KAAK,EAAC,+BAA+B,YAAE,IAAI,CAAC,SAAS,GAAQ,EAEnE,IAAI,CAAC,YAAY;wBACjB,eAAM,KAAK,EAAC,kCAAkC,YAAE,IAAI,CAAC,YAAY,GAAQ,IAEpE,IACL,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type ProductSwitchItem from \"./ProductSwitchItem.js\";\n\nexport default function ProductSwitchItemTemplate(this: ProductSwitchItem) {\n\treturn (\n\t\t<>\n\t\t\t{this.targetSrc ?\n\t\t\t\t<a\n\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\tclass=\"ui5-product-switch-item-root\"\n\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\tonMouseDown={this._onmousedown}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\tonKeyUp={this._onkeyup}\n\t\t\t\t\ttabindex={this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined}\n\t\t\t\t\thref={this.targetSrc}\n\t\t\t\t\ttarget={this._effectiveTarget}>\n\t\t\t\t\t{ item.call(this) }\n\t\t\t\t</a>\n\t\t\t\t:\n\t\t\t\t<div\n\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\tclass=\"ui5-product-switch-item-root\"\n\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\tonMouseDown={this._onmousedown}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\tonKeyUp={this._onkeyup}\n\t\t\t\t\ttabindex={this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined}\n\t\t\t\t>\n\t\t\t\t\t{ item.call(this) }\n\t\t\t\t</div>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction item(this: ProductSwitchItem) {\n\treturn (\n\t\t<>\n\t\t\t{this.icon &&\n\t\t\t\t<Icon\n\t\t\t\t\tclass=\"ui5-product-switch-item-icon\"\n\t\t\t\t\tname={this.icon}\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<span class=\"ui5-product-switch-item-text-content\">\n\t\t\t\t{this.titleText &&\n\t\t\t\t\t<span class=\"ui5-product-switch-item-title\">{this.titleText}</span>\n\t\t\t\t}\n\t\t\t\t{this.subtitleText &&\n\t\t\t\t\t<span class=\"ui5-product-switch-item-subtitle\">{this.subtitleText}</span>\n\t\t\t\t}\n\t\t\t</span>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type ProductSwitch from "./ProductSwitch.js";
2
+ export default function ProductSwitchTemplate(this: ProductSwitch): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
+ export default function ProductSwitchTemplate() {
3
+ return (_jsx("div", { role: "list", class: "ui5-product-switch-root", "aria-label": this._ariaLabelText, onFocusIn: this._onfocusin, onKeyDown: this._onkeydown, onClick: this.handleProductSwitchItemClick, children: _jsx("slot", {}) }));
4
+ }
5
+ //# sourceMappingURL=ProductSwitchTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductSwitchTemplate.js","sourceRoot":"","sources":["../src/ProductSwitchTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,cACC,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,yBAAyB,gBACnB,IAAI,CAAC,cAAc,EAC/B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,4BAA4B,YAE1C,gBAAa,GACR,CACN,CAAC;AACH,CAAC","sourcesContent":["import type ProductSwitch from \"./ProductSwitch.js\";\n\nexport default function ProductSwitchTemplate(this: ProductSwitch) {\n\treturn (\n\t\t<div\n\t\t\trole=\"list\"\n\t\t\tclass=\"ui5-product-switch-root\"\n\t\t\taria-label={this._ariaLabelText}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonClick={this.handleProductSwitchItemClick}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</div>\n\t);\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import type AriaRole from "@ui5/webcomponents-base/dist/types/AriaRole.js";
3
2
  import type { ListSelectionChangeEventDetail } from "@ui5/webcomponents/dist/List.js";
4
3
  import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
5
4
  import Popover from "@ui5/webcomponents/dist/Popover.js";
@@ -11,13 +10,12 @@ import "@ui5/webcomponents-icons/dist/bell.js";
11
10
  import "@ui5/webcomponents-icons/dist/overflow.js";
12
11
  import "@ui5/webcomponents-icons/dist/grid.js";
13
12
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
14
- import type { Timeout, ClassMap, AccessibilityAttributes } from "@ui5/webcomponents-base/dist/types.js";
13
+ import type { Timeout, ClassMap, AccessibilityAttributes, AriaRole } from "@ui5/webcomponents-base";
15
14
  import type ListItemBase from "@ui5/webcomponents/dist/ListItemBase.js";
16
15
  import type PopoverHorizontalAlign from "@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js";
17
16
  import type ShellBarItem from "./ShellBarItem.js";
18
- type LowercaseString<T> = T extends string ? Lowercase<T> : never;
19
17
  type ShellBarLogoAccessibilityAttributes = {
20
- role?: Extract<LowercaseString<AriaRole>, "button" | "link">;
18
+ role?: Extract<AriaRole, "button" | "link">;
21
19
  name?: string;
22
20
  };
23
21
  type ShellBarProfileAccessibilityAttributes = Pick<AccessibilityAttributes, "name" | "expanded" | "hasPopup">;
@@ -395,33 +393,33 @@ declare class ShellBar extends UI5Element {
395
393
  title: string;
396
394
  accessibilityAttributes: {
397
395
  expanded: boolean | "true" | "false" | undefined;
398
- hasPopup: ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
396
+ hasPopup: import("@ui5/webcomponents-base").AriaHasPopup | undefined;
399
397
  };
400
398
  };
401
399
  profile: {
402
400
  title: string;
403
401
  accessibilityAttributes: {
404
- hasPopup: ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
402
+ hasPopup: import("@ui5/webcomponents-base").AriaHasPopup | undefined;
405
403
  expanded: boolean | "true" | "false" | undefined;
406
404
  };
407
405
  };
408
406
  products: {
409
407
  title: string;
410
408
  accessibilityAttributes: {
411
- hasPopup: ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
409
+ hasPopup: import("@ui5/webcomponents-base").AriaHasPopup | undefined;
412
410
  expanded: boolean | "true" | "false" | undefined;
413
411
  };
414
412
  };
415
413
  search: {
416
414
  title: string;
417
415
  accessibilityAttributes: {
418
- hasPopup: ("dialog" | "menu" | "grid" | "listbox" | "tree") | undefined;
416
+ hasPopup: import("@ui5/webcomponents-base").AriaHasPopup | undefined;
419
417
  };
420
418
  };
421
419
  overflow: {
422
420
  title: string;
423
421
  accessibilityAttributes: {
424
- hasPopup: string;
422
+ hasPopup: import("@ui5/webcomponents-base").AriaHasPopup;
425
423
  expanded: boolean | "true" | "false";
426
424
  };
427
425
  };
package/dist/ShellBar.js CHANGED
@@ -14,7 +14,6 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
16
16
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
17
- import AriaHasPopup from "@ui5/webcomponents-base/dist/types/AriaHasPopup.js";
18
17
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
19
18
  import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
20
19
  import List from "@ui5/webcomponents/dist/List.js";
@@ -743,7 +742,7 @@ let ShellBar = ShellBar_1 = class ShellBar extends UI5Element {
743
742
  overflow: {
744
743
  "title": this._overflowText,
745
744
  "accessibilityAttributes": {
746
- hasPopup: this.accessibilityAttributes.overflow?.hasPopup || AriaHasPopup.Menu.toLowerCase(),
745
+ hasPopup: this.accessibilityAttributes.overflow?.hasPopup || "menu",
747
746
  expanded: overflowExpanded === undefined ? this._overflowPopoverExpanded : overflowExpanded,
748
747
  },
749
748
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type AriaRole from \"@ui5/webcomponents-base/dist/types/AriaRole.js\";\nimport AriaHasPopup from \"@ui5/webcomponents-base/dist/types/AriaHasPopup.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/bell.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport \"@ui5/webcomponents-icons/dist/grid.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport type { Timeout, ClassMap, AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type PopoverHorizontalAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\n// Templates\nimport ShellBarTemplate from \"./generated/templates/ShellBarTemplate.lit.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_OVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype LowercaseString<T> = T extends string ? Lowercase<T> : never;\ntype ShellBarLogoAccessibilityAttributes = {\n\trole?: Extract<LowercaseString<AriaRole>, \"button\" | \"link\">,\n\tname?: string,\n}\ntype ShellBarProfileAccessibilityAttributes = Pick<AccessibilityAttributes, \"name\" | \"expanded\" | \"hasPopup\">;\ntype ShellBarAreaAccessibilityAttributes = Pick<AccessibilityAttributes, \"hasPopup\" |\"expanded\">;\ntype ShellBarAccessibilityAttributes = {\n\tlogo?: ShellBarLogoAccessibilityAttributes\n\tnotifications?: ShellBarAreaAccessibilityAttributes\n\tprofile?: ShellBarProfileAccessibilityAttributes,\n\tproduct?: ShellBarAreaAccessibilityAttributes\n\tsearch?: ShellBarAreaAccessibilityAttributes\n\toverflow?: ShellBarAreaAccessibilityAttributes\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarSearchButtonEventDetail = {\n\ttargetRef: HTMLElement;\n\tsearchFieldVisible: boolean;\n};\n\ninterface IShelBarItemInfo {\n\tid: string,\n\ticon?: string,\n\ttext?: string,\n\tpriority: number,\n\tshow: boolean,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: MouseEvent) => void,\n\tstyles: object,\n\tdomOrder: number,\n\tclasses: string,\n\torder?: number,\n\tprofile?: boolean,\n}\n\nconst HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-shellbar` is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n *\n * ### Stable DOM Refs\n *\n * You can use the following stable DOM refs for the `ui5-shellbar`:\n *\n * - logo\n * - notifications\n * - overflow\n * - profile\n * - product-switch\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBar.js\";`\n * @csspart root - Used to style the outermost wrapper of the `ui5-shellbar`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ShellBarTemplate,\n\tstyles: [shellBarStyles, ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tPopover,\n\t\tListItemStandard,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the profile slot is present.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the product switch icon is activated.\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the logo is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when a menu item is activated\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired, when the search button is activated.\n *\n * **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @param {Boolean} searchFieldVisible whether the search field is visible\n * @public\n */\n\n@event(\"search-button-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\nclass ShellBar extends UI5Element {\n\teventDetails!: {\n\t\t\"notifications-click\": ShellBarNotificationsClickEventDetail,\n\t\t\"profile-click\": ShellBarProfileClickEventDetail,\n\t\t\"product-switch-click\": ShellBarProductSwitchClickEventDetail,\n\t\t\"logo-click\": ShellBarLogoClickEventDetail,\n\t\t\"menu-item-click\": ShellBarMenuItemClickEventDetail,\n\t\t\"search-button-click\": ShellBarSearchButtonEventDetail,\n\t}\n\t/**\n\t * Defines the `primaryTitle`.\n\t *\n\t * **Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle?: string;\n\n\t/**\n\t * Defines the `secondaryTitle`.\n\t *\n\t * **Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle?: string;\n\n\t/**\n\t * Defines the `notificationsCount`,\n\t * displayed in the notification icon top-right corner.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount?: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications = false;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch = false;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.\n\t *\n\t * **Note:** By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField = false;\n\n\t/**\n\t * Defines additional accessibility attributes on different areas of the component.\n\t *\n\t * The accessibilityAttributes object has the following fields,\n\t * where each field is an object supporting one or more accessibility attributes:\n\t *\n\t * - **logo** - `logo.role` and `logo.name`.\n\t * - **notifications** - `notifications.expanded` and `notifications.hasPopup`.\n\t * - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.\n\t * - **product** - `product.expanded` and `product.hasPopup`.\n\t * - **search** - `search.hasPopup`.\n\t * - **overflow** - `overflow.expanded` and `overflow.hasPopup`.\n\t *\n\t * The accessibility attributes support the following values:\n\t *\n\t * - **role**: Defines the accessible ARIA role of the logo area.\n\t * Accepts the following string values: `button` or `link`.\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls,\n\t * is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element,\n\t * such as menu or dialog, that can be triggered by the button.\n\t *\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t * - **name**: Defines the accessible ARIA name of the area.\n\t * Accepts any string.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes: ShellBarAccessibilityAttributes = {};\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo = false;\n\n\t@property({ type: Object })\n\t_itemsInfo!: Array<IShelBarItemInfo>;\n\n\t@property({ type: Array, noAttribute: true })\n\t_menuPopoverItems: Array<HTMLElement> = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_fullWidthSearch = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isXXLBreakpoint = false;\n\n\t/**\n\t * Defines the assistant slot.\n\t *\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@slot()\n\tassistant!: Array<IButton>;\n\n\t/**\n\t * Defines the `ui5-shellbar` additional items.\n\t *\n\t * **Note:**\n\t * You can use the `<ui5-shellbar-item></ui5-shellbar-item>`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<ShellBarItem>;\n\n\t/**\n\t * You can pass `ui5-avatar` to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * **Note:** We recommend not using the `size` attribute of `ui5-avatar` because\n\t * it should have specific size by design in the context of `ui5-shellbar` profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the `ui5-shellbar`.\n\t * For example, you can use `ui5-avatar` or `img` elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on the primary title.\n\t *\n\t * **Note:** You can use the `<ui5-li></ui5-li>` and its ancestors.\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines the `ui5-input`, that will be used as a search field.\n\t * @public\n\t */\n\t@slot()\n\tsearchField!: Array<Input>;\n\n\t/**\n\t * Defines a `ui5-button` in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a back or home button.\n\t * It gets overstyled to match ShellBar's styling.\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Array<IButton>;\n\n\t/**\n\t * The container is positioned in the center of the `ui5-shellbar` and occupies one-third of the total length of the `ui5-shellbar`.\n\t *\n\t * **Note:** If set, the `searchField` slot is not rendered.\n\t * @private\n\t */\n\t@slot()\n\tmidContent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tmenuItemsObserver: MutationObserver;\n\t_debounceInterval?: Timeout | null;\n\t_hiddenIcons: Array<IShelBarItemInfo>;\n\t_handleResize: ResizeObserverCallback;\n\t_headerPress: () => void;\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record<string, string> {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._menuPopoverItems = [];\n\t\tthis._hiddenIcons = [];\n\t\tthis._itemsInfo = [];\n\t\tthis._isInitialRendering = true;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.menuItemsObserver = new MutationObserver(() => {\n\t\t\tthis._updateClonedMenuItems();\n\t\t});\n\n\t\tthis._headerPress = () => {\n\t\t\tthis._updateClonedMenuItems();\n\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = this._getMenuPopover();\n\t\t\t\tmenuPopover.opener = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-menu-button\")!;\n\t\t\t\tmenuPopover.open = true;\n\t\t\t}\n\t\t};\n\n\t\tthis._handleResize = () => {\n\t\t\tthis._debounce(() => {\n\t\t\t\tthis.menuPopover = this._getMenuPopover();\n\t\t\t\tthis.overflowPopover = this._getOverflowPopover();\n\t\t\t\tthis.overflowPopover.open = false;\n\t\t\t\tthis._overflowActions();\n\t\t\t}, HANDLE_RESIZE_DEBOUNCE_RATE);\n\t\t};\n\t}\n\n\t_debounce(fn: () => void, delay: number) {\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = setTimeout(() => {\n\t\t\tthis._debounceInterval = null;\n\t\t\tfn();\n\t\t}, delay);\n\t}\n\n\t_menuItemPress(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst shouldContinue = this.fireDecoratorEvent(\"menu-item-click\", {\n\t\t\titem: e.detail.selectedItems[0],\n\t\t});\n\t\tif (shouldContinue) {\n\t\t\tthis.menuPopover!.open = false;\n\t\t}\n\t}\n\n\t_logoPress() {\n\t\tthis.fireDecoratorEvent(\"logo-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<HTMLElement>(\".ui5-shellbar-logo\")!,\n\t\t});\n\t}\n\n\t_menuPopoverBeforeOpen() {\n\t\tthis._menuPopoverExpanded = true;\n\t\tif (this.menuPopover!.content && this.menuPopover!.content.length) {\n\t\t\t(<List> this.menuPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_menuPopoverAfterClose() {\n\t\tthis._menuPopoverExpanded = false;\n\t}\n\n\t_overflowPopoverBeforeOpen() {\n\t\tthis._overflowPopoverExpanded = true;\n\t\tif (this.overflowPopover!.content && this.overflowPopover!.content.length) {\n\t\t\t(<List> this.overflowPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_overflowPopoverAfterClose() {\n\t\tthis._overflowPopoverExpanded = false;\n\t}\n\n\t_logoKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_logoKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.withLogo = this.hasLogo;\n\n\t\tthis._hiddenIcons = this._itemsInfo.filter(info => {\n\t\t\tconst isHidden = (info.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1);\n\t\t\tconst isSet = info.classes.indexOf(\"ui5-shellbar-invisible-button\") === -1;\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn isHidden && isSet && !shouldStayOnScreen;\n\t\t});\n\n\t\tthis._observeMenuItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowActions();\n\n\t\tthis._fullWidthSearch = this._showFullWidthSearch;\n\t}\n\n\t/**\n\t * Closes the overflow area.\n\t * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event\n\t * @public\n\t */\n\tcloseOverflow(): void {\n\t\tif (this.overflowPopover) {\n\t\t\tthis.overflowPopover.open = false;\n\t\t}\n\t}\n\n\t_handleBarBreakpoints() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst breakpoints = ShellBar.FIORI_3_BREAKPOINTS;\n\n\t\tconst size = breakpoints.find(bp1 => width <= bp1) || ShellBar.FIORI_3_BREAKPOINTS[ShellBar.FIORI_3_BREAKPOINTS.length - 1];\n\t\tconst mappedSize = ShellBar.FIORI_3_BREAKPOINTS_MAP[size];\n\n\t\tif (this.breakpointSize !== mappedSize) {\n\t\t\tthis.breakpointSize = mappedSize;\n\t\t}\n\n\t\tthis._isXXLBreakpoint = this.breakpointSize === \"XXL\";\n\t\treturn mappedSize;\n\t}\n\n\t_handleSizeS() {\n\t\tconst hasIcons = this.showNotifications || this.showProductSwitch || !!this.searchField.length || !!this.items.length;\n\n\t\tconst newItems = this._getAllItems(hasIcons).map((info): IShelBarItemInfo => {\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn {\n\t\t\t\t...info,\n\t\t\t\tclasses: `${info.classes} ${shouldStayOnScreen ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-button`,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: shouldStayOnScreen ? 1 : -1,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_handleActionsOverflow() {\n\t\tconst rightContainerRect = this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right\")!.getBoundingClientRect();\n\t\tlet overflowSelector = \".ui5-shellbar-button:not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-invisible-button)\";\n\n\t\tif (this.showSearchField) {\n\t\t\toverflowSelector += \",.ui5-shellbar-search-field\";\n\t\t}\n\n\t\tconst elementsToOverflow = this.shadowRoot!.querySelectorAll<Button>(overflowSelector);\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tconst overflowButtons = [...elementsToOverflow].filter(icon => {\n\t\t\tconst iconRect = (icon).getBoundingClientRect();\n\n\t\t\tif (isRTL) {\n\t\t\t\treturn (iconRect.left + iconRect.width) > (rightContainerRect.left + rightContainerRect.width);\n\t\t\t}\n\n\t\t\treturn iconRect.left < rightContainerRect.left;\n\t\t});\n\t\tconst showOverflowButton = !!overflowButtons.length;\n\n\t\tconst items = this._getAllItems(showOverflowButton).filter(item => item.show);\n\n\t\tconst itemsByPriority = items.sort((item1, item2) => {\n\t\t\tif (item1.priority > item2.priority) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif (item1.priority < item2.priority) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t});\n\n\t\tfor (let i = 0; i < itemsByPriority.length; i++) {\n\t\t\tif (i < overflowButtons.length) {\n\t\t\t\titemsByPriority[i].classes = `${itemsByPriority[i].classes} ui5-shellbar-hidden-button`;\n\t\t\t\titemsByPriority[i].styles = {\n\t\t\t\t\torder: -1,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn itemsByPriority;\n\t}\n\n\t_overflowActions() {\n\t\tconst size = this._handleBarBreakpoints();\n\n\t\tif (size === \"S\") {\n\t\t\treturn this._handleSizeS();\n\t\t}\n\n\t\tconst newItems = this._handleActionsOverflow();\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_toggleActionPopover() {\n\t\tconst overflowButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-overflow-button\")!;\n\t\tconst overflowPopover = this._getOverflowPopover();\n\t\toverflowPopover.opener = overflowButton;\n\t\toverflowPopover.open = true;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tthis.menuItemsObserver.disconnect();\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = null;\n\t}\n\n\t_handleSearchIconPress() {\n\t\tconst searchButtonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button\")!;\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"search-button-click\", {\n\t\t\ttargetRef: searchButtonRef,\n\t\t\tsearchFieldVisible: this.showSearchField,\n\t\t});\n\n\t\tif (defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis.showSearchField = !this.showSearchField;\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\n\t\t// update the state immediately\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t}\n\n\t\t// move the focus later\n\t\tsetTimeout(() => {\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync _handleActionListClick() {\n\t\tif (!this._defaultItemPressPrevented) {\n\t\t\tthis.closeOverflow();\n\t\t\t// wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold\n\t\t\t// there will be no visual indication that this has happened\n\t\t\tawait renderFinished();\n\t\t}\n\n\t\tthis._defaultItemPressPrevented = false;\n\t}\n\n\t_handleCustomActionPress(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst shellbarItem = this.items.find(item => {\n\t\t\t\treturn item._id === refItemId;\n\t\t\t});\n\n\t\t\tconst prevented = shellbarItem!.fireClickEvent(e);\n\n\t\t\tthis._defaultItemPressPrevented = prevented;\n\t\t}\n\t}\n\n\t_handleOverflowPress() {\n\t\tthis._toggleActionPopover();\n\t}\n\n\t_handleNotificationsPress(e: MouseEvent) {\n\t\tconst notificationIconRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-bell-button\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"notifications-click\", {\n\t\t\ttargetRef: notificationIconRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : notificationIconRef,\n\t\t});\n\t}\n\n\t_handleProfilePress() {\n\t\tthis.fireDecoratorEvent(\"profile-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-image-button\")!,\n\t\t});\n\t}\n\n\t_handleCancelButtonPress() {\n\t\tthis.showSearchField = false;\n\t}\n\n\t_handleProductSwitchPress(e: MouseEvent) {\n\t\tconst buttonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-button-product-switch\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"product-switch-click\", {\n\t\t\ttargetRef: buttonRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : buttonRef,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the `logo` DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the `notifications` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the `overflow` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the `profile` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the `product-switch` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns all items that will be placed in the right of the bar as icons / dom elements.\n\t * @param showOverflowButton Determines if overflow button should be visible (not overflowing)\n\t */\n\t_getAllItems(showOverflowButton: boolean) {\n\t\tlet domOrder = -1;\n\t\tconst search = {\n\t\t\ticon: \"search\",\n\t\t\ttext: this._searchText,\n\t\t\tclasses: `${this.searchField.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-search-button ui5-shellbar-button`,\n\t\t\tpriority: 4,\n\t\t\tdomOrder: this.searchField.length ? (++domOrder) : -1,\n\t\t\tstyles: {\n\t\t\t\torder: this.searchField.length ? 1 : -10,\n\t\t\t},\n\t\t\tid: `${this._id}-item-${1}`,\n\t\t\tpress: this._handleSearchIconPress.bind(this),\n\t\t\tshow: !!this.searchField.length,\n\t\t};\n\n\t\tconst items: Array<IShelBarItemInfo> = [\n\t\t\t...this.items.map((item: ShellBarItem) => {\n\t\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t\t\treturn {\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tid: item._id,\n\t\t\t\t\tcount: item.count || undefined,\n\t\t\t\t\trefItemid: item._id,\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tclasses: \"ui5-shellbar-custom-item ui5-shellbar-button\",\n\t\t\t\t\tpriority: 1,\n\t\t\t\t\tdomOrder: (++domOrder),\n\t\t\t\t\tstyles: {\n\t\t\t\t\t\torder: 2,\n\t\t\t\t\t},\n\t\t\t\t\tshow: true,\n\t\t\t\t\tpress: this._handleCustomActionPress.bind(this),\n\t\t\t\t\tcustom: true,\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t\tstableDomRef: item.stableDomRef,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t{\n\t\t\t\ticon: \"bell\",\n\t\t\t\ttext: this._notificationsText,\n\t\t\t\tclasses: `${this.showNotifications ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-bell-button ui5-shellbar-button`,\n\t\t\t\tpriority: 3,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showNotifications ? 3 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${2}`,\n\t\t\t\tshow: this.showNotifications,\n\t\t\t\tdomOrder: this.showNotifications ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleNotificationsPress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"overflow\",\n\t\t\t\ttext: \"Overflow\",\n\t\t\t\tclasses: `${showOverflowButton ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button ui5-shellbar-button`,\n\t\t\t\tpriority: 5,\n\t\t\t\torder: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: showOverflowButton ? 4 : -1,\n\t\t\t\t},\n\t\t\t\tdomOrder: showOverflowButton ? (++domOrder) : -1,\n\t\t\t\tid: `${this.id}-item-${5}`,\n\t\t\t\tpress: this._handleOverflowPress.bind(this),\n\t\t\t\tshow: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"Person\",\n\t\t\t\tclasses: `${this.hasProfile ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-image-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.hasProfile ? 5 : -10,\n\t\t\t\t},\n\t\t\t\tprofile: true,\n\t\t\t\tid: `${this._id}-item-${3}`,\n\t\t\t\tdomOrder: this.hasProfile ? (++domOrder) : -1,\n\t\t\t\tshow: this.hasProfile,\n\t\t\t\tpress: this._handleProfilePress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"grid\",\n\t\t\t\ttext: this._productsText,\n\t\t\t\tclasses: `${this.showProductSwitch ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-button ui5-shellbar-button-product-switch`,\n\t\t\t\tpriority: 2,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showProductSwitch ? 6 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${4}`,\n\t\t\t\tshow: this.showProductSwitch,\n\t\t\t\tdomOrder: this.showProductSwitch ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleProductSwitchPress.bind(this),\n\t\t\t},\n\t\t];\n\t\tif (this.midContent.length < 1 && items[0].text !== this._searchText) {\n\t\t\titems.unshift(search);\n\t\t}\n\t\treturn items;\n\t}\n\n\t_updateItemsInfo(newItems: Array<IShelBarItemInfo>) {\n\t\tconst isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItems);\n\t\tif (isDifferent) {\n\t\t\tthis._itemsInfo = newItems;\n\t\t}\n\t}\n\n\t_updateClonedMenuItems() {\n\t\tthis._menuPopoverItems = [];\n\n\t\tthis.menuItems.forEach(item => {\n\t\t\t// clone the menuItem and remove the slot=\"menuItems\",\n\t\t\t// otherwise would not be slotted in the internal ui5-li\n\t\t\tconst clonedItem = item.cloneNode(true) as HTMLElement;\n\t\t\tclonedItem.removeAttribute(\"slot\");\n\n\t\t\tthis._menuPopoverItems.push(clonedItem);\n\t\t});\n\t}\n\n\t_observeMenuItems() {\n\t\tthis.menuItems.forEach(item => {\n\t\t\tthis.menuItemsObserver.observe(item, {\n\t\t\t\tcharacterData: true,\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t});\n\t\t});\n\t}\n\n\t_getOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\")!;\n\t}\n\n\t_getMenuPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-menu-popover\")!;\n\t}\n\n\tisIconHidden(name: string) {\n\t\tconst itemInfo = this._itemsInfo.find(item => item.icon === name);\n\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-shellbar-root\": true,\n\t\t\t\t\"ui5-shellbar-with-searchfield\": this.hasSearchField,\n\t\t\t},\n\t\t\tbutton: {\n\t\t\t\t\"ui5-shellbar-menu-button--interactive\": this.hasMenuItems,\n\t\t\t\t\"ui5-shellbar-menu-button\": true,\n\t\t\t},\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"bell\"),\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"grid\"),\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"search\"),\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"overflow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"bell\") ? \"-1\" : \"3\",\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"overflow\") ? \"-1\" : \"4\",\n\t\t\t\t},\n\t\t\t\tprofile: {\n\t\t\t\t\t\"order\": this.hasProfile ? \"5\" : \"-1\",\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"grid\") ? \"-1\" : \"6\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearchField: {\n\t\t\t\t\"display\": this.correctSearchFieldStyles,\n\t\t\t},\n\t\t};\n\t}\n\n\tget correctSearchFieldStyles() {\n\t\tif (this.showSearchField) {\n\t\t\treturn \"flex\";\n\t\t}\n\n\t\treturn \"none\";\n\t}\n\n\tget customItemsInfo() {\n\t\treturn this._itemsInfo.filter(itemInfo => !!itemInfo.custom);\n\t}\n\n\tget hasLogo() {\n\t\treturn !!this.logo.length;\n\t}\n\n\tget showLogoInMenuButton() {\n\t\treturn this.hasLogo && this.breakpointSize === \"S\";\n\t}\n\n\tget showTitleInMenuButton() {\n\t\treturn this.primaryTitle && !(this.showLogoInMenuButton);\n\t}\n\n\tget showMenuButton() {\n\t\treturn this.primaryTitle || this.showLogoInMenuButton;\n\t}\n\n\tget popoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir === \"rtl\" ? \"Start\" : \"End\";\n\t}\n\n\tget hasAssistant() {\n\t\treturn !!this.assistant.length;\n\t}\n\n\tget hasSearchField() {\n\t\treturn !!this.searchField.length;\n\t}\n\n\tget hasMidContent() {\n\t\treturn !!this.midContent.length;\n\t}\n\n\tget hasProfile() {\n\t\treturn !!this.profile.length;\n\t}\n\n\tget hasMenuItems() {\n\t\treturn this.menuItems.length > 0;\n\t}\n\n\tget _shellbarText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LABEL);\n\t}\n\n\tget _logoText() {\n\t\treturn this.accessibilityAttributes.logo?.name || ShellBar.i18nBundle.getText(SHELLBAR_LOGO);\n\t}\n\n\tget _notificationsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount || 0);\n\t}\n\n\tget _cancelBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);\n\t}\n\n\tget _showFullWidthSearch() {\n\t\tconst size = this._handleBarBreakpoints();\n\t\tconst searchBtnHidden = !!this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button.ui5-shellbar-hidden-button\");\n\n\t\treturn ((size === \"S\") || searchBtnHidden);\n\t}\n\n\tget _profileText() {\n\t\treturn this.accessibilityAttributes.profile?.name || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);\n\t}\n\n\tget _productsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);\n\t}\n\n\tget _searchText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);\n\t}\n\n\tget _overflowText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);\n\t}\n\n\tget accInfo() {\n\t\tconst overflowExpanded = this.accessibilityAttributes.overflow?.expanded;\n\n\t\treturn {\n\t\t\tnotifications: {\n\t\t\t\t\"title\": this._notificationsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\texpanded: this.accessibilityAttributes.notifications?.expanded,\n\t\t\t\t\thasPopup: this.accessibilityAttributes.notifications?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tprofile: {\n\t\t\t\t\"title\": this._profileText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.profile?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.profile?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tproducts: {\n\t\t\t\t\"title\": this._productsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.product?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.product?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"title\": this._searchText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.search?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"title\": this._overflowText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.overflow?.hasPopup || AriaHasPopup.Menu.toLowerCase(),\n\t\t\t\t\texpanded: overflowExpanded === undefined ? this._overflowPopoverExpanded : overflowExpanded,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget accLogoRole() {\n\t\treturn this.accessibilityAttributes.logo?.role || \"button\";\n\t}\n}\n\nShellBar.define();\n\nexport default ShellBar;\n\nexport type {\n\tShellBarNotificationsClickEventDetail,\n\tShellBarProfileClickEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarLogoClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n\tShellBarAccessibilityAttributes,\n\tShellBarSearchButtonEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type Input from \"@ui5/webcomponents/dist/Input.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport \"@ui5/webcomponents-icons/dist/search.js\";\nimport \"@ui5/webcomponents-icons/dist/bell.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport \"@ui5/webcomponents-icons/dist/grid.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport type {\n\tTimeout,\n\tClassMap,\n\tAccessibilityAttributes,\n\tAriaRole,\n} from \"@ui5/webcomponents-base\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport type PopoverHorizontalAlign from \"@ui5/webcomponents/dist/types/PopoverHorizontalAlign.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\n// Templates\nimport ShellBarTemplate from \"./generated/templates/ShellBarTemplate.lit.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_OVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype ShellBarLogoAccessibilityAttributes = {\n\trole?: Extract<AriaRole, \"button\" | \"link\">,\n\tname?: string,\n}\ntype ShellBarProfileAccessibilityAttributes = Pick<AccessibilityAttributes, \"name\" | \"expanded\" | \"hasPopup\">;\ntype ShellBarAreaAccessibilityAttributes = Pick<AccessibilityAttributes, \"hasPopup\" |\"expanded\">;\ntype ShellBarAccessibilityAttributes = {\n\tlogo?: ShellBarLogoAccessibilityAttributes\n\tnotifications?: ShellBarAreaAccessibilityAttributes\n\tprofile?: ShellBarProfileAccessibilityAttributes,\n\tproduct?: ShellBarAreaAccessibilityAttributes\n\tsearch?: ShellBarAreaAccessibilityAttributes\n\toverflow?: ShellBarAreaAccessibilityAttributes\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarSearchButtonEventDetail = {\n\ttargetRef: HTMLElement;\n\tsearchFieldVisible: boolean;\n};\n\ninterface IShelBarItemInfo {\n\tid: string,\n\ticon?: string,\n\ttext?: string,\n\tpriority: number,\n\tshow: boolean,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: MouseEvent) => void,\n\tstyles: object,\n\tdomOrder: number,\n\tclasses: string,\n\torder?: number,\n\tprofile?: boolean,\n}\n\nconst HANDLE_RESIZE_DEBOUNCE_RATE = 200; // ms\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-shellbar` is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n *\n * ### Stable DOM Refs\n *\n * You can use the following stable DOM refs for the `ui5-shellbar`:\n *\n * - logo\n * - notifications\n * - overflow\n * - profile\n * - product-switch\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBar.js\";`\n * @csspart root - Used to style the outermost wrapper of the `ui5-shellbar`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: ShellBarTemplate,\n\tstyles: [shellBarStyles, ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tPopover,\n\t\tListItemStandard,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the profile slot is present.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the product switch icon is activated.\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the logo is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when a menu item is activated\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired, when the search button is activated.\n *\n * **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @param {Boolean} searchFieldVisible whether the search field is visible\n * @public\n */\n\n@event(\"search-button-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\nclass ShellBar extends UI5Element {\n\teventDetails!: {\n\t\t\"notifications-click\": ShellBarNotificationsClickEventDetail,\n\t\t\"profile-click\": ShellBarProfileClickEventDetail,\n\t\t\"product-switch-click\": ShellBarProductSwitchClickEventDetail,\n\t\t\"logo-click\": ShellBarLogoClickEventDetail,\n\t\t\"menu-item-click\": ShellBarMenuItemClickEventDetail,\n\t\t\"search-button-click\": ShellBarSearchButtonEventDetail,\n\t}\n\t/**\n\t * Defines the `primaryTitle`.\n\t *\n\t * **Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle?: string;\n\n\t/**\n\t * Defines the `secondaryTitle`.\n\t *\n\t * **Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle?: string;\n\n\t/**\n\t * Defines the `notificationsCount`,\n\t * displayed in the notification icon top-right corner.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount?: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications = false;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch = false;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.\n\t *\n\t * **Note:** By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField = false;\n\n\t/**\n\t * Defines additional accessibility attributes on different areas of the component.\n\t *\n\t * The accessibilityAttributes object has the following fields,\n\t * where each field is an object supporting one or more accessibility attributes:\n\t *\n\t * - **logo** - `logo.role` and `logo.name`.\n\t * - **notifications** - `notifications.expanded` and `notifications.hasPopup`.\n\t * - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.\n\t * - **product** - `product.expanded` and `product.hasPopup`.\n\t * - **search** - `search.hasPopup`.\n\t * - **overflow** - `overflow.expanded` and `overflow.hasPopup`.\n\t *\n\t * The accessibility attributes support the following values:\n\t *\n\t * - **role**: Defines the accessible ARIA role of the logo area.\n\t * Accepts the following string values: `button` or `link`.\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls,\n\t * is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element,\n\t * such as menu or dialog, that can be triggered by the button.\n\t *\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t * - **name**: Defines the accessible ARIA name of the area.\n\t * Accepts any string.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t @property({ type: Object })\n\t accessibilityAttributes: ShellBarAccessibilityAttributes = {};\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo = false;\n\n\t@property({ type: Object })\n\t_itemsInfo!: Array<IShelBarItemInfo>;\n\n\t@property({ type: Array, noAttribute: true })\n\t_menuPopoverItems: Array<HTMLElement> = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_fullWidthSearch = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isXXLBreakpoint = false;\n\n\t/**\n\t * Defines the assistant slot.\n\t *\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@slot()\n\tassistant!: Array<IButton>;\n\n\t/**\n\t * Defines the `ui5-shellbar` additional items.\n\t *\n\t * **Note:**\n\t * You can use the `<ui5-shellbar-item></ui5-shellbar-item>`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<ShellBarItem>;\n\n\t/**\n\t * You can pass `ui5-avatar` to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * **Note:** We recommend not using the `size` attribute of `ui5-avatar` because\n\t * it should have specific size by design in the context of `ui5-shellbar` profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the `ui5-shellbar`.\n\t * For example, you can use `ui5-avatar` or `img` elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on the primary title.\n\t *\n\t * **Note:** You can use the `<ui5-li></ui5-li>` and its ancestors.\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Array<ListItemBase>;\n\n\t/**\n\t * Defines the `ui5-input`, that will be used as a search field.\n\t * @public\n\t */\n\t@slot()\n\tsearchField!: Array<Input>;\n\n\t/**\n\t * Defines a `ui5-button` in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a back or home button.\n\t * It gets overstyled to match ShellBar's styling.\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Array<IButton>;\n\n\t/**\n\t * The container is positioned in the center of the `ui5-shellbar` and occupies one-third of the total length of the `ui5-shellbar`.\n\t *\n\t * **Note:** If set, the `searchField` slot is not rendered.\n\t * @private\n\t */\n\t@slot()\n\tmidContent!: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tmenuItemsObserver: MutationObserver;\n\t_debounceInterval?: Timeout | null;\n\t_hiddenIcons: Array<IShelBarItemInfo>;\n\t_handleResize: ResizeObserverCallback;\n\t_headerPress: () => void;\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record<string, string> {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._menuPopoverItems = [];\n\t\tthis._hiddenIcons = [];\n\t\tthis._itemsInfo = [];\n\t\tthis._isInitialRendering = true;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.menuItemsObserver = new MutationObserver(() => {\n\t\t\tthis._updateClonedMenuItems();\n\t\t});\n\n\t\tthis._headerPress = () => {\n\t\t\tthis._updateClonedMenuItems();\n\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = this._getMenuPopover();\n\t\t\t\tmenuPopover.opener = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-menu-button\")!;\n\t\t\t\tmenuPopover.open = true;\n\t\t\t}\n\t\t};\n\n\t\tthis._handleResize = () => {\n\t\t\tthis._debounce(() => {\n\t\t\t\tthis.menuPopover = this._getMenuPopover();\n\t\t\t\tthis.overflowPopover = this._getOverflowPopover();\n\t\t\t\tthis.overflowPopover.open = false;\n\t\t\t\tthis._overflowActions();\n\t\t\t}, HANDLE_RESIZE_DEBOUNCE_RATE);\n\t\t};\n\t}\n\n\t_debounce(fn: () => void, delay: number) {\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = setTimeout(() => {\n\t\t\tthis._debounceInterval = null;\n\t\t\tfn();\n\t\t}, delay);\n\t}\n\n\t_menuItemPress(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst shouldContinue = this.fireDecoratorEvent(\"menu-item-click\", {\n\t\t\titem: e.detail.selectedItems[0],\n\t\t});\n\t\tif (shouldContinue) {\n\t\t\tthis.menuPopover!.open = false;\n\t\t}\n\t}\n\n\t_logoPress() {\n\t\tthis.fireDecoratorEvent(\"logo-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<HTMLElement>(\".ui5-shellbar-logo\")!,\n\t\t});\n\t}\n\n\t_menuPopoverBeforeOpen() {\n\t\tthis._menuPopoverExpanded = true;\n\t\tif (this.menuPopover!.content && this.menuPopover!.content.length) {\n\t\t\t(<List> this.menuPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_menuPopoverAfterClose() {\n\t\tthis._menuPopoverExpanded = false;\n\t}\n\n\t_overflowPopoverBeforeOpen() {\n\t\tthis._overflowPopoverExpanded = true;\n\t\tif (this.overflowPopover!.content && this.overflowPopover!.content.length) {\n\t\t\t(<List> this.overflowPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_overflowPopoverAfterClose() {\n\t\tthis._overflowPopoverExpanded = false;\n\t}\n\n\t_logoKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_logoKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.withLogo = this.hasLogo;\n\n\t\tthis._hiddenIcons = this._itemsInfo.filter(info => {\n\t\t\tconst isHidden = (info.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1);\n\t\t\tconst isSet = info.classes.indexOf(\"ui5-shellbar-invisible-button\") === -1;\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn isHidden && isSet && !shouldStayOnScreen;\n\t\t});\n\n\t\tthis._observeMenuItems();\n\t}\n\n\tonAfterRendering() {\n\t\tthis._overflowActions();\n\n\t\tthis._fullWidthSearch = this._showFullWidthSearch;\n\t}\n\n\t/**\n\t * Closes the overflow area.\n\t * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event\n\t * @public\n\t */\n\tcloseOverflow(): void {\n\t\tif (this.overflowPopover) {\n\t\t\tthis.overflowPopover.open = false;\n\t\t}\n\t}\n\n\t_handleBarBreakpoints() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst breakpoints = ShellBar.FIORI_3_BREAKPOINTS;\n\n\t\tconst size = breakpoints.find(bp1 => width <= bp1) || ShellBar.FIORI_3_BREAKPOINTS[ShellBar.FIORI_3_BREAKPOINTS.length - 1];\n\t\tconst mappedSize = ShellBar.FIORI_3_BREAKPOINTS_MAP[size];\n\n\t\tif (this.breakpointSize !== mappedSize) {\n\t\t\tthis.breakpointSize = mappedSize;\n\t\t}\n\n\t\tthis._isXXLBreakpoint = this.breakpointSize === \"XXL\";\n\t\treturn mappedSize;\n\t}\n\n\t_handleSizeS() {\n\t\tconst hasIcons = this.showNotifications || this.showProductSwitch || !!this.searchField.length || !!this.items.length;\n\n\t\tconst newItems = this._getAllItems(hasIcons).map((info): IShelBarItemInfo => {\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn {\n\t\t\t\t...info,\n\t\t\t\tclasses: `${info.classes} ${shouldStayOnScreen ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-button`,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: shouldStayOnScreen ? 1 : -1,\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_handleActionsOverflow() {\n\t\tconst rightContainerRect = this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right\")!.getBoundingClientRect();\n\t\tlet overflowSelector = \".ui5-shellbar-button:not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-invisible-button)\";\n\n\t\tif (this.showSearchField) {\n\t\t\toverflowSelector += \",.ui5-shellbar-search-field\";\n\t\t}\n\n\t\tconst elementsToOverflow = this.shadowRoot!.querySelectorAll<Button>(overflowSelector);\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\n\t\tconst overflowButtons = [...elementsToOverflow].filter(icon => {\n\t\t\tconst iconRect = (icon).getBoundingClientRect();\n\n\t\t\tif (isRTL) {\n\t\t\t\treturn (iconRect.left + iconRect.width) > (rightContainerRect.left + rightContainerRect.width);\n\t\t\t}\n\n\t\t\treturn iconRect.left < rightContainerRect.left;\n\t\t});\n\t\tconst showOverflowButton = !!overflowButtons.length;\n\n\t\tconst items = this._getAllItems(showOverflowButton).filter(item => item.show);\n\n\t\tconst itemsByPriority = items.sort((item1, item2) => {\n\t\t\tif (item1.priority > item2.priority) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif (item1.priority < item2.priority) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t});\n\n\t\tfor (let i = 0; i < itemsByPriority.length; i++) {\n\t\t\tif (i < overflowButtons.length) {\n\t\t\t\titemsByPriority[i].classes = `${itemsByPriority[i].classes} ui5-shellbar-hidden-button`;\n\t\t\t\titemsByPriority[i].styles = {\n\t\t\t\t\torder: -1,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn itemsByPriority;\n\t}\n\n\t_overflowActions() {\n\t\tconst size = this._handleBarBreakpoints();\n\n\t\tif (size === \"S\") {\n\t\t\treturn this._handleSizeS();\n\t\t}\n\n\t\tconst newItems = this._handleActionsOverflow();\n\t\tthis._updateItemsInfo(newItems);\n\t}\n\n\t_toggleActionPopover() {\n\t\tconst overflowButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-overflow-button\")!;\n\t\tconst overflowPopover = this._getOverflowPopover();\n\t\toverflowPopover.opener = overflowButton;\n\t\toverflowPopover.open = true;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tthis.menuItemsObserver.disconnect();\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t\tclearTimeout(this._debounceInterval!);\n\t\tthis._debounceInterval = null;\n\t}\n\n\t_handleSearchIconPress() {\n\t\tconst searchButtonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button\")!;\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"search-button-click\", {\n\t\t\ttargetRef: searchButtonRef,\n\t\t\tsearchFieldVisible: this.showSearchField,\n\t\t});\n\n\t\tif (defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis.showSearchField = !this.showSearchField;\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\n\t\t// update the state immediately\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t}\n\n\t\t// move the focus later\n\t\tsetTimeout(() => {\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync _handleActionListClick() {\n\t\tif (!this._defaultItemPressPrevented) {\n\t\t\tthis.closeOverflow();\n\t\t\t// wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold\n\t\t\t// there will be no visual indication that this has happened\n\t\t\tawait renderFinished();\n\t\t}\n\n\t\tthis._defaultItemPressPrevented = false;\n\t}\n\n\t_handleCustomActionPress(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst shellbarItem = this.items.find(item => {\n\t\t\t\treturn item._id === refItemId;\n\t\t\t});\n\n\t\t\tconst prevented = shellbarItem!.fireClickEvent(e);\n\n\t\t\tthis._defaultItemPressPrevented = prevented;\n\t\t}\n\t}\n\n\t_handleOverflowPress() {\n\t\tthis._toggleActionPopover();\n\t}\n\n\t_handleNotificationsPress(e: MouseEvent) {\n\t\tconst notificationIconRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-bell-button\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"notifications-click\", {\n\t\t\ttargetRef: notificationIconRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : notificationIconRef,\n\t\t});\n\t}\n\n\t_handleProfilePress() {\n\t\tthis.fireDecoratorEvent(\"profile-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-image-button\")!,\n\t\t});\n\t}\n\n\t_handleCancelButtonPress() {\n\t\tthis.showSearchField = false;\n\t}\n\n\t_handleProductSwitchPress(e: MouseEvent) {\n\t\tconst buttonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-button-product-switch\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"product-switch-click\", {\n\t\t\ttargetRef: buttonRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : buttonRef,\n\t\t});\n\t}\n\n\t/**\n\t * Returns the `logo` DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the `notifications` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the `overflow` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the `profile` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the `product-switch` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns all items that will be placed in the right of the bar as icons / dom elements.\n\t * @param showOverflowButton Determines if overflow button should be visible (not overflowing)\n\t */\n\t_getAllItems(showOverflowButton: boolean) {\n\t\tlet domOrder = -1;\n\t\tconst search = {\n\t\t\ticon: \"search\",\n\t\t\ttext: this._searchText,\n\t\t\tclasses: `${this.searchField.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-search-button ui5-shellbar-button`,\n\t\t\tpriority: 4,\n\t\t\tdomOrder: this.searchField.length ? (++domOrder) : -1,\n\t\t\tstyles: {\n\t\t\t\torder: this.searchField.length ? 1 : -10,\n\t\t\t},\n\t\t\tid: `${this._id}-item-${1}`,\n\t\t\tpress: this._handleSearchIconPress.bind(this),\n\t\t\tshow: !!this.searchField.length,\n\t\t};\n\n\t\tconst items: Array<IShelBarItemInfo> = [\n\t\t\t...this.items.map((item: ShellBarItem) => {\n\t\t\t\titem._getRealDomRef = () => this.getDomRef()!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t\t\treturn {\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tid: item._id,\n\t\t\t\t\tcount: item.count || undefined,\n\t\t\t\t\trefItemid: item._id,\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tclasses: \"ui5-shellbar-custom-item ui5-shellbar-button\",\n\t\t\t\t\tpriority: 1,\n\t\t\t\t\tdomOrder: (++domOrder),\n\t\t\t\t\tstyles: {\n\t\t\t\t\t\torder: 2,\n\t\t\t\t\t},\n\t\t\t\t\tshow: true,\n\t\t\t\t\tpress: this._handleCustomActionPress.bind(this),\n\t\t\t\t\tcustom: true,\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t\tstableDomRef: item.stableDomRef,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t{\n\t\t\t\ticon: \"bell\",\n\t\t\t\ttext: this._notificationsText,\n\t\t\t\tclasses: `${this.showNotifications ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-bell-button ui5-shellbar-button`,\n\t\t\t\tpriority: 3,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showNotifications ? 3 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${2}`,\n\t\t\t\tshow: this.showNotifications,\n\t\t\t\tdomOrder: this.showNotifications ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleNotificationsPress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"overflow\",\n\t\t\t\ttext: \"Overflow\",\n\t\t\t\tclasses: `${showOverflowButton ? \"\" : \"ui5-shellbar-hidden-button\"} ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button ui5-shellbar-button`,\n\t\t\t\tpriority: 5,\n\t\t\t\torder: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: showOverflowButton ? 4 : -1,\n\t\t\t\t},\n\t\t\t\tdomOrder: showOverflowButton ? (++domOrder) : -1,\n\t\t\t\tid: `${this.id}-item-${5}`,\n\t\t\t\tpress: this._handleOverflowPress.bind(this),\n\t\t\t\tshow: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"Person\",\n\t\t\t\tclasses: `${this.hasProfile ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-image-button ui5-shellbar-button`,\n\t\t\t\tpriority: 4,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.hasProfile ? 5 : -10,\n\t\t\t\t},\n\t\t\t\tprofile: true,\n\t\t\t\tid: `${this._id}-item-${3}`,\n\t\t\t\tdomOrder: this.hasProfile ? (++domOrder) : -1,\n\t\t\t\tshow: this.hasProfile,\n\t\t\t\tpress: this._handleProfilePress.bind(this),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: \"grid\",\n\t\t\t\ttext: this._productsText,\n\t\t\t\tclasses: `${this.showProductSwitch ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-button ui5-shellbar-button-product-switch`,\n\t\t\t\tpriority: 2,\n\t\t\t\tstyles: {\n\t\t\t\t\torder: this.showProductSwitch ? 6 : -10,\n\t\t\t\t},\n\t\t\t\tid: `${this._id}-item-${4}`,\n\t\t\t\tshow: this.showProductSwitch,\n\t\t\t\tdomOrder: this.showProductSwitch ? (++domOrder) : -1,\n\t\t\t\tpress: this._handleProductSwitchPress.bind(this),\n\t\t\t},\n\t\t];\n\t\tif (this.midContent.length < 1 && items[0].text !== this._searchText) {\n\t\t\titems.unshift(search);\n\t\t}\n\t\treturn items;\n\t}\n\n\t_updateItemsInfo(newItems: Array<IShelBarItemInfo>) {\n\t\tconst isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItems);\n\t\tif (isDifferent) {\n\t\t\tthis._itemsInfo = newItems;\n\t\t}\n\t}\n\n\t_updateClonedMenuItems() {\n\t\tthis._menuPopoverItems = [];\n\n\t\tthis.menuItems.forEach(item => {\n\t\t\t// clone the menuItem and remove the slot=\"menuItems\",\n\t\t\t// otherwise would not be slotted in the internal ui5-li\n\t\t\tconst clonedItem = item.cloneNode(true) as HTMLElement;\n\t\t\tclonedItem.removeAttribute(\"slot\");\n\n\t\t\tthis._menuPopoverItems.push(clonedItem);\n\t\t});\n\t}\n\n\t_observeMenuItems() {\n\t\tthis.menuItems.forEach(item => {\n\t\t\tthis.menuItemsObserver.observe(item, {\n\t\t\t\tcharacterData: true,\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: true,\n\t\t\t});\n\t\t});\n\t}\n\n\t_getOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\")!;\n\t}\n\n\t_getMenuPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-menu-popover\")!;\n\t}\n\n\tisIconHidden(name: string) {\n\t\tconst itemInfo = this._itemsInfo.find(item => item.icon === name);\n\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-shellbar-root\": true,\n\t\t\t\t\"ui5-shellbar-with-searchfield\": this.hasSearchField,\n\t\t\t},\n\t\t\tbutton: {\n\t\t\t\t\"ui5-shellbar-menu-button--interactive\": this.hasMenuItems,\n\t\t\t\t\"ui5-shellbar-menu-button\": true,\n\t\t\t},\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"bell\"),\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"grid\"),\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"search\"),\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"overflow\"),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\titems: {\n\t\t\t\tnotification: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"bell\") ? \"-1\" : \"3\",\n\t\t\t\t},\n\t\t\t\toverflow: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"overflow\") ? \"-1\" : \"4\",\n\t\t\t\t},\n\t\t\t\tprofile: {\n\t\t\t\t\t\"order\": this.hasProfile ? \"5\" : \"-1\",\n\t\t\t\t},\n\t\t\t\tproduct: {\n\t\t\t\t\t\"order\": this.isIconHidden(\"grid\") ? \"-1\" : \"6\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearchField: {\n\t\t\t\t\"display\": this.correctSearchFieldStyles,\n\t\t\t},\n\t\t};\n\t}\n\n\tget correctSearchFieldStyles() {\n\t\tif (this.showSearchField) {\n\t\t\treturn \"flex\";\n\t\t}\n\n\t\treturn \"none\";\n\t}\n\n\tget customItemsInfo() {\n\t\treturn this._itemsInfo.filter(itemInfo => !!itemInfo.custom);\n\t}\n\n\tget hasLogo() {\n\t\treturn !!this.logo.length;\n\t}\n\n\tget showLogoInMenuButton() {\n\t\treturn this.hasLogo && this.breakpointSize === \"S\";\n\t}\n\n\tget showTitleInMenuButton() {\n\t\treturn this.primaryTitle && !(this.showLogoInMenuButton);\n\t}\n\n\tget showMenuButton() {\n\t\treturn this.primaryTitle || this.showLogoInMenuButton;\n\t}\n\n\tget popoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir === \"rtl\" ? \"Start\" : \"End\";\n\t}\n\n\tget hasAssistant() {\n\t\treturn !!this.assistant.length;\n\t}\n\n\tget hasSearchField() {\n\t\treturn !!this.searchField.length;\n\t}\n\n\tget hasMidContent() {\n\t\treturn !!this.midContent.length;\n\t}\n\n\tget hasProfile() {\n\t\treturn !!this.profile.length;\n\t}\n\n\tget hasMenuItems() {\n\t\treturn this.menuItems.length > 0;\n\t}\n\n\tget _shellbarText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LABEL);\n\t}\n\n\tget _logoText() {\n\t\treturn this.accessibilityAttributes.logo?.name || ShellBar.i18nBundle.getText(SHELLBAR_LOGO);\n\t}\n\n\tget _notificationsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount || 0);\n\t}\n\n\tget _cancelBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);\n\t}\n\n\tget _showFullWidthSearch() {\n\t\tconst size = this._handleBarBreakpoints();\n\t\tconst searchBtnHidden = !!this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button.ui5-shellbar-hidden-button\");\n\n\t\treturn ((size === \"S\") || searchBtnHidden);\n\t}\n\n\tget _profileText() {\n\t\treturn this.accessibilityAttributes.profile?.name || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);\n\t}\n\n\tget _productsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);\n\t}\n\n\tget _searchText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);\n\t}\n\n\tget _overflowText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);\n\t}\n\n\tget accInfo() {\n\t\tconst overflowExpanded = this.accessibilityAttributes.overflow?.expanded;\n\n\t\treturn {\n\t\t\tnotifications: {\n\t\t\t\t\"title\": this._notificationsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\texpanded: this.accessibilityAttributes.notifications?.expanded,\n\t\t\t\t\thasPopup: this.accessibilityAttributes.notifications?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tprofile: {\n\t\t\t\t\"title\": this._profileText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.profile?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.profile?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tproducts: {\n\t\t\t\t\"title\": this._productsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.product?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.product?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"title\": this._searchText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.search?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"title\": this._overflowText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.overflow?.hasPopup || \"menu\" as const,\n\t\t\t\t\texpanded: overflowExpanded === undefined ? this._overflowPopoverExpanded : overflowExpanded,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget accLogoRole() {\n\t\treturn this.accessibilityAttributes.logo?.role || \"button\";\n\t}\n}\n\nShellBar.define();\n\nexport default ShellBar;\n\nexport type {\n\tShellBarNotificationsClickEventDetail,\n\tShellBarProfileClickEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarLogoClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n\tShellBarAccessibilityAttributes,\n\tShellBarSearchButtonEventDetail,\n};\n"]}
@@ -5,7 +5,6 @@ import type { MenuItemClickEventDetail } from "@ui5/webcomponents/dist/Menu.js";
5
5
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
6
6
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
7
7
  import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
8
- import "@ui5/webcomponents-icons/dist/overflow.js";
9
8
  import type SideNavigationItemBase from "./SideNavigationItemBase.js";
10
9
  import type SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
11
10
  import SideNavigationItem from "./SideNavigationItem.js";
@@ -107,7 +106,7 @@ declare class SideNavigation extends UI5Element {
107
106
  */
108
107
  _popoverContents: SideNavigationPopoverContents;
109
108
  inPopover: boolean;
110
- _menuPopoverItems: Array<HTMLElement>;
109
+ _menuPopoverItems: Array<SideNavigationItem>;
111
110
  _isOverflow: boolean;
112
111
  _flexibleItemNavigation: ItemNavigation;
113
112
  _fixedItemNavigation: ItemNavigation;
@@ -140,11 +139,6 @@ declare class SideNavigation extends UI5Element {
140
139
  get showHeader(): boolean;
141
140
  get hasFixedItems(): boolean;
142
141
  get _rootRole(): "none" | undefined;
143
- get classes(): {
144
- root: {
145
- "ui5-sn-collapsed": boolean;
146
- };
147
- };
148
142
  getEnabledFixedItems(): Array<ITabbable>;
149
143
  getEnabledFlexibleItems(): Array<ITabbable>;
150
144
  getEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>): Array<ITabbable>;
@@ -159,15 +153,18 @@ declare class SideNavigation extends UI5Element {
159
153
  _getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>): Array<SideNavigationItemBase>;
160
154
  _getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>): Array<SideNavigationItemBase>;
161
155
  _findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>): SideNavigationSelectableItemBase | undefined;
162
- get overflowItems(): Array<HTMLElement>;
163
- _handleItemClick(e: KeyboardEvent | PointerEvent, item: SideNavigationSelectableItemBase): void;
156
+ get overflowItems(): Array<SideNavigationItem>;
157
+ _handleItemClick(e: KeyboardEvent | MouseEvent, item: SideNavigationSelectableItemBase): void;
164
158
  _handleOverflowClick(): void;
165
- _getOverflowItems(): Array<SideNavigationSelectableItemBase>;
159
+ _getOverflowItems(): Array<SideNavigationItem>;
166
160
  _selectItem(item: SideNavigationSelectableItemBase): void;
167
161
  get _overflowItem(): SideNavigationItem | null;
168
162
  get isOverflow(): boolean;
169
163
  _onkeydownOverflow(e: KeyboardEvent): void;
170
164
  _onkeyupOverflow(e: KeyboardEvent): void;
165
+ captureRef(ref: HTMLElement & {
166
+ associatedItem?: UI5Element;
167
+ } | null): void;
171
168
  }
172
169
  export default SideNavigation;
173
170
  export type { SideNavigationSelectionChangeEventDetail, };