@ui5/webcomponents-fiori 2.8.0-rc.2 → 2.8.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +3 -0
  3. package/cypress/specs/NotificationList.cy.tsx +154 -0
  4. package/cypress/specs/SearchField.cy.tsx +445 -0
  5. package/cypress/specs/UserSettingsDialog.cy.tsx +619 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/NotificationListGroupItem.d.ts +1 -1
  8. package/dist/NotificationListGroupItem.js +5 -2
  9. package/dist/NotificationListGroupItem.js.map +1 -1
  10. package/dist/NotificationListGroupItemTemplate.js +4 -5
  11. package/dist/NotificationListGroupItemTemplate.js.map +1 -1
  12. package/dist/NotificationListGroupList.d.ts +2 -0
  13. package/dist/NotificationListGroupList.js +9 -0
  14. package/dist/NotificationListGroupList.js.map +1 -1
  15. package/dist/NotificationListInternal.d.ts +6 -0
  16. package/dist/NotificationListInternal.js +119 -0
  17. package/dist/NotificationListInternal.js.map +1 -1
  18. package/dist/NotificationListItem.d.ts +0 -1
  19. package/dist/NotificationListItem.js +1 -32
  20. package/dist/NotificationListItem.js.map +1 -1
  21. package/dist/SearchField.d.ts +130 -0
  22. package/dist/SearchField.js +228 -0
  23. package/dist/SearchField.js.map +1 -0
  24. package/dist/SearchFieldScopeOption.d.ts +26 -0
  25. package/dist/SearchFieldScopeOption.js +35 -0
  26. package/dist/SearchFieldScopeOption.js.map +1 -0
  27. package/dist/SearchFieldTemplate.d.ts +2 -0
  28. package/dist/SearchFieldTemplate.js +20 -0
  29. package/dist/SearchFieldTemplate.js.map +1 -0
  30. package/dist/SideNavigationItem.js +1 -1
  31. package/dist/SideNavigationItem.js.map +1 -1
  32. package/dist/UserSettingsDialog.d.ts +118 -0
  33. package/dist/UserSettingsDialog.js +260 -0
  34. package/dist/UserSettingsDialog.js.map +1 -0
  35. package/dist/UserSettingsDialogTemplate.d.ts +2 -0
  36. package/dist/UserSettingsDialogTemplate.js +23 -0
  37. package/dist/UserSettingsDialogTemplate.js.map +1 -0
  38. package/dist/UserSettingsItem.d.ts +131 -0
  39. package/dist/UserSettingsItem.js +209 -0
  40. package/dist/UserSettingsItem.js.map +1 -0
  41. package/dist/UserSettingsItemTemplate.d.ts +4 -0
  42. package/dist/UserSettingsItemTemplate.js +20 -0
  43. package/dist/UserSettingsItemTemplate.js.map +1 -0
  44. package/dist/UserSettingsView.d.ts +43 -0
  45. package/dist/UserSettingsView.js +68 -0
  46. package/dist/UserSettingsView.js.map +1 -0
  47. package/dist/UserSettingsViewTemplate.d.ts +2 -0
  48. package/dist/UserSettingsViewTemplate.js +5 -0
  49. package/dist/UserSettingsViewTemplate.js.map +1 -0
  50. package/dist/bundle.esm.js +5 -0
  51. package/dist/bundle.esm.js.map +1 -1
  52. package/dist/css/themes/DynamicPage.css +1 -1
  53. package/dist/css/themes/DynamicPageHeader.css +1 -1
  54. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  55. package/dist/css/themes/DynamicPageTitle.css +1 -1
  56. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  57. package/dist/css/themes/IllustratedMessage.css +1 -1
  58. package/dist/css/themes/MediaGallery.css +1 -1
  59. package/dist/css/themes/MediaGalleryItem.css +1 -1
  60. package/dist/css/themes/NavigationMenu.css +1 -1
  61. package/dist/css/themes/NavigationMenuItem.css +1 -1
  62. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  63. package/dist/css/themes/NotificationListItem.css +1 -1
  64. package/dist/css/themes/NotificationListItemBase.css +1 -1
  65. package/dist/css/themes/NotificationStateIcon.css +1 -1
  66. package/dist/css/themes/Page.css +1 -1
  67. package/dist/css/themes/ProductSwitchItem.css +1 -1
  68. package/dist/css/themes/SearchField.css +1 -0
  69. package/dist/css/themes/ShellBar.css +1 -1
  70. package/dist/css/themes/ShellBarPopover.css +1 -1
  71. package/dist/css/themes/SideNavigation.css +1 -1
  72. package/dist/css/themes/SideNavigationGroup.css +1 -1
  73. package/dist/css/themes/SideNavigationItem.css +1 -1
  74. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  75. package/dist/css/themes/SideNavigationPopover.css +1 -1
  76. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  77. package/dist/css/themes/Timeline.css +1 -1
  78. package/dist/css/themes/TimelineGroupItem.css +1 -1
  79. package/dist/css/themes/TimelineItem.css +1 -1
  80. package/dist/css/themes/UploadCollection.css +1 -1
  81. package/dist/css/themes/UploadCollectionItem.css +1 -1
  82. package/dist/css/themes/UserSettingsDialog.css +1 -0
  83. package/dist/css/themes/UserSettingsItem.css +1 -0
  84. package/dist/css/themes/UserSettingsView.css +1 -0
  85. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  86. package/dist/css/themes/Wizard.css +1 -1
  87. package/dist/css/themes/WizardTab.css +1 -1
  88. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  89. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  90. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  91. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  92. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  93. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  94. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  100. package/dist/custom-elements-internal.json +730 -0
  101. package/dist/custom-elements.json +573 -0
  102. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  103. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  104. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  105. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  106. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  107. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  108. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  109. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  110. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  111. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  112. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  113. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  114. package/dist/generated/i18n/i18n-defaults.d.ts +10 -1
  115. package/dist/generated/i18n/i18n-defaults.js +10 -1
  116. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  117. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  118. package/dist/generated/themes/DynamicPage.css.js +1 -1
  119. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  120. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  121. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  122. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  123. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  124. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  125. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  126. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  127. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  128. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  129. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  130. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  131. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  132. package/dist/generated/themes/IllustratedMessage.css.d.ts +1 -1
  133. package/dist/generated/themes/IllustratedMessage.css.js +1 -1
  134. package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
  135. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  136. package/dist/generated/themes/MediaGallery.css.js +1 -1
  137. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  138. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  139. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  140. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  141. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  142. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  143. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  144. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  145. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  146. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  147. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  148. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  149. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  150. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  151. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  152. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  153. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  154. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  155. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  156. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  157. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  158. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  159. package/dist/generated/themes/Page.css.d.ts +1 -1
  160. package/dist/generated/themes/Page.css.js +1 -1
  161. package/dist/generated/themes/Page.css.js.map +1 -1
  162. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  163. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  164. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  165. package/dist/generated/themes/SearchField.css.d.ts +2 -0
  166. package/dist/generated/themes/SearchField.css.js +8 -0
  167. package/dist/generated/themes/SearchField.css.js.map +1 -0
  168. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  169. package/dist/generated/themes/ShellBar.css.js +1 -1
  170. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  171. package/dist/generated/themes/ShellBarPopover.css.d.ts +1 -1
  172. package/dist/generated/themes/ShellBarPopover.css.js +1 -1
  173. package/dist/generated/themes/ShellBarPopover.css.js.map +1 -1
  174. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  175. package/dist/generated/themes/SideNavigation.css.js +1 -1
  176. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  177. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  178. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  179. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  180. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  181. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  182. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  183. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  184. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  185. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  186. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  187. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  188. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  189. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  190. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  191. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  192. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  193. package/dist/generated/themes/Timeline.css.js +1 -1
  194. package/dist/generated/themes/Timeline.css.js.map +1 -1
  195. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  196. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  197. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  198. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  199. package/dist/generated/themes/TimelineItem.css.js +1 -1
  200. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  201. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  202. package/dist/generated/themes/UploadCollection.css.js +1 -1
  203. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  204. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  205. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  206. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  207. package/dist/generated/themes/UserSettingsDialog.css.d.ts +2 -0
  208. package/dist/generated/themes/UserSettingsDialog.css.js +8 -0
  209. package/dist/generated/themes/UserSettingsDialog.css.js.map +1 -0
  210. package/dist/generated/themes/UserSettingsItem.css.d.ts +2 -0
  211. package/dist/generated/themes/UserSettingsItem.css.js +8 -0
  212. package/dist/generated/themes/UserSettingsItem.css.js.map +1 -0
  213. package/dist/generated/themes/UserSettingsView.css.d.ts +2 -0
  214. package/dist/generated/themes/UserSettingsView.css.js +8 -0
  215. package/dist/generated/themes/UserSettingsView.css.js.map +1 -0
  216. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  217. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  218. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  219. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  220. package/dist/generated/themes/Wizard.css.js +1 -1
  221. package/dist/generated/themes/Wizard.css.js.map +1 -1
  222. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  223. package/dist/generated/themes/WizardTab.css.js +1 -1
  224. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  225. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  226. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  227. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  228. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  229. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  230. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  231. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  232. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  233. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  234. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  235. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  236. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  237. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  238. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  239. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  240. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  241. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  242. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  243. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  244. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  245. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  246. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  247. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  248. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  249. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  250. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  251. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  252. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  253. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  254. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  255. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  256. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  257. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  258. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  259. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  260. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  261. package/dist/types/SearchMode.d.ts +17 -0
  262. package/dist/types/SearchMode.js +19 -0
  263. package/dist/types/SearchMode.js.map +1 -0
  264. package/dist/vscode.html-custom-data.json +104 -0
  265. package/dist/web-types.json +283 -1
  266. package/package.json +7 -7
  267. package/src/NotificationListGroupItemTemplate.tsx +37 -43
  268. package/src/SearchFieldTemplate.tsx +83 -0
  269. package/src/UserSettingsDialogTemplate.tsx +68 -0
  270. package/src/UserSettingsItemTemplate.tsx +52 -0
  271. package/src/UserSettingsViewTemplate.tsx +11 -0
  272. package/src/i18n/messagebundle.properties +27 -1
  273. package/src/themes/IllustratedMessage.css +5 -2
  274. package/src/themes/NavigationMenuItem.css +0 -1
  275. package/src/themes/NotificationListGroupItem.css +5 -0
  276. package/src/themes/SearchField.css +234 -0
  277. package/src/themes/ShellBar.css +7 -2
  278. package/src/themes/SideNavigationItemBase.css +71 -10
  279. package/src/themes/UserSettingsDialog.css +106 -0
  280. package/src/themes/UserSettingsItem.css +78 -0
  281. package/src/themes/UserSettingsView.css +13 -0
  282. package/src/themes/base/SearchField-parameters.css +23 -0
  283. package/src/themes/base/SideNavigation-parameters.css +7 -1
  284. package/src/themes/sap_fiori_3/SearchField-parameters.css +25 -0
  285. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  286. package/src/themes/sap_fiori_3_dark/SearchField-parameters.css +25 -0
  287. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  288. package/src/themes/sap_fiori_3_hcb/SearchField-parameters.css +25 -0
  289. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  290. package/src/themes/sap_fiori_3_hcw/SearchField-parameters.css +25 -0
  291. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  292. package/src/themes/sap_horizon/SideNavigation-parameters.css +7 -3
  293. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  294. package/src/themes/sap_horizon_dark/SideNavigation-parameters.css +7 -3
  295. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  296. package/src/themes/sap_horizon_hcb/SearchField-parameters.css +25 -0
  297. package/src/themes/sap_horizon_hcb/SideNavigation-parameters.css +9 -3
  298. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  299. package/src/themes/sap_horizon_hcw/SearchField-parameters.css +25 -0
  300. package/src/themes/sap_horizon_hcw/SideNavigation-parameters.css +9 -3
  301. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
