@sapui5/sap.cux.home 1.142.0 → 1.142.2

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 (528) hide show
  1. package/package.json +1 -1
  2. package/src/sap/cux/home/.library +4 -1
  3. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts +3 -2
  4. package/src/sap/cux/home/AdvancedSettingsPanel.d.ts.map +1 -1
  5. package/src/sap/cux/home/AdvancedSettingsPanel.gen.d.ts +1 -1
  6. package/src/sap/cux/home/AdvancedSettingsPanel.js +7 -6
  7. package/src/sap/cux/home/AdvancedSettingsPanel.js.map +1 -1
  8. package/src/sap/cux/home/AdvancedSettingsPanel.ts +7 -6
  9. package/src/sap/cux/home/App.d.ts.map +1 -1
  10. package/src/sap/cux/home/App.gen.d.ts +1 -1
  11. package/src/sap/cux/home/App.js +6 -3
  12. package/src/sap/cux/home/App.js.map +1 -1
  13. package/src/sap/cux/home/App.ts +6 -3
  14. package/src/sap/cux/home/AppsAdditionPanel.d.ts +47 -34
  15. package/src/sap/cux/home/AppsAdditionPanel.d.ts.map +1 -1
  16. package/src/sap/cux/home/AppsAdditionPanel.js +334 -238
  17. package/src/sap/cux/home/AppsAdditionPanel.js.map +1 -1
  18. package/src/sap/cux/home/AppsAdditionPanel.ts +345 -231
  19. package/src/sap/cux/home/AppsContainer.d.ts.map +1 -1
  20. package/src/sap/cux/home/AppsContainer.gen.d.ts +1 -1
  21. package/src/sap/cux/home/AppsContainer.js +4 -3
  22. package/src/sap/cux/home/AppsContainer.js.map +1 -1
  23. package/src/sap/cux/home/AppsContainer.ts +4 -3
  24. package/src/sap/cux/home/BaseApp.gen.d.ts +1 -1
  25. package/src/sap/cux/home/BaseApp.js +1 -1
  26. package/src/sap/cux/home/BaseApp.js.map +1 -1
  27. package/src/sap/cux/home/BaseApp.ts +1 -1
  28. package/src/sap/cux/home/BaseAppPanel.d.ts +9 -0
  29. package/src/sap/cux/home/BaseAppPanel.d.ts.map +1 -1
  30. package/src/sap/cux/home/BaseAppPanel.gen.d.ts +1 -1
  31. package/src/sap/cux/home/BaseAppPanel.js +21 -2
  32. package/src/sap/cux/home/BaseAppPanel.js.map +1 -1
  33. package/src/sap/cux/home/BaseAppPanel.ts +23 -2
  34. package/src/sap/cux/home/BaseAppPersPanel.d.ts +1 -1
  35. package/src/sap/cux/home/BaseAppPersPanel.gen.d.ts +1 -1
  36. package/src/sap/cux/home/BaseAppPersPanel.js +1 -1
  37. package/src/sap/cux/home/BaseAppPersPanel.js.map +1 -1
  38. package/src/sap/cux/home/BaseAppPersPanel.ts +1 -1
  39. package/src/sap/cux/home/BaseContainer.d.ts +2 -2
  40. package/src/sap/cux/home/BaseContainer.d.ts.map +1 -1
  41. package/src/sap/cux/home/BaseContainer.gen.d.ts +1 -1
  42. package/src/sap/cux/home/BaseContainer.js +11 -3
  43. package/src/sap/cux/home/BaseContainer.js.map +1 -1
  44. package/src/sap/cux/home/BaseContainer.ts +8 -4
  45. package/src/sap/cux/home/BaseContainerRenderer.d.ts.map +1 -1
  46. package/src/sap/cux/home/BaseContainerRenderer.js +7 -1
  47. package/src/sap/cux/home/BaseContainerRenderer.js.map +1 -1
  48. package/src/sap/cux/home/BaseContainerRenderer.ts +7 -1
  49. package/src/sap/cux/home/BaseLayout.d.ts +1 -1
  50. package/src/sap/cux/home/BaseLayout.gen.d.ts +1 -1
  51. package/src/sap/cux/home/BaseLayout.js +1 -1
  52. package/src/sap/cux/home/BaseLayout.js.map +1 -1
  53. package/src/sap/cux/home/BaseLayout.ts +1 -1
  54. package/src/sap/cux/home/BaseLayoutRenderer.js +1 -1
  55. package/src/sap/cux/home/BaseLayoutRenderer.js.map +1 -1
  56. package/src/sap/cux/home/BaseLayoutRenderer.ts +1 -1
  57. package/src/sap/cux/home/BaseNewsItem.d.ts +1 -1
  58. package/src/sap/cux/home/BaseNewsItem.gen.d.ts +1 -1
  59. package/src/sap/cux/home/BaseNewsItem.js +1 -1
  60. package/src/sap/cux/home/BaseNewsItem.js.map +1 -1
  61. package/src/sap/cux/home/BaseNewsItem.ts +1 -1
  62. package/src/sap/cux/home/BaseNewsPanel.gen.d.ts +1 -1
  63. package/src/sap/cux/home/BaseNewsPanel.js +1 -1
  64. package/src/sap/cux/home/BaseNewsPanel.js.map +1 -1
  65. package/src/sap/cux/home/BaseNewsPanel.ts +3 -3
  66. package/src/sap/cux/home/BasePagePanel.d.ts +1 -1
  67. package/src/sap/cux/home/BasePagePanel.gen.d.ts +1 -1
  68. package/src/sap/cux/home/BasePagePanel.js +1 -1
  69. package/src/sap/cux/home/BasePagePanel.js.map +1 -1
  70. package/src/sap/cux/home/BasePagePanel.ts +1 -1
  71. package/src/sap/cux/home/BasePanel.d.ts +1 -1
  72. package/src/sap/cux/home/BasePanel.gen.d.ts +1 -1
  73. package/src/sap/cux/home/BasePanel.js +1 -1
  74. package/src/sap/cux/home/BasePanel.js.map +1 -1
  75. package/src/sap/cux/home/BasePanel.ts +1 -1
  76. package/src/sap/cux/home/BaseSettingsDialog.d.ts +1 -1
  77. package/src/sap/cux/home/BaseSettingsDialog.gen.d.ts +1 -1
  78. package/src/sap/cux/home/BaseSettingsDialog.js +1 -1
  79. package/src/sap/cux/home/BaseSettingsDialog.js.map +1 -1
  80. package/src/sap/cux/home/BaseSettingsDialog.ts +1 -1
  81. package/src/sap/cux/home/BaseSettingsPanel.d.ts +1 -1
  82. package/src/sap/cux/home/BaseSettingsPanel.gen.d.ts +1 -1
  83. package/src/sap/cux/home/BaseSettingsPanel.js +1 -1
  84. package/src/sap/cux/home/BaseSettingsPanel.js.map +1 -1
  85. package/src/sap/cux/home/BaseSettingsPanel.ts +1 -1
  86. package/src/sap/cux/home/CardsContainer.d.ts +108 -0
  87. package/src/sap/cux/home/CardsContainer.d.ts.map +1 -0
  88. package/src/sap/cux/home/CardsContainer.js +207 -0
  89. package/src/sap/cux/home/CardsContainer.js.map +1 -0
  90. package/src/sap/cux/home/CardsContainer.ts +202 -0
  91. package/src/sap/cux/home/CardsPanel.d.ts +43 -62
  92. package/src/sap/cux/home/CardsPanel.d.ts.map +1 -1
  93. package/src/sap/cux/home/CardsPanel.gen.d.ts +1 -1
  94. package/src/sap/cux/home/CardsPanel.js +346 -286
  95. package/src/sap/cux/home/CardsPanel.js.map +1 -1
  96. package/src/sap/cux/home/CardsPanel.ts +212 -201
  97. package/src/sap/cux/home/ContentAdditionDialog.d.ts +3 -1
  98. package/src/sap/cux/home/ContentAdditionDialog.d.ts.map +1 -1
  99. package/src/sap/cux/home/ContentAdditionDialog.js +13 -7
  100. package/src/sap/cux/home/ContentAdditionDialog.js.map +1 -1
  101. package/src/sap/cux/home/ContentAdditionDialog.ts +14 -6
  102. package/src/sap/cux/home/CustomFlexBox.gen.d.ts +1 -1
  103. package/src/sap/cux/home/ErrorPanel.d.ts +0 -5
  104. package/src/sap/cux/home/ErrorPanel.d.ts.map +1 -1
  105. package/src/sap/cux/home/ErrorPanel.gen.d.ts +32 -1
  106. package/src/sap/cux/home/ErrorPanel.js +12 -17
  107. package/src/sap/cux/home/ErrorPanel.js.map +1 -1
  108. package/src/sap/cux/home/ErrorPanel.ts +8 -20
  109. package/src/sap/cux/home/FavAppPanel.d.ts +1 -2
  110. package/src/sap/cux/home/FavAppPanel.d.ts.map +1 -1
  111. package/src/sap/cux/home/FavAppPanel.js +297 -302
  112. package/src/sap/cux/home/FavAppPanel.js.map +1 -1
  113. package/src/sap/cux/home/FavAppPanel.ts +15 -11
  114. package/src/sap/cux/home/FrequentAppPanel.js +1 -1
  115. package/src/sap/cux/home/FrequentAppPanel.js.map +1 -1
  116. package/src/sap/cux/home/FrequentAppPanel.ts +1 -1
  117. package/src/sap/cux/home/Group.d.ts +1 -1
  118. package/src/sap/cux/home/Group.gen.d.ts +1 -1
  119. package/src/sap/cux/home/Group.js +1 -1
  120. package/src/sap/cux/home/Group.js.map +1 -1
  121. package/src/sap/cux/home/Group.ts +1 -1
  122. package/src/sap/cux/home/IToDoPanel.d.ts +1 -1
  123. package/src/sap/cux/home/IToDoPanel.js +1 -1
  124. package/src/sap/cux/home/IToDoPanel.js.map +1 -1
  125. package/src/sap/cux/home/IToDoPanel.ts +1 -1
  126. package/src/sap/cux/home/InsightsAdditionPanel.d.ts +4 -4
  127. package/src/sap/cux/home/InsightsAdditionPanel.d.ts.map +1 -1
  128. package/src/sap/cux/home/InsightsAdditionPanel.js +9 -9
  129. package/src/sap/cux/home/InsightsAdditionPanel.js.map +1 -1
  130. package/src/sap/cux/home/InsightsAdditionPanel.ts +8 -8
  131. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts +8 -0
  132. package/src/sap/cux/home/InsightsCardsSettingsPanel.d.ts.map +1 -1
  133. package/src/sap/cux/home/InsightsCardsSettingsPanel.js +16 -1
  134. package/src/sap/cux/home/InsightsCardsSettingsPanel.js.map +1 -1
  135. package/src/sap/cux/home/InsightsCardsSettingsPanel.ts +12 -1
  136. package/src/sap/cux/home/InsightsTilesSettingsPanel.js +2 -2
  137. package/src/sap/cux/home/InsightsTilesSettingsPanel.js.map +1 -1
  138. package/src/sap/cux/home/InsightsTilesSettingsPanel.ts +2 -2
  139. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts +3 -0
  140. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.d.ts.map +1 -1
  141. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js +253 -40
  142. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.js.map +1 -1
  143. package/src/sap/cux/home/KeyUserLayoutSettingsPanel.ts +288 -58
  144. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.d.ts.map +1 -1
  145. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js +12 -11
  146. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.js.map +1 -1
  147. package/src/sap/cux/home/KeyUserNewsPagesSettingsPanel.ts +13 -11
  148. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js +3 -3
  149. package/src/sap/cux/home/KeyUserNewsSettingsPanel.js.map +1 -1
  150. package/src/sap/cux/home/KeyUserNewsSettingsPanel.ts +8 -8
  151. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js +1 -1
  152. package/src/sap/cux/home/KeyUserPagesSettingsPanel.js.map +1 -1
  153. package/src/sap/cux/home/KeyUserPagesSettingsPanel.ts +3 -3
  154. package/src/sap/cux/home/KeyUserSettingsDialog.d.ts +1 -1
  155. package/src/sap/cux/home/KeyUserSettingsDialog.js +1 -1
  156. package/src/sap/cux/home/KeyUserSettingsDialog.js.map +1 -1
  157. package/src/sap/cux/home/KeyUserSettingsDialog.ts +1 -1
  158. package/src/sap/cux/home/Layout.d.ts +4 -2
  159. package/src/sap/cux/home/Layout.d.ts.map +1 -1
  160. package/src/sap/cux/home/Layout.js +50 -9
  161. package/src/sap/cux/home/Layout.js.map +1 -1
  162. package/src/sap/cux/home/Layout.ts +60 -9
  163. package/src/sap/cux/home/LayoutSettingsPanel.d.ts +10 -0
  164. package/src/sap/cux/home/LayoutSettingsPanel.d.ts.map +1 -1
  165. package/src/sap/cux/home/LayoutSettingsPanel.js +342 -57
  166. package/src/sap/cux/home/LayoutSettingsPanel.js.map +1 -1
  167. package/src/sap/cux/home/LayoutSettingsPanel.ts +380 -64
  168. package/src/sap/cux/home/MenuItem.d.ts +1 -1
  169. package/src/sap/cux/home/MenuItem.gen.d.ts +1 -1
  170. package/src/sap/cux/home/MenuItem.js +1 -1
  171. package/src/sap/cux/home/MenuItem.js.map +1 -1
  172. package/src/sap/cux/home/MenuItem.ts +1 -1
  173. package/src/sap/cux/home/{NewsAndPagesContainer.d.ts → NewsContainer.d.ts} +13 -14
  174. package/src/sap/cux/home/NewsContainer.d.ts.map +1 -0
  175. package/src/sap/cux/home/{NewsAndPagesContainer.gen.d.ts → NewsContainer.gen.d.ts} +4 -4
  176. package/src/sap/cux/home/{NewsAndPagesContainer.js → NewsContainer.js} +27 -114
  177. package/src/sap/cux/home/NewsContainer.js.map +1 -0
  178. package/src/sap/cux/home/{NewsAndPagesContainer.ts → NewsContainer.ts} +30 -119
  179. package/src/sap/cux/home/NewsGroup.gen.d.ts +1 -1
  180. package/src/sap/cux/home/NewsGroup.js +1 -1
  181. package/src/sap/cux/home/NewsGroup.js.map +1 -1
  182. package/src/sap/cux/home/NewsGroup.ts +2 -2
  183. package/src/sap/cux/home/NewsItem.gen.d.ts +1 -1
  184. package/src/sap/cux/home/NewsItem.js +1 -1
  185. package/src/sap/cux/home/NewsItem.js.map +1 -1
  186. package/src/sap/cux/home/NewsItem.ts +1 -1
  187. package/src/sap/cux/home/NewsPanel.d.ts.map +1 -1
  188. package/src/sap/cux/home/NewsPanel.gen.d.ts +1 -1
  189. package/src/sap/cux/home/NewsPanel.js +13 -15
  190. package/src/sap/cux/home/NewsPanel.js.map +1 -1
  191. package/src/sap/cux/home/NewsPanel.ts +14 -17
  192. package/src/sap/cux/home/NewsSettingsPanel.js +5 -5
  193. package/src/sap/cux/home/NewsSettingsPanel.js.map +1 -1
  194. package/src/sap/cux/home/NewsSettingsPanel.ts +6 -6
  195. package/src/sap/cux/home/NoDataContainer.js +1 -1
  196. package/src/sap/cux/home/NoDataContainer.js.map +1 -1
  197. package/src/sap/cux/home/NoDataContainer.ts +1 -1
  198. package/src/sap/cux/home/Page.d.ts +1 -1
  199. package/src/sap/cux/home/Page.gen.d.ts +1 -1
  200. package/src/sap/cux/home/Page.js +1 -1
  201. package/src/sap/cux/home/Page.js.map +1 -1
  202. package/src/sap/cux/home/Page.ts +1 -1
  203. package/src/sap/cux/home/PagePanel.d.ts +1 -1
  204. package/src/sap/cux/home/PagePanel.d.ts.map +1 -1
  205. package/src/sap/cux/home/PagePanel.js +19 -11
  206. package/src/sap/cux/home/PagePanel.js.map +1 -1
  207. package/src/sap/cux/home/PagePanel.ts +26 -16
  208. package/src/sap/cux/home/PageSettingsPanel.js +1 -1
  209. package/src/sap/cux/home/PageSettingsPanel.js.map +1 -1
  210. package/src/sap/cux/home/PageSettingsPanel.ts +1 -1
  211. package/src/sap/cux/home/PagesContainer.d.ts +72 -0
  212. package/src/sap/cux/home/PagesContainer.d.ts.map +1 -0
  213. package/src/sap/cux/home/PagesContainer.gen.d.ts +78 -0
  214. package/src/sap/cux/home/PagesContainer.js +333 -0
  215. package/src/sap/cux/home/PagesContainer.js.map +1 -0
  216. package/src/sap/cux/home/PagesContainer.ts +179 -0
  217. package/src/sap/cux/home/RecentAppPanel.d.ts +18 -0
  218. package/src/sap/cux/home/RecentAppPanel.d.ts.map +1 -1
  219. package/src/sap/cux/home/RecentAppPanel.js +30 -1
  220. package/src/sap/cux/home/RecentAppPanel.js.map +1 -1
  221. package/src/sap/cux/home/RecentAppPanel.ts +33 -2
  222. package/src/sap/cux/home/RecommendedAppPanel.d.ts.map +1 -1
  223. package/src/sap/cux/home/RecommendedAppPanel.js +6 -5
  224. package/src/sap/cux/home/RecommendedAppPanel.js.map +1 -1
  225. package/src/sap/cux/home/RecommendedAppPanel.ts +5 -4
  226. package/src/sap/cux/home/SettingsDialog.d.ts +8 -1
  227. package/src/sap/cux/home/SettingsDialog.d.ts.map +1 -1
  228. package/src/sap/cux/home/SettingsDialog.js +185 -15
  229. package/src/sap/cux/home/SettingsDialog.js.map +1 -1
  230. package/src/sap/cux/home/SettingsDialog.ts +15 -5
  231. package/src/sap/cux/home/SideBySideIconTabFilter.d.ts +1 -1
  232. package/src/sap/cux/home/SideBySideIconTabFilter.gen.d.ts +1 -1
  233. package/src/sap/cux/home/SideBySideIconTabFilter.js +1 -1
  234. package/src/sap/cux/home/SideBySideIconTabFilter.js.map +1 -1
  235. package/src/sap/cux/home/SideBySideIconTabFilter.ts +1 -1
  236. package/src/sap/cux/home/SituationPanel.js +1 -1
  237. package/src/sap/cux/home/SituationPanel.js.map +1 -1
  238. package/src/sap/cux/home/SituationPanel.ts +1 -1
  239. package/src/sap/cux/home/SpaceInsightsPanel.d.ts +8 -60
  240. package/src/sap/cux/home/SpaceInsightsPanel.d.ts.map +1 -1
  241. package/src/sap/cux/home/SpaceInsightsPanel.gen.d.ts +1 -1
  242. package/src/sap/cux/home/SpaceInsightsPanel.js +67 -133
  243. package/src/sap/cux/home/SpaceInsightsPanel.js.map +1 -1
  244. package/src/sap/cux/home/SpaceInsightsPanel.ts +70 -152
  245. package/src/sap/cux/home/SpacePanel.gen.d.ts +1 -1
  246. package/src/sap/cux/home/SpacePanel.js +1 -1
  247. package/src/sap/cux/home/SpacePanel.js.map +1 -1
  248. package/src/sap/cux/home/SpacePanel.ts +1 -1
  249. package/src/sap/cux/home/TaskPanel.d.ts.map +1 -1
  250. package/src/sap/cux/home/TaskPanel.gen.d.ts +1 -1
  251. package/src/sap/cux/home/TaskPanel.js +17 -2
  252. package/src/sap/cux/home/TaskPanel.js.map +1 -1
  253. package/src/sap/cux/home/TaskPanel.ts +16 -2
  254. package/src/sap/cux/home/TilesContainer.d.ts +111 -0
  255. package/src/sap/cux/home/TilesContainer.d.ts.map +1 -0
  256. package/src/sap/cux/home/TilesContainer.js +218 -0
  257. package/src/sap/cux/home/TilesContainer.js.map +1 -0
  258. package/src/sap/cux/home/TilesContainer.ts +216 -0
  259. package/src/sap/cux/home/TilesPanel.d.ts +22 -52
  260. package/src/sap/cux/home/TilesPanel.d.ts.map +1 -1
  261. package/src/sap/cux/home/TilesPanel.gen.d.ts +1 -1
  262. package/src/sap/cux/home/TilesPanel.js +185 -166
  263. package/src/sap/cux/home/TilesPanel.js.map +1 -1
  264. package/src/sap/cux/home/TilesPanel.ts +161 -155
  265. package/src/sap/cux/home/ToDoPanel.d.ts +1 -0
  266. package/src/sap/cux/home/ToDoPanel.d.ts.map +1 -1
  267. package/src/sap/cux/home/ToDoPanel.gen.d.ts +1 -1
  268. package/src/sap/cux/home/ToDoPanel.js +39 -64
  269. package/src/sap/cux/home/ToDoPanel.js.map +1 -1
  270. package/src/sap/cux/home/ToDoPanel.ts +33 -32
  271. package/src/sap/cux/home/ToDosContainer.js +1 -1
  272. package/src/sap/cux/home/ToDosContainer.js.map +1 -1
  273. package/src/sap/cux/home/ToDosContainer.ts +1 -1
  274. package/src/sap/cux/home/changeHandler/LayoutHandler.js +1 -1
  275. package/src/sap/cux/home/changeHandler/LayoutHandler.js.map +1 -1
  276. package/src/sap/cux/home/changeHandler/LayoutHandler.ts +1 -1
  277. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts +3 -3
  278. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.d.ts.map +1 -1
  279. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js +2 -2
  280. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.js.map +1 -1
  281. package/src/sap/cux/home/changeHandler/NewsFeedVisibilityChange.ts +5 -5
  282. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts +3 -3
  283. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.d.ts.map +1 -1
  284. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js +2 -2
  285. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.js.map +1 -1
  286. package/src/sap/cux/home/changeHandler/SetNewsFeedUrl.ts +5 -5
  287. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts +3 -3
  288. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.d.ts.map +1 -1
  289. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js +2 -2
  290. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.js.map +1 -1
  291. package/src/sap/cux/home/changeHandler/SpacePageColorHandler.ts +4 -4
  292. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts +3 -3
  293. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.d.ts.map +1 -1
  294. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js +5 -5
  295. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.js.map +1 -1
  296. package/src/sap/cux/home/changeHandler/SpacePageIconHandler.ts +6 -6
  297. package/src/sap/cux/home/designtime/Layout.designtime.js +1 -1
  298. package/src/sap/cux/home/designtime/Layout.designtime.js.map +1 -1
  299. package/src/sap/cux/home/designtime/Layout.designtime.ts +1 -1
  300. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.d.ts.map +1 -1
  301. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js +31 -4
  302. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.js.map +1 -1
  303. package/src/sap/cux/home/flexibility/BaseContainer.flexibility.ts +24 -2
  304. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts +29 -19
  305. package/src/sap/cux/home/flexibility/Layout.flexibility.d.ts.map +1 -1
  306. package/src/sap/cux/home/flexibility/Layout.flexibility.js +79 -3
  307. package/src/sap/cux/home/flexibility/Layout.flexibility.js.map +1 -1
  308. package/src/sap/cux/home/flexibility/Layout.flexibility.ts +82 -2
  309. package/src/sap/cux/home/i18n/messagebundle.properties +27 -13
  310. package/src/sap/cux/home/i18n/messagebundle_ar.properties +20 -4
  311. package/src/sap/cux/home/i18n/messagebundle_bg.properties +20 -8
  312. package/src/sap/cux/home/i18n/messagebundle_ca.properties +21 -9
  313. package/src/sap/cux/home/i18n/messagebundle_cnr.properties +26 -14
  314. package/src/sap/cux/home/i18n/messagebundle_cs.properties +20 -8
  315. package/src/sap/cux/home/i18n/messagebundle_cy.properties +20 -8
  316. package/src/sap/cux/home/i18n/messagebundle_da.properties +20 -8
  317. package/src/sap/cux/home/i18n/messagebundle_de.properties +22 -10
  318. package/src/sap/cux/home/i18n/messagebundle_el.properties +20 -8
  319. package/src/sap/cux/home/i18n/messagebundle_en.properties +20 -8
  320. package/src/sap/cux/home/i18n/messagebundle_en_GB.properties +20 -8
  321. package/src/sap/cux/home/i18n/messagebundle_en_US_sappsd.properties +20 -8
  322. package/src/sap/cux/home/i18n/messagebundle_en_US_saprigi.properties +20 -8
  323. package/src/sap/cux/home/i18n/messagebundle_en_US_saptrc.properties +20 -8
  324. package/src/sap/cux/home/i18n/messagebundle_es.properties +21 -8
  325. package/src/sap/cux/home/i18n/messagebundle_es_MX.properties +20 -8
  326. package/src/sap/cux/home/i18n/messagebundle_et.properties +20 -8
  327. package/src/sap/cux/home/i18n/messagebundle_fi.properties +20 -8
  328. package/src/sap/cux/home/i18n/messagebundle_fr.properties +20 -8
  329. package/src/sap/cux/home/i18n/messagebundle_fr_CA.properties +20 -8
  330. package/src/sap/cux/home/i18n/messagebundle_hi.properties +20 -8
  331. package/src/sap/cux/home/i18n/messagebundle_hr.properties +20 -8
  332. package/src/sap/cux/home/i18n/messagebundle_hu.properties +20 -8
  333. package/src/sap/cux/home/i18n/messagebundle_id.properties +33 -21
  334. package/src/sap/cux/home/i18n/messagebundle_it.properties +25 -13
  335. package/src/sap/cux/home/i18n/messagebundle_iw.properties +20 -8
  336. package/src/sap/cux/home/i18n/messagebundle_ja.properties +20 -8
  337. package/src/sap/cux/home/i18n/messagebundle_kk.properties +20 -8
  338. package/src/sap/cux/home/i18n/messagebundle_ko.properties +20 -8
  339. package/src/sap/cux/home/i18n/messagebundle_lt.properties +20 -8
  340. package/src/sap/cux/home/i18n/messagebundle_lv.properties +20 -8
  341. package/src/sap/cux/home/i18n/messagebundle_mk.properties +20 -8
  342. package/src/sap/cux/home/i18n/messagebundle_ms.properties +20 -8
  343. package/src/sap/cux/home/i18n/messagebundle_nl.properties +20 -8
  344. package/src/sap/cux/home/i18n/messagebundle_no.properties +20 -8
  345. package/src/sap/cux/home/i18n/messagebundle_pl.properties +20 -8
  346. package/src/sap/cux/home/i18n/messagebundle_pt.properties +20 -8
  347. package/src/sap/cux/home/i18n/messagebundle_pt_PT.properties +20 -8
  348. package/src/sap/cux/home/i18n/messagebundle_ro.properties +20 -8
  349. package/src/sap/cux/home/i18n/messagebundle_ru.properties +20 -8
  350. package/src/sap/cux/home/i18n/messagebundle_sh.properties +26 -14
  351. package/src/sap/cux/home/i18n/messagebundle_sk.properties +20 -8
  352. package/src/sap/cux/home/i18n/messagebundle_sl.properties +21 -9
  353. package/src/sap/cux/home/i18n/messagebundle_sr.properties +26 -14
  354. package/src/sap/cux/home/i18n/messagebundle_sv.properties +20 -8
  355. package/src/sap/cux/home/i18n/messagebundle_th.properties +20 -8
  356. package/src/sap/cux/home/i18n/messagebundle_tr.properties +20 -8
  357. package/src/sap/cux/home/i18n/messagebundle_uk.properties +24 -12
  358. package/src/sap/cux/home/i18n/messagebundle_vi.properties +20 -8
  359. package/src/sap/cux/home/i18n/messagebundle_zh_CN.properties +20 -8
  360. package/src/sap/cux/home/i18n/messagebundle_zh_TW.properties +20 -8
  361. package/src/sap/cux/home/interface/AppsInterface.d.ts +1 -1
  362. package/src/sap/cux/home/interface/AppsInterface.js.map +1 -1
  363. package/src/sap/cux/home/interface/AppsInterface.ts +1 -1
  364. package/src/sap/cux/home/interface/CardsInterface.d.ts +1 -1
  365. package/src/sap/cux/home/interface/CardsInterface.d.ts.map +1 -1
  366. package/src/sap/cux/home/interface/CardsInterface.js +1 -1
  367. package/src/sap/cux/home/interface/CardsInterface.js.map +1 -1
  368. package/src/sap/cux/home/interface/CardsInterface.ts +1 -2
  369. package/src/sap/cux/home/interface/KeyUserInterface.d.ts +28 -5
  370. package/src/sap/cux/home/interface/KeyUserInterface.d.ts.map +1 -1
  371. package/src/sap/cux/home/interface/KeyUserInterface.js.map +1 -1
  372. package/src/sap/cux/home/interface/KeyUserInterface.ts +24 -5
  373. package/src/sap/cux/home/interface/LayoutInterface.d.ts +8 -1
  374. package/src/sap/cux/home/interface/LayoutInterface.d.ts.map +1 -1
  375. package/src/sap/cux/home/interface/LayoutInterface.js.map +1 -1
  376. package/src/sap/cux/home/interface/LayoutInterface.ts +8 -1
  377. package/src/sap/cux/home/interface/PageSpaceInterface.d.ts +1 -1
  378. package/src/sap/cux/home/interface/PageSpaceInterface.js.map +1 -1
  379. package/src/sap/cux/home/interface/PageSpaceInterface.ts +1 -1
  380. package/src/sap/cux/home/library.d.ts.map +1 -1
  381. package/src/sap/cux/home/library.js +8 -5
  382. package/src/sap/cux/home/library.js.map +1 -1
  383. package/src/sap/cux/home/library.ts +11 -6
  384. package/src/sap/cux/home/themes/base/BaseContainer.less +36 -0
  385. package/src/sap/cux/home/themes/base/BaseLayout.less +11 -0
  386. package/src/sap/cux/home/themes/base/{InsightsContainer.less → CardsContainer.less} +0 -45
  387. package/src/sap/cux/home/themes/base/ContentAdditionDialog.less +10 -18
  388. package/src/sap/cux/home/themes/base/PlaceHolder.less +1 -1
  389. package/src/sap/cux/home/themes/base/SettingsDialog.less +4 -0
  390. package/src/sap/cux/home/themes/base/TilesContainer.less +65 -0
  391. package/src/sap/cux/home/themes/base/library.source.less +2 -1
  392. package/src/sap/cux/home/utils/Accessibility.d.ts +1 -1
  393. package/src/sap/cux/home/utils/Accessibility.js +1 -1
  394. package/src/sap/cux/home/utils/Accessibility.js.map +1 -1
  395. package/src/sap/cux/home/utils/Accessibility.ts +1 -1
  396. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.d.ts +1 -1
  397. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js +1 -1
  398. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.js.map +1 -1
  399. package/src/sap/cux/home/utils/AnalyticalCardSkeleton.ts +1 -1
  400. package/src/sap/cux/home/utils/AppManager.js +1 -1
  401. package/src/sap/cux/home/utils/AppManager.js.map +1 -1
  402. package/src/sap/cux/home/utils/AppManager.ts +1 -1
  403. package/src/sap/cux/home/utils/BatchHelper.d.ts +2 -1
  404. package/src/sap/cux/home/utils/BatchHelper.d.ts.map +1 -1
  405. package/src/sap/cux/home/utils/BatchHelper.js +8 -3
  406. package/src/sap/cux/home/utils/BatchHelper.js.map +1 -1
  407. package/src/sap/cux/home/utils/BatchHelper.ts +9 -2
  408. package/src/sap/cux/home/utils/ColorUtils.d.ts +1 -1
  409. package/src/sap/cux/home/utils/ColorUtils.js +1 -1
  410. package/src/sap/cux/home/utils/ColorUtils.js.map +1 -1
  411. package/src/sap/cux/home/utils/ColorUtils.ts +1 -1
  412. package/src/sap/cux/home/utils/CommonUtils.js +1 -1
  413. package/src/sap/cux/home/utils/CommonUtils.js.map +1 -1
  414. package/src/sap/cux/home/utils/CommonUtils.ts +1 -1
  415. package/src/sap/cux/home/utils/Constants.js +1 -1
  416. package/src/sap/cux/home/utils/Constants.js.map +1 -1
  417. package/src/sap/cux/home/utils/Constants.ts +1 -1
  418. package/src/sap/cux/home/utils/DataFormatUtils.d.ts +1 -1
  419. package/src/sap/cux/home/utils/DataFormatUtils.js +1 -1
  420. package/src/sap/cux/home/utils/DataFormatUtils.js.map +1 -1
  421. package/src/sap/cux/home/utils/DataFormatUtils.ts +1 -1
  422. package/src/sap/cux/home/utils/DecisionDialog.js +1 -1
  423. package/src/sap/cux/home/utils/DecisionDialog.js.map +1 -1
  424. package/src/sap/cux/home/utils/DecisionDialog.ts +1 -1
  425. package/src/sap/cux/home/utils/Device.js +1 -1
  426. package/src/sap/cux/home/utils/Device.js.map +1 -1
  427. package/src/sap/cux/home/utils/Device.ts +1 -1
  428. package/src/sap/cux/home/utils/DragDropUtils.d.ts +1 -1
  429. package/src/sap/cux/home/utils/DragDropUtils.js +1 -1
  430. package/src/sap/cux/home/utils/DragDropUtils.js.map +1 -1
  431. package/src/sap/cux/home/utils/DragDropUtils.ts +1 -1
  432. package/src/sap/cux/home/utils/FESRUtil.d.ts +1 -1
  433. package/src/sap/cux/home/utils/FESRUtil.js +1 -1
  434. package/src/sap/cux/home/utils/FESRUtil.js.map +1 -1
  435. package/src/sap/cux/home/utils/FESRUtil.ts +1 -1
  436. package/src/sap/cux/home/utils/FeatureUtils.js +1 -1
  437. package/src/sap/cux/home/utils/FeatureUtils.js.map +1 -1
  438. package/src/sap/cux/home/utils/FeatureUtils.ts +1 -1
  439. package/src/sap/cux/home/utils/HttpHelper.js +1 -1
  440. package/src/sap/cux/home/utils/HttpHelper.js.map +1 -1
  441. package/src/sap/cux/home/utils/HttpHelper.ts +1 -1
  442. package/src/sap/cux/home/utils/IconList.d.ts +1 -1
  443. package/src/sap/cux/home/utils/IconList.js +1 -1
  444. package/src/sap/cux/home/utils/IconList.js.map +1 -1
  445. package/src/sap/cux/home/utils/IconList.ts +1 -1
  446. package/src/sap/cux/home/utils/InsightsUtils.d.ts +1 -1
  447. package/src/sap/cux/home/utils/InsightsUtils.js +1 -1
  448. package/src/sap/cux/home/utils/InsightsUtils.js.map +1 -1
  449. package/src/sap/cux/home/utils/InsightsUtils.ts +1 -1
  450. package/src/sap/cux/home/utils/PXFeedback.js +1 -1
  451. package/src/sap/cux/home/utils/PXFeedback.js.map +1 -1
  452. package/src/sap/cux/home/utils/PXFeedback.ts +1 -1
  453. package/src/sap/cux/home/utils/PageManager.js +1 -1
  454. package/src/sap/cux/home/utils/PageManager.js.map +1 -1
  455. package/src/sap/cux/home/utils/PageManager.ts +1 -1
  456. package/src/sap/cux/home/utils/PagesIconsConstants.d.ts +1 -1
  457. package/src/sap/cux/home/utils/PagesIconsConstants.js +1 -1
  458. package/src/sap/cux/home/utils/PagesIconsConstants.js.map +1 -1
  459. package/src/sap/cux/home/utils/PagesIconsConstants.ts +1 -1
  460. package/src/sap/cux/home/utils/PerformanceUtils.d.ts +4 -2
  461. package/src/sap/cux/home/utils/PerformanceUtils.d.ts.map +1 -1
  462. package/src/sap/cux/home/utils/PerformanceUtils.js +5 -3
  463. package/src/sap/cux/home/utils/PerformanceUtils.js.map +1 -1
  464. package/src/sap/cux/home/utils/PerformanceUtils.ts +5 -3
  465. package/src/sap/cux/home/utils/PersonalisationUtils.d.ts +1 -1
  466. package/src/sap/cux/home/utils/PersonalisationUtils.js +1 -1
  467. package/src/sap/cux/home/utils/PersonalisationUtils.js.map +1 -1
  468. package/src/sap/cux/home/utils/PersonalisationUtils.ts +1 -1
  469. package/src/sap/cux/home/utils/RecommendedCardUtil.js +1 -1
  470. package/src/sap/cux/home/utils/RecommendedCardUtil.js.map +1 -1
  471. package/src/sap/cux/home/utils/RecommendedCardUtil.ts +1 -1
  472. package/src/sap/cux/home/utils/SituationUtils.js +1 -1
  473. package/src/sap/cux/home/utils/SituationUtils.js.map +1 -1
  474. package/src/sap/cux/home/utils/SituationUtils.ts +1 -1
  475. package/src/sap/cux/home/utils/TaskUtils.js +1 -1
  476. package/src/sap/cux/home/utils/TaskUtils.js.map +1 -1
  477. package/src/sap/cux/home/utils/TaskUtils.ts +1 -1
  478. package/src/sap/cux/home/utils/UshellPersonalizer.d.ts +1 -1
  479. package/src/sap/cux/home/utils/UshellPersonalizer.js +1 -1
  480. package/src/sap/cux/home/utils/UshellPersonalizer.js.map +1 -1
  481. package/src/sap/cux/home/utils/UshellPersonalizer.ts +1 -1
  482. package/src/sap/cux/home/utils/extension/CardExtension.js +1 -1
  483. package/src/sap/cux/home/utils/extension/CardExtension.js.map +1 -1
  484. package/src/sap/cux/home/utils/extension/CardExtension.ts +1 -1
  485. package/src/sap/cux/home/utils/fragment/appsAdditionContent.fragment.xml +151 -152
  486. package/src/sap/cux/home/utils/fragment/showDecisionDialog.fragment.xml +1 -1
  487. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.d.ts +1 -1
  488. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js +1 -1
  489. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.js.map +1 -1
  490. package/src/sap/cux/home/utils/placeholder/AppsPlaceholder.ts +1 -1
  491. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts +8 -0
  492. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.d.ts.map +1 -0
  493. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.js → CardsPlaceholder.js} +4 -78
  494. package/src/sap/cux/home/utils/placeholder/CardsPlaceholder.js.map +1 -0
  495. package/src/sap/cux/home/utils/placeholder/{InsightsPlaceholder.ts → CardsPlaceholder.ts} +2 -76
  496. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts +8 -0
  497. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.d.ts.map +1 -0
  498. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js +44 -0
  499. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.js.map +1 -0
  500. package/src/sap/cux/home/utils/placeholder/NewsPlaceholder.ts +34 -0
  501. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts +8 -0
  502. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.d.ts.map +1 -0
  503. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.js → PagesPlaceholder.js} +4 -24
  504. package/src/sap/cux/home/utils/placeholder/PagesPlaceholder.js.map +1 -0
  505. package/src/sap/cux/home/utils/placeholder/{NewsAndPagesPlaceholder.ts → PagesPlaceholder.ts} +2 -22
  506. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts +8 -0
  507. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.d.ts.map +1 -0
  508. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js +95 -0
  509. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.js.map +1 -0
  510. package/src/sap/cux/home/utils/placeholder/TilesPlaceholder.ts +85 -0
  511. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.d.ts +1 -1
  512. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js +1 -1
  513. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.js.map +1 -1
  514. package/src/sap/cux/home/utils/placeholder/ToDosPlaceholder.ts +1 -1
  515. package/ui5.yaml +1 -0
  516. package/src/sap/cux/home/InsightsContainer.d.ts +0 -205
  517. package/src/sap/cux/home/InsightsContainer.d.ts.map +0 -1
  518. package/src/sap/cux/home/InsightsContainer.js +0 -459
  519. package/src/sap/cux/home/InsightsContainer.js.map +0 -1
  520. package/src/sap/cux/home/InsightsContainer.ts +0 -489
  521. package/src/sap/cux/home/NewsAndPagesContainer.d.ts.map +0 -1
  522. package/src/sap/cux/home/NewsAndPagesContainer.js.map +0 -1
  523. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts +0 -8
  524. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.d.ts.map +0 -1
  525. package/src/sap/cux/home/utils/placeholder/InsightsPlaceholder.js.map +0 -1
  526. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts +0 -8
  527. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.d.ts.map +0 -1
  528. package/src/sap/cux/home/utils/placeholder/NewsAndPagesPlaceholder.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome", "sap/ushell/Container", "./AdvancedSettingsPanel", "./BaseLayout", "./BaseLayoutRenderer", "./ContentAdditionDialog", "./InsightsCardsSettingsPanel", "./InsightsTilesSettingsPanel", "./KeyUserLayoutSettingsPanel", "./KeyUserNewsPagesSettingsPanel", "./KeyUserSettingsDialog", "./LayoutSettingsPanel", "./NewsAndPagesContainer", "./NewsSettingsPanel", "./NoDataContainer", "./PagePanel", "./PageSettingsPanel", "./SettingsDialog", "./ToDosContainer", "./utils/Constants", "./utils/DataFormatUtils", "./utils/PerformanceUtils", "./utils/PersonalisationUtils"], function (Log, Element, S4MyHome, Container, __AdvancedSettingsPanel, __BaseLayout, __BaseLayoutRenderer, __ContentAdditionDialog, __InsightsCardsSettingsPanel, __InsightsTilesSettingsPanel, __KeyUserLayoutSettingsPanel, __KeyUserNewsPagesSettingsPanel, __KeyUserSettingsDialog, __LayoutSettingsPanel, __NewsAndPagesContainer, __NewsSettingsPanel, __NoDataContainer, __PagePanel, __PageSettingsPanel, __SettingsDialog, __ToDosContainer, ___utils_Constants, ___utils_DataFormatUtils, ___utils_PerformanceUtils, __PersonalisationUtils) {
