@ui5/webcomponents-fiori 2.0.0-rc.3 → 2.0.0-rc.5

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 (416) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +153 -0
  3. package/README.md +3 -19
  4. package/dist/DynamicPage.d.ts +163 -0
  5. package/dist/DynamicPage.js +298 -0
  6. package/dist/DynamicPage.js.map +1 -0
  7. package/dist/DynamicPageHeader.d.ts +38 -0
  8. package/dist/DynamicPageHeader.js +58 -0
  9. package/dist/DynamicPageHeader.js.map +1 -0
  10. package/dist/DynamicPageHeaderActions.d.ts +72 -0
  11. package/dist/DynamicPageHeaderActions.js +136 -0
  12. package/dist/DynamicPageHeaderActions.js.map +1 -0
  13. package/dist/DynamicPageTitle.d.ts +147 -0
  14. package/dist/DynamicPageTitle.js +206 -0
  15. package/dist/DynamicPageTitle.js.map +1 -0
  16. package/dist/NotificationList.d.ts +50 -0
  17. package/dist/NotificationList.js +135 -0
  18. package/dist/NotificationList.js.map +1 -0
  19. package/dist/NotificationListGroupItem.d.ts +28 -23
  20. package/dist/NotificationListGroupItem.js +79 -59
  21. package/dist/NotificationListGroupItem.js.map +1 -1
  22. package/dist/NotificationListGroupList.d.ts +16 -0
  23. package/dist/NotificationListGroupList.js +33 -0
  24. package/dist/NotificationListGroupList.js.map +1 -0
  25. package/dist/NotificationListInternal.d.ts +15 -0
  26. package/dist/NotificationListInternal.js +42 -0
  27. package/dist/NotificationListInternal.js.map +1 -0
  28. package/dist/NotificationListItem.d.ts +85 -8
  29. package/dist/NotificationListItem.js +216 -31
  30. package/dist/NotificationListItem.js.map +1 -1
  31. package/dist/NotificationListItemBase.d.ts +8 -69
  32. package/dist/NotificationListItemBase.js +39 -116
  33. package/dist/NotificationListItemBase.js.map +1 -1
  34. package/dist/ShellBar.d.ts +10 -38
  35. package/dist/ShellBar.js +14 -88
  36. package/dist/ShellBar.js.map +1 -1
  37. package/dist/SideNavigation.js +4 -4
  38. package/dist/SideNavigation.js.map +1 -1
  39. package/dist/SideNavigationSelectableItemBase.js +1 -0
  40. package/dist/SideNavigationSelectableItemBase.js.map +1 -1
  41. package/dist/ViewSettingsDialog.js +5 -3
  42. package/dist/ViewSettingsDialog.js.map +1 -1
  43. package/dist/Wizard.d.ts +1 -1
  44. package/dist/Wizard.js +5 -2
  45. package/dist/Wizard.js.map +1 -1
  46. package/dist/bundle.esm.d.ts +0 -1
  47. package/dist/bundle.esm.js +5 -3
  48. package/dist/bundle.esm.js.map +1 -1
  49. package/dist/css/themes/DynamicPage.css +1 -0
  50. package/dist/css/themes/DynamicPageHeader.css +1 -0
  51. package/dist/css/themes/DynamicPageHeaderActions.css +1 -0
  52. package/dist/css/themes/DynamicPageTitle.css +1 -0
  53. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  54. package/dist/css/themes/IllustratedMessage.css +1 -1
  55. package/dist/css/themes/MediaGallery.css +1 -1
  56. package/dist/css/themes/MediaGalleryItem.css +1 -1
  57. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  58. package/dist/css/themes/NotificationListItem.css +1 -1
  59. package/dist/css/themes/NotificationListItemBase.css +1 -1
  60. package/dist/css/themes/NotificationStateIcon.css +1 -0
  61. package/dist/css/themes/Page.css +1 -1
  62. package/dist/css/themes/ProductSwitchItem.css +1 -1
  63. package/dist/css/themes/ShellBar.css +1 -1
  64. package/dist/css/themes/SideNavigation.css +1 -1
  65. package/dist/css/themes/SideNavigationGroup.css +1 -1
  66. package/dist/css/themes/SideNavigationItem.css +1 -1
  67. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  68. package/dist/css/themes/SideNavigationPopover.css +1 -1
  69. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  70. package/dist/css/themes/Timeline.css +1 -1
  71. package/dist/css/themes/TimelineItem.css +1 -1
  72. package/dist/css/themes/UploadCollection.css +1 -1
  73. package/dist/css/themes/UploadCollectionItem.css +1 -1
  74. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  75. package/dist/css/themes/Wizard.css +1 -1
  76. package/dist/css/themes/WizardTab.css +1 -1
  77. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  78. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  79. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  80. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  81. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  82. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  83. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  84. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  85. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  86. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  87. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  88. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  89. package/dist/custom-elements-internal.json +851 -778
  90. package/dist/custom-elements.json +461 -508
  91. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  136. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  148. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  151. package/dist/generated/i18n/i18n-defaults.d.ts +20 -10
  152. package/dist/generated/i18n/i18n-defaults.js +22 -12
  153. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  154. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
  155. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.d.ts +4 -0
  157. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js +6 -0
  158. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js.map +1 -0
  159. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.d.ts +4 -0
  160. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js +5 -0
  161. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js.map +1 -0
  162. package/dist/generated/templates/DynamicPageTemplate.lit.d.ts +4 -0
  163. package/dist/generated/templates/DynamicPageTemplate.lit.js +12 -0
  164. package/dist/generated/templates/DynamicPageTemplate.lit.js.map +1 -0
  165. package/dist/generated/templates/DynamicPageTitleTemplate.lit.d.ts +4 -0
  166. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js +8 -0
  167. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js.map +1 -0
  168. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +4 -11
  169. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
  170. package/dist/generated/templates/NotificationListItemTemplate.lit.js +10 -11
  171. package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
  172. package/dist/generated/templates/NotificationListTemplate.lit.d.ts +4 -0
  173. package/dist/generated/templates/NotificationListTemplate.lit.js +5 -0
  174. package/dist/generated/templates/NotificationListTemplate.lit.js.map +1 -0
  175. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js +1 -1
  176. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/ShellBarTemplate.lit.js +2 -2
  178. package/dist/generated/templates/ShellBarTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/SideNavigationItemTemplate.lit.js +2 -2
  180. package/dist/generated/templates/SideNavigationItemTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +5 -7
  182. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
  183. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js +2 -2
  184. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js.map +1 -1
  185. package/dist/generated/templates/SideNavigationTemplate.lit.js +5 -7
  186. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
  187. package/dist/generated/templates/TimelineItemTemplate.lit.js +1 -1
  188. package/dist/generated/templates/TimelineItemTemplate.lit.js.map +1 -1
  189. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +2 -2
  190. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +1 -1
  192. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
  193. package/dist/generated/themes/DynamicPage.css.js +9 -0
  194. package/dist/generated/themes/DynamicPage.css.js.map +1 -0
  195. package/dist/generated/themes/{NotificationOverflowActionsPopover.css.js → DynamicPageHeader.css.js} +2 -2
  196. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -0
  197. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +3 -0
  198. package/dist/generated/themes/DynamicPageHeaderActions.css.js +9 -0
  199. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -0
  200. package/dist/generated/themes/DynamicPageTitle.css.d.ts +3 -0
  201. package/dist/generated/themes/DynamicPageTitle.css.js +9 -0
  202. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -0
  203. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  204. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  205. package/dist/generated/themes/IllustratedMessage.css.js +1 -1
  206. package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
  207. package/dist/generated/themes/MediaGallery.css.js +1 -1
  208. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  209. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  210. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  211. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  212. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  213. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  214. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  215. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  216. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  217. package/dist/generated/themes/NotificationStateIcon.css.d.ts +3 -0
  218. package/dist/generated/themes/{NotificationPrioIcon.css.js → NotificationStateIcon.css.js} +2 -2
  219. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -0
  220. package/dist/generated/themes/Page.css.js +1 -1
  221. package/dist/generated/themes/Page.css.js.map +1 -1
  222. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  223. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  224. package/dist/generated/themes/ShellBar.css.js +1 -1
  225. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  226. package/dist/generated/themes/SideNavigation.css.js +1 -1
  227. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  228. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  229. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  230. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  231. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  232. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  233. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  234. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  235. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  236. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  237. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  238. package/dist/generated/themes/Timeline.css.js +1 -1
  239. package/dist/generated/themes/Timeline.css.js.map +1 -1
  240. package/dist/generated/themes/TimelineItem.css.js +1 -1
  241. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  242. package/dist/generated/themes/UploadCollection.css.js +1 -1
  243. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  244. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  245. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  246. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  247. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  248. package/dist/generated/themes/Wizard.css.js +1 -1
  249. package/dist/generated/themes/Wizard.css.js.map +1 -1
  250. package/dist/generated/themes/WizardTab.css.js +1 -1
  251. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  252. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  253. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  254. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  255. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  256. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  257. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  258. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  259. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  260. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  261. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  262. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  263. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  264. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  265. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  266. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  267. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  268. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  269. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  270. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  271. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  272. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  273. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  274. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  275. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  276. package/dist/styles/ToolLayout.css +1 -0
  277. package/dist/styles/ToolLayout.module.css +1 -0
  278. package/dist/types/NotificationListItemImportance.d.ts +16 -0
  279. package/dist/types/NotificationListItemImportance.js +18 -0
  280. package/dist/types/NotificationListItemImportance.js.map +1 -0
  281. package/dist/vscode.html-custom-data.json +58 -147
  282. package/dist/web-types.json +219 -205
  283. package/package.json +8 -8
  284. package/src/BarcodeScannerDialog.hbs +1 -1
  285. package/src/DynamicPage.hbs +58 -0
  286. package/src/DynamicPageHeader.hbs +3 -0
  287. package/src/DynamicPageHeaderActions.hbs +25 -0
  288. package/src/DynamicPageTitle.hbs +45 -0
  289. package/src/NotificationList.hbs +10 -0
  290. package/src/NotificationListGroupItem.hbs +32 -70
  291. package/src/NotificationListItem.hbs +57 -51
  292. package/src/ShellBar.hbs +2 -10
  293. package/src/ShellBarPopover.hbs +4 -2
  294. package/src/SideNavigationItem.hbs +2 -0
  295. package/src/SideNavigationPopover.hbs +2 -5
  296. package/src/SideNavigationSubItem.hbs +2 -0
  297. package/src/TimelineItem.hbs +4 -1
  298. package/src/UploadCollectionItem.hbs +5 -1
  299. package/src/ViewSettingsDialog.hbs +2 -1
  300. package/src/i18n/messagebundle.properties +47 -19
  301. package/src/i18n/messagebundle_ar.properties +16 -11
  302. package/src/i18n/messagebundle_bg.properties +16 -11
  303. package/src/i18n/messagebundle_ca.properties +16 -11
  304. package/src/i18n/messagebundle_cnr.properties +16 -11
  305. package/src/i18n/messagebundle_cs.properties +16 -11
  306. package/src/i18n/messagebundle_cy.properties +16 -11
  307. package/src/i18n/messagebundle_da.properties +18 -13
  308. package/src/i18n/messagebundle_de.properties +16 -11
  309. package/src/i18n/messagebundle_el.properties +16 -11
  310. package/src/i18n/messagebundle_en.properties +16 -11
  311. package/src/i18n/messagebundle_en_GB.properties +16 -11
  312. package/src/i18n/messagebundle_en_US_saprigi.properties +16 -11
  313. package/src/i18n/messagebundle_es.properties +16 -11
  314. package/src/i18n/messagebundle_es_MX.properties +16 -11
  315. package/src/i18n/messagebundle_et.properties +16 -11
  316. package/src/i18n/messagebundle_fi.properties +16 -11
  317. package/src/i18n/messagebundle_fr.properties +16 -11
  318. package/src/i18n/messagebundle_fr_CA.properties +16 -11
  319. package/src/i18n/messagebundle_hi.properties +16 -11
  320. package/src/i18n/messagebundle_hr.properties +16 -11
  321. package/src/i18n/messagebundle_hu.properties +14 -9
  322. package/src/i18n/messagebundle_id.properties +17 -12
  323. package/src/i18n/messagebundle_it.properties +16 -11
  324. package/src/i18n/messagebundle_iw.properties +16 -11
  325. package/src/i18n/messagebundle_ja.properties +16 -11
  326. package/src/i18n/messagebundle_kk.properties +17 -12
  327. package/src/i18n/messagebundle_ko.properties +17 -12
  328. package/src/i18n/messagebundle_lt.properties +16 -11
  329. package/src/i18n/messagebundle_lv.properties +16 -11
  330. package/src/i18n/messagebundle_mk.properties +16 -11
  331. package/src/i18n/messagebundle_ms.properties +16 -11
  332. package/src/i18n/messagebundle_nl.properties +16 -11
  333. package/src/i18n/messagebundle_no.properties +16 -11
  334. package/src/i18n/messagebundle_pl.properties +16 -11
  335. package/src/i18n/messagebundle_pt.properties +16 -11
  336. package/src/i18n/messagebundle_pt_PT.properties +16 -11
  337. package/src/i18n/messagebundle_ro.properties +16 -11
  338. package/src/i18n/messagebundle_ru.properties +16 -11
  339. package/src/i18n/messagebundle_sh.properties +58 -53
  340. package/src/i18n/messagebundle_sk.properties +16 -11
  341. package/src/i18n/messagebundle_sl.properties +16 -11
  342. package/src/i18n/messagebundle_sr.properties +16 -11
  343. package/src/i18n/messagebundle_sv.properties +16 -11
  344. package/src/i18n/messagebundle_th.properties +16 -11
  345. package/src/i18n/messagebundle_tr.properties +16 -11
  346. package/src/i18n/messagebundle_uk.properties +16 -11
  347. package/src/i18n/messagebundle_vi.properties +16 -11
  348. package/src/i18n/messagebundle_zh_CN.properties +16 -11
  349. package/src/i18n/messagebundle_zh_TW.properties +19 -14
  350. package/src/themes/DynamicPage.css +150 -0
  351. package/src/themes/DynamicPageHeader.css +11 -0
  352. package/src/themes/DynamicPageHeaderActions.css +49 -0
  353. package/src/themes/DynamicPageTitle.css +153 -0
  354. package/src/themes/IllustratedMessage.css +1 -1
  355. package/src/themes/NotificationListGroupItem.css +28 -21
  356. package/src/themes/NotificationListItem.css +83 -22
  357. package/src/themes/NotificationListItemBase.css +6 -19
  358. package/src/themes/NotificationStateIcon.css +5 -0
  359. package/src/themes/ShellBar.css +8 -0
  360. package/src/themes/base/DynamicPage-parameters.css +18 -0
  361. package/src/themes/base/DynamicPageHeader-parameters.css +8 -0
  362. package/src/themes/base/DynamicPageHeaderActions-parameters.css +7 -0
  363. package/src/themes/base/DynamicPageTitle-parameters.css +19 -0
  364. package/src/themes/base/NotificationListItem-parameters.css +28 -1
  365. package/src/themes/base/ShellBar-parameters.css +0 -3
  366. package/src/themes/sap_belize/DynamicPage-parameters.css +16 -0
  367. package/src/themes/sap_belize_hcb/DynamicPageTitle-parameters.css +6 -0
  368. package/src/themes/sap_belize_hcw/DynamicPageTitle-parameters.css +6 -0
  369. package/src/themes/sap_fiori_3/DynamicPageHeaderActions-parameters.css +5 -0
  370. package/src/themes/sap_fiori_3/DynamicPageTitle-parameters.css +4 -0
  371. package/src/themes/sap_fiori_3/parameters-bundle.css +5 -0
  372. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +5 -0
  373. package/src/themes/sap_fiori_3_hcb/DynamicPageTitle-parameters.css +6 -0
  374. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +5 -0
  375. package/src/themes/sap_fiori_3_hcw/DynamicPageTitle-parameters.css +6 -0
  376. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +5 -0
  377. package/src/themes/sap_horizon/DynamicPageHeaderActions-parameters.css +6 -0
  378. package/src/themes/sap_horizon/DynamicPageTitle-parameters.css +5 -0
  379. package/src/themes/sap_horizon/NotificationListItem-parameters.css +17 -1
  380. package/src/themes/sap_horizon/ShellBar-parameters.css +0 -3
  381. package/src/themes/sap_horizon/parameters-bundle.css +6 -2
  382. package/src/themes/sap_horizon_dark/NotificationListItem-parameters.css +17 -1
  383. package/src/themes/sap_horizon_dark/ShellBar-parameters.css +0 -3
  384. package/src/themes/sap_horizon_dark/parameters-bundle.css +6 -2
  385. package/src/themes/sap_horizon_dark_exp/NotificationListItem-parameters.css +1 -1
  386. package/src/themes/sap_horizon_dark_exp/ShellBar-parameters.css +0 -3
  387. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +5 -1
  388. package/src/themes/sap_horizon_exp/NotificationListItem-parameters.css +1 -1
  389. package/src/themes/sap_horizon_exp/ShellBar-parameters.css +0 -3
  390. package/src/themes/sap_horizon_exp/parameters-bundle.css +5 -1
  391. package/src/themes/sap_horizon_hcb/DynamicPageTitle-parameters.css +11 -0
  392. package/src/themes/sap_horizon_hcb/NotificationListItem-parameters.css +21 -0
  393. package/src/themes/sap_horizon_hcb/parameters-bundle.css +5 -0
  394. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +4 -0
  395. package/src/themes/sap_horizon_hcw/DynamicPageTitle-parameters.css +11 -0
  396. package/src/themes/sap_horizon_hcw/NotificationListItem-parameters.css +21 -0
  397. package/src/themes/sap_horizon_hcw/parameters-bundle.css +6 -0
  398. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +4 -0
  399. package/dist/NotificationAction.d.ts +0 -57
  400. package/dist/NotificationAction.js +0 -63
  401. package/dist/NotificationAction.js.map +0 -1
  402. package/dist/css/themes/NotificationOverflowActionsPopover.css +0 -1
  403. package/dist/css/themes/NotificationPrioIcon.css +0 -1
  404. package/dist/features/CoPilotAnimation.d.ts +0 -1
  405. package/dist/features/CoPilotAnimation.js +0 -7
  406. package/dist/features/CoPilotAnimation.js.map +0 -1
  407. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.d.ts +0 -4
  408. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.js +0 -6
  409. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.js.map +0 -1
  410. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +0 -1
  411. package/dist/generated/themes/NotificationPrioIcon.css.js.map +0 -1
  412. package/src/NotificationOverflowActionsPopover.hbs +0 -21
  413. package/src/themes/NotificationOverflowActionsPopover.css +0 -12
  414. package/src/themes/NotificationPrioIcon.css +0 -17
  415. /package/dist/generated/themes/{NotificationOverflowActionsPopover.css.d.ts → DynamicPage.css.d.ts} +0 -0
  416. /package/dist/generated/themes/{NotificationPrioIcon.css.d.ts → DynamicPageHeader.css.d.ts} +0 -0