@@ -84,7 +84,7 @@ declare class NotificationListGroupItem extends NotificationListItemBase {
84
84
  */
85
85
  _onHeaderToggleClick(): void;
86
86
  _onLoadMore(): void;
87
- get loadMoreButton(): HTMLElement;
87
+ getGrowingButton(): HTMLElement;
88
88
  _onkeydown(e: KeyboardEvent): Promise<void>;
89
89
  getHeaderDomRef(): HTMLElement;
90
90
  }
@@ -141,15 +141,18 @@ let NotificationListGroupItem = NotificationListGroupItem_1 = class Notification
141
141
  _onLoadMore() {
142
142
  this.fireDecoratorEvent("load-more");
143
143
  }
144
- get loadMoreButton() {
144
+ getGrowingButton() {
145
145
  const innerList = this.getDomRef()?.querySelector("[ui5-notification-group-list]");
146
- return innerList.getDomRef()?.querySelector(".ui5-growing-button-inner");
146
+ return innerList.getGrowingButton();
147
147
  }
148
148
  async _onkeydown(e) {
149
149
  const isFocused = this.matches(":focus");
150
150
  if (!isFocused) {
151
151
  return;
152
152
  }
153
+ if (this.getGrowingButton()?.matches(":focus")) {
154
+ return;
155
+ }
153
156
  await super._onkeydown(e);
154
157
  const space = isSpace(e);
155
158
  const plus = isPlus(e);
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationListGroupItem.js","sourceRoot":"","sources":["../src/NotificationListGroupItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisSpace, isPlus, isMinus, isLeft, isRight,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type NotificationListGrowingMode from \"@ui5/webcomponents/dist/types/NotificationListGrowingMode.js\";\nimport type NotificationListGroupList from \"./NotificationListGroupList.js\";\nimport NotificationListItemBase from \"./NotificationListItemBase.js\";\nimport type NotificationListItem from \"./NotificationListItem.js\";\n\n// Icons\nimport iconNavigationRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport iconNavigationDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\n\n// Texts\nimport {\n\tNOTIFICATION_LIST_GROUP_ITEM_TXT,\n\tNOTIFICATION_LIST_GROUP_COLLAPSED,\n\tNOTIFICATION_LIST_GROUP_EXPANDED,\n\tNOTIFICATION_LIST_GROUP_ITEM_TOGGLE_ICON_COLLAPSE_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport NotificationListGroupItemTemplate from \"./NotificationListGroupItemTemplate.js\";\n\n// Styles\nimport NotificationListGroupItemCss from \"./generated/themes/NotificationListGroupItem.css.js\";\n\ntype NotificationListGroupItemToggleEventDetail = {\n\titem: NotificationListGroupItem,\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-li-notification-group` is a special type of list item,\n * that unlike others can group items within self, usually `ui5-li-notification` items.\n *\n * The component consists of:\n *\n * - `Toggle` button to expand and collapse the group\n * - `TitleText` to entitle the group\n * - Items of the group\n *\n * ### Usage\n * The component should be used inside a `ui5-notification-list`.\n *\n * ### Keyboard Handling\n * The `ui5-li-notification-group` provides advanced keyboard handling.\n * This component provides fast navigation when the header is focused using the following keyboard shortcuts:\n *\n * - [Space] - toggles expand / collapse of the group\n * - [Plus] - expands the group\n * - [Minus] - collapses the group\n * - [Right] - expands the group\n * - [Left] - collapses the group\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/NotificationListGroupItem.js\";`\n * @constructor\n * @extends NotificationListItemBase\n * @since 1.0.0-rc.8\n * @public\n */\n@customElement({\n\ttag: \"ui5-li-notification-group\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\tstyles: [\n\t\tNotificationListGroupItemCss,\n\t],\n\ttemplate: NotificationListGroupItemTemplate,\n})\n\n/**\n * Fired when the `ui5-li-notification-group` is expanded/collapsed by user interaction.\n * @public\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when additional items are requested.\n *\n * @public\n * @since 2.2.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\nclass NotificationListGroupItem extends NotificationListItemBase {\n\teventDetails!: NotificationListItemBase[\"eventDetails\"] & {\n\t\ttoggle: NotificationListGroupItemToggleEventDetail;\n\t\t\"load-more\": void;\n\t}\n\t/**\n\t * Defines if the group is collapsed or expanded.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines whether the component will have growing capability by pressing a `More` button.\n\t * When button is pressed `load-more` event will be fired.\n\t * @default \"None\"\n\t * @public\n\t * @since 2.2.0\n\t */\n\t@property()\n\tgrowing: `${NotificationListGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines the items of the `ui5-li-notification-group`,\n\t * usually `ui5-li-notification` items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<NotificationListItem>\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.items.forEach(item => {\n\t\t\titem._ariaLevel = 2;\n\t\t});\n\n\t\tif (this.loading) {\n\t\t\tthis.clearChildBusyIndicator();\n\t\t}\n\t\tthis.actionable = false;\n\t}\n\n\t/**\n\t * Clears child items loading state to show a single loading over the entire group,\n\t * instead of multiple BusyIndicator instances\n\t */\n\tclearChildBusyIndicator() {\n\t\tthis.items.forEach(item => {\n\t\t\titem.loading = false;\n\t\t});\n\t}\n\n\tget toggleIconAccessibleName() {\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_ICON_COLLAPSE_TITLE);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn `${this.groupText} ${this.expandText}`;\n\t}\n\n\tget expandText() {\n\t\tif (this.collapsed) {\n\t\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_COLLAPSED);\n\t\t}\n\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_EXPANDED);\n\t}\n\n\tget groupText() {\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_ITEM_TXT);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst id = this._id;\n\n\t\tif (this.loading) {\n\t\t\treturn `${id}-loading`;\n\t\t}\n\n\t\tconst ids = [];\n\n\t\tif (this.hasTitleText) {\n\t\t\tids.push(`${id}-title-text`);\n\t\t}\n\n\t\treturn ids.join(\" \");\n\t}\n\n\tget _expanded() {\n\t\treturn !this.collapsed;\n\t}\n\n\tget _pressable() {\n\t\treturn false;\n\t}\n\n\tget groupCollapsedIcon() {\n\t\treturn this.collapsed ? iconNavigationRightArrow : iconNavigationDownArrow;\n\t}\n\n\ttoggleCollapsed() {\n\t\tthis.collapsed = !this.collapsed;\n\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t}\n\n\t/**\n\t * Event handlers\n\t *\n\t */\n\t_onHeaderToggleClick() {\n\t\tthis.toggleCollapsed();\n\t}\n\n\t_onLoadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tget loadMoreButton() {\n\t\tconst innerList = this.getDomRef()?.querySelector(\"[ui5-notification-group-list]\") as NotificationListGroupList;\n\t\treturn innerList.getDomRef()?.querySelector(\".ui5-growing-button-inner\") as HTMLElement;\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst isFocused = this.matches(\":focus\");\n\t\tif (!isFocused) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait super._onkeydown(e);\n\n\t\tconst space = isSpace(e);\n\t\tconst plus = isPlus(e);\n\t\tconst minus = isMinus(e);\n\t\tconst left = isLeft(e);\n\t\tconst right = isRight(e);\n\n\t\tif (space) {\n\t\t\tthis.toggleCollapsed();\n\t\t}\n\n\t\tif (plus || right) {\n\t\t\t// expand\n\t\t\tif (this.collapsed) {\n\t\t\t\tthis.toggleCollapsed();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\n\t\tif (minus || left) {\n\t\t\t// collapse\n\t\t\tif (!this.collapsed) {\n\t\t\t\tthis.toggleCollapsed();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetHeaderDomRef() {\n\t\treturn this.getDomRef()?.querySelector(\".ui5-nli-group-header\") as HTMLElement;\n\t}\n}\n\nNotificationListGroupItem.define();\n\nexport default NotificationListGroupItem;\nexport type {\n\tNotificationListGroupItemToggleEventDetail,\n};\n"]}
1
+ {"version":3,"file":"NotificationListGroupItem.js","sourceRoot":"","sources":["../src/NotificationListGroupItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisSpace, isPlus, isMinus, isLeft, isRight,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type NotificationListGrowingMode from \"@ui5/webcomponents/dist/types/NotificationListGrowingMode.js\";\nimport type NotificationListGroupList from \"./NotificationListGroupList.js\";\nimport NotificationListItemBase from \"./NotificationListItemBase.js\";\nimport type NotificationListItem from \"./NotificationListItem.js\";\n\n// Icons\nimport iconNavigationRightArrow from \"@ui5/webcomponents-icons/dist/navigation-right-arrow.js\";\nimport iconNavigationDownArrow from \"@ui5/webcomponents-icons/dist/navigation-down-arrow.js\";\n\n// Texts\nimport {\n\tNOTIFICATION_LIST_GROUP_ITEM_TXT,\n\tNOTIFICATION_LIST_GROUP_COLLAPSED,\n\tNOTIFICATION_LIST_GROUP_EXPANDED,\n\tNOTIFICATION_LIST_GROUP_ITEM_TOGGLE_ICON_COLLAPSE_TITLE,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport NotificationListGroupItemTemplate from \"./NotificationListGroupItemTemplate.js\";\n\n// Styles\nimport NotificationListGroupItemCss from \"./generated/themes/NotificationListGroupItem.css.js\";\n\ntype NotificationListGroupItemToggleEventDetail = {\n\titem: NotificationListGroupItem,\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-li-notification-group` is a special type of list item,\n * that unlike others can group items within self, usually `ui5-li-notification` items.\n *\n * The component consists of:\n *\n * - `Toggle` button to expand and collapse the group\n * - `TitleText` to entitle the group\n * - Items of the group\n *\n * ### Usage\n * The component should be used inside a `ui5-notification-list`.\n *\n * ### Keyboard Handling\n * The `ui5-li-notification-group` provides advanced keyboard handling.\n * This component provides fast navigation when the header is focused using the following keyboard shortcuts:\n *\n * - [Space] - toggles expand / collapse of the group\n * - [Plus] - expands the group\n * - [Minus] - collapses the group\n * - [Right] - expands the group\n * - [Left] - collapses the group\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/NotificationListGroupItem.js\";`\n * @constructor\n * @extends NotificationListItemBase\n * @since 1.0.0-rc.8\n * @public\n */\n@customElement({\n\ttag: \"ui5-li-notification-group\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\tstyles: [\n\t\tNotificationListGroupItemCss,\n\t],\n\ttemplate: NotificationListGroupItemTemplate,\n})\n\n/**\n * Fired when the `ui5-li-notification-group` is expanded/collapsed by user interaction.\n * @public\n */\n@event(\"toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when additional items are requested.\n *\n * @public\n * @since 2.2.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\nclass NotificationListGroupItem extends NotificationListItemBase {\n\teventDetails!: NotificationListItemBase[\"eventDetails\"] & {\n\t\ttoggle: NotificationListGroupItemToggleEventDetail;\n\t\t\"load-more\": void;\n\t}\n\t/**\n\t * Defines if the group is collapsed or expanded.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines whether the component will have growing capability by pressing a `More` button.\n\t * When button is pressed `load-more` event will be fired.\n\t * @default \"None\"\n\t * @public\n\t * @since 2.2.0\n\t */\n\t@property()\n\tgrowing: `${NotificationListGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines the items of the `ui5-li-notification-group`,\n\t * usually `ui5-li-notification` items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\titems!: Array<NotificationListItem>\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.items.forEach(item => {\n\t\t\titem._ariaLevel = 2;\n\t\t});\n\n\t\tif (this.loading) {\n\t\t\tthis.clearChildBusyIndicator();\n\t\t}\n\t\tthis.actionable = false;\n\t}\n\n\t/**\n\t * Clears child items loading state to show a single loading over the entire group,\n\t * instead of multiple BusyIndicator instances\n\t */\n\tclearChildBusyIndicator() {\n\t\tthis.items.forEach(item => {\n\t\t\titem.loading = false;\n\t\t});\n\t}\n\n\tget toggleIconAccessibleName() {\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_ITEM_TOGGLE_ICON_COLLAPSE_TITLE);\n\t}\n\n\tget accInvisibleText() {\n\t\treturn `${this.groupText} ${this.expandText}`;\n\t}\n\n\tget expandText() {\n\t\tif (this.collapsed) {\n\t\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_COLLAPSED);\n\t\t}\n\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_EXPANDED);\n\t}\n\n\tget groupText() {\n\t\treturn NotificationListGroupItem.i18nFioriBundle.getText(NOTIFICATION_LIST_GROUP_ITEM_TXT);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst id = this._id;\n\n\t\tif (this.loading) {\n\t\t\treturn `${id}-loading`;\n\t\t}\n\n\t\tconst ids = [];\n\n\t\tif (this.hasTitleText) {\n\t\t\tids.push(`${id}-title-text`);\n\t\t}\n\n\t\treturn ids.join(\" \");\n\t}\n\n\tget _expanded() {\n\t\treturn !this.collapsed;\n\t}\n\n\tget _pressable() {\n\t\treturn false;\n\t}\n\n\tget groupCollapsedIcon() {\n\t\treturn this.collapsed ? iconNavigationRightArrow : iconNavigationDownArrow;\n\t}\n\n\ttoggleCollapsed() {\n\t\tthis.collapsed = !this.collapsed;\n\t\tthis.fireDecoratorEvent(\"toggle\", { item: this });\n\t}\n\n\t/**\n\t * Event handlers\n\t *\n\t */\n\t_onHeaderToggleClick() {\n\t\tthis.toggleCollapsed();\n\t}\n\n\t_onLoadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tgetGrowingButton() {\n\t\tconst innerList = this.getDomRef()?.querySelector(\"[ui5-notification-group-list]\") as NotificationListGroupList;\n\t\treturn innerList.getGrowingButton();\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst isFocused = this.matches(\":focus\");\n\t\tif (!isFocused) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.getGrowingButton()?.matches(\":focus\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait super._onkeydown(e);\n\n\t\tconst space = isSpace(e);\n\t\tconst plus = isPlus(e);\n\t\tconst minus = isMinus(e);\n\t\tconst left = isLeft(e);\n\t\tconst right = isRight(e);\n\n\t\tif (space) {\n\t\t\tthis.toggleCollapsed();\n\t\t}\n\n\t\tif (plus || right) {\n\t\t\t// expand\n\t\t\tif (this.collapsed) {\n\t\t\t\tthis.toggleCollapsed();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\n\t\tif (minus || left) {\n\t\t\t// collapse\n\t\t\tif (!this.collapsed) {\n\t\t\t\tthis.toggleCollapsed();\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetHeaderDomRef() {\n\t\treturn this.getDomRef()?.querySelector(\".ui5-nli-group-header\") as HTMLElement;\n\t}\n}\n\nNotificationListGroupItem.define();\n\nexport default NotificationListGroupItem;\nexport type {\n\tNotificationListGroupItemToggleEventDetail,\n};\n"]}
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
- import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
3
2
  import Icon from "@ui5/webcomponents/dist/Icon.js";
