@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
@@ -8,7 +8,7 @@ var SideNavigation_1;
8
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
11
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ import jsxRender from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
12
12
  import ResponsivePopover from "@ui5/webcomponents/dist/ResponsivePopover.js";
13
13
  import NavigationMenu from "@ui5/webcomponents/dist/NavigationMenu.js";
14
14
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
@@ -16,16 +16,14 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
16
16
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
17
17
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
18
18
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
19
- import "@ui5/webcomponents-icons/dist/overflow.js";
20
19
  import { isPhone, isTablet, isCombi, } from "@ui5/webcomponents-base/dist/Device.js";
21
20
  import { isSpace, isEnter, } from "@ui5/webcomponents-base/dist/Keys.js";
22
21
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
23
22
  import { isInstanceOfSideNavigationItemBase } from "./SideNavigationItemBase.js";
24
- import { isInstanceOfSideNavigationSelectableItemBase } from "./SideNavigationSelectableItemBase.js";
25
23
  import SideNavigationItem, { isInstanceOfSideNavigationItem } from "./SideNavigationItem.js";
26
24
  import SideNavigationSubItem from "./SideNavigationSubItem.js";
27
25
  import SideNavigationGroup from "./SideNavigationGroup.js";
28
- import SideNavigationTemplate from "./generated/templates/SideNavigationTemplate.lit.js";
26
+ import SideNavigationTemplate from "./SideNavigationTemplate.js";
29
27
  import { SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT, SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC, SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC, SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
30
28
  // Styles
31
29
  import SideNavigationCss from "./generated/themes/SideNavigation.css.js";
@@ -231,13 +229,6 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
231
229
  get _rootRole() {
232
230
  return this.inPopover ? "none" : undefined;
233
231
  }
234
- get classes() {
235
- return {
236
- root: {
237
- "ui5-sn-collapsed": this.collapsed,
238
- },
239
- };
240
- }
241
232
  getEnabledFixedItems() {
242
233
  return this.getEnabledItems(this.fixedItems);
243
234
  }
@@ -316,10 +307,8 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
316
307
  }
317
308
  overflowItem.classList.remove("ui5-sn-item-hidden");
318
309
  itemsHeight = overflowItem.offsetHeight;
319
- const selectedItem = overflowItems.find(item => {
320
- return isInstanceOfSideNavigationSelectableItemBase(item) && item._selected;
321
- });
322
- if (selectedItem && isInstanceOfSideNavigationItemBase(selectedItem)) {
310
+ const selectedItem = overflowItems.find(item => item._selected);
311
+ if (selectedItem) {
323
312
  const selectedItemDomRef = selectedItem.getDomRef();
324
313
  const { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef);
325
314
  itemsHeight += selectedItemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);
@@ -399,8 +388,7 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
399
388
  const overflowClass = "ui5-sn-item-hidden";
400
389
  const result = [];
401
390
  this.overflowItems.forEach(item => {
402
- if (isInstanceOfSideNavigationSelectableItemBase(item)
403
- && item.classList.contains(overflowClass)) {
391
+ if (item.classList.contains(overflowClass)) {
404
392
  result.push(item);
405
393
  }
406
394
  });
@@ -443,6 +431,11 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
443
431
  this._handleOverflowClick();
444
432
  }
445
433
  }
434
+ captureRef(ref) {
435
+ if (ref) {
436
+ ref.associatedItem = this;
437
+ }
438
+ }
446
439
  };