5
+ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome", "sap/ushell/Container", "./AdvancedSettingsPanel", "./BaseLayout", "./BaseLayoutRenderer", "./ContentAdditionDialog", "./InsightsCardsSettingsPanel", "./InsightsTilesSettingsPanel", "./KeyUserLayoutSettingsPanel", "./KeyUserNewsPagesSettingsPanel", "./KeyUserSettingsDialog", "./LayoutSettingsPanel", "./NewsContainer", "./NewsSettingsPanel", "./NoDataContainer", "./PagePanel", "./PageSettingsPanel", "./SettingsDialog", "./ToDosContainer", "./utils/Constants", "./utils/DataFormatUtils", "./utils/Device", "./utils/PerformanceUtils", "./utils/PersonalisationUtils"], function (Log, Element, S4MyHome, Container, __AdvancedSettingsPanel, __BaseLayout, __BaseLayoutRenderer, __ContentAdditionDialog, __InsightsCardsSettingsPanel, __InsightsTilesSettingsPanel, __KeyUserLayoutSettingsPanel, __KeyUserNewsPagesSettingsPanel, __KeyUserSettingsDialog, __LayoutSettingsPanel, __NewsContainer, __NewsSettingsPanel, __NoDataContainer, __PagePanel, __PageSettingsPanel, __SettingsDialog, __ToDosContainer, ___utils_Constants, ___utils_DataFormatUtils, ___utils_Device, ___utils_PerformanceUtils, __PersonalisationUtils) {
6
6
  "use strict";