4
3
  import NotificationListGroupList from "./NotificationListGroupList.js";
5
4
  export default function NotificationListItemTemplate() {
6
- return (_jsxs("li", { class: "ui5-nli-group-root ui5-nli-focusable", onFocusIn: this._onfocusin, onKeyDown: this._onkeydown, tabindex: this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined, "aria-labelledby": this.ariaLabelledBy, "aria-description": this.accInvisibleText, "aria-level": 1, children: [this.loading && (_jsx("span", { id: `${this._id}-loading`, class: "ui5-hidden-text", children: this.loadingText })), _jsx(BusyIndicator, { delay: this.loadingDelay, active: this.loading, inert: this.loading, class: "ui5-nli-loading", children: _jsxs("div", { class: "ui5-nli-group-content-wrapper", children: [_jsxs("div", { class: {
7
- "ui5-nli-group-header": true,
8
- "ui5-nli-group-header-expanded": this._expanded,
9
- }, onClick: this._onHeaderToggleClick, onKeyDown: this._onkeydown, role: "button", "aria-expanded": this._expanded, "aria-controls": `${this._id}-notificationsList`, title: this.toggleIconAccessibleName, children: [_jsx(Icon, { name: this.groupCollapsedIcon, class: "ui5-nli-group-toggle-icon", mode: "Decorative" }), _jsx("div", { id: `${this._id}-title-text`, class: "ui5-nli-group-title-text", part: "title-text", role: "heading", "aria-level": 2, children: this.titleText }), _jsx("div", { class: "ui5-nli-group-divider" })] }), _jsx(NotificationListGroupList, { id: `${this._id}-notificationsList`, class: "ui5-nli-group-items", accessibleNameRef: `${this._id}-title-text`, growing: this.growing, onLoadMore: this._onLoadMore, children: _jsx("slot", {}) })] }) })] }));
5
+ return (_jsxs("li", { class: "ui5-nli-group-root ui5-nli-focusable", onFocusIn: this._onfocusin, onKeyDown: this._onkeydown, tabindex: this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined, "aria-labelledby": this.ariaLabelledBy, "aria-description": this.accInvisibleText, "aria-level": 1, children: [this.loading && (_jsx("span", { id: `${this._id}-loading`, class: "ui5-hidden-text", children: this.loadingText })), _jsxs("div", { class: "ui5-nli-group-content-wrapper", children: [_jsxs("div", { class: {
6
+ "ui5-nli-group-header": true,
7
+ "ui5-nli-group-header-expanded": this._expanded,
8
+ }, onClick: this._onHeaderToggleClick, onKeyDown: this._onkeydown, role: "button", "aria-expanded": this._expanded, "aria-controls": `${this._id}-notificationsList`, title: this.toggleIconAccessibleName, children: [_jsx(Icon, { name: this.groupCollapsedIcon, class: "ui5-nli-group-toggle-icon", mode: "Decorative" }), _jsx("div", { id: `${this._id}-title-text`, class: "ui5-nli-group-title-text", part: "title-text", role: "heading", "aria-level": 2, children: this.titleText }), _jsx("div", { class: "ui5-nli-group-divider" })] }), _jsx(NotificationListGroupList, { id: `${this._id}-notificationsList`, class: "ui5-nli-group-items", accessibleNameRef: `${this._id}-title-text`, growing: this.growing, loading: this.loading, loadingDelay: this.loadingDelay, onLoadMore: this._onLoadMore, children: _jsx("slot", {}) })] })] }));
10
9
  }
11
10
  //# sourceMappingURL=NotificationListGroupItemTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationListGroupItemTemplate.js","sourceRoot":"","sources":["../src/NotificationListGroupItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,MAAM,0CAA0C,CAAC;AAErE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,4BAA4B;IACnD,OAAO,CACN,cACC,KAAK,EAAC,sCAAsC,EAC5C,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,qBACxD,IAAI,CAAC,cAAc,sBAClB,IAAI,CAAC,gBAAgB,gBAC3B,CAAC,aAEZ,IAAI,CAAC,OAAO,IAAI,CAChB,eACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EACzB,KAAK,EAAC,iBAAiB,YAEtB,IAAI,CAAC,WAAW,GACX,CACP,EACD,KAAC,aAAa,IACb,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,KAAK,EAAC,iBAAiB,YAEvB,eAAK,KAAK,EAAC,+BAA+B,aACzC,eACC,KAAK,EAAE;gCACN,sBAAsB,EAAE,IAAI;gCAC5B,+BAA+B,EAAE,IAAI,CAAC,SAAS;6BAC/C,EACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,SAAS,mBACd,GAAG,IAAI,CAAC,GAAG,oBAAoB,EAC9C,KAAK,EAAE,IAAI,CAAC,wBAAwB,aACpC,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAC7B,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,YAAY,GAChB,EACF,cACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC5B,KAAK,EAAC,0BAA0B,EAChC,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,SAAS,gBACF,CAAC,YAEZ,IAAI,CAAC,SAAS,GACV,EACN,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACpC,EACN,KAAC,yBAAyB,IACzB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,oBAAoB,EACnC,KAAK,EAAC,qBAAqB,EAC3B,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,WAAW,YAE5B,gBAAa,GACc,IACvB,GACS,IACZ,CACL,CAAC;AACH,CAAC","sourcesContent":["import BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport type NotificationListGroupItem from \"./NotificationListGroupItem.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport NotificationListGroupList from \"./NotificationListGroupList.js\";\n\nexport default function NotificationListItemTemplate(this: NotificationListGroupItem) {\n\treturn (\n\t\t<li\n\t\t\tclass=\"ui5-nli-group-root ui5-nli-focusable\"\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\ttabindex={this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined}\n\t\t\taria-labelledby={this.ariaLabelledBy}\n\t\t\taria-description={this.accInvisibleText}\n\t\t\taria-level={1}\n\t\t>\n\t\t\t{this.loading && (\n\t\t\t\t<span\n\t\t\t\t\tid={`${this._id}-loading`}\n\t\t\t\t\tclass=\"ui5-hidden-text\"\n\t\t\t\t>\n\t\t\t\t\t{this.loadingText}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<BusyIndicator\n\t\t\t\tdelay={this.loadingDelay}\n\t\t\t\tactive={this.loading}\n\t\t\t\tinert={this.loading}\n\t\t\t\tclass=\"ui5-nli-loading\"\n\t\t\t>\n\t\t\t\t<div class=\"ui5-nli-group-content-wrapper\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"ui5-nli-group-header\": true,\n\t\t\t\t\t\t\t\"ui5-nli-group-header-expanded\": this._expanded,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={this._onHeaderToggleClick}\n\t\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-expanded={this._expanded}\n\t\t\t\t\t\taria-controls={`${this._id}-notificationsList`}\n\t\t\t\t\t\ttitle={this.toggleIconAccessibleName}>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname={this.groupCollapsedIcon}\n\t\t\t\t\t\t\tclass=\"ui5-nli-group-toggle-icon\"\n\t\t\t\t\t\t\tmode=\"Decorative\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={`${this._id}-title-text`}\n\t\t\t\t\t\t\tclass=\"ui5-nli-group-title-text\"\n\t\t\t\t\t\t\tpart=\"title-text\"\n\t\t\t\t\t\t\trole=\"heading\"\n\t\t\t\t\t\t\taria-level={2}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.titleText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ui5-nli-group-divider\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<NotificationListGroupList\n\t\t\t\t\t\tid={`${this._id}-notificationsList`}\n\t\t\t\t\t\tclass=\"ui5-nli-group-items\"\n\t\t\t\t\t\taccessibleNameRef={`${this._id}-title-text`}\n\t\t\t\t\t\tgrowing={this.growing}\n\t\t\t\t\t\tonLoadMore={this._onLoadMore}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</NotificationListGroupList>\n\t\t\t\t</div>\n\t\t\t</BusyIndicator>\n\t\t</li>\n\t);\n}\n"]}
