@ui5/webcomponents-fiori 1.21.0 → 1.22.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Bar.d.ts +6 -27
  3. package/dist/Bar.js +3 -14
  4. package/dist/Bar.js.map +1 -1
  5. package/dist/BarcodeScannerDialog.d.ts +2 -13
  6. package/dist/BarcodeScannerDialog.js +10 -12
  7. package/dist/BarcodeScannerDialog.js.map +1 -1
  8. package/dist/DynamicSideContent.d.ts +9 -35
  9. package/dist/DynamicSideContent.js +15 -7
  10. package/dist/DynamicSideContent.js.map +1 -1
  11. package/dist/FilterItem.d.ts +3 -14
  12. package/dist/FilterItem.js +1 -5
  13. package/dist/FilterItem.js.map +1 -1
  14. package/dist/FilterItemOption.d.ts +3 -11
  15. package/dist/FilterItemOption.js +1 -5
  16. package/dist/FilterItemOption.js.map +1 -1
  17. package/dist/FlexibleColumnLayout.d.ts +13 -51
  18. package/dist/FlexibleColumnLayout.js +28 -26
  19. package/dist/FlexibleColumnLayout.js.map +1 -1
  20. package/dist/IllustratedMessage.d.ts +9 -35
  21. package/dist/IllustratedMessage.js +1 -4
  22. package/dist/IllustratedMessage.js.map +1 -1
  23. package/dist/Interfaces.d.ts +28 -88
  24. package/dist/Interfaces.js +2 -113
  25. package/dist/Interfaces.js.map +1 -1
  26. package/dist/MediaGallery.d.ts +9 -26
  27. package/dist/MediaGallery.js +4 -8
  28. package/dist/MediaGallery.js.map +1 -1
  29. package/dist/MediaGalleryItem.d.ts +7 -22
  30. package/dist/MediaGalleryItem.js +2 -5
  31. package/dist/MediaGalleryItem.js.map +1 -1
  32. package/dist/NotificationAction.d.ts +7 -20
  33. package/dist/NotificationAction.js +3 -9
  34. package/dist/NotificationAction.js.map +1 -1
  35. package/dist/NotificationListGroupItem.d.ts +5 -27
  36. package/dist/NotificationListGroupItem.js +1 -16
  37. package/dist/NotificationListGroupItem.js.map +1 -1
  38. package/dist/NotificationListItem.d.ts +3 -27
  39. package/dist/NotificationListItem.js +2 -15
  40. package/dist/NotificationListItem.js.map +1 -1
  41. package/dist/NotificationListItemBase.d.ts +7 -32
  42. package/dist/NotificationListItemBase.js +15 -15
  43. package/dist/NotificationListItemBase.js.map +1 -1
  44. package/dist/Page.d.ts +7 -35
  45. package/dist/Page.js +2 -13
  46. package/dist/Page.js.map +1 -1
  47. package/dist/ProductSwitch.d.ts +3 -10
  48. package/dist/ProductSwitch.js +1 -5
  49. package/dist/ProductSwitch.js.map +1 -1
  50. package/dist/ProductSwitchItem.d.ts +9 -22
  51. package/dist/ProductSwitchItem.js +2 -7
  52. package/dist/ProductSwitchItem.js.map +1 -1
  53. package/dist/ShellBar.d.ts +30 -90
  54. package/dist/ShellBar.js +28 -41
  55. package/dist/ShellBar.js.map +1 -1
  56. package/dist/ShellBarItem.d.ts +9 -14
  57. package/dist/ShellBarItem.js +6 -6
  58. package/dist/ShellBarItem.js.map +1 -1
  59. package/dist/SideNavigation.d.ts +29 -17
  60. package/dist/SideNavigation.js +155 -9
  61. package/dist/SideNavigation.js.map +1 -1
  62. package/dist/SideNavigationItem.d.ts +4 -17
  63. package/dist/SideNavigationItem.js +1 -5
  64. package/dist/SideNavigationItem.js.map +1 -1
  65. package/dist/SideNavigationItemBase.d.ts +7 -36
  66. package/dist/SideNavigationItemBase.js +20 -12
  67. package/dist/SideNavigationItemBase.js.map +1 -1
  68. package/dist/SideNavigationSubItem.d.ts +1 -5
  69. package/dist/SideNavigationSubItem.js +1 -5
  70. package/dist/SideNavigationSubItem.js.map +1 -1
  71. package/dist/SortItem.d.ts +3 -11
  72. package/dist/SortItem.js +1 -5
  73. package/dist/SortItem.js.map +1 -1
  74. package/dist/Timeline.d.ts +5 -16
  75. package/dist/Timeline.js +1 -5
  76. package/dist/Timeline.js.map +1 -1
  77. package/dist/TimelineItem.d.ts +11 -34
  78. package/dist/TimelineItem.js +3 -15
  79. package/dist/TimelineItem.js.map +1 -1
  80. package/dist/UploadCollection.d.ts +11 -32
  81. package/dist/UploadCollection.js +7 -9
  82. package/dist/UploadCollection.js.map +1 -1
  83. package/dist/UploadCollectionItem.d.ts +16 -47
  84. package/dist/UploadCollectionItem.js +3 -10
  85. package/dist/UploadCollectionItem.js.map +1 -1
  86. package/dist/ViewSettingsDialog.d.ts +5 -28
  87. package/dist/ViewSettingsDialog.js +34 -18
  88. package/dist/ViewSettingsDialog.js.map +1 -1
  89. package/dist/Wizard.d.ts +15 -39
  90. package/dist/Wizard.js +23 -33
  91. package/dist/Wizard.js.map +1 -1
  92. package/dist/WizardStep.d.ts +8 -31
  93. package/dist/WizardStep.js +2 -5
  94. package/dist/WizardStep.js.map +1 -1
  95. package/dist/WizardTab.d.ts +20 -24
  96. package/dist/WizardTab.js +1 -5
  97. package/dist/WizardTab.js.map +1 -1
  98. package/dist/css/themes/Bar.css +1 -1
  99. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  100. package/dist/css/themes/MediaGallery.css +1 -1
  101. package/dist/css/themes/MediaGalleryItem.css +1 -1
  102. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  103. package/dist/css/themes/NotificationListItem.css +1 -1
  104. package/dist/css/themes/NotificationListItemBase.css +1 -1
  105. package/dist/css/themes/NotificationOverflowActionsPopover.css +1 -1
  106. package/dist/css/themes/Page.css +1 -1
  107. package/dist/css/themes/ProductSwitchItem.css +1 -1
  108. package/dist/css/themes/ShellBar.css +1 -1
  109. package/dist/css/themes/SideNavigation.css +1 -1
  110. package/dist/css/themes/SideNavigationPopover.css +1 -1
  111. package/dist/css/themes/Timeline.css +1 -1
  112. package/dist/css/themes/TimelineItem.css +1 -1
  113. package/dist/css/themes/UploadCollection.css +1 -1
  114. package/dist/css/themes/UploadCollectionItem.css +1 -1
  115. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  116. package/dist/css/themes/Wizard.css +1 -1
  117. package/dist/css/themes/WizardTab.css +1 -1
  118. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  133. package/dist/custom-elements-internal.json +6682 -0
  134. package/dist/custom-elements.json +4098 -1
  135. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  136. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  148. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  150. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  151. package/dist/generated/i18n/i18n-defaults.js +2 -1
  152. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  153. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js +6 -2
  154. package/dist/generated/templates/SideNavigationPopoverTemplate.lit.js.map +1 -1
  155. package/dist/generated/templates/SideNavigationTemplate.lit.js +1 -1
  156. package/dist/generated/templates/SideNavigationTemplate.lit.js.map +1 -1
  157. package/dist/generated/themes/Bar.css.js +1 -1
  158. package/dist/generated/themes/Bar.css.js.map +1 -1
  159. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  160. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  161. package/dist/generated/themes/MediaGallery.css.js +1 -1
  162. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  163. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  164. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  165. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  166. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  167. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  168. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  169. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  170. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  171. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js +1 -1
  172. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +1 -1
  173. package/dist/generated/themes/Page.css.js +1 -1
  174. package/dist/generated/themes/Page.css.js.map +1 -1
  175. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  176. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  177. package/dist/generated/themes/ShellBar.css.js +1 -1
  178. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  179. package/dist/generated/themes/SideNavigation.css.js +1 -1
  180. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  181. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  182. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  183. package/dist/generated/themes/Timeline.css.js +1 -1
  184. package/dist/generated/themes/Timeline.css.js.map +1 -1
  185. package/dist/generated/themes/TimelineItem.css.js +1 -1
  186. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  187. package/dist/generated/themes/UploadCollection.css.js +1 -1
  188. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  189. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  190. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  191. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  192. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  193. package/dist/generated/themes/Wizard.css.js +1 -1
  194. package/dist/generated/themes/Wizard.css.js.map +1 -1
  195. package/dist/generated/themes/WizardTab.css.js +1 -1
  196. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  197. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  198. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  199. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  200. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  201. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  202. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  203. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  204. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  205. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  206. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  207. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  208. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  209. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  210. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  211. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  212. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  213. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  214. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  215. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  216. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  217. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  218. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  219. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  220. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  221. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  222. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  223. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  224. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  225. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  226. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  227. package/dist/types/BarDesign.d.ts +0 -8
  228. package/dist/types/BarDesign.js +0 -8
  229. package/dist/types/BarDesign.js.map +1 -1
  230. package/dist/types/FCLLayout.d.ts +0 -13
  231. package/dist/types/FCLLayout.js +0 -13
  232. package/dist/types/FCLLayout.js.map +1 -1
  233. package/dist/types/IllustrationMessageSize.d.ts +0 -9
  234. package/dist/types/IllustrationMessageSize.js +0 -9
  235. package/dist/types/IllustrationMessageSize.js.map +1 -1
  236. package/dist/types/IllustrationMessageType.d.ts +0 -107
  237. package/dist/types/IllustrationMessageType.js +0 -107
  238. package/dist/types/IllustrationMessageType.js.map +1 -1
  239. package/dist/types/MediaGalleryItemLayout.d.ts +0 -6
  240. package/dist/types/MediaGalleryItemLayout.js +0 -6
  241. package/dist/types/MediaGalleryItemLayout.js.map +1 -1
  242. package/dist/types/MediaGalleryLayout.d.ts +0 -7
  243. package/dist/types/MediaGalleryLayout.js +0 -7
  244. package/dist/types/MediaGalleryLayout.js.map +1 -1
  245. package/dist/types/MediaGalleryMenuHorizontalAlign.d.ts +0 -6
  246. package/dist/types/MediaGalleryMenuHorizontalAlign.js +0 -6
  247. package/dist/types/MediaGalleryMenuHorizontalAlign.js.map +1 -1
  248. package/dist/types/MediaGalleryMenuVerticalAlign.d.ts +0 -6
  249. package/dist/types/MediaGalleryMenuVerticalAlign.js +0 -6
  250. package/dist/types/MediaGalleryMenuVerticalAlign.js.map +1 -1
  251. package/dist/types/PageBackgroundDesign.d.ts +0 -7
  252. package/dist/types/PageBackgroundDesign.js +0 -7
  253. package/dist/types/PageBackgroundDesign.js.map +1 -1
  254. package/dist/types/SideContentFallDown.d.ts +0 -8
  255. package/dist/types/SideContentFallDown.js +0 -8
  256. package/dist/types/SideContentFallDown.js.map +1 -1
  257. package/dist/types/SideContentPosition.d.ts +0 -6
  258. package/dist/types/SideContentPosition.js +0 -6
  259. package/dist/types/SideContentPosition.js.map +1 -1
  260. package/dist/types/SideContentVisibility.d.ts +0 -9
  261. package/dist/types/SideContentVisibility.js +0 -9
  262. package/dist/types/SideContentVisibility.js.map +1 -1
  263. package/dist/types/TimelineLayout.d.ts +0 -6
  264. package/dist/types/TimelineLayout.js +0 -6
  265. package/dist/types/TimelineLayout.js.map +1 -1
  266. package/dist/types/UploadCollectionDnDMode.d.ts +0 -7
  267. package/dist/types/UploadCollectionDnDMode.js +0 -7
  268. package/dist/types/UploadCollectionDnDMode.js.map +1 -1
  269. package/dist/types/UploadState.d.ts +0 -8
  270. package/dist/types/UploadState.js +0 -8
  271. package/dist/types/UploadState.js.map +1 -1
  272. package/dist/types/ViewSettingsDialogMode.d.ts +0 -6
  273. package/dist/types/ViewSettingsDialogMode.js +0 -6
  274. package/dist/types/ViewSettingsDialogMode.js.map +1 -1
  275. package/dist/types/WizardContentLayout.d.ts +0 -6
  276. package/dist/types/WizardContentLayout.js +0 -6
  277. package/dist/types/WizardContentLayout.js.map +1 -1
  278. package/package.json +7 -7
  279. package/src/SideNavigation.hbs +21 -0
  280. package/src/SideNavigationPopover.hbs +61 -28
  281. package/src/i18n/messagebundle.properties +3 -0
  282. package/src/themes/SideNavigation.css +11 -1
  283. package/dist/api.json +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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