7
7
 
8
8
  function _interopRequireDefault(obj) {
@@ -183,7 +183,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
183
183
  const KeyUserNewsPagesSettingsPanel = _interopRequireDefault(__KeyUserNewsPagesSettingsPanel);
184
184
  const KeyUserSettingsDialog = _interopRequireDefault(__KeyUserSettingsDialog);
185
185
  const LayoutSettingsPanel = _interopRequireDefault(__LayoutSettingsPanel);
186
- const NewsAndPagesContainer = _interopRequireDefault(__NewsAndPagesContainer);
186
+ const NewsContainer = _interopRequireDefault(__NewsContainer);
187
187
  const NewsSettingsPanel = _interopRequireDefault(__NewsSettingsPanel);
188
188
  const NoDataContainer = _interopRequireDefault(__NoDataContainer);
189
189
  const PagePanel = _interopRequireDefault(__PagePanel);
@@ -192,6 +192,8 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
192
192
  const ToDosContainer = _interopRequireDefault(__ToDosContainer);
193
193
  const SETTINGS_PANELS_KEYS = ___utils_Constants["SETTINGS_PANELS_KEYS"];
194
194
  const recycleId = ___utils_DataFormatUtils["recycleId"];
195
+ const calculateDeviceType = ___utils_Device["calculateDeviceType"];
196
+ const DeviceType = ___utils_Device["DeviceType"];
195
197
  const setupPerformanceTracking = ___utils_PerformanceUtils["setupPerformanceTracking"];
196
198
  const PersonalisationUtils = _interopRequireDefault(__PersonalisationUtils);
197
199
  /**
@@ -225,6 +227,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
225
227
  this._shellUserActions = [];
226
228
  this._isDefaultSettingsDialog = false;
227
229
  this._customNoDataContainerPresent = true;
230
+ Layout._activeInstance = this; // mark the last created instance
228
231
  },
229
232
  /**
230
233
  * Init lifecycle method
@@ -250,8 +253,8 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
250
253
  const _this = this;
251
254
  return Promise.resolve(_catch(function () {
252
255
  const _temp3 = function () {
253
- if (_this.getVisible() && !_this._userActionsAdded) {
254
- _this._userActionsAdded = true;
256
+ if (_this.getVisible() && !Layout._userActionsAdded) {
257
+ Layout._userActionsAdded = true;
255
258
 
256
259
  // Configure User Actions
257
260
  const userActions = [{
@@ -259,7 +262,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
259
262
  text: _this._i18nBundle.getText("myHomeSettings"),
260
263
  tooltip: _this._i18nBundle.getText("myHomeSettings"),
261
264
  press: () => {
262
- void _this.openSettingsDialog();
265
+ void Layout._activeInstance?.openSettingsDialog();
263
266
  }
264
267
  }];
265
268
 
@@ -357,7 +360,11 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
357
360
  _this3.getNoDataContainer();
358
361
  //prepare layout data, if not already done
359
362
  if (!_this3._aOrderedSections) {
360
- setTimeout(_this3._prepareLayoutData.bind(_this3));
363
+ setTimeout(() => {
364
+ if (!_this3.isDestroyStarted()) {
365
+ _this3._prepareLayoutData();
366
+ }
367
+ });
361
368
  }
362
369
 
363
370
  // Setup KeyUserPersonalization
@@ -545,7 +552,28 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
545
552
  const aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();
546
553
  // set aelementsMap as elementMap[] | [];
547
554
  const aElementMap = [];
555
+
556
+ /**
557
+ * if both containers are present and visible, and device is desktop and larger,
558
+ * then add class for side by side layout flag to check if side by side layout class is applied
559
+ */
560
+ let isSideBySideLayoutActive = false;
548
561
  aElements.forEach(element => {
562
+ const compositeId = element.getProperty("compositeId");
563
+ /**
564
+ * if the element's composite id same with anyother element and both are visible,
565
+ * then only make isSideBySideLayoutActive true for device which are not desktop or tablet
566
+ */
567
+ if (compositeId && element.hasStyleClass(`${compositeId}`) && aElements.some(otherElement => otherElement !== element && otherElement.getProperty("compositeId") === compositeId && otherElement.getVisible() && element.getVisible())) {
568
+ const deviceType = calculateDeviceType();
569
+ //devices which are mobile or tablet should not get side by side layout
570
+ if (!(deviceType === DeviceType.Mobile || deviceType === DeviceType.Tablet)) {
571
+ isSideBySideLayoutActive = true;
572
+ }
573
+ } else {
574
+ isSideBySideLayoutActive = isSideBySideLayoutActive ? true : false;
575
+ }
576
+ // Exclude NoDataContainer from the sections list
549
577
  if (element !== this.getNoDataContainer()) {
550
578
  const sId = element.getId();
551
579
 
@@ -569,6 +597,11 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
569
597
  }
570
598
  }
571
599
  });