1
+ {"version":3,"file":"NotificationListGroupItemTemplate.js","sourceRoot":"","sources":["../src/NotificationListGroupItemTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,4BAA4B;IACnD,OAAO,CACN,cACC,KAAK,EAAC,sCAAsC,EAC5C,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,qBACxD,IAAI,CAAC,cAAc,sBAClB,IAAI,CAAC,gBAAgB,gBAC3B,CAAC,aAEZ,IAAI,CAAC,OAAO,IAAI,CAChB,eACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EACzB,KAAK,EAAC,iBAAiB,YAEtB,IAAI,CAAC,WAAW,GACX,CACP,EACD,eAAK,KAAK,EAAC,+BAA+B,aACzC,eACC,KAAK,EAAE;4BACN,sBAAsB,EAAE,IAAI;4BAC5B,+BAA+B,EAAE,IAAI,CAAC,SAAS;yBAC/C,EACD,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,SAAS,mBACd,GAAG,IAAI,CAAC,GAAG,oBAAoB,EAC9C,KAAK,EAAE,IAAI,CAAC,wBAAwB,aACpC,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAC7B,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,YAAY,GAChB,EACF,cACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC5B,KAAK,EAAC,0BAA0B,EAChC,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,SAAS,gBACF,CAAC,YAEZ,IAAI,CAAC,SAAS,GACV,EACN,cAAK,KAAK,EAAC,uBAAuB,GAAO,IACpC,EACN,KAAC,yBAAyB,IACzB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,oBAAoB,EACnC,KAAK,EAAC,qBAAqB,EAC3B,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,EAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,WAAW,YAE5B,gBAAa,GACc,IACvB,IACF,CACL,CAAC;AACH,CAAC","sourcesContent":["import type NotificationListGroupItem from \"./NotificationListGroupItem.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport NotificationListGroupList from \"./NotificationListGroupList.js\";\n\nexport default function NotificationListItemTemplate(this: NotificationListGroupItem) {\n\treturn (\n\t\t<li\n\t\t\tclass=\"ui5-nli-group-root ui5-nli-focusable\"\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\ttabindex={this.forcedTabIndex ? parseInt(this.forcedTabIndex) : undefined}\n\t\t\taria-labelledby={this.ariaLabelledBy}\n\t\t\taria-description={this.accInvisibleText}\n\t\t\taria-level={1}\n\t\t>\n\t\t\t{this.loading && (\n\t\t\t\t<span\n\t\t\t\t\tid={`${this._id}-loading`}\n\t\t\t\t\tclass=\"ui5-hidden-text\"\n\t\t\t\t>\n\t\t\t\t\t{this.loadingText}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<div class=\"ui5-nli-group-content-wrapper\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"ui5-nli-group-header\": true,\n\t\t\t\t\t\t\"ui5-nli-group-header-expanded\": this._expanded,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={this._onHeaderToggleClick}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\taria-expanded={this._expanded}\n\t\t\t\t\taria-controls={`${this._id}-notificationsList`}\n\t\t\t\t\ttitle={this.toggleIconAccessibleName}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname={this.groupCollapsedIcon}\n\t\t\t\t\t\tclass=\"ui5-nli-group-toggle-icon\"\n\t\t\t\t\t\tmode=\"Decorative\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={`${this._id}-title-text`}\n\t\t\t\t\t\tclass=\"ui5-nli-group-title-text\"\n\t\t\t\t\t\tpart=\"title-text\"\n\t\t\t\t\t\trole=\"heading\"\n\t\t\t\t\t\taria-level={2}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.titleText}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui5-nli-group-divider\"></div>\n\t\t\t\t</div>\n\t\t\t\t<NotificationListGroupList\n\t\t\t\t\tid={`${this._id}-notificationsList`}\n\t\t\t\t\tclass=\"ui5-nli-group-items\"\n\t\t\t\t\taccessibleNameRef={`${this._id}-title-text`}\n\t\t\t\t\tgrowing={this.growing}\n\t\t\t\t\tloading={this.loading}\n\t\t\t\t\tloadingDelay={this.loadingDelay}\n\t\t\t\t\tonLoadMore={this._onLoadMore}\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</NotificationListGroupList>\n\t\t\t</div>\n\t\t</li>\n\t);\n}\n"]}
@@ -16,6 +16,8 @@ declare class NotificationListGroupList extends List {
16
16
  onItemTabIndexChange(): void;
17
17
  onItemFocused(): void;
18
18
  _onfocusin(e: FocusEvent): void;
19
+ _onkeydown(): void;
19
20
  focusItem(item: ListItemBase): void;
21
+ _onLoadMoreKeydown(e: KeyboardEvent): void;
20
22
  }
21
23
  export default NotificationListGroupList;
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import List from "@ui5/webcomponents/dist/List.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import { isSpace } from "@ui5/webcomponents-base/Keys.js";
9
10
  /**
10
11
  * @class
11
12
  *
@@ -31,9 +32,17 @@ let NotificationListGroupList = class NotificationListGroupList extends List {
31
32
  _onfocusin(e) {
32
33
  e.stopImmediatePropagation();
33
34
  }
35
+ _onkeydown() {
36
+ }
34
37
  focusItem(item) {
35
38
  item.focus();
36
39
  }
40
+ _onLoadMoreKeydown(e) {
41
+ if (isSpace(e)) {
42
+ e.stopImmediatePropagation();
43
+ }
44
+ super._onLoadMoreKeydown(e);
45
+ }
37
46
  };
38
47
  NotificationListGroupList = __decorate([
39
48
  customElement("ui5-notification-group-list")
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationListGroupList.js","sourceRoot":"","sources":["../src/NotificationListGroupList.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAGrF;;;;;;;GAOG;AAEH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,IAAI;IAC3C,eAAe;QACd,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc;IACd,CAAC;IAED,eAAe;IACf,CAAC;IAED,cAAc;IACd,CAAC;IAED,oBAAoB;IACpB,CAAC;IAED,aAAa;IACb,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,CAAC,CAAC,wBAAwB,EAAE,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,IAAkB;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;CACD,CAAA;AA3BK,yBAAyB;IAD9B,aAAa,CAAC,6BAA6B,CAAC;GACvC,yBAAyB,CA2B9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import List from \"@ui5/webcomponents/dist/List.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\n\n/**\n * @class\n *\n * Internal `ui5-li-notification-group-list` component,\n * that is used to support keyboard navigation of the notification group internal list.\n *\n * @private\n */\n@customElement(\"ui5-notification-group-list\")\nclass NotificationListGroupList extends List {\n\tgetEnabledItems() {\n\t\treturn [];\n\t}\n\n\t_handleTabNext() {\n\t}\n\n\tonForwardBefore() {\n\t}\n\n\tonForwardAfter() {\n\t}\n\n\tonItemTabIndexChange() {\n\t}\n\n\tonItemFocused() {\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\te.stopImmediatePropagation();\n\t}\n\n\tfocusItem(item: ListItemBase) {\n\t\titem.focus();\n\t}\n}\n\nNotificationListGroupList.define();\n\nexport default NotificationListGroupList;\n"]}
1
+ {"version":3,"file":"NotificationListGroupList.js","sourceRoot":"","sources":["../src/NotificationListGroupList.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE1D;;;;;;;GAOG;AAEH,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,IAAI;IAC3C,eAAe;QACd,OAAO,EAAE,CAAC;IACX,CAAC;IAED,cAAc;IACd,CAAC;IAED,eAAe;IACf,CAAC;IAED,cAAc;IACd,CAAC;IAED,oBAAoB;IACpB,CAAC;IAED,aAAa;IACb,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,CAAC,CAAC,wBAAwB,EAAE,CAAC;IAC9B,CAAC;IAED,UAAU;IAEV,CAAC;IAED,SAAS,CAAC,IAAkB;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,kBAAkB,CAAC,CAAgB;QAClC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;CACD,CAAA;AAvCK,yBAAyB;IAD9B,aAAa,CAAC,6BAA6B,CAAC;GACvC,yBAAyB,CAuC9B;AAED,yBAAyB,CAAC,MAAM,EAAE,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["import List from \"@ui5/webcomponents/dist/List.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport { isSpace } from \"@ui5/webcomponents-base/Keys.js\";\n\n/**\n * @class\n *\n * Internal `ui5-li-notification-group-list` component,\n * that is used to support keyboard navigation of the notification group internal list.\n *\n * @private\n */\n@customElement(\"ui5-notification-group-list\")\nclass NotificationListGroupList extends List {\n\tgetEnabledItems() {\n\t\treturn [];\n\t}\n\n\t_handleTabNext() {\n\t}\n\n\tonForwardBefore() {\n\t}\n\n\tonForwardAfter() {\n\t}\n\n\tonItemTabIndexChange() {\n\t}\n\n\tonItemFocused() {\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\te.stopImmediatePropagation();\n\t}\n\n\t_onkeydown() {\n\n\t}\n\n\tfocusItem(item: ListItemBase) {\n\t\titem.focus();\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tsuper._onLoadMoreKeydown(e);\n\t}\n}\n\nNotificationListGroupList.define();\n\nexport default NotificationListGroupList;\n"]}
@@ -10,6 +10,12 @@ import type ListItemBase from "@ui5/webcomponents/dist/ListItemBase.js";
10
10
  */
11
11
  declare class NotificationListInternal extends List {
12
12
  constructor();
13
+ _allNavigationItems: Array<HTMLElement>;
13
14
  getEnabledItems(): Array<ListItemBase>;
15
+ _onkeydown(e: KeyboardEvent): void;
16
+ _handleHomeKey(e: KeyboardEvent): void;
17
+ _handleEndKey(e: KeyboardEvent): void;
18
+ _focusSameItemOnNextRow(e: KeyboardEvent): void;
19
+ _isGrowingButton(item: Element | null): boolean | undefined;
14
20
  }
15
21
  export default NotificationListInternal;
@@ -8,6 +8,8 @@ import List from "@ui5/webcomponents/dist/List.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
10
10
  import NotificationListGroupItem from "./NotificationListGroupItem.js";