+ # [1.22.0-rc.0](https://github.com/SAP/ui5-webcomponents/compare/v1.21.0...v1.22.0-rc.0) (2024-01-11)
7
+
8
+
9
+ ### Features
10
+
11
+ * **ui5-side-navigation:** Add new overflow behaviour to collapsed mode ([#8019](https://github.com/SAP/ui5-webcomponents/issues/8019)) ([e5f8edd](https://github.com/SAP/ui5-webcomponents/commit/e5f8eddcdc9f1139d002585cdb014b47a0687b62))
12
+
13
+
14
+
15
+
16
+
6
17
  # [1.21.0](https://github.com/SAP/ui5-webcomponents/compare/v1.21.0-rc.5...v1.21.0) (2024-01-05)
7
18
 
8
19
  **Note:** Version bump only for package @ui5/webcomponents-fiori
package/dist/Bar.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import BarDesign from "./types/BarDesign.js";
3
+ import type { IBar } from "./Interfaces.js";
3
4
  /**
4
5
  * @class
5
6
  *
@@ -18,15 +19,6 @@ import BarDesign from "./types/BarDesign.js";
18
19
  * The default slot will be centered in the available space between the startContent and the endContent areas,
19
20
  * therefore it might not always be centered in the entire bar.
20
21
  *
21
- * <h3>CSS Shadow Parts</h3>
22
- *
23
- * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
24
- * <br>
25
- * The <code>ui5-bar</code> exposes the following CSS Shadow Parts:
26
- * <ul>
27
- * <li>bar - Used to style the wrapper of the content of the component</li>
28
- * </ul>
29
- *
30
22
  * <h3>Keyboard Handling</h3>
31
23
  *
32
24
  * <h4>Fast Navigation</h4>
@@ -39,46 +31,33 @@ import BarDesign from "./types/BarDesign.js";
39
31
  *
40
32
  * <code>import "@ui5/webcomponents-fiori/dist/Bar.js";</code>
41
33
  *
34
+ * @csspart bar - Used to style the wrapper of the content of the component
42
35
  * @constructor
43
- * @author SAP SE
44
- * @alias sap.ui.webc.fiori.Bar
45
- * @implements sap.ui.webc.fiori.IBar
46
- * @extends sap.ui.webc.base.UI5Element
47
- * @tagname ui5-bar
36
+ * @implements { IBar }
37
+ * @extends UI5Element
48
38
  * @public
49
39
  * @since 1.0.0-rc.11
50
40
  */
51
- declare class Bar extends UI5Element {
41
+ declare class Bar extends UI5Element implements IBar {
52
42
  /**
53
43
  * Defines the component's design.
54
44
  *
55
- * @type {sap.ui.webc.fiori.types.BarDesign}
56
- * @name sap.ui.webc.fiori.Bar.prototype.design
57
- * @defaultvalue "Header"
45
+ * @default "Header"
58
46
  * @public
59
47
  */
60
48
  design: `${BarDesign}`;
61
49
  /**
62
50
  * Defines the content at the start of the bar.
63
- * @type {HTMLElement[]}
64
- * @name sap.ui.webc.fiori.Bar.prototype.startContent
65
- * @slot
66
51
  * @public
67
52
  */
68
53
  startContent: Array<HTMLElement>;
69
54
  /**
70
55
  * Defines the content in the middle of the bar.
71
- * @type {HTMLElement[]}
72
- * @name sap.ui.webc.fiori.Bar.prototype.default
73
- * @slot middleContent
74
56
  * @public
75
57
  */
76
58
  middleContent: Array<HTMLElement>;
77
59
  /**
78
60
  * Defines the content at the end of the bar.
79
- * @type {HTMLElement[]}
80
- * @name sap.ui.webc.fiori.Bar.prototype.endContent
81
- * @slot
82
61
  * @public
83
62
  */
84
63
  endContent: Array<HTMLElement>;
package/dist/Bar.js CHANGED
@@ -33,15 +33,6 @@ import BarCss from "./generated/themes/Bar.css.js";
33
33
  * The default slot will be centered in the available space between the startContent and the endContent areas,
34
34
  * therefore it might not always be centered in the entire bar.
35
35
  *
36
- * <h3>CSS Shadow Parts</h3>
37
- *
38
- * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
39
- * <br>
40
- * The <code>ui5-bar</code> exposes the following CSS Shadow Parts:
41
- * <ul>
42
- * <li>bar - Used to style the wrapper of the content of the component</li>
43
- * </ul>
44
- *
45
36
  * <h3>Keyboard Handling</h3>
46
37
  *
47
38
  * <h4>Fast Navigation</h4>
@@ -54,12 +45,10 @@ import BarCss from "./generated/themes/Bar.css.js";
54
45
  *
55
46
  * <code>import "@ui5/webcomponents-fiori/dist/Bar.js";</code>
56
47
  *
48
+ * @csspart bar - Used to style the wrapper of the content of the component
57
49
  * @constructor
58
- * @author SAP SE
59
- * @alias sap.ui.webc.fiori.Bar
60
- * @implements sap.ui.webc.fiori.IBar
61
- * @extends sap.ui.webc.base.UI5Element
62
- * @tagname ui5-bar
50
+ * @implements { IBar }
51
+ * @extends UI5Element
63
52
  * @public
64
53
  * @since 1.0.0-rc.11
65
54
  */
package/dist/Bar.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.js","sourceRoot":"","sources":["../src/Bar.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport BarDesign from \"./types/BarDesign.js\";\n\n// Template\nimport BarTemplate from \"./generated/templates/BarTemplate.lit.js\";\n\n// Styles\nimport BarCss from \"./generated/themes/Bar.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The Bar is a container which is primarily used to hold titles, buttons and input elements\n * and its design and functionality is the basis for page headers and footers.\n * The component consists of three areas to hold its content - startContent slot, default slot and endContent slot.\n * It has the capability to center content, such as a title, while having other components on the left and right side.\n *\n * <h3>Usage</h3>\n * With the use of the design property, you can set the style of the Bar to appear designed like a Header, Subheader, Footer and FloatingFooter.\n * <br>\n * <b>Note:</b> Do not place a Bar inside another Bar or inside any bar-like component. Doing so may cause unpredictable behavior.\n *\n * <h3>Responsive Behavior</h3>\n * The default slot will be centered in the available space between the startContent and the endContent areas,\n * therefore it might not always be centered in the entire bar.\n *\n * <h3>CSS Shadow Parts</h3>\n *\n * <ui5-link target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/::part\">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.\n * <br>\n * The <code>ui5-bar</code> exposes the following CSS Shadow Parts:\n * <ul>\n * <li>bar - Used to style the wrapper of the content of the component</li>\n * </ul>\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/Bar.js\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.Bar\n * @implements sap.ui.webc.fiori.IBar\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-bar\n * @public\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-bar\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: BarCss,\n\ttemplate: BarTemplate,\n})\nclass Bar extends UI5Element {\n\t/**\n\t * Defines the component's design.\n\t *\n\t * @type {sap.ui.webc.fiori.types.BarDesign}\n\t * @name sap.ui.webc.fiori.Bar.prototype.design\n\t * @defaultvalue \"Header\"\n\t * @public\n\t */\n\t@property({ type: BarDesign, defaultValue: BarDesign.Header })\n\tdesign!: `${BarDesign}`\n\n\t/**\n\t* Defines the content at the start of the bar.\n\t* @type {HTMLElement[]}\n\t* @name sap.ui.webc.fiori.Bar.prototype.startContent\n\t* @slot\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\tstartContent!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the middle of the bar.\n\t* @type {HTMLElement[]}\n\t* @name sap.ui.webc.fiori.Bar.prototype.default\n\t* @slot middleContent\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tmiddleContent!: Array<HTMLElement>\n\n\t/**\n\t* Defines the content at the end of the bar.\n\t* @type {HTMLElement[]}\n\t* @name sap.ui.webc.fiori.Bar.prototype.endContent\n\t* @slot\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\tendContent!: Array<HTMLElement>\n\n\t_handleResizeBound: () => void;\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"label\": this.design,\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\thandleResize() {\n\t\tconst bar = this.getDomRef()!;\n\t\tconst barWidth = bar.offsetWidth;\n\t\tconst needShrinked = Array.from(bar.children).some(child => {\n\t\t\treturn (child as HTMLElement).offsetWidth > barWidth / 3;\n\t\t});\n\n\t\tbar.classList.toggle(\"ui5-bar-root-shrinked\", needShrinked);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-bar-root\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.getDomRef()!.querySelectorAll(\".ui5-bar-content-container\").forEach(child => {\n\t\t\tResizeHandler.register(child as HTMLElement, this._handleResizeBound);\n\t\t}, this);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\n\t\tthis.getDomRef()!.querySelectorAll(\".ui5-bar-content-container\").forEach(child => {\n\t\t\tResizeHandler.deregister(child as HTMLElement, this._handleResizeBound);\n\t\t}, this);\n\t }\n}\n\nBar.define();\n\nexport default Bar;\n"]}
1
+ {"version":3,"file":"Bar.js","sourceRoot":"","sources":["../src/Bar.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 property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport BarDesign from \"./types/BarDesign.js\";\nimport type { IBar } from \"./Interfaces.js\";\n\n// Template\nimport BarTemplate from \"./generated/templates/BarTemplate.lit.js\";\n\n// Styles\nimport BarCss from \"./generated/themes/Bar.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The Bar is a container which is primarily used to hold titles, buttons and input elements\n * and its design and functionality is the basis for page headers and footers.\n * The component consists of three areas to hold its content - startContent slot, default slot and endContent slot.\n * It has the capability to center content, such as a title, while having other components on the left and right side.\n *\n * <h3>Usage</h3>\n * With the use of the design property, you can set the style of the Bar to appear designed like a Header, Subheader, Footer and FloatingFooter.\n * <br>\n * <b>Note:</b> Do not place a Bar inside another Bar or inside any bar-like component. Doing so may cause unpredictable behavior.\n *\n * <h3>Responsive Behavior</h3>\n * The default slot will be centered in the available space between the startContent and the endContent areas,\n * therefore it might not always be centered in the entire bar.\n *\n * <h3>Keyboard Handling</h3>\n *\n * <h4>Fast Navigation</h4>\n * This component provides a build in fast navigation group which can be used via <code>F6 / Shift + F6</code> or <code> Ctrl + Alt(Option) + Down / Ctrl + Alt(Option) + Up</code>.\n * In order to use this functionality, you need to import the following module:\n * <code>import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"</code>\n * <br><br>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/Bar.js\";</code>\n *\n * @csspart bar - Used to style the wrapper of the content of the component\n * @constructor\n * @implements { IBar }\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.11\n */\n@customElement({\n\ttag: \"ui5-bar\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\tstyles: BarCss,\n\ttemplate: BarTemplate,\n})\nclass Bar extends UI5Element implements IBar {\n\t/**\n\t * Defines the component's design.\n\t *\n\t * @default \"Header\"\n\t * @public\n\t */\n\t@property({ type: BarDesign, defaultValue: BarDesign.Header })\n\tdesign!: `${BarDesign}`\n\n\t/**\n\t* Defines the content at the start of the bar.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\tstartContent!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the middle of the bar.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tmiddleContent!: Array<HTMLElement>\n\n\t/**\n\t* Defines the content at the end of the bar.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement })\n\tendContent!: Array<HTMLElement>\n\n\t_handleResizeBound: () => void;\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"label\": this.design,\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\thandleResize() {\n\t\tconst bar = this.getDomRef()!;\n\t\tconst barWidth = bar.offsetWidth;\n\t\tconst needShrinked = Array.from(bar.children).some(child => {\n\t\t\treturn (child as HTMLElement).offsetWidth > barWidth / 3;\n\t\t});\n\n\t\tbar.classList.toggle(\"ui5-bar-root-shrinked\", needShrinked);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-bar-root\": true,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.getDomRef()!.querySelectorAll(\".ui5-bar-content-container\").forEach(child => {\n\t\t\tResizeHandler.register(child as HTMLElement, this._handleResizeBound);\n\t\t}, this);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\n\t\tthis.getDomRef()!.querySelectorAll(\".ui5-bar-content-container\").forEach(child => {\n\t\t\tResizeHandler.deregister(child as HTMLElement, this._handleResizeBound);\n\t\t}, this);\n\t }\n}\n\nBar.define();\n\nexport default Bar;\n"]}
@@ -27,10 +27,7 @@ type BarcodeScannerDialogScanErrorEventDetail = {
27
27
  * For a list of supported barcode formats, see the <ui5-link target="_blank" href="https://github.com/zxing-js/library">zxing-js/library</ui5-link> documentation.
28
28
  *
29
29
  * @constructor
30
- * @author SAP SE
31
- * @alias sap.ui.webc.fiori.BarcodeScannerDialog
32
- * @extends sap.ui.webc.base.UI5Element
33
- * @tagname ui5-barcode-scanner-dialog
30
+ * @extends UI5Element
34
31
  * @public
35
32
  * @since 1.0.0-rc.15
36
33
  */
@@ -38,9 +35,7 @@ declare class BarcodeScannerDialog extends UI5Element {
38
35
  /**
39
36
  * Indicates whether a loading indicator should be displayed in the dialog.
40
37
  *
41
- * @type {boolean}
42
- * @name sap.ui.webc.fiori.BarcodeScannerDialog.prototype.loading
43
- * @defaultvalue false
38
+ * @default false
44
39
  * @private
45
40
  */
46
41
  loading: boolean;
@@ -51,17 +46,11 @@ declare class BarcodeScannerDialog extends UI5Element {
51
46
  static onDefine(): Promise<void>;
52
47
  /**
53
48
  * Shows a dialog with the camera videostream. Starts a scan session.
54
- * @method
55
- * @name sap.ui.webc.fiori.BarcodeScannerDialog#show
56
- * @returns {void}
57
49
  * @public
58
50
  */
59
51
  show(): void;
60
52
  /**
61
53
  * Closes the dialog and the scan session.
62
- * @method
63
- * @name sap.ui.webc.fiori.BarcodeScannerDialog#close
64
- * @returns {void}
65
54
  * @public
66
55
  */
67
56
  close(): void;
@@ -55,10 +55,7 @@ const defaultMediaConstraints = {
55
55
  * For a list of supported barcode formats, see the <ui5-link target="_blank" href="https://github.com/zxing-js/library">zxing-js/library</ui5-link> documentation.
56
56
  *
57
57
  * @constructor
58
- * @author SAP SE
59
- * @alias sap.ui.webc.fiori.BarcodeScannerDialog
60
- * @extends sap.ui.webc.base.UI5Element
61
- * @tagname ui5-barcode-scanner-dialog
58
+ * @extends UI5Element
62
59
  * @public
63
60
  * @since 1.0.0-rc.15
64
61
  */
@@ -72,9 +69,6 @@ let BarcodeScannerDialog = BarcodeScannerDialog_1 = class BarcodeScannerDialog e
72
69
  }
73
70
  /**
74
71
  * Shows a dialog with the camera videostream. Starts a scan session.
75
- * @method
76
- * @name sap.ui.webc.fiori.BarcodeScannerDialog#show
77
- * @returns {void}
78
72
  * @public
79
73
  */
80
74
  show() {
@@ -96,9 +90,6 @@ let BarcodeScannerDialog = BarcodeScannerDialog_1 = class BarcodeScannerDialog e
96
90
  }
97
91
  /**
98
92
  * Closes the dialog and the scan session.
99
- * @method
100
- * @name sap.ui.webc.fiori.BarcodeScannerDialog#close
101
- * @returns {void}
102
93
  * @public
103
94
  */
104
95
  close() {
@@ -180,7 +171,6 @@ BarcodeScannerDialog = BarcodeScannerDialog_1 = __decorate([
180
171
  /**
181
172
  * Fires when the scan is completed successfuuly.
182
173
  *
183
- * @event sap.ui.webc.fiori.BarcodeScannerDialog#scan-success
184
174
  * @param {string} text the scan result as string
185
175
  * @param {Object} rawBytes the scan result as a Uint8Array
186
176
  * @public
@@ -188,20 +178,28 @@ BarcodeScannerDialog = BarcodeScannerDialog_1 = __decorate([
188
178
  ,
189
179
  event("scan-success", {
190
180
  detail: {
181
+ /**
182
+ * @public
183
+ */
191
184
  text: { type: String },
185
+ /**
186
+ * @public
187
+ */
192
188
  rawBytes: { type: Object },
193
189
  },
194
190
  })
195
191
  /**
196
192
  * Fires when the scan fails with error.
197
193
  *
198
- * @event sap.ui.webc.fiori.BarcodeScannerDialog#scan-error
199
194
  * @param {string} message the error message
200
195
  * @public
201
196
  */
202
197
  ,
203
198
  event("scan-error", {
204
199
  detail: {
200
+ /**
201
+ * @public
202
+ */
205
203
  message: { type: String },
206
204
  },
207
205
  })
@@ -1 +1 @@
1
- {"version":3,"file":"BarcodeScannerDialog.js","sourceRoot":"","sources":["../src/BarcodeScannerDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport * as ZXing from \"@zxing/library/umd/index.min.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { Result, Exception } from \"@zxing/library/esm5/index.js\";\n\n// Texts\nimport {\n\tBARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT,\n\tBARCODE_SCANNER_DIALOG_LOADING_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport BarcodeScannerDialogTemplate from \"./generated/templates/BarcodeScannerDialogTemplate.lit.js\";\n\n// Styles\nimport BarcodeScannerDialogCss from \"./generated/themes/BarcodeScannerDialog.css.js\";\n\n// some tools handle named exports from UMD files and the window object is not assigned but the imports work (vitejs)\n// other tools do not handle named exports (they are undefined after the import), but the window global is assigned and can be used (web dev server)\nconst effectiveZXing = { ...ZXing, ...window.ZXing };\nconst { BrowserMultiFormatReader, NotFoundException } = effectiveZXing;\n\nconst defaultMediaConstraints = {\n\taudio: false,\n\tvideo: {\n\t\theight: {\n\t\t\tmin: 480,\n\t\t\tideal: 960,\n\t\t\tmax: 1440,\n\t\t},\n\t\taspectRatio: 1.333333333,\n\t\tfacingMode: \"environment\",\n\t},\n};\n\ntype BarcodeScannerDialogScanSuccessEventDetail = {\n\ttext: string,\n\trawBytes: Uint8Array,\n};\n\ntype BarcodeScannerDialogScanErrorEventDetail = {\n\tmessage: string,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>BarcodeScannerDialog</code> component provides barcode scanning functionality for all devices that support the <code>MediaDevices.getUserMedia()</code> native API.\n * Opening the dialog launches the device camera and scans for known barcode formats.\n * <br>\n * <br>\n * A <code>scanSuccess</code> event fires whenever a barcode is identified\n * and a <code>scanError</code> event fires when the scan failed (for example, due to missing permisions).\n * <br>\n * <br>\n * Internally, the component uses the zxing-js/library third party OSS.\n *\n * For a list of supported barcode formats, see the <ui5-link target=\"_blank\" href=\"https://github.com/zxing-js/library\">zxing-js/library</ui5-link> documentation.\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.BarcodeScannerDialog\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-barcode-scanner-dialog\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-barcode-scanner-dialog\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstaticAreaTemplate: BarcodeScannerDialogTemplate,\n\tstaticAreaStyles: [BarcodeScannerDialogCss],\n\tdependencies: [\n\t\tDialog,\n\t\tBusyIndicator,\n\t\tButton,\n\t],\n})\n/**\n * Fires when the scan is completed successfuuly.\n *\n * @event sap.ui.webc.fiori.BarcodeScannerDialog#scan-success\n * @param {string} text the scan result as string\n * @param {Object} rawBytes the scan result as a Uint8Array\n * @public\n */\n@event(\"scan-success\", {\n\tdetail: {\n\t\ttext: { type: String },\n\t\trawBytes: { type: Object },\n\t},\n})\n\n/**\n * Fires when the scan fails with error.\n *\n * @event sap.ui.webc.fiori.BarcodeScannerDialog#scan-error\n * @param {string} message the error message\n * @public\n */\n@event(\"scan-error\", {\n\tdetail: {\n\t\tmessage: { type: String },\n\t},\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Indicates whether a loading indicator should be displayed in the dialog.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.fiori.BarcodeScannerDialog.prototype.loading\n\t * @defaultvalue false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\tdialog?: Dialog;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\t/**\n\t * Shows a dialog with the camera videostream. Starts a scan session.\n\t * @method\n\t * @name sap.ui.webc.fiori.BarcodeScannerDialog#show\n\t * @returns {void}\n\t * @public\n\t */\n\tshow() {\n\t\tif (this.loading) {\n\t\t\tconsole.warn(\"Barcode scanning is already in progress.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._hasGetUserMedia()) {\n\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\treturn;\n\t\t}\n\n\t\tthis.loading = true;\n\n\t\tthis._getUserPermission()\n\t\t\t.then(() => this._showDialog())\n\t\t\t.catch(err => {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err });\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\t}\n\n\t/**\n\t * Closes the dialog and the scan session.\n\t * @method\n\t * @name sap.ui.webc.fiori.BarcodeScannerDialog#close\n\t * @returns {void}\n\t * @public\n\t */\n\tclose() {\n\t\tthis._closeDialog();\n\t\tthis.loading = false;\n\t}\n\n\t/**\n\t * PRIVATE METHODS\n\t */\n\n\t_hasGetUserMedia() {\n\t\treturn !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n\t}\n\n\t_getUserPermission() {\n\t\treturn navigator.mediaDevices.getUserMedia(defaultMediaConstraints);\n\t}\n\n\tasync _getDialog() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\tasync _getVideoElement() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<HTMLVideoElement>(\".ui5-barcode-scanner-dialog-video\")!;\n\t}\n\n\tasync _showDialog() {\n\t\tthis.dialog = await this._getDialog();\n\t\tthis.dialog.show();\n\t}\n\n\t_closeDialog() {\n\t\tif (this.dialog && this.dialog.opened) {\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n\n\t_startReader() {\n\t\tthis._decodeFromCamera();\n\t}\n\n\tasync _resetReader() {\n\t\tconst videoElement = await this._getVideoElement();\n\t\tvideoElement.pause();\n\t\tthis._codeReader.reset();\n\t}\n\n\tasync _decodeFromCamera() {\n\t\tconst videoElement = await this._getVideoElement();\n\t\tthis._codeReader.decodeFromVideoDevice(null, videoElement, (result: Result, err?: Exception) => {\n\t\t\tthis.loading = false;\n\t\t\tif (result) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: result.getText(),\n\t\t\t\t\t\trawBytes: result.getRawBytes(),\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tif (err && !(err instanceof NotFoundException)) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message });\n\t\t\t}\n\t\t}).catch((err: Error) => this.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message }));\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT);\n\t}\n\n\tget _busyIndicatorText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_LOADING_TXT);\n\t}\n}\n\nBarcodeScannerDialog.define();\n\nexport default BarcodeScannerDialog;\nexport type {\n\tBarcodeScannerDialogScanErrorEventDetail,\n\tBarcodeScannerDialogScanSuccessEventDetail,\n};\n"]}
1
+ {"version":3,"file":"BarcodeScannerDialog.js","sourceRoot":"","sources":["../src/BarcodeScannerDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport * as ZXing from \"@zxing/library/umd/index.min.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { Result, Exception } from \"@zxing/library/esm5/index.js\";\n\n// Texts\nimport {\n\tBARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT,\n\tBARCODE_SCANNER_DIALOG_LOADING_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport BarcodeScannerDialogTemplate from \"./generated/templates/BarcodeScannerDialogTemplate.lit.js\";\n\n// Styles\nimport BarcodeScannerDialogCss from \"./generated/themes/BarcodeScannerDialog.css.js\";\n\n// some tools handle named exports from UMD files and the window object is not assigned but the imports work (vitejs)\n// other tools do not handle named exports (they are undefined after the import), but the window global is assigned and can be used (web dev server)\nconst effectiveZXing = { ...ZXing, ...window.ZXing };\nconst { BrowserMultiFormatReader, NotFoundException } = effectiveZXing;\n\nconst defaultMediaConstraints = {\n\taudio: false,\n\tvideo: {\n\t\theight: {\n\t\t\tmin: 480,\n\t\t\tideal: 960,\n\t\t\tmax: 1440,\n\t\t},\n\t\taspectRatio: 1.333333333,\n\t\tfacingMode: \"environment\",\n\t},\n};\n\ntype BarcodeScannerDialogScanSuccessEventDetail = {\n\ttext: string,\n\trawBytes: Uint8Array,\n};\n\ntype BarcodeScannerDialogScanErrorEventDetail = {\n\tmessage: string,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>BarcodeScannerDialog</code> component provides barcode scanning functionality for all devices that support the <code>MediaDevices.getUserMedia()</code> native API.\n * Opening the dialog launches the device camera and scans for known barcode formats.\n * <br>\n * <br>\n * A <code>scanSuccess</code> event fires whenever a barcode is identified\n * and a <code>scanError</code> event fires when the scan failed (for example, due to missing permisions).\n * <br>\n * <br>\n * Internally, the component uses the zxing-js/library third party OSS.\n *\n * For a list of supported barcode formats, see the <ui5-link target=\"_blank\" href=\"https://github.com/zxing-js/library\">zxing-js/library</ui5-link> documentation.\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-barcode-scanner-dialog\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstaticAreaTemplate: BarcodeScannerDialogTemplate,\n\tstaticAreaStyles: [BarcodeScannerDialogCss],\n\tdependencies: [\n\t\tDialog,\n\t\tBusyIndicator,\n\t\tButton,\n\t],\n})\n/**\n * Fires when the scan is completed successfuuly.\n *\n * @param {string} text the scan result as string\n * @param {Object} rawBytes the scan result as a Uint8Array\n * @public\n */\n@event(\"scan-success\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttext: { type: String },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\trawBytes: { type: Object },\n\t},\n})\n\n/**\n * Fires when the scan fails with error.\n *\n * @param {string} message the error message\n * @public\n */\n@event(\"scan-error\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tmessage: { type: String },\n\t},\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Indicates whether a loading indicator should be displayed in the dialog.\n\t *\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\tdialog?: Dialog;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\t/**\n\t * Shows a dialog with the camera videostream. Starts a scan session.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (this.loading) {\n\t\t\tconsole.warn(\"Barcode scanning is already in progress.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._hasGetUserMedia()) {\n\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\treturn;\n\t\t}\n\n\t\tthis.loading = true;\n\n\t\tthis._getUserPermission()\n\t\t\t.then(() => this._showDialog())\n\t\t\t.catch(err => {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err });\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\t}\n\n\t/**\n\t * Closes the dialog and the scan session.\n\t * @public\n\t */\n\tclose():void {\n\t\tthis._closeDialog();\n\t\tthis.loading = false;\n\t}\n\n\t/**\n\t * PRIVATE METHODS\n\t */\n\n\t_hasGetUserMedia() {\n\t\treturn !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n\t}\n\n\t_getUserPermission() {\n\t\treturn navigator.mediaDevices.getUserMedia(defaultMediaConstraints);\n\t}\n\n\tasync _getDialog() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\tasync _getVideoElement() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<HTMLVideoElement>(\".ui5-barcode-scanner-dialog-video\")!;\n\t}\n\n\tasync _showDialog() {\n\t\tthis.dialog = await this._getDialog();\n\t\tthis.dialog.show();\n\t}\n\n\t_closeDialog() {\n\t\tif (this.dialog && this.dialog.opened) {\n\t\t\tthis.dialog.close();\n\t\t}\n\t}\n\n\t_startReader() {\n\t\tthis._decodeFromCamera();\n\t}\n\n\tasync _resetReader() {\n\t\tconst videoElement = await this._getVideoElement();\n\t\tvideoElement.pause();\n\t\tthis._codeReader.reset();\n\t}\n\n\tasync _decodeFromCamera() {\n\t\tconst videoElement = await this._getVideoElement();\n\t\tthis._codeReader.decodeFromVideoDevice(null, videoElement, (result: Result, err?: Exception) => {\n\t\t\tthis.loading = false;\n\t\t\tif (result) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: result.getText(),\n\t\t\t\t\t\trawBytes: result.getRawBytes(),\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tif (err && !(err instanceof NotFoundException)) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message });\n\t\t\t}\n\t\t}).catch((err: Error) => this.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message }));\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT);\n\t}\n\n\tget _busyIndicatorText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_LOADING_TXT);\n\t}\n}\n\nBarcodeScannerDialog.define();\n\nexport default BarcodeScannerDialog;\nexport type {\n\tBarcodeScannerDialogScanErrorEventDetail,\n\tBarcodeScannerDialogScanSuccessEventDetail,\n};\n"]}
@@ -80,20 +80,16 @@ type DynamicSideContentLayoutChangeEventDetail = {
80
80
  * <code>import "@ui5/webcomponents-fiori/dist/DynamicSideContent";</code>
81
81
  *
82
82
  * @constructor
83
- * @author SAP SE
84
- * @alias sap.ui.webc.fiori.DynamicSideContent
85
- * @extends sap.ui.webc.base.UI5Element
86
- * @tagname ui5-dynamic-side-content
83
+ * @extends UI5Element
87
84
  * @public
88
85
  * @since 1.1.0
86
+ * @slot {Array<HTMLElement>} default - Defines the main content.
89
87
  */
90
88
  declare class DynamicSideContent extends UI5Element {
91
89
  /**
92
90
  * Defines the visibility of the main content.
93
91
  *
94
- * @type {boolean}
95
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.hideMainContent
96
- * @defaultvalue false
92
+ * @default false
97
93
  * @public
98
94
  *
99
95
  */
@@ -101,9 +97,7 @@ declare class DynamicSideContent extends UI5Element {
101
97
  /**
102
98
  * Defines the visibility of the side content.
103
99
  *
104
- * @type {boolean}
105
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.hideSideContent
106
- * @defaultvalue false
100
+ * @default false
107
101
  * @public
108
102
  *
109
103
  */
@@ -120,9 +114,7 @@ declare class DynamicSideContent extends UI5Element {
120
114
  * <li><code>End</code></li>
121
115
  * </ul>
122
116
  *
123
- * @type {sap.ui.webc.fiori.types.SideContentPosition}
124
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentPosition
125
- * @defaultvalue "End"
117
+ * @default "End"
126
118
  * @public
127
119
  *
128
120
  */
@@ -141,9 +133,7 @@ declare class DynamicSideContent extends UI5Element {
141
133
  * <li><code>NeverShow</code></li>
142
134
  * </ul>
143
135
  *
144
- * @type {sap.ui.webc.fiori.types.SideContentVisibility}
145
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentVisibility
146
- * @defaultvalue "ShowAboveS"
136
+ * @default "ShowAboveS"
147
137
  * @public
148
138
  *
149
139
  */
@@ -161,9 +151,7 @@ declare class DynamicSideContent extends UI5Element {
161
151
  * <li><code>OnMinimumWidth</code></li>
162
152
  * </ul>
163
153
  *
164
- * @type {sap.ui.webc.fiori.types.SideContentFallDown}
165
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentFallDown
166
- * @defaultvalue "OnMinimumWidth"
154
+ * @default "OnMinimumWidth"
167
155
  * @public
168
156
  *
169
157
  */
@@ -174,9 +162,7 @@ declare class DynamicSideContent extends UI5Element {
174
162
  * except for phone, where the main and side contents are switching visibility
175
163
  * using the toggle method.
176
164
  *
177
- * @type {boolean}]
178
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.equalSplit
179
- * @defaultvalue false
165
+ * @default false
180
166
  * @public
181
167
  *
182
168
  */
@@ -197,20 +183,9 @@ declare class DynamicSideContent extends UI5Element {
197
183
  * @private
198
184
  */
199
185
  _currentBreakpoint: string;
200
- /**
201
- * Defines the main content.
202
- *
203
- * @type {HTMLElement[]}
204
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.default
205
- * @slot
206
- * @public
207
- */
208
186
  /**
209
187
  * Defines the side content.
210
188
  *
211
- * @type {HTMLElement[]}
212
- * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContent
213
- * @slot
214
189
  * @public
215
190
  */
216
191
  sideContent: Array<HTMLElement>;
@@ -223,9 +198,8 @@ declare class DynamicSideContent extends UI5Element {
223
198
  onExitDOM(): void;
224
199
  /**
225
200
  * Toggles visibility of main and side contents on S screen size (mobile device).
201
+ *
226
202
  * @public
227
- * @method
228
- * @name sap.ui.webc.fiori.DynamicSideContent#toggleContents
229
203
  */
230
204
  toggleContents(): void;
231
205
  get classes(): ClassMap;
@@ -96,12 +96,10 @@ MINIMUM_WIDTH_BREAKPOINT = 960; // Minimum width of the control where main and s
96
96
  * <code>import "@ui5/webcomponents-fiori/dist/DynamicSideContent";</code>
97
97
  *
98
98
  * @constructor
99
- * @author SAP SE
100
- * @alias sap.ui.webc.fiori.DynamicSideContent
101
- * @extends sap.ui.webc.base.UI5Element
102
- * @tagname ui5-dynamic-side-content
99
+ * @extends UI5Element
103
100
  * @public
104
101
  * @since 1.1.0
102
+ * @slot {Array<HTMLElement>} default - Defines the main content.
105
103
  */
106
104
  let DynamicSideContent = DynamicSideContent_1 = class DynamicSideContent extends UI5Element {
107
105
  constructor() {
@@ -122,9 +120,8 @@ let DynamicSideContent = DynamicSideContent_1 = class DynamicSideContent extends
122
120
  }
123
121
  /**
124
122
  * Toggles visibility of main and side contents on S screen size (mobile device).
123
+ *
125
124
  * @public
126
- * @method
127
- * @name sap.ui.webc.fiori.DynamicSideContent#toggleContents
128
125
  */
129
126
  toggleContents() {
130
127
  if (this.breakpoint === this.sizeS && this.sideContentVisibility !== SideContentVisibility.AlwaysShow) {
@@ -347,7 +344,6 @@ DynamicSideContent = DynamicSideContent_1 = __decorate([
347
344
  })
348
345
  /**
349
346
  * Fires when the current breakpoint has been changed.
350
- * @event sap.ui.webc.fiori.DynamicSideContent#layout-change
351
347
  * @param {string} currentBreakpoint the current breakpoint.
352
348
  * @param {string} previousBreakpoint the breakpoint that was active before change to current breakpoint.
353
349
  * @param {boolean} mainContentVisible visibility of the main content.
@@ -357,15 +353,27 @@ DynamicSideContent = DynamicSideContent_1 = __decorate([
357
353
  ,
358
354
  event("layout-change", {
359
355
  detail: {
356
+ /**
357
+ * @public
358
+ */
360
359
  currentBreakpoint: {
361
360
  type: String,
362
361
  },
362
+ /**
363
+ * @public
364
+ */
363
365
  previousBreakpoint: {
364
366
  type: String,
365
367
  },
368
+ /**
369
+ * @public
370
+ */
366
371
  mainContentVisible: {
367
372
  type: Boolean,
368
373
  },
374
+ /**
375
+ * @public
376
+ */
369
377
  sideContentVisible: {
370
378
  type: Boolean,
371
379
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicSideContent.js","sourceRoot":"","sources":["../src/DynamicSideContent.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,0BAA0B,MAAM,yDAAyD,CAAC;AAEjG,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF,QAAQ;AACR,OAAO,EACN,mBAAmB,GACnB,MAAM,mCAAmC,CAAC;AAE3C,+BAA+B;AAC/B,MAAM,cAAc,GAAG,GAAG,EAAE,0CAA0C;AACrE,cAAc,GAAG,IAAI,EAAE,0CAA0C;AACjE,eAAe,GAAG,IAAI,EAAE,2CAA2C;AACnE,wBAAwB,GAAG,GAAG,CAAC,CAAC,6EAA6E;AAS9G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AAgCH,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAsJ1C;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAMD,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,oBAAkB,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACjF,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,UAAU;QACT,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAED,SAAS;QACR,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACb,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,EAAE;YACtG,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B;IACF,CAAC;IAED,IAAI,OAAO;QACV,MAAM,UAAU,GAAG,cAAc,EAChC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EACpD,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EACpD,OAAO,GAAa;YACnB,IAAI,EAAE;gBACL,cAAc,EAAE,IAAI;aACpB;YACD,IAAI,EAAE;gBACL,cAAc,EAAE,IAAI;aACpB;SACD,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;QAE/C,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,MAAM;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAChE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAChD,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAChD,aAAa,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAErI,OAAO;YACN,IAAI,EAAE;gBACL,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;aACtD;YACD,IAAI,EAAE;gBACL,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;aACzD;YACD,IAAI,EAAE;gBACL,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;aACzD;SACD,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,OAAO,EAAE,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACnE,CAAC;IACH,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,cAAc;QACjB,OAAQ,IAAI,CAAC,aAA6B,CAAC,WAAW,CAAC;IACxD,CAAC;IAED,IAAI,UAAU;QACb,IAAI,IAAI,CAAC;QAET,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE;YAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAClB;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,EAAE;YACzF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAClB;aAAM,IAAI,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,eAAe,EAAE;YAC1F,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;SAClB;aAAM;YACN,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACnB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,KAAK,CAAC;IAC/D,CAAC;IAED,YAAY;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,eAAe;QACd,IAAI,QAAiB,EACpB,QAAiB,EACjB,WAAqB,CAAC;QAEvB,6BAA6B;QAC7B,QAAQ,IAAI,CAAC,UAAU,EAAE;YACzB,KAAK,IAAI,CAAC,KAAK;gBACd,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;gBACvB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;gBACvB,MAAM;YACP,KAAK,IAAI,CAAC,KAAK;gBACd,IAAI,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,OAAO;uBACxD,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,MAAM;uBACvD,CAAC,IAAI,CAAC,cAAc,IAAI,wBAAwB,IAAI,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,cAAc,CAAC,EAAE;oBACzH,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;iBACvB;qBAAM;oBACN,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;iBACzD;gBACD,WAAW,GAAG,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU;uBACzE,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACpE,MAAM;YACP,KAAK,IAAI,CAAC,KAAK;gBACd,IAAI,IAAI,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,OAAO,EAAE;oBAC7D,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;oBACvB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;iBACvB;qBAAM;oBACN,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;iBACrD;gBACD,WAAW,GAAG,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU;uBACzE,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU;uBAC/D,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACpE,MAAM;YACP,KAAK,IAAI,CAAC,MAAM;gBACf,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrD,WAAW,GAAG,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,SAAS,CAAC;SAC7E;QAED,IAAI,IAAI,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,UAAU,EAAE;YACpE,WAAW,GAAG,IAAI,CAAC;SACnB;QAED,2FAA2F;QAC3F,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3D,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,WAAW,GAAG,KAAK,CAAC;SACpB;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3D,WAAW,GAAG,IAAI,CAAC;SACnB;QAED,kCAAkC;QAClC,IAAI,CAAC,WAAW,EAAE;YACjB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;SACtB;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,UAAU,EAAE;YAChD,MAAM,WAAW,GAAG;gBACnB,iBAAiB,EAAE,IAAI,CAAC,UAAU;gBAClC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,kBAAkB,EAAE,QAAQ,KAAK,IAAI,CAAC,KAAK;gBAC3C,kBAAkB,EAAE,QAAQ,KAAK,IAAI,CAAC,KAAK;aAC3C,CAAC;YACF,IAAI,CAAC,SAAS,CAA4C,eAAe,EAAE,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;SAC1C;QAED,wBAAwB;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,QAAgB;QAC/C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACtB;IACF,CAAC;CACD,CAAA;AAhYA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACF;AAY1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACF;AAqB1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,GAAG,EAAE,CAAC;+DAChC;AAuB/C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,qBAAqB,CAAC,UAAU,EAAE,CAAC;iEACvC;AAsBnD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC,cAAc,EAAE,CAAC;+DAC3C;AAe/C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACP;AAMrB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDAClC;AAMjB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mDAClC;AAMjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oDAC5B;AAMnB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8DACJ;AAoB5B;IADC,IAAI,EAAE;uDAC0B;AApJ5B,kBAAkB;IA/BvB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,0BAA0B;KACpC,CAAC;IACF;;;;;;;;OAQG;;IACF,KAAK,CAAC,eAAe,EAAE;QACvB,MAAM,EAAE;YACP,iBAAiB,EAAE;gBAClB,IAAI,EAAE,MAAM;aACZ;YACD,kBAAkB,EAAE;gBACnB,IAAI,EAAE,MAAM;aACZ;YACD,kBAAkB,EAAE;gBACnB,IAAI,EAAE,OAAO;aACb;YACD,kBAAkB,EAAE;gBACnB,IAAI,EAAE,OAAO;aACb;SACD;KACD,CAAC;GACI,kBAAkB,CA2YvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport SideContentPosition from \"./types/SideContentPosition.js\";\nimport SideContentVisibility from \"./types/SideContentVisibility.js\";\nimport SideContentFallDown from \"./types/SideContentFallDown.js\";\nimport DynamicSideContentTemplate from \"./generated/templates/DynamicSideContentTemplate.lit.js\";\n\n// Styles\nimport DynamicSideContentCss from \"./generated/themes/DynamicSideContent.css.js\";\n\n// Texts\nimport {\n\tDSC_SIDE_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Breakpoint-related constants\nconst S_M_BREAKPOINT = 720,\t// Breakpoint between S and M screen sizes\n\tM_L_BREAKPOINT = 1024, // Breakpoint between M and L screen sizes\n\tL_XL_BREAKPOINT = 1440, // Breakpoint between L and XL screen sizes\n\tMINIMUM_WIDTH_BREAKPOINT = 960; // Minimum width of the control where main and side contents are side by side\n\ntype DynamicSideContentLayoutChangeEventDetail = {\n\tcurrentBreakpoint: string,\n\tpreviousBreakpoint: string,\n\tmainContentVisible: boolean,\n\tsideContentVisible: boolean,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The DynamicSideContent (<code>ui5-dynamic-side-content</code>) is a layout component that allows additional content\n * to be displayed in a way that flexibly adapts to different screen sizes. The side\n * content appears in a container next to or directly below the main content\n * (it doesn't overlay). When the side content is triggered, the main content becomes\n * narrower (if appearing side-by-side). The side content contains a separate scrollbar\n * when appearing next to the main content.\n *\n *\n * <h3>Usage</h3>\n *\n * <i>When to use?</i>\n *\n * Use this component if you want to display relevant information that is not critical\n * for users to complete a task. Users should have access to all the key functions and\n * critical information in the app even if they do not see the side content. This is\n * important because on smaller screen sizes it may be difficult to display the side\n * content in a way that is easily accessible for the user.\n *\n * <i>When not to use?</i>\n *\n * Don't use it if you want to display navigation or critical information that prevents\n * users from completing a task when they have no access to the side content.\n *\n *\n * <h3>Responsive Behavior</h3>\n *\n * Screen width > 1440px\n *\n * <ul><li>Main vs. side content ratio is 75 vs. 25 percent (with a minimum of 320px\n * each).</li>\n * <li>If the application defines a trigger, the side content can be hidden.</li></ul>\n *\n * Screen width <= 1440px and > 1024px\n *\n * <ul><li>Main vs. side content ratio is 66.666 vs. 33.333 percent (with a minimum of\n * 320px each). If the side content width falls below 320 px, it automatically slides\n * under the main content, unless the app development team specifies that it should\n * disappear.</li></ul>\n *\n * Screen width <= 1024px and > 720px\n *\n * <ul><li>The side content ratio is fixed to 340px, and the main content takes the rest\n * of the width. Only if the <code>sideContentFallDown</code> is set to <code>OnMinimumWidth</code>\n * and screen width is <= 960px and > 720px the side content falls below the main content.</li></ul>\n *\n * Screen width <= 720px (for example on a mobile device)\n *\n * <ul><li>In this case, the side content automatically disappears from the screen (unless\n * specified to stay under the content by setting of <code>sideContentVisibility</code>\n * property to <code>AlwaysShow</code>) and can be triggered from a pre-set trigger\n * (specified within the app). When the side content is triggered, it replaces the main\n * content. We recommend that you always place the trigger for the side content in the\n * same location, such as in the app footer.</li></ul>\n *\n * A special case allows switching the comparison mode between the main and side content.\n * In this case, the screen is split into 50:50 percent for main vs. side content. The\n * responsive behavior of the equal split is the same as in the standard view - the\n * side content disappears on screen widths of less than 720 px and can only be\n * viewed by triggering it.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/DynamicSideContent\";</code>\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.fiori.DynamicSideContent\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-dynamic-side-content\n * @public\n * @since 1.1.0\n */\n@customElement({\n\ttag: \"ui5-dynamic-side-content\",\n\trenderer: litRender,\n\tstyles: DynamicSideContentCss,\n\ttemplate: DynamicSideContentTemplate,\n})\n/**\n * Fires when the current breakpoint has been changed.\n * @event sap.ui.webc.fiori.DynamicSideContent#layout-change\n * @param {string} currentBreakpoint the current breakpoint.\n * @param {string} previousBreakpoint the breakpoint that was active before change to current breakpoint.\n * @param {boolean} mainContentVisible visibility of the main content.\n * @param {boolean} sideContentVisible visibility of the side content.\n * @public\n */\n@event(\"layout-change\", {\n\tdetail: {\n\t\tcurrentBreakpoint: {\n\t\t\ttype: String,\n\t\t},\n\t\tpreviousBreakpoint: {\n\t\t\ttype: String,\n\t\t},\n\t\tmainContentVisible: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\tsideContentVisible: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\nclass DynamicSideContent extends UI5Element {\n\t/**\n\t * Defines the visibility of the main content.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.hideMainContent\n\t * @defaultvalue false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideMainContent!: boolean;\n\n\t/**\n\t * Defines the visibility of the side content.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.hideSideContent\n\t * @defaultvalue false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideSideContent!: boolean;\n\n\t/**\n\t * Defines whether the side content is positioned before the main content (left side\n\t * in LTR mode), or after the the main content (right side in LTR mode).\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>Start</code></li>\n\t * <li><code>End</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.fiori.types.SideContentPosition}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentPosition\n\t * @defaultvalue \"End\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentPosition, defaultValue: SideContentPosition.End })\n\tsideContentPosition!: `${SideContentPosition}`;\n\n\t/**\n\t * Defines on which breakpoints the side content is visible.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>AlwaysShow</code></li>\n\t * <li><code>ShowAboveL</code></li>\n\t * <li><code>ShowAboveM</code></li>\n\t * <li><code>ShowAboveS</code></li>\n\t * <li><code>NeverShow</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.fiori.types.SideContentVisibility}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentVisibility\n\t * @defaultvalue \"ShowAboveS\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentVisibility, defaultValue: SideContentVisibility.ShowAboveS })\n\tsideContentVisibility!: `${SideContentVisibility}`;\n\n\t/**\n\t * Defines on which breakpoints the side content falls down below the main content.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>BelowXL</code></li>\n\t * <li><code>BelowL</code></li>\n\t * <li><code>BelowM</code></li>\n\t * <li><code>OnMinimumWidth</code></li>\n\t * </ul>\n\t *\n\t * @type {sap.ui.webc.fiori.types.SideContentFallDown}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContentFallDown\n\t * @defaultvalue \"OnMinimumWidth\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentFallDown, defaultValue: SideContentFallDown.OnMinimumWidth })\n\tsideContentFallDown!: `${SideContentFallDown}`;\n\n\t/**\n\t * Defines whether the component is in equal split mode. In this mode, the side and\n\t * the main content take 50:50 percent of the container on all screen sizes\n\t * except for phone, where the main and side contents are switching visibility\n\t * using the toggle method.\n\t *\n\t * @type {boolean}]\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.equalSplit\n\t * @defaultvalue false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\tequalSplit!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_mcSpan!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_scSpan!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_toggled!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_currentBreakpoint!: string;\n\n\t/**\n\t * Defines the main content.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.default\n\t * @slot\n\t * @public\n\t */\n\n\t/**\n\t * Defines the side content.\n\t *\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.fiori.DynamicSideContent.prototype.sideContent\n\t * @slot\n\t * @public\n\t */\n\t@slot()\n\tsideContent!: Array<HTMLElement>;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tDynamicSideContent.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tonAfterRendering() {\n\t\tthis._resizeContents();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\t/**\n\t * Toggles visibility of main and side contents on S screen size (mobile device).\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.fiori.DynamicSideContent#toggleContents\n\t */\n\ttoggleContents() {\n\t\tif (this.breakpoint === this.sizeS && this.sideContentVisibility !== SideContentVisibility.AlwaysShow) {\n\t\t\tthis._toggled = !this._toggled;\n\t\t}\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst gridPrefix = \"ui5-dsc-span\",\n\t\t\tmcSpan = this._toggled ? this._scSpan : this._mcSpan,\n\t\t\tscSpan = this._toggled ? this._mcSpan : this._scSpan,\n\t\t\tclasses: ClassMap = {\n\t\t\t\tmain: {\n\t\t\t\t\t\"ui5-dsc-main\": true,\n\t\t\t\t},\n\t\t\t\tside: {\n\t\t\t\t\t\"ui5-dsc-side\": true,\n\t\t\t\t},\n\t\t\t};\n\n\t\tclasses.main[`${gridPrefix}-${mcSpan}`] = true;\n\t\tclasses.side[`${gridPrefix}-${scSpan}`] = true;\n\n\t\treturn classes;\n\t}\n\n\tget styles() {\n\t\tconst isToggled = this.breakpoint === this.sizeS && this._toggled,\n\t\t\tmcSpan = isToggled ? this._scSpan : this._mcSpan,\n\t\t\tscSpan = isToggled ? this._mcSpan : this._scSpan,\n\t\t\tcontentHeight = this.breakpoint === this.sizeS && this.sideContentVisibility !== SideContentVisibility.AlwaysShow ? \"100%\" : \"auto\";\n\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"flex-wrap\": this._mcSpan === \"12\" ? \"wrap\" : \"nowrap\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\t\"height\": mcSpan === this.span12 ? contentHeight : \"100%\",\n\t\t\t},\n\t\t\tside: {\n\t\t\t\t\"height\": scSpan === this.span12 ? contentHeight : \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"label\": DynamicSideContent.i18nBundle.getText(DSC_SIDE_ARIA_LABEL),\n\t\t};\n\t}\n\n\tget sizeS() {\n\t\treturn \"S\";\n\t}\n\n\tget sizeM() {\n\t\treturn \"M\";\n\t}\n\n\tget sizeL() {\n\t\treturn \"L\";\n\t}\n\n\tget sizeXL() {\n\t\treturn \"XL\";\n\t}\n\n\tget span0() {\n\t\treturn \"0\";\n\t}\n\n\tget span3() {\n\t\treturn \"3\";\n\t}\n\n\tget span4() {\n\t\treturn \"4\";\n\t}\n\n\tget span6() {\n\t\treturn \"6\";\n\t}\n\n\tget span8() {\n\t\treturn \"8\";\n\t}\n\n\tget span9() {\n\t\treturn \"9\";\n\t}\n\n\tget span12() {\n\t\treturn \"12\";\n\t}\n\n\tget spanFixed() {\n\t\treturn \"fixed\";\n\t}\n\n\tget containerWidth() {\n\t\treturn (this.parentElement as HTMLElement).clientWidth;\n\t}\n\n\tget breakpoint() {\n\t\tlet size;\n\n\t\tif (this.containerWidth <= S_M_BREAKPOINT) {\n\t\t\tsize = this.sizeS;\n\t\t} else if (this.containerWidth > S_M_BREAKPOINT && this.containerWidth <= M_L_BREAKPOINT) {\n\t\t\tsize = this.sizeM;\n\t\t} else if (this.containerWidth > M_L_BREAKPOINT && this.containerWidth <= L_XL_BREAKPOINT) {\n\t\t\tsize = this.sizeL;\n\t\t} else {\n\t\t\tsize = this.sizeXL;\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tget _isSideContentFirst() {\n\t\treturn this.sideContentPosition === SideContentPosition.Start;\n\t}\n\n\thandleResize() {\n\t\tthis._resizeContents();\n\t}\n\n\t_resizeContents() {\n\t\tlet mainSize!: string,\n\t\t\tsideSize!: string,\n\t\t\tsideVisible!: boolean;\n\n\t\t// initial set contents sizes\n\t\tswitch (this.breakpoint) {\n\t\tcase this.sizeS:\n\t\t\tmainSize = this.span12;\n\t\t\tsideSize = this.span12;\n\t\t\tbreak;\n\t\tcase this.sizeM:\n\t\t\tif (this.sideContentFallDown === SideContentFallDown.BelowXL\n\t\t\t\t|| this.sideContentFallDown === SideContentFallDown.BelowL\n\t\t\t\t|| (this.containerWidth <= MINIMUM_WIDTH_BREAKPOINT && this.sideContentFallDown === SideContentFallDown.OnMinimumWidth)) {\n\t\t\t\tmainSize = this.span12;\n\t\t\t\tsideSize = this.span12;\n\t\t\t} else {\n\t\t\t\tmainSize = this.equalSplit ? this.span6 : this.spanFixed;\n\t\t\t\tsideSize = this.equalSplit ? this.span6 : this.spanFixed;\n\t\t\t}\n\t\t\tsideVisible = this.sideContentVisibility === SideContentVisibility.ShowAboveS\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.AlwaysShow;\n\t\t\tbreak;\n\t\tcase this.sizeL:\n\t\t\tif (this.sideContentFallDown === SideContentFallDown.BelowXL) {\n\t\t\t\tmainSize = this.span12;\n\t\t\t\tsideSize = this.span12;\n\t\t\t} else {\n\t\t\t\tmainSize = this.equalSplit ? this.span6 : this.span8;\n\t\t\t\tsideSize = this.equalSplit ? this.span6 : this.span4;\n\t\t\t}\n\t\t\tsideVisible = this.sideContentVisibility === SideContentVisibility.ShowAboveS\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.ShowAboveM\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.AlwaysShow;\n\t\t\tbreak;\n\t\tcase this.sizeXL:\n\t\t\tmainSize = this.equalSplit ? this.span6 : this.span9;\n\t\t\tsideSize = this.equalSplit ? this.span6 : this.span3;\n\t\t\tsideVisible = this.sideContentVisibility !== SideContentVisibility.NeverShow;\n\t\t}\n\n\t\tif (this.sideContentVisibility === SideContentVisibility.AlwaysShow) {\n\t\t\tsideVisible = true;\n\t\t}\n\n\t\t// modify sizes of the contents depending on hideMainContent and hideSideContent properties\n\t\tif (this.hideSideContent) {\n\t\t\tmainSize = this.hideMainContent ? this.span0 : this.span12;\n\t\t\tsideSize = this.span0;\n\t\t\tsideVisible = false;\n\t\t}\n\n\t\tif (this.hideMainContent) {\n\t\t\tmainSize = this.span0;\n\t\t\tsideSize = this.hideSideContent ? this.span0 : this.span12;\n\t\t\tsideVisible = true;\n\t\t}\n\n\t\t// set final sizes of the contents\n\t\tif (!sideVisible) {\n\t\t\tmainSize = this.span12;\n\t\t\tsideSize = this.span0;\n\t\t}\n\n\t\t// fire \"layout-change\" event\n\t\tif (this._currentBreakpoint !== this.breakpoint) {\n\t\t\tconst eventParams = {\n\t\t\t\tcurrentBreakpoint: this.breakpoint,\n\t\t\t\tpreviousBreakpoint: this._currentBreakpoint,\n\t\t\t\tmainContentVisible: mainSize !== this.span0,\n\t\t\t\tsideContentVisible: sideSize !== this.span0,\n\t\t\t};\n\t\t\tthis.fireEvent<DynamicSideContentLayoutChangeEventDetail>(\"layout-change\", eventParams);\n\t\t\tthis._currentBreakpoint = this.breakpoint;\n\t\t}\n\n\t\t// update contents sizes\n\t\tthis._setSpanSizes(mainSize, sideSize);\n\t}\n\n\t_setSpanSizes(mainSize: string, sideSize: string) {\n\t\tthis._mcSpan = mainSize;\n\t\tthis._scSpan = sideSize;\n\t\tif (this.breakpoint !== this.sizeS) {\n\t\t\tthis._toggled = false;\n\t\t}\n\t}\n}\n\nDynamicSideContent.define();\n\nexport default DynamicSideContent;\nexport type {\n\tDynamicSideContentLayoutChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"DynamicSideContent.js","sourceRoot":"","sources":["../src/DynamicSideContent.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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport SideContentPosition from \"./types/SideContentPosition.js\";\nimport SideContentVisibility from \"./types/SideContentVisibility.js\";\nimport SideContentFallDown from \"./types/SideContentFallDown.js\";\nimport DynamicSideContentTemplate from \"./generated/templates/DynamicSideContentTemplate.lit.js\";\n\n// Styles\nimport DynamicSideContentCss from \"./generated/themes/DynamicSideContent.css.js\";\n\n// Texts\nimport {\n\tDSC_SIDE_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Breakpoint-related constants\nconst S_M_BREAKPOINT = 720,\t// Breakpoint between S and M screen sizes\n\tM_L_BREAKPOINT = 1024, // Breakpoint between M and L screen sizes\n\tL_XL_BREAKPOINT = 1440, // Breakpoint between L and XL screen sizes\n\tMINIMUM_WIDTH_BREAKPOINT = 960; // Minimum width of the control where main and side contents are side by side\n\ntype DynamicSideContentLayoutChangeEventDetail = {\n\tcurrentBreakpoint: string,\n\tpreviousBreakpoint: string,\n\tmainContentVisible: boolean,\n\tsideContentVisible: boolean,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The DynamicSideContent (<code>ui5-dynamic-side-content</code>) is a layout component that allows additional content\n * to be displayed in a way that flexibly adapts to different screen sizes. The side\n * content appears in a container next to or directly below the main content\n * (it doesn't overlay). When the side content is triggered, the main content becomes\n * narrower (if appearing side-by-side). The side content contains a separate scrollbar\n * when appearing next to the main content.\n *\n *\n * <h3>Usage</h3>\n *\n * <i>When to use?</i>\n *\n * Use this component if you want to display relevant information that is not critical\n * for users to complete a task. Users should have access to all the key functions and\n * critical information in the app even if they do not see the side content. This is\n * important because on smaller screen sizes it may be difficult to display the side\n * content in a way that is easily accessible for the user.\n *\n * <i>When not to use?</i>\n *\n * Don't use it if you want to display navigation or critical information that prevents\n * users from completing a task when they have no access to the side content.\n *\n *\n * <h3>Responsive Behavior</h3>\n *\n * Screen width > 1440px\n *\n * <ul><li>Main vs. side content ratio is 75 vs. 25 percent (with a minimum of 320px\n * each).</li>\n * <li>If the application defines a trigger, the side content can be hidden.</li></ul>\n *\n * Screen width <= 1440px and > 1024px\n *\n * <ul><li>Main vs. side content ratio is 66.666 vs. 33.333 percent (with a minimum of\n * 320px each). If the side content width falls below 320 px, it automatically slides\n * under the main content, unless the app development team specifies that it should\n * disappear.</li></ul>\n *\n * Screen width <= 1024px and > 720px\n *\n * <ul><li>The side content ratio is fixed to 340px, and the main content takes the rest\n * of the width. Only if the <code>sideContentFallDown</code> is set to <code>OnMinimumWidth</code>\n * and screen width is <= 960px and > 720px the side content falls below the main content.</li></ul>\n *\n * Screen width <= 720px (for example on a mobile device)\n *\n * <ul><li>In this case, the side content automatically disappears from the screen (unless\n * specified to stay under the content by setting of <code>sideContentVisibility</code>\n * property to <code>AlwaysShow</code>) and can be triggered from a pre-set trigger\n * (specified within the app). When the side content is triggered, it replaces the main\n * content. We recommend that you always place the trigger for the side content in the\n * same location, such as in the app footer.</li></ul>\n *\n * A special case allows switching the comparison mode between the main and side content.\n * In this case, the screen is split into 50:50 percent for main vs. side content. The\n * responsive behavior of the equal split is the same as in the standard view - the\n * side content disappears on screen widths of less than 720 px and can only be\n * viewed by triggering it.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents-fiori/dist/DynamicSideContent\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.1.0\n * @slot {Array<HTMLElement>} default - Defines the main content.\n */\n@customElement({\n\ttag: \"ui5-dynamic-side-content\",\n\trenderer: litRender,\n\tstyles: DynamicSideContentCss,\n\ttemplate: DynamicSideContentTemplate,\n})\n/**\n * Fires when the current breakpoint has been changed.\n * @param {string} currentBreakpoint the current breakpoint.\n * @param {string} previousBreakpoint the breakpoint that was active before change to current breakpoint.\n * @param {boolean} mainContentVisible visibility of the main content.\n * @param {boolean} sideContentVisible visibility of the side content.\n * @public\n */\n@event(\"layout-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tcurrentBreakpoint: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tpreviousBreakpoint: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tmainContentVisible: {\n\t\t\ttype: Boolean,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tsideContentVisible: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\nclass DynamicSideContent extends UI5Element {\n\t/**\n\t * Defines the visibility of the main content.\n\t *\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideMainContent!: boolean;\n\n\t/**\n\t * Defines the visibility of the side content.\n\t *\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideSideContent!: boolean;\n\n\t/**\n\t * Defines whether the side content is positioned before the main content (left side\n\t * in LTR mode), or after the the main content (right side in LTR mode).\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>Start</code></li>\n\t * <li><code>End</code></li>\n\t * </ul>\n\t *\n\t * @default \"End\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentPosition, defaultValue: SideContentPosition.End })\n\tsideContentPosition!: `${SideContentPosition}`;\n\n\t/**\n\t * Defines on which breakpoints the side content is visible.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>AlwaysShow</code></li>\n\t * <li><code>ShowAboveL</code></li>\n\t * <li><code>ShowAboveM</code></li>\n\t * <li><code>ShowAboveS</code></li>\n\t * <li><code>NeverShow</code></li>\n\t * </ul>\n\t *\n\t * @default \"ShowAboveS\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentVisibility, defaultValue: SideContentVisibility.ShowAboveS })\n\tsideContentVisibility!: `${SideContentVisibility}`;\n\n\t/**\n\t * Defines on which breakpoints the side content falls down below the main content.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>BelowXL</code></li>\n\t * <li><code>BelowL</code></li>\n\t * <li><code>BelowM</code></li>\n\t * <li><code>OnMinimumWidth</code></li>\n\t * </ul>\n\t *\n\t * @default \"OnMinimumWidth\"\n\t * @public\n\t *\n\t */\n\t@property({ type: SideContentFallDown, defaultValue: SideContentFallDown.OnMinimumWidth })\n\tsideContentFallDown!: `${SideContentFallDown}`;\n\n\t/**\n\t * Defines whether the component is in equal split mode. In this mode, the side and\n\t * the main content take 50:50 percent of the container on all screen sizes\n\t * except for phone, where the main and side contents are switching visibility\n\t * using the toggle method.\n\t *\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\tequalSplit!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_mcSpan!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"0\", noAttribute: true })\n\t_scSpan!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_toggled!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_currentBreakpoint!: string;\n\n\t/**\n\t * Defines the side content.\n\t *\n\t * @public\n\t */\n\t@slot()\n\tsideContent!: Array<HTMLElement>;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tDynamicSideContent.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tonAfterRendering() {\n\t\tthis._resizeContents();\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\t/**\n\t * Toggles visibility of main and side contents on S screen size (mobile device).\n\t *\n\t * @public\n\t */\n\ttoggleContents(): void {\n\t\tif (this.breakpoint === this.sizeS && this.sideContentVisibility !== SideContentVisibility.AlwaysShow) {\n\t\t\tthis._toggled = !this._toggled;\n\t\t}\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst gridPrefix = \"ui5-dsc-span\",\n\t\t\tmcSpan = this._toggled ? this._scSpan : this._mcSpan,\n\t\t\tscSpan = this._toggled ? this._mcSpan : this._scSpan,\n\t\t\tclasses: ClassMap = {\n\t\t\t\tmain: {\n\t\t\t\t\t\"ui5-dsc-main\": true,\n\t\t\t\t},\n\t\t\t\tside: {\n\t\t\t\t\t\"ui5-dsc-side\": true,\n\t\t\t\t},\n\t\t\t};\n\n\t\tclasses.main[`${gridPrefix}-${mcSpan}`] = true;\n\t\tclasses.side[`${gridPrefix}-${scSpan}`] = true;\n\n\t\treturn classes;\n\t}\n\n\tget styles() {\n\t\tconst isToggled = this.breakpoint === this.sizeS && this._toggled,\n\t\t\tmcSpan = isToggled ? this._scSpan : this._mcSpan,\n\t\t\tscSpan = isToggled ? this._mcSpan : this._scSpan,\n\t\t\tcontentHeight = this.breakpoint === this.sizeS && this.sideContentVisibility !== SideContentVisibility.AlwaysShow ? \"100%\" : \"auto\";\n\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"flex-wrap\": this._mcSpan === \"12\" ? \"wrap\" : \"nowrap\",\n\t\t\t},\n\t\t\tmain: {\n\t\t\t\t\"height\": mcSpan === this.span12 ? contentHeight : \"100%\",\n\t\t\t},\n\t\t\tside: {\n\t\t\t\t\"height\": scSpan === this.span12 ? contentHeight : \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"label\": DynamicSideContent.i18nBundle.getText(DSC_SIDE_ARIA_LABEL),\n\t\t};\n\t}\n\n\tget sizeS() {\n\t\treturn \"S\";\n\t}\n\n\tget sizeM() {\n\t\treturn \"M\";\n\t}\n\n\tget sizeL() {\n\t\treturn \"L\";\n\t}\n\n\tget sizeXL() {\n\t\treturn \"XL\";\n\t}\n\n\tget span0() {\n\t\treturn \"0\";\n\t}\n\n\tget span3() {\n\t\treturn \"3\";\n\t}\n\n\tget span4() {\n\t\treturn \"4\";\n\t}\n\n\tget span6() {\n\t\treturn \"6\";\n\t}\n\n\tget span8() {\n\t\treturn \"8\";\n\t}\n\n\tget span9() {\n\t\treturn \"9\";\n\t}\n\n\tget span12() {\n\t\treturn \"12\";\n\t}\n\n\tget spanFixed() {\n\t\treturn \"fixed\";\n\t}\n\n\tget containerWidth() {\n\t\treturn (this.parentElement as HTMLElement).clientWidth;\n\t}\n\n\tget breakpoint() {\n\t\tlet size;\n\n\t\tif (this.containerWidth <= S_M_BREAKPOINT) {\n\t\t\tsize = this.sizeS;\n\t\t} else if (this.containerWidth > S_M_BREAKPOINT && this.containerWidth <= M_L_BREAKPOINT) {\n\t\t\tsize = this.sizeM;\n\t\t} else if (this.containerWidth > M_L_BREAKPOINT && this.containerWidth <= L_XL_BREAKPOINT) {\n\t\t\tsize = this.sizeL;\n\t\t} else {\n\t\t\tsize = this.sizeXL;\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tget _isSideContentFirst() {\n\t\treturn this.sideContentPosition === SideContentPosition.Start;\n\t}\n\n\thandleResize() {\n\t\tthis._resizeContents();\n\t}\n\n\t_resizeContents() {\n\t\tlet mainSize!: string,\n\t\t\tsideSize!: string,\n\t\t\tsideVisible!: boolean;\n\n\t\t// initial set contents sizes\n\t\tswitch (this.breakpoint) {\n\t\tcase this.sizeS:\n\t\t\tmainSize = this.span12;\n\t\t\tsideSize = this.span12;\n\t\t\tbreak;\n\t\tcase this.sizeM:\n\t\t\tif (this.sideContentFallDown === SideContentFallDown.BelowXL\n\t\t\t\t|| this.sideContentFallDown === SideContentFallDown.BelowL\n\t\t\t\t|| (this.containerWidth <= MINIMUM_WIDTH_BREAKPOINT && this.sideContentFallDown === SideContentFallDown.OnMinimumWidth)) {\n\t\t\t\tmainSize = this.span12;\n\t\t\t\tsideSize = this.span12;\n\t\t\t} else {\n\t\t\t\tmainSize = this.equalSplit ? this.span6 : this.spanFixed;\n\t\t\t\tsideSize = this.equalSplit ? this.span6 : this.spanFixed;\n\t\t\t}\n\t\t\tsideVisible = this.sideContentVisibility === SideContentVisibility.ShowAboveS\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.AlwaysShow;\n\t\t\tbreak;\n\t\tcase this.sizeL:\n\t\t\tif (this.sideContentFallDown === SideContentFallDown.BelowXL) {\n\t\t\t\tmainSize = this.span12;\n\t\t\t\tsideSize = this.span12;\n\t\t\t} else {\n\t\t\t\tmainSize = this.equalSplit ? this.span6 : this.span8;\n\t\t\t\tsideSize = this.equalSplit ? this.span6 : this.span4;\n\t\t\t}\n\t\t\tsideVisible = this.sideContentVisibility === SideContentVisibility.ShowAboveS\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.ShowAboveM\n\t\t\t\t|| this.sideContentVisibility === SideContentVisibility.AlwaysShow;\n\t\t\tbreak;\n\t\tcase this.sizeXL:\n\t\t\tmainSize = this.equalSplit ? this.span6 : this.span9;\n\t\t\tsideSize = this.equalSplit ? this.span6 : this.span3;\n\t\t\tsideVisible = this.sideContentVisibility !== SideContentVisibility.NeverShow;\n\t\t}\n\n\t\tif (this.sideContentVisibility === SideContentVisibility.AlwaysShow) {\n\t\t\tsideVisible = true;\n\t\t}\n\n\t\t// modify sizes of the contents depending on hideMainContent and hideSideContent properties\n\t\tif (this.hideSideContent) {\n\t\t\tmainSize = this.hideMainContent ? this.span0 : this.span12;\n\t\t\tsideSize = this.span0;\n\t\t\tsideVisible = false;\n\t\t}\n\n\t\tif (this.hideMainContent) {\n\t\t\tmainSize = this.span0;\n\t\t\tsideSize = this.hideSideContent ? this.span0 : this.span12;\n\t\t\tsideVisible = true;\n\t\t}\n\n\t\t// set final sizes of the contents\n\t\tif (!sideVisible) {\n\t\t\tmainSize = this.span12;\n\t\t\tsideSize = this.span0;\n\t\t}\n\n\t\t// fire \"layout-change\" event\n\t\tif (this._currentBreakpoint !== this.breakpoint) {\n\t\t\tconst eventParams = {\n\t\t\t\tcurrentBreakpoint: this.breakpoint,\n\t\t\t\tpreviousBreakpoint: this._currentBreakpoint,\n\t\t\t\tmainContentVisible: mainSize !== this.span0,\n\t\t\t\tsideContentVisible: sideSize !== this.span0,\n\t\t\t};\n\t\t\tthis.fireEvent<DynamicSideContentLayoutChangeEventDetail>(\"layout-change\", eventParams);\n\t\t\tthis._currentBreakpoint = this.breakpoint;\n\t\t}\n\n\t\t// update contents sizes\n\t\tthis._setSpanSizes(mainSize, sideSize);\n\t}\n\n\t_setSpanSizes(mainSize: string, sideSize: string) {\n\t\tthis._mcSpan = mainSize;\n\t\tthis._scSpan = sideSize;\n\t\tif (this.breakpoint !== this.sizeS) {\n\t\t\tthis._toggled = false;\n\t\t}\n\t}\n}\n\nDynamicSideContent.define();\n\nexport default DynamicSideContent;\nexport type {\n\tDynamicSideContentLayoutChangeEventDetail,\n};\n"]}