447
440
  __decorate([
448
441
  property({ type: Boolean })
@@ -463,7 +456,7 @@ __decorate([
463
456
  property({ type: Boolean })
464
457
  ], SideNavigation.prototype, "inPopover", void 0);
465
458
  __decorate([
466
- property({ type: Array })
459
+ property({ type: Object })
467
460
  ], SideNavigation.prototype, "_menuPopoverItems", void 0);
468
461
  __decorate([
469
462
  property({ type: Boolean })
@@ -475,7 +468,7 @@ SideNavigation = SideNavigation_1 = __decorate([
475
468
  customElement({
476
469
  tag: "ui5-side-navigation",
477
470
  fastNavigation: true,
478
- renderer: litRender,
471
+ renderer: jsxRender,
479
472
  template: SideNavigationTemplate,
480
473
  styles: [SideNavigationCss, SideNavigationPopoverCss],
481
474
  dependencies: [
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport { isInstanceOfSideNavigationItemBase } from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport { isInstanceOfSideNavigationSelectableItemBase } from \"./SideNavigationSelectableItemBase.js\";\nimport SideNavigationItem, { isInstanceOfSideNavigationItem } from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationGroup from \"./SideNavigationGroup.js\";\nimport SideNavigationTemplate from \"./generated/templates/SideNavigationTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationSelectableItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationSelectableItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`\n * and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * The `ui5-side-navigation` component is intended for use within an `ui5-navigation-layout` component.\n * While it can function independently, it is recommended to use it with\n * the `ui5-navigation-layout` for optimal user experience.\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 *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\"`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";` (for `ui5-side-navigation-group`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: SideNavigationTemplate,\n\tstyles: [SideNavigationCss, SideNavigationPopoverCss],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationGroup,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n *\n * @param {SideNavigationSelectableItemBase} item the clicked item.\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass SideNavigation extends UI5Element {\n\teventDetails!: {\n\t\t\"selection-change\": SideNavigationSelectionChangeEventDetail\n\t}\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines the main items of the component.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the component.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t *\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\tinPopover= false;\n\n\t@property({ type: Array })\n\t_menuPopoverItems: Array<HTMLElement> = [];\n\n\t_isOverflow = false;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice = false;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._getAllItems(this.items as Array<SideNavigationItem | SideNavigationGroup>)\n\t\t\t.concat(this._getAllItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>))\n\t\t\t.forEach(item => {\n\t\t\t\titem.sideNavCollapsed = this.collapsed;\n\t\t\t\titem.inPopover = this.inPopover;\n\t\t\t\titem.sideNavigation = this;\n\t\t\t});\n\t}\n\n\t_onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\t_onBeforePopoverOpen() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforePopoverClose() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuOpen() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuClose() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\thandlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tthis._popoverContents.item?.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\thandleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail?.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\tthis.closeMenu();\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis.focusItem(parent);\n\t\t\tparent?.focus();\n\t\t} else {\n\t\t\tthis.focusItem(associatedItem);\n\t\t\tassociatedItem?.focus();\n\t\t}\n\t}\n\n\tgetOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tgetPicker() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\topenPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.open = true;\n\t}\n\n\topenOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.open = true;\n\t}\n\n\tclosePicker() {\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.open = false;\n\t}\n\n\tcloseMenu() {\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.open = false;\n\t}\n\n\tgetPickerTree() {\n\t\tconst picker = this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this.inPopover ? \"none\" : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-sn-collapsed\": this.collapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tconst items = this.getEnabledItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\n\t\tif (this._overflowItem) {\n\t\t\titems.push(this._overflowItem);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<ITabbable> {\n\t\tconst result = new Array<ITabbable>();\n\n\t\tthis._getFocusableItems(items).forEach(item => {\n\t\t\tif (item.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.getDomRef()?.matches(\":focus-within\")) {\n\t\t\tlet selectedItem = this._findSelectedItem(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\n\t\t\tselectedItem = this._findSelectedItem(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\t\t}\n\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tthis._updateOverflowItems();\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItem = this._overflowItem!;\n\t\tconst flexibleContentDomRef : HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItem.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst overflowItems = this.overflowItems;\n\n\t\tlet itemsHeight = overflowItems.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\tif (itemsHeight <= listHeight) {\n\t\t\treturn;\n\t\t}\n\n\t\toverflowItem.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItem.offsetHeight;\n\n\t\tconst selectedItem = overflowItems.find(item => {\n\t\t\treturn isInstanceOfSideNavigationSelectableItemBase(item) && item._selected;\n\t\t});\n\n\t\tif (selectedItem && isInstanceOfSideNavigationItemBase(selectedItem)) {\n\t\t\tconst selectedItemDomRef = selectedItem.getDomRef();\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef!);\n\n\t\t\titemsHeight += selectedItemDomRef!.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\toverflowItems.forEach(item => {\n\t\t\tif (item === selectedItem) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet itemDomRef;\n\n\t\t\tif (isInstanceOfSideNavigationItemBase(item)) {\n\t\t\t\titemDomRef = item.getDomRef()!;\n\t\t\t} else {\n\t\t\t\titemDomRef = item;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);\n\t\t\titemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight > listHeight) {\n\t\t\t\titem.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tthis._flexibleItemNavigation._init();\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationItemBase | undefined {\n\t\treturn this._getFocusableItems(items).find(item => item.forcedTabIndex === \"0\");\n\t}\n\n\t_getSelectableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationSelectableItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\t_getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.focusableItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationSelectableItemBase | undefined {\n\t\treturn this._getSelectableItems(items).find(item => item._selected);\n\t}\n\n\tget overflowItems() : Array<HTMLElement> {\n\t\treturn (this.items as Array<SideNavigationItem | SideNavigationGroup>).reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<HTMLElement>());\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | PointerEvent, item: SideNavigationSelectableItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && isInstanceOfSideNavigationItem(item) && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowItem!.getFocusDomRef() as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationSelectableItemBase> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationSelectableItemBase> = [];\n\n\t\tthis.overflowItems.forEach(item => {\n\t\t\tif (isInstanceOfSideNavigationSelectableItemBase(item)\n\t\t\t\t&& item.classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationSelectableItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireDecoratorEvent(\"selection-change\", { item })) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getSelectableItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\titems = items.concat(this._getSelectableItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\t}\n\n\tget _overflowItem() {\n\t\tconst overflowItem = this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t\tif (overflowItem) {\n\t\t\toverflowItem.sideNavigation = this;\n\t\t}\n\n\t\treturn overflowItem;\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport { isInstanceOfSideNavigationItemBase } from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport SideNavigationItem, { isInstanceOfSideNavigationItem } from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationGroup from \"./SideNavigationGroup.js\";\nimport SideNavigationTemplate from \"./SideNavigationTemplate.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationSelectableItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationSelectableItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`\n * and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * The `ui5-side-navigation` component is intended for use within an `ui5-navigation-layout` component.\n * While it can function independently, it is recommended to use it with\n * the `ui5-navigation-layout` for optimal user experience.\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 *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\"`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";` (for `ui5-side-navigation-group`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: jsxRender,\n\ttemplate: SideNavigationTemplate,\n\tstyles: [SideNavigationCss, SideNavigationPopoverCss],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationGroup,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n *\n * @param {SideNavigationSelectableItemBase} item the clicked item.\n * @public\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass SideNavigation extends UI5Element {\n\teventDetails!: {\n\t\t\"selection-change\": SideNavigationSelectionChangeEventDetail\n\t}\n\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines the main items of the component.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the component.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t *\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\tinPopover= false;\n\n\t@property({ type: Object })\n\t_menuPopoverItems: Array<SideNavigationItem> = [];\n\n\t_isOverflow = false;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice = false;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._getAllItems(this.items as Array<SideNavigationItem | SideNavigationGroup>)\n\t\t\t.concat(this._getAllItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>))\n\t\t\t.forEach(item => {\n\t\t\t\titem.sideNavCollapsed = this.collapsed;\n\t\t\t\titem.inPopover = this.inPopover;\n\t\t\t\titem.sideNavigation = this;\n\t\t\t});\n\t}\n\n\t_onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\t_onBeforePopoverOpen() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforePopoverClose() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuOpen() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuClose() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\thandlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tthis._popoverContents.item?.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\thandleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail?.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\tthis.closeMenu();\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis.focusItem(parent);\n\t\t\tparent?.focus();\n\t\t} else {\n\t\t\tthis.focusItem(associatedItem);\n\t\t\tassociatedItem?.focus();\n\t\t}\n\t}\n\n\tgetOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tgetPicker() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\topenPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.open = true;\n\t}\n\n\topenOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.open = true;\n\t}\n\n\tclosePicker() {\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.open = false;\n\t}\n\n\tcloseMenu() {\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.open = false;\n\t}\n\n\tgetPickerTree() {\n\t\tconst picker = this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this.inPopover ? \"none\" : undefined;\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tconst items = this.getEnabledItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\n\t\tif (this._overflowItem) {\n\t\t\titems.push(this._overflowItem);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<ITabbable> {\n\t\tconst result = new Array<ITabbable>();\n\n\t\tthis._getFocusableItems(items).forEach(item => {\n\t\t\tif (item.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.getDomRef()?.matches(\":focus-within\")) {\n\t\t\tlet selectedItem = this._findSelectedItem(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\n\t\t\tselectedItem = this._findSelectedItem(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\t\t}\n\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tthis._updateOverflowItems();\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItem = this._overflowItem!;\n\t\tconst flexibleContentDomRef : HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItem.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst overflowItems = this.overflowItems;\n\n\t\tlet itemsHeight = overflowItems.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\tif (itemsHeight <= listHeight) {\n\t\t\treturn;\n\t\t}\n\n\t\toverflowItem.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItem.offsetHeight;\n\n\t\tconst selectedItem = overflowItems.find(item => item._selected);\n\n\t\tif (selectedItem) {\n\t\t\tconst selectedItemDomRef = selectedItem.getDomRef();\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef!);\n\n\t\t\titemsHeight += selectedItemDomRef!.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\toverflowItems.forEach(item => {\n\t\t\tif (item === selectedItem) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet itemDomRef;\n\n\t\t\tif (isInstanceOfSideNavigationItemBase(item)) {\n\t\t\t\titemDomRef = item.getDomRef()!;\n\t\t\t} else {\n\t\t\t\titemDomRef = item;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);\n\t\t\titemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight > listHeight) {\n\t\t\t\titem.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tthis._flexibleItemNavigation._init();\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationItemBase | undefined {\n\t\treturn this._getFocusableItems(items).find(item => item.forcedTabIndex === \"0\");\n\t}\n\n\t_getSelectableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationSelectableItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\t_getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.focusableItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationSelectableItemBase | undefined {\n\t\treturn this._getSelectableItems(items).find(item => item._selected);\n\t}\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\treturn (this.items as Array<SideNavigationItem | SideNavigationGroup>).reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<SideNavigationItem>());\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | MouseEvent, item: SideNavigationSelectableItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && isInstanceOfSideNavigationItem(item) && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowItem!.getFocusDomRef() as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationItem> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationItem> = [];\n\n\t\tthis.overflowItems.forEach(item => {\n\t\t\tif (item.classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationSelectableItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireDecoratorEvent(\"selection-change\", { item })) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getSelectableItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\titems = items.concat(this._getSelectableItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\t}\n\n\tget _overflowItem() {\n\t\tconst overflowItem = this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t\tif (overflowItem) {\n\t\t\toverflowItem.sideNavigation = this;\n\t\t}\n\n\t\treturn overflowItem;\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\tcaptureRef(ref: HTMLElement & { associatedItem?: UI5Element} | null) {\n\t\tif (ref) {\n\t\t\tref.associatedItem = this;\n\t\t}\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
@@ -1,6 +1,4 @@
1
1
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
3
- import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
4
2
  import SideNavigationItemBase from "./SideNavigationItemBase.js";
5
3
  import type SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
6
4
  import type SideNavigationItem from "./SideNavigationItem.js";
@@ -37,18 +35,17 @@ declare class SideNavigationGroup extends SideNavigationItemBase {
37
35
  */
38
36
  items: Array<SideNavigationItem>;
39
37
  static i18nBundle: I18nBundle;
40
- get overflowItems(): Array<HTMLElement>;
38
+ get overflowItems(): Array<SideNavigationItem>;
41
39
  get selectableItems(): Array<SideNavigationSelectableItemBase>;
42
40
  get focusableItems(): Array<SideNavigationItemBase>;
43
41
  get allItems(): Array<SideNavigationItemBase>;
44
42
  get _groupId(): string | undefined;
45
43
  get _expanded(): boolean | undefined;
46
- get _toggleIconName(): "navigation-down-arrow" | "navigation-right-arrow";
47
44
  get belowGroupClassName(): "" | "ui5-sn-item-group-below-group";
48
45
  get accDescription(): string;
49
- _onkeydown: (e: KeyboardEvent) => void;
50
- _onclick: () => void;
51
- _onfocusin: (e: FocusEvent) => void;
46
+ _onkeydown(e: KeyboardEvent): void;
47
+ _onclick(): void;
48
+ _onfocusin(e: FocusEvent): void;
52
49
  _toggle(): void;
53
50
  get isSideNavigationGroup(): boolean;
54
51
  }
@@ -6,16 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var SideNavigationGroup_1;
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
9
+ import jsxRender from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
10
10
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
11
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
12
12
  import { isLeft, isRight, } from "@ui5/webcomponents-base/dist/Keys.js";
13
13
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
14
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
15
- import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
16
14
  import Icon from "@ui5/webcomponents/dist/Icon.js";
17
15
  import SideNavigationItemBase from "./SideNavigationItemBase.js";
18
- import SideNavigationGroupTemplate from "./generated/templates/SideNavigationGroupTemplate.lit.js";
16
+ import SideNavigationGroupTemplate from "./SideNavigationGroupTemplate.js";
19
17
  import { SIDE_NAVIGATION_GROUP_HEADER_DESC, } from "./generated/i18n/i18n-defaults.js";
20
18
  // Styles
21
19
  import SideNavigationGroupCss from "./generated/themes/SideNavigationGroup.css.js";
@@ -47,22 +45,6 @@ let SideNavigationGroup = SideNavigationGroup_1 = class SideNavigationGroup exte
47
45
  * @default false
48
46
  */
49
47
  this.expanded = false;
50
- this._onkeydown = (e) => {
51
- if (isLeft(e)) {
52
- this.expanded = false;
53
- return;
54
- }
55
- if (isRight(e)) {
56
- this.expanded = true;
57
- }
58
- };
59
- this._onclick = () => {
60
- this._toggle();
61
- };
62
- this._onfocusin = (e) => {
63
- e.stopPropagation();
64
- this.sideNavigation?.focusItem(this);
65
- };
66
48
  }
67
49
  get overflowItems() {
68
50
  const separator1 = this.shadowRoot.querySelector(".ui5-sn-item-separator:first-child");
@@ -105,9 +87,6 @@ let SideNavigationGroup = SideNavigationGroup_1 = class SideNavigationGroup exte
105
87
  }
106
88
  return this.expanded;
107
89
  }
108
- get _toggleIconName() {
109
- return this.expanded ? "navigation-down-arrow" : "navigation-right-arrow";
110
- }
111
90
  get belowGroupClassName() {
112
91
  if (isInstanceOfSideNavigationGroup(this.previousElementSibling)) {
113
92
  return "ui5-sn-item-group-below-group";
@@ -117,6 +96,22 @@ let SideNavigationGroup = SideNavigationGroup_1 = class SideNavigationGroup exte
117
96
  get accDescription() {
118
97
  return SideNavigationGroup_1.i18nBundle.getText(SIDE_NAVIGATION_GROUP_HEADER_DESC);
119
98
  }
99
+ _onkeydown(e) {
100
+ if (isLeft(e)) {
101
+ this.expanded = false;
102
+ return;
103
+ }
104
+ if (isRight(e)) {
105
+ this.expanded = true;
106
+ }
107
+ }
108
+ _onclick() {
109
+ this._toggle();
110
+ }
111
+ _onfocusin(e) {
112
+ e.stopPropagation();
113
+ this.sideNavigation?.focusItem(this);
114
+ }
120
115
  _toggle() {
121
116
  this.expanded = !this.expanded;
122
117
  }
@@ -136,7 +131,7 @@ __decorate([
136
131
  SideNavigationGroup = SideNavigationGroup_1 = __decorate([
137
132
  customElement({
138
133
  tag: "ui5-side-navigation-group",
139
- renderer: litRender,
134
+ renderer: jsxRender,
140
135
  template: SideNavigationGroupTemplate,
141
136
  styles: SideNavigationGroupCss,
142
137
  dependencies: [
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigationGroup.js","sourceRoot":"","sources":["../src/SideNavigationGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport {\n\tisLeft,\n\tisRight,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigationItem from \"./SideNavigationItem.js\";\nimport SideNavigationGroupTemplate from \"./generated/templates/SideNavigationGroupTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_GROUP_HEADER_DESC,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationGroupCss from \"./generated/themes/SideNavigationGroup.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a group of navigation actions within `ui5-side-navigation`.\n * The `ui5-side-navigation-group` can only be used inside a `ui5-side-navigation`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";`\n *\n * @constructor\n * @extends SideNavigationItemBase\n * @public\n * @abstract\n * @since 1.24.0\n */\n@customElement({\n\ttag: \"ui5-side-navigation-group\",\n\trenderer: litRender,\n\ttemplate: SideNavigationGroupTemplate,\n\tstyles: SideNavigationGroupCss,\n\tdependencies: [\n\t\tIcon,\n\t],\n})\nclass SideNavigationGroup extends SideNavigationItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines nested items by passing `ui5-side-navigation-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItem>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget overflowItems() : Array<HTMLElement> {\n\t\tconst separator1 = this.shadowRoot!.querySelector(\".ui5-sn-item-separator:first-child\") as HTMLElement;\n\t\tconst separator2 = this.shadowRoot!.querySelector(\".ui5-sn-item-separator:last-child\") as HTMLElement;\n\n\t\tconst overflowItems = this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<HTMLElement>());\n\n\t\treturn [separator1, ...overflowItems, separator2];\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\treturn this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn this.items;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn this.items.reduce((result, item) => {\n\t\t\t\treturn result.concat(item.focusableItems);\n\t\t\t}, new Array<SideNavigationItemBase>(this));\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>(this));\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget _toggleIconName() {\n\t\treturn this.expanded ? \"navigation-down-arrow\" : \"navigation-right-arrow\";\n\t}\n\n\tget belowGroupClassName() {\n\t\tif (isInstanceOfSideNavigationGroup(this.previousElementSibling)) {\n\t\t\treturn \"ui5-sn-item-group-below-group\";\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget accDescription() {\n\t\treturn SideNavigationGroup.i18nBundle.getText(SIDE_NAVIGATION_GROUP_HEADER_DESC);\n\t}\n\n\t_onkeydown = (e: KeyboardEvent) => {\n\t\tif (isLeft(e)) {\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\tthis.expanded = true;\n\t\t}\n\t}\n\n\t_onclick = () => {\n\t\tthis._toggle();\n\t}\n\n\t_onfocusin = (e: FocusEvent) => {\n\t\te.stopPropagation();\n\n\t\tthis.sideNavigation?.focusItem(this);\n\t}\n\n\t_toggle() {\n\t\tthis.expanded = !this.expanded;\n\t}\n\n\tget isSideNavigationGroup() {\n\t\treturn true;\n\t}\n}\n\nSideNavigationGroup.define();\n\nconst isInstanceOfSideNavigationGroup = (object: any): object is SideNavigationGroup => {\n\treturn \"isSideNavigationGroup\" in object;\n};\n\nexport default SideNavigationGroup;\nexport { isInstanceOfSideNavigationGroup };\n"]}
1
+ {"version":3,"file":"SideNavigationGroup.js","sourceRoot":"","sources":["../src/SideNavigationGroup.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,EACN,MAAM,EACN,OAAO,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAGjE,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EACN,iCAAiC,GACjC,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,sBAAsB,MAAM,+CAA+C,CAAC;AAEnF;;;;;;;;;;;;;;;;;GAiBG;AAUH,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,sBAAsB;IAAxD;;QACC;;;;;WAKG;QAEH,aAAQ,GAAG,KAAK,CAAC;IA0GlB,CAAC;IA7FA,IAAI,aAAa;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,oCAAoC,CAAuB,CAAC;QAC9G,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,mCAAmC,CAAuB,CAAC;QAE7G,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC,EAAE,IAAI,KAAK,EAAsB,CAAC,CAAC;QAEpC,OAAO,CAAC,UAAU,EAAE,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,CAAC,EAAE,IAAI,KAAK,EAAoC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,cAAc;QACjB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC,EAAE,IAAI,KAAK,CAAyB,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACzC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,EAAE,IAAI,KAAK,CAAyB,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACZ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,IAAI,mBAAmB;QACtB,IAAI,+BAA+B,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAClE,OAAO,+BAA+B,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAClF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,CAAC;IACF,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACN,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AA1GA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACX;AAQjB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;kDAC1C;AAG3B;IADN,IAAI,CAAC,0BAA0B,CAAC;6CACH;AAnBzB,mBAAmB;IATxB,aAAa,CAAC;QACd,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,2BAA2B;QACrC,MAAM,EAAE,sBAAsB;QAC9B,YAAY,EAAE;YACb,IAAI;SACJ;KACD,CAAC;GACI,mBAAmB,CAkHxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,MAAM,+BAA+B,GAAG,CAAC,MAAW,EAAiC,EAAE;IACtF,OAAO,uBAAuB,IAAI,MAAM,CAAC;AAC1C,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC;AACnC,OAAO,EAAE,+BAA+B,EAAE,CAAC","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport {\n\tisLeft,\n\tisRight,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport type SideNavigationItem from \"./SideNavigationItem.js\";\nimport SideNavigationGroupTemplate from \"./SideNavigationGroupTemplate.js\";\n\nimport {\n\tSIDE_NAVIGATION_GROUP_HEADER_DESC,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationGroupCss from \"./generated/themes/SideNavigationGroup.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Represents a group of navigation actions within `ui5-side-navigation`.\n * The `ui5-side-navigation-group` can only be used inside a `ui5-side-navigation`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";`\n *\n * @constructor\n * @extends SideNavigationItemBase\n * @public\n * @abstract\n * @since 1.24.0\n */\n@customElement({\n\ttag: \"ui5-side-navigation-group\",\n\trenderer: jsxRender,\n\ttemplate: SideNavigationGroupTemplate,\n\tstyles: SideNavigationGroupCss,\n\tdependencies: [\n\t\tIcon,\n\t],\n})\nclass SideNavigationGroup extends SideNavigationItemBase {\n\t/**\n\t * Defines if the item is expanded\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\texpanded = false;\n\n\t/**\n\t * Defines nested items by passing `ui5-side-navigation-item` to the default slot.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItem>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget overflowItems() : Array<SideNavigationItem> {\n\t\tconst separator1 = this.shadowRoot!.querySelector(\".ui5-sn-item-separator:first-child\") as SideNavigationItem;\n\t\tconst separator2 = this.shadowRoot!.querySelector(\".ui5-sn-item-separator:last-child\") as SideNavigationItem;\n\n\t\tconst overflowItems = this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<SideNavigationItem>());\n\n\t\treturn [separator1, ...overflowItems, separator2];\n\t}\n\n\tget selectableItems() : Array<SideNavigationSelectableItemBase> {\n\t\treturn this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\tget focusableItems() : Array<SideNavigationItemBase> {\n\t\tif (this.sideNavCollapsed) {\n\t\t\treturn this.items;\n\t\t}\n\n\t\tif (this.expanded) {\n\t\t\treturn this.items.reduce((result, item) => {\n\t\t\t\treturn result.concat(item.focusableItems);\n\t\t\t}, new Array<SideNavigationItemBase>(this));\n\t\t}\n\n\t\treturn [this];\n\t}\n\n\tget allItems() : Array<SideNavigationItemBase> {\n\t\treturn this.items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>(this));\n\t}\n\n\tget _groupId() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn `${this._id}-group`;\n\t}\n\n\tget _expanded() {\n\t\tif (!this.items.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.expanded;\n\t}\n\n\tget belowGroupClassName() {\n\t\tif (isInstanceOfSideNavigationGroup(this.previousElementSibling)) {\n\t\t\treturn \"ui5-sn-item-group-below-group\";\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget accDescription() {\n\t\treturn SideNavigationGroup.i18nBundle.getText(SIDE_NAVIGATION_GROUP_HEADER_DESC);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isLeft(e)) {\n\t\t\tthis.expanded = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (isRight(e)) {\n\t\t\tthis.expanded = true;\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis._toggle();\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\te.stopPropagation();\n\n\t\tthis.sideNavigation?.focusItem(this);\n\t}\n\n\t_toggle() {\n\t\tthis.expanded = !this.expanded;\n\t}\n\n\tget isSideNavigationGroup() {\n\t\treturn true;\n\t}\n}\n\nSideNavigationGroup.define();\n\nconst isInstanceOfSideNavigationGroup = (object: any): object is SideNavigationGroup => {\n\treturn \"isSideNavigationGroup\" in object;\n};\n\nexport default SideNavigationGroup;\nexport { isInstanceOfSideNavigationGroup };\n"]}
@@ -0,0 +1,2 @@
1
+ import type SideNavigationGroup from "./SideNavigationGroup.js";
2
+ export default function SideNavigationGroupTemplate(this: SideNavigationGroup): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
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
+ import navRightArrow from "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
4
+ import navDownArrow from "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
5
+ export default function SideNavigationGroupTemplate() {
6
+ if (this.sideNavCollapsed) {
7
+ return (_jsxs(_Fragment, { children: [_jsx("div", { class: `ui5-sn-item-separator ${this.belowGroupClassName}` }), _jsx("slot", {}), _jsx("div", { class: "ui5-sn-item-separator" })] }));
8
+ }
9
+ return TreeItemTemplate.call(this);
10
+ }
11
+ function TreeItemTemplate() {
12
+ return (_jsxs("li", { id: this._id, class: `ui5-sn-list-li ${this.belowGroupClassName}`, role: "none", children: [_jsx("div", { class: "ui5-sn-item-separator" }), _jsxs("div", { class: `ui5-sn-item ui5-sn-item-group ${this._classes}`, role: "treeitem", "data-sap-focus-ref": true, onKeyDown: this._onkeydown, onClick: this._onclick, onFocusIn: this._onfocusin, tabIndex: this.effectiveTabIndex ? parseInt(this.effectiveTabIndex) : undefined, "aria-expanded": this._expanded, "aria-description": this.accDescription, title: this._tooltip, "aria-owns": this._groupId, children: [_jsx("div", { class: "ui5-sn-item-text", children: this.text }), !!this.items.length &&
13
+ _jsx(Icon, { class: "ui5-sn-item-toggle-icon", name: this.expanded ? navDownArrow : navRightArrow })] }), !!this.items.length &&
14
+ _jsx("ul", { id: this._groupId, class: "ui5-sn-item-ul", role: "group", children: _jsx("slot", {}) }), _jsx("div", { class: "ui5-sn-item-separator" })] }));
15
+ }
16
+ //# sourceMappingURL=SideNavigationGroupTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNavigationGroupTemplate.js","sourceRoot":"","sources":["../src/SideNavigationGroupTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,yDAAyD,CAAC;AACpF,OAAO,YAAY,MAAM,wDAAwD,CAAC;AAGlF,MAAM,CAAC,OAAO,UAAU,2BAA2B;IAClD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,OAAO,CAAC,8BACP,cAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,mBAAmB,EAAE,GAAQ,EACvE,gBAAa,EACb,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACvC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB;IACxB,OAAO,CACN,cAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EACf,KAAK,EAAE,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,EACnD,IAAI,EAAC,MAAM,aAEX,cAAK,KAAK,EAAC,uBAAuB,GAAO,EACzC,eAAK,KAAK,EAAE,iCAAiC,IAAI,CAAC,QAAQ,EAAE,EAC3D,IAAI,EAAC,UAAU,8BAEf,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,mBAChE,IAAI,CAAC,SAAS,sBACX,IAAI,CAAC,cAAc,EACrC,KAAK,EAAE,IAAI,CAAC,QAAQ,eACT,IAAI,CAAC,QAAQ,aAExB,cAAK,KAAK,EAAC,kBAAkB,YAAE,IAAI,CAAC,IAAI,GAAO,EAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;wBACnB,KAAC,IAAI,IAAC,KAAK,EAAC,yBAAyB,EACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GACjD,IAEE,EACL,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACnB,aAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EACpB,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,YAEZ,gBAAa,GACT,EAEN,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACrC,CACL,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport navRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport navDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\nimport type SideNavigationGroup from \"./SideNavigationGroup.js\";\n\nexport default function SideNavigationGroupTemplate(this: SideNavigationGroup) {\n\tif (this.sideNavCollapsed) {\n\t\treturn (<>\n\t\t\t<div class={`ui5-sn-item-separator ${this.belowGroupClassName}`}></div>\n\t\t\t<slot></slot>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</>);\n\t}\n\n\treturn TreeItemTemplate.call(this);\n}\n\nfunction TreeItemTemplate(this: SideNavigationGroup) {\n\treturn (\n\t\t<li id={this._id}\n\t\t\tclass={`ui5-sn-list-li ${this.belowGroupClassName}`}\n\t\t\trole=\"none\"\n\t\t>\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t\t<div class={`ui5-sn-item ui5-sn-item-group ${this._classes}`}\n\t\t\t\trole=\"treeitem\"\n\t\t\t\tdata-sap-focus-ref\n\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\tonClick={this._onclick}\n\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\ttabIndex={this.effectiveTabIndex ? parseInt(this.effectiveTabIndex) : undefined}\n\t\t\t\taria-expanded={this._expanded}\n\t\t\t\taria-description={this.accDescription}\n\t\t\t\ttitle={this._tooltip}\n\t\t\t\taria-owns={this._groupId}\n\t\t\t>\n\t\t\t\t<div class=\"ui5-sn-item-text\">{this.text}</div>\n\t\t\t\t{!!this.items.length &&\n\t\t\t\t\t<Icon class=\"ui5-sn-item-toggle-icon\"\n\t\t\t\t\t\tname={this.expanded ? navDownArrow : navRightArrow}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{!!this.items.length &&\n\t\t\t\t<ul id={this._groupId}\n\t\t\t\t\tclass=\"ui5-sn-item-ul\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</ul>\n\t\t\t}\n\t\t\t<div class=\"ui5-sn-item-separator\"></div>\n\t\t</li>\n\t);\n}\n"]}
@@ -1,7 +1,3 @@
1
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
2
- import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
3
- import "@ui5/webcomponents-icons/dist/circle-task-2.js";
4
- import "@ui5/webcomponents-icons/dist/arrow-right.js";
5
1
  import type SideNavigationItemBase from "./SideNavigationItemBase.js";
6
2
  import SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
7
3
  import type SideNavigationSubItem from "./SideNavigationSubItem.js";
@@ -45,7 +41,7 @@ declare class SideNavigationItem extends SideNavigationSelectableItemBase {
45
41
  * @public
46
42
  */
47
43
  items: Array<SideNavigationSubItem>;
48
- get overflowItems(): Array<HTMLElement>;
44
+ get overflowItems(): Array<SideNavigationItem>;
49
45
  get selectableItems(): Array<SideNavigationSelectableItemBase>;
50
46
  get focusableItems(): Array<SideNavigationItemBase>;
51
47
  get allItems(): Array<SideNavigationItemBase>;
@@ -53,17 +49,16 @@ declare class SideNavigationItem extends SideNavigationSelectableItemBase {
53
49
  get _ariaChecked(): boolean | undefined;
54
50
  get _groupId(): string | undefined;
55
51
  get _expanded(): boolean | undefined;
56
- get _toggleIconName(): "navigation-down-arrow" | "navigation-right-arrow";
57
52
  get classesArray(): string[];
58
53
  get _selected(): boolean;
59
- _onToggleClick: (e: PointerEvent) => void;
60
- _onkeydown: (e: KeyboardEvent) => void;
61
- _onkeyup: (e: KeyboardEvent) => void;
62
- _onfocusin: (e: FocusEvent) => void;
63
- _onclick: (e: PointerEvent) => void;
64
- _onfocusout: () => void;
65
- _onmouseenter: () => void;
66
- _onmouseleave: () => void;
54
+ _onToggleClick(e: PointerEvent): void;
55
+ _onkeydown(e: KeyboardEvent): void;
56
+ _onkeyup(e: KeyboardEvent): void;
57
+ _onfocusin(e: FocusEvent): void;
58
+ _onclick(e: MouseEvent): void;
59
+ _onfocusout(): void;
60
+ _onmouseenter(): void;
61
+ _onmouseleave(): void;
67
62
  get isSideNavigationItem(): boolean;
68
63
  }
69
64
  declare const isInstanceOfSideNavigationItem: (object: any) => object is SideNavigationItem;
@@ -5,17 +5,13 @@ 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 customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
8
+ import jsxRender from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
11
11
  import { isLeft, isRight } from "@ui5/webcomponents-base/dist/Keys.js";
12
- import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
13
- import "@ui5/webcomponents-icons/dist/navigation-down-arrow.js";
14
- import "@ui5/webcomponents-icons/dist/circle-task-2.js";
15
- import "@ui5/webcomponents-icons/dist/arrow-right.js";
16
12
  import Icon from "@ui5/webcomponents/dist/Icon.js";
17
13
  import SideNavigationSelectableItemBase from "./SideNavigationSelectableItemBase.js";
18
- import SideNavigationItemTemplate from "./generated/templates/SideNavigationItemTemplate.lit.js";
14
+ import SideNavigationItemTemplate from "./SideNavigationItemTemplate.js";
19
15
  // Styles
20
16
  import SideNavigationItemCss from "./generated/themes/SideNavigationItem.css.js";
21
17
  /**
@@ -54,48 +50,6 @@ let SideNavigationItem = class SideNavigationItem extends SideNavigationSelectab
54
50
  * @since 1.10.0
55
51
  */
56
52
  this._fixed = false;
57
- this._onToggleClick = (e) => {
58
- e.stopPropagation();
59
- this.expanded = !this.expanded;
60
- };
61
- this._onkeydown = (e) => {
62
- if (isLeft(e)) {
63
- this.expanded = false;
64
- return;
65
- }
66
- if (isRight(e)) {
67
- this.expanded = true;
68
- return;
69
- }
70
- super._onkeydown(e);
71
- };
72
- this._onkeyup = (e) => {
73
- super._onkeyup(e);
74
- };
75
- this._onfocusin = (e) => {
76
- super._onfocusin(e);
77
- };
78
- this._onclick = (e) => {
79
- super._onclick(e);
80
- };
81
- this._onfocusout = () => {
82
- if (!this.sideNavCollapsed) {
83
- return;
84
- }
85
- this.getDomRef().classList.remove("ui5-sn-item-no-hover-effect");
86
- };
87
- this._onmouseenter = () => {
88
- if (!this.sideNavCollapsed) {
89
- return;
90
- }
91
- this.getDomRef().classList.remove("ui5-sn-item-no-hover-effect");
92
- };
93
- this._onmouseleave = () => {
94
- if (!this.sideNavCollapsed || !this._selected) {
95
- return;
96
- }
97
- this.getDomRef().classList.add("ui5-sn-item-no-hover-effect");
98
- };
99
53
  }
100
54
  get overflowItems() {
101
55
  return [this];
@@ -139,9 +93,6 @@ let SideNavigationItem = class SideNavigationItem extends SideNavigationSelectab
139
93
  }
140
94
  return this.expanded;
141
95
  }
142
- get _toggleIconName() {
143
- return this.expanded ? "navigation-down-arrow" : "navigation-right-arrow";
144
- }
145
96
  get classesArray() {
146
97
  const classes = super.classesArray;
147
98
  if (!this.disabled && this.parentNode.collapsed && this.items.length) {
@@ -158,6 +109,48 @@ let SideNavigationItem = class SideNavigationItem extends SideNavigationSelectab
158
109
  }
159
110
  return this.selected;
160
111
  }
112
+ _onToggleClick(e) {
113
+ e.stopPropagation();
114
+ this.expanded = !this.expanded;
115
+ }
116
+ _onkeydown(e) {
117
+ if (isLeft(e)) {
118
+ this.expanded = false;
119
+ return;
120
+ }
121
+ if (isRight(e)) {
122
+ this.expanded = true;
123
+ return;
124
+ }
125
+ super._onkeydown(e);
126
+ }
127
+ _onkeyup(e) {
128
+ super._onkeyup(e);
129
+ }
130
+ _onfocusin(e) {
131
+ super._onfocusin(e);
132
+ }
133
+ _onclick(e) {
134
+ super._onclick(e);
135
+ }
136
+ _onfocusout() {
137
+ if (!this.sideNavCollapsed) {
138
+ return;
139
+ }
140
+ this.getDomRef().classList.remove("ui5-sn-item-no-hover-effect");
141
+ }
142
+ _onmouseenter() {
143
+ if (!this.sideNavCollapsed) {
144
+ return;
145
+ }
146
+ this.getDomRef().classList.remove("ui5-sn-item-no-hover-effect");
147
+ }
148
+ _onmouseleave() {
149
+ if (!this.sideNavCollapsed || !this._selected) {
150
+ return;
151
+ }
152
+ this.getDomRef().classList.add("ui5-sn-item-no-hover-effect");
153
+ }
161
154
  get isSideNavigationItem() {
162
155
  return true;
163
156
  }
@@ -174,7 +167,7 @@ __decorate([
174
167
  SideNavigationItem = __decorate([
175
168
  customElement({
176
169
  tag: "ui5-side-navigation-item",
177
- renderer: litRender,
170
+ renderer: jsxRender,
178
171
  template: SideNavigationItemTemplate,
179
172
  styles: SideNavigationItemCss,
180
173
  dependencies: [