11
+ import { isDown, isUp, isLeft, isRight, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
12
+ import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
11
13
  /**
12
14
  * @class
13
15
  *
@@ -19,21 +21,138 @@ import NotificationListGroupItem from "./NotificationListGroupItem.js";
19
21
  let NotificationListInternal = class NotificationListInternal extends List {
20
22
  constructor() {
21
23
  super();
24
+ this._allNavigationItems = [];
22
25
  this._itemNavigation._navigationMode = NavigationMode.Auto;
23
26
  }
24
27
  getEnabledItems() {
25
28
  const items = new Array();
29
+ const allNavigationItems = new Array();
26
30
  this.getItems().forEach(item => {
27
31
  items.push(item);
32
+ allNavigationItems.push(item);
28
33
  if (item instanceof NotificationListGroupItem && !item.collapsed && !item.loading) {
29
34
  item.items.forEach(subItem => {
30
35
  // @ts-expect-error strictEvents
31
36
  items.push(subItem);
37
+ allNavigationItems.push(subItem);
32
38
  });
39
+ const growingButton = item.getGrowingButton();
40
+ if (growingButton) {
41
+ allNavigationItems.push(growingButton);
42
+ }
33
43
  }
34
44
  });
45
+ const growingButton = this.getGrowingButton();
46
+ if (growingButton) {
47
+ allNavigationItems.push(growingButton);
48
+ }
49
+ this._allNavigationItems = allNavigationItems;
35
50
  return items;
36
51
  }
52
+ _onkeydown(e) {
53
+ if (isEnd(e)) {
54
+ this._handleEndKey(e);
55
+ e.preventDefault();
56
+ return;
57
+ }
58
+ if (isHome(e)) {
59
+ this._handleHomeKey(e);
60
+ e.preventDefault();
61
+ return;
62
+ }
63
+ this._focusSameItemOnNextRow(e);
64
+ }
65
+ _handleHomeKey(e) {
66
+ e.stopImmediatePropagation();
67
+ const target = e.target;
68
+ const activeElement = getActiveElement();
69
+ if ((!this._isGrowingButton(activeElement) && target?.hasAttribute("ui5-li-notification-group"))
70
+ || target?.hasAttribute("ui5-menu-item")) {
71
+ return;
72
+ }
73
+ const currentFocusedItem = this.getEnabledItems()[this._itemNavigation._currentIndex];
74
+ if (!currentFocusedItem) {
75
+ return;
76
+ }
77
+ const currentFocusedIndex = this._allNavigationItems.indexOf(currentFocusedItem);
78
+ let nextFocusedIndex = 0;
79
+ for (let i = currentFocusedIndex - 1; i >= 0; i--) {
80
+ const item = this._allNavigationItems[i];
81
+ if (item.hasAttribute("ui5-li-notification-group")) {
82
+ nextFocusedIndex = i + 1;
83
+ break;
84
+ }
85
+ }
86
+ this._allNavigationItems[nextFocusedIndex].focus();
87
+ }
88
+ _handleEndKey(e) {
89
+ e.stopImmediatePropagation();
90
+ const target = e.target;
91
+ if (target?.hasAttribute("ui5-menu-item")) {
92
+ return;
93
+ }
94
+ const currentFocusedItem = this.getEnabledItems()[this._itemNavigation._currentIndex];
95
+ if (!currentFocusedItem) {
96
+ return;
97
+ }
98
+ const currentFocusedIndex = this._allNavigationItems.indexOf(currentFocusedItem);
99
+ let nextFocusedIndex = this._allNavigationItems.length - 1;
100
+ for (let i = currentFocusedIndex + 1; i < this._allNavigationItems.length; i++) {
101
+ const item = this._allNavigationItems[i];
102
+ if (item.hasAttribute("ui5-li-notification-group")) {
103
+ nextFocusedIndex = i - 1;
104
+ break;
105
+ }
106
+ if (this._isGrowingButton(item)) {
107
+ nextFocusedIndex = i === currentFocusedIndex + 1 ? i : i - 1;
108
+ break;
109
+ }
110
+ }
111
+ this._allNavigationItems[nextFocusedIndex].focus();
112
+ }
113
+ _focusSameItemOnNextRow(e) {
114
+ if (!isUp(e) && !isDown(e) && !isLeft(e) && !isRight(e)) {
115
+ return;
116
+ }
117
+ const target = e.target;
118
+ const shadowTarget = target.shadowRoot.activeElement;
119
+ const activeElement = getActiveElement();
120
+ const isGrowingBtn = this._isGrowingButton(activeElement);
121
+ if (!target || target.hasAttribute("ui5-menu-item")) {
122
+ return;
123
+ }
124
+ const isFocusWithin = target.matches(":focus-within");
125
+ if (!isFocusWithin) {
126
+ return;
127
+ }
128
+ e.preventDefault();
129
+ e.stopImmediatePropagation();
130
+ const currentItem = isGrowingBtn ? activeElement : this.getEnabledItems()[this._itemNavigation._currentIndex];
131
+ const index = this._allNavigationItems.indexOf(currentItem) + ((isUp(e) || isLeft(e)) ? -1 : 1);
132
+ const nextItem = this._allNavigationItems[index];
133
+ if (!nextItem) {
134
+ return;
135
+ }
136
+ if (this._isGrowingButton(nextItem) || shadowTarget.classList.contains("ui5-nli-focusable")) {
137
+ nextItem.focus();
138
+ return;
139
+ }
140
+ const nextListItem = nextItem;
141
+ if (nextListItem.loading || (isLeft(e) || isRight(e))) {
142
+ nextItem.focus();
143
+ return;
144
+ }
145
+ const sameItemOnNextRow = nextListItem.getHeaderDomRef().querySelector(`.${shadowTarget.className}`);
146
+ if (sameItemOnNextRow && sameItemOnNextRow.offsetParent) {
147
+ sameItemOnNextRow.focus();
148
+ }
149
+ else {
150
+ nextItem.focus();
151
+ }
152
+ }
153
+ _isGrowingButton(item) {
154
+ return item?.classList.contains("ui5-growing-button-inner");
155
+ }
37
156
  };
38
157
  NotificationListInternal = __decorate([
39
158
  customElement("ui5-notification-list-internal")
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationListInternal.js","sourceRoot":"","sources":["../src/NotificationListInternal.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,cAAc,MAAM,sDAAsD,CAAC;AAElF,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAEvE;;;;;;;GAOG;AAEH,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,IAAI;IAC1C;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,eAAe,CAAC,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC;IAC5D,CAAC;IAED,eAAe;QACd,MAAM,KAAK,GAAG,IAAI,KAAK,EAAgB,CAAC;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,IAAI,IAAI,YAAY,yBAAyB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC5B,gCAAgC;oBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAvBK,wBAAwB;IAD7B,aAAa,CAAC,gCAAgC,CAAC;GAC1C,wBAAwB,CAuB7B;AAED,wBAAwB,CAAC,MAAM,EAAE,CAAC;AAElC,eAAe,wBAAwB,CAAC","sourcesContent":["import List from \"@ui5/webcomponents/dist/List.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport NotificationListGroupItem from \"./NotificationListGroupItem.js\";\n\n/**\n * @class\n *\n * Internal `ui5-li-notification-list-list` component,\n * that is used to support keyboard navigation of the notification list internal list.\n *\n * @private\n */\n@customElement(\"ui5-notification-list-internal\")\nclass NotificationListInternal extends List {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation._navigationMode = NavigationMode.Auto;\n\t}\n\n\tgetEnabledItems(): Array<ListItemBase> {\n\t\tconst items = new Array<ListItemBase>();\n\n\t\tthis.getItems().forEach(item => {\n\t\t\titems.push(item);\n\n\t\t\tif (item instanceof NotificationListGroupItem && !item.collapsed && !item.loading) {\n\t\t\t\titem.items.forEach(subItem => {\n\t\t\t\t\t// @ts-expect-error strictEvents\n\t\t\t\t\titems.push(subItem);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn items;\n\t}\n}\n\nNotificationListInternal.define();\n\nexport default NotificationListInternal;\n"]}
1
+ {"version":3,"file":"NotificationListInternal.js","sourceRoot":"","sources":["../src/NotificationListInternal.ts"],"names":[],"mappings":"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","sourcesContent":["import List from \"@ui5/webcomponents/dist/List.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport NotificationListGroupItem from \"./NotificationListGroupItem.js\";\nimport {\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type NotificationListItemBase from \"./NotificationListItemBase.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\n/**\n * @class\n *\n * Internal `ui5-li-notification-list-list` component,\n * that is used to support keyboard navigation of the notification list internal list.\n *\n * @private\n */\n@customElement(\"ui5-notification-list-internal\")\nclass NotificationListInternal extends List {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation._navigationMode = NavigationMode.Auto;\n\t}\n\n\t_allNavigationItems: Array<HTMLElement> = [];\n\n\tgetEnabledItems(): Array<ListItemBase> {\n\t\tconst items = new Array<ListItemBase>();\n\t\tconst allNavigationItems = new Array<HTMLElement>();\n\n\t\tthis.getItems().forEach(item => {\n\t\t\titems.push(item);\n\t\t\tallNavigationItems.push(item);\n\n\t\t\tif (item instanceof NotificationListGroupItem && !item.collapsed && !item.loading) {\n\t\t\t\titem.items.forEach(subItem => {\n\t\t\t\t\t// @ts-expect-error strictEvents\n\t\t\t\t\titems.push(subItem);\n\t\t\t\t\tallNavigationItems.push(subItem);\n\t\t\t\t});\n\n\t\t\t\tconst growingButton = item.getGrowingButton();\n\t\t\t\tif (growingButton) {\n\t\t\t\t\tallNavigationItems.push(growingButton);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tconst growingButton = this.getGrowingButton();\n\t\tif (growingButton) {\n\t\t\tallNavigationItems.push(growingButton);\n\t\t}\n\n\t\tthis._allNavigationItems = allNavigationItems;\n\n\t\treturn items;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusSameItemOnNextRow(e);\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.stopImmediatePropagation();\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst activeElement = getActiveElement()! as HTMLElement;\n\n\t\tif ((!this._isGrowingButton(activeElement) && target?.hasAttribute(\"ui5-li-notification-group\"))\n\t\t\t|| target?.hasAttribute(\"ui5-menu-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentFocusedItem = this.getEnabledItems()[this._itemNavigation._currentIndex];\n\t\tif (!currentFocusedItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentFocusedIndex = this._allNavigationItems.indexOf(currentFocusedItem);\n\t\tlet nextFocusedIndex = 0;\n\n\t\tfor (let i = currentFocusedIndex - 1; i >= 0; i--) {\n\t\t\tconst item = this._allNavigationItems[i];\n\t\t\tif (item.hasAttribute(\"ui5-li-notification-group\")) {\n\t\t\t\tnextFocusedIndex = i + 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis._allNavigationItems[nextFocusedIndex].focus();\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.stopImmediatePropagation();\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target?.hasAttribute(\"ui5-menu-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentFocusedItem = this.getEnabledItems()[this._itemNavigation._currentIndex];\n\t\tif (!currentFocusedItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentFocusedIndex = this._allNavigationItems.indexOf(currentFocusedItem);\n\t\tlet nextFocusedIndex = this._allNavigationItems.length - 1;\n\n\t\tfor (let i = currentFocusedIndex + 1; i < this._allNavigationItems.length; i++) {\n\t\t\tconst item = this._allNavigationItems[i];\n\n\t\t\tif (item.hasAttribute(\"ui5-li-notification-group\")) {\n\t\t\t\tnextFocusedIndex = i - 1;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (this._isGrowingButton(item)) {\n\t\t\t\tnextFocusedIndex = i === currentFocusedIndex + 1 ? i : i - 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis._allNavigationItems[nextFocusedIndex].focus();\n\t}\n\n\t_focusSameItemOnNextRow(e: KeyboardEvent) {\n\t\tif (!isUp(e) && !isDown(e) && !isLeft(e) && !isRight(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst shadowTarget = target.shadowRoot!.activeElement as HTMLElement;\n\t\tconst activeElement = getActiveElement()! as HTMLElement;\n\t\tconst isGrowingBtn = this._isGrowingButton(activeElement);\n\n\t\tif (!target || target.hasAttribute(\"ui5-menu-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isFocusWithin = target.matches(\":focus-within\");\n\t\tif (!isFocusWithin) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\n\t\tconst currentItem = isGrowingBtn ? activeElement : this.getEnabledItems()[this._itemNavigation._currentIndex];\n\t\tconst index = this._allNavigationItems.indexOf(currentItem) + ((isUp(e) || isLeft(e)) ? -1 : 1);\n\t\tconst nextItem = this._allNavigationItems[index];\n\t\tif (!nextItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isGrowingButton(nextItem) || shadowTarget.classList.contains(\"ui5-nli-focusable\")) {\n\t\t\tnextItem.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextListItem = nextItem as NotificationListItemBase;\n\t\tif (nextListItem.loading || (isLeft(e) || isRight(e))) {\n\t\t\tnextItem.focus();\n\t\t\treturn;\n\t\t}\n\n\t\tconst sameItemOnNextRow = nextListItem.getHeaderDomRef()!.querySelector<HTMLElement>(`.${shadowTarget.className}`);\n\t\tif (sameItemOnNextRow && sameItemOnNextRow.offsetParent) {\n\t\t\tsameItemOnNextRow.focus();\n\t\t} else {\n\t\t\tnextItem.focus();\n\t\t}\n\t}\n\n\t_isGrowingButton(item: Element | null) {\n\t\treturn item?.classList.contains(\"ui5-growing-button-inner\");\n\t}\n}\n\nNotificationListInternal.define();\n\nexport default NotificationListInternal;\n"]}
@@ -182,7 +182,6 @@ declare class NotificationListItem extends NotificationListItemBase {
182
182
  _onclick(): void;
183
183
  _onShowMoreClick(e: UI5CustomEvent<Link, "click">): void;
184
184
  _onkeydown(e: KeyboardEvent): Promise<void>;
185
- focusSameItemOnNextRow(e: KeyboardEvent): void;
186
185
  _onkeyup(e: KeyboardEvent): void;
187
186
  _onBtnCloseClick(): void;
188
187
  _onBtnMenuClick(): void;
@@ -5,7 +5,7 @@ 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
  var NotificationListItem_1;
8
- import { isSpace, isDelete, isF10Shift, isEnterShift, isUp, isDown, } from "@ui5/webcomponents-base/dist/Keys.js";
8
+ import { isSpace, isDelete, isF10Shift, isEnterShift, } from "@ui5/webcomponents-base/dist/Keys.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import query from "@ui5/webcomponents-base/dist/decorators/query.js";
@@ -306,37 +306,6 @@ let NotificationListItem = NotificationListItem_1 = class NotificationListItem e
306
306
  if (isF10Shift(e)) {
307
307
  e.preventDefault();
308
308
  }
309
- this.focusSameItemOnNextRow(e);
310
- }
311
- focusSameItemOnNextRow(e) {
312
- const target = e.target;
313
- if (!target || target.hasAttribute("ui5-menu-item")) {
314
- return;
315
- }
316
- const isFocusWithin = this.matches(":focus-within");
317
- if (!isFocusWithin || (!isUp(e) && !isDown(e))) {
318
- return;
319
- }
320
- e.preventDefault();
321
- e.stopImmediatePropagation();
322
- const list = this.closest("[ui5-notification-list]");
323
- if (!list) {
324
- return;
325
- }
326
- const navItems = list.getEnabledItems();
327
- // @ts-expect-error TOFIX strictEvents
328
- const index = navItems.indexOf(this) + (isUp(e) ? -1 : 1);
329
- const nextItem = navItems[index];
330
- if (!nextItem) {
331
- return;
332
- }
333
- const sameItemOnNextRow = nextItem.getHeaderDomRef().querySelector(`.${target.className}`);
334
- if (sameItemOnNextRow && sameItemOnNextRow.offsetParent) {
335
- sameItemOnNextRow.focus();
336
- }
337
- else {
338
- nextItem.focus();
339
- }
340
309
  }
