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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +1 -0
  3. package/cypress/specs/DynamicSideContent.cy.ts +83 -0
  4. package/cypress/specs/NavigationLayout.cy.ts +4 -4
  5. package/cypress/specs/Page.cy.ts +42 -13
  6. package/cypress/specs/UserMenu.cy.ts +7 -2
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/BarcodeScannerDialog.d.ts +1 -1
  9. package/dist/BarcodeScannerDialog.js +0 -8
  10. package/dist/BarcodeScannerDialog.js.map +1 -1
  11. package/dist/DynamicPage.d.ts +1 -1
  12. package/dist/DynamicPage.js +6 -2
  13. package/dist/DynamicPage.js.map +1 -1
  14. package/dist/DynamicPageHeaderActions.d.ts +2 -2
  15. package/dist/DynamicPageHeaderActions.js +0 -3
  16. package/dist/DynamicPageHeaderActions.js.map +1 -1
  17. package/dist/DynamicPageTitle.d.ts +1 -1
  18. package/dist/DynamicPageTitle.js +0 -3
  19. package/dist/DynamicPageTitle.js.map +1 -1
  20. package/dist/DynamicSideContent.d.ts +21 -4
  21. package/dist/DynamicSideContent.js +23 -2
  22. package/dist/DynamicSideContent.js.map +1 -1
  23. package/dist/DynamicSideContentTemplate.js +2 -2
  24. package/dist/DynamicSideContentTemplate.js.map +1 -1
  25. package/dist/FlexibleColumnLayout.js +0 -2
  26. package/dist/FlexibleColumnLayout.js.map +1 -1
  27. package/dist/IllustratedMessage.js +0 -2
  28. package/dist/IllustratedMessage.js.map +1 -1
  29. package/dist/NavigationLayout.d.ts +19 -8
  30. package/dist/NavigationLayout.js +35 -21
  31. package/dist/NavigationLayout.js.map +1 -1
  32. package/dist/NotificationList.d.ts +1 -1
  33. package/dist/NotificationList.js +0 -4
  34. package/dist/NotificationList.js.map +1 -1
  35. package/dist/NotificationListGroupItem.d.ts +0 -2
  36. package/dist/NotificationListGroupItem.js +7 -17
  37. package/dist/NotificationListGroupItem.js.map +1 -1
  38. package/dist/NotificationListGroupItemTemplate.d.ts +2 -0
  39. package/dist/NotificationListGroupItemTemplate.js +11 -0
  40. package/dist/NotificationListGroupItemTemplate.js.map +1 -0
  41. package/dist/NotificationListItem.d.ts +11 -20
  42. package/dist/NotificationListItem.js +29 -46
  43. package/dist/NotificationListItem.js.map +1 -1
  44. package/dist/NotificationListItemTemplate.d.ts +2 -0
  45. package/dist/NotificationListItemTemplate.js +19 -0
  46. package/dist/NotificationListItemTemplate.js.map +1 -0
  47. package/dist/ProductSwitchItem.js +0 -2
  48. package/dist/ProductSwitchItem.js.map +1 -1
  49. package/dist/SideNavigation.d.ts +5 -5
  50. package/dist/SideNavigation.js +2 -15
  51. package/dist/SideNavigation.js.map +1 -1
  52. package/dist/SideNavigationGroup.js +0 -4
  53. package/dist/SideNavigationGroup.js.map +1 -1
  54. package/dist/SideNavigationItem.js +0 -4
  55. package/dist/SideNavigationItem.js.map +1 -1
  56. package/dist/SideNavigationSubItem.js +0 -4
  57. package/dist/SideNavigationSubItem.js.map +1 -1
  58. package/dist/Timeline.d.ts +2 -0
  59. package/dist/Timeline.js +2 -3
  60. package/dist/Timeline.js.map +1 -1
  61. package/dist/TimelineGroupItem.js +0 -3
  62. package/dist/TimelineGroupItem.js.map +1 -1
  63. package/dist/TimelineItem.js +0 -6
  64. package/dist/TimelineItem.js.map +1 -1
  65. package/dist/UploadCollection.js +0 -14
  66. package/dist/UploadCollection.js.map +1 -1
  67. package/dist/UploadCollectionItem.js +0 -13
  68. package/dist/UploadCollectionItem.js.map +1 -1
  69. package/dist/UserMenu.d.ts +3 -3
  70. package/dist/UserMenu.js +0 -26
  71. package/dist/UserMenu.js.map +1 -1
  72. package/dist/UserMenuItem.js +0 -1
  73. package/dist/UserMenuItem.js.map +1 -1
  74. package/dist/ViewSettingsDialog.d.ts +2 -2
  75. package/dist/ViewSettingsDialog.js +0 -20
  76. package/dist/ViewSettingsDialog.js.map +1 -1
  77. package/dist/Wizard.d.ts +4 -3
  78. package/dist/Wizard.js +1 -11
  79. package/dist/Wizard.js.map +1 -1
  80. package/dist/WizardTab.js +0 -2
  81. package/dist/WizardTab.js.map +1 -1
  82. package/dist/bundle.esm.js +1 -0
  83. package/dist/bundle.esm.js.map +1 -1
  84. package/dist/css/themes/DynamicPage.css +1 -1
  85. package/dist/css/themes/DynamicPageHeader.css +1 -1
  86. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  87. package/dist/css/themes/DynamicPageTitle.css +1 -1
  88. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  89. package/dist/css/themes/MediaGallery.css +1 -1
  90. package/dist/css/themes/MediaGalleryItem.css +1 -1
  91. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  92. package/dist/css/themes/NotificationListItem.css +1 -1
  93. package/dist/css/themes/NotificationListItemBase.css +1 -1
  94. package/dist/css/themes/NotificationStateIcon.css +1 -1
  95. package/dist/css/themes/Page.css +1 -1
  96. package/dist/css/themes/ProductSwitchItem.css +1 -1
  97. package/dist/css/themes/ShellBar.css +1 -1
  98. package/dist/css/themes/SideNavigation.css +1 -1
  99. package/dist/css/themes/SideNavigationGroup.css +1 -1
  100. package/dist/css/themes/SideNavigationItem.css +1 -1
  101. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  102. package/dist/css/themes/SideNavigationPopover.css +1 -1
  103. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  104. package/dist/css/themes/Timeline.css +1 -1
  105. package/dist/css/themes/TimelineGroupItem.css +1 -1
  106. package/dist/css/themes/TimelineItem.css +1 -1
  107. package/dist/css/themes/UploadCollection.css +1 -1
  108. package/dist/css/themes/UploadCollectionItem.css +1 -1
  109. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  110. package/dist/css/themes/Wizard.css +1 -1
  111. package/dist/css/themes/WizardTab.css +1 -1
  112. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  113. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  114. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  115. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  116. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  117. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  118. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  119. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  120. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  121. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  122. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  124. package/dist/custom-elements-internal.json +108 -12
  125. package/dist/custom-elements.json +71 -12
  126. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  136. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  148. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  149. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  150. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  151. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  152. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  153. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  154. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  155. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  156. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  157. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  158. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  176. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  177. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  178. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  179. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  180. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  181. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  182. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  183. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  184. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  185. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  186. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  187. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  188. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  189. package/dist/generated/i18n/i18n-defaults.js +4 -3
  190. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  191. package/dist/generated/themes/DynamicPage.css.d.ts +1 -1
  192. package/dist/generated/themes/DynamicPage.css.js +1 -1
  193. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  194. package/dist/generated/themes/DynamicPageHeader.css.d.ts +1 -1
  195. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  196. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  197. package/dist/generated/themes/DynamicPageHeaderActions.css.d.ts +1 -1
  198. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  199. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  200. package/dist/generated/themes/DynamicPageTitle.css.d.ts +1 -1
  201. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  202. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  203. package/dist/generated/themes/FlexibleColumnLayout.css.d.ts +1 -1
  204. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  205. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  206. package/dist/generated/themes/MediaGallery.css.d.ts +1 -1
  207. package/dist/generated/themes/MediaGallery.css.js +1 -1
  208. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  209. package/dist/generated/themes/MediaGalleryItem.css.d.ts +1 -1
  210. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  211. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  212. package/dist/generated/themes/NotificationListGroupItem.css.d.ts +1 -1
  213. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  214. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  215. package/dist/generated/themes/NotificationListItem.css.d.ts +1 -1
  216. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  217. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  218. package/dist/generated/themes/NotificationListItemBase.css.d.ts +1 -1
  219. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  220. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  221. package/dist/generated/themes/NotificationStateIcon.css.d.ts +1 -1
  222. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  223. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  224. package/dist/generated/themes/Page.css.d.ts +1 -1
  225. package/dist/generated/themes/Page.css.js +1 -1
  226. package/dist/generated/themes/Page.css.js.map +1 -1
  227. package/dist/generated/themes/ProductSwitchItem.css.d.ts +1 -1
  228. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  229. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  230. package/dist/generated/themes/ShellBar.css.d.ts +1 -1
  231. package/dist/generated/themes/ShellBar.css.js +1 -1
  232. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  233. package/dist/generated/themes/SideNavigation.css.d.ts +1 -1
  234. package/dist/generated/themes/SideNavigation.css.js +1 -1
  235. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  236. package/dist/generated/themes/SideNavigationGroup.css.d.ts +1 -1
  237. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  238. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  239. package/dist/generated/themes/SideNavigationItem.css.d.ts +1 -1
  240. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  241. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  242. package/dist/generated/themes/SideNavigationItemBase.css.d.ts +1 -1
  243. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  244. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  245. package/dist/generated/themes/SideNavigationPopover.css.d.ts +1 -1
  246. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  247. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  248. package/dist/generated/themes/SideNavigationSubItem.css.d.ts +1 -1
  249. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  250. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  251. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  252. package/dist/generated/themes/Timeline.css.js +1 -1
  253. package/dist/generated/themes/Timeline.css.js.map +1 -1
  254. package/dist/generated/themes/TimelineGroupItem.css.d.ts +1 -1
  255. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  256. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  257. package/dist/generated/themes/TimelineItem.css.d.ts +1 -1
  258. package/dist/generated/themes/TimelineItem.css.js +1 -1
  259. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  260. package/dist/generated/themes/UploadCollection.css.d.ts +1 -1
  261. package/dist/generated/themes/UploadCollection.css.js +1 -1
  262. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  263. package/dist/generated/themes/UploadCollectionItem.css.d.ts +1 -1
  264. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  265. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  266. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  267. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  268. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  269. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  270. package/dist/generated/themes/Wizard.css.js +1 -1
  271. package/dist/generated/themes/Wizard.css.js.map +1 -1
  272. package/dist/generated/themes/WizardTab.css.d.ts +1 -1
  273. package/dist/generated/themes/WizardTab.css.js +1 -1
  274. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  275. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  276. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  277. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  278. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  279. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  280. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  281. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  282. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  283. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  284. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  285. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  286. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  287. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  288. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  289. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  290. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  291. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  292. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  293. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +1 -1
  294. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  295. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  296. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +1 -1
  297. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  298. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  299. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  300. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  301. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  302. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +1 -1
  303. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  304. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  305. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  306. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  307. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  308. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +1 -1
  309. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  310. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  311. package/dist/types/NavigationLayoutMode.d.ts +23 -0
  312. package/dist/types/NavigationLayoutMode.js +25 -0
  313. package/dist/types/NavigationLayoutMode.js.map +1 -0
  314. package/dist/vscode.html-custom-data.json +13 -4
  315. package/dist/web-types.json +24 -8
  316. package/package.json +7 -7
  317. package/src/DynamicSideContentTemplate.tsx +3 -1
  318. package/src/NotificationListGroupItemTemplate.tsx +72 -0
  319. package/src/NotificationListItemTemplate.tsx +154 -0
  320. package/src/i18n/messagebundle.properties +3 -0
  321. package/src/i18n/messagebundle_ar.properties +18 -0
  322. package/src/i18n/messagebundle_bg.properties +18 -0
  323. package/src/i18n/messagebundle_ca.properties +18 -0
  324. package/src/i18n/messagebundle_cnr.properties +18 -0
  325. package/src/i18n/messagebundle_cs.properties +18 -0
  326. package/src/i18n/messagebundle_cy.properties +18 -0
  327. package/src/i18n/messagebundle_da.properties +18 -0
  328. package/src/i18n/messagebundle_de.properties +18 -0
  329. package/src/i18n/messagebundle_el.properties +18 -0
  330. package/src/i18n/messagebundle_en.properties +18 -0
  331. package/src/i18n/messagebundle_en_GB.properties +18 -0
  332. package/src/i18n/messagebundle_en_US_sappsd.properties +18 -0
  333. package/src/i18n/messagebundle_en_US_saprigi.properties +18 -0
  334. package/src/i18n/messagebundle_en_US_saptrc.properties +18 -0
  335. package/src/i18n/messagebundle_es.properties +18 -0
  336. package/src/i18n/messagebundle_es_MX.properties +18 -0
  337. package/src/i18n/messagebundle_et.properties +18 -0
  338. package/src/i18n/messagebundle_fi.properties +18 -0
  339. package/src/i18n/messagebundle_fr.properties +18 -0
  340. package/src/i18n/messagebundle_fr_CA.properties +18 -0
  341. package/src/i18n/messagebundle_hi.properties +18 -0
  342. package/src/i18n/messagebundle_hr.properties +18 -0
  343. package/src/i18n/messagebundle_hu.properties +18 -0
  344. package/src/i18n/messagebundle_id.properties +18 -0
  345. package/src/i18n/messagebundle_it.properties +18 -0
  346. package/src/i18n/messagebundle_iw.properties +18 -0
  347. package/src/i18n/messagebundle_ja.properties +18 -0
  348. package/src/i18n/messagebundle_kk.properties +18 -0
  349. package/src/i18n/messagebundle_ko.properties +18 -0
  350. package/src/i18n/messagebundle_lt.properties +18 -0
  351. package/src/i18n/messagebundle_lv.properties +18 -0
  352. package/src/i18n/messagebundle_mk.properties +18 -0
  353. package/src/i18n/messagebundle_ms.properties +18 -0
  354. package/src/i18n/messagebundle_nl.properties +18 -0
  355. package/src/i18n/messagebundle_no.properties +18 -0
  356. package/src/i18n/messagebundle_pl.properties +18 -0
  357. package/src/i18n/messagebundle_pt.properties +18 -0
  358. package/src/i18n/messagebundle_pt_PT.properties +18 -0
  359. package/src/i18n/messagebundle_ro.properties +18 -0
  360. package/src/i18n/messagebundle_ru.properties +18 -0
  361. package/src/i18n/messagebundle_sh.properties +18 -0
  362. package/src/i18n/messagebundle_sk.properties +18 -0
  363. package/src/i18n/messagebundle_sl.properties +18 -0
  364. package/src/i18n/messagebundle_sr.properties +18 -0
  365. package/src/i18n/messagebundle_sv.properties +18 -0
  366. package/src/i18n/messagebundle_th.properties +18 -0
  367. package/src/i18n/messagebundle_tr.properties +18 -0
  368. package/src/i18n/messagebundle_uk.properties +18 -0
  369. package/src/i18n/messagebundle_vi.properties +18 -0
  370. package/src/i18n/messagebundle_zh_CN.properties +18 -0
  371. package/src/i18n/messagebundle_zh_TW.properties +18 -0
  372. package/src/themes/NotificationListGroupItem.css +3 -8
  373. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.d.ts +0 -3
  374. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +0 -8
  375. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +0 -1
  376. package/dist/generated/templates/NotificationListItemTemplate.lit.d.ts +0 -3
  377. package/dist/generated/templates/NotificationListItemTemplate.lit.js +0 -15
  378. package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +0 -1
  379. package/src/NotificationListGroupItem.hbs +0 -54
  380. package/src/NotificationListItem.hbs +0 -108