package/.env.testing ADDED
@@ -0,0 +1,4 @@
1
+ # .env.testing
2
+ VITE_BUNDLE_PATH="../../dist/bundle.esm.js"
3
+ # take the "development" conditional exports
4
+ NODE_ENV=development
package/CHANGELOG.md CHANGED
@@ -3,6 +3,159 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.0.0-rc.5](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2024-06-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui5-notification-list:** improved accessibility ([#9070](https://github.com/SAP/ui5-webcomponents/issues/9070)) ([5e62d4a](https://github.com/SAP/ui5-webcomponents/commit/5e62d4af792d7043f931b0f8f894d36a85f18395))
12
+ * **ui5-shellbar:** improved samples accessibility ([#8847](https://github.com/SAP/ui5-webcomponents/issues/8847)) ([7563e7d](https://github.com/SAP/ui5-webcomponents/commit/7563e7d942d06865d8fcc44d9f4dc1e1d6179e97)), closes [#8821](https://github.com/SAP/ui5-webcomponents/issues/8821)
13
+
14
+
15
+ ### Code Refactoring
16
+
17
+ * **ui5-link:** wrap text by default ([#9006](https://github.com/SAP/ui5-webcomponents/issues/9006)) ([1924b54](https://github.com/SAP/ui5-webcomponents/commit/1924b5457f22c428527f8be3fbdd46d9d5d7ffed))
18
+
19
+
20
+ ### BREAKING CHANGES
21
+
22
+ * **ui5-link:** `wrapping-type` property default value has changed from `None` to `Normal`.
23
+ Before:
24
+ ```html
25
+ <ui5-link>some very very very long link</ui5-link> <!-- would truncate the text if there is not enough space -->
26
+ ```
27
+
28
+ Now:
29
+ ```html
30
+ <ui5-link>some very very very long link</ui5-link> <!-- would let the text wrap if there is not enough space -->
31
+ ```
32
+
33
+
34
+
35
+
36
+
37
+ # [2.0.0-rc.4](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2024-05-29)
38
+
39
+
40
+ ### Bug Fixes
41
+
42
+ * **ui5-illustrated-mesasge:** update subtitle color ([#8986](https://github.com/SAP/ui5-webcomponents/issues/8986)) ([c9a5120](https://github.com/SAP/ui5-webcomponents/commit/c9a5120912d22980e25adbb042d308fee5201487)), closes [#8984](https://github.com/SAP/ui5-webcomponents/issues/8984)
43
+ * **ui5-notification-list:** fix keyboard issues ([#9040](https://github.com/SAP/ui5-webcomponents/issues/9040)) ([f1c0635](https://github.com/SAP/ui5-webcomponents/commit/f1c0635d6d2b94e94b7ecc311bb49480db1fae6d))
44
+ * **ui5-notification:** implement keyboard navigation spec ([#8975](https://github.com/SAP/ui5-webcomponents/issues/8975)) ([d68c883](https://github.com/SAP/ui5-webcomponents/commit/d68c883f527e57f75bdad5a7a421b3ab8e4efbb0))
45
+ * **ui5-side-navigation-item:** "selected" is no longer announced on every focused item ([#9008](https://github.com/SAP/ui5-webcomponents/issues/9008)) ([8cd3f83](https://github.com/SAP/ui5-webcomponents/commit/8cd3f83e2fcc31d57ebcdd38ee2ceff36150e1d1))
46
+ * **ui5-side-navigation-item:** click event is no longer fired twice ([#8944](https://github.com/SAP/ui5-webcomponents/issues/8944)) ([0dd36ca](https://github.com/SAP/ui5-webcomponents/commit/0dd36ca4b84c3b73fbb9c9cd44cee3d7b6e97d2a))
47
+
48
+
49
+ ### Code Refactoring
50
+
51
+ * **ui5-popup:** rename after-open and after-close events to 'open' and 'close' ([#8946](https://github.com/SAP/ui5-webcomponents/issues/8946)) ([912167d](https://github.com/SAP/ui5-webcomponents/commit/912167d18cd5e365a03513defc570da5bf372715)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461)
52
+ * **ui5-shellbar:** introducing assistant slot ([#8963](https://github.com/SAP/ui5-webcomponents/issues/8963)) ([2a8c252](https://github.com/SAP/ui5-webcomponents/commit/2a8c252ecf67fce81d5ac7b2a7d949c058de9d17)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461) [#7887](https://github.com/SAP/ui5-webcomponents/issues/7887)
53
+
54
+
55
+ ### Features
56
+
57
+ * **ui5-dynamic-page:** introduce new component ([#7899](https://github.com/SAP/ui5-webcomponents/issues/7899)) ([3752ce7](https://github.com/SAP/ui5-webcomponents/commit/3752ce701fe915fa0b02ba2b114c40bf3b7d9123))
58
+ * **ui5-li-notification-group:** enhance 'Expand'/'Collapse' tooltip ([#9042](https://github.com/SAP/ui5-webcomponents/issues/9042)) ([08b81c7](https://github.com/SAP/ui5-webcomponents/commit/08b81c7bd852a50f735ab8621cb3e0de69c25497))
59
+ * **ui5-li-notification:** implement new design ([#8426](https://github.com/SAP/ui5-webcomponents/issues/8426)) ([e451cdc](https://github.com/SAP/ui5-webcomponents/commit/e451cdc3709553dcb780f637463dc1b29e8f2971))
60
+
61
+
62
+ ### BREAKING CHANGES
63
+
64
+ * **ui5-notification:** Instead of `ui5-list`, `ui5-notification-list` should be used as a container for `ui5-li-notification-group` and `ui5-li-notification` components.
65
+
66
+ Previously the application developers were defining notifications in this way:
67
+
68
+ ```
69
+ <ui5-list>
70
+ <ui5-li-notification-group title-text="Group Title" >
71
+ <ui5-li-notification..
72
+ ```
73
+ To support accessibility, developers should now use the `ui5-notification-list` as seen below:
74
+
75
+ ```
76
+ <ui5-notification-list>
77
+ <ui5-li-notification-group title-text="Group Title" >
78
+ <ui5-li-notification..
79
+ ```
80
+ * **ui5-shellbar:** 1. The `showCoPilot` property of the `ui5-shellbar` is removed.
81
+
82
+ If you have previously used the `showCoPilot` property:
83
+ ```html
84
+ <ui5-shellbar show-co-pilot></ui5-shellbar>
85
+ ```
86
+ it will no longer work for the component.
87
+
88
+ 2. The `CoPilotAnimation` feature of the `ui5-shellbar` is removed.
89
+
90
+ If you have previously used the `CoPilotAnimation` feature:
91
+ ```js
92
+ import CoPilotAnimation from "@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js"
93
+ ```
94
+ it will no longer work for the component.
95
+
96
+ 3. The `copilotDomRef` getter of the `ui5-shellbar` is removed.
97
+
98
+ If you have previously used the `copilotDomRef` public getter:
99
+ ```js
100
+ shellbar.copilotDomRef
101
+ ```
102
+
103
+ it will no longer work for the component.
104
+
105
+ 4. The `co-pilot-click` event of the `ui5-shellbar` is removed.
106
+ If you have previously used the `co-pilot-click` public event:
107
+ ```js
108
+ shellbar.addEventListener("ui5-co-pilot-click", function(event) {
109
+ ...
110
+ });
111
+ ```
112
+
113
+ it will no longer work for the component.
114
+
115
+ You can achieve similar functionality with the new slot:
116
+
117
+ HTML:
118
+ ```html
119
+ <ui5-shellbar>
120
+ <ui5-toggle-button id="assistant" icon="sap-icon://da" slot="assistant"></ui5-toggle-button>
121
+ </ui5-shellbar>
122
+ ```
123
+
124
+ JavaScript:
125
+ ```js
126
+ assistant.addEventListener("click", function (event) {
127
+ const toggleButton = event.target;
128
+ toggleButton.icon = toggleButton.pressed ? "sap-icon://da-2" : "sap-icon://da";
129
+ });
130
+
131
+ ```
132
+ * **ui5-popup:** Event names `after-close` and `after-open` are now named `close` and `open`.
133
+ Previously the application developers could subscribe to the events as follows:
134
+ ```ts
135
+ popup.addEventListener("after-open", function() {
136
+ //...
137
+ });
138
+ popup.addEventListener("after-close", function() {
139
+ //...
140
+ });
141
+ ```
142
+
143
+ Now the application developers should include the ui5-bar as follows:
144
+ ```ts
145
+ popup.addEventListener("open", function() {
146
+ //...
147
+ });
148
+
149
+ popup.addEventListener("close", function() {
150
+ //...
151
+ });
152
+
153
+ ```
154
+
155
+
156
+
157
+
158
+
6
159
  # [2.0.0-rc.3](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.2...v2.0.0-rc.3) (2024-05-10)
7
160
 
8
161
 
package/README.md CHANGED
@@ -18,7 +18,8 @@ such as a common header (ShellBar).
18
18
  | Illustrated Message | `ui5-illustrated-message` | `import "@ui5/webcomponents-fiori/dist/IllustratedMessage.js";` |
19
19
  | Media Gallery | `ui5-media-gallery` | `import "@ui5/webcomponents-fiori/dist/MediaGallery.js";` |
20
20
  | Media Gallery Item | `ui5-media-gallery-item` | comes with `ui5-media-gallery` |
21
- | Notification List Item | `ui5-li-notifcation` | `import "@ui5/webcomponents-fiori/dist/NotifcationListItem.js";` |
21
+ | Notification List | `ui5-notification-list` | `import "@ui5/webcomponents-fiori/dist/NotifcationList.js";` |
22
+ | Notification List Item | `ui5-li-notification` | `import "@ui5/webcomponents-fiori/dist/NotifcationListItem.js";` |
22
23
  | Notification Group List Item | `ui5-li-notification-group` | `import "@ui5/webcomponents-fiori/dist/NotifcationListGroupItem.js";` |
23
24
  | Notification Action | `ui5-notification-action` | `import "@ui5/webcomponents-fiori/dist/NotificationAction.js";` |
24
25
  | Page | `ui5-page` | `import "@ui5/webcomponents-fiori/dist/Page.js";` |
@@ -50,27 +51,10 @@ import "@ui5/webcomponents-fiori/dist/Assets.js";
50
51
  |------------------|-------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
51
52
  | `i18n`, `themes` | `@ui5/webcomponents-fiori/dist/Assets.js` | Theming parameters and translations for the components <br/><br/> *Automatically imports also:<br/> `@ui5/webcomponents/dist/Assets.js`* |
52
53
 
53
- ## Provided features
54
-
55
-
56
- | Affects | Feature Import | Description |
57
- |----------------|--------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|
58
- | `ui5-shellbar` | `@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js` | Support for a better (but bigger in size) animation for the "co-pilot" button in the shellbar component |
59
-
60
- ### Shellbar CoPilot animation
61
-
62
- ```js
63
- import "@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js";
64
- ```
65
-
66
- By default, the `ui5-shellbar` CoPilot button ships with a simple animation for better performance.
67
- Importing the module above enables the detailed but more resource-intensive animation instead.
68
-
69
-
70
54
  ## Resources
71
55
  - [UI5 Web Components - README.md](https://github.com/SAP/ui5-webcomponents/blob/main/README.md)
72
56
  - [UI5 Web Components - Home Page](https://sap.github.io/ui5-webcomponents)
73
- - [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/playground/)
57
+ - [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/play/)
74
58
 
75
59
  ## Support
76
60
  We welcome all comments, suggestions, questions, and bug reports. Please follow our [Support Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/SUPPORT.md#-content) on how to report an issue, or chat with us in the `#webcomponents` channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/).
@@ -0,0 +1,163 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
+ import DynamicPageHeader from "./DynamicPageHeader.js";
5
+ import DynamicPageTitle from "./DynamicPageTitle.js";
6
+ import DynamicPageHeaderActions from "./DynamicPageHeaderActions.js";
7
+ /**
8
+ * @class
9
+ *
10
+ * ### Overview
11
+ *
12
+ * A layout component, representing a web page, consisting of a title, header with dynamic behavior, a content area, and an optional floating footer.
13
+ *
14
+ * The component consist of several components:
15
+ *
16
+ * - `DynamicPageTitle` - a component, holding the title of the page, the navigation actions and the content. The displayed content changes based on the current mode of the `DynamicPageHeader`.
17
+ * - `DynamicPageHeader` - a generic container, which can contain a single layout component and any other HTML elements. The header works in two modes - expanded and snapped and its behavior can be adjusted with the help of different properties.
18
+ * - `Content area` - a generic container, which can have a single UI5 layout.
19
+ * - `Footer` - positioned at the bottom with a small offset and used for additional actions, the footer floats above the content.
20
+ *
21
+ * ### Usage
22
+ *
23
+ * Use the `DynamicPage` if you need to have a title, that is always visible
24
+ * and a header, that has configurable Expanding/Snapping functionality.
25
+ * If you don't need the Expanding/Snapping functionality it is better to use the
26
+ * `ui5-page` as a lighter component.
27
+ *
28
+ * The app can add to the `default` slot of the ui5-dynamic-page either content that is designed to fit its container (e.g. has 100% height),
29
+ * or content with own height that may overflow its container. In the second case the `DynamicPage` will show a scrollbar that allows the user
30
+ * scroll through the content.
31
+ *
32
+ * ## Notes:
33
+ *
34
+ * - Snapping of the `DynamicPageTitle` is not supported in the following case:
35
+ * - When the `DynamicPage` has a scroll bar, the component usually scrolls to the snapping point - the point, where the `DynamicPageHeader` is scrolled out completely. However, when there is a scroll bar, but not enough content to reach the snapping point, the snapping is not possible using scrolling.
36
+ *
37
+ * ### Responsive Behavior
38
+ *
39
+ * Dynamic page web component implements the responsive paddings design.
40
+ *
41
+ * ### Keyboard Handling
42
+ *
43
+ *
44
+ * ### Basic Navigation
45
+ *
46
+ * - [SPACE, ENTER, RETURN] - If focus is on a button inside DynamicPageTitle its action is being triggered, once activated.
47
+ * If focus is on the snap header button (arrow button), or on the header itself, once activated, it triggers the associated action (such as snap/expand the header).
48
+ * If focus is on pin button (the button with pin icon on the bottom of the header), once activated, it triggers the associated action (pinning of the header).
49
+ *
50
+ * ### Fast Navigation
51
+ * - This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.
52
+ * In order to use this functionality, you need to import the following module:
53
+ *
54
+ * - `import "@ui5/webcomponents-base/dist/features/F6Navigation.js"`
55
+ *
56
+ * ### ES6 Module Import
57
+ *
58
+ * `import "@ui5/webcomponents-fiori/dist/DynamicPage.js";`
59
+ *
60
+ * @constructor
61
+ * @extends UI5Element
62
+ * @since 2.0.0
63
+ * @public
64
+ * @csspart content - Used to style the content of the component
65
+ * @csspart fit-content - Used to style the fit content container of the component.
66
+ * @csspart footer - Used to style the footer of the component
67
+ */
68
+ declare class DynamicPage extends UI5Element {
69
+ /**
70
+ * Defines if the pin button is hidden.
71
+ *
72
+ * @default false
73
+ * @public
74
+ */
75
+ hidePinButton: boolean;
76
+ /**
77
+ * Defines if the header is pinned.
78
+ *
79
+ * @default false
80
+ * @public
81
+ */
82
+ headerPinned: boolean;
83
+ /**
84
+ * Defines if the footer is shown.
85
+ *
86
+ * @default false
87
+ * @public
88
+ */
89
+ showFooter: boolean;
90
+ /**
91
+ * Defines the current media query size.
92
+ *
93
+ * @private
94
+ */
95
+ mediaRange: string;
96
+ /**
97
+ * Defines the content of the Dynamic Page.
98
+ *
99
+ * @public
100
+ */
101
+ content: HTMLElement[];
102
+ /**
103
+ * Defines the title HTML Element.
104
+ *
105
+ * @public
106
+ */
107
+ titleArea: Array<DynamicPageTitle>;
108
+ /**
109
+ * Defines the header HTML Element.
110
+ *
111
+ * @public
112
+ */
113
+ headerArea: Array<DynamicPageHeader>;
114
+ /**
115
+ * Defines the footer HTML Element.
116
+ *
117
+ * @public
118
+ */
119
+ footerArea: HTMLElement[];
120
+ static i18nBundle: I18nBundle;
121
+ skipSnapOnScroll: boolean;
122
+ showHeaderInStickArea: boolean;
123
+ _headerSnapped: boolean;
124
+ _updateMediaRange: ResizeObserverCallback;
125
+ constructor();
126
+ static onDefine(): Promise<void>;
127
+ onEnterDOM(): void;
128
+ onExitDOM(): void;
129
+ onBeforeRendering(): void;
130
+ get dynamicPageTitle(): DynamicPageTitle | null;
131
+ get dynamicPageHeader(): DynamicPageHeader | null;
132
+ get scrollContainer(): HTMLElement | null;
133
+ get headerActions(): DynamicPageHeaderActions | null;
134
+ get actionsInTitle(): boolean;
135
+ get headerInTitle(): boolean;
136
+ get headerInContent(): boolean;
137
+ get _headerLabel(): string;
138
+ get _headerExpanded(): boolean;
139
+ get _accAttributesForHeaderActions(): {
140
+ controls: string;
141
+ };
142
+ get headerTabIndex(): -1 | 0;
143
+ get headerAriaHidden(): boolean;
144
+ get hasHeading(): boolean;
145
+ get headerSnapped(): boolean;
146
+ /**
147
+ * Defines if the header is snapped.
148
+ *
149
+ * @default false
150
+ * @public
151
+ */
152
+ set headerSnapped(snapped: boolean);
153
+ snapOnScroll(): void;
154
+ snapTitleByScroll(): void;
155
+ onExpandClick(): Promise<void>;
156
+ onPinClick(): Promise<void>;
157
+ onToggleTitle(): Promise<void>;
158
+ _toggleHeader(): Promise<void>;
159
+ onExpandHoverIn(): Promise<void>;
160
+ onExpandHoverOut(): Promise<void>;
161
+ updateMediaRange(): void;
162
+ }
163
+ export default DynamicPage;
@@ -0,0 +1,298 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var DynamicPage_1;
8
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
13
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
14
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
15
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
16
+ import MediaRange from "@ui5/webcomponents-base/dist/MediaRange.js";
17
+ import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
18
+ import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
19
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
20
+ import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
21
+ // Template
22
+ import DynamicPageTemplate from "./generated/templates/DynamicPageTemplate.lit.js";
23
+ // Styles
24
+ import DynamicPageCss from "./generated/themes/DynamicPage.css.js";
25
+ import DynamicPageHeader from "./DynamicPageHeader.js";
26
+ import DynamicPageTitle from "./DynamicPageTitle.js";
27
+ import DynamicPageHeaderActions from "./DynamicPageHeaderActions.js";
28
+ // Texts
29
+ import { DYNAMIC_PAGE_ARIA_LABEL_EXPANDED_HEADER, DYNAMIC_PAGE_ARIA_LABEL_SNAPPED_HEADER, } from "./generated/i18n/i18n-defaults.js";
30
+ const SCROLL_DEBOUNCE_RATE = 5; // ms
31
+ const SCROLL_THRESHOLD = 10; // px
32
+ /**
33
+ * @class
34
+ *
35
+ * ### Overview
36
+ *
37
+ * A layout component, representing a web page, consisting of a title, header with dynamic behavior, a content area, and an optional floating footer.
38
+ *
39
+ * The component consist of several components:
40
+ *
41
+ * - `DynamicPageTitle` - a component, holding the title of the page, the navigation actions and the content. The displayed content changes based on the current mode of the `DynamicPageHeader`.
42
+ * - `DynamicPageHeader` - a generic container, which can contain a single layout component and any other HTML elements. The header works in two modes - expanded and snapped and its behavior can be adjusted with the help of different properties.
43
+ * - `Content area` - a generic container, which can have a single UI5 layout.
44
+ * - `Footer` - positioned at the bottom with a small offset and used for additional actions, the footer floats above the content.
45
+ *
46
+ * ### Usage
47
+ *
48
+ * Use the `DynamicPage` if you need to have a title, that is always visible
49
+ * and a header, that has configurable Expanding/Snapping functionality.
50
+ * If you don't need the Expanding/Snapping functionality it is better to use the
51
+ * `ui5-page` as a lighter component.
52
+ *
53
+ * The app can add to the `default` slot of the ui5-dynamic-page either content that is designed to fit its container (e.g. has 100% height),
54
+ * or content with own height that may overflow its container. In the second case the `DynamicPage` will show a scrollbar that allows the user
55
+ * scroll through the content.
56
+ *
57
+ * ## Notes:
58
+ *
59
+ * - Snapping of the `DynamicPageTitle` is not supported in the following case:
60
+ * - When the `DynamicPage` has a scroll bar, the component usually scrolls to the snapping point - the point, where the `DynamicPageHeader` is scrolled out completely. However, when there is a scroll bar, but not enough content to reach the snapping point, the snapping is not possible using scrolling.
61
+ *
62
+ * ### Responsive Behavior
63
+ *
64
+ * Dynamic page web component implements the responsive paddings design.
65
+ *
66
+ * ### Keyboard Handling
67
+ *
68
+ *
69
+ * ### Basic Navigation
70
+ *
71
+ * - [SPACE, ENTER, RETURN] - If focus is on a button inside DynamicPageTitle its action is being triggered, once activated.
72
+ * If focus is on the snap header button (arrow button), or on the header itself, once activated, it triggers the associated action (such as snap/expand the header).
73
+ * If focus is on pin button (the button with pin icon on the bottom of the header), once activated, it triggers the associated action (pinning of the header).
74
+ *
75
+ * ### Fast Navigation
76
+ * - This component provides a build in fast navigation group which can be used via `F6 / Shift + F6` or ` Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up`.
77
+ * In order to use this functionality, you need to import the following module:
78
+ *
79
+ * - `import "@ui5/webcomponents-base/dist/features/F6Navigation.js"`
80
+ *
81
+ * ### ES6 Module Import
82
+ *
83
+ * `import "@ui5/webcomponents-fiori/dist/DynamicPage.js";`
84
+ *
85
+ * @constructor
86
+ * @extends UI5Element
87
+ * @since 2.0.0
88
+ * @public
89
+ * @csspart content - Used to style the content of the component
90
+ * @csspart fit-content - Used to style the fit content container of the component.
91
+ * @csspart footer - Used to style the footer of the component
92
+ */
93
+ let DynamicPage = DynamicPage_1 = class DynamicPage extends UI5Element {
94
+ constructor() {
95
+ super();
96
+ this.skipSnapOnScroll = false;
97
+ this.showHeaderInStickArea = false;
98
+ this._updateMediaRange = this.updateMediaRange.bind(this);
99
+ }
100
+ static async onDefine() {
101
+ DynamicPage_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
102
+ }
103
+ onEnterDOM() {
104
+ ResizeHandler.register(this, this._updateMediaRange);
105
+ }
106
+ onExitDOM() {
107
+ ResizeHandler.deregister(this, this._updateMediaRange);
108
+ }
109
+ onBeforeRendering() {
110
+ if (this.dynamicPageTitle) {
111
+ this.dynamicPageTitle.snapped = this._headerSnapped;
112
+ this.dynamicPageTitle.interactive = this.hasHeading;
113
+ }
114
+ }
115
+ get dynamicPageTitle() {
116
+ return this.querySelector("[ui5-dynamic-page-title]");
117
+ }
118
+ get dynamicPageHeader() {
119
+ return this.querySelector("[ui5-dynamic-page-header]");
120
+ }
121
+ get scrollContainer() {
122
+ return this.shadowRoot.querySelector(".ui5-dynamic-page-scroll-container");
123
+ }
124
+ get headerActions() {
125
+ return this.shadowRoot.querySelector("ui5-dynamic-page-header-actions");
126
+ }
127
+ get actionsInTitle() {
128
+ return this._headerSnapped || this.showHeaderInStickArea || this.headerPinned;
129
+ }
130
+ get headerInTitle() {
131
+ return !this._headerSnapped && (this.showHeaderInStickArea || this.headerPinned);
132
+ }
133
+ get headerInContent() {
134
+ return !this.showHeaderInStickArea && !this.headerInTitle;
135
+ }
136
+ get _headerLabel() {
137
+ return this._headerSnapped
138
+ ? DynamicPage_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_SNAPPED_HEADER)
139
+ : DynamicPage_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_EXPANDED_HEADER);
140
+ }
141
+ get _headerExpanded() {
142
+ return !this._headerSnapped;
143
+ }
144
+ get _accAttributesForHeaderActions() {
145
+ return {
146
+ controls: `${this._id}-header`,
147
+ };
148
+ }
149
+ get headerTabIndex() {
150
+ return (this._headerSnapped || this.showHeaderInStickArea) ? -1 : 0;
151
+ }
152
+ get headerAriaHidden() {
153
+ return (this._headerSnapped || this.showHeaderInStickArea);
154
+ }
155
+ get hasHeading() {
156
+ return this.headerArea.length > 0;
157
+ }
158
+ get headerSnapped() {
159
+ return this._headerSnapped;
160
+ }
161
+ /**
162
+ * Defines if the header is snapped.
163
+ *
164
+ * @default false
165
+ * @public
166
+ */
167
+ set headerSnapped(snapped) {
168
+ if (snapped !== this._headerSnapped) {
169
+ this._toggleHeader();
170
+ }
171
+ }
172
+ snapOnScroll() {
173
+ debounce(() => this.snapTitleByScroll(), SCROLL_DEBOUNCE_RATE);
174
+ }
175
+ snapTitleByScroll() {
176
+ if (!this.dynamicPageTitle || !this.dynamicPageHeader || this.headerPinned) {
177
+ return;
178
+ }
179
+ const scrollTop = this.scrollContainer.scrollTop;
180
+ const lastHeaderSnapped = this._headerSnapped;
181
+ if (this.skipSnapOnScroll) {
182
+ this.skipSnapOnScroll = false;
183
+ return;
184
+ }
185
+ if (scrollTop > this.dynamicPageHeader.getBoundingClientRect().height) {
186
+ this.showHeaderInStickArea = false;
187
+ this._headerSnapped = true;
188
+ }
189
+ else {
190
+ this._headerSnapped = false;
191
+ }
192
+ if (lastHeaderSnapped !== this._headerSnapped) {
193
+ this.fireEvent("title-toggle");
194
+ }
195
+ this.dynamicPageTitle.snapped = this._headerSnapped;
196
+ }
197
+ async onExpandClick() {
198
+ this._toggleHeader();
199
+ this.fireEvent("title-toggle");
200
+ await renderFinished();
201
+ this.headerActions?.focusExpandButton();
202
+ announce(this._headerLabel, InvisibleMessageMode.Polite);
203
+ }
204
+ async onPinClick() {
205
+ this.headerPinned = !this.headerPinned;
206
+ this.fireEvent("pin-button-toggle");
207
+ await renderFinished();
208
+ this.headerActions?.focusPinButton();
209
+ }
210
+ async onToggleTitle() {
211
+ if (!this.hasHeading) {
212
+ return;
213
+ }
214
+ this._toggleHeader();
215
+ this.fireEvent("title-toggle");
216
+ await renderFinished();
217
+ this.dynamicPageTitle.focus();
218
+ }
219
+ async _toggleHeader() {
220
+ if (this.scrollContainer.scrollTop === SCROLL_THRESHOLD) {
221
+ this.scrollContainer.scrollTop = 0;
222
+ }
223
+ this.showHeaderInStickArea = !this.showHeaderInStickArea;
224
+ this._headerSnapped = !this._headerSnapped;
225
+ this.skipSnapOnScroll = true;
226
+ await renderFinished();
227
+ if (this._headerSnapped && this.scrollContainer.scrollTop < SCROLL_THRESHOLD) {
228
+ this.scrollContainer.scrollTop = SCROLL_THRESHOLD;
229
+ }
230
+ }
231
+ async onExpandHoverIn() {
232
+ this.dynamicPageTitle?.setAttribute("hovered", "");
233
+ await renderFinished();
234
+ }
235
+ async onExpandHoverOut() {
236
+ this.dynamicPageTitle?.removeAttribute("hovered");
237
+ await renderFinished();
238
+ }
239
+ updateMediaRange() {
240
+ this.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef().offsetWidth);
241
+ }
242
+ };
243
+ __decorate([
244
+ property({ type: Boolean })
245
+ ], DynamicPage.prototype, "hidePinButton", void 0);
246
+ __decorate([
247
+ property({ type: Boolean })
248
+ ], DynamicPage.prototype, "headerPinned", void 0);
249
+ __decorate([
250
+ property({ type: Boolean })
251
+ ], DynamicPage.prototype, "showFooter", void 0);
252
+ __decorate([
253
+ property()
254
+ ], DynamicPage.prototype, "mediaRange", void 0);
255
+ __decorate([
256
+ slot({ "default": true, type: HTMLElement })
257
+ ], DynamicPage.prototype, "content", void 0);
258
+ __decorate([
259
+ slot({ type: DynamicPageTitle })
260
+ ], DynamicPage.prototype, "titleArea", void 0);
261
+ __decorate([
262
+ slot({ type: DynamicPageHeader })
263
+ ], DynamicPage.prototype, "headerArea", void 0);
264
+ __decorate([
265
+ slot({ type: HTMLElement })
266
+ ], DynamicPage.prototype, "footerArea", void 0);
267
+ __decorate([
268
+ property({ type: Boolean })
269
+ ], DynamicPage.prototype, "_headerSnapped", void 0);
270
+ __decorate([
271
+ property({ type: Boolean })
272
+ ], DynamicPage.prototype, "headerSnapped", null);
273
+ DynamicPage = DynamicPage_1 = __decorate([
274
+ customElement({
275
+ tag: "ui5-dynamic-page",
276
+ renderer: litRender,
277
+ styles: DynamicPageCss,
278
+ template: DynamicPageTemplate,
279
+ dependencies: [DynamicPageHeaderActions],
280
+ })
281
+ /**
282
+ * Fired when the pin header button is toggled.
283
+ *
284
+ * @public
285
+ */
286
+ ,
287
+ event("pin-button-toggle")
288
+ /**
289
+ * Fired when the expand/collapse area of the title is toggled.
290
+ *
291
+ * @public
292
+ */
293
+ ,
294
+ event("title-toggle")
295
+ ], DynamicPage);
296
+ DynamicPage.define();
297
+ export default DynamicPage;
298
+ //# sourceMappingURL=DynamicPage.js.map