341
310
  _onkeyup(e) {
342
311
  super._onkeyup(e);
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationListItem.js","sourceRoot":"","sources":["../src/NotificationListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisSpace, isDelete, isF10Shift, isEnterShift, isUp, isDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ButtonAccessibilityAttributes } from \"@ui5/webcomponents/dist/Button.js\";\nimport type Link from \"@ui5/webcomponents/dist/Link.js\";\nimport WrappingType from \"@ui5/webcomponents/dist/types/WrappingType.js\";\nimport type Menu from \"@ui5/webcomponents/dist/Menu.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport NotificationListItemImportance from \"./types/NotificationListItemImportance.js\";\nimport NotificationListItemBase from \"./NotificationListItemBase.js\";\nimport type NotificationList from \"./NotificationList.js\";\n\n// Icons\nimport iconSysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport iconAlert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport iconError from \"@ui5/webcomponents-icons/dist/error.js\";\nimport iconInformation from \"@ui5/webcomponents-icons/dist/information.js\";\n\n// Texts\nimport {\n\tNOTIFICATION_LIST_ITEM_READ,\n\tNOTIFICATION_LIST_ITEM_UNREAD,\n\tNOTIFICATION_LIST_ITEM_SHOW_MORE,\n\tNOTIFICATION_LIST_ITEM_SHOW_LESS,\n\tNOTIFICATION_LIST_ITEM_INFORMATION_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_POSITIVE_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_NEGATIVE_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_CRITICAL_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_MENU_BTN_TITLE,\n\tNOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_FULL,\n\tNOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_TRUNCATE,\n\tNOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE,\n\tNOTIFICATION_LIST_ITEM_IMPORTANT_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport NotificationListItemTemplate from \"./NotificationListItemTemplate.js\";\n\n// Styles\nimport NotificationListItemCss from \"./generated/themes/NotificationListItem.css.js\";\nimport IconDesign from \"@ui5/webcomponents/dist/types/IconDesign.js\";\n\ntype NotificationListItemCloseEventDetail = {\n\titem: HTMLElement,\n};\n\ntype NotificationListItemPressEventDetail = {\n\titem: NotificationListItem,\n};\n\ntype Footnote = Record<string, any>;\n\n/**\n * Defines the icons name corresponding to the notification's status indicator.\n */\nconst ICON_PER_STATUS_NAME = {\n\t[ValueState.Negative]: iconError,\n\t[ValueState.Critical]: iconAlert,\n\t[ValueState.Positive]: iconSysEnter2,\n\t[ValueState.Information]: iconInformation,\n\t[ValueState.None]: \"\",\n};\n\n/**\n * Defines the icons design (color) corresponding to the notification's status indicator.\n */\nconst ICON_PER_STATUS_DESIGN = {\n\t[ValueState.Negative]: IconDesign.Negative,\n\t[ValueState.Critical]: IconDesign.Critical,\n\t[ValueState.Positive]: IconDesign.Positive,\n\t[ValueState.Information]: IconDesign.Information,\n\t[ValueState.None]: undefined,\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-li-notification` is a type of list item, meant to display notifications.\n *\n * The component has a rich set of various properties that allows the user to set `avatar`, `menu`, `titleText`, descriptive `content`\n * and `footnotes` to fully describe a notification.\n *\n * The user can:\n *\n * - display a `Close` button\n * - can control whether the `titleText` and `description` should wrap or truncate\n * and display a `ShowMore` button to switch between less and more information\n * - add actions by using the `ui5-menu` component\n *\n * **Note:** Adding custom actions by using the `ui5-notification-action` component is deprecated as of version 2.0!\n *\n * ### Usage\n * The component should be used inside a `ui5-notification-list`.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete):\n *\n * - [Enter] - select an item (trigger \"item-click\" event)\n * - [Delete] - close an item (trigger \"item-close\" event)\n *\n * #### Fast Navigation\n * This component provides a fast navigation using the following keyboard shortcuts:\n *\n * - [Shift] + [Enter] - 'More'/'Less' link will be triggered\n * - [Shift] + [F10] - 'Menu' (Actions) button will be triggered (clicked)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/NotificationListItem.js\";`\n *\n * @constructor\n * @extends NotificationListItemBase\n * @since 1.0.0-rc.8\n * @public\n * @csspart title-text - Used to style the titleText of the notification list item\n */\n@customElement({\n\ttag: \"ui5-li-notification\",\n\tlanguageAware: true,\n\tstyles: [\n\t\tNotificationListItemCss,\n\t],\n\trenderer: jsxRenderer,\n\ttemplate: NotificationListItemTemplate,\n})\n\n@event(\"_press\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the `Close` button is pressed.\n * @param {HTMLElement} item the closed item.\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\n\nclass NotificationListItem extends NotificationListItemBase {\n\teventDetails!: NotificationListItemBase[\"eventDetails\"] & {\n\t\t_press: NotificationListItemPressEventDetail,\n\t\tclose: NotificationListItemCloseEventDetail,\n\t}\n\t/**\n\t* Defines if the `titleText` and `description` should wrap,\n\t* they truncate by default.\n\t*\n\t* **Note:** by default the `titleText` and `description`,\n\t* and a `ShowMore/Less` button would be displayed.\n\t* @default \"None\"\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property()\n\twrappingType: `${WrappingType}` = \"None\";\n\n\t/**\n\t * Defines the status indicator of the item.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\"\n\n\t/**\n\t * Defines if the `Close` button would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowClose = false;\n\n\t/**\n\t * Defines the `Important` label of the item.\n\t * @default \"Standard\"\n\t * @public\n\t */\n\t@property()\n\timportance: `${NotificationListItemImportance}` = \"Standard\";\n\n\t/**\n\t* Defines the state of the `titleText` and `description`,\n\t* if less or more information is displayed.\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_showMorePressed = false;\n\n\t/**\n\t* Defines the visibility of the `showMore` button.\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_showMore = false;\n\n\t/**\n\t* Defines the avatar, displayed in the `ui5-li-notification`.\n\t*\n\t* **Note:** Consider using the `ui5-avatar` to display icons, initials or images.\n\t*\n\t* **Note:** In order to be complaint with the UX guidlines and for best experience,\n\t* we recommend using avatars with 2rem X 2rem in size (32px X 32px). In case you are using the `ui5-avatar`\n\t* you can set its `size` property to `XS` to get the required size - `<ui5-avatar size=\"XS\"></ui5-avatar>`.\n\t* @public\n\t*/\n\t@slot()\n\tavatar!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the menu, displayed in the `ui5-li-notification`.\n\t*\n\t* **Note:** Use this for implementing actions.\n\t*\n\t* **Note:** Should be used instead `u5-notification-action`, which is deprecated as of version 2.0.\n\t* @public\n\t*/\n\t@slot()\n\tmenu!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the elements, displayed in the footer of the of the component.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfootnotes!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content of the `ui5-li-notification`,\n\t* usually a description of the notification.\n\t*\n\t* **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t* @public\n\t*/\n\t@slot({ type: Node, \"default\": true })\n\tdescription!: Array<Node>;\n\n\t@query(\".ui5-nli-title-text\")\n\ttitleTextDOM?: HTMLElement;\n\n\t@query(\".ui5-nli-menu-btn\")\n\tmenuButtonDOM?: HTMLElement;\n\n\t@query(\".ui5-nli-description\")\n\tdescriptionDOM?: HTMLElement;\n\n\t_titleTextOverflowHeight: number;\n\t_descOverflowHeight: number;\n\t_onResizeBound: ResizeObserverCallback;\n\n\t_ariaLevel?: number;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// the titleText overflow height\n\t\tthis._titleTextOverflowHeight = 0;\n\n\t\t// the description overflow height\n\t\tthis._descOverflowHeight = 0;\n\n\t\t// the resize handler\n\t\tthis._onResizeBound = this.onResize.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tResizeHandler.register(this, this._onResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t}\n\n\tget hasState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget hasDesc() {\n\t\treturn willShowContent(this.description);\n\t}\n\n\tget hasImportance() {\n\t\treturn this.importance !== NotificationListItemImportance.Standard;\n\t}\n\n\tget hasFootNotes() {\n\t\treturn !!this.footnotes.length;\n\t}\n\n\tget showMoreText() {\n\t\tif (this._showMorePressed) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_SHOW_LESS);\n\t\t}\n\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_SHOW_MORE);\n\t}\n\n\tget menuBtnAccessibleName() {\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MENU_BTN_TITLE);\n\t}\n\n\tget moreLinkAccessibleName() {\n\t\treturn this._showMorePressed ? NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_TRUNCATE) : NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_FULL);\n\t}\n\n\tget closeBtnAccessibleName() {\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE);\n\t}\n\n\tget hideShowMore() {\n\t\tif (this.wrappingType === WrappingType.None && this._showMore) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget titleTextHeight() {\n\t\treturn (this.titleTextDOM as HTMLElement).offsetHeight;\n\t}\n\n\tget descriptionHeight() {\n\t\treturn (this.descriptionDOM as HTMLElement).offsetHeight;\n\t}\n\n\tget titleTextOverflows() {\n\t\tconst titleText = this.titleTextDOM;\n\n\t\tif (!titleText) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn titleText.offsetHeight < titleText.scrollHeight;\n\t}\n\n\tget descriptionOverflows() {\n\t\tconst description = this.descriptionDOM;\n\n\t\tif (!description) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn description.offsetHeight < description.scrollHeight;\n\t}\n\n\tget footerItems() {\n\t\treturn this.footnotes.map((el, idx, arr) => {\n\t\t\treturn {\n\t\t\t\tslotName: (el as Footnote)._individualSlot,\n\t\t\t\tshowDivider: idx !== arr.length - 1,\n\t\t\t};\n\t\t});\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst id = this._id;\n\n\t\tif (this.loading) {\n\t\t\treturn `${id}-loading`;\n\t\t}\n\n\t\tconst ids = [];\n\n\t\tif (this.hasImportance) {\n\t\t\tids.push(`${id}-importance`);\n\t\t}\n\n\t\tif (this.hasTitleText) {\n\t\t\tids.push(`${id}-title-text`);\n\t\t}\n\n\t\tids.push(`${id}-read`);\n\n\t\tif (this.hasDesc) {\n\t\t\tids.push(`${id}-description`);\n\t\t}\n\n\t\tif (this.hasFootNotes) {\n\t\t\tids.push(`${id}-footnotes`);\n\t\t}\n\n\t\treturn ids.join(\" \");\n\t}\n\n\tget itemClasses() {\n\t\tconst classes = [\"ui5-nli-root\", \"ui5-nli-focusable\"];\n\n\t\tif (this.getMenu() && this.showClose) {\n\t\t\tclasses.push(\"ui5-nli-two-buttons\");\n\t\t} else if (this.getMenu() || this.showClose) {\n\t\t\tclasses.push(\"ui5-nli-one-button\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget statusIconName() {\n\t\treturn ICON_PER_STATUS_NAME[this.state];\n\t}\n\n\tget statusIconDesign() {\n\t\treturn ICON_PER_STATUS_DESIGN[this.state];\n\t}\n\n\tget importanceText() {\n\t\tlet text;\n\t\tif (this.hasImportance) {\n\t\t\ttext = NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_IMPORTANT_TXT);\n\t\t} else {\n\t\t\ttext = \"\";\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget stateText() {\n\t\tif (this.state === ValueState.Positive) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_POSITIVE_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Critical) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_CRITICAL_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Negative) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_NEGATIVE_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Information) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_INFORMATION_STATUS_TXT);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget readText() {\n\t\treturn this.read ? NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_READ) : NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_UNREAD);\n\t}\n\n\tget menuButtonAccessibilityAttributes(): ButtonAccessibilityAttributes {\n\t\treturn {\n\t\t\thasPopup: \"menu\",\n\t\t};\n\t}\n\n\tget moreLinkAccessibilityAttributes() {\n\t\treturn {\n\t\t\texpanded: this._showMorePressed,\n\t\t};\n\t}\n\n\tget showMenu() {\n\t\treturn !!this.getMenu();\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onclick() {\n\t\tthis.fireItemPress();\n\t}\n\n\t_onShowMoreClick(e: UI5CustomEvent<Link, \"click\">) {\n\t\te.preventDefault();\n\t\tthis._toggleShowMorePressed();\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tawait super._onkeydown(e);\n\n\t\tif (isF10Shift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tthis.focusSameItemOnNextRow(e);\n\t}\n\n\tfocusSameItemOnNextRow(e: KeyboardEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (!target || target.hasAttribute(\"ui5-menu-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isFocusWithin = this.matches(\":focus-within\");\n\t\tif (!isFocusWithin || (!isUp(e) && !isDown(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\n\t\tconst list = this.closest(\"[ui5-notification-list]\") as NotificationList;\n\t\tif (!list) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navItems = list.getEnabledItems();\n\t\t// @ts-expect-error TOFIX strictEvents\n\t\tconst index = navItems.indexOf(this) + (isUp(e) ? -1 : 1);\n\t\tconst nextItem = navItems[index] as NotificationListItemBase;\n\t\tif (!nextItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst sameItemOnNextRow = nextItem.getHeaderDomRef()!.querySelector(`.${target.className}`) as HTMLElement;\n\t\tif (sameItemOnNextRow && sameItemOnNextRow.offsetParent) {\n\t\t\tsameItemOnNextRow.focus();\n\t\t} else {\n\t\t\tnextItem.focus();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\n\t\tconst space = isSpace(e);\n\n\t\tif (space && this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleShowMorePressed();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isDelete(e)) {\n\t\t\tthis.fireDecoratorEvent(\"close\", { item: this });\n\t\t}\n\n\t\tif (isF10Shift(e)) {\n\t\t\tthis._onBtnMenuClick();\n\t\t}\n\n\t\tif (isEnterShift(e)) {\n\t\t\tthis._toggleShowMorePressed();\n\t\t}\n\t}\n\n\t_onBtnCloseClick() {\n\t\tthis.fireDecoratorEvent(\"close\", { item: this });\n\t}\n\n\t_onBtnMenuClick() {\n\t\tif (this.getMenu()) {\n\t\t\tthis.openMenu();\n\t\t}\n\t}\n\n\t_toggleShowMorePressed() {\n\t\tthis._showMorePressed = !this._showMorePressed;\n\t}\n\n\topenMenu() {\n\t\tconst menu = this.getMenu();\n\t\tmenu.opener = this.menuButtonDOM;\n\t\tmenu.open = true;\n\t}\n\n\tgetMenu() {\n\t\tconst menu = this.querySelector<Menu>(\"[ui5-menu]\")!;\n\t\treturn menu;\n\t}\n\n\t/**\n\t * Private\n\t */\n\tfireItemPress() {\n\t\tif (this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\treturn;\n\t\t}\n\n\t\t// NotificationListItem will never be assigned to a variable of type ListItemBase\n\t\t// typescipt complains here, if that is the case, the parameter to the _press event handler could be a ListItemBase item,\n\t\t// but this is never the case, all components are used by their class and never assigned to a variable with a type of ListItemBase\n\t\t// @ts-expect-error\n\t\tthis.fireDecoratorEvent(\"_press\", { item: this });\n\t}\n\n\tonResize() {\n\t\tif (this.wrappingType === WrappingType.Normal) {\n\t\t\tthis._showMore = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst titleTextWouldOverflow = this.titleTextHeight > this._titleTextOverflowHeight;\n\t\tconst descWouldOverflow = this.hasDesc && this.descriptionHeight > this._descOverflowHeight;\n\t\tconst overflows = titleTextWouldOverflow || descWouldOverflow;\n\n\t\tif (this._showMorePressed && overflows) {\n\t\t\tthis._showMore = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.titleTextOverflows || this.descriptionOverflows) {\n\t\t\tthis._titleTextOverflowHeight = this.titleTextHeight;\n\t\t\tthis._descOverflowHeight = this.hasDesc ? this.descriptionHeight : 0;\n\t\t\tthis._showMore = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showMore = false;\n\t}\n}\n\nNotificationListItem.define();\n\nexport default NotificationListItem;\nexport type {\n\tNotificationListItemPressEventDetail,\n\tNotificationListItemCloseEventDetail,\n};\n"]}
1
+ {"version":3,"file":"NotificationListItem.js","sourceRoot":"","sources":["../src/NotificationListItem.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisSpace, isDelete, isF10Shift, isEnterShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ButtonAccessibilityAttributes } from \"@ui5/webcomponents/dist/Button.js\";\nimport type Link from \"@ui5/webcomponents/dist/Link.js\";\nimport WrappingType from \"@ui5/webcomponents/dist/types/WrappingType.js\";\nimport type Menu from \"@ui5/webcomponents/dist/Menu.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport NotificationListItemImportance from \"./types/NotificationListItemImportance.js\";\nimport NotificationListItemBase from \"./NotificationListItemBase.js\";\n\n// Icons\nimport iconSysEnter2 from \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport iconAlert from \"@ui5/webcomponents-icons/dist/alert.js\";\nimport iconError from \"@ui5/webcomponents-icons/dist/error.js\";\nimport iconInformation from \"@ui5/webcomponents-icons/dist/information.js\";\n\n// Texts\nimport {\n\tNOTIFICATION_LIST_ITEM_READ,\n\tNOTIFICATION_LIST_ITEM_UNREAD,\n\tNOTIFICATION_LIST_ITEM_SHOW_MORE,\n\tNOTIFICATION_LIST_ITEM_SHOW_LESS,\n\tNOTIFICATION_LIST_ITEM_INFORMATION_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_POSITIVE_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_NEGATIVE_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_CRITICAL_STATUS_TXT,\n\tNOTIFICATION_LIST_ITEM_MENU_BTN_TITLE,\n\tNOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_FULL,\n\tNOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_TRUNCATE,\n\tNOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE,\n\tNOTIFICATION_LIST_ITEM_IMPORTANT_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport NotificationListItemTemplate from \"./NotificationListItemTemplate.js\";\n\n// Styles\nimport NotificationListItemCss from \"./generated/themes/NotificationListItem.css.js\";\nimport IconDesign from \"@ui5/webcomponents/dist/types/IconDesign.js\";\n\ntype NotificationListItemCloseEventDetail = {\n\titem: HTMLElement,\n};\n\ntype NotificationListItemPressEventDetail = {\n\titem: NotificationListItem,\n};\n\ntype Footnote = Record<string, any>;\n\n/**\n * Defines the icons name corresponding to the notification's status indicator.\n */\nconst ICON_PER_STATUS_NAME = {\n\t[ValueState.Negative]: iconError,\n\t[ValueState.Critical]: iconAlert,\n\t[ValueState.Positive]: iconSysEnter2,\n\t[ValueState.Information]: iconInformation,\n\t[ValueState.None]: \"\",\n};\n\n/**\n * Defines the icons design (color) corresponding to the notification's status indicator.\n */\nconst ICON_PER_STATUS_DESIGN = {\n\t[ValueState.Negative]: IconDesign.Negative,\n\t[ValueState.Critical]: IconDesign.Critical,\n\t[ValueState.Positive]: IconDesign.Positive,\n\t[ValueState.Information]: IconDesign.Information,\n\t[ValueState.None]: undefined,\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-li-notification` is a type of list item, meant to display notifications.\n *\n * The component has a rich set of various properties that allows the user to set `avatar`, `menu`, `titleText`, descriptive `content`\n * and `footnotes` to fully describe a notification.\n *\n * The user can:\n *\n * - display a `Close` button\n * - can control whether the `titleText` and `description` should wrap or truncate\n * and display a `ShowMore` button to switch between less and more information\n * - add actions by using the `ui5-menu` component\n *\n * **Note:** Adding custom actions by using the `ui5-notification-action` component is deprecated as of version 2.0!\n *\n * ### Usage\n * The component should be used inside a `ui5-notification-list`.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n * The user can use the following keyboard shortcuts to perform actions (such as select, delete):\n *\n * - [Enter] - select an item (trigger \"item-click\" event)\n * - [Delete] - close an item (trigger \"item-close\" event)\n *\n * #### Fast Navigation\n * This component provides a fast navigation using the following keyboard shortcuts:\n *\n * - [Shift] + [Enter] - 'More'/'Less' link will be triggered\n * - [Shift] + [F10] - 'Menu' (Actions) button will be triggered (clicked)\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/NotificationListItem.js\";`\n *\n * @constructor\n * @extends NotificationListItemBase\n * @since 1.0.0-rc.8\n * @public\n * @csspart title-text - Used to style the titleText of the notification list item\n */\n@customElement({\n\ttag: \"ui5-li-notification\",\n\tlanguageAware: true,\n\tstyles: [\n\t\tNotificationListItemCss,\n\t],\n\trenderer: jsxRenderer,\n\ttemplate: NotificationListItemTemplate,\n})\n\n@event(\"_press\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the `Close` button is pressed.\n * @param {HTMLElement} item the closed item.\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\n\nclass NotificationListItem extends NotificationListItemBase {\n\teventDetails!: NotificationListItemBase[\"eventDetails\"] & {\n\t\t_press: NotificationListItemPressEventDetail,\n\t\tclose: NotificationListItemCloseEventDetail,\n\t}\n\t/**\n\t* Defines if the `titleText` and `description` should wrap,\n\t* they truncate by default.\n\t*\n\t* **Note:** by default the `titleText` and `description`,\n\t* and a `ShowMore/Less` button would be displayed.\n\t* @default \"None\"\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property()\n\twrappingType: `${WrappingType}` = \"None\";\n\n\t/**\n\t * Defines the status indicator of the item.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tstate: `${ValueState}` = \"None\"\n\n\t/**\n\t * Defines if the `Close` button would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowClose = false;\n\n\t/**\n\t * Defines the `Important` label of the item.\n\t * @default \"Standard\"\n\t * @public\n\t */\n\t@property()\n\timportance: `${NotificationListItemImportance}` = \"Standard\";\n\n\t/**\n\t* Defines the state of the `titleText` and `description`,\n\t* if less or more information is displayed.\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_showMorePressed = false;\n\n\t/**\n\t* Defines the visibility of the `showMore` button.\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_showMore = false;\n\n\t/**\n\t* Defines the avatar, displayed in the `ui5-li-notification`.\n\t*\n\t* **Note:** Consider using the `ui5-avatar` to display icons, initials or images.\n\t*\n\t* **Note:** In order to be complaint with the UX guidlines and for best experience,\n\t* we recommend using avatars with 2rem X 2rem in size (32px X 32px). In case you are using the `ui5-avatar`\n\t* you can set its `size` property to `XS` to get the required size - `<ui5-avatar size=\"XS\"></ui5-avatar>`.\n\t* @public\n\t*/\n\t@slot()\n\tavatar!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the menu, displayed in the `ui5-li-notification`.\n\t*\n\t* **Note:** Use this for implementing actions.\n\t*\n\t* **Note:** Should be used instead `u5-notification-action`, which is deprecated as of version 2.0.\n\t* @public\n\t*/\n\t@slot()\n\tmenu!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the elements, displayed in the footer of the of the component.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tfootnotes!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content of the `ui5-li-notification`,\n\t* usually a description of the notification.\n\t*\n\t* **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t* @public\n\t*/\n\t@slot({ type: Node, \"default\": true })\n\tdescription!: Array<Node>;\n\n\t@query(\".ui5-nli-title-text\")\n\ttitleTextDOM?: HTMLElement;\n\n\t@query(\".ui5-nli-menu-btn\")\n\tmenuButtonDOM?: HTMLElement;\n\n\t@query(\".ui5-nli-description\")\n\tdescriptionDOM?: HTMLElement;\n\n\t_titleTextOverflowHeight: number;\n\t_descOverflowHeight: number;\n\t_onResizeBound: ResizeObserverCallback;\n\n\t_ariaLevel?: number;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// the titleText overflow height\n\t\tthis._titleTextOverflowHeight = 0;\n\n\t\t// the description overflow height\n\t\tthis._descOverflowHeight = 0;\n\n\t\t// the resize handler\n\t\tthis._onResizeBound = this.onResize.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\tResizeHandler.register(this, this._onResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResizeBound);\n\t}\n\n\tget hasState() {\n\t\treturn this.state !== ValueState.None;\n\t}\n\n\tget hasDesc() {\n\t\treturn willShowContent(this.description);\n\t}\n\n\tget hasImportance() {\n\t\treturn this.importance !== NotificationListItemImportance.Standard;\n\t}\n\n\tget hasFootNotes() {\n\t\treturn !!this.footnotes.length;\n\t}\n\n\tget showMoreText() {\n\t\tif (this._showMorePressed) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_SHOW_LESS);\n\t\t}\n\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_SHOW_MORE);\n\t}\n\n\tget menuBtnAccessibleName() {\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MENU_BTN_TITLE);\n\t}\n\n\tget moreLinkAccessibleName() {\n\t\treturn this._showMorePressed ? NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_TRUNCATE) : NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_MORE_LINK_LABEL_FULL);\n\t}\n\n\tget closeBtnAccessibleName() {\n\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_CLOSE_BTN_TITLE);\n\t}\n\n\tget hideShowMore() {\n\t\tif (this.wrappingType === WrappingType.None && this._showMore) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tget titleTextHeight() {\n\t\treturn (this.titleTextDOM as HTMLElement).offsetHeight;\n\t}\n\n\tget descriptionHeight() {\n\t\treturn (this.descriptionDOM as HTMLElement).offsetHeight;\n\t}\n\n\tget titleTextOverflows() {\n\t\tconst titleText = this.titleTextDOM;\n\n\t\tif (!titleText) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn titleText.offsetHeight < titleText.scrollHeight;\n\t}\n\n\tget descriptionOverflows() {\n\t\tconst description = this.descriptionDOM;\n\n\t\tif (!description) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn description.offsetHeight < description.scrollHeight;\n\t}\n\n\tget footerItems() {\n\t\treturn this.footnotes.map((el, idx, arr) => {\n\t\t\treturn {\n\t\t\t\tslotName: (el as Footnote)._individualSlot,\n\t\t\t\tshowDivider: idx !== arr.length - 1,\n\t\t\t};\n\t\t});\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst id = this._id;\n\n\t\tif (this.loading) {\n\t\t\treturn `${id}-loading`;\n\t\t}\n\n\t\tconst ids = [];\n\n\t\tif (this.hasImportance) {\n\t\t\tids.push(`${id}-importance`);\n\t\t}\n\n\t\tif (this.hasTitleText) {\n\t\t\tids.push(`${id}-title-text`);\n\t\t}\n\n\t\tids.push(`${id}-read`);\n\n\t\tif (this.hasDesc) {\n\t\t\tids.push(`${id}-description`);\n\t\t}\n\n\t\tif (this.hasFootNotes) {\n\t\t\tids.push(`${id}-footnotes`);\n\t\t}\n\n\t\treturn ids.join(\" \");\n\t}\n\n\tget itemClasses() {\n\t\tconst classes = [\"ui5-nli-root\", \"ui5-nli-focusable\"];\n\n\t\tif (this.getMenu() && this.showClose) {\n\t\t\tclasses.push(\"ui5-nli-two-buttons\");\n\t\t} else if (this.getMenu() || this.showClose) {\n\t\t\tclasses.push(\"ui5-nli-one-button\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget statusIconName() {\n\t\treturn ICON_PER_STATUS_NAME[this.state];\n\t}\n\n\tget statusIconDesign() {\n\t\treturn ICON_PER_STATUS_DESIGN[this.state];\n\t}\n\n\tget importanceText() {\n\t\tlet text;\n\t\tif (this.hasImportance) {\n\t\t\ttext = NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_IMPORTANT_TXT);\n\t\t} else {\n\t\t\ttext = \"\";\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget stateText() {\n\t\tif (this.state === ValueState.Positive) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_POSITIVE_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Critical) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_CRITICAL_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Negative) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_NEGATIVE_STATUS_TXT);\n\t\t}\n\n\t\tif (this.state === ValueState.Information) {\n\t\t\treturn NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_INFORMATION_STATUS_TXT);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget readText() {\n\t\treturn this.read ? NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_READ) : NotificationListItem.i18nFioriBundle.getText(NOTIFICATION_LIST_ITEM_UNREAD);\n\t}\n\n\tget menuButtonAccessibilityAttributes(): ButtonAccessibilityAttributes {\n\t\treturn {\n\t\t\thasPopup: \"menu\",\n\t\t};\n\t}\n\n\tget moreLinkAccessibilityAttributes() {\n\t\treturn {\n\t\t\texpanded: this._showMorePressed,\n\t\t};\n\t}\n\n\tget showMenu() {\n\t\treturn !!this.getMenu();\n\t}\n\n\t/**\n\t * Event handlers\n\t */\n\t_onclick() {\n\t\tthis.fireItemPress();\n\t}\n\n\t_onShowMoreClick(e: UI5CustomEvent<Link, \"click\">) {\n\t\te.preventDefault();\n\t\tthis._toggleShowMorePressed();\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tawait super._onkeydown(e);\n\n\t\tif (isF10Shift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onkeyup(e);\n\n\t\tconst space = isSpace(e);\n\n\t\tif (space && this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleShowMorePressed();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isDelete(e)) {\n\t\t\tthis.fireDecoratorEvent(\"close\", { item: this });\n\t\t}\n\n\t\tif (isF10Shift(e)) {\n\t\t\tthis._onBtnMenuClick();\n\t\t}\n\n\t\tif (isEnterShift(e)) {\n\t\t\tthis._toggleShowMorePressed();\n\t\t}\n\t}\n\n\t_onBtnCloseClick() {\n\t\tthis.fireDecoratorEvent(\"close\", { item: this });\n\t}\n\n\t_onBtnMenuClick() {\n\t\tif (this.getMenu()) {\n\t\t\tthis.openMenu();\n\t\t}\n\t}\n\n\t_toggleShowMorePressed() {\n\t\tthis._showMorePressed = !this._showMorePressed;\n\t}\n\n\topenMenu() {\n\t\tconst menu = this.getMenu();\n\t\tmenu.opener = this.menuButtonDOM;\n\t\tmenu.open = true;\n\t}\n\n\tgetMenu() {\n\t\tconst menu = this.querySelector<Menu>(\"[ui5-menu]\")!;\n\t\treturn menu;\n\t}\n\n\t/**\n\t * Private\n\t */\n\tfireItemPress() {\n\t\tif (this.getFocusDomRef()!.matches(\":has(:focus-within)\")) {\n\t\t\treturn;\n\t\t}\n\n\t\t// NotificationListItem will never be assigned to a variable of type ListItemBase\n\t\t// typescipt complains here, if that is the case, the parameter to the _press event handler could be a ListItemBase item,\n\t\t// but this is never the case, all components are used by their class and never assigned to a variable with a type of ListItemBase\n\t\t// @ts-expect-error\n\t\tthis.fireDecoratorEvent(\"_press\", { item: this });\n\t}\n\n\tonResize() {\n\t\tif (this.wrappingType === WrappingType.Normal) {\n\t\t\tthis._showMore = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst titleTextWouldOverflow = this.titleTextHeight > this._titleTextOverflowHeight;\n\t\tconst descWouldOverflow = this.hasDesc && this.descriptionHeight > this._descOverflowHeight;\n\t\tconst overflows = titleTextWouldOverflow || descWouldOverflow;\n\n\t\tif (this._showMorePressed && overflows) {\n\t\t\tthis._showMore = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.titleTextOverflows || this.descriptionOverflows) {\n\t\t\tthis._titleTextOverflowHeight = this.titleTextHeight;\n\t\t\tthis._descOverflowHeight = this.hasDesc ? this.descriptionHeight : 0;\n\t\t\tthis._showMore = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showMore = false;\n\t}\n}\n\nNotificationListItem.define();\n\nexport default NotificationListItem;\nexport type {\n\tNotificationListItemPressEventDetail,\n\tNotificationListItemCloseEventDetail,\n};\n"]}