@@ -1 +1 @@
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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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 \"./DynamicSideContentTemplate.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 | undefined,\n\tmainContentVisible: boolean,\n\tsideContentVisible: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The DynamicSideContent (`ui5-dynamic-side-content`) 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 * ### Usage\n *\n * *When to use?*\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 * *When not to use?*\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 * ### Responsive Behavior\n *\n * Screen width \\> 1440px\n *\n * - Main vs. side content ratio is 75 vs. 25 percent (with a minimum of 320px\n * each).\n * - If the application defines a trigger, the side content can be hidden.\n *\n * Screen width \\<\\= 1440px and \\> 1024px\n *\n * - 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.\n *\n * Screen width \\<\\= 1024px and \\> 720px\n *\n * - The side content ratio is fixed to 340px, and the main content takes the rest\n * of the width. Only if the `sideContentFallDown` is set to `OnMinimumWidth`\n * and screen width is \\<\\= 960px and \\> 720px the side content falls below the main content.\n *\n * Screen width \\<\\= 720px (for example on a mobile device)\n *\n * - In this case, the side content automatically disappears from the screen (unless\n * specified to stay under the content by setting of `sideContentVisibility`\n * property to `AlwaysShow`) 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.\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 * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/DynamicSideContent.js\";`\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: jsxRenderer,\n\tstyles: [DynamicSideContentCss, getEffectiveScrollbarStyle()],\n\ttemplate: DynamicSideContentTemplate,\n})\n/**\n * Fires when the current breakpoint has been changed.\n * @param {string} currentBreakpoint the current breakpoint.\n * @param {string | undefined} 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\tbubbles: true,\n})\nclass DynamicSideContent extends UI5Element {\n\teventDetails!: {\n\t\t\"layout-change\": DynamicSideContentLayoutChangeEventDetail\n\t}\n\t/**\n\t * Defines the visibility of the main content.\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideMainContent = false;\n\n\t/**\n\t * Defines the visibility of the side content.\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideSideContent = false;\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\n\t * @default \"End\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentPosition: `${SideContentPosition}` = \"End\";\n\n\t/**\n\t * Defines on which breakpoints the side content is visible.\n \t * @default \"ShowAboveS\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentVisibility: `${SideContentVisibility}` = \"ShowAboveS\";\n\n\t/**\n\t * Defines on which breakpoints the side content falls down below the main content.\n\t * @default \"OnMinimumWidth\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentFallDown: `${SideContentFallDown}` = \"OnMinimumWidth\";\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 * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\tequalSplit = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_mcSpan = \"0\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_scSpan = \"0\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_toggled = false;\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 * @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\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\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 */\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() {\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\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-dsc-main\": true,\n\t\t\t\t[`${gridPrefix}-${mcSpan}`]: true,\n\t\t\t},\n\t\t\tside: {\n\t\t\t\t\"ui5-dsc-side\": true,\n\t\t\t\t[`${gridPrefix}-${scSpan}`]: true,\n\t\t\t},\n\t\t};\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).getBoundingClientRect().width;\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 = false;\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.fireDecoratorEvent(\"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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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 \"./DynamicSideContentTemplate.js\";\nimport type {\n\tAccessibilityAttributes,\n} from \"@ui5/webcomponents-base\";\n\n// Styles\nimport DynamicSideContentCss from \"./generated/themes/DynamicSideContent.css.js\";\n\n// Texts\nimport {\n\tDSC_MAIN_ARIA_LABEL,\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 | undefined,\n\tmainContentVisible: boolean,\n\tsideContentVisible: boolean,\n}\n\ntype DynamicSideContentAriaAccessibilityAttributes = Pick<AccessibilityAttributes, \"ariaLabel\">;\ntype DynamicSideContentAccessibilityAttributes = {\n\tmainContent?: DynamicSideContentAriaAccessibilityAttributes,\n\tsideContent?: DynamicSideContentAriaAccessibilityAttributes,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The DynamicSideContent (`ui5-dynamic-side-content`) 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 * ### Usage\n *\n * *When to use?*\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 * *When not to use?*\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 * ### Responsive Behavior\n *\n * Screen width \\> 1440px\n *\n * - Main vs. side content ratio is 75 vs. 25 percent (with a minimum of 320px\n * each).\n * - If the application defines a trigger, the side content can be hidden.\n *\n * Screen width \\<\\= 1440px and \\> 1024px\n *\n * - 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.\n *\n * Screen width \\<\\= 1024px and \\> 720px\n *\n * - The side content ratio is fixed to 340px, and the main content takes the rest\n * of the width. Only if the `sideContentFallDown` is set to `OnMinimumWidth`\n * and screen width is \\<\\= 960px and \\> 720px the side content falls below the main content.\n *\n * Screen width \\<\\= 720px (for example on a mobile device)\n *\n * - In this case, the side content automatically disappears from the screen (unless\n * specified to stay under the content by setting of `sideContentVisibility`\n * property to `AlwaysShow`) 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.\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 * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/DynamicSideContent.js\";`\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: jsxRenderer,\n\tstyles: [DynamicSideContentCss, getEffectiveScrollbarStyle()],\n\ttemplate: DynamicSideContentTemplate,\n})\n/**\n * Fires when the current breakpoint has been changed.\n * @param {string} currentBreakpoint the current breakpoint.\n * @param {string | undefined} 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\tbubbles: true,\n})\nclass DynamicSideContent extends UI5Element {\n\teventDetails!: {\n\t\t\"layout-change\": DynamicSideContentLayoutChangeEventDetail\n\t}\n\t/**\n\t * Defines the visibility of the main content.\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideMainContent = false;\n\n\t/**\n\t * Defines the visibility of the side content.\n\t * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\thideSideContent = false;\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\n\t * @default \"End\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentPosition: `${SideContentPosition}` = \"End\";\n\n\t/**\n\t * Defines on which breakpoints the side content is visible.\n \t * @default \"ShowAboveS\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentVisibility: `${SideContentVisibility}` = \"ShowAboveS\";\n\n\t/**\n\t * Defines on which breakpoints the side content falls down below the main content.\n\t * @default \"OnMinimumWidth\"\n\t * @public\n\t *\n\t */\n\t@property()\n\tsideContentFallDown: `${SideContentFallDown}` = \"OnMinimumWidth\";\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 * @default false\n\t * @public\n\t *\n\t */\n\t@property({ type: Boolean })\n\tequalSplit = false;\n\n\t/**\n\t* Defines additional accessibility attributes on different areas of the component.\n\t*\n\t* The accessibilityAttributes object has the following fields:\n\t*\n\t* - **mainContent**: `mainContent.ariaLabel` defines the aria-label of the main content area. Accepts any string.\n\t* - **sideContent**: `sideContent.ariaLabel` defines the aria-label of the side content area. Accepts any string.\n\t*\n\t* @default {}\n\t* @public\n\t* @since 2.6.0\n\t*/\n\t@property({ type: Object })\n\taccessibilityAttributes: DynamicSideContentAccessibilityAttributes = {};\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_mcSpan = \"0\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_scSpan = \"0\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_toggled = false;\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 * @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\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\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 */\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() {\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\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-dsc-main\": true,\n\t\t\t\t[`${gridPrefix}-${mcSpan}`]: true,\n\t\t\t},\n\t\t\tside: {\n\t\t\t\t\"ui5-dsc-side\": true,\n\t\t\t\t[`${gridPrefix}-${scSpan}`]: true,\n\t\t\t},\n\t\t};\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(): DynamicSideContentAccessibilityAttributes {\n\t\treturn {\n\t\t\tmainContent: {\n\t\t\t\tariaLabel: this.accessibilityAttributes.mainContent?.ariaLabel || DynamicSideContent.i18nBundle.getText(DSC_MAIN_ARIA_LABEL),\n\t\t\t},\n\t\t\tsideContent: {\n\t\t\t\tariaLabel: this.accessibilityAttributes.sideContent?.ariaLabel || DynamicSideContent.i18nBundle.getText(DSC_SIDE_ARIA_LABEL),\n\t\t\t},\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).getBoundingClientRect().width;\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 = false;\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.fireDecoratorEvent(\"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\tDynamicSideContentAccessibilityAttributes,\n};\n"]}
@@ -6,9 +6,9 @@ export default function DynamicSideContentTemplate() {
6
6
  _jsxs(_Fragment, { children: [mainContent.call(this), sideContent.call(this)] }) }));
7
7
  }
8
8
  function mainContent() {
9
- return (_jsx("div", { class: this.classes.main, style: this.styles.main, children: _jsx("slot", {}) }));
9
+ return (_jsx("div", { role: "main", "aria-label": this.accInfo.mainContent?.ariaLabel, class: this.classes.main, style: this.styles.main, children: _jsx("slot", {}) }));
10
10
  }
11
11
  function sideContent() {
12
- return (_jsx("aside", { role: "complementary", "aria-label": this.accInfo.label, class: this.classes.side, style: this.styles.side, children: _jsx("slot", { name: "sideContent" }) }));
12
+ return (_jsx("aside", { role: "complementary", "aria-label": this.accInfo.sideContent?.ariaLabel, class: this.classes.side, style: this.styles.side, children: _jsx("slot", { name: "sideContent" }) }));
13
13
  }
14
14
  //# sourceMappingURL=DynamicSideContentTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicSideContentTemplate.js","sourceRoot":"","sources":["../src/DynamicSideContentTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,0BAA0B;IACjD,OAAO,CACN,cACC,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEtB,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1B,8BACG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IACtB;YACH,CAAC;gBACD,8BACG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IACtB,GAEC,CACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,cACC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEvB,gBAAa,GACR,CACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,gBACC,IAAI,EAAC,eAAe,gBACR,IAAI,CAAC,OAAO,CAAC,KAAK,EAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEvB,eAAM,IAAI,EAAC,aAAa,GAAQ,GACzB,CACR,CAAC;AACH,CAAC","sourcesContent":["import type DynamicSideContent from \"./DynamicSideContent.js\";\n\nexport default function DynamicSideContentTemplate(this: DynamicSideContent) {\n\treturn (\n\t\t<div\n\t\t\tclass=\"ui5-dsc-root\"\n\t\t\tstyle={this.styles.root}\n\t\t>\n\t\t\t{this._isSideContentFirst ?\n\t\t\t\t<>\n\t\t\t\t\t{ sideContent.call(this) }\n\t\t\t\t\t{ mainContent.call(this) }\n\t\t\t\t</>\n\t\t\t\t:\n\t\t\t\t<>\n\t\t\t\t\t{ mainContent.call(this) }\n\t\t\t\t\t{ sideContent.call(this) }\n\t\t\t\t</>\n\t\t\t}\n\t\t</div>\n\t);\n}\n\nfunction mainContent(this: DynamicSideContent) {\n\treturn (\n\t\t<div\n\t\t\tclass={this.classes.main}\n\t\t\tstyle={this.styles.main}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</div>\n\t);\n}\n\nfunction sideContent(this: DynamicSideContent) {\n\treturn (\n\t\t<aside\n\t\t\trole=\"complementary\"\n\t\t\taria-label={this.accInfo.label}\n\t\t\tclass={this.classes.side}\n\t\t\tstyle={this.styles.side}\n\t\t>\n\t\t\t<slot name=\"sideContent\"></slot>\n\t\t</aside>\n\t);\n}\n"]}