600
+ this.toggleStyleClass("sapCuxLayoutFlexItems", isSideBySideLayoutActive);
601
+ const container = document.getElementById(`${this.getId()}-layout-container`);
602
+ if (container) {
603
+ container.classList.toggle("sapCuxLayoutFlexItems", isSideBySideLayoutActive);
604
+ }
572
605
  this._aOrderedSections = aElementMap;
573
606
  if (!this.getProperty("expanded")) {
574
607
  this.setNoDataContainerVisibility(!hasVisibleSection);
@@ -634,7 +667,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
634
667
  const sId = element.getId();
635
668
  //check news & apps visibility
636
669
  const _temp5 = function () {
637
- if (element instanceof NewsAndPagesContainer && element.getVisible()) {
670
+ if (element instanceof NewsContainer && element.getVisible()) {
638
671
  function _temp4(_this5$checkPagesBloc) {
639
672
  bBlocked = _this5$checkPagesBloc;
640
673
  }
@@ -710,7 +743,7 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
710
743
 
711
744
  // Add News and Pages Settings Panel If News and Pages Container is available
712
745
  (this.getItems() || []).forEach(container => {
713
- if (container instanceof NewsAndPagesContainer) {
746
+ if (container instanceof NewsContainer) {
714
747
  const keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);
715
748
  // Set any panel of the containet to the settings panel as association
716
749
  keyUserNewsPagesSettingsPanel.setAssociation("panel", container.getContent()?.[0]);
@@ -775,8 +808,16 @@ sap.ui.define(["sap/base/Log", "sap/ui/core/Element", "sap/ushell/api/S4MyHome",
775
808
  contentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);
776
809
  this.setAggregation("contentAdditionDialog", contentAdditionDialog);
777
810
  }
811
+ },
812
+ onAfterRendering: function _onAfterRendering() {
813
+ BaseLayout.prototype.onAfterRendering.call(this);
814
+ if (!this._aOrderedSections) {
815
+ this._prepareLayoutData();
816
+ }
778
817
  }
779
818
  });
819
+ Layout._userActionsAdded = false;
820
+ Layout._activeInstance = null;
780
821
  return Layout;
781
822
  });
782
823
  //# sourceMappingURL=Layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","names":["sap","ui","define","Log","Element","S4MyHome","Container","__AdvancedSettingsPanel","__BaseLayout","__BaseLayoutRenderer","__ContentAdditionDialog","__InsightsCardsSettingsPanel","__InsightsTilesSettingsPanel","__KeyUserLayoutSettingsPanel","__KeyUserNewsPagesSettingsPanel","__KeyUserSettingsDialog","__LayoutSettingsPanel","__NewsAndPagesContainer","__NewsSettingsPanel","__NoDataContainer","__PagePanel","__PageSettingsPanel","__SettingsDialog","__ToDosContainer","___utils_Constants","___utils_DataFormatUtils","___utils_PerformanceUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AdvancedSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseLayout","_catch","recover","BaseLayoutRenderer","ContentAdditionDialog","InsightsCardsSettingsPanel","InsightsTilesSettingsPanel","KeyUserLayoutSettingsPanel","KeyUserNewsPagesSettingsPanel","KeyUserSettingsDialog","LayoutSettingsPanel","NewsAndPagesContainer","NewsSettingsPanel","NoDataContainer","PagePanel","PageSettingsPanel","SettingsDialog","ToDosContainer","SETTINGS_PANELS_KEYS","recycleId","setupPerformanceTracking","PersonalisationUtils","Layout","extend","renderer","metadata","designtime","constructor","_constructor","id","settings","BaseLayout.prototype.constructor.call","_shellUserActions","_isDefaultSettingsDialog","_customNoDataContainerPresent","init","_init","BaseLayout.prototype.init.call","setProperty","_addUserActions","Promise","resolve","_temp3","getVisible","_userActionsAdded","userActions","icon","text","_i18nBundle","getText","tooltip","press","openSettingsDialog","getServiceAsync","extensionService","_temp2","toggleUserActions","event","show","getParameter","forEach","userAction","showOnHome","hideOnHome","attachRouteMatched","_temp","action","createUserAction","controlType","shellUserAction","error","warning","Error","message","_openSettingsDialog","selectedKey","context","_this2","settingsDialog","getAggregation","getPanels","_getSettingsPanels","_addPanelsToSettingsDialog","_calculateSectionsState","BaseLayout.prototype.openSettingsDialog.call","closeSettingsDialog","_closeSettingsDialog","close","onBeforeRendering","_onBeforeRendering","_this3","BaseLayout.prototype.onBeforeRendering.call","_setupSettingsDialog","_setupContentAdditionDialog","persContainerId","getProperty","setPersContainerId","getNoDataContainer","_aOrderedSections","setTimeout","_prepareLayoutData","_setupKeyUserSettingsDialog","allPanels","getItems","container","setAssociation","getContent","panel","panelEnableSettings","undefined","enableSettings","defaultSettingsDialog","_getDefaultSettingsDialog","setSettingsDialog","getId","settingsPanel","_getDefaultSettingsPanel","addPanel","sortedPanels","_sortPanels","removeAllPanels","insertPanel","_getLayoutSettingsPanel","_getAdvancedSettingsPanel","panelClassName","getMetadata","getName","settingsPanels","layoutSettingsPanel","advancedSettingsPanel","indexOf","_addSettingsPanel","panels","Object","keys","map","key","find","filter","Boolean","_advancedSettingsPanel","_layoutSettingsPanel","_getNoDataContainer","_noDataContainer","item","setVisible","hasVisibleSection","isLayoutExpanded","aOrderedElements","element","getElementById","completeId","aElements","aElementMap","sId","title","getTooltip","elementVisible","elementCustomSettings","getCustomSettings","sContainerType","blocked","visible","setNoDataContainerVisibility","_setNoDataContainerVisibility","contentVisible","noDataContainer","insertItem","removeItem","_this4","aSettingsPanel","_isCustomNews","oSettingsPanel","resetImportModel","setSectionDetails","_setSectionDetails","_this5","elementArray","_temp7","_temp6","oElementItem","bBlocked","_temp5","_temp4","_this5$checkPagesBloc","aNewsAndPagesPanel","_aNewsAndPagesPanel$l","checkPagesBlocked","checkToDoBlocked","_checkPagesBlocked","_this6","_temp0","_pagesAvailable","_temp9","oPanel","_temp8","getUserAvailablePages","aPages","_checkToDoBlocked","toDoContainer","_toDoAccessible","keyUserSettingsDialog","defaultKeyUserSettingsDialog","keyUserLayoutSettingsPanel","keyUserNewsPagesSettingsPanel","setAggregation","getpagesAvailable","_getpagesAvailable","isToDoAccessible","_isToDoAccessible","customNewAvailable","_customNewAvailable","getSections","_getSections","setSections","_setSections","sections","resetSections","_resetSections","contentAdditionDialog"],"sources":["Layout.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2025 SAP SE. All rights reserved\n */\n\nimport { Event } from \"jquery\";\nimport Log from \"sap/base/Log\";\nimport UI5Event from \"sap/ui/base/Event\";\nimport Element, { MetadataOptions } from \"sap/ui/core/Element\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Container from \"sap/ushell/Container\";\nimport Extension from \"sap/ushell/services/Extension\";\nimport Item from \"sap/ushell/services/Extension/Item\";\nimport AdvancedSettingsPanel from \"./AdvancedSettingsPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BaseLayoutSettings } from \"./BaseLayout\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseLayoutRenderer from \"./BaseLayoutRenderer\";\nimport BasePanel from \"./BasePanel\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsCardsSettingsPanel from \"./InsightsCardsSettingsPanel\";\nimport InsightsTilesSettingsPanel from \"./InsightsTilesSettingsPanel\";\nimport KeyUserLayoutSettingsPanel from \"./KeyUserLayoutSettingsPanel\";\nimport KeyUserNewsPagesSettingsPanel from \"./KeyUserNewsPagesSettingsPanel\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport LayoutSettingsPanel from \"./LayoutSettingsPanel\";\nimport NewsAndPagesContainer from \"./NewsAndPagesContainer\";\nimport NewsSettingsPanel from \"./NewsSettingsPanel\";\nimport NoDataContainer from \"./NoDataContainer\";\nimport PagePanel from \"./PagePanel\";\nimport PageSettingsPanel from \"./PageSettingsPanel\";\nimport SettingsDialog from \"./SettingsDialog\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { setupPerformanceTracking } from \"./utils/PerformanceUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\ninterface IElement {\n\tcompleteId: string;\n\tsContainerType: string;\n\tblocked: boolean;\n\tvisible: boolean;\n\ttitle: string;\n\ttext: string;\n}\n\nexport interface UserActionProperties {\n\ticon: string;\n\ttext: string;\n\ttooltip: string;\n\tpress: () => void;\n}\n\n/**\n *\n * Layout class for the My Home layout.\n *\n * @extends BaseLayout\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.Layout\n */\nexport default class Layout extends BaseLayout {\n\tprivate _layoutSettingsPanel!: LayoutSettingsPanel;\n\tprivate _advancedSettingsPanel!: AdvancedSettingsPanel;\n\tprivate _isCustomNews!: boolean;\n\tprivate _pagesAvailable!: boolean;\n\tprivate _toDoAccessible!: boolean;\n\tprivate _aOrderedSections!: IElement[] | undefined;\n\tprivate _noDataContainer!: NoDataContainer;\n\tprivate _shellUserActions: Item[] = [];\n\tprivate _userActionsAdded!: boolean;\n\tprivate _isDefaultSettingsDialog: boolean = false;\n\tprivate _customNoDataContainerPresent: boolean = true;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tdesigntime: \"sap/cux/home/designtime/Layout.designtime\"\n\t};\n\tstatic renderer: typeof BaseLayoutRenderer = BaseLayoutRenderer;\n\n\t/**\n\t * Constructor for a new layout.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseLayoutSettings) {\n\t\tsuper(id, settings);\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @async\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup layout\n\t\tthis.setProperty(\"enableSettings\", true);\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t}\n\n\t/**\n\t * Adds all user actions to the Fiori launchpad.\n\t *\n\t * @private\n\t */\n\tprivate async _addUserActions() {\n\t\ttry {\n\t\t\tif (this.getVisible() && !this._userActionsAdded) {\n\t\t\t\tthis._userActionsAdded = true;\n\n\t\t\t\t// Configure User Actions\n\t\t\t\tconst userActions: UserActionProperties[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"sap-icon://edit\",\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\ttooltip: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid this.openSettingsDialog();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// Attach User Actions\n\t\t\t\tconst extensionService = await Container.getServiceAsync<Extension>(\"Extension\");\n\t\t\t\tfor (let action of userActions) {\n\t\t\t\t\tconst shellUserAction = await extensionService.createUserAction(action, {\n\t\t\t\t\t\tcontrolType: \"sap.ushell.ui.launchpad.ActionItem\"\n\t\t\t\t\t});\n\t\t\t\t\tshellUserAction.showOnHome();\n\t\t\t\t\tthis._shellUserActions.push(shellUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Toggle User Actions on Page Change\n\t\t\t\tconst toggleUserActions = (event: UI5Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\t\t\tthis._shellUserActions.forEach(function (userAction) {\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tuserAction.showOnHome();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuserAction.hideOnHome();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tLog.warning(\"Unable to add User Actions\", error instanceof Error ? error.message : \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Opens the settings dialog for the layout.\n\t * Overriden from the BaseLayout to ensure of all panels\n\t * to the dialog if not already added.\n\t *\n\t * @private\n\t * @param {string} selectedKey The key of the panel to navigate to\n\t * @override\n\t */\n\tpublic async openSettingsDialog(selectedKey: string = \"\", context?: object): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tif (settingsDialog.getPanels().length !== this._getSettingsPanels().length) {\n\t\t\tthis._addPanelsToSettingsDialog();\n\t\t}\n\t\tawait this._calculateSectionsState();\n\n\t\tsuper.openSettingsDialog(selectedKey, context);\n\t}\n\n\t/**\n\t * Close Settings Dialog\n\t *\n\t * @private\n\t *\n\t */\n\tpublic closeSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tsettingsDialog?.close();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async onBeforeRendering(event: Event): Promise<void> {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup common layout features\n\t\tthis._setupSettingsDialog();\n\n\t\t//setup content addition dialog\n\t\tthis._setupContentAdditionDialog();\n\n\t\t// If PersContainerId provided set to PersonalisationUtils\n\t\tconst persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (persContainerId) {\n\t\t\tPersonalisationUtils.setPersContainerId(persContainerId);\n\t\t}\n\t\tthis.getNoDataContainer();\n\t\t//prepare layout data, if not already done\n\t\tif (!this._aOrderedSections) {\n\t\t\tsetTimeout(this._prepareLayoutData.bind(this));\n\t\t}\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._setupKeyUserSettingsDialog();\n\n\t\t// Initialize Performance Metrics\n\t\tawait setupPerformanceTracking(this);\n\n\t\t//configure user action button if the layout is in an ushell environment\n\t\tawait this._addUserActions();\n\t}\n\n\t/**\n\t * Sets up the settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupSettingsDialog(): void {\n\t\tconst allPanels: BasePanel[] = [];\n\t\t(this.getItems() || []).forEach((container) => {\n\t\t\t//link container to layout\n\t\t\tcontainer.setAssociation(\"layout\", this);\n\n\t\t\t//enable settings for all panels\n\t\t\tcontainer.getContent().forEach((panel) => {\n\t\t\t\tallPanels.push(panel);\n\t\t\t\tconst panelEnableSettings = panel.getProperty(\"enableSettings\") as boolean;\n\t\t\t\tpanel.setProperty(\"enableSettings\", panelEnableSettings !== undefined ? panelEnableSettings : true);\n\t\t\t});\n\t\t});\n\n\t\tconst enableSettings = this.getProperty(\"enableSettings\") as boolean;\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog | undefined;\n\t\tif (!settingsDialog) {\n\t\t\tthis._isDefaultSettingsDialog = true;\n\n\t\t\t// If settings dialog is not provided and settings is enabled, create a default settings dialog\n\t\t\tif (enableSettings) {\n\t\t\t\tconst defaultSettingsDialog = this._getDefaultSettingsDialog(allPanels);\n\t\t\t\tthis.setSettingsDialog(defaultSettingsDialog);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get default settings dialog\n\t * @private\n\t * @returns {BaseSettingsDialog} Default settings dialog\n\t */\n\tprivate _getDefaultSettingsDialog(allPanels: BasePanel[]): BaseSettingsDialog {\n\t\tconst defaultSettingsDialog = new SettingsDialog(`${this.getId()}-settings-dialog`);\n\n\t\tallPanels.forEach((panel) => {\n\t\t\tconst settingsPanel = this._getDefaultSettingsPanel(panel);\n\t\t\tif (settingsPanel) {\n\t\t\t\tdefaultSettingsDialog.addPanel(settingsPanel);\n\t\t\t}\n\t\t});\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(defaultSettingsDialog.getPanels());\n\t\tdefaultSettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => defaultSettingsDialog.addPanel(panel));\n\n\t\tdefaultSettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\tdefaultSettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\n\t\treturn defaultSettingsDialog;\n\t}\n\n\t/**\n\t * Get default Settings Panel\n\t *\n\t * @private\n\t */\n\n\tprivate _getDefaultSettingsPanel(panel: BasePanel): BaseSettingsPanel | undefined {\n\t\tlet settingsPanel: BaseSettingsPanel | undefined;\n\t\tconst panelClassName = panel.getMetadata().getName();\n\t\tswitch (panelClassName) {\n\t\t\tcase \"sap.cux.home.NewsPanel\":\n\t\t\t\tsettingsPanel = new NewsSettingsPanel(`${panel.getId()}-news-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.PagePanel\":\n\t\t\t\tsettingsPanel = new PageSettingsPanel(`${panel.getId()}-page-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.TilesPanel\":\n\t\t\t\tsettingsPanel = new InsightsTilesSettingsPanel(`${panel.getId()}-tiles-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.CardsPanel\":\n\t\t\t\tsettingsPanel = new InsightsCardsSettingsPanel(`${panel.getId()}-cards-settings`);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tsettingsPanel?.setAssociation(\"panel\", panel);\n\t\treturn settingsPanel;\n\t}\n\n\t/**\n\t * Adds all settings panels to the settings dialog, including\n\t * the layout settings panel and advanced settings panel.\n\t *\n\t * @private\n\t */\n\tprivate _addPanelsToSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(settingsDialog.getPanels());\n\t\tsettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => settingsDialog.addPanel(panel));\n\n\t\t// Layout Settings should be displayed only if no settings dialog is provided\n\t\tif (this._isDefaultSettingsDialog) {\n\t\t\tconst settingsPanels = settingsDialog.getPanels();\n\t\t\tconst layoutSettingsPanel = this._getLayoutSettingsPanel();\n\t\t\tconst advancedSettingsPanel = this._getAdvancedSettingsPanel();\n\n\t\t\tif (settingsPanels.indexOf(layoutSettingsPanel) !== 0) {\n\t\t\t\tsettingsDialog.insertPanel(layoutSettingsPanel, 0);\n\t\t\t}\n\n\t\t\tif (settingsPanels.indexOf(advancedSettingsPanel) !== settingsPanels.length - 1) {\n\t\t\t\tsettingsDialog.addPanel(advancedSettingsPanel);\n\t\t\t}\n\t\t}\n\n\t\tthis._addSettingsPanel(settingsDialog.getPanels(), true);\n\t}\n\n\t/**\n\t * Sorts settings panels based on a predefined order.\n\t *\n\t * @private\n\t * @returns {BaseSettingsPanel[]} Sorted settings panels.\n\t */\n\tprivate _sortPanels(panels: BaseSettingsPanel[]): BaseSettingsPanel[] {\n\t\treturn Object.keys(SETTINGS_PANELS_KEYS)\n\t\t\t.map((key) => panels.find((panel) => panel?.getProperty(\"key\") === key))\n\t\t\t.filter(Boolean) as BaseSettingsPanel[];\n\t}\n\n\t/**\n\t * Retrieves the advanced settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {AdvancedSettingsPanel} The advanced settings panel.\n\t */\n\tprivate _getAdvancedSettingsPanel(): AdvancedSettingsPanel {\n\t\tif (!this._advancedSettingsPanel) {\n\t\t\tthis._advancedSettingsPanel = new AdvancedSettingsPanel(`${this.getId()}-advanced-settings`);\n\t\t\tthis._advancedSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._advancedSettingsPanel;\n\t}\n\n\t/**\n\t * Retrieves the layout settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {LayoutSettingsPanel} The layout settings panel.\n\t */\n\tprivate _getLayoutSettingsPanel(): LayoutSettingsPanel {\n\t\tif (!this._layoutSettingsPanel) {\n\t\t\tthis._layoutSettingsPanel = new LayoutSettingsPanel(`${this.getId()}-layout-settings`);\n\t\t\tthis._layoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._layoutSettingsPanel;\n\t}\n\n\t/**\n\t * Setup of no data container\n\t *\n\t * @private\n\t * @returns {NoDataContainer} No data container\n\t */\n\tprivate getNoDataContainer(): NoDataContainer {\n\t\tif (!this._noDataContainer) {\n\t\t\tthis._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;\n\n\t\t\t// if no data container is already present, use it\n\t\t\tif (!this._noDataContainer) {\n\t\t\t\tthis._customNoDataContainerPresent = false;\n\t\t\t\tthis._noDataContainer = new NoDataContainer(recycleId(`${this.getId()}-noDataContainer`));\n\t\t\t}\n\t\t\tthis._noDataContainer.setVisible(false);\n\t\t}\n\t\treturn this._noDataContainer;\n\t}\n\t/**\n\t * Prepares the layout data.\n\t *\n\t * @private\n\t */\n\tprivate _prepareLayoutData(): void {\n\t\tlet hasVisibleSection = false;\n\t\tconst isLayoutExpanded = this.getProperty(\"expanded\") as boolean;\n\t\tconst aOrderedElements =\n\t\t\tthis._aOrderedSections?.map((element) => Element.getElementById(element.completeId) as BaseContainer) || [];\n\t\tconst aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();\n\t\t// set aelementsMap as elementMap[] | [];\n\t\tconst aElementMap: IElement[] = [];\n\t\taElements.forEach((element: BaseContainer) => {\n\t\t\tif (element !== this.getNoDataContainer()) {\n\t\t\t\tconst sId = element.getId();\n\n\t\t\t\t//if no title set for container , then layout setting should show tooltip as title within the settings dialog\n\t\t\t\tlet title = element.getProperty(\"title\") as string;\n\t\t\t\tif (!title) {\n\t\t\t\t\ttitle = element.getTooltip() as string;\n\t\t\t\t}\n\t\t\t\tconst elementVisible = element.getVisible();\n\t\t\t\tconst elementCustomSettings = element.getCustomSettings();\n\t\t\t\taElementMap.push({\n\t\t\t\t\tcompleteId: sId,\n\t\t\t\t\tsContainerType: element.getMetadata().getName(),\n\t\t\t\t\tblocked: false,\n\t\t\t\t\tvisible: element.getProperty(\"visible\") as boolean,\n\t\t\t\t\ttitle: elementCustomSettings.title || title,\n\t\t\t\t\ttext: elementCustomSettings.text\n\t\t\t\t});\n\t\t\t\tif (elementVisible) {\n\t\t\t\t\thasVisibleSection = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._aOrderedSections = aElementMap;\n\t\tif (!this.getProperty(\"expanded\")) {\n\t\t\tthis.setNoDataContainerVisibility(!hasVisibleSection);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the visibility of the no data container\n\t *\n\t * @private\n\t */\n\tpublic setNoDataContainerVisibility(contentVisible: boolean): void {\n\t\tconst noDataContainer = this.getNoDataContainer();\n\t\tnoDataContainer?.setVisible(contentVisible);\n\t\tif (!this._customNoDataContainerPresent) {\n\t\t\tif (contentVisible) {\n\t\t\t\tthis.insertItem(noDataContainer, 0);\n\t\t\t} else {\n\t\t\t\tthis.removeItem(noDataContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the state of the sections based on the layout's content.\n\t * @private\n\t */\n\tpublic async _calculateSectionsState(): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as SettingsDialog;\n\t\tconst aSettingsPanel = settingsDialog.getPanels();\n\t\tthis._isCustomNews = false;\n\t\taSettingsPanel.forEach((oSettingsPanel: BaseSettingsPanel) => {\n\t\t\tif (oSettingsPanel instanceof NewsSettingsPanel) {\n\t\t\t\tthis._isCustomNews = true;\n\t\t\t}\n\t\t\tif (oSettingsPanel instanceof AdvancedSettingsPanel) {\n\t\t\t\toSettingsPanel.resetImportModel(true);\n\t\t\t}\n\t\t});\n\t\tawait this.setSectionDetails();\n\t}\n\n\t/**\n\t * Sets the section details based on the layout's content.\n\t * @private\n\t */\n\tprivate async setSectionDetails(): Promise<void> {\n\t\tconst elementArray = this.getItems();\n\t\tfor (const element of elementArray) {\n\t\t\tlet bBlocked = false;\n\t\t\tconst sId = element.getId();\n\t\t\t//check news & apps visibility\n\t\t\tif (element instanceof NewsAndPagesContainer && element.getVisible()) {\n\t\t\t\tconst aNewsAndPagesPanel = element.getContent();\n\t\t\t\t//check whether user has access to pages\n\t\t\t\tbBlocked = aNewsAndPagesPanel.length ? await this.checkPagesBlocked(aNewsAndPagesPanel) : false;\n\t\t\t} else if (element instanceof ToDosContainer) {\n\t\t\t\tbBlocked = this.checkToDoBlocked(element);\n\t\t\t}\n\n\t\t\tthis._aOrderedSections?.forEach((oElementItem) => {\n\t\t\t\tif (oElementItem.completeId === sId) {\n\t\t\t\t\toElementItem.blocked = bBlocked;\n\t\t\t\t\toElementItem.visible = element.getVisible();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Check whether My Interest section is blocked or not\n\t * @private\n\t */\n\tprivate async checkPagesBlocked(aNewsAndPagesPanel: BasePanel[]): Promise<boolean> {\n\t\tfor (const oPanel of aNewsAndPagesPanel) {\n\t\t\tif (oPanel instanceof PagePanel) {\n\t\t\t\t// find if user has any pages accessible\n\t\t\t\tconst aPages = (await oPanel.getUserAvailablePages()) || [];\n\t\t\t\tthis._pagesAvailable = aPages.length > 0;\n\t\t\t}\n\t\t}\n\t\t//if user has no available pages and no news feed, then block the section\n\t\tif (!this._pagesAvailable && !this._isCustomNews) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check whether For Me Today section is blocked or not\n\t * @private\n\t */\n\tprivate checkToDoBlocked(toDoContainer: BaseContainer): boolean {\n\t\tif (!toDoContainer.getVisible()) {\n\t\t\tconst panels = toDoContainer.getContent();\n\t\t\tif (panels.length === 0) {\n\t\t\t\tthis._toDoAccessible = false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets up the key user settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupKeyUserSettingsDialog(): void {\n\t\tconst keyUserSettingsDialog = this.getAggregation(\"keyUserSettingsDialog\") as BaseSettingsDialog;\n\t\tif (!keyUserSettingsDialog) {\n\t\t\tconst defaultKeyUserSettingsDialog = new KeyUserSettingsDialog(`${this.getId()}-keyUser-settings-dialog`);\n\n\t\t\t// Add Key User Layout Settings Panel\n\t\t\tconst keyUserLayoutSettingsPanel = new KeyUserLayoutSettingsPanel(`${this.getId()}-keyUser-layout-settings`);\n\t\t\tkeyUserLayoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserLayoutSettingsPanel);\n\n\t\t\t// Add News and Pages Settings Panel If News and Pages Container is available\n\t\t\t(this.getItems() || []).forEach((container: BaseContainer) => {\n\t\t\t\tif (container instanceof NewsAndPagesContainer) {\n\t\t\t\t\tconst keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);\n\t\t\t\t\t// Set any panel of the containet to the settings panel as association\n\t\t\t\t\tkeyUserNewsPagesSettingsPanel.setAssociation(\"panel\", container.getContent()?.[0]);\n\t\t\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserNewsPagesSettingsPanel);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.setAggregation(\"keyUserSettingsDialog\", defaultKeyUserSettingsDialog);\n\t\t}\n\t}\n\n\t/**\n\t * Return the pages availability value\n\t * @private\n\t */\n\tpublic getpagesAvailable(): boolean {\n\t\treturn this._pagesAvailable;\n\t}\n\n\t/**\n\t * Return the To-Dos availability value\n\t * @private\n\t */\n\tpublic isToDoAccessible(): boolean {\n\t\treturn this._toDoAccessible;\n\t}\n\n\t/**\n\t * Return whether customNews available or not\n\t */\n\tpublic customNewAvailable(): boolean {\n\t\treturn this._isCustomNews;\n\t}\n\n\t/**\n\t * Returns the set of sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic getSections(): IElement[] {\n\t\treturn this._aOrderedSections!;\n\t}\n\n\t/**\n\t * Sets the sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic setSections(sections: IElement[]): void {\n\t\tthis._aOrderedSections = sections;\n\t}\n\n\t/**\n\t * Resets the ordered sections of the layout.\n\t *\n\t * @private\n\t */\n\tpublic resetSections(): void {\n\t\tthis._prepareLayoutData();\n\t}\n\n\t/**\n\t * Sets up the content addition dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupContentAdditionDialog(): void {\n\t\tlet contentAdditionDialog = this.getAggregation(\"contentAdditionDialog\") as ContentAdditionDialog;\n\t\tif (!contentAdditionDialog) {\n\t\t\tcontentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);\n\t\t\tthis.setAggregation(\"contentAdditionDialog\", contentAdditionDialog);\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Layout.js","names":["sap","ui","define","Log","Element","S4MyHome","Container","__AdvancedSettingsPanel","__BaseLayout","__BaseLayoutRenderer","__ContentAdditionDialog","__InsightsCardsSettingsPanel","__InsightsTilesSettingsPanel","__KeyUserLayoutSettingsPanel","__KeyUserNewsPagesSettingsPanel","__KeyUserSettingsDialog","__LayoutSettingsPanel","__NewsContainer","__NewsSettingsPanel","__NoDataContainer","__PagePanel","__PageSettingsPanel","__SettingsDialog","__ToDosContainer","___utils_Constants","___utils_DataFormatUtils","___utils_Device","___utils_PerformanceUtils","__PersonalisationUtils","_interopRequireDefault","obj","__esModule","default","_iteratorSymbol","Symbol","iterator","_settle","pact","state","value","s","_Pact","v","o","bind","then","observer","prototype","onFulfilled","onRejected","result","callback","e","_this","_isSettledPact","thenable","_forTo","array","body","check","i","reject","_cycle","length","AdvancedSettingsPanel","_forOf","target","step","next","done","return","_fixup","TypeError","values","push","BaseLayout","_catch","recover","BaseLayoutRenderer","ContentAdditionDialog","InsightsCardsSettingsPanel","InsightsTilesSettingsPanel","KeyUserLayoutSettingsPanel","KeyUserNewsPagesSettingsPanel","KeyUserSettingsDialog","LayoutSettingsPanel","NewsContainer","NewsSettingsPanel","NoDataContainer","PagePanel","PageSettingsPanel","SettingsDialog","ToDosContainer","SETTINGS_PANELS_KEYS","recycleId","calculateDeviceType","DeviceType","setupPerformanceTracking","PersonalisationUtils","Layout","extend","renderer","metadata","designtime","constructor","_constructor","id","settings","BaseLayout.prototype.constructor.call","_shellUserActions","_isDefaultSettingsDialog","_customNoDataContainerPresent","_activeInstance","init","_init","BaseLayout.prototype.init.call","setProperty","_addUserActions","Promise","resolve","_temp3","getVisible","_userActionsAdded","userActions","icon","text","_i18nBundle","getText","tooltip","press","openSettingsDialog","getServiceAsync","extensionService","_temp2","toggleUserActions","event","show","getParameter","forEach","userAction","showOnHome","hideOnHome","attachRouteMatched","_temp","action","createUserAction","controlType","shellUserAction","error","warning","Error","message","_openSettingsDialog","selectedKey","context","_this2","settingsDialog","getAggregation","getPanels","_getSettingsPanels","_addPanelsToSettingsDialog","_calculateSectionsState","BaseLayout.prototype.openSettingsDialog.call","closeSettingsDialog","_closeSettingsDialog","close","onBeforeRendering","_onBeforeRendering","_this3","BaseLayout.prototype.onBeforeRendering.call","_setupSettingsDialog","_setupContentAdditionDialog","persContainerId","getProperty","setPersContainerId","getNoDataContainer","_aOrderedSections","setTimeout","isDestroyStarted","_prepareLayoutData","_setupKeyUserSettingsDialog","allPanels","getItems","container","setAssociation","getContent","panel","panelEnableSettings","undefined","enableSettings","defaultSettingsDialog","_getDefaultSettingsDialog","setSettingsDialog","getId","settingsPanel","_getDefaultSettingsPanel","addPanel","sortedPanels","_sortPanels","removeAllPanels","insertPanel","_getLayoutSettingsPanel","_getAdvancedSettingsPanel","panelClassName","getMetadata","getName","settingsPanels","layoutSettingsPanel","advancedSettingsPanel","indexOf","_addSettingsPanel","panels","Object","keys","map","key","find","filter","Boolean","_advancedSettingsPanel","_layoutSettingsPanel","_getNoDataContainer","_noDataContainer","item","setVisible","hasVisibleSection","isLayoutExpanded","aOrderedElements","element","getElementById","completeId","aElements","aElementMap","isSideBySideLayoutActive","compositeId","hasStyleClass","some","otherElement","deviceType","Mobile","Tablet","sId","title","getTooltip","elementVisible","elementCustomSettings","getCustomSettings","sContainerType","blocked","visible","toggleStyleClass","document","classList","toggle","setNoDataContainerVisibility","_setNoDataContainerVisibility","contentVisible","noDataContainer","insertItem","removeItem","_this4","aSettingsPanel","_isCustomNews","oSettingsPanel","resetImportModel","setSectionDetails","_setSectionDetails","_this5","elementArray","_temp7","_temp6","oElementItem","bBlocked","_temp5","_temp4","_this5$checkPagesBloc","aNewsAndPagesPanel","_aNewsAndPagesPanel$l","checkPagesBlocked","checkToDoBlocked","_checkPagesBlocked","_this6","_temp0","_pagesAvailable","_temp9","oPanel","_temp8","getUserAvailablePages","aPages","_checkToDoBlocked","toDoContainer","_toDoAccessible","keyUserSettingsDialog","defaultKeyUserSettingsDialog","keyUserLayoutSettingsPanel","keyUserNewsPagesSettingsPanel","setAggregation","getpagesAvailable","_getpagesAvailable","isToDoAccessible","_isToDoAccessible","customNewAvailable","_customNewAvailable","getSections","_getSections","setSections","_setSections","sections","resetSections","_resetSections","contentAdditionDialog","onAfterRendering","_onAfterRendering","BaseLayout.prototype.onAfterRendering.call"],"sources":["Layout.ts"],"sourcesContent":["/*!\n * SAP UI development toolkit for HTML5 (SAPUI5)\n * * (c) Copyright 2009-2026 SAP SE. All rights reserved\n */\n\nimport { Event } from \"jquery\";\nimport Log from \"sap/base/Log\";\nimport UI5Event from \"sap/ui/base/Event\";\nimport Element, { MetadataOptions } from \"sap/ui/core/Element\";\nimport S4MyHome from \"sap/ushell/api/S4MyHome\";\nimport Container from \"sap/ushell/Container\";\nimport Extension from \"sap/ushell/services/Extension\";\nimport Item from \"sap/ushell/services/Extension/Item\";\nimport AdvancedSettingsPanel from \"./AdvancedSettingsPanel\";\nimport BaseContainer from \"./BaseContainer\";\nimport type { $BaseLayoutSettings } from \"./BaseLayout\";\nimport BaseLayout from \"./BaseLayout\";\nimport BaseLayoutRenderer from \"./BaseLayoutRenderer\";\nimport BasePanel from \"./BasePanel\";\nimport BaseSettingsDialog from \"./BaseSettingsDialog\";\nimport BaseSettingsPanel from \"./BaseSettingsPanel\";\nimport ContentAdditionDialog from \"./ContentAdditionDialog\";\nimport InsightsCardsSettingsPanel from \"./InsightsCardsSettingsPanel\";\nimport InsightsTilesSettingsPanel from \"./InsightsTilesSettingsPanel\";\nimport KeyUserLayoutSettingsPanel from \"./KeyUserLayoutSettingsPanel\";\nimport KeyUserNewsPagesSettingsPanel from \"./KeyUserNewsPagesSettingsPanel\";\nimport KeyUserSettingsDialog from \"./KeyUserSettingsDialog\";\nimport LayoutSettingsPanel from \"./LayoutSettingsPanel\";\nimport NewsContainer from \"./NewsContainer\";\nimport NewsSettingsPanel from \"./NewsSettingsPanel\";\nimport NoDataContainer from \"./NoDataContainer\";\nimport PagePanel from \"./PagePanel\";\nimport PageSettingsPanel from \"./PageSettingsPanel\";\nimport SettingsDialog from \"./SettingsDialog\";\nimport ToDosContainer from \"./ToDosContainer\";\nimport { SETTINGS_PANELS_KEYS } from \"./utils/Constants\";\nimport { recycleId } from \"./utils/DataFormatUtils\";\nimport { calculateDeviceType, DeviceType } from \"./utils/Device\";\nimport { setupPerformanceTracking } from \"./utils/PerformanceUtils\";\nimport PersonalisationUtils from \"./utils/PersonalisationUtils\";\n\ninterface IElement {\n\tcompleteId: string;\n\tsContainerType: string;\n\tblocked: boolean;\n\tvisible: boolean;\n\ttitle: string;\n\ttext: string;\n}\n\nexport interface UserActionProperties {\n\ticon: string;\n\ttext: string;\n\ttooltip: string;\n\tpress: () => void;\n}\n\n/**\n *\n * Layout class for the My Home layout.\n *\n * @extends BaseLayout\n *\n * @author SAP SE\n * @version 0.0.1\n * @since 1.121\n *\n * @private\n * @ui5-restricted ux.eng.s4producthomes1\n *\n * @alias sap.cux.home.Layout\n */\nexport default class Layout extends BaseLayout {\n\tprivate _layoutSettingsPanel!: LayoutSettingsPanel;\n\tprivate _advancedSettingsPanel!: AdvancedSettingsPanel;\n\tprivate _isCustomNews!: boolean;\n\tprivate _pagesAvailable!: boolean;\n\tprivate _toDoAccessible!: boolean;\n\tprivate _aOrderedSections!: IElement[] | undefined;\n\tprivate _noDataContainer!: NoDataContainer;\n\tprivate _shellUserActions: Item[] = [];\n\tprivate static _userActionsAdded: boolean = false;\n\tprivate _isDefaultSettingsDialog: boolean = false;\n\tprivate _customNoDataContainerPresent: boolean = true;\n\tprivate static _activeInstance: Layout | null = null;\n\n\tstatic readonly metadata: MetadataOptions = {\n\t\tdesigntime: \"sap/cux/home/designtime/Layout.designtime\"\n\t};\n\tstatic renderer: typeof BaseLayoutRenderer = BaseLayoutRenderer;\n\n\t/**\n\t * Constructor for a new layout.\n\t *\n\t * @param {string} [id] ID for the new control, generated automatically if an ID is not provided\n\t * @param {object} [settings] Initial settings for the new control\n\t */\n\tpublic constructor(id?: string, settings?: $BaseLayoutSettings) {\n\t\tsuper(id, settings);\n\t\tLayout._activeInstance = this; // mark the last created instance\n\t}\n\n\t/**\n\t * Init lifecycle method\n\t *\n\t * @private\n\t * @async\n\t * @override\n\t */\n\tpublic init(): void {\n\t\tsuper.init();\n\n\t\t//setup layout\n\t\tthis.setProperty(\"enableSettings\", true);\n\t\tthis.setProperty(\"enableFullScreen\", true);\n\t}\n\n\t/**\n\t * Adds all user actions to the Fiori launchpad.\n\t *\n\t * @private\n\t */\n\tprivate async _addUserActions() {\n\t\ttry {\n\t\t\tif (this.getVisible() && !Layout._userActionsAdded) {\n\t\t\t\tLayout._userActionsAdded = true;\n\n\t\t\t\t// Configure User Actions\n\t\t\t\tconst userActions: UserActionProperties[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\ticon: \"sap-icon://edit\",\n\t\t\t\t\t\ttext: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\ttooltip: this._i18nBundle.getText(\"myHomeSettings\") as string,\n\t\t\t\t\t\tpress: () => {\n\t\t\t\t\t\t\tvoid Layout._activeInstance?.openSettingsDialog();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\t// Attach User Actions\n\t\t\t\tconst extensionService = await Container.getServiceAsync<Extension>(\"Extension\");\n\t\t\t\tfor (let action of userActions) {\n\t\t\t\t\tconst shellUserAction = await extensionService.createUserAction(action, {\n\t\t\t\t\t\tcontrolType: \"sap.ushell.ui.launchpad.ActionItem\"\n\t\t\t\t\t});\n\t\t\t\t\tshellUserAction.showOnHome();\n\t\t\t\t\tthis._shellUserActions.push(shellUserAction);\n\t\t\t\t}\n\n\t\t\t\t// Toggle User Actions on Page Change\n\t\t\t\tconst toggleUserActions = (event: UI5Event<{ isMyHomeRoute: boolean }>) => {\n\t\t\t\t\tconst show = event.getParameter(\"isMyHomeRoute\");\n\t\t\t\t\tthis._shellUserActions.forEach(function (userAction) {\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tuserAction.showOnHome();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuserAction.hideOnHome();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tS4MyHome.attachRouteMatched({}, toggleUserActions, this);\n\t\t\t}\n\t\t} catch (error: unknown) {\n\t\t\tLog.warning(\"Unable to add User Actions\", error instanceof Error ? error.message : \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Opens the settings dialog for the layout.\n\t * Overriden from the BaseLayout to ensure of all panels\n\t * to the dialog if not already added.\n\t *\n\t * @private\n\t * @param {string} selectedKey The key of the panel to navigate to\n\t * @override\n\t */\n\tpublic async openSettingsDialog(selectedKey: string = \"\", context?: object): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tif (settingsDialog.getPanels().length !== this._getSettingsPanels().length) {\n\t\t\tthis._addPanelsToSettingsDialog();\n\t\t}\n\t\tawait this._calculateSectionsState();\n\n\t\tsuper.openSettingsDialog(selectedKey, context);\n\t}\n\n\t/**\n\t * Close Settings Dialog\n\t *\n\t * @private\n\t *\n\t */\n\tpublic closeSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\t\tsettingsDialog?.close();\n\t}\n\n\t/**\n\t * onBeforeRendering lifecycle method\n\t *\n\t * @private\n\t * @override\n\t */\n\tpublic async onBeforeRendering(event: Event): Promise<void> {\n\t\tsuper.onBeforeRendering(event);\n\n\t\t//setup common layout features\n\t\tthis._setupSettingsDialog();\n\n\t\t//setup content addition dialog\n\t\tthis._setupContentAdditionDialog();\n\n\t\t// If PersContainerId provided set to PersonalisationUtils\n\t\tconst persContainerId = this.getProperty(\"persContainerId\") as string;\n\t\tif (persContainerId) {\n\t\t\tPersonalisationUtils.setPersContainerId(persContainerId);\n\t\t}\n\t\tthis.getNoDataContainer();\n\t\t//prepare layout data, if not already done\n\t\tif (!this._aOrderedSections) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!this.isDestroyStarted()) {\n\t\t\t\t\tthis._prepareLayoutData();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Setup KeyUserPersonalization\n\t\tthis._setupKeyUserSettingsDialog();\n\n\t\t// Initialize Performance Metrics\n\t\tawait setupPerformanceTracking(this);\n\n\t\t//configure user action button if the layout is in an ushell environment\n\t\tawait this._addUserActions();\n\t}\n\n\t/**\n\t * Sets up the settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupSettingsDialog(): void {\n\t\tconst allPanels: BasePanel[] = [];\n\t\t(this.getItems() || []).forEach((container) => {\n\t\t\t//link container to layout\n\t\t\tcontainer.setAssociation(\"layout\", this);\n\n\t\t\t//enable settings for all panels\n\t\t\tcontainer.getContent().forEach((panel) => {\n\t\t\t\tallPanels.push(panel);\n\t\t\t\tconst panelEnableSettings = panel.getProperty(\"enableSettings\") as boolean;\n\t\t\t\tpanel.setProperty(\"enableSettings\", panelEnableSettings !== undefined ? panelEnableSettings : true);\n\t\t\t});\n\t\t});\n\n\t\tconst enableSettings = this.getProperty(\"enableSettings\") as boolean;\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog | undefined;\n\t\tif (!settingsDialog) {\n\t\t\tthis._isDefaultSettingsDialog = true;\n\n\t\t\t// If settings dialog is not provided and settings is enabled, create a default settings dialog\n\t\t\tif (enableSettings) {\n\t\t\t\tconst defaultSettingsDialog = this._getDefaultSettingsDialog(allPanels);\n\t\t\t\tthis.setSettingsDialog(defaultSettingsDialog);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get default settings dialog\n\t * @private\n\t * @returns {BaseSettingsDialog} Default settings dialog\n\t */\n\tprivate _getDefaultSettingsDialog(allPanels: BasePanel[]): BaseSettingsDialog {\n\t\tconst defaultSettingsDialog = new SettingsDialog(`${this.getId()}-settings-dialog`);\n\n\t\tallPanels.forEach((panel) => {\n\t\t\tconst settingsPanel = this._getDefaultSettingsPanel(panel);\n\t\t\tif (settingsPanel) {\n\t\t\t\tdefaultSettingsDialog.addPanel(settingsPanel);\n\t\t\t}\n\t\t});\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(defaultSettingsDialog.getPanels());\n\t\tdefaultSettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => defaultSettingsDialog.addPanel(panel));\n\n\t\tdefaultSettingsDialog.insertPanel(this._getLayoutSettingsPanel(), 0);\n\t\tdefaultSettingsDialog.addPanel(this._getAdvancedSettingsPanel());\n\n\t\treturn defaultSettingsDialog;\n\t}\n\n\t/**\n\t * Get default Settings Panel\n\t *\n\t * @private\n\t */\n\n\tprivate _getDefaultSettingsPanel(panel: BasePanel): BaseSettingsPanel | undefined {\n\t\tlet settingsPanel: BaseSettingsPanel | undefined;\n\t\tconst panelClassName = panel.getMetadata().getName();\n\t\tswitch (panelClassName) {\n\t\t\tcase \"sap.cux.home.NewsPanel\":\n\t\t\t\tsettingsPanel = new NewsSettingsPanel(`${panel.getId()}-news-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.PagePanel\":\n\t\t\t\tsettingsPanel = new PageSettingsPanel(`${panel.getId()}-page-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.TilesPanel\":\n\t\t\t\tsettingsPanel = new InsightsTilesSettingsPanel(`${panel.getId()}-tiles-settings`);\n\t\t\t\tbreak;\n\t\t\tcase \"sap.cux.home.CardsPanel\":\n\t\t\t\tsettingsPanel = new InsightsCardsSettingsPanel(`${panel.getId()}-cards-settings`);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\tsettingsPanel?.setAssociation(\"panel\", panel);\n\t\treturn settingsPanel;\n\t}\n\n\t/**\n\t * Adds all settings panels to the settings dialog, including\n\t * the layout settings panel and advanced settings panel.\n\t *\n\t * @private\n\t */\n\tprivate _addPanelsToSettingsDialog(): void {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as BaseSettingsDialog;\n\n\t\t//sort all panels and add them to the settings dialog\n\t\tconst sortedPanels = this._sortPanels(settingsDialog.getPanels());\n\t\tsettingsDialog.removeAllPanels();\n\t\tsortedPanels.forEach((panel) => settingsDialog.addPanel(panel));\n\n\t\t// Layout Settings should be displayed only if no settings dialog is provided\n\t\tif (this._isDefaultSettingsDialog) {\n\t\t\tconst settingsPanels = settingsDialog.getPanels();\n\t\t\tconst layoutSettingsPanel = this._getLayoutSettingsPanel();\n\t\t\tconst advancedSettingsPanel = this._getAdvancedSettingsPanel();\n\n\t\t\tif (settingsPanels.indexOf(layoutSettingsPanel) !== 0) {\n\t\t\t\tsettingsDialog.insertPanel(layoutSettingsPanel, 0);\n\t\t\t}\n\n\t\t\tif (settingsPanels.indexOf(advancedSettingsPanel) !== settingsPanels.length - 1) {\n\t\t\t\tsettingsDialog.addPanel(advancedSettingsPanel);\n\t\t\t}\n\t\t}\n\n\t\tthis._addSettingsPanel(settingsDialog.getPanels(), true);\n\t}\n\n\t/**\n\t * Sorts settings panels based on a predefined order.\n\t *\n\t * @private\n\t * @returns {BaseSettingsPanel[]} Sorted settings panels.\n\t */\n\tprivate _sortPanels(panels: BaseSettingsPanel[]): BaseSettingsPanel[] {\n\t\treturn Object.keys(SETTINGS_PANELS_KEYS)\n\t\t\t.map((key) => panels.find((panel) => panel?.getProperty(\"key\") === key))\n\t\t\t.filter(Boolean) as BaseSettingsPanel[];\n\t}\n\n\t/**\n\t * Retrieves the advanced settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {AdvancedSettingsPanel} The advanced settings panel.\n\t */\n\tprivate _getAdvancedSettingsPanel(): AdvancedSettingsPanel {\n\t\tif (!this._advancedSettingsPanel) {\n\t\t\tthis._advancedSettingsPanel = new AdvancedSettingsPanel(`${this.getId()}-advanced-settings`);\n\t\t\tthis._advancedSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._advancedSettingsPanel;\n\t}\n\n\t/**\n\t * Retrieves the layout settings panel associated with the layout.\n\t *\n\t * @private\n\t * @returns {LayoutSettingsPanel} The layout settings panel.\n\t */\n\tprivate _getLayoutSettingsPanel(): LayoutSettingsPanel {\n\t\tif (!this._layoutSettingsPanel) {\n\t\t\tthis._layoutSettingsPanel = new LayoutSettingsPanel(`${this.getId()}-layout-settings`);\n\t\t\tthis._layoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t}\n\n\t\treturn this._layoutSettingsPanel;\n\t}\n\n\t/**\n\t * Setup of no data container\n\t *\n\t * @private\n\t * @returns {NoDataContainer} No data container\n\t */\n\tprivate getNoDataContainer(): NoDataContainer {\n\t\tif (!this._noDataContainer) {\n\t\t\tthis._noDataContainer = this.getItems().find((item) => item instanceof NoDataContainer) as NoDataContainer;\n\n\t\t\t// if no data container is already present, use it\n\t\t\tif (!this._noDataContainer) {\n\t\t\t\tthis._customNoDataContainerPresent = false;\n\t\t\t\tthis._noDataContainer = new NoDataContainer(recycleId(`${this.getId()}-noDataContainer`));\n\t\t\t}\n\t\t\tthis._noDataContainer.setVisible(false);\n\t\t}\n\t\treturn this._noDataContainer;\n\t}\n\t/**\n\t * Prepares the layout data.\n\t *\n\t * @private\n\t */\n\tprivate _prepareLayoutData(): void {\n\t\tlet hasVisibleSection = false;\n\t\tconst isLayoutExpanded = this.getProperty(\"expanded\") as boolean;\n\t\tconst aOrderedElements =\n\t\t\tthis._aOrderedSections?.map((element) => Element.getElementById(element.completeId) as BaseContainer) || [];\n\t\tconst aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();\n\t\t// set aelementsMap as elementMap[] | [];\n\t\tconst aElementMap: IElement[] = [];\n\n\t\t/**\n\t\t * if both containers are present and visible, and device is desktop and larger,\n\t\t * then add class for side by side layout flag to check if side by side layout class is applied\n\t\t */\n\t\tlet isSideBySideLayoutActive = false;\n\t\taElements.forEach((element: BaseContainer) => {\n\t\t\tconst compositeId = element.getProperty(\"compositeId\") as string | null;\n\t\t\t/**\n\t\t\t * if the element's composite id same with anyother element and both are visible,\n\t\t\t * then only make isSideBySideLayoutActive true for device which are not desktop or tablet\n\t\t\t */\n\t\t\tif (\n\t\t\t\tcompositeId &&\n\t\t\t\telement.hasStyleClass(`${compositeId}`) &&\n\t\t\t\taElements.some(\n\t\t\t\t\t(otherElement) =>\n\t\t\t\t\t\totherElement !== element &&\n\t\t\t\t\t\totherElement.getProperty(\"compositeId\") === compositeId &&\n\t\t\t\t\t\totherElement.getVisible() &&\n\t\t\t\t\t\telement.getVisible()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst deviceType = calculateDeviceType();\n\t\t\t\t//devices which are mobile or tablet should not get side by side layout\n\t\t\t\tif (!(deviceType === DeviceType.Mobile || deviceType === DeviceType.Tablet)) {\n\t\t\t\t\tisSideBySideLayoutActive = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisSideBySideLayoutActive = isSideBySideLayoutActive ? true : false;\n\t\t\t}\n\t\t\t// Exclude NoDataContainer from the sections list\n\t\t\tif (element !== this.getNoDataContainer()) {\n\t\t\t\tconst sId = element.getId();\n\n\t\t\t\t//if no title set for container , then layout setting should show tooltip as title within the settings dialog\n\t\t\t\tlet title = element.getProperty(\"title\") as string;\n\t\t\t\tif (!title) {\n\t\t\t\t\ttitle = element.getTooltip() as string;\n\t\t\t\t}\n\t\t\t\tconst elementVisible = element.getVisible();\n\t\t\t\tconst elementCustomSettings = element.getCustomSettings();\n\t\t\t\taElementMap.push({\n\t\t\t\t\tcompleteId: sId,\n\t\t\t\t\tsContainerType: element.getMetadata().getName(),\n\t\t\t\t\tblocked: false,\n\t\t\t\t\tvisible: element.getProperty(\"visible\") as boolean,\n\t\t\t\t\ttitle: elementCustomSettings.title || title,\n\t\t\t\t\ttext: elementCustomSettings.text\n\t\t\t\t});\n\t\t\t\tif (elementVisible) {\n\t\t\t\t\thasVisibleSection = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.toggleStyleClass(\"sapCuxLayoutFlexItems\", isSideBySideLayoutActive);\n\t\tconst container = document.getElementById(`${this.getId()}-layout-container`);\n\t\tif (container) {\n\t\t\tcontainer.classList.toggle(\"sapCuxLayoutFlexItems\", isSideBySideLayoutActive);\n\t\t}\n\n\t\tthis._aOrderedSections = aElementMap;\n\t\tif (!this.getProperty(\"expanded\")) {\n\t\t\tthis.setNoDataContainerVisibility(!hasVisibleSection);\n\t\t}\n\t}\n\n\t/**\n\t * Sets the visibility of the no data container\n\t *\n\t * @private\n\t */\n\tpublic setNoDataContainerVisibility(contentVisible: boolean): void {\n\t\tconst noDataContainer = this.getNoDataContainer();\n\t\tnoDataContainer?.setVisible(contentVisible);\n\t\tif (!this._customNoDataContainerPresent) {\n\t\t\tif (contentVisible) {\n\t\t\t\tthis.insertItem(noDataContainer, 0);\n\t\t\t} else {\n\t\t\t\tthis.removeItem(noDataContainer);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Calculates the state of the sections based on the layout's content.\n\t * @private\n\t */\n\tpublic async _calculateSectionsState(): Promise<void> {\n\t\tconst settingsDialog = this.getAggregation(\"settingsDialog\") as SettingsDialog;\n\t\tconst aSettingsPanel = settingsDialog.getPanels();\n\t\tthis._isCustomNews = false;\n\t\taSettingsPanel.forEach((oSettingsPanel: BaseSettingsPanel) => {\n\t\t\tif (oSettingsPanel instanceof NewsSettingsPanel) {\n\t\t\t\tthis._isCustomNews = true;\n\t\t\t}\n\t\t\tif (oSettingsPanel instanceof AdvancedSettingsPanel) {\n\t\t\t\toSettingsPanel.resetImportModel(true);\n\t\t\t}\n\t\t});\n\t\tawait this.setSectionDetails();\n\t}\n\n\t/**\n\t * Sets the section details based on the layout's content.\n\t * @private\n\t */\n\tprivate async setSectionDetails(): Promise<void> {\n\t\tconst elementArray = this.getItems();\n\t\tfor (const element of elementArray) {\n\t\t\tlet bBlocked = false;\n\t\t\tconst sId = element.getId();\n\t\t\t//check news & apps visibility\n\t\t\tif (element instanceof NewsContainer && element.getVisible()) {\n\t\t\t\tconst aNewsAndPagesPanel = element.getContent();\n\t\t\t\t//check whether user has access to pages\n\t\t\t\tbBlocked = aNewsAndPagesPanel.length ? await this.checkPagesBlocked(aNewsAndPagesPanel) : false;\n\t\t\t} else if (element instanceof ToDosContainer) {\n\t\t\t\tbBlocked = this.checkToDoBlocked(element);\n\t\t\t}\n\n\t\t\tthis._aOrderedSections?.forEach((oElementItem) => {\n\t\t\t\tif (oElementItem.completeId === sId) {\n\t\t\t\t\toElementItem.blocked = bBlocked;\n\t\t\t\t\toElementItem.visible = element.getVisible();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Check whether My Interest section is blocked or not\n\t * @private\n\t */\n\tprivate async checkPagesBlocked(aNewsAndPagesPanel: BasePanel[]): Promise<boolean> {\n\t\tfor (const oPanel of aNewsAndPagesPanel) {\n\t\t\tif (oPanel instanceof PagePanel) {\n\t\t\t\t// find if user has any pages accessible\n\t\t\t\tconst aPages = (await oPanel.getUserAvailablePages()) || [];\n\t\t\t\tthis._pagesAvailable = aPages.length > 0;\n\t\t\t}\n\t\t}\n\t\t//if user has no available pages and no news feed, then block the section\n\t\tif (!this._pagesAvailable && !this._isCustomNews) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Check whether For Me Today section is blocked or not\n\t * @private\n\t */\n\tprivate checkToDoBlocked(toDoContainer: BaseContainer): boolean {\n\t\tif (!toDoContainer.getVisible()) {\n\t\t\tconst panels = toDoContainer.getContent();\n\t\t\tif (panels.length === 0) {\n\t\t\t\tthis._toDoAccessible = false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Sets up the key user settings dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupKeyUserSettingsDialog(): void {\n\t\tconst keyUserSettingsDialog = this.getAggregation(\"keyUserSettingsDialog\") as BaseSettingsDialog;\n\t\tif (!keyUserSettingsDialog) {\n\t\t\tconst defaultKeyUserSettingsDialog = new KeyUserSettingsDialog(`${this.getId()}-keyUser-settings-dialog`);\n\n\t\t\t// Add Key User Layout Settings Panel\n\t\t\tconst keyUserLayoutSettingsPanel = new KeyUserLayoutSettingsPanel(`${this.getId()}-keyUser-layout-settings`);\n\t\t\tkeyUserLayoutSettingsPanel.setAssociation(\"panel\", this);\n\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserLayoutSettingsPanel);\n\n\t\t\t// Add News and Pages Settings Panel If News and Pages Container is available\n\t\t\t(this.getItems() || []).forEach((container: BaseContainer) => {\n\t\t\t\tif (container instanceof NewsContainer) {\n\t\t\t\t\tconst keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);\n\t\t\t\t\t// Set any panel of the containet to the settings panel as association\n\t\t\t\t\tkeyUserNewsPagesSettingsPanel.setAssociation(\"panel\", container.getContent()?.[0]);\n\t\t\t\t\tdefaultKeyUserSettingsDialog.addPanel(keyUserNewsPagesSettingsPanel);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.setAggregation(\"keyUserSettingsDialog\", defaultKeyUserSettingsDialog);\n\t\t}\n\t}\n\n\t/**\n\t * Return the pages availability value\n\t * @private\n\t */\n\tpublic getpagesAvailable(): boolean {\n\t\treturn this._pagesAvailable;\n\t}\n\n\t/**\n\t * Return the To-Dos availability value\n\t * @private\n\t */\n\tpublic isToDoAccessible(): boolean {\n\t\treturn this._toDoAccessible;\n\t}\n\n\t/**\n\t * Return whether customNews available or not\n\t */\n\tpublic customNewAvailable(): boolean {\n\t\treturn this._isCustomNews;\n\t}\n\n\t/**\n\t * Returns the set of sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic getSections(): IElement[] {\n\t\treturn this._aOrderedSections!;\n\t}\n\n\t/**\n\t * Sets the sections present within the layout\n\t *\n\t * @private\n\t */\n\tpublic setSections(sections: IElement[]): void {\n\t\tthis._aOrderedSections = sections;\n\t}\n\n\t/**\n\t * Resets the ordered sections of the layout.\n\t *\n\t * @private\n\t */\n\tpublic resetSections(): void {\n\t\tthis._prepareLayoutData();\n\t}\n\n\t/**\n\t * Sets up the content addition dialog for the layout.\n\t *\n\t * @private\n\t */\n\tprivate _setupContentAdditionDialog(): void {\n\t\tlet contentAdditionDialog = this.getAggregation(\"contentAdditionDialog\") as ContentAdditionDialog;\n\t\tif (!contentAdditionDialog) {\n\t\t\tcontentAdditionDialog = new ContentAdditionDialog(`${this.getId()}-content-addition-dialog`);\n\t\t\tthis.setAggregation(\"contentAdditionDialog\", contentAdditionDialog);\n\t\t}\n\t}\n\n\tpublic onAfterRendering(): void {\n\t\tsuper.onAfterRendering();\n\t\tif (!this._aOrderedSections) {\n\t\t\tthis._prepareLayoutData();\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
 
6
6
  import { Event } from "jquery";
@@ -26,7 +26,7 @@ import KeyUserLayoutSettingsPanel from "./KeyUserLayoutSettingsPanel";
26
26
  import KeyUserNewsPagesSettingsPanel from "./KeyUserNewsPagesSettingsPanel";
27
27
  import KeyUserSettingsDialog from "./KeyUserSettingsDialog";
28
28
  import LayoutSettingsPanel from "./LayoutSettingsPanel";
29
- import NewsAndPagesContainer from "./NewsAndPagesContainer";
29
+ import NewsContainer from "./NewsContainer";
30
30
  import NewsSettingsPanel from "./NewsSettingsPanel";
31
31
  import NoDataContainer from "./NoDataContainer";
32
32
  import PagePanel from "./PagePanel";
@@ -35,6 +35,7 @@ import SettingsDialog from "./SettingsDialog";
35
35
  import ToDosContainer from "./ToDosContainer";
36
36
  import { SETTINGS_PANELS_KEYS } from "./utils/Constants";
37
37
  import { recycleId } from "./utils/DataFormatUtils";
38
+ import { calculateDeviceType, DeviceType } from "./utils/Device";
38
39
  import { setupPerformanceTracking } from "./utils/PerformanceUtils";
39
40
  import PersonalisationUtils from "./utils/PersonalisationUtils";
40
41
 
@@ -78,9 +79,10 @@ export default class Layout extends BaseLayout {
78
79
  private _aOrderedSections!: IElement[] | undefined;
79
80
  private _noDataContainer!: NoDataContainer;
80
81
  private _shellUserActions: Item[] = [];
81
- private _userActionsAdded!: boolean;
82
+ private static _userActionsAdded: boolean = false;
82
83
  private _isDefaultSettingsDialog: boolean = false;
83
84
  private _customNoDataContainerPresent: boolean = true;
85
+ private static _activeInstance: Layout | null = null;
84
86
 
85
87
  static readonly metadata: MetadataOptions = {
86
88
  designtime: "sap/cux/home/designtime/Layout.designtime"
@@ -95,6 +97,7 @@ export default class Layout extends BaseLayout {
95
97
  */
96
98
  public constructor(id?: string, settings?: $BaseLayoutSettings) {
97
99
  super(id, settings);
100
+ Layout._activeInstance = this; // mark the last created instance
98
101
  }
99
102
 
100
103
  /**
@@ -119,8 +122,8 @@ export default class Layout extends BaseLayout {
119
122
  */
120
123
  private async _addUserActions() {
121
124
  try {
122
- if (this.getVisible() && !this._userActionsAdded) {
123
- this._userActionsAdded = true;
125
+ if (this.getVisible() && !Layout._userActionsAdded) {
126
+ Layout._userActionsAdded = true;
124
127
 
125
128
  // Configure User Actions
126
129
  const userActions: UserActionProperties[] = [
@@ -129,7 +132,7 @@ export default class Layout extends BaseLayout {
129
132
  text: this._i18nBundle.getText("myHomeSettings") as string,
130
133
  tooltip: this._i18nBundle.getText("myHomeSettings") as string,
131
134
  press: () => {
132
- void this.openSettingsDialog();
135
+ void Layout._activeInstance?.openSettingsDialog();
133
136
  }
134
137
  }
135
138
  ];
@@ -215,7 +218,11 @@ export default class Layout extends BaseLayout {
215
218
  this.getNoDataContainer();
216
219
  //prepare layout data, if not already done
217
220
  if (!this._aOrderedSections) {
218
- setTimeout(this._prepareLayoutData.bind(this));
221
+ setTimeout(() => {
222
+ if (!this.isDestroyStarted()) {
223
+ this._prepareLayoutData();
224
+ }
225
+ });
219
226
  }
220
227
 
221
228
  // Setup KeyUserPersonalization
@@ -421,7 +428,38 @@ export default class Layout extends BaseLayout {
421
428
  const aElements = isLayoutExpanded && aOrderedElements.length ? aOrderedElements : this.getItems();
422
429
  // set aelementsMap as elementMap[] | [];
423
430
  const aElementMap: IElement[] = [];
431
+
432
+ /**
433
+ * if both containers are present and visible, and device is desktop and larger,
434
+ * then add class for side by side layout flag to check if side by side layout class is applied
435
+ */
436
+ let isSideBySideLayoutActive = false;
424
437
  aElements.forEach((element: BaseContainer) => {
438
+ const compositeId = element.getProperty("compositeId") as string | null;
439
+ /**
440
+ * if the element's composite id same with anyother element and both are visible,
441
+ * then only make isSideBySideLayoutActive true for device which are not desktop or tablet
442
+ */
443
+ if (
444
+ compositeId &&
445
+ element.hasStyleClass(`${compositeId}`) &&
446
+ aElements.some(
447
+ (otherElement) =>
448
+ otherElement !== element &&
449
+ otherElement.getProperty("compositeId") === compositeId &&
450
+ otherElement.getVisible() &&
451
+ element.getVisible()
452
+ )
453
+ ) {
454
+ const deviceType = calculateDeviceType();
455
+ //devices which are mobile or tablet should not get side by side layout
456
+ if (!(deviceType === DeviceType.Mobile || deviceType === DeviceType.Tablet)) {
457
+ isSideBySideLayoutActive = true;
458
+ }
459
+ } else {
460
+ isSideBySideLayoutActive = isSideBySideLayoutActive ? true : false;
461
+ }
462
+ // Exclude NoDataContainer from the sections list
425
463
  if (element !== this.getNoDataContainer()) {
426
464
  const sId = element.getId();
427
465
 
@@ -446,6 +484,12 @@ export default class Layout extends BaseLayout {
446
484
  }
447
485
  });
448
486
 
487
+ this.toggleStyleClass("sapCuxLayoutFlexItems", isSideBySideLayoutActive);
488
+ const container = document.getElementById(`${this.getId()}-layout-container`);
489
+ if (container) {
490
+ container.classList.toggle("sapCuxLayoutFlexItems", isSideBySideLayoutActive);
491
+ }
492
+
449
493
  this._aOrderedSections = aElementMap;
450
494
  if (!this.getProperty("expanded")) {
451
495
  this.setNoDataContainerVisibility(!hasVisibleSection);
@@ -498,7 +542,7 @@ export default class Layout extends BaseLayout {
498
542
  let bBlocked = false;
499
543
  const sId = element.getId();
500
544
  //check news & apps visibility
501
- if (element instanceof NewsAndPagesContainer && element.getVisible()) {
545
+ if (element instanceof NewsContainer && element.getVisible()) {
502
546
  const aNewsAndPagesPanel = element.getContent();
503
547
  //check whether user has access to pages
504
548
  bBlocked = aNewsAndPagesPanel.length ? await this.checkPagesBlocked(aNewsAndPagesPanel) : false;
@@ -566,7 +610,7 @@ export default class Layout extends BaseLayout {
566
610
 
567
611
  // Add News and Pages Settings Panel If News and Pages Container is available
568
612
  (this.getItems() || []).forEach((container: BaseContainer) => {
569
- if (container instanceof NewsAndPagesContainer) {
613
+ if (container instanceof NewsContainer) {
570
614
  const keyUserNewsPagesSettingsPanel = new KeyUserNewsPagesSettingsPanel(`${this.getId()}-keyUser-news-pages-settings`);
571
615
  // Set any panel of the containet to the settings panel as association
572
616
  keyUserNewsPagesSettingsPanel.setAssociation("panel", container.getContent()?.[0]);
@@ -640,4 +684,11 @@ export default class Layout extends BaseLayout {
640
684
  this.setAggregation("contentAdditionDialog", contentAdditionDialog);
641
685
  }
642
686
  }
687
+
688
+ public onAfterRendering(): void {
689
+ super.onAfterRendering();
690
+ if (!this._aOrderedSections) {
691
+ this._prepareLayoutData();
692
+ }
693
+ }
643
694
  }
@@ -50,12 +50,22 @@ declare module "sap/cux/home/LayoutSettingsPanel" {
50
50
  * @returns {void}
51
51
  */
52
52
  private _switchToCollapsedViewIfRequired;
53
+ private _updateOrderedSections;
53
54
  /**
54
55
  * Method to load the sections
55
56
  *
56
57
  * @private
57
58
  */
58
59
  private _loadSections;
60
+ private addToCompositeItem;
61
+ private getLayoutListItem;
62
+ private getCompositeLayoutListItem;
63
+ /**
64
+ * Reduces the ordered sections by flattening composite items.
65
+ * @private
66
+ * @returns {IElement[]} The reduced list of ordered sections.
67
+ */
68
+ private _reduceOrderedSections;
59
69
  /**
60
70
  * Rearranges the layout elements if their order has changed.
61
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAS/F;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;QA2BtC;;;;;;WAMG;QACH,OAAO,CAAC,gCAAgC;QAYxC;;;;WAIG;gBACW,aAAa;QA6E3B;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAkBlC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAiBnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAcvB;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAkBtB;;;;WAIG;gBACW,yBAAyB;QAevC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;QAgC3B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAgBvB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAgBhC;;;;WAIG;gBACW,oBAAoB;QAuDlC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;KAmC3B;CAEA"}
1
+ {"version":3,"file":"LayoutSettingsPanel.d.ts","sourceRoot":"../../../../..","sources":["src/sap/cux/home/LayoutSettingsPanel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAOlD,OAAO,cAAc,MAAM,8BAA8B,CAAC;IAa1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;IAS3D,OAAO,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;IAU/F;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,iBAAiB;QACjE,OAAO,CAAC,YAAY,CAAS;QACtB,WAAW,EAAG,cAAc,CAAC;QACpC,OAAO,CAAC,gBAAgB,CAAc;QACtC,OAAO,CAAC,sBAAsB,CAAwB;QACtD,OAAO,CAAC,aAAa,CAAa;QAClC,OAAO,CAAC,kBAAkB,CAAmB;QAC7C,OAAO,CAAC,0BAA0B,CAAkB;QACpD,OAAO,CAAC,kBAAkB,CAAU;QACpC,OAAO,CAAC,iBAAiB,CAAiB;oBAE9B,EAAE,CAAC,EAAE,MAAM,GAAG,0BAA0B;oBACxC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,0BAA0B;QAK9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAEvC;QAEF;;;;;WAKG;QACI,IAAI,IAAI,IAAI;QAqBnB;;;;;WAKG;gBACW,wBAAwB;QA8CtC;;;;;;WAMG;QACH,OAAO,CAAC,gCAAgC;QAqBxC,OAAO,CAAC,sBAAsB;QAmD9B;;;;WAIG;gBACW,aAAa;QA2C3B,OAAO,CAAC,kBAAkB;QAiB1B,OAAO,CAAC,iBAAiB;QA+CzB,OAAO,CAAC,0BAA0B;QAgFlC;;;;WAIG;QACH,OAAO,CAAC,sBAAsB;QAY9B;;;;WAIG;QACH,OAAO,CAAC,0BAA0B;QAwBlC;;;;;WAKG;QACH,OAAO,CAAC,WAAW;QAiBnB;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAcvB;;;;;WAKG;QACH,OAAO,CAAC,cAAc;QAkBtB;;;;WAIG;gBACW,yBAAyB;QAevC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;QAgC3B;;;;;;WAMG;QACH,OAAO,CAAC,eAAe;QAgBvB;;;;;;WAMG;QACH,OAAO,CAAC,wBAAwB;QAgBhC;;;;WAIG;gBACW,oBAAoB;QAuJlC;;;;WAIG;QACH,OAAO,CAAC,mBAAmB;KA0C3B;CAEA"}