@sap/ux-specification 1.71.66 → 1.71.70

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 (476) hide show
  1. package/dist/documentation/runDocu-min.js +5 -9623
  2. package/dist/documentation/runDocu-min.js.map +1 -1
  3. package/dist/documentation/v2/v2-AnalyticalListPage.html +1 -1
  4. package/dist/documentation/v2/v2-ApplicationV2.html +1 -1
  5. package/dist/documentation/v2/v2-ListReport.html +1 -1
  6. package/dist/documentation/v2/v2-ObjectPage.html +1 -1
  7. package/dist/documentation/v2/v2-OverviewPage.html +1 -1
  8. package/dist/index-min.js +83 -24668
  9. package/dist/index-min.js.map +3 -3
  10. package/dist/schemas/v2/ListReportConfig.json +83 -83
  11. package/dist/scripts/extractDocu.d.ts +2 -0
  12. package/dist/scripts/extractDocu.d.ts.map +1 -0
  13. package/dist/scripts/extractDocu.js +506 -0
  14. package/dist/scripts/extractDocu.js.map +1 -0
  15. package/dist/scripts/runDocu.d.ts +2 -0
  16. package/dist/scripts/runDocu.d.ts.map +1 -0
  17. package/dist/scripts/runDocu.js +579 -0
  18. package/dist/scripts/runDocu.js.map +1 -0
  19. package/dist/scripts/spec.d.ts +2 -0
  20. package/dist/scripts/spec.d.ts.map +1 -0
  21. package/dist/scripts/spec.js +113 -0
  22. package/dist/scripts/spec.js.map +1 -0
  23. package/dist/scripts/to-json-schema.d.ts +11 -0
  24. package/dist/scripts/to-json-schema.d.ts.map +1 -0
  25. package/dist/scripts/to-json-schema.js +134 -0
  26. package/dist/scripts/to-json-schema.js.map +1 -0
  27. package/dist/{types → src}/api.d.ts +1 -1
  28. package/dist/{types → src}/api.d.ts.map +1 -1
  29. package/dist/src/api.js +123 -0
  30. package/dist/src/api.js.map +1 -0
  31. package/dist/{types → src}/apiTypes.d.ts +9 -12
  32. package/dist/src/apiTypes.d.ts.map +1 -0
  33. package/dist/src/apiTypes.js +3 -0
  34. package/dist/src/apiTypes.js.map +1 -0
  35. package/dist/{types → src}/extensionLogger.d.ts +1 -1
  36. package/dist/{types → src}/extensionLogger.d.ts.map +1 -1
  37. package/dist/src/extensionLogger.js +36 -0
  38. package/dist/src/extensionLogger.js.map +1 -0
  39. package/dist/{types → src}/i18n/i18n.d.ts +0 -0
  40. package/dist/{types → src}/i18n/i18n.d.ts.map +0 -0
  41. package/dist/src/i18n/i18n.js +26 -0
  42. package/dist/src/i18n/i18n.js.map +1 -0
  43. package/dist/{types → src}/index.d.ts +2 -2
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +20 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/{types → src}/project.d.ts +2 -1
  48. package/dist/src/project.d.ts.map +1 -0
  49. package/dist/src/project.js +153 -0
  50. package/dist/src/project.js.map +1 -0
  51. package/dist/{types → src}/specification/schemaAccess.d.ts +3 -12
  52. package/dist/src/specification/schemaAccess.d.ts.map +1 -0
  53. package/dist/src/specification/schemaAccess.js +63 -0
  54. package/dist/src/specification/schemaAccess.js.map +1 -0
  55. package/dist/{types → src}/sync/common/appProvider.d.ts +4 -5
  56. package/dist/src/sync/common/appProvider.d.ts.map +1 -0
  57. package/dist/src/sync/common/appProvider.js +66 -0
  58. package/dist/src/sync/common/appProvider.js.map +1 -0
  59. package/dist/{types → src}/sync/common/decoration/control.d.ts +2 -2
  60. package/dist/src/sync/common/decoration/control.d.ts.map +1 -0
  61. package/dist/src/sync/common/decoration/control.js +219 -0
  62. package/dist/src/sync/common/decoration/control.js.map +1 -0
  63. package/dist/{types → src}/sync/common/decoration/decorators.d.ts +0 -0
  64. package/dist/src/sync/common/decoration/decorators.d.ts.map +1 -0
  65. package/dist/src/sync/common/decoration/decorators.js +52 -0
  66. package/dist/src/sync/common/decoration/decorators.js.map +1 -0
  67. package/dist/{types → src}/sync/common/decoration/factory.d.ts +1 -1
  68. package/dist/{types → src}/sync/common/decoration/factory.d.ts.map +1 -1
  69. package/dist/src/sync/common/decoration/factory.js +49 -0
  70. package/dist/src/sync/common/decoration/factory.js.map +1 -0
  71. package/dist/{types → src}/sync/common/decoration/flex.d.ts +1 -3
  72. package/dist/{types → src}/sync/common/decoration/flex.d.ts.map +1 -1
  73. package/dist/src/sync/common/decoration/flex.js +9 -0
  74. package/dist/src/sync/common/decoration/flex.js.map +1 -0
  75. package/dist/{types → src}/sync/common/decoration/index.d.ts +0 -0
  76. package/dist/{types → src}/sync/common/decoration/index.d.ts.map +0 -0
  77. package/dist/src/sync/common/decoration/index.js +16 -0
  78. package/dist/src/sync/common/decoration/index.js.map +1 -0
  79. package/dist/{types → src}/sync/common/flexUtils.d.ts +2 -3
  80. package/dist/src/sync/common/flexUtils.d.ts.map +1 -0
  81. package/dist/src/sync/common/flexUtils.js +107 -0
  82. package/dist/src/sync/common/flexUtils.js.map +1 -0
  83. package/dist/{types → src}/sync/common/generate/index.d.ts +0 -0
  84. package/dist/{types → src}/sync/common/generate/index.d.ts.map +0 -0
  85. package/dist/src/sync/common/generate/index.js +15 -0
  86. package/dist/src/sync/common/generate/index.js.map +1 -0
  87. package/dist/{types → src}/sync/common/generate/objectPage.d.ts +1 -2
  88. package/dist/src/sync/common/generate/objectPage.d.ts.map +1 -0
  89. package/dist/src/sync/common/generate/objectPage.js +357 -0
  90. package/dist/src/sync/common/generate/objectPage.js.map +1 -0
  91. package/dist/{types → src}/sync/common/generate/utils.d.ts +2 -1
  92. package/dist/src/sync/common/generate/utils.d.ts.map +1 -0
  93. package/dist/src/sync/common/generate/utils.js +383 -0
  94. package/dist/src/sync/common/generate/utils.js.map +1 -0
  95. package/dist/src/sync/common/i18n.json +21 -0
  96. package/dist/{types → src}/sync/common/import/utils.d.ts +0 -0
  97. package/dist/{types → src}/sync/common/import/utils.d.ts.map +0 -0
  98. package/dist/src/sync/common/import/utils.js +93 -0
  99. package/dist/src/sync/common/import/utils.js.map +1 -0
  100. package/dist/{types → src}/sync/common/importProject.d.ts +0 -0
  101. package/dist/{types → src}/sync/common/importProject.d.ts.map +1 -1
  102. package/dist/src/sync/common/importProject.js +252 -0
  103. package/dist/src/sync/common/importProject.js.map +1 -0
  104. package/dist/{types → src}/sync/common/index.d.ts +0 -0
  105. package/dist/{types → src}/sync/common/index.d.ts.map +0 -0
  106. package/dist/src/sync/common/index.js +23 -0
  107. package/dist/src/sync/common/index.js.map +1 -0
  108. package/dist/{types → src}/sync/common/types.d.ts +6 -56
  109. package/dist/src/sync/common/types.d.ts.map +1 -0
  110. package/dist/src/sync/common/types.js +166 -0
  111. package/dist/src/sync/common/types.js.map +1 -0
  112. package/dist/{types → src}/sync/common/utils.d.ts +10 -11
  113. package/dist/src/sync/common/utils.d.ts.map +1 -0
  114. package/dist/src/sync/common/utils.js +1067 -0
  115. package/dist/src/sync/common/utils.js.map +1 -0
  116. package/dist/{types → src}/sync/i18n.d.ts +0 -0
  117. package/dist/{types → src}/sync/i18n.d.ts.map +0 -0
  118. package/dist/src/sync/i18n.js +28 -0
  119. package/dist/src/sync/i18n.js.map +1 -0
  120. package/dist/{types → src}/sync/v2/application.d.ts +6 -6
  121. package/dist/src/sync/v2/application.d.ts.map +1 -0
  122. package/dist/src/sync/v2/application.js +169 -0
  123. package/dist/src/sync/v2/application.js.map +1 -0
  124. package/dist/src/sync/v2/export/controls/Action.d.ts +29 -0
  125. package/dist/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  126. package/dist/src/sync/v2/export/controls/Action.js +129 -0
  127. package/dist/src/sync/v2/export/controls/Action.js.map +1 -0
  128. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts +9 -0
  129. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  130. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js +64 -0
  131. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  132. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +10 -0
  133. package/dist/{types → src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  134. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js +57 -0
  135. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  136. package/dist/{types → src}/sync/v2/export/controls/Card.d.ts +30 -30
  137. package/dist/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  138. package/dist/src/sync/v2/export/controls/Card.js +656 -0
  139. package/dist/src/sync/v2/export/controls/Card.js.map +1 -0
  140. package/dist/src/sync/v2/export/controls/Field.d.ts +5 -0
  141. package/dist/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/src/sync/v2/export/controls/Field.js +42 -0
  143. package/dist/src/sync/v2/export/controls/Field.js.map +1 -0
  144. package/dist/{types → src}/sync/v2/export/controls/FilterBar.d.ts +3 -3
  145. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  146. package/dist/src/sync/v2/export/controls/FilterBar.js +108 -0
  147. package/dist/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  148. package/dist/src/sync/v2/export/controls/FormAction.d.ts +16 -0
  149. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  150. package/dist/src/sync/v2/export/controls/FormAction.js +129 -0
  151. package/dist/src/sync/v2/export/controls/FormAction.js.map +1 -0
  152. package/dist/{types → src}/sync/v2/export/controls/Fragment.d.ts +5 -5
  153. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  154. package/dist/src/sync/v2/export/controls/Fragment.js +580 -0
  155. package/dist/src/sync/v2/export/controls/Fragment.js.map +1 -0
  156. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts +18 -0
  157. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  158. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js +111 -0
  159. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  160. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts +9 -0
  161. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  162. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js +63 -0
  163. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  164. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts +9 -0
  165. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  166. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +62 -0
  167. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  168. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +9 -0
  169. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  170. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js +63 -0
  171. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  172. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts +8 -0
  173. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  174. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js +60 -0
  175. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  176. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +45 -0
  177. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +1 -0
  178. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +200 -0
  179. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +1 -0
  180. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +41 -0
  181. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  182. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +279 -0
  183. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  184. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +9 -0
  185. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  186. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js +62 -0
  187. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  188. package/dist/{types → src}/sync/v2/export/controls/Table.d.ts +22 -23
  189. package/dist/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  190. package/dist/src/sync/v2/export/controls/Table.js +593 -0
  191. package/dist/src/sync/v2/export/controls/Table.js.map +1 -0
  192. package/dist/src/sync/v2/export/controls/TableColumn.d.ts +38 -0
  193. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  194. package/dist/src/sync/v2/export/controls/TableColumn.js +173 -0
  195. package/dist/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  196. package/dist/src/sync/v2/export/controls/ToolBar.d.ts +5 -0
  197. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  198. package/dist/src/sync/v2/export/controls/ToolBar.js +7 -0
  199. package/dist/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  200. package/dist/{types → src}/sync/v2/export/controls/index.d.ts +0 -0
  201. package/dist/{types → src}/sync/v2/export/controls/index.d.ts.map +0 -0
  202. package/dist/src/sync/v2/export/controls/index.js +32 -0
  203. package/dist/src/sync/v2/export/controls/index.js.map +1 -0
  204. package/dist/{types → src}/sync/v2/export/export.d.ts +1 -1
  205. package/dist/{types → src}/sync/v2/export/export.d.ts.map +1 -1
  206. package/dist/src/sync/v2/export/export.js +678 -0
  207. package/dist/src/sync/v2/export/export.js.map +1 -0
  208. package/dist/{types → src}/sync/v2/export/exportPage.d.ts +2 -1
  209. package/dist/src/sync/v2/export/exportPage.d.ts.map +1 -0
  210. package/dist/src/sync/v2/export/exportPage.js +304 -0
  211. package/dist/src/sync/v2/export/exportPage.js.map +1 -0
  212. package/dist/{types → src}/sync/v2/export/factory.d.ts +0 -0
  213. package/dist/{types → src}/sync/v2/export/factory.d.ts.map +1 -1
  214. package/dist/src/sync/v2/export/factory.js +68 -0
  215. package/dist/src/sync/v2/export/factory.js.map +1 -0
  216. package/dist/{types → src}/sync/v2/export/manifest.d.ts +3 -3
  217. package/dist/src/sync/v2/export/manifest.d.ts.map +1 -0
  218. package/dist/src/sync/v2/export/manifest.js +173 -0
  219. package/dist/src/sync/v2/export/manifest.js.map +1 -0
  220. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts +13 -0
  221. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  222. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js +43 -0
  223. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  224. package/dist/src/sync/v2/export/pages/ListReport.d.ts +11 -0
  225. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  226. package/dist/src/sync/v2/export/pages/ListReport.js +40 -0
  227. package/dist/src/sync/v2/export/pages/ListReport.js.map +1 -0
  228. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts +15 -0
  229. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  230. package/dist/src/sync/v2/export/pages/ObjectPage.js +75 -0
  231. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  232. package/dist/{types → src}/sync/v2/export/pages/OverviewPage.d.ts +3 -3
  233. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  234. package/dist/src/sync/v2/export/pages/OverviewPage.js +119 -0
  235. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  236. package/dist/{types → src}/sync/v2/export/pages/index.d.ts +0 -0
  237. package/dist/{types → src}/sync/v2/export/pages/index.d.ts.map +0 -0
  238. package/dist/src/sync/v2/export/pages/index.js +17 -0
  239. package/dist/src/sync/v2/export/pages/index.js.map +1 -0
  240. package/dist/{types → src}/sync/v2/export/view-controller-generator.d.ts +4 -4
  241. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  242. package/dist/src/sync/v2/export/view-controller-generator.js +150 -0
  243. package/dist/src/sync/v2/export/view-controller-generator.js.map +1 -0
  244. package/dist/{types → src}/sync/v2/generate/analyticalListReport.d.ts +1 -1
  245. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  246. package/dist/src/sync/v2/generate/analyticalListReport.js +84 -0
  247. package/dist/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  248. package/dist/{types → src}/sync/v2/generate/generate.d.ts +1 -1
  249. package/dist/src/sync/v2/generate/generate.d.ts.map +1 -0
  250. package/dist/src/sync/v2/generate/generate.js +100 -0
  251. package/dist/src/sync/v2/generate/generate.js.map +1 -0
  252. package/dist/{types → src}/sync/v2/generate/index.d.ts +0 -0
  253. package/dist/{types → src}/sync/v2/generate/index.d.ts.map +0 -0
  254. package/dist/src/sync/v2/generate/index.js +15 -0
  255. package/dist/src/sync/v2/generate/index.js.map +1 -0
  256. package/dist/{types → src}/sync/v2/generate/listReport.d.ts +2 -2
  257. package/dist/src/sync/v2/generate/listReport.d.ts.map +1 -0
  258. package/dist/src/sync/v2/generate/listReport.js +113 -0
  259. package/dist/src/sync/v2/generate/listReport.js.map +1 -0
  260. package/dist/{types → src}/sync/v2/generate/objectPage.d.ts +1 -1
  261. package/dist/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  262. package/dist/src/sync/v2/generate/objectPage.js +539 -0
  263. package/dist/src/sync/v2/generate/objectPage.js.map +1 -0
  264. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts +1 -1
  265. package/dist/{types → src}/sync/v2/generate/overviewPage.d.ts.map +1 -1
  266. package/dist/src/sync/v2/generate/overviewPage.js +71 -0
  267. package/dist/src/sync/v2/generate/overviewPage.js.map +1 -0
  268. package/dist/{types → src}/sync/v2/generate/utils.d.ts +3 -4
  269. package/dist/src/sync/v2/generate/utils.d.ts.map +1 -0
  270. package/dist/src/sync/v2/generate/utils.js +536 -0
  271. package/dist/src/sync/v2/generate/utils.js.map +1 -0
  272. package/dist/{types → src}/sync/v2/import/app/appProvider.d.ts +4 -4
  273. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  274. package/dist/src/sync/v2/import/app/appProvider.js +142 -0
  275. package/dist/src/sync/v2/import/app/appProvider.js.map +1 -0
  276. package/dist/{types → src}/sync/v2/import/app/ovpProvider.d.ts +1 -1
  277. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  278. package/dist/src/sync/v2/import/app/ovpProvider.js +33 -0
  279. package/dist/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  280. package/dist/{types → src}/sync/v2/import/common/index.d.ts +6 -9
  281. package/dist/src/sync/v2/import/common/index.d.ts.map +1 -0
  282. package/dist/src/sync/v2/import/common/index.js +400 -0
  283. package/dist/src/sync/v2/import/common/index.js.map +1 -0
  284. package/dist/{types → src}/sync/v2/import/controls/table.d.ts +2 -2
  285. package/dist/src/sync/v2/import/controls/table.d.ts.map +1 -0
  286. package/dist/src/sync/v2/import/controls/table.js +34 -0
  287. package/dist/src/sync/v2/import/controls/table.js.map +1 -0
  288. package/dist/{types → src}/sync/v2/import/getPageType.d.ts +0 -0
  289. package/dist/{types → src}/sync/v2/import/getPageType.d.ts.map +0 -0
  290. package/dist/src/sync/v2/import/getPageType.js +1 -0
  291. package/dist/src/sync/v2/import/getPageType.js.map +1 -0
  292. package/dist/{types → src}/sync/v2/import/index.d.ts +0 -0
  293. package/dist/{types → src}/sync/v2/import/index.d.ts.map +0 -0
  294. package/dist/src/sync/v2/import/index.js +18 -0
  295. package/dist/src/sync/v2/import/index.js.map +1 -0
  296. package/dist/{types → src}/sync/v2/import/pages/analyticalListPage.d.ts +2 -2
  297. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  298. package/dist/src/sync/v2/import/pages/analyticalListPage.js +120 -0
  299. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  300. package/dist/{types → src}/sync/v2/import/pages/listReport.d.ts +2 -2
  301. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  302. package/dist/src/sync/v2/import/pages/listReport.js +144 -0
  303. package/dist/src/sync/v2/import/pages/listReport.js.map +1 -0
  304. package/dist/{types → src}/sync/v2/import/pages/objectPage.d.ts +3 -2
  305. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  306. package/dist/src/sync/v2/import/pages/objectPage.js +741 -0
  307. package/dist/src/sync/v2/import/pages/objectPage.js.map +1 -0
  308. package/dist/{types → src}/sync/v2/import/pages/overviewPage.d.ts +2 -3
  309. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  310. package/dist/src/sync/v2/import/pages/overviewPage.js +105 -0
  311. package/dist/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  312. package/dist/{types → src}/sync/v2/import/utils.d.ts +5 -5
  313. package/dist/src/sync/v2/import/utils.d.ts.map +1 -0
  314. package/dist/src/sync/v2/import/utils.js +169 -0
  315. package/dist/src/sync/v2/import/utils.js.map +1 -0
  316. package/dist/{types → src}/sync/v2/types.d.ts +5 -6
  317. package/dist/src/sync/v2/types.d.ts.map +1 -0
  318. package/dist/src/sync/v2/types.js +37 -0
  319. package/dist/src/sync/v2/types.js.map +1 -0
  320. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts +1 -1
  321. package/dist/{types → src}/sync/v4/utils/StableIdHelper.d.ts.map +1 -1
  322. package/dist/src/sync/v4/utils/StableIdHelper.js +145 -0
  323. package/dist/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  324. package/package.json +14 -14
  325. package/CHANGELOG.md +0 -1079
  326. package/dist/types/apiTypes.d.ts.map +0 -1
  327. package/dist/types/index.d.ts.map +0 -1
  328. package/dist/types/project.d.ts.map +0 -1
  329. package/dist/types/specification/common/Application.d.ts +0 -16
  330. package/dist/types/specification/common/Application.d.ts.map +0 -1
  331. package/dist/types/specification/common/index.d.ts +0 -6
  332. package/dist/types/specification/common/index.d.ts.map +0 -1
  333. package/dist/types/specification/common/page.d.ts +0 -42
  334. package/dist/types/specification/common/page.d.ts.map +0 -1
  335. package/dist/types/specification/common/types.d.ts +0 -21
  336. package/dist/types/specification/common/types.d.ts.map +0 -1
  337. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts +0 -49
  338. package/dist/types/specification/common/webapp/manifest/Manifest.d.ts.map +0 -1
  339. package/dist/types/specification/common/webapp/manifest/index.d.ts +0 -4
  340. package/dist/types/specification/common/webapp/manifest/index.d.ts.map +0 -1
  341. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts +0 -376
  342. package/dist/types/specification/common/webapp/manifest/sapOvp.d.ts.map +0 -1
  343. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts +0 -34
  344. package/dist/types/specification/common/webapp/manifest/sapUi5.d.ts.map +0 -1
  345. package/dist/types/specification/schemaAccess.d.ts.map +0 -1
  346. package/dist/types/specification/v2/ApplicationV2.d.ts +0 -31
  347. package/dist/types/specification/v2/ApplicationV2.d.ts.map +0 -1
  348. package/dist/types/specification/v2/controls/Action.d.ts +0 -83
  349. package/dist/types/specification/v2/controls/Action.d.ts.map +0 -1
  350. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts +0 -55
  351. package/dist/types/specification/v2/controls/AnalyticalListPageChart.d.ts.map +0 -1
  352. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts +0 -31
  353. package/dist/types/specification/v2/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  354. package/dist/types/specification/v2/controls/Card.d.ts +0 -626
  355. package/dist/types/specification/v2/controls/Card.d.ts.map +0 -1
  356. package/dist/types/specification/v2/controls/Facets.d.ts +0 -18
  357. package/dist/types/specification/v2/controls/Facets.d.ts.map +0 -1
  358. package/dist/types/specification/v2/controls/Field.d.ts +0 -11
  359. package/dist/types/specification/v2/controls/Field.d.ts.map +0 -1
  360. package/dist/types/specification/v2/controls/FilterBar.d.ts +0 -81
  361. package/dist/types/specification/v2/controls/FilterBar.d.ts.map +0 -1
  362. package/dist/types/specification/v2/controls/Footer.d.ts +0 -21
  363. package/dist/types/specification/v2/controls/Footer.d.ts.map +0 -1
  364. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts +0 -17
  365. package/dist/types/specification/v2/controls/ObjectPageChart.d.ts.map +0 -1
  366. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts +0 -16
  367. package/dist/types/specification/v2/controls/ObjectPageForm.d.ts.map +0 -1
  368. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts +0 -35
  369. package/dist/types/specification/v2/controls/ObjectPageHeader.d.ts.map +0 -1
  370. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts +0 -23
  371. package/dist/types/specification/v2/controls/ObjectPageLayout.d.ts.map +0 -1
  372. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts +0 -121
  373. package/dist/types/specification/v2/controls/ObjectPageSection.d.ts.map +0 -1
  374. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts +0 -131
  375. package/dist/types/specification/v2/controls/ObjectPageTable.d.ts.map +0 -1
  376. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts +0 -16
  377. package/dist/types/specification/v2/controls/ObjectPageToolBar.d.ts.map +0 -1
  378. package/dist/types/specification/v2/controls/Table.d.ts +0 -402
  379. package/dist/types/specification/v2/controls/Table.d.ts.map +0 -1
  380. package/dist/types/specification/v2/controls/ToolBar.d.ts +0 -9
  381. package/dist/types/specification/v2/controls/ToolBar.d.ts.map +0 -1
  382. package/dist/types/specification/v2/controls/index.d.ts +0 -18
  383. package/dist/types/specification/v2/controls/index.d.ts.map +0 -1
  384. package/dist/types/specification/v2/index.d.ts +0 -6
  385. package/dist/types/specification/v2/index.d.ts.map +0 -1
  386. package/dist/types/specification/v2/page.d.ts +0 -8
  387. package/dist/types/specification/v2/page.d.ts.map +0 -1
  388. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts +0 -22
  389. package/dist/types/specification/v2/pages/AnalyticalListPageConfig.d.ts.map +0 -1
  390. package/dist/types/specification/v2/pages/ListReportConfig.d.ts +0 -13
  391. package/dist/types/specification/v2/pages/ListReportConfig.d.ts.map +0 -1
  392. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts +0 -25
  393. package/dist/types/specification/v2/pages/ObjectPageConfig.d.ts.map +0 -1
  394. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts +0 -83
  395. package/dist/types/specification/v2/pages/OverviewPageConfig.d.ts.map +0 -1
  396. package/dist/types/specification/v2/pages/index.d.ts +0 -5
  397. package/dist/types/specification/v2/pages/index.d.ts.map +0 -1
  398. package/dist/types/specification/v2/webapp/index.d.ts +0 -2
  399. package/dist/types/specification/v2/webapp/index.d.ts.map +0 -1
  400. package/dist/types/specification/v2/webapp/manifest/index.d.ts +0 -3
  401. package/dist/types/specification/v2/webapp/manifest/index.d.ts.map +0 -1
  402. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts +0 -11
  403. package/dist/types/specification/v2/webapp/manifest/sapUi.d.ts.map +0 -1
  404. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts +0 -99
  405. package/dist/types/specification/v2/webapp/manifest/sapUi5.d.ts.map +0 -1
  406. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts +0 -32
  407. package/dist/types/specification/v2/webapp/manifest/sapUiPageV2.d.ts.map +0 -1
  408. package/dist/types/sync/common/appProvider.d.ts.map +0 -1
  409. package/dist/types/sync/common/decoration/control.d.ts.map +0 -1
  410. package/dist/types/sync/common/decoration/decorators.d.ts.map +0 -1
  411. package/dist/types/sync/common/flexUtils.d.ts.map +0 -1
  412. package/dist/types/sync/common/generate/objectPage.d.ts.map +0 -1
  413. package/dist/types/sync/common/generate/utils.d.ts.map +0 -1
  414. package/dist/types/sync/common/types.d.ts.map +0 -1
  415. package/dist/types/sync/common/utils.d.ts.map +0 -1
  416. package/dist/types/sync/v2/application.d.ts.map +0 -1
  417. package/dist/types/sync/v2/export/controls/Action.d.ts +0 -29
  418. package/dist/types/sync/v2/export/controls/Action.d.ts.map +0 -1
  419. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -9
  420. package/dist/types/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  421. package/dist/types/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -10
  422. package/dist/types/sync/v2/export/controls/Card.d.ts.map +0 -1
  423. package/dist/types/sync/v2/export/controls/Field.d.ts +0 -5
  424. package/dist/types/sync/v2/export/controls/Field.d.ts.map +0 -1
  425. package/dist/types/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  426. package/dist/types/sync/v2/export/controls/FormAction.d.ts +0 -16
  427. package/dist/types/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  428. package/dist/types/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  429. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -20
  430. package/dist/types/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  431. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -9
  432. package/dist/types/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  433. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -9
  434. package/dist/types/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  435. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -9
  436. package/dist/types/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  437. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -8
  438. package/dist/types/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  439. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -45
  440. package/dist/types/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  441. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts +0 -43
  442. package/dist/types/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  443. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -9
  444. package/dist/types/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  445. package/dist/types/sync/v2/export/controls/Table.d.ts.map +0 -1
  446. package/dist/types/sync/v2/export/controls/TableColumn.d.ts +0 -39
  447. package/dist/types/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  448. package/dist/types/sync/v2/export/controls/ToolBar.d.ts +0 -5
  449. package/dist/types/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  450. package/dist/types/sync/v2/export/exportPage.d.ts.map +0 -1
  451. package/dist/types/sync/v2/export/manifest.d.ts.map +0 -1
  452. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -15
  453. package/dist/types/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  454. package/dist/types/sync/v2/export/pages/ListReport.d.ts +0 -11
  455. package/dist/types/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  456. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts +0 -16
  457. package/dist/types/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  458. package/dist/types/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  459. package/dist/types/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  460. package/dist/types/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  461. package/dist/types/sync/v2/generate/generate.d.ts.map +0 -1
  462. package/dist/types/sync/v2/generate/listReport.d.ts.map +0 -1
  463. package/dist/types/sync/v2/generate/objectPage.d.ts.map +0 -1
  464. package/dist/types/sync/v2/generate/utils.d.ts.map +0 -1
  465. package/dist/types/sync/v2/import/app/appProvider.d.ts.map +0 -1
  466. package/dist/types/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  467. package/dist/types/sync/v2/import/common/index.d.ts.map +0 -1
  468. package/dist/types/sync/v2/import/controls/table.d.ts.map +0 -1
  469. package/dist/types/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  470. package/dist/types/sync/v2/import/pages/listReport.d.ts.map +0 -1
  471. package/dist/types/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  472. package/dist/types/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  473. package/dist/types/sync/v2/import/utils.d.ts.map +0 -1
  474. package/dist/types/sync/v2/types.d.ts.map +0 -1
  475. package/dist/types/v2.d.ts +0 -3
  476. package/dist/types/v2.d.ts.map +0 -1
@@ -0,0 +1,580 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getCustomColumnPath = exports.exportCustomColumnsToFragment = exports.deleteColumnFromFragment = exports.getRootCustomColumnFromFragmentJSON = exports.SAP_UI_TABLE = exports.FRAGMENT_DEFINITION = void 0;
7
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
8
+ const types_1 = require("../../../common/types");
9
+ const xml_js_1 = require("xml-js");
10
+ const view_controller_generator_1 = require("../view-controller-generator");
11
+ const i18next_1 = __importDefault(require("i18next"));
12
+ const extensionLogger_1 = require("../../../../extensionLogger");
13
+ const manifest_1 = require("../manifest");
14
+ const path_1 = require("path");
15
+ exports.FRAGMENT_DEFINITION = 'core:FragmentDefinition';
16
+ exports.SAP_UI_TABLE = 'sap.ui.table';
17
+ const VIEW_TEMPLATE_TAGTYPE_MAP = new Map([
18
+ [types_1.ViewTemplateType.ResponsiveTableColumnsExtension, { namespace: 'sap.m', name: 'Column' }],
19
+ [types_1.ViewTemplateType.TreeTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'Column' }],
20
+ [types_1.ViewTemplateType.GridTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'Column' }],
21
+ [types_1.ViewTemplateType.AnalyticalTableColumnsExtension, { namespace: exports.SAP_UI_TABLE, name: 'AnalyticalColumn' }]
22
+ ]);
23
+ const FE_TEMPLATE_VIEW_EXTENSION_MAP = new Map([
24
+ [ux_specification_types_1.v2.FE_TEMPLATE_V2_LIST_REPORT, ux_specification_types_1.v2.SAPUI5_VIEW_EXTENSION_LIST_REPORT],
25
+ [ux_specification_types_1.v2.FE_TEMPLATE_V2_ALP, ux_specification_types_1.v2.SAPUI5_VIEW_EXTENSION_ANALYTICAL_LIST_PAGE],
26
+ [ux_specification_types_1.v2.FE_TEMPLATE_V2_OBJECT_PAGE, ux_specification_types_1.v2.SAPUI5_VIEW_EXTENSION_OBJECT_PAGE]
27
+ ]);
28
+ const dummyEntry = {
29
+ type: 'element',
30
+ name: 'Text',
31
+ attributes: { text: 'Placeholder' }
32
+ };
33
+ const dummyEntryAsString = JSON.stringify(dummyEntry);
34
+ /**
35
+ * Lists namespaces available in fragment to consider
36
+ * @param fragment - fragment content
37
+ * @param isCoreFragmentDefinition - If set to true, only the namespaces in core definition will be considered
38
+ * @returns {Map<string, string[]> | undefined} - If available, namespaces will be returned as Map (key: alias, values: name[])
39
+ */
40
+ function getFragmentNamespaces(fragment, isCoreFragmentDefinition) {
41
+ const fragmentAttributes = isCoreFragmentDefinition
42
+ ? fragment[exports.FRAGMENT_DEFINITION]['_attributes']
43
+ : fragment['_attributes'];
44
+ if (fragmentAttributes) {
45
+ const allFragmentNamespaces = new Map();
46
+ Object.keys(fragmentAttributes)
47
+ .filter((attribute) => attribute.startsWith('xmlns'))
48
+ .forEach((xmlns) => {
49
+ const existingNamespaces = allFragmentNamespaces.get(fragmentAttributes[xmlns]);
50
+ allFragmentNamespaces.set(fragmentAttributes[xmlns], existingNamespaces
51
+ ? [...existingNamespaces, xmlns.split(':')[1] || xmlns]
52
+ : [xmlns.split(':')[1] || xmlns]);
53
+ });
54
+ return allFragmentNamespaces;
55
+ }
56
+ }
57
+ /**
58
+ * Considers namespace of fragment and returns combined tag name
59
+ * @param tag - tag name and namespace
60
+ * @param {string[]} fragmentNamespace namespaces of fragment
61
+ * @returns {string} tag name consisting of namespace and name
62
+ */
63
+ function getTagName(tag, fragmentNamespaces) {
64
+ if (!fragmentNamespaces) {
65
+ return `${tag.namespace}:${tag.name}`;
66
+ }
67
+ else if (fragmentNamespaces.includes('xmlns')) {
68
+ return tag.name;
69
+ }
70
+ else {
71
+ return `${fragmentNamespaces}:${tag.name}`;
72
+ }
73
+ }
74
+ /**
75
+ * Maps the column template type to the fragment namespace and returns the tag name with namespace of root column definition.
76
+ * @param definition - fragment or content definition
77
+ * @param viewTemplateType - name of the view template that shall be applied
78
+ * @param fragment - fragment definition
79
+ * @returns {unknown | undefined} Root column tag name.
80
+ */
81
+ function getTagNameFromFragmentJSON(definition, viewTemplateType, fragment = definition) {
82
+ const namespaces = getFragmentNamespaces(fragment, viewTemplateType || fragment !== definition ? true : false);
83
+ if (viewTemplateType) {
84
+ const tag = VIEW_TEMPLATE_TAGTYPE_MAP.get(viewTemplateType);
85
+ return getTagName(tag, namespaces.get(tag.namespace));
86
+ }
87
+ else {
88
+ const keys = VIEW_TEMPLATE_TAGTYPE_MAP.keys();
89
+ for (const key of keys) {
90
+ const tag = VIEW_TEMPLATE_TAGTYPE_MAP.get(key);
91
+ const tagName = namespaces ? getTagName(tag, namespaces.get(tag.namespace)) : tag.name;
92
+ if (definition[tagName]) {
93
+ return tagName;
94
+ }
95
+ }
96
+ }
97
+ return undefined;
98
+ }
99
+ /**
100
+ * Method which receives fragment definition node and reads root column definition.
101
+ * @param {unknown} definition - Application or Page Config object.
102
+ * @param {unknown} fragment - fragment definition
103
+ * @returns {unknown | undefined} Root column read from definition.
104
+ */
105
+ function getRootCustomColumnFromFragmentJSON(definition, fragment = definition) {
106
+ const name = getTagNameFromFragmentJSON(definition, undefined, fragment);
107
+ return definition[name];
108
+ }
109
+ exports.getRootCustomColumnFromFragmentJSON = getRootCustomColumnFromFragmentJSON;
110
+ /**
111
+ * Internal function adding content to config column
112
+ * @param configColumns - list of all columns in the config
113
+ * @param columnIndex - index of column
114
+ * @returns - filled personalization data
115
+ */
116
+ function addP13nData(configColumns, columnIndex) {
117
+ const columnProperties = [
118
+ 'id',
119
+ 'text',
120
+ 'className',
121
+ 'fragmentName',
122
+ 'tabKey',
123
+ 'extensionType',
124
+ 'cellsFragmentName'
125
+ ];
126
+ let p13nData = `\\{`;
127
+ for (const key in configColumns[columnIndex]) {
128
+ const value = configColumns[columnIndex][key];
129
+ if (!columnProperties.includes(key) && value !== undefined && value.length !== 0) {
130
+ if (p13nData !== '\\{') {
131
+ p13nData += `, `;
132
+ }
133
+ p13nData += `"${key}": "${value.toString()}"`;
134
+ }
135
+ }
136
+ p13nData += '}';
137
+ return p13nData;
138
+ }
139
+ /**
140
+ * Internal function handling a single fragment column if detected in the fragment
141
+ * @param columnsInFragment - list of all columns in fragment
142
+ * @param configColumns - list of all columns in the config
143
+ */
144
+ function handleFragmentColumn(columnsInFragment, configColumns) {
145
+ let foundInConfig = false;
146
+ const customData = columnsInFragment['customData'] || columnsInFragment['table:customData'];
147
+ if (!customData) {
148
+ return false;
149
+ }
150
+ let p13nData = customData['core:CustomData']._attributes.value;
151
+ const columnParts = JSON.parse(p13nData.substr(1, p13nData.length));
152
+ const columnIndex = configColumns.findIndex((column) => {
153
+ return column.columnKey === columnParts.columnKey;
154
+ });
155
+ if (columnIndex < 0) {
156
+ return false;
157
+ }
158
+ //Found ==> update scenario
159
+ foundInConfig = true;
160
+ p13nData = addP13nData(configColumns, columnIndex);
161
+ customData['core:CustomData']._attributes.value = p13nData;
162
+ if (!columnsInFragment['Text'] && !columnsInFragment['Label'] && configColumns[columnIndex]?.text) {
163
+ columnsInFragment['Text'] = {
164
+ _attributes: {}
165
+ };
166
+ }
167
+ if (columnsInFragment['Text'] && columnsInFragment['Text']['_attributes']) {
168
+ columnsInFragment['Text']._attributes['text'] = configColumns[columnIndex]?.text;
169
+ }
170
+ else if (columnsInFragment['Label'] && columnsInFragment['Label']['_attributes']) {
171
+ columnsInFragment['Label']._attributes['text'] = configColumns[columnIndex]?.text;
172
+ }
173
+ if (!columnsInFragment['_attributes']) {
174
+ columnsInFragment['_attributes'] = {};
175
+ }
176
+ columnsInFragment['_attributes']['id'] = configColumns[columnIndex].id;
177
+ configColumns.splice(columnIndex, 1);
178
+ return foundInConfig;
179
+ }
180
+ /**
181
+ * Deletes obsolete custom columns from the relevant fragment(s)
182
+ * @param manifestSection - Section in manifest.json comprising the extensions
183
+ * @param fragments - list of all fragments
184
+ * @param pattern - Search string to identify the extension in manifest
185
+ * @param appId - application ID
186
+ */
187
+ function deleteColumnsFromFragment(manifestSection, fragments, pattern, appId) {
188
+ const fragmentId = manifestSection[pattern].fragmentName.substr(appId.length + 1);
189
+ const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
190
+ const fragmentParts = fragmentId.split('.');
191
+ const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
192
+ for (const fragment of fragments) {
193
+ const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
194
+ if (fragmentPathArray[fragmentPathArray.length - 1] === fragmentName) {
195
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
196
+ const tagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
197
+ if (tagName) {
198
+ delete fragmentJson[exports.FRAGMENT_DEFINITION][tagName];
199
+ fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { compact: true, spaces: 4 });
200
+ }
201
+ break;
202
+ }
203
+ }
204
+ }
205
+ /**
206
+ * Deletes a given number of (dummy) cells from a fragment
207
+ * @param fragmentCells - list of all cells in the parsed fragment
208
+ * @param noOfEntriesToBeDeleted - number of entries to be deleted
209
+ */
210
+ function deleteNumberOfCells(fragmentCells, noOfEntriesToBeDeleted) {
211
+ //only dummy entry will be deleted automatically!
212
+ for (let index = 0; index < Object.keys(fragmentCells).length; index++) {
213
+ if (JSON.stringify(fragmentCells[index]) === dummyEntryAsString) {
214
+ fragmentCells.splice(index, 1);
215
+ noOfEntriesToBeDeleted -= 1;
216
+ if (noOfEntriesToBeDeleted === 0) {
217
+ break;
218
+ }
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Deletes cells from the relevant fragment
224
+ * @param cellManifestSection - section in mnifest referring the cells'fragment
225
+ * @param fragments - list of all fragments
226
+ * @param appId - application ID
227
+ */
228
+ function deleteCellsFromFragment(cellManifestSection, fragments, appId) {
229
+ const fragmentType = cellManifestSection['type'] ? cellManifestSection['type'].toLowerCase() : 'xml';
230
+ const fragmentParts = cellManifestSection['fragmentName'].substr(appId.length + 1).split('.');
231
+ const fragmentName = fragmentParts[fragmentParts.length - 1] + types_1.FRAGMENTNAMEPART + fragmentType;
232
+ for (const fragment of fragments) {
233
+ if (fragment['dataSourceUri'].endsWith(fragmentName)) {
234
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
235
+ const fragmentCells = fragmentJson.elements[0].elements &&
236
+ fragmentJson.elements[0].elements.filter((element) => {
237
+ return element.type === 'element';
238
+ });
239
+ if (fragmentCells) {
240
+ deleteNumberOfCells(fragmentCells, fragmentCells.length);
241
+ }
242
+ break;
243
+ }
244
+ }
245
+ }
246
+ /**
247
+ * Identifies the right extensions based on a pattern, then deletes all corresponding columns and cells
248
+ * @param manifestSection - Section in manifest.json comprising the extensions
249
+ * @param pattern - Search string to identify the extension in manifest
250
+ * @param appId - application ID
251
+ * @param fragments - list of all fragments
252
+ */
253
+ function deleteColumnFromFragment(manifestSection, pattern, appId, fragments) {
254
+ if (fragments) {
255
+ //delete columns
256
+ deleteColumnsFromFragment(manifestSection, fragments, pattern, appId);
257
+ //delete cells
258
+ const cellsPath = pattern.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
259
+ const cellManifestSection = manifestSection[cellsPath];
260
+ if (cellManifestSection) {
261
+ deleteCellsFromFragment(cellManifestSection, fragments, appId);
262
+ }
263
+ }
264
+ }
265
+ exports.deleteColumnFromFragment = deleteColumnFromFragment;
266
+ /**
267
+ * Adds new (dummy) columns to a given fragment, as many as we have entries in the config
268
+ * @param fragmentCells - list of all cells in fragment
269
+ * @param fragmentJson - complete fragment, parsed as JSON
270
+ * @param config - actual config.json
271
+ */
272
+ function addNewColumnsInFragment(fragmentCells, fragmentJson, config) {
273
+ const startIndex = fragmentCells ? Object.keys(fragmentCells).length : 0;
274
+ if (!fragmentJson.elements[0].elements) {
275
+ fragmentJson.elements[0].elements = [];
276
+ }
277
+ for (let index = startIndex; index < Object.keys(config).length; index++) {
278
+ fragmentJson.elements[0].elements.push(dummyEntry);
279
+ }
280
+ }
281
+ /**
282
+ * Updates non-empty cells in a given fragment, from the config information
283
+ * @param fragment - identified cells' fragment
284
+ * @param config - config.json that lists the new cells' information
285
+ */
286
+ function updateNonEmptyCellsFragment(fragment, config) {
287
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent));
288
+ const fragmentCells = fragmentJson.elements[0].elements &&
289
+ fragmentJson.elements[0].elements.filter((element) => {
290
+ return element.type === 'element';
291
+ });
292
+ if (!fragmentCells || Object.keys(fragmentCells).length !== Object.keys(config).length) {
293
+ if (!fragmentCells || Object.keys(fragmentCells).length < Object.keys(config).length) {
294
+ addNewColumnsInFragment(fragmentCells, fragmentJson, config);
295
+ }
296
+ else if (Object.keys(fragmentCells).length > Object.keys(config).length) {
297
+ const noOfEntriesToBeDeleted = Object.keys(fragmentCells).length - Object.keys(config).length;
298
+ const fragmentElements = fragmentJson.elements[0].elements;
299
+ deleteNumberOfCells(fragmentElements, noOfEntriesToBeDeleted);
300
+ }
301
+ fragment.fileContent = xml_js_1.json2xml(JSON.stringify(fragmentJson), { spaces: 4 });
302
+ }
303
+ }
304
+ /**
305
+ * Updates the content of a cell fragment file
306
+ * @param fragments - list of existing fragments, to be enhanced
307
+ * @param cellFragmentFileName - file name of the given cell fragment, as calculated from the config entry
308
+ * @param config - current config JSON
309
+ * @returns a boolean value to indicate if the cell fragment could be found n the given list of fragments
310
+ */
311
+ function updateCellsFragment(fragments, cellFragmentFileName, config) {
312
+ let cellsFragmentFound = false;
313
+ for (const fragment of fragments) {
314
+ const fragmentPathArray = fragment['dataSourceUri'].split(path_1.sep);
315
+ if (fragmentPathArray[fragmentPathArray.length - 1] === cellFragmentFileName) {
316
+ cellsFragmentFound = true;
317
+ if (!fragment.fileContent || Object.keys(fragment.fileContent).length === 0) {
318
+ // Empty fragment - use template
319
+ fragment.fileContent = view_controller_generator_1.getResponsiveTableCellsFragment(config);
320
+ }
321
+ else {
322
+ updateNonEmptyCellsFragment(fragment, config);
323
+ }
324
+ break;
325
+ }
326
+ }
327
+ return cellsFragmentFound;
328
+ }
329
+ /**
330
+ * Adapt manifest from the given custom columns' definition in manifest
331
+ * @param manifestPath - path to the current section of the manifest that describes the extension
332
+ * @param {ExportResults} exportResults - export result comprising fragments and manifest
333
+ * @param config - current config part, describing the new image of the extension
334
+ * @param appId - application ID
335
+ * @param {ExtensionLogger} logger - logger instance for exceptions
336
+ * @returns everything that is needed for further processing the fragment
337
+ */
338
+ function exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger) {
339
+ let lsFilePath;
340
+ let cellsFragmentName;
341
+ const manifest = exportResults.manifest;
342
+ const manifestSection = manifest_1.ensureManifestSectionByPathV2(manifest, manifestPath);
343
+ const fragmentType = manifestSection['type'] ? manifestSection['type'].toLowerCase() : 'xml';
344
+ manifestSection['type'] = fragmentType.toUpperCase();
345
+ for (const configElement of config) {
346
+ //last one wins -as there can only be one reference in the manifest
347
+ if (!configElement.fragmentName) {
348
+ extensionLogger_1.log(logger, {
349
+ severity: "error" /* Error */,
350
+ message: i18next_1.default.t('NOFRAGMENT', { columnKey: configElement.columnKey })
351
+ });
352
+ continue;
353
+ }
354
+ manifestSection['fragmentName'] = configElement.fragmentName;
355
+ manifestSection['className'] = configElement.className;
356
+ lsFilePath =
357
+ configElement.fragmentName?.replace(appId, '<root>/webapp').replace(/[.]/g, path_1.sep) +
358
+ types_1.FRAGMENTNAMEPART +
359
+ fragmentType;
360
+ }
361
+ if (manifestPath.indexOf(types_1.ViewTemplateType.ResponsiveTableColumnsExtension) > -1) {
362
+ const cellsPath = manifestPath.replace(types_1.ViewTemplateType.ResponsiveTableColumnsExtension, types_1.ViewTemplateType.ResponsiveTableCellsExtension);
363
+ const cellManifestSection = manifest_1.ensureManifestSectionByPathV2(manifest, cellsPath);
364
+ const cellsFragmentColumn = config.reduce((previousColumn, column) => {
365
+ return column.cellsFragmentName ? column : previousColumn;
366
+ });
367
+ if (cellsFragmentColumn && cellsFragmentColumn.cellsFragmentName) {
368
+ cellManifestSection['fragmentName'] = cellsFragmentName = cellsFragmentColumn.cellsFragmentName;
369
+ cellManifestSection['className'] = config[0].className;
370
+ cellManifestSection['type'] = fragmentType.toUpperCase();
371
+ }
372
+ else {
373
+ manifest_1.deleteManifestSectionByPathV2(manifest, cellsPath);
374
+ }
375
+ }
376
+ return { manifestSection, lsFilePath, cellsFragmentName, fragmentType };
377
+ }
378
+ /**
379
+ * Method inserts new custom column into array of existing columns in same place as it appears in column configs.
380
+ * @param {TableCustomColumn} column - Custom column config object.
381
+ * @param {ViewTemplateType} viewTemplateType - template type
382
+ * @param {Object} columnsInFragmentDefinition - Existing columns definition
383
+ * @param {unknown} fragment - fragment definition
384
+ * @param {number} colPos - column position from config
385
+ * @returns {object} Columns object.
386
+ */
387
+ function insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition, fragment, colPos) {
388
+ const newColumnFragment = view_controller_generator_1.getSingleColumnContent(column, viewTemplateType);
389
+ if (newColumnFragment) {
390
+ const newColumnDefinition = JSON.parse(xml_js_1.xml2json(newColumnFragment, { compact: true }));
391
+ const newColumn = getRootCustomColumnFromFragmentJSON(newColumnDefinition, fragment);
392
+ if (Array.isArray(columnsInFragmentDefinition)) {
393
+ // avoid having same columns
394
+ const columnExists = columnsInFragmentDefinition.some((col) => JSON.stringify(col) === JSON.stringify(newColumn));
395
+ if (!columnExists) {
396
+ columnsInFragmentDefinition.push(newColumn);
397
+ }
398
+ }
399
+ else {
400
+ if (columnsInFragmentDefinition) {
401
+ // insert new column in array at specific position
402
+ const newColumnsInFragmentDefinition = [columnsInFragmentDefinition];
403
+ newColumnsInFragmentDefinition.splice(colPos, 0, newColumn);
404
+ columnsInFragmentDefinition = newColumnsInFragmentDefinition;
405
+ }
406
+ else {
407
+ columnsInFragmentDefinition = [newColumn];
408
+ }
409
+ }
410
+ }
411
+ return columnsInFragmentDefinition;
412
+ }
413
+ function processCustomColumnInArray(columnsInFragmentDefinition, configColumns) {
414
+ for (let j = 0; j < columnsInFragmentDefinition.length; j++) {
415
+ const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition[j], configColumns);
416
+ if (!columnFoundInConfig) {
417
+ columnsInFragmentDefinition.splice(j, 1);
418
+ }
419
+ }
420
+ }
421
+ function maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson) {
422
+ if (columnsInFragmentDefinition) {
423
+ //find the right column in the identified fragment file
424
+ if (Array.isArray(columnsInFragmentDefinition)) {
425
+ processCustomColumnInArray(columnsInFragmentDefinition, configColumns);
426
+ }
427
+ else {
428
+ const columnFoundInConfig = handleFragmentColumn(columnsInFragmentDefinition, configColumns);
429
+ if (!columnFoundInConfig) {
430
+ const coreTagName = getTagNameFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
431
+ if (coreTagName) {
432
+ delete fragmentJson[exports.FRAGMENT_DEFINITION][coreTagName];
433
+ columnsInFragmentDefinition = undefined;
434
+ }
435
+ }
436
+ }
437
+ }
438
+ return columnsInFragmentDefinition;
439
+ }
440
+ /**
441
+ * Method inserts new custom columns into existing columns.
442
+ * @param {v2.TableCustomColumns} configColumns - Custom columns config object.
443
+ * @param {string} fragmentId - fragment file name
444
+ * @param {Object} columnsInFragmentDefinition - Existing columns definition
445
+ * @param {ViewTemplateType} viewTemplateType - template type
446
+ * @param {unknown} fragment - fragment definition
447
+ * @returns {object} Columns object.
448
+ */
449
+ function insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType, fragment) {
450
+ for (const column of configColumns) {
451
+ if (column.fragmentName.endsWith(fragmentId)) {
452
+ const colPos = configColumns.indexOf(column);
453
+ columnsInFragmentDefinition = insertNewColumnInFragment(column, viewTemplateType, columnsInFragmentDefinition, fragment, colPos);
454
+ }
455
+ }
456
+ return columnsInFragmentDefinition;
457
+ }
458
+ /**
459
+ * Actualizes the column information in a fragment
460
+ * @param fragments - list of all fragments
461
+ * @param fragmentName - name of the relevant fragment, as maintained in manifest
462
+ * @param fragmentId - ID = substring of the fragment name without the app ID
463
+ * @param configColumns - list of all custom columns in the config
464
+ * @param viewTemplateType - enum value that determines the view template
465
+ * @returns a boolean value indicating if the fragment was found
466
+ */
467
+ function updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType) {
468
+ let fragmentFound = false;
469
+ if (!fragments) {
470
+ return fragmentFound;
471
+ }
472
+ //find and update the columns' fragment file
473
+ for (const fragment of fragments) {
474
+ if (fragment['dataSourceUri'].endsWith(fragmentName)) {
475
+ let columnsInFragmentDefinition = {};
476
+ fragmentFound = true;
477
+ if (!fragment.fileContent || fragment.fileContent.length === 0) {
478
+ // Empty fragment - use template
479
+ fragment.fileContent = view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType);
480
+ }
481
+ else {
482
+ const fragmentJson = JSON.parse(xml_js_1.xml2json(fragment.fileContent, { compact: true }));
483
+ const originalFragmentJson = JSON.stringify(fragmentJson);
484
+ //find the right column in the fragment file
485
+ columnsInFragmentDefinition = getRootCustomColumnFromFragmentJSON(fragmentJson[exports.FRAGMENT_DEFINITION]);
486
+ columnsInFragmentDefinition = maintainExistingColumnInFragment(columnsInFragmentDefinition, configColumns, fragmentJson);
487
+ //Insert scenario for the remaining entries
488
+ columnsInFragmentDefinition = insertNewColumnsInFragment(configColumns, fragmentId, columnsInFragmentDefinition, viewTemplateType, fragmentJson);
489
+ const tagName = getTagNameFromFragmentJSON(fragmentJson, viewTemplateType);
490
+ fragmentJson[exports.FRAGMENT_DEFINITION][tagName] = columnsInFragmentDefinition;
491
+ const fragmentContent = JSON.stringify(fragmentJson);
492
+ if (fragmentContent !== originalFragmentJson) {
493
+ fragment.fileContent = xml_js_1.json2xml(fragmentContent, { compact: true, spaces: 4 });
494
+ }
495
+ }
496
+ break;
497
+ }
498
+ }
499
+ return fragmentFound;
500
+ }
501
+ /**
502
+ * The function transfers ALL properties of one or more custom columns to a given fragment, or creates a new one if necesary.
503
+ * @param {ExportResults} exportResults - export result comprising fragments and manifest
504
+ * @param manifestPath - path to the current section of the manifest that describes the extension
505
+ * @param config - current config part, describing the new image of the extension
506
+ * @param appId - application ID
507
+ * @param viewTemplateType - name of the view template that shall be applied
508
+ * @param {ExtensionLogger} logger - logger instance for exceptions
509
+ */
510
+ function exportCustomColumnsToFragment(exportResults, manifestPath, config, appId, viewTemplateType, logger) {
511
+ const fragments = exportResults.fragments;
512
+ //Find and adapt manifest
513
+ const { manifestSection, lsFilePath, cellsFragmentName, fragmentType } = exportCustomColumnsToManifest(manifestPath, exportResults, config, appId, logger);
514
+ //Find and adapt fragment
515
+ const configColumns = JSON.parse(JSON.stringify(config));
516
+ let fragmentName = manifestSection['fragmentName'];
517
+ const fragmentId = fragmentName.substr(appId.length + 1);
518
+ const fragmentParts = fragmentId.split('.');
519
+ const templateType = fragmentParts[fragmentParts.length - 1];
520
+ fragmentName = templateType + types_1.FRAGMENTNAMEPART + fragmentType;
521
+ const cellFragmentParts = cellsFragmentName?.split('.');
522
+ const cellTemplateType = cellFragmentParts ? cellFragmentParts[cellFragmentParts.length - 1] : null;
523
+ const cellFragmentFileName = cellTemplateType ? cellTemplateType + types_1.FRAGMENTNAMEPART + fragmentType : null;
524
+ // update columns in fragment
525
+ const fragmentFound = updateColumnsInFragment(fragments, fragmentName, fragmentId, configColumns, viewTemplateType);
526
+ let cellsFragmentFound = false;
527
+ if (cellsFragmentName) {
528
+ //find an update the cells' fragment file
529
+ cellsFragmentFound = updateCellsFragment(fragments, cellFragmentFileName, config);
530
+ }
531
+ else {
532
+ cellsFragmentFound = true; //not relevant
533
+ }
534
+ if (!fragmentFound) {
535
+ const fragment = {
536
+ fileContent: view_controller_generator_1.getColumnFragmentContent(configColumns, viewTemplateType),
537
+ dataSourceUri: lsFilePath
538
+ };
539
+ exportResults.fragments.push(fragment);
540
+ }
541
+ if (!cellsFragmentFound) {
542
+ const fragment = {
543
+ fileContent: view_controller_generator_1.getResponsiveTableCellsFragment(config),
544
+ dataSourceUri: lsFilePath.replace(fragmentName, cellFragmentFileName)
545
+ };
546
+ exportResults.fragments.push(fragment);
547
+ }
548
+ }
549
+ exports.exportCustomColumnsToFragment = exportCustomColumnsToFragment;
550
+ /**
551
+ * Determines the manifest path of a column extension.
552
+ * @param {string[]} page Page object from manifest.
553
+ * @param {string} entitySet Table's entity set.
554
+ * @param {string} [additionalKey] Key provided when defining the FacetID or QuickVariantSelectionX.
555
+ * @param {string} [tableColumnExtensionType] Column extension type.
556
+ */
557
+ const getCustomColumnPath = (page, entitySet, additionalKey, tableColumnExtensionType) => {
558
+ const extension = FE_TEMPLATE_VIEW_EXTENSION_MAP.get(page.component.name);
559
+ if (!tableColumnExtensionType) {
560
+ let tableType = page.component.settings &&
561
+ page.component.settings.tableSettings &&
562
+ page.component.settings.tableSettings['type'];
563
+ if (!tableType) {
564
+ tableType = 'ResponsiveTable';
565
+ }
566
+ if (extension === 'sap.suite.ui.generic.template.AnalyticalListPage.view.AnalyticalListPage') {
567
+ tableType = 'AnalyticalTable';
568
+ }
569
+ tableColumnExtensionType = tableType + 'ColumnsExtension';
570
+ }
571
+ const viewTemplateType = tableColumnExtensionType;
572
+ let extensionKey = `${tableColumnExtensionType}|${entitySet}`;
573
+ if (additionalKey) {
574
+ extensionKey += '|' + additionalKey;
575
+ }
576
+ const path = 'sap.ui5/extends/extensions/sap.ui.viewExtensions/' + extension + '/' + extensionKey;
577
+ return { path, viewTemplateType };
578
+ };
579
+ exports.getCustomColumnPath = getCustomColumnPath;
580
+ //# sourceMappingURL=Fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/Fragment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { SAPUI5_FRAGMENT_CLASS, SAPUI5_VIEW_CLASS, ViewTypes, v2 } from '@sap/ux-specification-types';
2
+ export declare class BaseCustomSection implements v2.ObjectPageCustomSectionBase {
3
+ relatedFacet: string;
4
+ relativePosition: v2.SectionPosition;
5
+ title: string;
6
+ className: string;
7
+ }
8
+ export declare class ObjectPageCustomSectionFragment extends BaseCustomSection implements v2.ObjectPageCustomSectionFragment {
9
+ className: typeof SAPUI5_FRAGMENT_CLASS;
10
+ fragmentName: string;
11
+ type: v2.ExtensionFragmentTypes;
12
+ }
13
+ export declare class ObjectPageCustomSectionView extends BaseCustomSection implements v2.ObjectPageCustomSectionView {
14
+ className: typeof SAPUI5_VIEW_CLASS;
15
+ viewName: string;
16
+ type: ViewTypes;
17
+ }
18
+ //# sourceMappingURL=ObjectPageCustomSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectPageCustomSection.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v2/export/controls/ObjectPageCustomSection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAY,SAAS,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAIrH,qBAAa,iBAAkB,YAAW,EAAE,CAAC,2BAA2B;IAiBpE,YAAY,EAAE,MAAM,CAAC;IAiBrB,gBAAgB,EAAE,EAAE,CAAC,eAAe,CAAC;IAWrC,KAAK,EAAE,MAAM,CAAC;IAUd,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,+BAAgC,SAAQ,iBAAkB,YAAW,EAAE,CAAC,+BAA+B;IAChH,SAAS,EAAE,OAAO,qBAAqB,CAAC;IAUxC,YAAY,EAAE,MAAM,CAAC;IAUrB,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC;CACnC;AAED,qBAAa,2BAA4B,SAAQ,iBAAkB,YAAW,EAAE,CAAC,2BAA2B;IACxG,SAAS,EAAE,OAAO,iBAAiB,CAAC;IAUpC,QAAQ,EAAE,MAAM,CAAC;IAUjB,IAAI,EAAE,SAAS,CAAC;CACnB"}