1
+ {"version":3,"file":"DynamicSideContentTemplate.js","sourceRoot":"","sources":["../src/DynamicSideContentTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,0BAA0B;IACjD,OAAO,CACN,cACC,KAAK,EAAC,cAAc,EACpB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEtB,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1B,8BACG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IACtB;YACH,CAAC;gBACD,8BACG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACtB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IACtB,GAEC,CACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,cACC,IAAI,EAAC,MAAM,gBACC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEvB,gBAAa,GACR,CACN,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,gBACC,IAAI,EAAC,eAAe,gBACR,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAEvB,eAAM,IAAI,EAAC,aAAa,GAAQ,GACzB,CACR,CAAC;AACH,CAAC","sourcesContent":["import type DynamicSideContent from \"./DynamicSideContent.js\";\n\nexport default function DynamicSideContentTemplate(this: DynamicSideContent) {\n\treturn (\n\t\t<div\n\t\t\tclass=\"ui5-dsc-root\"\n\t\t\tstyle={this.styles.root}\n\t\t>\n\t\t\t{this._isSideContentFirst ?\n\t\t\t\t<>\n\t\t\t\t\t{ sideContent.call(this) }\n\t\t\t\t\t{ mainContent.call(this) }\n\t\t\t\t</>\n\t\t\t\t:\n\t\t\t\t<>\n\t\t\t\t\t{ mainContent.call(this) }\n\t\t\t\t\t{ sideContent.call(this) }\n\t\t\t\t</>\n\t\t\t}\n\t\t</div>\n\t);\n}\n\nfunction mainContent(this: DynamicSideContent) {\n\treturn (\n\t\t<div\n\t\t\trole=\"main\"\n\t\t\taria-label={this.accInfo.mainContent?.ariaLabel}\n\t\t\tclass={this.classes.main}\n\t\t\tstyle={this.styles.main}\n\t\t>\n\t\t\t<slot></slot>\n\t\t</div>\n\t);\n}\n\nfunction sideContent(this: DynamicSideContent) {\n\treturn (\n\t\t<aside\n\t\t\trole=\"complementary\"\n\t\t\taria-label={this.accInfo.sideContent?.ariaLabel}\n\t\t\tclass={this.classes.side}\n\t\t\tstyle={this.styles.side}\n\t\t>\n\t\t\t<slot name=\"sideContent\"></slot>\n\t\t</aside>\n\t);\n}\n"]}
@@ -16,7 +16,6 @@ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.j
16
16
  import { supportsTouch } from "@ui5/webcomponents-base/dist/Device.js";
17
17
  import AnimationMode from "@ui5/webcomponents-base/dist/types/AnimationMode.js";
18
18
  import { getAnimationMode } from "@ui5/webcomponents-base/dist/config/AnimationMode.js";
19
- import Icon from "@ui5/webcomponents/dist/Icon.js";
20
19
  import "@ui5/webcomponents-icons/dist/vertical-grip.js";
21
20
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
22
21
  import { isLeft, isRight, isLeftShift, isRightShift, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
@@ -862,7 +861,6 @@ FlexibleColumnLayout = FlexibleColumnLayout_1 = __decorate([
862
861
  renderer: jsxRenderer,
863
862
  styles: FlexibleColumnLayoutCss,
864
863
  template: FlexibleColumnLayoutTemplate,
865
- dependencies: [Icon],
866
864
  })
867
865
  /**
868
866
  * Fired when the layout changes via user interaction by dragging the separators
@@ -1 +1 @@
1
- {"version":3,"file":"FlexibleColumnLayout.js","sourceRoot":"","sources":["../src/FlexibleColumnLayout.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/vertical-grip.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisLeftShift,\n\tisRightShift,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { PassiveEventListenerObject, AriaLandmarkRole } from \"@ui5/webcomponents-base\";\nimport FCLLayout from \"./types/FCLLayout.js\";\nimport type { LayoutConfiguration } from \"./fcl-utils/FCLLayout.js\";\nimport {\n\tgetLayoutsByMedia,\n} from \"./fcl-utils/FCLLayout.js\";\n\n// Texts\nimport {\n\tFCL_START_COLUMN_TXT,\n\tFCL_MIDDLE_COLUMN_TXT,\n\tFCL_END_COLUMN_TXT,\n\tFCL_START_SEPARATOR_TOOLTIP,\n\tFCL_END_SEPARATOR_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport FlexibleColumnLayoutTemplate from \"./FlexibleColumnLayoutTemplate.js\";\n\n// Styles\nimport FlexibleColumnLayoutCss from \"./generated/themes/FlexibleColumnLayout.css.js\";\n\nenum MEDIA {\n\tPHONE = \"phone\",\n\tTABLET = \"tablet\",\n\tDESKTOP = \"desktop\",\n}\n\nconst BREAKPOINTS = {\n\t\"PHONE\": 599,\n\t\"TABLET\": 1023,\n} as const;\n\nconst COLUMN = {\n\tSTART: 0,\n\tMID: 1,\n\tEND: 2,\n} as const;\n\nconst COLUMN_MIN_WIDTH = 248;\n\ntype SeparatorMovementSession = {\n\tseparator: HTMLElement,\n\tcursorPositionX: number, // the position X of the mouse/finger that indicates where to move the separator\n\ttmpFCLLayout: FCLLayout, // the layout that corresponds to the latest separator position\n};\n\ntype FlexibleColumnLayoutColumnLayout = Array<string | number>;\n\ntype FlexibleColumnLayoutLayoutChangeEventDetail = {\n\tlayout: `${FCLLayout}`,\n\tcolumnLayout: FlexibleColumnLayoutColumnLayout,\n\tstartColumnVisible: boolean,\n\tmidColumnVisible: boolean,\n\tendColumnVisible: boolean,\n\tseparatorsUsed: boolean,\n\tresized: boolean,\n};\n\ntype FCLAccessibilityRoles = Extract<AriaLandmarkRole, \"none\" | \"complementary\" | \"contentinfo\" | \"main\" | \"region\">\ntype FCLAccessibilityAttributes = {\n\tstartColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tmidColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tendColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tstartSeparator?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tendSeparator?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n}\n\ntype UserDefinedColumnLayouts = {\n\t\"tablet\": {\n\t\t[layoutName in FCLLayout]?: FlexibleColumnLayoutColumnLayout;\n\t},\n\t\"desktop\": {\n\t\t[layoutName in FCLLayout]?: FlexibleColumnLayoutColumnLayout;\n\t},\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `FlexibleColumnLayout` implements the list-detail-detail paradigm by displaying up to three pages in separate columns.\n * There are several possible layouts that can be changed either with the component API, or by dragging the column separators.\n *\n * ### Usage\n *\n * Use this component for applications that need to display several logical levels of related information side by side (e.g. list of items, item, sub-item, etc.).\n * The Component is flexible in a sense that the application can focus the user's attention on one particular column.\n *\n * ### Responsive Behavior\n *\n * The `FlexibleColumnLayout` automatically displays the maximum possible number of columns based on `layout` property and the window size.\n * The component would display 1 column for window size smaller than 599px, up to two columns between 599px and 1023px,\n * and 3 columns for sizes bigger than 1023px.\n *\n * **Note:** When the component displays more than one column, the minimal width of each column is 248px. Consequently, when the user drags a column separator to resize the columns, the minimal allowed width of any resized column is 248px.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n *\n * When a column separator is focused, the following keyboard\n * shortcuts allow the user to resize the columns and change the layout:\n *\n * - [Shift] + [Left] or [Shift] + [Right] - Moves the separator to the left or right, which resizes the columns accordingly.\n * - [Left] or [Right] - Moves the separator to the left or right with a bigger step, which resizes the columns accordingly.\n * - [Home] - Moves the separator to the start position.\n * - [End] - Moves the separator to the end position.\n * - This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/FlexibleColumnLayout.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-flexible-column-layout\",\n\tfastNavigation: true,\n\trenderer: jsxRenderer,\n\tstyles: FlexibleColumnLayoutCss,\n\ttemplate: FlexibleColumnLayoutTemplate,\n\tdependencies: [Icon],\n})\n\n/**\n * Fired when the layout changes via user interaction by dragging the separators\n * or by changing the component size due to resizing.\n * @param {FCLLayout} layout The current layout\n * @param {array} columnLayout The effective column layout, f.e [67%, 33%, 0]\n * @param {boolean} startColumnVisible Indicates if the start column is currently visible\n * @param {boolean} midColumnVisible Indicates if the middle column is currently visible\n * @param {boolean} endColumnVisible Indicates if the end column is currently visible\n * @param {boolean} separatorsUsed Indicates if the layout was changed by dragging the column separators\n * @param {boolean} resized Indicates if the layout was changed by resizing the entire component\n * @public\n */\n@event(\"layout-change\", {\n\tbubbles: true,\n})\nclass FlexibleColumnLayout extends UI5Element {\n\teventDetails!: {\n\t\t\"layout-change\": FlexibleColumnLayoutLayoutChangeEventDetail,\n\t}\n\t/**\n\t* Defines the columns layout and their proportion.\n\t*\n\t* **Note:** The layout also depends on the screen size - one column for screens smaller than 599px,\n\t* two columns between 599px and 1023px and three columns for sizes bigger than 1023px.\n\t*\n\t* **For example:** layout=`TwoColumnsStartExpanded` means the layout will display up to two columns\n\t* in 67%/33% proportion.\n\t* @default \"OneColumn\"\n\t* @public\n\t*/\n\t@property()\n\tlayout: `${FCLLayout}` = \"OneColumn\";\n\n\t/**\n\t* Specifies if the user is allowed to change the columns layout by dragging the separator between the columns.\n\t* @default false\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property({ type: Boolean })\n\tdisableResizing = false;\n\n\t/**\n\t* Defines additional accessibility attributes on different areas of the component.\n\t*\n\t* The accessibilityAttributes object has the following fields,\n\t* where each field is an object supporting one or more accessibility attributes:\n\t*\n\t* - **startColumn**: `startColumn.role` and `startColumn.name`.\n\t* - **midColumn**: `midColumn.role` and `midColumn.name`.\n\t* - **endColumn**: `endColumn.role` and `endColumn.name`.\n\t* - **startSeparator**: `startSeparator.role` and `startSeparator.name`.\n\t* - **endSeparator**: `endSeparator.role` and `endSeparator.name`.\n\t*\n\t* The accessibility attributes support the following values:\n\t*\n\t* - **role**: Defines the accessible ARIA landmark role of the area.\n\t* Accepts the following values: `none`, `complementary`, `contentinfo`, `main` or `region`.\n\t*\n\t* - **name**: Defines the accessible ARIA name of the area.\n\t* Accepts any string.\n\t*\n\t* @default {}\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property({ type: Object })\n\taccessibilityAttributes: FCLAccessibilityAttributes = {};\n\n\t/**\n\t* Defines the component width in px.\n\t* @default 0\n\t* @private\n\t*/\n\t@property({ type: Number })\n\t_width = 0;\n\n\t/**\n\t* Defines the effective columns layout,\n\t* based on both the `layout` property and the screen size.\n\t* Example: [67%, 33%, 0], [25%, 50%, 25%], etc.\n\t* @default undefined\n\t* @private\n\t*/\n\t@property({ type: Array })\n\t_columnLayout?: FlexibleColumnLayoutColumnLayout;\n\n\t/**\n\t* Defines the visible columns count - 1, 2 or 3.\n\t* @default 1\n\t* @private\n\t*/\n\t@property({ type: Number })\n\t_visibleColumns = 1;\n\n\t/**\n\t* Defines if the user is currently resizing the columns by dragging their separator.\n\t* @default false\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_resizing = false;\n\n\t/**\n\t* Allows the user to replace the whole layouts configuration\n\t* @private\n\t*/\n\t@property({ type: Object })\n\t_layoutsConfiguration?: LayoutConfiguration;\n\n\t/**\n\t* Defines the content in the start column.\n\t* @public\n\t*/\n\t@slot()\n\tstartColumn!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the middle column.\n\t* @public\n\t*/\n\t@slot()\n\tmidColumn!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the end column.\n\t* @public\n\t*/\n\t@slot()\n\tendColumn!: Array<HTMLElement>;\n\n\tinitialRendering: boolean;\n\t_handleResize: () => void;\n\t_onSeparatorMove: (e: TouchEvent | MouseEvent) => void;\n\t_onSeparatorMoveEnd: (e: TouchEvent | MouseEvent) => void;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_prevLayout: `${FCLLayout}` | null;\n\t_userDefinedColumnLayouts: UserDefinedColumnLayouts = {\n\t\ttablet: {},\n\t\tdesktop: {},\n\t};\n\t_ontouchstart: PassiveEventListenerObject;\n\tseparatorMovementSession?: SeparatorMovementSession | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._prevLayout = null;\n\t\tthis.initialRendering = true;\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\tthis._onSeparatorMove = this.onSeparatorMove.bind(this);\n\t\tthis._onSeparatorMoveEnd = this.onSeparatorMoveEnd.bind(this);\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tthis.onSeparatorPress(e);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tstatic get ANIMATION_DURATION() {\n\t\treturn getAnimationMode() !== AnimationMode.None ? 560 : 0;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize.bind(this));\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.initialRendering) {\n\t\t\tthis.handleInitialRendering();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.syncLayout();\n\t}\n\n\thandleInitialRendering() {\n\t\tthis._prevLayout = this.layout;\n\t\tthis.updateLayout();\n\t\tthis.initialRendering = false;\n\t}\n\n\thandleResize() {\n\t\tif (this.initialRendering) {\n\t\t\treturn;\n\t\t}\n\n\t\t// store the previous layout\n\t\tconst prevLayoutHash = this.columnLayout!.join();\n\n\t\t// update the column layout, based on the current width\n\t\tthis.updateLayout();\n\n\t\t// fire layout-change if the column layout changed\n\t\tif (prevLayoutHash !== this.columnLayout!.join()) {\n\t\t\tthis.fireLayoutChange(false, true);\n\t\t}\n\t}\n\n\tupdateLayout() {\n\t\tthis._width = this.widthDOM;\n\t\tthis._columnLayout = this.nextColumnLayout(this.effectiveLayout);\n\t\tthis._visibleColumns = this.calcVisibleColumns(this._columnLayout);\n\t\tthis.toggleColumns();\n\t}\n\n\tsyncLayout() {\n\t\tif (this._prevLayout !== this.layout) {\n\t\t\tthis.updateLayout();\n\t\t\tthis._prevLayout = this.layout;\n\t\t}\n\t}\n\n\ttoggleColumns() {\n\t\tthis.toggleColumn(\"start\");\n\t\tthis.toggleColumn(\"mid\");\n\t\tthis.toggleColumn(\"end\");\n\t}\n\n\ttoggleColumn(column: string) {\n\t\tlet columnWidth;\n\t\tlet columnDOM;\n\n\t\tif (column === \"start\") {\n\t\t\tcolumnWidth = this.startColumnWidth;\n\t\t\tcolumnDOM = this.startColumnDOM;\n\t\t} else if (column === \"mid\") {\n\t\t\tcolumnWidth = this.midColumnWidth;\n\t\t\tcolumnDOM = this.midColumnDOM;\n\t\t} else {\n\t\t\tcolumnWidth = this.endColumnWidth;\n\t\t\tcolumnDOM = this.endColumnDOM;\n\t\t}\n\n\t\tconst currentlyHidden = this._isColumnHidden(columnWidth);\n\t\tconst previouslyHidden = this._isColumnHidden(columnDOM.style.width);\n\n\t\t// no change\n\t\tif (currentlyHidden && previouslyHidden) {\n\t\t\treturn;\n\t\t}\n\n\t\t// column resizing: from 33% to 67%, from 25% to 50%, etc.\n\t\tif (!currentlyHidden && !previouslyHidden) {\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\t\t\treturn;\n\t\t}\n\n\t\t// hide column: 33% to 0, 25% to 0, etc .\n\t\tif (currentlyHidden) {\n\t\t\t// animate the width\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\n\t\t\t// hide column with delay to allow the animation runs entirely\n\t\t\tcolumnDOM.addEventListener(\"transitionend\", this.columnResizeHandler);\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show column: from 0 to 33%, from 0 to 25%, etc.\n\t\tif (previouslyHidden) {\n\t\t\tcolumnDOM.removeEventListener(\"transitionend\", this.columnResizeHandler);\n\t\t\tcolumnDOM.classList.remove(\"ui5-fcl-column--hidden\");\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\t\t}\n\t}\n\n\tcolumnResizeHandler = (e: Event) => {\n\t\t(e.target as HTMLElement).classList.add(\"ui5-fcl-column--hidden\");\n\t}\n\n\tnextColumnLayout(layout: `${FCLLayout}`) {\n\t\tlet userDefinedLayout;\n\t\tif (this.media !== MEDIA.PHONE) {\n\t\t\tuserDefinedLayout = this._userDefinedColumnLayouts[this.media][layout];\n\t\t}\n\t\treturn userDefinedLayout || this._effectiveLayoutsByMedia[this.media][layout].layout;\n\t}\n\n\tcalcVisibleColumns(colLayout: FlexibleColumnLayoutColumnLayout) {\n\t\treturn colLayout.filter(colWidth => !this._isColumnHidden(colWidth)).length;\n\t}\n\n\tfireLayoutChange(separatorUsed: boolean, resized: boolean) {\n\t\tthis.fireDecoratorEvent(\"layout-change\", {\n\t\t\tlayout: this.layout,\n\t\t\tcolumnLayout: this._columnLayout!,\n\t\t\tstartColumnVisible: this.startColumnVisible,\n\t\t\tmidColumnVisible: this.midColumnVisible,\n\t\t\tendColumnVisible: this.endColumnVisible,\n\t\t\tseparatorsUsed: separatorUsed,\n\t\t\tresized,\n\t\t});\n\t}\n\n\tonSeparatorPress(e: TouchEvent | MouseEvent) {\n\t\tconst pressedSeparator = (e.target as HTMLElement).closest(\".ui5-fcl-separator\") as HTMLElement;\n\t\tif (pressedSeparator.classList.contains(\"ui5-fcl-separator-start\") && !this.showStartSeparatorGrip) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isTouch = supportsTouch() && e instanceof TouchEvent,\n\t\t\tcursorPositionX = this.getPageXValueFromEvent(e);\n\n\t\tthis.separatorMovementSession = this.initSeparatorMovementSession(pressedSeparator, cursorPositionX, isTouch);\n\t}\n\n\tonSeparatorMove(e: TouchEvent | MouseEvent) {\n\t\te.preventDefault(); // prevent text selection etc. while dragging\n\n\t\tif (!this.separatorMovementSession) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst latestCursorX = this.getPageXValueFromEvent(e),\n\t\t\tmovementDelta = latestCursorX - this.separatorMovementSession.cursorPositionX;\n\n\t\tif (!movementDelta) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst movedSeparator = this.separatorMovementSession.separator,\n\t\t\tlatestSeparatorX = movedSeparator.getBoundingClientRect().x,\n\t\t\tisForwardMove = movementDelta > 0; // is start-to-end direction\n\n\t\t// if the dragged separator was re-rendered away from the cursor\n\t\t// due to change of layout during drag\n\t\t// => check if the cursor lags-behind the separator\n\t\t// and skip resizing untill the cursor catches-up with the separator\n\t\tif (this.isSeparatorAheadOfCursor(latestCursorX, latestSeparatorX, isForwardMove)) {\n\t\t\tthis.separatorMovementSession.cursorPositionX = latestCursorX;\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutBeforeMove = this.separatorMovementSession.tmpFCLLayout;\n\t\t// synchronously move the separator in DOM => resizes the columns accordingly\n\t\tconst layoutAfterMove = this.moveSeparator(movedSeparator, movementDelta, layoutBeforeMove);\n\n\t\tthis.separatorMovementSession.cursorPositionX = latestCursorX;\n\t\tthis.separatorMovementSession.tmpFCLLayout = layoutAfterMove;\n\t}\n\n\tprivate onSeparatorMoveEnd() {\n\t\tif (!this.separatorMovementSession) {\n\t\t\treturn;\n\t\t}\n\t\tconst newLayout = this.separatorMovementSession.tmpFCLLayout;\n\t\tconst newColumnLayout = this._columnLayout!;\n\n\t\tthis.saveUserDefinedColumnLayout(newLayout, newColumnLayout);\n\t\tthis.exitSeparatorMovementSession();\n\t}\n\n\tinitSeparatorMovementSession(separator: HTMLElement, cursorPositionX: number, isTouch: boolean) {\n\t\tthis.attachMoveListeners(isTouch);\n\t\tthis.toggleSideAnimations(separator, false); // disable animations for side colmns to prevent slowdown while dragging\n\t\tthis._resizing = true;\n\n\t\treturn {\n\t\t\tseparator,\n\t\t\tcursorPositionX,\n\t\t\ttmpFCLLayout: this.layout as FCLLayout,\n\t\t};\n\t}\n\n\texitSeparatorMovementSession() {\n\t\tconst movedSeparator = this.separatorMovementSession!.separator;\n\t\tconst hasAnimation = getAnimationMode() !== AnimationMode.None;\n\n\t\tthis.detachMoveListeners();\n\t\tthis.toggleSideAnimations(movedSeparator, hasAnimation); // restore animations for side columns\n\t\tthis._resizing = false;\n\n\t\tmovedSeparator.focus();\n\t\tthis.separatorMovementSession = null;\n\t}\n\n\tsaveUserDefinedColumnLayout(newLayout: FCLLayout, newColumnLayout: FlexibleColumnLayoutColumnLayout) {\n\t\tconst media = this.media as MEDIA.TABLET | MEDIA.DESKTOP;\n\n\t\tthis._userDefinedColumnLayouts[media][newLayout] = newColumnLayout;\n\t\tif (this.layout !== newLayout) {\n\t\t\tthis.layout = newLayout;\n\t\t\tthis.fireLayoutChange(true, false);\n\t\t}\n\t}\n\n\tprivate isSeparatorAheadOfCursor(cursorX: number, separatorX: number, isForwardMove: boolean) {\n\t\tif (isForwardMove) {\n\t\t\treturn separatorX > cursorX;\n\t\t}\n\t\treturn separatorX < cursorX;\n\t}\n\n\tcalculateNewColumnWidth(columnToResize: typeof COLUMN.START | typeof COLUMN.END, widthDelta: number) {\n\t\tconst columnWidths: Array<number> = this._columnLayout!.map(x => this.convertColumnWidthToPixels(x)),\n\t\t\tadjacentColumnToResize = COLUMN.MID, // column to compensate the resize of the given column\n\t\t\tcolumnNewWidth = columnWidths[columnToResize] + widthDelta,\n\t\t\tadjacentColumnNewWidth = columnWidths[adjacentColumnToResize] - widthDelta;\n\n\t\tif (columnNewWidth < COLUMN_MIN_WIDTH) {\n\t\t\t// user is trying to shrink a column below its min-width\n\t\t\t// or to reveal a hidden column\n\t\t\treturn COLUMN_MIN_WIDTH;\n\t\t}\n\n\t\tif (adjacentColumnNewWidth < COLUMN_MIN_WIDTH) {\n\t\t\tconst correction = COLUMN_MIN_WIDTH - adjacentColumnNewWidth;\n\t\t\t// constrain the new width to preserve the min-width of the adjacent column\n\t\t\treturn columnNewWidth - correction;\n\t\t}\n\n\t\treturn columnNewWidth;\n\t}\n\n\tmoveSeparator(separator: HTMLElement, offsetX: number, fclLayoutBeforeMove: FCLLayout) {\n\t\tconst isStartSeparator = separator === this.startSeparatorDOM,\n\t\t\tisRTL = this.effectiveDir === \"rtl\";\n\t\tlet selectedColumnToResize,\n\t\t\tcolumnWidthDelta;\n\n\t\tif (isRTL) {\n\t\t\toffsetX = -offsetX;\n\t\t}\n\n\t\tif (isStartSeparator) {\n\t\t\tselectedColumnToResize = COLUMN.START;\n\t\t\t// move in direction start-to-end expands start column\n\t\t\tcolumnWidthDelta = offsetX;\n\t\t} else {\n\t\t\tselectedColumnToResize = COLUMN.END;\n\t\t\t// move in direction start-to-end shrinks end column\n\t\t\tcolumnWidthDelta = -offsetX;\n\t\t}\n\n\t\tconst isStartToEndDirection = offsetX > 0,\n\t\t\tnewColumnWidth = this.calculateNewColumnWidth(selectedColumnToResize, columnWidthDelta),\n\t\t\tnewColumnLayout = this.adjustColumnLayout(selectedColumnToResize, newColumnWidth, true)!,\n\t\t\tnewFCLLayout = this.getNextLayoutOnSeparatorMovement(separator, isStartToEndDirection, fclLayoutBeforeMove, newColumnLayout) as FCLLayout;\n\n\t\tif (fclLayoutBeforeMove !== newFCLLayout) {\n\t\t\tthis._columnLayout = this.nextColumnLayout(newFCLLayout);\n\t\t\tthis._visibleColumns = this.calcVisibleColumns(this._columnLayout);\n\t\t}\n\n\t\t// apply the requested resize on <code>this._columnLayout</code>\n\t\tthis.adjustColumnLayout(selectedColumnToResize, newColumnWidth);\n\n\t\tthis.toggleColumns();\n\n\t\treturn newFCLLayout;\n\t}\n\n\tadjustColumnLayout(columnToResize: typeof COLUMN.START | typeof COLUMN.END, newSize: number, createNewArray = false) {\n\t\tif (!this._columnLayout) {\n\t\t\treturn;\n\t\t}\n\t\tconst columnLayoutInPx = this._columnLayout.map(x => this.convertColumnWidthToPixels(x));\n\n\t\t// apply the new size\n\t\tcolumnLayoutInPx[columnToResize] = newSize;\n\t\tcolumnLayoutInPx[COLUMN.MID] = this._availableWidthForColumns\n\t\t\t- columnLayoutInPx[COLUMN.START]\n\t\t\t- columnLayoutInPx[COLUMN.END];\n\n\t\tconst columnLayoutToAdjust = createNewArray ? [] : this._columnLayout;\n\n\t\tcolumnLayoutInPx.forEach((x, i) => {\n\t\t\tcolumnLayoutToAdjust[i] = this.convertToRelativeColumnWidth(columnLayoutInPx[i]);\n\t\t});\n\n\t\treturn columnLayoutToAdjust;\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst stepSize = 2,\n\t\t\tbigStepSize = this._width,\n\t\t\tisRTL = this.effectiveDir === \"rtl\";\n\t\tlet step = 0;\n\t\tif (isLeft(e)) {\n\t\t\tstep = -stepSize * 10;\n\t\t} else if (isRight(e)) {\n\t\t\tstep = stepSize * 10;\n\t\t} else if (isLeftShift(e)) {\n\t\t\tstep = -stepSize;\n\t\t} else if (isRightShift(e)) {\n\t\t\tstep = stepSize;\n\t\t} else if (isHome(e)) {\n\t\t\te.preventDefault();\n\t\t\tstep = isRTL ? bigStepSize : -bigStepSize;\n\t\t} else if (isEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\tstep = isRTL ? -bigStepSize : bigStepSize;\n\t\t}\n\n\t\tif (!step) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst separator = e.target as HTMLElement;\n\t\tif (!this.separatorMovementSession) {\n\t\t\tthis.separatorMovementSession = this.initSeparatorMovementSession(separator, 0, false);\n\t\t}\n\n\t\tconst layoutBeforeMove = this.separatorMovementSession.tmpFCLLayout;\n\t\tconst layoutAfterMove = this.moveSeparator(separator, step, layoutBeforeMove);\n\n\t\tthis.separatorMovementSession.tmpFCLLayout = layoutAfterMove;\n\n\t\tawait renderFinished();\n\t\tseparator.focus();\n\t}\n\n\t_onkeyup() {\n\t\tif (this.separatorMovementSession) {\n\t\t\tthis.onSeparatorMoveEnd();\n\t\t}\n\t}\n\n\tprivate attachMoveListeners(isTouch: boolean) {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef) {\n\t\t\treturn;\n\t\t}\n\t\tif (isTouch && supportsTouch()) {\n\t\t\tdomRef.addEventListener(\"touchmove\", this._onSeparatorMove);\n\t\t\tdomRef.addEventListener(\"touchend\", this._onSeparatorMoveEnd);\n\t\t} else {\n\t\t\tdomRef.addEventListener(\"mousemove\", this._onSeparatorMove);\n\t\t\tdomRef.addEventListener(\"mouseup\", this._onSeparatorMoveEnd);\n\t\t}\n\t}\n\n\tprivate detachMoveListeners() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef) {\n\t\t\treturn;\n\t\t}\n\t\tdomRef.removeEventListener(\"mouseup\", this._onSeparatorMoveEnd);\n\t\tdomRef.removeEventListener(\"touchend\", this._onSeparatorMoveEnd);\n\t\t// Only one of the following was attached, but it's ok to remove both as there is no error\n\t\tdomRef.removeEventListener(\"mousemove\", this._onSeparatorMove);\n\t\tdomRef.removeEventListener(\"touchmove\", this._onSeparatorMove);\n\t}\n\n\tprivate toggleSideAnimations(separator: HTMLElement, shouldAnimate: boolean) {\n\t\tconst adjacentColumns = [\n\t\t\tseparator.previousElementSibling,\n\t\t\tseparator.nextElementSibling,\n\t\t];\n\n\t\tadjacentColumns.forEach(column => column!.classList.toggle(\"ui5-fcl-column-animation\", shouldAnimate));\n\t}\n\n\tprivate getPageXValueFromEvent(e: TouchEvent | MouseEvent): number {\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\tif (e.changedTouches && e.changedTouches.length > 0) {\n\t\t\t\treturn e.changedTouches[0].pageX;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn (e as MouseEvent).pageX; // MouseEvent\n\t}\n\n\tconvertColumnWidthToPixels(width: string | number) {\n\t\tif (typeof width === \"number\") {\n\t\t\treturn width;\n\t\t}\n\t\tconst parsedValue = parseFloat(width),\n\t\t\ttotalWidth = this._availableWidthForColumns;\n\n\t\tif (width.endsWith(\"%\")) {\n\t\t\treturn (totalWidth / 100) * parsedValue;\n\t\t}\n\t\treturn parsedValue;\n\t}\n\n\tconvertToRelativeColumnWidth(pxWidth: string | number) {\n\t\tif (typeof pxWidth === \"string\") {\n\t\t\treturn pxWidth;\n\t\t}\n\t\tif (pxWidth === 0) {\n\t\t\treturn \"0px\";\n\t\t}\n\t\treturn `${(pxWidth / this._availableWidthForColumns) * 100}%`;\n\t}\n\n\tgetNextLayoutOnSeparatorMovement(separator: HTMLElement, isStartToEndDirection: boolean, fclLayoutBeforeMove: FCLLayout, columnLayoutAfterMove: FlexibleColumnLayoutColumnLayout) {\n\t\tconst isStartSeparator = separator === this.startSeparatorDOM,\n\t\t\tseparatorName = isStartSeparator ? \"start\" : \"end\",\n\t\t\tmoved = (options: {separator: \"start\" | \"end\", from: FCLLayout, forward: boolean}) => {\n\t\t\t\treturn options.from === fclLayoutBeforeMove\n\t\t\t\t&& options.separator === separatorName\n\t\t\t\t&& options.forward === isStartToEndDirection;\n\t\t\t},\n\t\t\tnewColumnLayout = columnLayoutAfterMove.map(x => this.convertColumnWidthToPixels(x)),\n\t\t\tnewColumnWidths = {\n\t\t\t\tstart: newColumnLayout[0],\n\t\t\t\tmid: newColumnLayout[1],\n\t\t\t\tend: newColumnLayout[2],\n\t\t\t},\n\t\t\tstartColumnPxWidth = newColumnWidths.start,\n\t\t\tstartColumnPercentWidth = (startColumnPxWidth / this.widthDOM) * 100,\n\t\t\tisTablet = this.media === MEDIA.TABLET;\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.TwoColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t}) && (newColumnWidths.start >= newColumnWidths.mid)) {\n\t\t\treturn FCLLayout.TwoColumnsStartExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.TwoColumnsStartExpanded,\n\t\t\tforward: false,\n\t\t}) && (newColumnWidths.start < newColumnWidths.mid)) {\n\t\t\treturn FCLLayout.TwoColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t}) && startColumnPercentWidth >= 33) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t}) && !isTablet && startColumnPercentWidth < 33) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && ((Math.ceil(newColumnWidths.end) >= COLUMN_MIN_WIDTH))) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: false,\n\t\t}) && newColumnWidths.mid < newColumnWidths.end) {\n\t\t\treturn FCLLayout.ThreeColumnsEndExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsEndExpanded,\n\t\t\tforward: true,\n\t\t}) && newColumnWidths.mid >= newColumnWidths.end) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: true,\n\t\t}) && newColumnWidths.start >= newColumnWidths.mid) {\n\t\t\treturn FCLLayout.ThreeColumnsStartExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsStartExpandedEndHidden,\n\t\t\tforward: false,\n\t\t}) && newColumnWidths.start < newColumnWidths.mid) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && isTablet && (Math.ceil(startColumnPxWidth) >= COLUMN_MIN_WIDTH)) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && isTablet && (Math.ceil(newColumnWidths.end) >= COLUMN_MIN_WIDTH)) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\treturn fclLayoutBeforeMove; // no layout change\n\t}\n\n\tget _availableWidthForColumns() {\n\t\tlet width = this._width;\n\t\tif (this.showStartSeparator) {\n\t\t\twidth -= this.startSeparatorDOM.offsetWidth;\n\t\t}\n\t\tif (this.showEndSeparator) {\n\t\t\twidth -= this.endSeparatorDOM.offsetWidth;\n\t\t}\n\t\treturn width;\n\t}\n\n\t/**\n\t * Checks if a column is hidden based on its width.\n\t */\n\tprivate _isColumnHidden(columnWidth: number | string): boolean {\n\t\treturn columnWidth === 0 || columnWidth === \"0px\";\n\t}\n\n\t/**\n\t* Returns the current column layout, based on both the `layout` property and the screen size.\n\t*\n\t* **For example:** [\"67%\", \"33%\", 0], [\"100%\", 0, 0], [\"25%\", \"50%\", \"25%\"], etc,\n\t* where the numbers represents the width of the start, middle and end columns.\n\t* @default undefined\n\t* @public\n\t*/\n\tget columnLayout(): FlexibleColumnLayoutColumnLayout | undefined {\n\t\treturn this._columnLayout;\n\t}\n\n\t/**\n\t* Returns if the `start` column is visible.\n\t* @default true\n\t* @public\n\t*/\n\tget startColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[0]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns if the `middle` column is visible.\n\t* @default false\n\t* @public\n\t*/\n\tget midColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[1]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns if the `end` column is visible.\n\t* @default false\n\t* @public\n\t*/\n\tget endColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[2]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns the number of currently visible columns.\n\t* @default 1\n\t* @public\n\t*/\n\tget visibleColumns(): number {\n\t\treturn this._visibleColumns;\n\t}\n\n\tget startColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[0] : \"100%\";\n\t}\n\n\tget midColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[1] : \"0px\";\n\t}\n\n\tget endColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[2] : \"0px\";\n\t}\n\n\tget showStartSeparator() {\n\t\treturn this.effectiveSeparatorsInfo[0].visible;\n\t}\n\n\tget showEndSeparator() {\n\t\treturn this.effectiveSeparatorsInfo[1].visible;\n\t}\n\n\tget showStartSeparatorGrip() {\n\t\treturn this.disableResizing ? false : this.startSeparatorGripVisibility;\n\t}\n\n\tget showEndSeparatorGrip() {\n\t\treturn this.disableResizing ? false : this.endSeparatorGripVisibility;\n\t}\n\n\tget startSeparatorGripVisibility() {\n\t\treturn this.effectiveSeparatorsInfo[0].gripVisible;\n\t}\n\n\tget endSeparatorGripVisibility() {\n\t\treturn this.effectiveSeparatorsInfo[1].gripVisible;\n\t}\n\n\tget effectiveSeparatorsInfo() {\n\t\treturn this._effectiveLayoutsByMedia[this.media][this.effectiveLayout].separators;\n\t}\n\n\tget effectiveLayout() {\n\t\treturn this.separatorMovementSession?.tmpFCLLayout || this.layout;\n\t}\n\n\tget startSeparatorDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-separator-start\")!;\n\t}\n\n\tget endSeparatorDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-separator-end\")!;\n\t}\n\n\tget startSeparatorTabIndex() {\n\t\tif (this.showStartSeparatorGrip) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tget endSeparatorTabIndex() {\n\t\tif (this.showEndSeparatorGrip) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\n\tget media() {\n\t\tif (this._width <= BREAKPOINTS.PHONE) {\n\t\t\treturn MEDIA.PHONE;\n\t\t}\n\n\t\tif (this._width <= BREAKPOINTS.TABLET) {\n\t\t\treturn MEDIA.TABLET;\n\t\t}\n\n\t\treturn MEDIA.DESKTOP;\n\t}\n\n\tget widthDOM() {\n\t\treturn this.getBoundingClientRect().width;\n\t}\n\n\tget startColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--start\")!;\n\t}\n\n\tget midColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--middle\")!;\n\t}\n\n\tget endColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--end\")!;\n\t}\n\n\tget accStartColumnText() {\n\t\treturn this.accessibilityAttributes.startColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_START_COLUMN_TXT);\n\t}\n\n\tget accMiddleColumnText() {\n\t\treturn this.accessibilityAttributes.midColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_MIDDLE_COLUMN_TXT);\n\t}\n\n\tget accEndColumnText() {\n\t\treturn this.accessibilityAttributes.endColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_END_COLUMN_TXT);\n\t}\n\n\tget accStartSeparatorText() {\n\t\tlet name = this.accessibilityAttributes.startSeparator?.name;\n\t\tif (!name && this.showStartSeparatorGrip) {\n\t\t\tname = FlexibleColumnLayout.i18nBundle.getText(FCL_START_SEPARATOR_TOOLTIP);\n\t\t}\n\t\treturn name;\n\t}\n\n\tget accEndSeparatorText() {\n\t\treturn this.accessibilityAttributes.endSeparator?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_END_SEPARATOR_TOOLTIP);\n\t}\n\n\tget accStartColumnRole() {\n\t\tif (this.startColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.startColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accMiddleColumnRole() {\n\t\tif (this.midColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.midColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accEndColumnRole() {\n\t\tif (this.endColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.endColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accStartSeparatorRole() {\n\t\treturn this.accessibilityAttributes.startSeparator?.role || \"separator\";\n\t}\n\n\tget accEndSeparatorRole() {\n\t\treturn this.accessibilityAttributes.endSeparator?.role || \"separator\";\n\t}\n\n\tget _effectiveLayoutsByMedia() {\n\t\treturn this._layoutsConfiguration || getLayoutsByMedia();\n\t}\n\n\tget _accAttributes() {\n\t\treturn {\n\t\t\tcolumns: {\n\t\t\t\tstart: {\n\t\t\t\t\trole: this.accStartColumnRole,\n\t\t\t\t\tariaHidden: !this.startColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t\tmiddle: {\n\t\t\t\t\trole: this.accMiddleColumnRole,\n\t\t\t\t\tariaHidden: !this.midColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t\tend: {\n\t\t\t\t\trole: this.accEndColumnRole,\n\t\t\t\t\tariaHidden: !this.endColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\nFlexibleColumnLayout.define();\n\nexport default FlexibleColumnLayout;\n\nexport type {\n\tMEDIA,\n\tFlexibleColumnLayoutLayoutChangeEventDetail,\n\tFCLAccessibilityAttributes,\n\tFlexibleColumnLayoutColumnLayout,\n};\n"]}
1
+ {"version":3,"file":"FlexibleColumnLayout.js","sourceRoot":"","sources":["../src/FlexibleColumnLayout.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport AnimationMode from \"@ui5/webcomponents-base/dist/types/AnimationMode.js\";\nimport { getAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport \"@ui5/webcomponents-icons/dist/vertical-grip.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisLeftShift,\n\tisRightShift,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { PassiveEventListenerObject, AriaLandmarkRole } from \"@ui5/webcomponents-base\";\nimport FCLLayout from \"./types/FCLLayout.js\";\nimport type { LayoutConfiguration } from \"./fcl-utils/FCLLayout.js\";\nimport {\n\tgetLayoutsByMedia,\n} from \"./fcl-utils/FCLLayout.js\";\n\n// Texts\nimport {\n\tFCL_START_COLUMN_TXT,\n\tFCL_MIDDLE_COLUMN_TXT,\n\tFCL_END_COLUMN_TXT,\n\tFCL_START_SEPARATOR_TOOLTIP,\n\tFCL_END_SEPARATOR_TOOLTIP,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport FlexibleColumnLayoutTemplate from \"./FlexibleColumnLayoutTemplate.js\";\n\n// Styles\nimport FlexibleColumnLayoutCss from \"./generated/themes/FlexibleColumnLayout.css.js\";\n\nenum MEDIA {\n\tPHONE = \"phone\",\n\tTABLET = \"tablet\",\n\tDESKTOP = \"desktop\",\n}\n\nconst BREAKPOINTS = {\n\t\"PHONE\": 599,\n\t\"TABLET\": 1023,\n} as const;\n\nconst COLUMN = {\n\tSTART: 0,\n\tMID: 1,\n\tEND: 2,\n} as const;\n\nconst COLUMN_MIN_WIDTH = 248;\n\ntype SeparatorMovementSession = {\n\tseparator: HTMLElement,\n\tcursorPositionX: number, // the position X of the mouse/finger that indicates where to move the separator\n\ttmpFCLLayout: FCLLayout, // the layout that corresponds to the latest separator position\n};\n\ntype FlexibleColumnLayoutColumnLayout = Array<string | number>;\n\ntype FlexibleColumnLayoutLayoutChangeEventDetail = {\n\tlayout: `${FCLLayout}`,\n\tcolumnLayout: FlexibleColumnLayoutColumnLayout,\n\tstartColumnVisible: boolean,\n\tmidColumnVisible: boolean,\n\tendColumnVisible: boolean,\n\tseparatorsUsed: boolean,\n\tresized: boolean,\n};\n\ntype FCLAccessibilityRoles = Extract<AriaLandmarkRole, \"none\" | \"complementary\" | \"contentinfo\" | \"main\" | \"region\">\ntype FCLAccessibilityAttributes = {\n\tstartColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tmidColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tendColumn?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tstartSeparator?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n\tendSeparator?: {\n\t\trole: FCLAccessibilityRoles,\n\t\tname: string,\n\t},\n}\n\ntype UserDefinedColumnLayouts = {\n\t\"tablet\": {\n\t\t[layoutName in FCLLayout]?: FlexibleColumnLayoutColumnLayout;\n\t},\n\t\"desktop\": {\n\t\t[layoutName in FCLLayout]?: FlexibleColumnLayoutColumnLayout;\n\t},\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `FlexibleColumnLayout` implements the list-detail-detail paradigm by displaying up to three pages in separate columns.\n * There are several possible layouts that can be changed either with the component API, or by dragging the column separators.\n *\n * ### Usage\n *\n * Use this component for applications that need to display several logical levels of related information side by side (e.g. list of items, item, sub-item, etc.).\n * The Component is flexible in a sense that the application can focus the user's attention on one particular column.\n *\n * ### Responsive Behavior\n *\n * The `FlexibleColumnLayout` automatically displays the maximum possible number of columns based on `layout` property and the window size.\n * The component would display 1 column for window size smaller than 599px, up to two columns between 599px and 1023px,\n * and 3 columns for sizes bigger than 1023px.\n *\n * **Note:** When the component displays more than one column, the minimal width of each column is 248px. Consequently, when the user drags a column separator to resize the columns, the minimal allowed width of any resized column is 248px.\n *\n * ### Keyboard Handling\n *\n * #### Basic Navigation\n *\n * When a column separator is focused, the following keyboard\n * shortcuts allow the user to resize the columns and change the layout:\n *\n * - [Shift] + [Left] or [Shift] + [Right] - Moves the separator to the left or right, which resizes the columns accordingly.\n * - [Left] or [Right] - Moves the separator to the left or right with a bigger step, which resizes the columns accordingly.\n * - [Home] - Moves the separator to the start position.\n * - [End] - Moves the separator to the end position.\n * - This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/FlexibleColumnLayout.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.8\n */\n@customElement({\n\ttag: \"ui5-flexible-column-layout\",\n\tfastNavigation: true,\n\trenderer: jsxRenderer,\n\tstyles: FlexibleColumnLayoutCss,\n\ttemplate: FlexibleColumnLayoutTemplate,\n})\n\n/**\n * Fired when the layout changes via user interaction by dragging the separators\n * or by changing the component size due to resizing.\n * @param {FCLLayout} layout The current layout\n * @param {array} columnLayout The effective column layout, f.e [67%, 33%, 0]\n * @param {boolean} startColumnVisible Indicates if the start column is currently visible\n * @param {boolean} midColumnVisible Indicates if the middle column is currently visible\n * @param {boolean} endColumnVisible Indicates if the end column is currently visible\n * @param {boolean} separatorsUsed Indicates if the layout was changed by dragging the column separators\n * @param {boolean} resized Indicates if the layout was changed by resizing the entire component\n * @public\n */\n@event(\"layout-change\", {\n\tbubbles: true,\n})\nclass FlexibleColumnLayout extends UI5Element {\n\teventDetails!: {\n\t\t\"layout-change\": FlexibleColumnLayoutLayoutChangeEventDetail,\n\t}\n\t/**\n\t* Defines the columns layout and their proportion.\n\t*\n\t* **Note:** The layout also depends on the screen size - one column for screens smaller than 599px,\n\t* two columns between 599px and 1023px and three columns for sizes bigger than 1023px.\n\t*\n\t* **For example:** layout=`TwoColumnsStartExpanded` means the layout will display up to two columns\n\t* in 67%/33% proportion.\n\t* @default \"OneColumn\"\n\t* @public\n\t*/\n\t@property()\n\tlayout: `${FCLLayout}` = \"OneColumn\";\n\n\t/**\n\t* Specifies if the user is allowed to change the columns layout by dragging the separator between the columns.\n\t* @default false\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property({ type: Boolean })\n\tdisableResizing = false;\n\n\t/**\n\t* Defines additional accessibility attributes on different areas of the component.\n\t*\n\t* The accessibilityAttributes object has the following fields,\n\t* where each field is an object supporting one or more accessibility attributes:\n\t*\n\t* - **startColumn**: `startColumn.role` and `startColumn.name`.\n\t* - **midColumn**: `midColumn.role` and `midColumn.name`.\n\t* - **endColumn**: `endColumn.role` and `endColumn.name`.\n\t* - **startSeparator**: `startSeparator.role` and `startSeparator.name`.\n\t* - **endSeparator**: `endSeparator.role` and `endSeparator.name`.\n\t*\n\t* The accessibility attributes support the following values:\n\t*\n\t* - **role**: Defines the accessible ARIA landmark role of the area.\n\t* Accepts the following values: `none`, `complementary`, `contentinfo`, `main` or `region`.\n\t*\n\t* - **name**: Defines the accessible ARIA name of the area.\n\t* Accepts any string.\n\t*\n\t* @default {}\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property({ type: Object })\n\taccessibilityAttributes: FCLAccessibilityAttributes = {};\n\n\t/**\n\t* Defines the component width in px.\n\t* @default 0\n\t* @private\n\t*/\n\t@property({ type: Number })\n\t_width = 0;\n\n\t/**\n\t* Defines the effective columns layout,\n\t* based on both the `layout` property and the screen size.\n\t* Example: [67%, 33%, 0], [25%, 50%, 25%], etc.\n\t* @default undefined\n\t* @private\n\t*/\n\t@property({ type: Array })\n\t_columnLayout?: FlexibleColumnLayoutColumnLayout;\n\n\t/**\n\t* Defines the visible columns count - 1, 2 or 3.\n\t* @default 1\n\t* @private\n\t*/\n\t@property({ type: Number })\n\t_visibleColumns = 1;\n\n\t/**\n\t* Defines if the user is currently resizing the columns by dragging their separator.\n\t* @default false\n\t* @private\n\t*/\n\t@property({ type: Boolean })\n\t_resizing = false;\n\n\t/**\n\t* Allows the user to replace the whole layouts configuration\n\t* @private\n\t*/\n\t@property({ type: Object })\n\t_layoutsConfiguration?: LayoutConfiguration;\n\n\t/**\n\t* Defines the content in the start column.\n\t* @public\n\t*/\n\t@slot()\n\tstartColumn!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the middle column.\n\t* @public\n\t*/\n\t@slot()\n\tmidColumn!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the content in the end column.\n\t* @public\n\t*/\n\t@slot()\n\tendColumn!: Array<HTMLElement>;\n\n\tinitialRendering: boolean;\n\t_handleResize: () => void;\n\t_onSeparatorMove: (e: TouchEvent | MouseEvent) => void;\n\t_onSeparatorMoveEnd: (e: TouchEvent | MouseEvent) => void;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_prevLayout: `${FCLLayout}` | null;\n\t_userDefinedColumnLayouts: UserDefinedColumnLayouts = {\n\t\ttablet: {},\n\t\tdesktop: {},\n\t};\n\t_ontouchstart: PassiveEventListenerObject;\n\tseparatorMovementSession?: SeparatorMovementSession | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._prevLayout = null;\n\t\tthis.initialRendering = true;\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\tthis._onSeparatorMove = this.onSeparatorMove.bind(this);\n\t\tthis._onSeparatorMoveEnd = this.onSeparatorMoveEnd.bind(this);\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tthis.onSeparatorPress(e);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\tstatic get ANIMATION_DURATION() {\n\t\treturn getAnimationMode() !== AnimationMode.None ? 560 : 0;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize.bind(this));\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.initialRendering) {\n\t\t\tthis.handleInitialRendering();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.syncLayout();\n\t}\n\n\thandleInitialRendering() {\n\t\tthis._prevLayout = this.layout;\n\t\tthis.updateLayout();\n\t\tthis.initialRendering = false;\n\t}\n\n\thandleResize() {\n\t\tif (this.initialRendering) {\n\t\t\treturn;\n\t\t}\n\n\t\t// store the previous layout\n\t\tconst prevLayoutHash = this.columnLayout!.join();\n\n\t\t// update the column layout, based on the current width\n\t\tthis.updateLayout();\n\n\t\t// fire layout-change if the column layout changed\n\t\tif (prevLayoutHash !== this.columnLayout!.join()) {\n\t\t\tthis.fireLayoutChange(false, true);\n\t\t}\n\t}\n\n\tupdateLayout() {\n\t\tthis._width = this.widthDOM;\n\t\tthis._columnLayout = this.nextColumnLayout(this.effectiveLayout);\n\t\tthis._visibleColumns = this.calcVisibleColumns(this._columnLayout);\n\t\tthis.toggleColumns();\n\t}\n\n\tsyncLayout() {\n\t\tif (this._prevLayout !== this.layout) {\n\t\t\tthis.updateLayout();\n\t\t\tthis._prevLayout = this.layout;\n\t\t}\n\t}\n\n\ttoggleColumns() {\n\t\tthis.toggleColumn(\"start\");\n\t\tthis.toggleColumn(\"mid\");\n\t\tthis.toggleColumn(\"end\");\n\t}\n\n\ttoggleColumn(column: string) {\n\t\tlet columnWidth;\n\t\tlet columnDOM;\n\n\t\tif (column === \"start\") {\n\t\t\tcolumnWidth = this.startColumnWidth;\n\t\t\tcolumnDOM = this.startColumnDOM;\n\t\t} else if (column === \"mid\") {\n\t\t\tcolumnWidth = this.midColumnWidth;\n\t\t\tcolumnDOM = this.midColumnDOM;\n\t\t} else {\n\t\t\tcolumnWidth = this.endColumnWidth;\n\t\t\tcolumnDOM = this.endColumnDOM;\n\t\t}\n\n\t\tconst currentlyHidden = this._isColumnHidden(columnWidth);\n\t\tconst previouslyHidden = this._isColumnHidden(columnDOM.style.width);\n\n\t\t// no change\n\t\tif (currentlyHidden && previouslyHidden) {\n\t\t\treturn;\n\t\t}\n\n\t\t// column resizing: from 33% to 67%, from 25% to 50%, etc.\n\t\tif (!currentlyHidden && !previouslyHidden) {\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\t\t\treturn;\n\t\t}\n\n\t\t// hide column: 33% to 0, 25% to 0, etc .\n\t\tif (currentlyHidden) {\n\t\t\t// animate the width\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\n\t\t\t// hide column with delay to allow the animation runs entirely\n\t\t\tcolumnDOM.addEventListener(\"transitionend\", this.columnResizeHandler);\n\n\t\t\treturn;\n\t\t}\n\n\t\t// show column: from 0 to 33%, from 0 to 25%, etc.\n\t\tif (previouslyHidden) {\n\t\t\tcolumnDOM.removeEventListener(\"transitionend\", this.columnResizeHandler);\n\t\t\tcolumnDOM.classList.remove(\"ui5-fcl-column--hidden\");\n\t\t\tcolumnDOM.style.width = typeof columnWidth === \"number\" ? `${columnWidth}px` : columnWidth;\n\t\t}\n\t}\n\n\tcolumnResizeHandler = (e: Event) => {\n\t\t(e.target as HTMLElement).classList.add(\"ui5-fcl-column--hidden\");\n\t}\n\n\tnextColumnLayout(layout: `${FCLLayout}`) {\n\t\tlet userDefinedLayout;\n\t\tif (this.media !== MEDIA.PHONE) {\n\t\t\tuserDefinedLayout = this._userDefinedColumnLayouts[this.media][layout];\n\t\t}\n\t\treturn userDefinedLayout || this._effectiveLayoutsByMedia[this.media][layout].layout;\n\t}\n\n\tcalcVisibleColumns(colLayout: FlexibleColumnLayoutColumnLayout) {\n\t\treturn colLayout.filter(colWidth => !this._isColumnHidden(colWidth)).length;\n\t}\n\n\tfireLayoutChange(separatorUsed: boolean, resized: boolean) {\n\t\tthis.fireDecoratorEvent(\"layout-change\", {\n\t\t\tlayout: this.layout,\n\t\t\tcolumnLayout: this._columnLayout!,\n\t\t\tstartColumnVisible: this.startColumnVisible,\n\t\t\tmidColumnVisible: this.midColumnVisible,\n\t\t\tendColumnVisible: this.endColumnVisible,\n\t\t\tseparatorsUsed: separatorUsed,\n\t\t\tresized,\n\t\t});\n\t}\n\n\tonSeparatorPress(e: TouchEvent | MouseEvent) {\n\t\tconst pressedSeparator = (e.target as HTMLElement).closest(\".ui5-fcl-separator\") as HTMLElement;\n\t\tif (pressedSeparator.classList.contains(\"ui5-fcl-separator-start\") && !this.showStartSeparatorGrip) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isTouch = supportsTouch() && e instanceof TouchEvent,\n\t\t\tcursorPositionX = this.getPageXValueFromEvent(e);\n\n\t\tthis.separatorMovementSession = this.initSeparatorMovementSession(pressedSeparator, cursorPositionX, isTouch);\n\t}\n\n\tonSeparatorMove(e: TouchEvent | MouseEvent) {\n\t\te.preventDefault(); // prevent text selection etc. while dragging\n\n\t\tif (!this.separatorMovementSession) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst latestCursorX = this.getPageXValueFromEvent(e),\n\t\t\tmovementDelta = latestCursorX - this.separatorMovementSession.cursorPositionX;\n\n\t\tif (!movementDelta) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst movedSeparator = this.separatorMovementSession.separator,\n\t\t\tlatestSeparatorX = movedSeparator.getBoundingClientRect().x,\n\t\t\tisForwardMove = movementDelta > 0; // is start-to-end direction\n\n\t\t// if the dragged separator was re-rendered away from the cursor\n\t\t// due to change of layout during drag\n\t\t// => check if the cursor lags-behind the separator\n\t\t// and skip resizing untill the cursor catches-up with the separator\n\t\tif (this.isSeparatorAheadOfCursor(latestCursorX, latestSeparatorX, isForwardMove)) {\n\t\t\tthis.separatorMovementSession.cursorPositionX = latestCursorX;\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutBeforeMove = this.separatorMovementSession.tmpFCLLayout;\n\t\t// synchronously move the separator in DOM => resizes the columns accordingly\n\t\tconst layoutAfterMove = this.moveSeparator(movedSeparator, movementDelta, layoutBeforeMove);\n\n\t\tthis.separatorMovementSession.cursorPositionX = latestCursorX;\n\t\tthis.separatorMovementSession.tmpFCLLayout = layoutAfterMove;\n\t}\n\n\tprivate onSeparatorMoveEnd() {\n\t\tif (!this.separatorMovementSession) {\n\t\t\treturn;\n\t\t}\n\t\tconst newLayout = this.separatorMovementSession.tmpFCLLayout;\n\t\tconst newColumnLayout = this._columnLayout!;\n\n\t\tthis.saveUserDefinedColumnLayout(newLayout, newColumnLayout);\n\t\tthis.exitSeparatorMovementSession();\n\t}\n\n\tinitSeparatorMovementSession(separator: HTMLElement, cursorPositionX: number, isTouch: boolean) {\n\t\tthis.attachMoveListeners(isTouch);\n\t\tthis.toggleSideAnimations(separator, false); // disable animations for side colmns to prevent slowdown while dragging\n\t\tthis._resizing = true;\n\n\t\treturn {\n\t\t\tseparator,\n\t\t\tcursorPositionX,\n\t\t\ttmpFCLLayout: this.layout as FCLLayout,\n\t\t};\n\t}\n\n\texitSeparatorMovementSession() {\n\t\tconst movedSeparator = this.separatorMovementSession!.separator;\n\t\tconst hasAnimation = getAnimationMode() !== AnimationMode.None;\n\n\t\tthis.detachMoveListeners();\n\t\tthis.toggleSideAnimations(movedSeparator, hasAnimation); // restore animations for side columns\n\t\tthis._resizing = false;\n\n\t\tmovedSeparator.focus();\n\t\tthis.separatorMovementSession = null;\n\t}\n\n\tsaveUserDefinedColumnLayout(newLayout: FCLLayout, newColumnLayout: FlexibleColumnLayoutColumnLayout) {\n\t\tconst media = this.media as MEDIA.TABLET | MEDIA.DESKTOP;\n\n\t\tthis._userDefinedColumnLayouts[media][newLayout] = newColumnLayout;\n\t\tif (this.layout !== newLayout) {\n\t\t\tthis.layout = newLayout;\n\t\t\tthis.fireLayoutChange(true, false);\n\t\t}\n\t}\n\n\tprivate isSeparatorAheadOfCursor(cursorX: number, separatorX: number, isForwardMove: boolean) {\n\t\tif (isForwardMove) {\n\t\t\treturn separatorX > cursorX;\n\t\t}\n\t\treturn separatorX < cursorX;\n\t}\n\n\tcalculateNewColumnWidth(columnToResize: typeof COLUMN.START | typeof COLUMN.END, widthDelta: number) {\n\t\tconst columnWidths: Array<number> = this._columnLayout!.map(x => this.convertColumnWidthToPixels(x)),\n\t\t\tadjacentColumnToResize = COLUMN.MID, // column to compensate the resize of the given column\n\t\t\tcolumnNewWidth = columnWidths[columnToResize] + widthDelta,\n\t\t\tadjacentColumnNewWidth = columnWidths[adjacentColumnToResize] - widthDelta;\n\n\t\tif (columnNewWidth < COLUMN_MIN_WIDTH) {\n\t\t\t// user is trying to shrink a column below its min-width\n\t\t\t// or to reveal a hidden column\n\t\t\treturn COLUMN_MIN_WIDTH;\n\t\t}\n\n\t\tif (adjacentColumnNewWidth < COLUMN_MIN_WIDTH) {\n\t\t\tconst correction = COLUMN_MIN_WIDTH - adjacentColumnNewWidth;\n\t\t\t// constrain the new width to preserve the min-width of the adjacent column\n\t\t\treturn columnNewWidth - correction;\n\t\t}\n\n\t\treturn columnNewWidth;\n\t}\n\n\tmoveSeparator(separator: HTMLElement, offsetX: number, fclLayoutBeforeMove: FCLLayout) {\n\t\tconst isStartSeparator = separator === this.startSeparatorDOM,\n\t\t\tisRTL = this.effectiveDir === \"rtl\";\n\t\tlet selectedColumnToResize,\n\t\t\tcolumnWidthDelta;\n\n\t\tif (isRTL) {\n\t\t\toffsetX = -offsetX;\n\t\t}\n\n\t\tif (isStartSeparator) {\n\t\t\tselectedColumnToResize = COLUMN.START;\n\t\t\t// move in direction start-to-end expands start column\n\t\t\tcolumnWidthDelta = offsetX;\n\t\t} else {\n\t\t\tselectedColumnToResize = COLUMN.END;\n\t\t\t// move in direction start-to-end shrinks end column\n\t\t\tcolumnWidthDelta = -offsetX;\n\t\t}\n\n\t\tconst isStartToEndDirection = offsetX > 0,\n\t\t\tnewColumnWidth = this.calculateNewColumnWidth(selectedColumnToResize, columnWidthDelta),\n\t\t\tnewColumnLayout = this.adjustColumnLayout(selectedColumnToResize, newColumnWidth, true)!,\n\t\t\tnewFCLLayout = this.getNextLayoutOnSeparatorMovement(separator, isStartToEndDirection, fclLayoutBeforeMove, newColumnLayout) as FCLLayout;\n\n\t\tif (fclLayoutBeforeMove !== newFCLLayout) {\n\t\t\tthis._columnLayout = this.nextColumnLayout(newFCLLayout);\n\t\t\tthis._visibleColumns = this.calcVisibleColumns(this._columnLayout);\n\t\t}\n\n\t\t// apply the requested resize on <code>this._columnLayout</code>\n\t\tthis.adjustColumnLayout(selectedColumnToResize, newColumnWidth);\n\n\t\tthis.toggleColumns();\n\n\t\treturn newFCLLayout;\n\t}\n\n\tadjustColumnLayout(columnToResize: typeof COLUMN.START | typeof COLUMN.END, newSize: number, createNewArray = false) {\n\t\tif (!this._columnLayout) {\n\t\t\treturn;\n\t\t}\n\t\tconst columnLayoutInPx = this._columnLayout.map(x => this.convertColumnWidthToPixels(x));\n\n\t\t// apply the new size\n\t\tcolumnLayoutInPx[columnToResize] = newSize;\n\t\tcolumnLayoutInPx[COLUMN.MID] = this._availableWidthForColumns\n\t\t\t- columnLayoutInPx[COLUMN.START]\n\t\t\t- columnLayoutInPx[COLUMN.END];\n\n\t\tconst columnLayoutToAdjust = createNewArray ? [] : this._columnLayout;\n\n\t\tcolumnLayoutInPx.forEach((x, i) => {\n\t\t\tcolumnLayoutToAdjust[i] = this.convertToRelativeColumnWidth(columnLayoutInPx[i]);\n\t\t});\n\n\t\treturn columnLayoutToAdjust;\n\t}\n\n\tasync _onkeydown(e: KeyboardEvent) {\n\t\tconst stepSize = 2,\n\t\t\tbigStepSize = this._width,\n\t\t\tisRTL = this.effectiveDir === \"rtl\";\n\t\tlet step = 0;\n\t\tif (isLeft(e)) {\n\t\t\tstep = -stepSize * 10;\n\t\t} else if (isRight(e)) {\n\t\t\tstep = stepSize * 10;\n\t\t} else if (isLeftShift(e)) {\n\t\t\tstep = -stepSize;\n\t\t} else if (isRightShift(e)) {\n\t\t\tstep = stepSize;\n\t\t} else if (isHome(e)) {\n\t\t\te.preventDefault();\n\t\t\tstep = isRTL ? bigStepSize : -bigStepSize;\n\t\t} else if (isEnd(e)) {\n\t\t\te.preventDefault();\n\t\t\tstep = isRTL ? -bigStepSize : bigStepSize;\n\t\t}\n\n\t\tif (!step) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst separator = e.target as HTMLElement;\n\t\tif (!this.separatorMovementSession) {\n\t\t\tthis.separatorMovementSession = this.initSeparatorMovementSession(separator, 0, false);\n\t\t}\n\n\t\tconst layoutBeforeMove = this.separatorMovementSession.tmpFCLLayout;\n\t\tconst layoutAfterMove = this.moveSeparator(separator, step, layoutBeforeMove);\n\n\t\tthis.separatorMovementSession.tmpFCLLayout = layoutAfterMove;\n\n\t\tawait renderFinished();\n\t\tseparator.focus();\n\t}\n\n\t_onkeyup() {\n\t\tif (this.separatorMovementSession) {\n\t\t\tthis.onSeparatorMoveEnd();\n\t\t}\n\t}\n\n\tprivate attachMoveListeners(isTouch: boolean) {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef) {\n\t\t\treturn;\n\t\t}\n\t\tif (isTouch && supportsTouch()) {\n\t\t\tdomRef.addEventListener(\"touchmove\", this._onSeparatorMove);\n\t\t\tdomRef.addEventListener(\"touchend\", this._onSeparatorMoveEnd);\n\t\t} else {\n\t\t\tdomRef.addEventListener(\"mousemove\", this._onSeparatorMove);\n\t\t\tdomRef.addEventListener(\"mouseup\", this._onSeparatorMoveEnd);\n\t\t}\n\t}\n\n\tprivate detachMoveListeners() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef) {\n\t\t\treturn;\n\t\t}\n\t\tdomRef.removeEventListener(\"mouseup\", this._onSeparatorMoveEnd);\n\t\tdomRef.removeEventListener(\"touchend\", this._onSeparatorMoveEnd);\n\t\t// Only one of the following was attached, but it's ok to remove both as there is no error\n\t\tdomRef.removeEventListener(\"mousemove\", this._onSeparatorMove);\n\t\tdomRef.removeEventListener(\"touchmove\", this._onSeparatorMove);\n\t}\n\n\tprivate toggleSideAnimations(separator: HTMLElement, shouldAnimate: boolean) {\n\t\tconst adjacentColumns = [\n\t\t\tseparator.previousElementSibling,\n\t\t\tseparator.nextElementSibling,\n\t\t];\n\n\t\tadjacentColumns.forEach(column => column!.classList.toggle(\"ui5-fcl-column-animation\", shouldAnimate));\n\t}\n\n\tprivate getPageXValueFromEvent(e: TouchEvent | MouseEvent): number {\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\tif (e.changedTouches && e.changedTouches.length > 0) {\n\t\t\t\treturn e.changedTouches[0].pageX;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn (e as MouseEvent).pageX; // MouseEvent\n\t}\n\n\tconvertColumnWidthToPixels(width: string | number) {\n\t\tif (typeof width === \"number\") {\n\t\t\treturn width;\n\t\t}\n\t\tconst parsedValue = parseFloat(width),\n\t\t\ttotalWidth = this._availableWidthForColumns;\n\n\t\tif (width.endsWith(\"%\")) {\n\t\t\treturn (totalWidth / 100) * parsedValue;\n\t\t}\n\t\treturn parsedValue;\n\t}\n\n\tconvertToRelativeColumnWidth(pxWidth: string | number) {\n\t\tif (typeof pxWidth === \"string\") {\n\t\t\treturn pxWidth;\n\t\t}\n\t\tif (pxWidth === 0) {\n\t\t\treturn \"0px\";\n\t\t}\n\t\treturn `${(pxWidth / this._availableWidthForColumns) * 100}%`;\n\t}\n\n\tgetNextLayoutOnSeparatorMovement(separator: HTMLElement, isStartToEndDirection: boolean, fclLayoutBeforeMove: FCLLayout, columnLayoutAfterMove: FlexibleColumnLayoutColumnLayout) {\n\t\tconst isStartSeparator = separator === this.startSeparatorDOM,\n\t\t\tseparatorName = isStartSeparator ? \"start\" : \"end\",\n\t\t\tmoved = (options: {separator: \"start\" | \"end\", from: FCLLayout, forward: boolean}) => {\n\t\t\t\treturn options.from === fclLayoutBeforeMove\n\t\t\t\t&& options.separator === separatorName\n\t\t\t\t&& options.forward === isStartToEndDirection;\n\t\t\t},\n\t\t\tnewColumnLayout = columnLayoutAfterMove.map(x => this.convertColumnWidthToPixels(x)),\n\t\t\tnewColumnWidths = {\n\t\t\t\tstart: newColumnLayout[0],\n\t\t\t\tmid: newColumnLayout[1],\n\t\t\t\tend: newColumnLayout[2],\n\t\t\t},\n\t\t\tstartColumnPxWidth = newColumnWidths.start,\n\t\t\tstartColumnPercentWidth = (startColumnPxWidth / this.widthDOM) * 100,\n\t\t\tisTablet = this.media === MEDIA.TABLET;\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.TwoColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t}) && (newColumnWidths.start >= newColumnWidths.mid)) {\n\t\t\treturn FCLLayout.TwoColumnsStartExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.TwoColumnsStartExpanded,\n\t\t\tforward: false,\n\t\t}) && (newColumnWidths.start < newColumnWidths.mid)) {\n\t\t\treturn FCLLayout.TwoColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t}) && startColumnPercentWidth >= 33) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t}) && !isTablet && startColumnPercentWidth < 33) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && ((Math.ceil(newColumnWidths.end) >= COLUMN_MIN_WIDTH))) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: false,\n\t\t}) && newColumnWidths.mid < newColumnWidths.end) {\n\t\t\treturn FCLLayout.ThreeColumnsEndExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsEndExpanded,\n\t\t\tforward: true,\n\t\t}) && newColumnWidths.mid >= newColumnWidths.end) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: true,\n\t\t}) && newColumnWidths.start >= newColumnWidths.mid) {\n\t\t\treturn FCLLayout.ThreeColumnsStartExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsStartExpandedEndHidden,\n\t\t\tforward: false,\n\t\t}) && newColumnWidths.start < newColumnWidths.mid) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"start\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpanded,\n\t\t\tforward: true,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && isTablet && (Math.ceil(startColumnPxWidth) >= COLUMN_MIN_WIDTH)) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpandedEndHidden;\n\t\t}\n\n\t\tif (moved({\n\t\t\tseparator: \"end\",\n\t\t\tfrom: FCLLayout.ThreeColumnsMidExpandedEndHidden,\n\t\t\tforward: false,\n\t\t\t// ceil before comparing to avoid floating point precision issues\n\t\t}) && isTablet && (Math.ceil(newColumnWidths.end) >= COLUMN_MIN_WIDTH)) {\n\t\t\treturn FCLLayout.ThreeColumnsMidExpanded;\n\t\t}\n\n\t\treturn fclLayoutBeforeMove; // no layout change\n\t}\n\n\tget _availableWidthForColumns() {\n\t\tlet width = this._width;\n\t\tif (this.showStartSeparator) {\n\t\t\twidth -= this.startSeparatorDOM.offsetWidth;\n\t\t}\n\t\tif (this.showEndSeparator) {\n\t\t\twidth -= this.endSeparatorDOM.offsetWidth;\n\t\t}\n\t\treturn width;\n\t}\n\n\t/**\n\t * Checks if a column is hidden based on its width.\n\t */\n\tprivate _isColumnHidden(columnWidth: number | string): boolean {\n\t\treturn columnWidth === 0 || columnWidth === \"0px\";\n\t}\n\n\t/**\n\t* Returns the current column layout, based on both the `layout` property and the screen size.\n\t*\n\t* **For example:** [\"67%\", \"33%\", 0], [\"100%\", 0, 0], [\"25%\", \"50%\", \"25%\"], etc,\n\t* where the numbers represents the width of the start, middle and end columns.\n\t* @default undefined\n\t* @public\n\t*/\n\tget columnLayout(): FlexibleColumnLayoutColumnLayout | undefined {\n\t\treturn this._columnLayout;\n\t}\n\n\t/**\n\t* Returns if the `start` column is visible.\n\t* @default true\n\t* @public\n\t*/\n\tget startColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[0]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns if the `middle` column is visible.\n\t* @default false\n\t* @public\n\t*/\n\tget midColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[1]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns if the `end` column is visible.\n\t* @default false\n\t* @public\n\t*/\n\tget endColumnVisible(): boolean {\n\t\tif (this._columnLayout) {\n\t\t\treturn !this._isColumnHidden(this._columnLayout[2]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Returns the number of currently visible columns.\n\t* @default 1\n\t* @public\n\t*/\n\tget visibleColumns(): number {\n\t\treturn this._visibleColumns;\n\t}\n\n\tget startColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[0] : \"100%\";\n\t}\n\n\tget midColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[1] : \"0px\";\n\t}\n\n\tget endColumnWidth() {\n\t\treturn this._columnLayout ? this._columnLayout[2] : \"0px\";\n\t}\n\n\tget showStartSeparator() {\n\t\treturn this.effectiveSeparatorsInfo[0].visible;\n\t}\n\n\tget showEndSeparator() {\n\t\treturn this.effectiveSeparatorsInfo[1].visible;\n\t}\n\n\tget showStartSeparatorGrip() {\n\t\treturn this.disableResizing ? false : this.startSeparatorGripVisibility;\n\t}\n\n\tget showEndSeparatorGrip() {\n\t\treturn this.disableResizing ? false : this.endSeparatorGripVisibility;\n\t}\n\n\tget startSeparatorGripVisibility() {\n\t\treturn this.effectiveSeparatorsInfo[0].gripVisible;\n\t}\n\n\tget endSeparatorGripVisibility() {\n\t\treturn this.effectiveSeparatorsInfo[1].gripVisible;\n\t}\n\n\tget effectiveSeparatorsInfo() {\n\t\treturn this._effectiveLayoutsByMedia[this.media][this.effectiveLayout].separators;\n\t}\n\n\tget effectiveLayout() {\n\t\treturn this.separatorMovementSession?.tmpFCLLayout || this.layout;\n\t}\n\n\tget startSeparatorDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-separator-start\")!;\n\t}\n\n\tget endSeparatorDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-separator-end\")!;\n\t}\n\n\tget startSeparatorTabIndex() {\n\t\tif (this.showStartSeparatorGrip) {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tget endSeparatorTabIndex() {\n\t\tif (this.showEndSeparatorGrip) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn -1;\n\t}\n\n\tget media() {\n\t\tif (this._width <= BREAKPOINTS.PHONE) {\n\t\t\treturn MEDIA.PHONE;\n\t\t}\n\n\t\tif (this._width <= BREAKPOINTS.TABLET) {\n\t\t\treturn MEDIA.TABLET;\n\t\t}\n\n\t\treturn MEDIA.DESKTOP;\n\t}\n\n\tget widthDOM() {\n\t\treturn this.getBoundingClientRect().width;\n\t}\n\n\tget startColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--start\")!;\n\t}\n\n\tget midColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--middle\")!;\n\t}\n\n\tget endColumnDOM() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-fcl-column--end\")!;\n\t}\n\n\tget accStartColumnText() {\n\t\treturn this.accessibilityAttributes.startColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_START_COLUMN_TXT);\n\t}\n\n\tget accMiddleColumnText() {\n\t\treturn this.accessibilityAttributes.midColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_MIDDLE_COLUMN_TXT);\n\t}\n\n\tget accEndColumnText() {\n\t\treturn this.accessibilityAttributes.endColumn?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_END_COLUMN_TXT);\n\t}\n\n\tget accStartSeparatorText() {\n\t\tlet name = this.accessibilityAttributes.startSeparator?.name;\n\t\tif (!name && this.showStartSeparatorGrip) {\n\t\t\tname = FlexibleColumnLayout.i18nBundle.getText(FCL_START_SEPARATOR_TOOLTIP);\n\t\t}\n\t\treturn name;\n\t}\n\n\tget accEndSeparatorText() {\n\t\treturn this.accessibilityAttributes.endSeparator?.name || FlexibleColumnLayout.i18nBundle.getText(FCL_END_SEPARATOR_TOOLTIP);\n\t}\n\n\tget accStartColumnRole() {\n\t\tif (this.startColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.startColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accMiddleColumnRole() {\n\t\tif (this.midColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.midColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accEndColumnRole() {\n\t\tif (this.endColumnVisible) {\n\t\t\treturn this.accessibilityAttributes.endColumn?.role || \"region\";\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tget accStartSeparatorRole() {\n\t\treturn this.accessibilityAttributes.startSeparator?.role || \"separator\";\n\t}\n\n\tget accEndSeparatorRole() {\n\t\treturn this.accessibilityAttributes.endSeparator?.role || \"separator\";\n\t}\n\n\tget _effectiveLayoutsByMedia() {\n\t\treturn this._layoutsConfiguration || getLayoutsByMedia();\n\t}\n\n\tget _accAttributes() {\n\t\treturn {\n\t\t\tcolumns: {\n\t\t\t\tstart: {\n\t\t\t\t\trole: this.accStartColumnRole,\n\t\t\t\t\tariaHidden: !this.startColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t\tmiddle: {\n\t\t\t\t\trole: this.accMiddleColumnRole,\n\t\t\t\t\tariaHidden: !this.midColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t\tend: {\n\t\t\t\t\trole: this.accEndColumnRole,\n\t\t\t\t\tariaHidden: !this.endColumnVisible || undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\nFlexibleColumnLayout.define();\n\nexport default FlexibleColumnLayout;\n\nexport type {\n\tMEDIA,\n\tFlexibleColumnLayoutLayoutChangeEventDetail,\n\tFCLAccessibilityAttributes,\n\tFlexibleColumnLayoutColumnLayout,\n};\n"]}
@@ -13,7 +13,6 @@ import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
13
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
14
14
  import { getIllustrationDataSync, getIllustrationData } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
15
15
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
16
- import Title from "@ui5/webcomponents/dist/Title.js";
17
16
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
18
17
  import IllustrationMessageDesign from "./types/IllustrationMessageDesign.js";
19
18
  import IllustrationMessageType from "./types/IllustrationMessageType.js";
@@ -353,7 +352,6 @@ IllustratedMessage = IllustratedMessage_1 = __decorate([
353
352
  renderer: jsxRenderer,
354
353
  styles: IllustratedMessageCss,
355
354
  template: IllustratedMessageTemplate,
356
- dependencies: [Title],
357
355
  })
358
356
  ], IllustratedMessage);
