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

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 (262) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +122 -0
  3. package/README.md +2 -18
  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 +23 -0
  17. package/dist/NotificationList.js +55 -0
  18. package/dist/NotificationList.js.map +1 -0
  19. package/dist/NotificationListGroupItem.d.ts +28 -23
  20. package/dist/NotificationListGroupItem.js +78 -62
  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/NotificationListItem.d.ts +79 -7
  26. package/dist/NotificationListItem.js +202 -28
  27. package/dist/NotificationListItem.js.map +1 -1
  28. package/dist/NotificationListItemBase.d.ts +5 -69
  29. package/dist/NotificationListItemBase.js +29 -120
  30. package/dist/NotificationListItemBase.js.map +1 -1
  31. package/dist/ShellBar.d.ts +10 -38
  32. package/dist/ShellBar.js +14 -88
  33. package/dist/ShellBar.js.map +1 -1
  34. package/dist/SideNavigation.js +4 -4
  35. package/dist/SideNavigation.js.map +1 -1
  36. package/dist/SideNavigationSelectableItemBase.js +1 -0
  37. package/dist/SideNavigationSelectableItemBase.js.map +1 -1
  38. package/dist/ViewSettingsDialog.js +5 -3
  39. package/dist/ViewSettingsDialog.js.map +1 -1
  40. package/dist/Wizard.d.ts +1 -1
  41. package/dist/Wizard.js +5 -2
  42. package/dist/Wizard.js.map +1 -1
  43. package/dist/bundle.esm.d.ts +0 -1
  44. package/dist/bundle.esm.js +5 -3
  45. package/dist/bundle.esm.js.map +1 -1
  46. package/dist/css/themes/DynamicPage.css +1 -0
  47. package/dist/css/themes/DynamicPageHeader.css +1 -0
  48. package/dist/css/themes/DynamicPageHeaderActions.css +1 -0
  49. package/dist/css/themes/DynamicPageTitle.css +1 -0
  50. package/dist/css/themes/IllustratedMessage.css +1 -1
  51. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  52. package/dist/css/themes/NotificationListItem.css +1 -1
  53. package/dist/css/themes/NotificationListItemBase.css +1 -1
  54. package/dist/css/themes/NotificationStateIcon.css +1 -0
  55. package/dist/css/themes/ShellBar.css +1 -1
  56. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  57. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  58. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  59. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  60. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  61. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  62. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  63. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  64. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  65. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  66. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  67. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  68. package/dist/custom-elements-internal.json +750 -812
  69. package/dist/custom-elements.json +414 -549
  70. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  72. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  73. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  74. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  75. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  76. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  77. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  78. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  79. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  80. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  81. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  82. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  83. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  84. package/dist/generated/i18n/i18n-defaults.d.ts +18 -9
  85. package/dist/generated/i18n/i18n-defaults.js +20 -11
  86. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  87. package/dist/generated/js-imports/Illustrations.js +2 -1
  88. package/dist/generated/js-imports/Illustrations.js.map +1 -1
  89. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
  90. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
  91. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.d.ts +4 -0
  92. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js +6 -0
  93. package/dist/generated/templates/DynamicPageHeaderActionsTemplate.lit.js.map +1 -0
  94. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.d.ts +4 -0
  95. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js +5 -0
  96. package/dist/generated/templates/DynamicPageHeaderTemplate.lit.js.map +1 -0
  97. package/dist/generated/templates/DynamicPageTemplate.lit.d.ts +4 -0
  98. package/dist/generated/templates/DynamicPageTemplate.lit.js +12 -0
  99. package/dist/generated/templates/DynamicPageTemplate.lit.js.map +1 -0
  100. package/dist/generated/templates/DynamicPageTitleTemplate.lit.d.ts +4 -0
  101. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js +8 -0
  102. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js.map +1 -0
  103. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +3 -11
  104. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
  105. package/dist/generated/templates/NotificationListItemTemplate.lit.js +9 -11
  106. package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
  107. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js +1 -1
  108. package/dist/generated/templates/ShellBarPopoverTemplate.lit.js.map +1 -1
  109. package/dist/generated/templates/ShellBarTemplate.lit.js +2 -2
  110. package/dist/generated/templates/ShellBarTemplate.lit.js.map +1 -1
  111. package/dist/generated/templates/SideNavigationItemTemplate.lit.js +2 -2
  112. package/dist/generated/templates/SideNavigationItemTemplate.lit.js.map +1 -1
  113. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +5 -7
  114. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
  115. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js +2 -2
  116. package/dist/generated/templates/SideNavigationSubItemTemplate.lit.js.map +1 -1
  117. package/dist/generated/templates/SideNavigationTemplate.lit.js +5 -7
  118. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
  119. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +1 -1
  120. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
  121. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +1 -1
  122. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
  123. package/dist/generated/themes/DynamicPage.css.js +9 -0
  124. package/dist/generated/themes/DynamicPage.css.js.map +1 -0
  125. package/dist/generated/themes/{NotificationOverflowActionsPopover.css.js → DynamicPageHeader.css.js} +2 -2
  126. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -0
  127. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +3 -0
  128. package/dist/generated/themes/DynamicPageHeaderActions.css.js +9 -0
  129. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -0
  130. package/dist/generated/themes/DynamicPageTitle.css.d.ts +3 -0
  131. package/dist/generated/themes/DynamicPageTitle.css.js +9 -0
  132. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -0
  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/NotificationListGroupItem.css.js +1 -1
  136. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  137. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  138. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  139. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  140. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  141. package/dist/generated/themes/NotificationStateIcon.css.d.ts +3 -0
  142. package/dist/generated/themes/{NotificationPrioIcon.css.js → NotificationStateIcon.css.js} +2 -2
  143. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -0
  144. package/dist/generated/themes/ShellBar.css.js +1 -1
  145. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  146. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  147. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  148. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  149. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  150. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  151. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  152. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  153. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  154. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  155. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  156. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  157. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  158. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  159. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  160. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  161. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  162. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  163. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  164. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  165. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  166. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  167. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  168. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  169. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  170. package/dist/styles/ToolLayout.css +1 -0
  171. package/dist/styles/ToolLayout.module.css +1 -0
  172. package/dist/types/NotificationListItemImportance.d.ts +16 -0
  173. package/dist/types/NotificationListItemImportance.js +18 -0
  174. package/dist/types/NotificationListItemImportance.js.map +1 -0
  175. package/dist/vscode.html-custom-data.json +57 -152
  176. package/dist/web-types.json +193 -226
  177. package/package.json +8 -9
  178. package/src/BarcodeScannerDialog.hbs +1 -1
  179. package/src/DynamicPage.hbs +58 -0
  180. package/src/DynamicPageHeader.hbs +3 -0
  181. package/src/DynamicPageHeaderActions.hbs +25 -0
  182. package/src/DynamicPageTitle.hbs +45 -0
  183. package/src/NotificationListGroupItem.hbs +31 -72
  184. package/src/NotificationListItem.hbs +46 -50
  185. package/src/ShellBar.hbs +2 -10
  186. package/src/ShellBarPopover.hbs +4 -2
  187. package/src/SideNavigationItem.hbs +2 -0
  188. package/src/SideNavigationPopover.hbs +2 -5
  189. package/src/SideNavigationSubItem.hbs +2 -0
  190. package/src/UploadCollectionItem.hbs +1 -0
  191. package/src/ViewSettingsDialog.hbs +2 -1
  192. package/src/i18n/messagebundle.properties +42 -17
  193. package/src/i18n/messagebundle_en.properties +16 -11
  194. package/src/i18n/messagebundle_en_US_saprigi.properties +16 -11
  195. package/src/themes/DynamicPage.css +150 -0
  196. package/src/themes/DynamicPageHeader.css +11 -0
  197. package/src/themes/DynamicPageHeaderActions.css +49 -0
  198. package/src/themes/DynamicPageTitle.css +153 -0
  199. package/src/themes/IllustratedMessage.css +1 -1
  200. package/src/themes/NotificationListGroupItem.css +27 -21
  201. package/src/themes/NotificationListItem.css +81 -22
  202. package/src/themes/NotificationListItemBase.css +5 -18
  203. package/src/themes/NotificationStateIcon.css +5 -0
  204. package/src/themes/ShellBar.css +8 -0
  205. package/src/themes/base/DynamicPage-parameters.css +18 -0
  206. package/src/themes/base/DynamicPageHeader-parameters.css +8 -0
  207. package/src/themes/base/DynamicPageHeaderActions-parameters.css +7 -0
  208. package/src/themes/base/DynamicPageTitle-parameters.css +19 -0
  209. package/src/themes/base/NotificationListItem-parameters.css +28 -1
  210. package/src/themes/base/ShellBar-parameters.css +0 -3
  211. package/src/themes/sap_belize/DynamicPage-parameters.css +16 -0
  212. package/src/themes/sap_belize_hcb/DynamicPageTitle-parameters.css +6 -0
  213. package/src/themes/sap_belize_hcw/DynamicPageTitle-parameters.css +6 -0
  214. package/src/themes/sap_fiori_3/DynamicPageHeaderActions-parameters.css +5 -0
  215. package/src/themes/sap_fiori_3/DynamicPageTitle-parameters.css +4 -0
  216. package/src/themes/sap_fiori_3/parameters-bundle.css +5 -0
  217. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +5 -0
  218. package/src/themes/sap_fiori_3_hcb/DynamicPageTitle-parameters.css +6 -0
  219. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +5 -0
  220. package/src/themes/sap_fiori_3_hcw/DynamicPageTitle-parameters.css +6 -0
  221. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +5 -0
  222. package/src/themes/sap_horizon/DynamicPageHeaderActions-parameters.css +6 -0
  223. package/src/themes/sap_horizon/DynamicPageTitle-parameters.css +5 -0
  224. package/src/themes/sap_horizon/NotificationListItem-parameters.css +17 -1
  225. package/src/themes/sap_horizon/ShellBar-parameters.css +0 -3
  226. package/src/themes/sap_horizon/parameters-bundle.css +6 -2
  227. package/src/themes/sap_horizon_dark/NotificationListItem-parameters.css +17 -1
  228. package/src/themes/sap_horizon_dark/ShellBar-parameters.css +0 -3
  229. package/src/themes/sap_horizon_dark/parameters-bundle.css +6 -2
  230. package/src/themes/sap_horizon_dark_exp/NotificationListItem-parameters.css +1 -1
  231. package/src/themes/sap_horizon_dark_exp/ShellBar-parameters.css +0 -3
  232. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +5 -1
  233. package/src/themes/sap_horizon_exp/NotificationListItem-parameters.css +1 -1
  234. package/src/themes/sap_horizon_exp/ShellBar-parameters.css +0 -3
  235. package/src/themes/sap_horizon_exp/parameters-bundle.css +5 -1
  236. package/src/themes/sap_horizon_hcb/DynamicPageTitle-parameters.css +11 -0
  237. package/src/themes/sap_horizon_hcb/NotificationListItem-parameters.css +21 -0
  238. package/src/themes/sap_horizon_hcb/parameters-bundle.css +5 -0
  239. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +4 -0
  240. package/src/themes/sap_horizon_hcw/DynamicPageTitle-parameters.css +11 -0
  241. package/src/themes/sap_horizon_hcw/NotificationListItem-parameters.css +21 -0
  242. package/src/themes/sap_horizon_hcw/parameters-bundle.css +6 -0
  243. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +4 -0
  244. package/LICENSE.txt +0 -201
  245. package/dist/NotificationAction.d.ts +0 -57
  246. package/dist/NotificationAction.js +0 -63
  247. package/dist/NotificationAction.js.map +0 -1
  248. package/dist/css/themes/NotificationOverflowActionsPopover.css +0 -1
  249. package/dist/css/themes/NotificationPrioIcon.css +0 -1
  250. package/dist/features/CoPilotAnimation.d.ts +0 -1
  251. package/dist/features/CoPilotAnimation.js +0 -7
  252. package/dist/features/CoPilotAnimation.js.map +0 -1
  253. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.d.ts +0 -4
  254. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.js +0 -6
  255. package/dist/generated/templates/NotificationOverflowActionsPopoverTemplate.lit.js.map +0 -1
  256. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +0 -1
  257. package/dist/generated/themes/NotificationPrioIcon.css.js.map +0 -1
  258. package/src/NotificationOverflowActionsPopover.hbs +0 -21
  259. package/src/themes/NotificationOverflowActionsPopover.css +0 -12
  260. package/src/themes/NotificationPrioIcon.css +0 -17
  261. /package/dist/generated/themes/{NotificationOverflowActionsPopover.css.d.ts → DynamicPage.css.d.ts} +0 -0
  262. /package/dist/generated/themes/{NotificationPrioIcon.css.d.ts → DynamicPageHeader.css.d.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ /**
3
+ * @class
4
+ *
5
+ * Header of the DynamicPage.
6
+ *
7
+ * ### Overview
8
+ *
9
+ * The DynamicPageHeader `ui5-dynamic-page-header` is part of the DynamicPage family
10
+ * and is used to serve as header of the `DynamicPage`.
11
+ *
12
+ * ### Usage
13
+ *
14
+ * The `DynamicPageHeader` can hold any layout control and has two states - expanded
15
+ * and collapsed (snapped). The switching between these states happens when:
16
+ * - the user scrolls below its bottom margin
17
+ * - the user clicks on the `DynamicPageTitle`
18
+ * - through the `DynamicPage` property `headerSnapped`
19
+ *
20
+ * ### Responsive Behavior
21
+ *
22
+ * The responsive behavior of the `DynamicPageHeader` depends on the behavior of the
23
+ * content that is displayed.
24
+ *
25
+ * @constructor
26
+ * @extends UI5Element
27
+ * @public
28
+ * @since 2.0.0
29
+ */
30
+ declare class DynamicPageHeader extends UI5Element {
31
+ /**
32
+ * Defines the content of the Dynamic Page Header.
33
+ *
34
+ * @public
35
+ */
36
+ content: HTMLElement[];
37
+ }
38
+ export default DynamicPageHeader;
@@ -0,0 +1,58 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
+ // Template
12
+ import DynamicPageHeaderTemplate from "./generated/templates/DynamicPageHeaderTemplate.lit.js";
13
+ // Styles
14
+ import DynamicPageHeaderCss from "./generated/themes/DynamicPageHeader.css.js";
15
+ /**
16
+ * @class
17
+ *
18
+ * Header of the DynamicPage.
19
+ *
20
+ * ### Overview
21
+ *
22
+ * The DynamicPageHeader `ui5-dynamic-page-header` is part of the DynamicPage family
23
+ * and is used to serve as header of the `DynamicPage`.
24
+ *
25
+ * ### Usage
26
+ *
27
+ * The `DynamicPageHeader` can hold any layout control and has two states - expanded
28
+ * and collapsed (snapped). The switching between these states happens when:
29
+ * - the user scrolls below its bottom margin
30
+ * - the user clicks on the `DynamicPageTitle`
31
+ * - through the `DynamicPage` property `headerSnapped`
32
+ *
33
+ * ### Responsive Behavior
34
+ *
35
+ * The responsive behavior of the `DynamicPageHeader` depends on the behavior of the
36
+ * content that is displayed.
37
+ *
38
+ * @constructor
39
+ * @extends UI5Element
40
+ * @public
41
+ * @since 2.0.0
42
+ */
43
+ let DynamicPageHeader = class DynamicPageHeader extends UI5Element {
44
+ };
45
+ __decorate([
46
+ slot({ "default": true, type: HTMLElement })
47
+ ], DynamicPageHeader.prototype, "content", void 0);
48
+ DynamicPageHeader = __decorate([
49
+ customElement({
50
+ tag: "ui5-dynamic-page-header",
51
+ renderer: litRender,
52
+ styles: DynamicPageHeaderCss,
53
+ template: DynamicPageHeaderTemplate,
54
+ })
55
+ ], DynamicPageHeader);
56
+ DynamicPageHeader.define();
57
+ export default DynamicPageHeader;
58
+ //# sourceMappingURL=DynamicPageHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicPageHeader.js","sourceRoot":"","sources":["../src/DynamicPageHeader.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAE7E,WAAW;AACX,OAAO,yBAAyB,MAAM,wDAAwD,CAAC;AAE/F,SAAS;AACT,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAOH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;CAQzC,CAAA;AADA;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;kDACrB;AAPnB,iBAAiB;IANtB,aAAa,CAAC;QACd,GAAG,EAAE,yBAAyB;QAC9B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,oBAAoB;QAC5B,QAAQ,EAAE,yBAAyB;KACnC,CAAC;GACI,iBAAiB,CAQtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,eAAe,iBAAiB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Template\nimport DynamicPageHeaderTemplate from \"./generated/templates/DynamicPageHeaderTemplate.lit.js\";\n\n// Styles\nimport DynamicPageHeaderCss from \"./generated/themes/DynamicPageHeader.css.js\";\n\n/**\n * @class\n *\n * Header of the DynamicPage.\n *\n * ### Overview\n *\n * The DynamicPageHeader `ui5-dynamic-page-header` is part of the DynamicPage family\n * and is used to serve as header of the `DynamicPage`.\n *\n * ### Usage\n *\n * The `DynamicPageHeader` can hold any layout control and has two states - expanded\n * and collapsed (snapped). The switching between these states happens when:\n *\t- the user scrolls below its bottom margin\n *\t- the user clicks on the `DynamicPageTitle`\n *\t- through the `DynamicPage` property `headerSnapped`\n *\n * ### Responsive Behavior\n *\n * The responsive behavior of the `DynamicPageHeader` depends on the behavior of the\n * content that is displayed.\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.0.0\n */\n@customElement({\n\ttag: \"ui5-dynamic-page-header\",\n\trenderer: litRender,\n\tstyles: DynamicPageHeaderCss,\n\ttemplate: DynamicPageHeaderTemplate,\n})\nclass DynamicPageHeader extends UI5Element {\n\t/**\n\t * Defines the content of the Dynamic Page Header.\n\t *\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement })\n\tcontent!: HTMLElement[];\n}\n\nDynamicPageHeader.define();\n\nexport default DynamicPageHeader;\n"]}
@@ -0,0 +1,72 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import Button from "@ui5/webcomponents/dist/Button.js";
4
+ import ToggleButton from "@ui5/webcomponents/dist/ToggleButton.js";
5
+ import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
6
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
7
+ import "@ui5/webcomponents-icons/dist/pushpin-off.js";
8
+ import "@ui5/webcomponents-icons/dist/pushpin-on.js";
9
+ /**
10
+ * @class
11
+ *
12
+ * ### Overview
13
+ *
14
+ * The `DynamicPageHeaderActions` component is part of the `DynamicPage`
15
+ * family and is holding the action buttons behind the `DynamicPageTitle` and the `DynamicPageHeader`.
16
+ *
17
+ * The "pin" action is used to attach the header to a certain state (expanded/collapsed).
18
+ * The expand/collapse action is used to switch between the two states of `DynamicPageHeader`.
19
+ *
20
+ *
21
+ * @constructor
22
+ * @extends UI5Element
23
+ * @private
24
+ */
25
+ declare class DynamicPageHeaderActions extends UI5Element {
26
+ /**
27
+ * Defines whether the header is pinned.
28
+ *
29
+ * @protected
30
+ * @default false
31
+ */
32
+ pinned: boolean;
33
+ /**
34
+ * Defines whether the pin button is hidden.
35
+ *
36
+ * @protected
37
+ * @default false
38
+ */
39
+ hidePinButton: boolean;
40
+ /**
41
+ * Defines whether the header is snapped.
42
+ *
43
+ * @protected
44
+ * @default false
45
+ */
46
+ snapped: boolean;
47
+ /**
48
+ * Contains attributes to be added to HTML to gain accessibility.
49
+ *
50
+ * @protected
51
+ * @default {}
52
+ */
53
+ accessibilityAttributes: {
54
+ controls: string;
55
+ };
56
+ static i18nBundle: I18nBundle;
57
+ static onDefine(): Promise<void>;
58
+ get arrowButtonIcon(): "slim-arrow-down" | "slim-arrow-up";
59
+ get pinButtonIcon(): "pushpin-off" | "pushpin-on";
60
+ get expandButton(): Button | null;
61
+ get pinButton(): ToggleButton | null;
62
+ get pinLabel(): string;
63
+ get expandLabel(): string;
64
+ focusExpandButton(): void;
65
+ focusPinButton(): void;
66
+ onExpandClick(): void;
67
+ onPinClick(): void;
68
+ onExpandHoverIn(): void;
69
+ onExpandHoverOut(): void;
70
+ get showPinButton(): boolean;
71
+ }
72
+ export default DynamicPageHeaderActions;
@@ -0,0 +1,136 @@
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 DynamicPageHeaderActions_1;
8
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
13
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
+ import Button from "@ui5/webcomponents/dist/Button.js";
15
+ import ToggleButton from "@ui5/webcomponents/dist/ToggleButton.js";
16
+ import { isLegacyThemeFamily } from "@ui5/webcomponents-base/dist/config/Theme.js";
17
+ import "@ui5/webcomponents-icons/dist/slim-arrow-up.js";
18
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
19
+ import "@ui5/webcomponents-icons/dist/pushpin-off.js";
20
+ import "@ui5/webcomponents-icons/dist/pushpin-on.js";
21
+ // Template
22
+ import DynamicPageHeaderActionsTemplate from "./generated/templates/DynamicPageHeaderActionsTemplate.lit.js";
23
+ // Styles
24
+ import DynamicPageHeaderActionsCss from "./generated/themes/DynamicPageHeaderActions.css.js";
25
+ // Texts
26
+ import { DYNAMIC_PAGE_ARIA_LABEL_EXPAND_HEADER, DYNAMIC_PAGE_ARIA_LABEL_SNAP_HEADER, DYNAMIC_PAGE_ARIA_LABEL_PIN_HEADER, } from "./generated/i18n/i18n-defaults.js";
27
+ /**
28
+ * @class
29
+ *
30
+ * ### Overview
31
+ *
32
+ * The `DynamicPageHeaderActions` component is part of the `DynamicPage`
33
+ * family and is holding the action buttons behind the `DynamicPageTitle` and the `DynamicPageHeader`.
34
+ *
35
+ * The "pin" action is used to attach the header to a certain state (expanded/collapsed).
36
+ * The expand/collapse action is used to switch between the two states of `DynamicPageHeader`.
37
+ *
38
+ *
39
+ * @constructor
40
+ * @extends UI5Element
41
+ * @private
42
+ */
43
+ let DynamicPageHeaderActions = DynamicPageHeaderActions_1 = class DynamicPageHeaderActions extends UI5Element {
44
+ static async onDefine() {
45
+ DynamicPageHeaderActions_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
46
+ }
47
+ get arrowButtonIcon() {
48
+ return this.snapped ? "slim-arrow-down" : "slim-arrow-up";
49
+ }
50
+ get pinButtonIcon() {
51
+ if (isLegacyThemeFamily()) {
52
+ return "pushpin-off";
53
+ }
54
+ return this.pinned ? "pushpin-on" : "pushpin-off";
55
+ }
56
+ get expandButton() {
57
+ return this.shadowRoot.querySelector(".ui5-dynamic-page-header-action-expand");
58
+ }
59
+ get pinButton() {
60
+ return this.shadowRoot.querySelector(".ui5-dynamic-page-header-action-pin");
61
+ }
62
+ get pinLabel() {
63
+ return DynamicPageHeaderActions_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_PIN_HEADER);
64
+ }
65
+ get expandLabel() {
66
+ return this.snapped
67
+ ? DynamicPageHeaderActions_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_EXPAND_HEADER)
68
+ : DynamicPageHeaderActions_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_SNAP_HEADER);
69
+ }
70
+ focusExpandButton() {
71
+ this.expandButton?.focus();
72
+ }
73
+ focusPinButton() {
74
+ this.pinButton?.focus();
75
+ }
76
+ onExpandClick() {
77
+ this.fireEvent("expand-button-click");
78
+ }
79
+ onPinClick() {
80
+ this.fireEvent("pin-button-click");
81
+ }
82
+ onExpandHoverIn() {
83
+ this.fireEvent("expand-button-hover-in");
84
+ }
85
+ onExpandHoverOut() {
86
+ this.fireEvent("expand-button-hover-out");
87
+ }
88
+ get showPinButton() {
89
+ return !this.hidePinButton && !this.snapped;
90
+ }
91
+ };
92
+ __decorate([
93
+ property({ type: Boolean })
94
+ ], DynamicPageHeaderActions.prototype, "pinned", void 0);
95
+ __decorate([
96
+ property({ type: Boolean })
97
+ ], DynamicPageHeaderActions.prototype, "hidePinButton", void 0);
98
+ __decorate([
99
+ property({ type: Boolean })
100
+ ], DynamicPageHeaderActions.prototype, "snapped", void 0);
101
+ __decorate([
102
+ property({ type: Object })
103
+ ], DynamicPageHeaderActions.prototype, "accessibilityAttributes", void 0);
104
+ DynamicPageHeaderActions = DynamicPageHeaderActions_1 = __decorate([
105
+ customElement({
106
+ tag: "ui5-dynamic-page-header-actions",
107
+ renderer: litRender,
108
+ styles: DynamicPageHeaderActionsCss,
109
+ template: DynamicPageHeaderActionsTemplate,
110
+ dependencies: [Button, ToggleButton],
111
+ })
112
+ /**
113
+ * Event that is being fired by clicking on the expand button.
114
+ *
115
+ * @protected
116
+ */
117
+ ,
118
+ event("expand-button-click")
119
+ /**
120
+ * Event that is being fired by clicking on the pin button.
121
+ *
122
+ * @protected
123
+ */
124
+ ,
125
+ event("pin-button-click")
126
+ /**
127
+ * Event that is being fired by hovering over the expand button.
128
+ *
129
+ * @protected
130
+ */
131
+ ,
132
+ event("expand-button-hover")
133
+ ], DynamicPageHeaderActions);
134
+ DynamicPageHeaderActions.define();
135
+ export default DynamicPageHeaderActions;
136
+ //# sourceMappingURL=DynamicPageHeaderActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicPageHeaderActions.js","sourceRoot":"","sources":["../src/DynamicPageHeaderActions.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ToggleButton from \"@ui5/webcomponents/dist/ToggleButton.js\";\nimport { isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\n\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-up.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/pushpin-off.js\";\nimport \"@ui5/webcomponents-icons/dist/pushpin-on.js\";\n\n// Template\nimport DynamicPageHeaderActionsTemplate from \"./generated/templates/DynamicPageHeaderActionsTemplate.lit.js\";\n\n// Styles\nimport DynamicPageHeaderActionsCss from \"./generated/themes/DynamicPageHeaderActions.css.js\";\n\n// Texts\nimport {\n\tDYNAMIC_PAGE_ARIA_LABEL_EXPAND_HEADER,\n\tDYNAMIC_PAGE_ARIA_LABEL_SNAP_HEADER,\n\tDYNAMIC_PAGE_ARIA_LABEL_PIN_HEADER,\n} from \"./generated/i18n/i18n-defaults.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * The `DynamicPageHeaderActions` component is part of the `DynamicPage`\n * family and is holding the action buttons behind the `DynamicPageTitle` and the `DynamicPageHeader`.\n *\n * The \"pin\" action is used to attach the header to a certain state (expanded/collapsed).\n * The expand/collapse action is used to switch between the two states of `DynamicPageHeader`.\n *\n *\n * @constructor\n * @extends UI5Element\n * @private\n */\n@customElement({\n\ttag: \"ui5-dynamic-page-header-actions\",\n\trenderer: litRender,\n\tstyles: DynamicPageHeaderActionsCss,\n\ttemplate: DynamicPageHeaderActionsTemplate,\n\tdependencies: [Button, ToggleButton],\n})\n\n/**\n * Event that is being fired by clicking on the expand button.\n *\n * @protected\n */\n@event(\"expand-button-click\")\n\n/**\n * Event that is being fired by clicking on the pin button.\n *\n * @protected\n */\n@event(\"pin-button-click\")\n\n/**\n * Event that is being fired by hovering over the expand button.\n *\n * @protected\n */\n@event(\"expand-button-hover\")\n\nclass DynamicPageHeaderActions extends UI5Element {\n\t/**\n\t * Defines whether the header is pinned.\n\t *\n\t * @protected\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tpinned!: boolean;\n\n\t/**\n\t * Defines whether the pin button is hidden.\n\t *\n\t * @protected\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\thidePinButton!: boolean;\n\n\t/**\n\t * Defines whether the header is snapped.\n\t *\n\t * @protected\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tsnapped!: boolean;\n\n\t/**\n\t * Contains attributes to be added to HTML to gain accessibility.\n\t *\n\t * @protected\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: { controls: string };\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tDynamicPageHeaderActions.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tget arrowButtonIcon() {\n\t\treturn this.snapped ? \"slim-arrow-down\" : \"slim-arrow-up\";\n\t}\n\n\tget pinButtonIcon() {\n\t\tif (isLegacyThemeFamily()) {\n\t\t\treturn \"pushpin-off\";\n\t\t}\n\t\treturn this.pinned ? \"pushpin-on\" : \"pushpin-off\";\n\t}\n\n\tget expandButton(): Button | null {\n\t\treturn this.shadowRoot!.querySelector<Button>(\".ui5-dynamic-page-header-action-expand\");\n\t}\n\n\tget pinButton(): ToggleButton | null {\n\t\treturn this.shadowRoot!.querySelector<ToggleButton>(\".ui5-dynamic-page-header-action-pin\");\n\t}\n\n\tget pinLabel() {\n\t\treturn DynamicPageHeaderActions.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_PIN_HEADER);\n\t}\n\n\tget expandLabel() {\n\t\treturn this.snapped\n\t\t\t? DynamicPageHeaderActions.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_EXPAND_HEADER)\n\t\t\t: DynamicPageHeaderActions.i18nBundle.getText(DYNAMIC_PAGE_ARIA_LABEL_SNAP_HEADER);\n\t}\n\n\tfocusExpandButton() {\n\t\tthis.expandButton?.focus();\n\t}\n\n\tfocusPinButton() {\n\t\tthis.pinButton?.focus();\n\t}\n\n\tonExpandClick() {\n\t\tthis.fireEvent(\"expand-button-click\");\n\t}\n\n\tonPinClick() {\n\t\tthis.fireEvent(\"pin-button-click\");\n\t}\n\n\tonExpandHoverIn() {\n\t\tthis.fireEvent(\"expand-button-hover-in\");\n\t}\n\n\tonExpandHoverOut() {\n\t\tthis.fireEvent(\"expand-button-hover-out\");\n\t}\n\n\tget showPinButton() {\n\t\treturn !this.hidePinButton && !this.snapped;\n\t}\n}\n\nDynamicPageHeaderActions.define();\n\nexport default DynamicPageHeaderActions;\n"]}
@@ -0,0 +1,147 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import type Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
5
+ import type { ToolbarMinWidthChangeEventDetail } from "@ui5/webcomponents/dist/Toolbar.js";
6
+ /**
7
+ * @class
8
+ *
9
+ * ### Overview
10
+ *
11
+ * Title of the `DynamicPage`.
12
+ *
13
+ * The `DynamicPageTitle` component is part of the `DynamicPage`
14
+ * family and is used to serve as title of the `DynamicPage`.
15
+ *
16
+ * ### Usage
17
+ *
18
+ * The `DynamicPageTitle` can hold any component and displays the most important
19
+ * information regarding the object that will always remain visible while scrolling.
20
+ *
21
+ * **Note:** The `actions` slot accepts any UI5 web component, but it's
22
+ * recommended to use `ui5-toolbar`.
23
+ *
24
+ * The user can switch between the expanded/collapsed states of the
25
+ * `DynamicPage` by clicking on the `DynamicPageTitle`
26
+ * or by using the expand/collapse visual indicators, positioned at the bottom of the
27
+ * `DynamicPageTitle` and the `DynamicPageHeader` inside `ui5-dynamic-page-header-actions`.
28
+ *
29
+ * ### Responsive Behavior
30
+ *
31
+ * The responsive behavior of the `DynamicPageTitle` depends on the behavior of the
32
+ * content that is displayed.
33
+ * @constructor
34
+ * @extends UI5Element
35
+ * @public
36
+ * @since 2.0.0
37
+ */
38
+ declare class DynamicPageTitle extends UI5Element {
39
+ /**
40
+ * Defines if the title is snapped.
41
+ *
42
+ * @protected
43
+ * @default false
44
+ */
45
+ snapped: boolean;
46
+ /**
47
+ * Defines if the mobileNavigationActions are shown.
48
+ *
49
+ * @private
50
+ */
51
+ mobileNavigationActions: boolean;
52
+ /**
53
+ * Indicates if the elements is on focus
54
+ * @private
55
+ */
56
+ focused: boolean;
57
+ /**
58
+ * Defines the minimum width of the content area.
59
+ * @private
60
+ */
61
+ minContentWidth?: number;
62
+ /**
63
+ * Defines the minimum width of the actions area.
64
+ * @private
65
+ */
66
+ minActionsWidth?: number;
67
+ /**
68
+ * Defines the content of the Heading of the Dynamic Page.
69
+ *
70
+ * @public
71
+ */
72
+ heading: HTMLElement[];
73
+ /**
74
+ * Defines the heading that is shown only when the header is snapped.
75
+ *
76
+ * @public
77
+ */
78
+ snappedHeading: HTMLElement[];
79
+ /**
80
+ * Defines the bar with actions in the Dynamic page title.
81
+ *
82
+ * @public
83
+ */
84
+ actionsBar: HTMLElement[];
85
+ /**
86
+ * Defines the bar with navigation actions in the Dynamic page title.
87
+ *
88
+ * @public
89
+ */
90
+ navigationBar: Array<Toolbar>;
91
+ /**
92
+ * Defines the content of the Dynamic page title.
93
+ *
94
+ * @public
95
+ */
96
+ content: HTMLElement[];
97
+ /**
98
+ * Defines the content of the title that is shown only when the header is not snapped.
99
+ *
100
+ * @public
101
+ */
102
+ subheading: HTMLElement[];
103
+ /**
104
+ * Defines the content of the title that is shown only when the header is snapped.
105
+ *
106
+ * @public
107
+ */
108
+ snappedSubheading: HTMLElement[];
109
+ /**
110
+ * Defines the content of the breadcrumbs inside Dynamic Page Title.
111
+ *
112
+ * @public
113
+ */
114
+ breadcrumbs: HTMLElement[];
115
+ /**
116
+ * @private
117
+ */
118
+ interactive: boolean;
119
+ static i18nBundle: I18nBundle;
120
+ _handleResize: ResizeObserverCallback;
121
+ constructor();
122
+ static onDefine(): Promise<void>;
123
+ onEnterDOM(): void;
124
+ onExitDOM(): void;
125
+ onBeforeRendering(): void;
126
+ get styles(): {
127
+ content: {
128
+ "min-width": string | undefined;
129
+ };
130
+ actions: {
131
+ "min-width": string | undefined;
132
+ };
133
+ };
134
+ get hasContent(): boolean;
135
+ get headingSlotName(): "heading" | "snappedHeading";
136
+ get subheadingSlotName(): "subheading" | "snappedSubheading";
137
+ get _tabIndex(): "0" | undefined;
138
+ get _headerExpanded(): boolean;
139
+ get _ariaDescribedbyText(): string;
140
+ get _ariaLabelledBy(): string | undefined;
141
+ prepareLayoutActions(): void;
142
+ handleResize(): void;
143
+ onMinContentWidthChange(e: CustomEvent<ToolbarMinWidthChangeEventDetail>): void;
144
+ onTitleClick(): void;
145
+ _onkeydown(e: KeyboardEvent): void;
146
+ }
147
+ export default DynamicPageTitle;
@@ -0,0 +1,206 @@
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 DynamicPageTitle_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 Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
15
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
16
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
17
+ import { isEnter, isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
18
+ import ToolbarItemOverflowBehavior from "@ui5/webcomponents/dist/types/ToolbarItemOverflowBehavior.js";
19
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
20
+ // Template
21
+ import DynamicPageTitleTemplate from "./generated/templates/DynamicPageTitleTemplate.lit.js";
22
+ // Styles
23
+ import DynamicPageTitleCss from "./generated/themes/DynamicPageTitle.css.js";
24
+ // Texts
25
+ import { DYNAMIC_PAGE_ARIA_DESCR_TOGGLE_HEADER, } from "./generated/i18n/i18n-defaults.js";
26
+ /**
27
+ * @class
28
+ *
29
+ * ### Overview
30
+ *
31
+ * Title of the `DynamicPage`.
32
+ *
33
+ * The `DynamicPageTitle` component is part of the `DynamicPage`
34
+ * family and is used to serve as title of the `DynamicPage`.
35
+ *
36
+ * ### Usage
37
+ *
38
+ * The `DynamicPageTitle` can hold any component and displays the most important
39
+ * information regarding the object that will always remain visible while scrolling.
40
+ *
41
+ * **Note:** The `actions` slot accepts any UI5 web component, but it's
42
+ * recommended to use `ui5-toolbar`.
43
+ *
44
+ * The user can switch between the expanded/collapsed states of the
45
+ * `DynamicPage` by clicking on the `DynamicPageTitle`
46
+ * or by using the expand/collapse visual indicators, positioned at the bottom of the
47
+ * `DynamicPageTitle` and the `DynamicPageHeader` inside `ui5-dynamic-page-header-actions`.
48
+ *
49
+ * ### Responsive Behavior
50
+ *
51
+ * The responsive behavior of the `DynamicPageTitle` depends on the behavior of the
52
+ * content that is displayed.
53
+ * @constructor
54
+ * @extends UI5Element
55
+ * @public
56
+ * @since 2.0.0
57
+ */
58
+ let DynamicPageTitle = DynamicPageTitle_1 = class DynamicPageTitle extends UI5Element {
59
+ constructor() {
60
+ super();
61
+ this._handleResize = this.handleResize.bind(this);
62
+ }
63
+ static async onDefine() {
64
+ DynamicPageTitle_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
65
+ }
66
+ onEnterDOM() {
67
+ ResizeHandler.register(this, this._handleResize);
68
+ if (isDesktop()) {
69
+ this.setAttribute("desktop", "");
70
+ }
71
+ }
72
+ onExitDOM() {
73
+ ResizeHandler.deregister(this, this._handleResize);
74
+ }
75
+ onBeforeRendering() {
76
+ this.prepareLayoutActions();
77
+ }
78
+ get styles() {
79
+ return {
80
+ content: {
81
+ "min-width": this.minContentWidth ? `${this.minContentWidth || 0}px` : undefined,
82
+ },
83
+ actions: {
84
+ "min-width": this.minActionsWidth ? `${this.minActionsWidth || 0}px` : undefined,
85
+ },
86
+ };
87
+ }
88
+ get hasContent() {
89
+ return !!this.content.length;
90
+ }
91
+ get headingSlotName() {
92
+ if (!this.snapped) {
93
+ return "heading";
94
+ }
95
+ return "snappedHeading";
96
+ }
97
+ get subheadingSlotName() {
98
+ return !this.snapped ? "subheading" : "snappedSubheading";
99
+ }
100
+ get _tabIndex() {
101
+ return this.interactive ? "0" : undefined;
102
+ }
103
+ get _headerExpanded() {
104
+ return !this.snapped;
105
+ }
106
+ get _ariaDescribedbyText() {
107
+ return DynamicPageTitle_1.i18nBundle.getText(DYNAMIC_PAGE_ARIA_DESCR_TOGGLE_HEADER);
108
+ }
109
+ get _ariaLabelledBy() {
110
+ const hasAnyHeading = this[this.headingSlotName].length;
111
+ if (hasAnyHeading) {
112
+ return `${this._id}-heading`;
113
+ }
114
+ }
115
+ prepareLayoutActions() {
116
+ // all navigation/layout actions should have the NeverOverflow behavior
117
+ const navigationBar = this.querySelector("[ui5-toolbar][slot='navigationBar']");
118
+ if (!navigationBar) {
119
+ return;
120
+ }
121
+ navigationBar.items.forEach(action => {
122
+ action.overflowPriority = ToolbarItemOverflowBehavior.NeverOverflow;
123
+ });
124
+ }
125
+ handleResize() {
126
+ this.mobileNavigationActions = this.offsetWidth < 1280;
127
+ }
128
+ onMinContentWidthChange(e) {
129
+ const slotName = e.target?.assignedSlot?.name;
130
+ if (!slotName || slotName === "content") {
131
+ this.minContentWidth = e.detail.minWidth;
132
+ }
133
+ else if (slotName === "actionsBar") {
134
+ this.minActionsWidth = e.detail.minWidth;
135
+ }
136
+ }
137
+ onTitleClick() {
138
+ this.fireEvent("_toggle-title");
139
+ }
140
+ _onkeydown(e) {
141
+ if (isEnter(e) || isSpace(e)) {
142
+ e.preventDefault();
143
+ this.fireEvent("_toggle-title");
144
+ }
145
+ }
146
+ };
147
+ __decorate([
148
+ property({ type: Boolean })
149
+ ], DynamicPageTitle.prototype, "snapped", void 0);
150
+ __decorate([
151
+ property({ type: Boolean })
152
+ ], DynamicPageTitle.prototype, "mobileNavigationActions", void 0);
153
+ __decorate([
154
+ property({ type: Boolean })
155
+ ], DynamicPageTitle.prototype, "focused", void 0);
156
+ __decorate([
157
+ property({ validator: Integer })
158
+ ], DynamicPageTitle.prototype, "minContentWidth", void 0);
159
+ __decorate([
160
+ property({ validator: Integer })
161
+ ], DynamicPageTitle.prototype, "minActionsWidth", void 0);
162
+ __decorate([
163
+ slot({ type: HTMLElement })
164
+ ], DynamicPageTitle.prototype, "heading", void 0);
165
+ __decorate([
166
+ slot({ type: HTMLElement })
167
+ ], DynamicPageTitle.prototype, "snappedHeading", void 0);
168
+ __decorate([
169
+ slot({ type: HTMLElement })
170
+ ], DynamicPageTitle.prototype, "actionsBar", void 0);
171
+ __decorate([
172
+ slot({ type: HTMLElement })
173
+ ], DynamicPageTitle.prototype, "navigationBar", void 0);
174
+ __decorate([
175
+ slot({ "default": true, type: HTMLElement })
176
+ ], DynamicPageTitle.prototype, "content", void 0);
177
+ __decorate([
178
+ slot({ type: HTMLElement })
179
+ ], DynamicPageTitle.prototype, "subheading", void 0);
180
+ __decorate([
181
+ slot({ type: HTMLElement })
182
+ ], DynamicPageTitle.prototype, "snappedSubheading", void 0);
183
+ __decorate([
184
+ slot({ type: HTMLElement })
185
+ ], DynamicPageTitle.prototype, "breadcrumbs", void 0);
186
+ __decorate([
187
+ property({ type: Boolean })
188
+ ], DynamicPageTitle.prototype, "interactive", void 0);
189
+ DynamicPageTitle = DynamicPageTitle_1 = __decorate([
190
+ customElement({
191
+ tag: "ui5-dynamic-page-title",
192
+ fastNavigation: true,
193
+ renderer: litRender,
194
+ styles: DynamicPageTitleCss,
195
+ template: DynamicPageTitleTemplate,
196
+ })
197
+ /**
198
+ * Event is fired when the title is toggled.
199
+ * @private
200
+ */
201
+ ,
202
+ event("_toggle-title")
203
+ ], DynamicPageTitle);
204
+ DynamicPageTitle.define();
205
+ export default DynamicPageTitle;
206
+ //# sourceMappingURL=DynamicPageTitle.js.map