359
357
  IllustratedMessage.define();
@@ -1 +1 @@
1
- {"version":3,"file":"IllustratedMessage.js","sourceRoot":"","sources":["../src/IllustratedMessage.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getIllustrationDataSync, getIllustrationData } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport IllustrationMessageDesign from \"./types/IllustrationMessageDesign.js\";\nimport IllustrationMessageType from \"./types/IllustrationMessageType.js\";\nimport \"./illustrations/BeforeSearch.js\";\n\n// Styles\nimport IllustratedMessageCss from \"./generated/themes/IllustratedMessage.css.js\";\n\n// Template\nimport IllustratedMessageTemplate from \"./IllustratedMessageTemplate.js\";\n\nconst getEffectiveIllustrationName = (name: string): string => {\n\tif (name.startsWith(\"Tnt\")) {\n\t\treturn name.replace(\"Tnt\", \"tnt/\");\n\t}\n\n\tif (name.includes(\"/\")) {\n\t\treturn name;\n\t}\n\n\treturn `fiori/${name}`;\n};\n\n/**\n * @class\n *\n * ### Overview\n * An IllustratedMessage is a recommended combination of a solution-oriented message, an engaging\n * illustration, and conversational tone to better communicate an empty or a success state than just show\n * a message alone.\n *\n * Each illustration has default internationalised title and subtitle texts. Also they can be managed with\n * `titleText` and `subtitleText` properties.\n *\n * To display the desired illustration, use the `name` property, where you can find the list of all available illustrations.\n *\n * **Note:** By default the “BeforeSearch” illustration is loaded. To use other illustrations, make sure you import them in addition, for example:\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\"`\n *\n * **Note:** Illustrations starting with the “Tnt” prefix are part of another illustration set. For example to use the “TntSuccess” illustration, add the following import::\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/Success.js\"`\n *\n * ### Structure\n * The IllustratedMessage consists of the following elements, which are displayed below each other in the following order:\n *\n * - Illustration\n * - Title\n * - Subtitle\n * - Actions\n *\n * ### Usage\n * `ui5-illustrated-message` is meant to be used inside container component, for example a `ui5-card`,\n * a `ui5-dialog` or a `ui5-page`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";`\n * @csspart subtitle - Used to style the subtitle wrapper of the `ui5-illustrated-message`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n\n@customElement({\n\ttag: \"ui5-illustrated-message\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: jsxRenderer,\n\tstyles: IllustratedMessageCss,\n\ttemplate: IllustratedMessageTemplate,\n\tdependencies: [Title],\n})\nclass IllustratedMessage extends UI5Element {\n\t/**\n\t* Defines the illustration name that will be displayed in the component.\n\t*\n\t* Example:\n\t*\n\t* `name='BeforeSearch'`, `name='UnableToUpload'`, etc..\n\t*\n\t* **Note:** To use the TNT illustrations,\n\t* you need to set the `tnt` or `Tnt` prefix in front of the icon's name.\n\t*\n\t* Example:\n\t*\n\t* `name='tnt/Avatar'` or `name='TntAvatar'`.\n\t*\n\t* **Note:** By default the `BeforeSearch` illustration is loaded.\n\t* When using an illustration type, other than the default, it should be loaded in addition:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\";`\n\t*\n\t* For TNT illustrations:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/SessionExpired.js\";`\n\t* @default \"BeforeSearch\"\n\t* @public\n\t*/\n\t@property()\n\tname = \"BeforeSearch\";\n\n\t/**\n\t* Determines which illustration breakpoint variant is used.\n\t*\n\t* As `IllustratedMessage` adapts itself around the `Illustration`, the other\n\t* elements of the component are displayed differently on the different breakpoints/illustration designs.\n\t* @default \"Auto\"\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property()\n\tdesign: `${IllustrationMessageDesign}` = \"Auto\";\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this property, the default subtitle text of illustration will be overwritten.\n\t*\n\t* **Note:** Using `subtitle` slot, the default of this property will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this property, the default title text of illustration will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t* Receives id(or many ids) of the elements that label the component.\n\t* @default undefined\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Dot</code> design.\n\t*\n\t* @private\n\t* @since 1.24.0\n\t*/\n\t@property({ noAttribute: true })\n\tdotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Spot</code> design.\n\t*\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tspotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Scene` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tsceneSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Dialog` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tdialogSvg?: string;\n\n\t/**\n\t* Determinates what is the current media of the component based on its width.\n\t* @private\n\t*/\n\t@property()\n\tmedia?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this slot, the default title text of illustration and the value of `title` property will be overwritten.\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@slot({ type: HTMLElement })\n\ttitle!: Array<HTMLElement> & string; // Note: since title collides with HTMLElement's title attribute and it's a String, we're adding the \"& string\" to the type Array<HTMLElement> to avoid ts complains. In the future we will rename/deprecate this slot name, so that it doesn't collide with HTMLElement's title attribute.\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this slot, the default subtitle text of illustration and the value of `subtitleText` property will be overwritten.\n\t* @public\n\t* @since 1.0.0-rc.16\n\t*/\n\t@slot({ type: HTMLElement })\n\tsubtitle!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the component actions.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tactions!: Array<IButton>;\n\n\tillustrationTitle?: string;\n\tillustrationSubtitle?: string;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_lastKnownOffsetWidthForMedia: Record<string, number>;\n\t_lastKnownOffsetHeightForMedia: Record<string, number>;\n\t_lastKnownMedia: string;\n\t_handleResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\t// this will store the last known offsetWidth of the IllustratedMessage DOM node for a given media (e.g. \"Spot\")\n\t\tthis._lastKnownOffsetWidthForMedia = {};\n\t\tthis._lastKnownOffsetHeightForMedia = {};\n\t\t// this will store the last known media, in order to detect if IllustratedMessage has been hidden by expand/collapse container\n\t\tthis._lastKnownMedia = \"base\";\n\t}\n\n\tstatic get BREAKPOINTS() {\n\t\treturn {\n\t\t\tDIALOG: 681,\n\t\t\tSPOT: 360,\n\t\t\tDOT: 260,\n\t\t\tBASE: 160,\n\t\t};\n\t}\n\n\tstatic get BREAKPOINTS_HEIGHT() {\n\t\treturn {\n\t\t\tDIALOG: 415,\n\t\t\tSPOT: 284,\n\t\t\tDOT: 207,\n\t\t\tBASE: 61,\n\t\t};\n\t}\n\n\tstatic get MEDIA() {\n\t\treturn {\n\t\t\tBASE: \"base\",\n\t\t\tDOT: \"dot\",\n\t\t\tSPOT: \"spot\",\n\t\t\tDIALOG: \"dialog\",\n\t\t\tSCENE: \"scene\",\n\t\t};\n\t}\n\n\tasync onBeforeRendering() {\n\t\t// Gets the current illustration name given in the \"name\" attribute\n\t\tlet effectiveName = getEffectiveIllustrationName(this.name);\n\t\tlet illustrationData = getIllustrationDataSync(effectiveName);\n\n\t\tif (this.hasAttribute(\"name\") && !this.isValidIllustration(effectiveName)) {\n\t\t\teffectiveName = getEffectiveIllustrationName(IllustrationMessageType.BeforeSearch);\n\t\t\t// eslint-disable-next-line\n\t\t\tconsole.warn(`The illustration \"${effectiveName!}\" does not exist. The default illustration \"${IllustrationMessageType.BeforeSearch}\" is loaded instead.`);\n\t\t}\n\n\t\tif (illustrationData === undefined) {\n\t\t\tillustrationData = await getIllustrationData(effectiveName);\n\t\t}\n\n\t\tthis.dotSvg = illustrationData!.dotSvg;\n\t\tthis.spotSvg = illustrationData!.spotSvg;\n\t\tthis.dialogSvg = illustrationData!.dialogSvg;\n\t\tthis.sceneSvg = illustrationData!.sceneSvg;\n\n\t\tthis.illustrationTitle = IllustratedMessage.i18nBundle.getText(illustrationData!.title);\n\t\tthis.illustrationSubtitle = IllustratedMessage.i18nBundle.getText(illustrationData!.subtitle);\n\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._handleCustomSize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\thandleResize() {\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._adjustHeightToFitContainer();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._applyMedia();\n\t\twindow.requestAnimationFrame(this._adjustHeightToFitContainer.bind(this));\n\t}\n\n\t_applyMedia(heightChange?: boolean) {\n\t\tconst currOffsetWidth = this.offsetWidth,\n\t\t\tcurrOffsetHeight = this.offsetHeight;\n\n\t\tconst design = heightChange ? currOffsetHeight : currOffsetWidth,\n\t\t\toBreakpounts = heightChange ? IllustratedMessage.BREAKPOINTS_HEIGHT : IllustratedMessage.BREAKPOINTS;\n\t\tlet newMedia = \"\";\n\n\t\tif (design <= oBreakpounts.BASE) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.BASE;\n\t\t} else if (design <= oBreakpounts.DOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DOT;\n\t\t} else if (design <= oBreakpounts.SPOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SPOT;\n\t\t} else if (design <= oBreakpounts.DIALOG) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DIALOG;\n\t\t} else {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t\tconst lastKnownOffsetWidth = this._lastKnownOffsetWidthForMedia[newMedia],\n\t\t\tlastKnownOffsetHeight = this._lastKnownOffsetHeightForMedia[newMedia];\n\t\t // prevents infinite resizing, when same width is detected for the same media,\n\t\t // excluding the case in which, the control is placed inside expand/collapse container\n\t\tif (!(lastKnownOffsetWidth && currOffsetWidth === lastKnownOffsetWidth\n\t\t\t&& lastKnownOffsetHeight && currOffsetHeight === lastKnownOffsetHeight)\n\t\t\t|| this._lastKnownOffsetWidthForMedia[this._lastKnownMedia] === 0\n\t\t\t|| this._lastKnownOffsetHeightForMedia[this._lastKnownMedia] === 0) {\n\t\t\tthis.media = newMedia;\n\t\t\tthis._lastKnownOffsetWidthForMedia[newMedia] = currOffsetWidth;\n\t\t\tthis._lastKnownOffsetHeightForMedia[newMedia] = currOffsetHeight;\n\t\t\tthis._lastKnownMedia = newMedia;\n\t\t}\n\t}\n\n\t_setSVGAccAttrs() {\n\t\tconst svg = this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration svg\");\n\t\tif (svg) {\n\t\t\tif (this.ariaLabelText) {\n\t\t\t\tsvg.setAttribute(\"aria-label\", this.ariaLabelText);\n\t\t\t} else {\n\t\t\t\tsvg.removeAttribute(\"aria-label\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_adjustHeightToFitContainer() {\n\t\tconst illustrationWrapper = <HTMLElement> this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration\"),\n\t\t\tillustration = illustrationWrapper.querySelector(\"svg\");\n\n\t\tif (illustration) {\n\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", false);\n\t\t\tif (this.getDomRef()!.scrollHeight > this.getDomRef()!.offsetHeight) {\n\t\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", true);\n\t\t\t\tthis._applyMedia(true /* height change */);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tthis._setSVGAccAttrs();\n\t}\n\n\t/**\n\t * Modifies the IM styles in accordance to the `size` property's value.\n\t * Note: The resize handler has no effect when size is different than \"Auto\".\n\t * @private\n\t * @since 1.5.0\n\t */\n\t_handleCustomSize() {\n\t\tswitch (this.design) {\n\t\tcase IllustrationMessageDesign.Base:\n\t\t\tthis.media = IllustratedMessage.MEDIA.BASE;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Spot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SPOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dialog:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DIALOG;\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget effectiveIllustration(): string | undefined {\n\t\tswitch (this.media) {\n\t\tcase IllustratedMessage.MEDIA.DOT:\n\t\t\treturn this.dotSvg;\n\t\tcase IllustratedMessage.MEDIA.SPOT:\n\t\t\treturn this.spotSvg;\n\t\tcase IllustratedMessage.MEDIA.DIALOG:\n\t\t\treturn this.dialogSvg;\n\t\tcase IllustratedMessage.MEDIA.SCENE:\n\t\t\treturn this.sceneSvg;\n\t\tdefault:\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tget hasFormattedSubtitle(): boolean {\n\t\treturn !!this.subtitle.length;\n\t}\n\n\tget hasFormattedTitle(): boolean {\n\t\treturn !!this.title.length;\n\t}\n\n\tget effectiveTitleText(): string | undefined {\n\t\treturn this.titleText ? this.titleText : this.illustrationTitle;\n\t}\n\n\tget effectiveSubitleText(): string | undefined {\n\t\treturn this.subtitleText ? this.subtitleText : this.illustrationSubtitle;\n\t}\n\n\tget hasTitle(): boolean {\n\t\treturn !!(this.hasFormattedTitle || this.titleText || this.illustrationTitle);\n\t}\n\n\tget hasSubtitle(): boolean {\n\t\treturn !!(this.hasFormattedSubtitle || this.subtitleText || this.illustrationSubtitle);\n\t}\n\n\tget hasActions(): boolean {\n\t\treturn !!this.actions.length && this.media !== IllustratedMessage.MEDIA.BASE;\n\t}\n\n\tisValidIllustration(currentIllustration: string): boolean {\n\t\tcurrentIllustration = currentIllustration.startsWith(\"tnt/\") ? currentIllustration.replace(\"tnt/\", \"Tnt\") : currentIllustration.replace(\"fiori/\", \"\");\n\n\t\treturn currentIllustration in IllustrationMessageType;\n\t}\n}\n\nIllustratedMessage.define();\n\nexport default IllustratedMessage;\n"]}
1
+ {"version":3,"file":"IllustratedMessage.js","sourceRoot":"","sources":["../src/IllustratedMessage.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getIllustrationDataSync, getIllustrationData } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport IllustrationMessageDesign from \"./types/IllustrationMessageDesign.js\";\nimport IllustrationMessageType from \"./types/IllustrationMessageType.js\";\nimport \"./illustrations/BeforeSearch.js\";\n\n// Styles\nimport IllustratedMessageCss from \"./generated/themes/IllustratedMessage.css.js\";\n\n// Template\nimport IllustratedMessageTemplate from \"./IllustratedMessageTemplate.js\";\n\nconst getEffectiveIllustrationName = (name: string): string => {\n\tif (name.startsWith(\"Tnt\")) {\n\t\treturn name.replace(\"Tnt\", \"tnt/\");\n\t}\n\n\tif (name.includes(\"/\")) {\n\t\treturn name;\n\t}\n\n\treturn `fiori/${name}`;\n};\n\n/**\n * @class\n *\n * ### Overview\n * An IllustratedMessage is a recommended combination of a solution-oriented message, an engaging\n * illustration, and conversational tone to better communicate an empty or a success state than just show\n * a message alone.\n *\n * Each illustration has default internationalised title and subtitle texts. Also they can be managed with\n * `titleText` and `subtitleText` properties.\n *\n * To display the desired illustration, use the `name` property, where you can find the list of all available illustrations.\n *\n * **Note:** By default the “BeforeSearch” illustration is loaded. To use other illustrations, make sure you import them in addition, for example:\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\"`\n *\n * **Note:** Illustrations starting with the “Tnt” prefix are part of another illustration set. For example to use the “TntSuccess” illustration, add the following import::\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/Success.js\"`\n *\n * ### Structure\n * The IllustratedMessage consists of the following elements, which are displayed below each other in the following order:\n *\n * - Illustration\n * - Title\n * - Subtitle\n * - Actions\n *\n * ### Usage\n * `ui5-illustrated-message` is meant to be used inside container component, for example a `ui5-card`,\n * a `ui5-dialog` or a `ui5-page`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";`\n * @csspart subtitle - Used to style the subtitle wrapper of the `ui5-illustrated-message`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n\n@customElement({\n\ttag: \"ui5-illustrated-message\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: jsxRenderer,\n\tstyles: IllustratedMessageCss,\n\ttemplate: IllustratedMessageTemplate,\n})\nclass IllustratedMessage extends UI5Element {\n\t/**\n\t* Defines the illustration name that will be displayed in the component.\n\t*\n\t* Example:\n\t*\n\t* `name='BeforeSearch'`, `name='UnableToUpload'`, etc..\n\t*\n\t* **Note:** To use the TNT illustrations,\n\t* you need to set the `tnt` or `Tnt` prefix in front of the icon's name.\n\t*\n\t* Example:\n\t*\n\t* `name='tnt/Avatar'` or `name='TntAvatar'`.\n\t*\n\t* **Note:** By default the `BeforeSearch` illustration is loaded.\n\t* When using an illustration type, other than the default, it should be loaded in addition:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\";`\n\t*\n\t* For TNT illustrations:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/SessionExpired.js\";`\n\t* @default \"BeforeSearch\"\n\t* @public\n\t*/\n\t@property()\n\tname = \"BeforeSearch\";\n\n\t/**\n\t* Determines which illustration breakpoint variant is used.\n\t*\n\t* As `IllustratedMessage` adapts itself around the `Illustration`, the other\n\t* elements of the component are displayed differently on the different breakpoints/illustration designs.\n\t* @default \"Auto\"\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property()\n\tdesign: `${IllustrationMessageDesign}` = \"Auto\";\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this property, the default subtitle text of illustration will be overwritten.\n\t*\n\t* **Note:** Using `subtitle` slot, the default of this property will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this property, the default title text of illustration will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t* Receives id(or many ids) of the elements that label the component.\n\t* @default undefined\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Dot</code> design.\n\t*\n\t* @private\n\t* @since 1.24.0\n\t*/\n\t@property({ noAttribute: true })\n\tdotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Spot</code> design.\n\t*\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tspotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Scene` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tsceneSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Dialog` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tdialogSvg?: string;\n\n\t/**\n\t* Determinates what is the current media of the component based on its width.\n\t* @private\n\t*/\n\t@property()\n\tmedia?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this slot, the default title text of illustration and the value of `title` property will be overwritten.\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@slot({ type: HTMLElement })\n\ttitle!: Array<HTMLElement> & string; // Note: since title collides with HTMLElement's title attribute and it's a String, we're adding the \"& string\" to the type Array<HTMLElement> to avoid ts complains. In the future we will rename/deprecate this slot name, so that it doesn't collide with HTMLElement's title attribute.\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this slot, the default subtitle text of illustration and the value of `subtitleText` property will be overwritten.\n\t* @public\n\t* @since 1.0.0-rc.16\n\t*/\n\t@slot({ type: HTMLElement })\n\tsubtitle!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the component actions.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tactions!: Array<IButton>;\n\n\tillustrationTitle?: string;\n\tillustrationSubtitle?: string;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_lastKnownOffsetWidthForMedia: Record<string, number>;\n\t_lastKnownOffsetHeightForMedia: Record<string, number>;\n\t_lastKnownMedia: string;\n\t_handleResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\t// this will store the last known offsetWidth of the IllustratedMessage DOM node for a given media (e.g. \"Spot\")\n\t\tthis._lastKnownOffsetWidthForMedia = {};\n\t\tthis._lastKnownOffsetHeightForMedia = {};\n\t\t// this will store the last known media, in order to detect if IllustratedMessage has been hidden by expand/collapse container\n\t\tthis._lastKnownMedia = \"base\";\n\t}\n\n\tstatic get BREAKPOINTS() {\n\t\treturn {\n\t\t\tDIALOG: 681,\n\t\t\tSPOT: 360,\n\t\t\tDOT: 260,\n\t\t\tBASE: 160,\n\t\t};\n\t}\n\n\tstatic get BREAKPOINTS_HEIGHT() {\n\t\treturn {\n\t\t\tDIALOG: 415,\n\t\t\tSPOT: 284,\n\t\t\tDOT: 207,\n\t\t\tBASE: 61,\n\t\t};\n\t}\n\n\tstatic get MEDIA() {\n\t\treturn {\n\t\t\tBASE: \"base\",\n\t\t\tDOT: \"dot\",\n\t\t\tSPOT: \"spot\",\n\t\t\tDIALOG: \"dialog\",\n\t\t\tSCENE: \"scene\",\n\t\t};\n\t}\n\n\tasync onBeforeRendering() {\n\t\t// Gets the current illustration name given in the \"name\" attribute\n\t\tlet effectiveName = getEffectiveIllustrationName(this.name);\n\t\tlet illustrationData = getIllustrationDataSync(effectiveName);\n\n\t\tif (this.hasAttribute(\"name\") && !this.isValidIllustration(effectiveName)) {\n\t\t\teffectiveName = getEffectiveIllustrationName(IllustrationMessageType.BeforeSearch);\n\t\t\t// eslint-disable-next-line\n\t\t\tconsole.warn(`The illustration \"${effectiveName!}\" does not exist. The default illustration \"${IllustrationMessageType.BeforeSearch}\" is loaded instead.`);\n\t\t}\n\n\t\tif (illustrationData === undefined) {\n\t\t\tillustrationData = await getIllustrationData(effectiveName);\n\t\t}\n\n\t\tthis.dotSvg = illustrationData!.dotSvg;\n\t\tthis.spotSvg = illustrationData!.spotSvg;\n\t\tthis.dialogSvg = illustrationData!.dialogSvg;\n\t\tthis.sceneSvg = illustrationData!.sceneSvg;\n\n\t\tthis.illustrationTitle = IllustratedMessage.i18nBundle.getText(illustrationData!.title);\n\t\tthis.illustrationSubtitle = IllustratedMessage.i18nBundle.getText(illustrationData!.subtitle);\n\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._handleCustomSize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\thandleResize() {\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._adjustHeightToFitContainer();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._applyMedia();\n\t\twindow.requestAnimationFrame(this._adjustHeightToFitContainer.bind(this));\n\t}\n\n\t_applyMedia(heightChange?: boolean) {\n\t\tconst currOffsetWidth = this.offsetWidth,\n\t\t\tcurrOffsetHeight = this.offsetHeight;\n\n\t\tconst design = heightChange ? currOffsetHeight : currOffsetWidth,\n\t\t\toBreakpounts = heightChange ? IllustratedMessage.BREAKPOINTS_HEIGHT : IllustratedMessage.BREAKPOINTS;\n\t\tlet newMedia = \"\";\n\n\t\tif (design <= oBreakpounts.BASE) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.BASE;\n\t\t} else if (design <= oBreakpounts.DOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DOT;\n\t\t} else if (design <= oBreakpounts.SPOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SPOT;\n\t\t} else if (design <= oBreakpounts.DIALOG) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DIALOG;\n\t\t} else {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t\tconst lastKnownOffsetWidth = this._lastKnownOffsetWidthForMedia[newMedia],\n\t\t\tlastKnownOffsetHeight = this._lastKnownOffsetHeightForMedia[newMedia];\n\t\t // prevents infinite resizing, when same width is detected for the same media,\n\t\t // excluding the case in which, the control is placed inside expand/collapse container\n\t\tif (!(lastKnownOffsetWidth && currOffsetWidth === lastKnownOffsetWidth\n\t\t\t&& lastKnownOffsetHeight && currOffsetHeight === lastKnownOffsetHeight)\n\t\t\t|| this._lastKnownOffsetWidthForMedia[this._lastKnownMedia] === 0\n\t\t\t|| this._lastKnownOffsetHeightForMedia[this._lastKnownMedia] === 0) {\n\t\t\tthis.media = newMedia;\n\t\t\tthis._lastKnownOffsetWidthForMedia[newMedia] = currOffsetWidth;\n\t\t\tthis._lastKnownOffsetHeightForMedia[newMedia] = currOffsetHeight;\n\t\t\tthis._lastKnownMedia = newMedia;\n\t\t}\n\t}\n\n\t_setSVGAccAttrs() {\n\t\tconst svg = this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration svg\");\n\t\tif (svg) {\n\t\t\tif (this.ariaLabelText) {\n\t\t\t\tsvg.setAttribute(\"aria-label\", this.ariaLabelText);\n\t\t\t} else {\n\t\t\t\tsvg.removeAttribute(\"aria-label\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_adjustHeightToFitContainer() {\n\t\tconst illustrationWrapper = <HTMLElement> this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration\"),\n\t\t\tillustration = illustrationWrapper.querySelector(\"svg\");\n\n\t\tif (illustration) {\n\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", false);\n\t\t\tif (this.getDomRef()!.scrollHeight > this.getDomRef()!.offsetHeight) {\n\t\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", true);\n\t\t\t\tthis._applyMedia(true /* height change */);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tthis._setSVGAccAttrs();\n\t}\n\n\t/**\n\t * Modifies the IM styles in accordance to the `size` property's value.\n\t * Note: The resize handler has no effect when size is different than \"Auto\".\n\t * @private\n\t * @since 1.5.0\n\t */\n\t_handleCustomSize() {\n\t\tswitch (this.design) {\n\t\tcase IllustrationMessageDesign.Base:\n\t\t\tthis.media = IllustratedMessage.MEDIA.BASE;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Spot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SPOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dialog:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DIALOG;\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget effectiveIllustration(): string | undefined {\n\t\tswitch (this.media) {\n\t\tcase IllustratedMessage.MEDIA.DOT:\n\t\t\treturn this.dotSvg;\n\t\tcase IllustratedMessage.MEDIA.SPOT:\n\t\t\treturn this.spotSvg;\n\t\tcase IllustratedMessage.MEDIA.DIALOG:\n\t\t\treturn this.dialogSvg;\n\t\tcase IllustratedMessage.MEDIA.SCENE:\n\t\t\treturn this.sceneSvg;\n\t\tdefault:\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tget hasFormattedSubtitle(): boolean {\n\t\treturn !!this.subtitle.length;\n\t}\n\n\tget hasFormattedTitle(): boolean {\n\t\treturn !!this.title.length;\n\t}\n\n\tget effectiveTitleText(): string | undefined {\n\t\treturn this.titleText ? this.titleText : this.illustrationTitle;\n\t}\n\n\tget effectiveSubitleText(): string | undefined {\n\t\treturn this.subtitleText ? this.subtitleText : this.illustrationSubtitle;\n\t}\n\n\tget hasTitle(): boolean {\n\t\treturn !!(this.hasFormattedTitle || this.titleText || this.illustrationTitle);\n\t}\n\n\tget hasSubtitle(): boolean {\n\t\treturn !!(this.hasFormattedSubtitle || this.subtitleText || this.illustrationSubtitle);\n\t}\n\n\tget hasActions(): boolean {\n\t\treturn !!this.actions.length && this.media !== IllustratedMessage.MEDIA.BASE;\n\t}\n\n\tisValidIllustration(currentIllustration: string): boolean {\n\t\tcurrentIllustration = currentIllustration.startsWith(\"tnt/\") ? currentIllustration.replace(\"tnt/\", \"Tnt\") : currentIllustration.replace(\"fiori/\", \"\");\n\n\t\treturn currentIllustration in IllustrationMessageType;\n\t}\n}\n\nIllustratedMessage.define();\n\nexport default IllustratedMessage;\n"]}