@sap/ux-specification 1.84.87 → 1.84.89

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 (1079) hide show
  1. package/CHANGELOG.md +59 -3
  2. package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
  3. package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
  4. package/dist/documentation/v2/v2-ListReport.html +2 -2
  5. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  6. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  7. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  8. package/dist/documentation/v4/v4-ListReport.html +2 -2
  9. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  10. package/dist/index-min.js +30 -30
  11. package/dist/index-min.js.map +4 -4
  12. package/dist/schemas/v2/ObjectPageConfig.json +87 -98
  13. package/dist/schemas/v4/ListReportConfig.json +51 -37
  14. package/dist/schemas/v4/ObjectPageConfig.json +17 -15
  15. package/dist/specification/package.json +106 -0
  16. package/dist/specification/scripts/distTagWriter.d.ts +2 -0
  17. package/dist/specification/scripts/distTagWriter.d.ts.map +1 -0
  18. package/dist/specification/scripts/distTagWriter.js +43 -0
  19. package/dist/specification/scripts/distTagWriter.js.map +1 -0
  20. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts +10 -0
  21. package/dist/specification/scripts/documentation/components/TreeDiagram.d.ts.map +1 -0
  22. package/dist/specification/scripts/documentation/components/TreeDiagram.js +50 -0
  23. package/dist/specification/scripts/documentation/components/TreeDiagram.js.map +1 -0
  24. package/dist/specification/scripts/documentation/components/filter.d.ts +5 -0
  25. package/dist/specification/scripts/documentation/components/filter.d.ts.map +1 -0
  26. package/dist/specification/scripts/documentation/components/filter.js +49 -0
  27. package/dist/specification/scripts/documentation/components/filter.js.map +1 -0
  28. package/dist/specification/scripts/documentation/components/types.d.ts +31 -0
  29. package/dist/specification/scripts/documentation/components/types.d.ts.map +1 -0
  30. package/dist/specification/scripts/documentation/components/types.js +5 -0
  31. package/dist/specification/scripts/documentation/components/types.js.map +1 -0
  32. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts +41 -0
  33. package/dist/specification/scripts/documentation/components/ui/TreeUI.d.ts.map +1 -0
  34. package/dist/specification/scripts/documentation/components/ui/TreeUI.js +482 -0
  35. package/dist/specification/scripts/documentation/components/ui/TreeUI.js.map +1 -0
  36. package/dist/specification/scripts/documentation/components/ui/icons.d.ts +2 -0
  37. package/dist/specification/scripts/documentation/components/ui/icons.d.ts.map +1 -0
  38. package/dist/specification/scripts/documentation/components/ui/icons.js +15 -0
  39. package/dist/specification/scripts/documentation/components/ui/icons.js.map +1 -0
  40. package/dist/specification/scripts/documentation/components/ui/index.d.ts +2 -0
  41. package/dist/specification/scripts/documentation/components/ui/index.d.ts.map +1 -0
  42. package/dist/specification/scripts/documentation/components/ui/index.js +6 -0
  43. package/dist/specification/scripts/documentation/components/ui/index.js.map +1 -0
  44. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts +7 -0
  45. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.d.ts.map +1 -0
  46. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js +105 -0
  47. package/dist/specification/scripts/documentation/components/ui/keyboardNavigation.js.map +1 -0
  48. package/dist/specification/scripts/documentation/components/ui/search.d.ts +5 -0
  49. package/dist/specification/scripts/documentation/components/ui/search.d.ts.map +1 -0
  50. package/dist/specification/scripts/documentation/components/ui/search.js +108 -0
  51. package/dist/specification/scripts/documentation/components/ui/search.js.map +1 -0
  52. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts +7 -0
  53. package/dist/specification/scripts/documentation/components/ui/toggle.d.ts.map +1 -0
  54. package/dist/specification/scripts/documentation/components/ui/toggle.js +43 -0
  55. package/dist/specification/scripts/documentation/components/ui/toggle.js.map +1 -0
  56. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts +7 -0
  57. package/dist/specification/scripts/documentation/components/ui/tooltip.d.ts.map +1 -0
  58. package/dist/specification/scripts/documentation/components/ui/tooltip.js +93 -0
  59. package/dist/specification/scripts/documentation/components/ui/tooltip.js.map +1 -0
  60. package/dist/specification/scripts/documentation/components/ui/utils.d.ts +9 -0
  61. package/dist/specification/scripts/documentation/components/ui/utils.d.ts.map +1 -0
  62. package/dist/specification/scripts/documentation/components/ui/utils.js +73 -0
  63. package/dist/specification/scripts/documentation/components/ui/utils.js.map +1 -0
  64. package/dist/specification/scripts/documentation/runDocu.d.ts +7 -0
  65. package/dist/specification/scripts/documentation/runDocu.d.ts.map +1 -0
  66. package/dist/specification/scripts/documentation/runDocu.js +8 -0
  67. package/dist/specification/scripts/documentation/runDocu.js.map +1 -0
  68. package/dist/specification/scripts/extractDocu.d.ts +2 -0
  69. package/dist/specification/scripts/extractDocu.d.ts.map +1 -0
  70. package/dist/specification/scripts/extractDocu.js +522 -0
  71. package/dist/specification/scripts/extractDocu.js.map +1 -0
  72. package/dist/specification/scripts/spec.d.ts +2 -0
  73. package/dist/specification/scripts/spec.d.ts.map +1 -0
  74. package/dist/specification/scripts/spec.js +113 -0
  75. package/dist/specification/scripts/spec.js.map +1 -0
  76. package/dist/specification/scripts/to-json-schema.d.ts +11 -0
  77. package/dist/specification/scripts/to-json-schema.d.ts.map +1 -0
  78. package/dist/specification/scripts/to-json-schema.js +160 -0
  79. package/dist/specification/scripts/to-json-schema.js.map +1 -0
  80. package/dist/specification/src/api.d.ts.map +1 -0
  81. package/dist/specification/src/api.js.map +1 -0
  82. package/dist/specification/src/extensionLogger.d.ts.map +1 -0
  83. package/dist/specification/src/extensionLogger.js.map +1 -0
  84. package/dist/specification/src/i18n/i18n.d.ts.map +1 -0
  85. package/dist/specification/src/i18n/i18n.js.map +1 -0
  86. package/dist/specification/src/index.d.ts.map +1 -0
  87. package/dist/specification/src/index.js.map +1 -0
  88. package/dist/specification/src/project.d.ts.map +1 -0
  89. package/dist/specification/src/project.js.map +1 -0
  90. package/dist/specification/src/specification/schemaAccess.d.ts.map +1 -0
  91. package/dist/specification/src/specification/schemaAccess.js.map +1 -0
  92. package/dist/specification/src/sync/common/appProvider.d.ts.map +1 -0
  93. package/dist/specification/src/sync/common/appProvider.js.map +1 -0
  94. package/dist/specification/src/sync/common/decoration/control.d.ts.map +1 -0
  95. package/dist/specification/src/sync/common/decoration/control.js +225 -0
  96. package/dist/specification/src/sync/common/decoration/control.js.map +1 -0
  97. package/dist/specification/src/sync/common/decoration/decorators.d.ts +16 -0
  98. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -0
  99. package/dist/specification/src/sync/common/decoration/decorators.js +64 -0
  100. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -0
  101. package/dist/specification/src/sync/common/decoration/factory.d.ts.map +1 -0
  102. package/dist/specification/src/sync/common/decoration/factory.js.map +1 -0
  103. package/dist/specification/src/sync/common/decoration/flex.d.ts.map +1 -0
  104. package/dist/specification/src/sync/common/decoration/flex.js.map +1 -0
  105. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -0
  106. package/dist/specification/src/sync/common/decoration/index.js.map +1 -0
  107. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -0
  108. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -0
  109. package/dist/specification/src/sync/common/flexUtils.d.ts.map +1 -0
  110. package/dist/specification/src/sync/common/flexUtils.js.map +1 -0
  111. package/dist/specification/src/sync/common/generate/index.d.ts.map +1 -0
  112. package/dist/specification/src/sync/common/generate/index.js.map +1 -0
  113. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -0
  114. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -0
  115. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -0
  116. package/dist/specification/src/sync/common/generate/utils.js.map +1 -0
  117. package/dist/specification/src/sync/common/i18n.json +36 -0
  118. package/dist/specification/src/sync/common/import/utils.d.ts.map +1 -0
  119. package/dist/specification/src/sync/common/import/utils.js.map +1 -0
  120. package/dist/specification/src/sync/common/importProject.d.ts.map +1 -0
  121. package/dist/specification/src/sync/common/importProject.js +362 -0
  122. package/dist/specification/src/sync/common/importProject.js.map +1 -0
  123. package/dist/specification/src/sync/common/index.d.ts.map +1 -0
  124. package/dist/specification/src/sync/common/index.js.map +1 -0
  125. package/dist/specification/src/sync/common/utils.d.ts.map +1 -0
  126. package/dist/specification/src/sync/common/utils.js +1392 -0
  127. package/dist/specification/src/sync/common/utils.js.map +1 -0
  128. package/dist/specification/src/sync/i18n.d.ts.map +1 -0
  129. package/dist/specification/src/sync/i18n.js.map +1 -0
  130. package/dist/specification/src/sync/v2/application.d.ts.map +1 -0
  131. package/dist/specification/src/sync/v2/application.js +191 -0
  132. package/dist/specification/src/sync/v2/application.js.map +1 -0
  133. package/dist/specification/src/sync/v2/export/controls/Action.d.ts.map +1 -0
  134. package/dist/specification/src/sync/v2/export/controls/Action.js.map +1 -0
  135. package/dist/specification/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +1 -0
  136. package/dist/specification/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +1 -0
  137. package/dist/specification/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +1 -0
  138. package/dist/specification/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +1 -0
  139. package/dist/specification/src/sync/v2/export/controls/Card.d.ts.map +1 -0
  140. package/dist/specification/src/sync/v2/export/controls/Card.js.map +1 -0
  141. package/dist/specification/src/sync/v2/export/controls/Field.d.ts.map +1 -0
  142. package/dist/specification/src/sync/v2/export/controls/Field.js.map +1 -0
  143. package/dist/specification/src/sync/v2/export/controls/FilterBar.d.ts.map +1 -0
  144. package/dist/specification/src/sync/v2/export/controls/FilterBar.js.map +1 -0
  145. package/dist/specification/src/sync/v2/export/controls/FormAction.d.ts.map +1 -0
  146. package/dist/specification/src/sync/v2/export/controls/FormAction.js.map +1 -0
  147. package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts.map +1 -0
  148. package/dist/specification/src/sync/v2/export/controls/Fragment.js.map +1 -0
  149. package/dist/specification/src/sync/v2/export/controls/ObjectPageChart.d.ts.map +1 -0
  150. package/dist/specification/src/sync/v2/export/controls/ObjectPageChart.js.map +1 -0
  151. package/dist/specification/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  152. package/dist/specification/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +1 -0
  153. package/dist/specification/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +1 -0
  154. package/dist/specification/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +1 -0
  155. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +1 -0
  156. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeader.js +73 -0
  157. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeader.js.map +1 -0
  158. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +1 -0
  159. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +1 -0
  160. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.d.ts.map +1 -0
  161. package/dist/specification/src/sync/v2/export/controls/ObjectPageHeaderSection.js.map +1 -0
  162. package/dist/specification/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +1 -0
  163. package/dist/specification/src/sync/v2/export/controls/ObjectPageLayout.js.map +1 -0
  164. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.d.ts +41 -0
  165. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.d.ts.map +1 -0
  166. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.js +192 -0
  167. package/dist/specification/src/sync/v2/export/controls/ObjectPageSection.js.map +1 -0
  168. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts +54 -0
  169. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -0
  170. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.js +390 -0
  171. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.js.map +1 -0
  172. package/dist/specification/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  173. package/dist/specification/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +1 -0
  174. package/dist/specification/src/sync/v2/export/controls/Table.d.ts.map +1 -0
  175. package/dist/specification/src/sync/v2/export/controls/Table.js.map +1 -0
  176. package/dist/specification/src/sync/v2/export/controls/TableColumn.d.ts.map +1 -0
  177. package/dist/specification/src/sync/v2/export/controls/TableColumn.js.map +1 -0
  178. package/dist/specification/src/sync/v2/export/controls/ToolBar.d.ts.map +1 -0
  179. package/dist/specification/src/sync/v2/export/controls/ToolBar.js.map +1 -0
  180. package/dist/specification/src/sync/v2/export/controls/index.d.ts +22 -0
  181. package/dist/specification/src/sync/v2/export/controls/index.d.ts.map +1 -0
  182. package/dist/specification/src/sync/v2/export/controls/index.js +38 -0
  183. package/dist/specification/src/sync/v2/export/controls/index.js.map +1 -0
  184. package/dist/specification/src/sync/v2/export/export.d.ts.map +1 -0
  185. package/dist/specification/src/sync/v2/export/export.js.map +1 -0
  186. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -0
  187. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -0
  188. package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -0
  189. package/dist/specification/src/sync/v2/export/factory.js.map +1 -0
  190. package/dist/specification/src/sync/v2/export/manifest.d.ts.map +1 -0
  191. package/dist/specification/src/sync/v2/export/manifest.js.map +1 -0
  192. package/dist/specification/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +1 -0
  193. package/dist/specification/src/sync/v2/export/pages/AnalyticalListPage.js.map +1 -0
  194. package/dist/specification/src/sync/v2/export/pages/ListReport.d.ts.map +1 -0
  195. package/dist/specification/src/sync/v2/export/pages/ListReport.js.map +1 -0
  196. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -0
  197. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -0
  198. package/dist/specification/src/sync/v2/export/pages/OverviewPage.d.ts.map +1 -0
  199. package/dist/specification/src/sync/v2/export/pages/OverviewPage.js.map +1 -0
  200. package/dist/specification/src/sync/v2/export/pages/index.d.ts.map +1 -0
  201. package/dist/specification/src/sync/v2/export/pages/index.js.map +1 -0
  202. package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts.map +1 -0
  203. package/dist/specification/src/sync/v2/export/view-controller-generator.js.map +1 -0
  204. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -0
  205. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +193 -0
  206. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -0
  207. package/dist/specification/src/sync/v2/generate/generate.d.ts.map +1 -0
  208. package/dist/specification/src/sync/v2/generate/generate.js.map +1 -0
  209. package/dist/specification/src/sync/v2/generate/index.d.ts.map +1 -0
  210. package/dist/specification/src/sync/v2/generate/index.js.map +1 -0
  211. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -0
  212. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -0
  213. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -0
  214. package/dist/specification/src/sync/v2/generate/objectPage.js +671 -0
  215. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -0
  216. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -0
  217. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -0
  218. package/dist/specification/src/sync/v2/generate/utils.d.ts.map +1 -0
  219. package/dist/specification/src/sync/v2/generate/utils.js +662 -0
  220. package/dist/specification/src/sync/v2/generate/utils.js.map +1 -0
  221. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -0
  222. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -0
  223. package/dist/specification/src/sync/v2/import/app/ovpProvider.d.ts.map +1 -0
  224. package/dist/specification/src/sync/v2/import/app/ovpProvider.js.map +1 -0
  225. package/dist/specification/src/sync/v2/import/common/index.d.ts.map +1 -0
  226. package/dist/specification/src/sync/v2/import/common/index.js +444 -0
  227. package/dist/specification/src/sync/v2/import/common/index.js.map +1 -0
  228. package/dist/specification/src/sync/v2/import/controls/table.d.ts.map +1 -0
  229. package/dist/specification/src/sync/v2/import/controls/table.js.map +1 -0
  230. package/dist/specification/src/sync/v2/import/getPageType.d.ts.map +1 -0
  231. package/dist/specification/src/sync/v2/import/getPageType.js.map +1 -0
  232. package/dist/specification/src/sync/v2/import/index.d.ts.map +1 -0
  233. package/dist/specification/src/sync/v2/import/index.js.map +1 -0
  234. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -0
  235. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -0
  236. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -0
  237. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -0
  238. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -0
  239. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -0
  240. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -0
  241. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -0
  242. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -0
  243. package/dist/specification/src/sync/v2/import/utils.js.map +1 -0
  244. package/dist/specification/src/sync/v2/types.d.ts +85 -0
  245. package/dist/specification/src/sync/v2/types.d.ts.map +1 -0
  246. package/dist/specification/src/sync/v2/types.js +56 -0
  247. package/dist/specification/src/sync/v2/types.js.map +1 -0
  248. package/dist/specification/src/sync/v4/application.d.ts.map +1 -0
  249. package/dist/specification/src/sync/v4/application.js +157 -0
  250. package/dist/specification/src/sync/v4/application.js.map +1 -0
  251. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -0
  252. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +26 -0
  253. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -0
  254. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -0
  255. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -0
  256. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +1 -0
  257. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeader.js.map +1 -0
  258. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +1 -0
  259. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderSection.js +67 -0
  260. package/dist/specification/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +1 -0
  261. package/dist/specification/src/sync/v4/export/controls/ObjectPageLayout.d.ts.map +1 -0
  262. package/dist/specification/src/sync/v4/export/controls/ObjectPageLayout.js +26 -0
  263. package/dist/specification/src/sync/v4/export/controls/ObjectPageLayout.js.map +1 -0
  264. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +24 -0
  265. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -0
  266. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +194 -0
  267. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -0
  268. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +14 -0
  269. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +1 -0
  270. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js +77 -0
  271. package/dist/specification/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +1 -0
  272. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +1 -0
  273. package/dist/specification/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +1 -0
  274. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +151 -0
  275. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -0
  276. package/dist/specification/src/sync/v4/export/controls/Table.js +666 -0
  277. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -0
  278. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -0
  279. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +316 -0
  280. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -0
  281. package/dist/specification/src/sync/v4/export/controls/ToolBar.d.ts.map +1 -0
  282. package/dist/specification/src/sync/v4/export/controls/ToolBar.js.map +1 -0
  283. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +12 -0
  284. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -0
  285. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +50 -0
  286. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -0
  287. package/dist/specification/src/sync/v4/export/controls/index.d.ts.map +1 -0
  288. package/dist/specification/src/sync/v4/export/controls/index.js.map +1 -0
  289. package/dist/specification/src/sync/v4/export/export.d.ts +19 -0
  290. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -0
  291. package/dist/specification/src/sync/v4/export/export.js +936 -0
  292. package/dist/specification/src/sync/v4/export/export.js.map +1 -0
  293. package/dist/specification/src/sync/v4/export/factory.d.ts.map +1 -0
  294. package/dist/specification/src/sync/v4/export/factory.js +61 -0
  295. package/dist/specification/src/sync/v4/export/factory.js.map +1 -0
  296. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.d.ts.map +1 -0
  297. package/dist/specification/src/sync/v4/export/flexibleColumnLayout.js.map +1 -0
  298. package/dist/specification/src/sync/v4/export/manifest.d.ts.map +1 -0
  299. package/dist/specification/src/sync/v4/export/manifest.js.map +1 -0
  300. package/dist/specification/src/sync/v4/export/pages/FreestylePage.d.ts.map +1 -0
  301. package/dist/specification/src/sync/v4/export/pages/FreestylePage.js.map +1 -0
  302. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -0
  303. package/dist/specification/src/sync/v4/export/pages/ListReport.js +83 -0
  304. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -0
  305. package/dist/specification/src/sync/v4/export/pages/ObjectPage.d.ts.map +1 -0
  306. package/dist/specification/src/sync/v4/export/pages/ObjectPage.js +42 -0
  307. package/dist/specification/src/sync/v4/export/pages/ObjectPage.js.map +1 -0
  308. package/dist/specification/src/sync/v4/export/pages/index.d.ts.map +1 -0
  309. package/dist/specification/src/sync/v4/export/pages/index.js.map +1 -0
  310. package/dist/specification/src/sync/v4/export/types.d.ts.map +1 -0
  311. package/dist/specification/src/sync/v4/export/types.js.map +1 -0
  312. package/dist/specification/src/sync/v4/export/utils.d.ts.map +1 -0
  313. package/dist/specification/src/sync/v4/export/utils.js.map +1 -0
  314. package/dist/specification/src/sync/v4/generate/freestylePage.d.ts.map +1 -0
  315. package/dist/specification/src/sync/v4/generate/freestylePage.js.map +1 -0
  316. package/dist/specification/src/sync/v4/generate/generate.d.ts +42 -0
  317. package/dist/specification/src/sync/v4/generate/generate.d.ts.map +1 -0
  318. package/dist/specification/src/sync/v4/generate/generate.js +101 -0
  319. package/dist/specification/src/sync/v4/generate/generate.js.map +1 -0
  320. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -0
  321. package/dist/specification/src/sync/v4/generate/index.js.map +1 -0
  322. package/dist/specification/src/sync/v4/generate/listReport.d.ts +43 -0
  323. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -0
  324. package/dist/specification/src/sync/v4/generate/listReport.js +737 -0
  325. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -0
  326. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -0
  327. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -0
  328. package/dist/specification/src/sync/v4/import/app/appProvider.d.ts.map +1 -0
  329. package/dist/specification/src/sync/v4/import/app/appProvider.js.map +1 -0
  330. package/dist/specification/src/sync/v4/import/app/index.d.ts.map +1 -0
  331. package/dist/specification/src/sync/v4/import/app/index.js.map +1 -0
  332. package/dist/specification/src/sync/v4/import/fragment.d.ts.map +1 -0
  333. package/dist/specification/src/sync/v4/import/fragment.js.map +1 -0
  334. package/dist/specification/src/sync/v4/import/index.d.ts.map +1 -0
  335. package/dist/specification/src/sync/v4/import/index.js.map +1 -0
  336. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -0
  337. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -0
  338. package/dist/specification/src/sync/v4/import/pages/objectPage.d.ts.map +1 -0
  339. package/dist/specification/src/sync/v4/import/pages/objectPage.js.map +1 -0
  340. package/dist/specification/src/sync/v4/import/utils.d.ts.map +1 -0
  341. package/dist/specification/src/sync/v4/import/utils.js.map +1 -0
  342. package/dist/specification/src/sync/v4/types.d.ts.map +1 -0
  343. package/dist/specification/src/sync/v4/types.js.map +1 -0
  344. package/dist/specification/src/sync/v4/utils/StableIdHelper.d.ts.map +1 -0
  345. package/dist/specification/src/sync/v4/utils/StableIdHelper.js.map +1 -0
  346. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -0
  347. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -0
  348. package/dist/types/src/apiTypes.d.ts +423 -0
  349. package/dist/types/src/apiTypes.d.ts.map +1 -0
  350. package/dist/types/src/apiTypes.js +31 -0
  351. package/dist/types/src/apiTypes.js.map +1 -0
  352. package/dist/types/src/common/Application.d.ts +61 -0
  353. package/dist/types/src/common/Application.d.ts.map +1 -0
  354. package/dist/types/src/common/Application.js +25 -0
  355. package/dist/types/src/common/Application.js.map +1 -0
  356. package/dist/types/src/common/color.d.ts +91 -0
  357. package/dist/types/src/common/color.d.ts.map +1 -0
  358. package/dist/types/src/common/color.js +99 -0
  359. package/dist/types/src/common/color.js.map +1 -0
  360. package/dist/types/src/common/index.d.ts +6 -0
  361. package/dist/types/src/common/index.d.ts.map +1 -0
  362. package/dist/types/src/common/index.js +22 -0
  363. package/dist/types/src/common/index.js.map +1 -0
  364. package/dist/types/src/common/page.d.ts +75 -0
  365. package/dist/types/src/common/page.d.ts.map +1 -0
  366. package/dist/types/src/common/page.js +35 -0
  367. package/dist/types/src/common/page.js.map +1 -0
  368. package/dist/types/src/common/types.d.ts +452 -0
  369. package/dist/types/src/common/types.d.ts.map +1 -0
  370. package/dist/types/src/common/types.js +328 -0
  371. package/dist/types/src/common/types.js.map +1 -0
  372. package/dist/types/src/common/webapp/manifest/Manifest.d.ts +124 -0
  373. package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -0
  374. package/dist/types/src/common/webapp/manifest/Manifest.js +24 -0
  375. package/dist/types/src/common/webapp/manifest/Manifest.js.map +1 -0
  376. package/dist/types/src/common/webapp/manifest/index.d.ts +4 -0
  377. package/dist/types/src/common/webapp/manifest/index.d.ts.map +1 -0
  378. package/dist/types/src/common/webapp/manifest/index.js +20 -0
  379. package/dist/types/src/common/webapp/manifest/index.js.map +1 -0
  380. package/dist/types/src/common/webapp/manifest/sapOvp.d.ts +19 -0
  381. package/dist/types/src/common/webapp/manifest/sapOvp.d.ts.map +1 -0
  382. package/dist/types/src/common/webapp/manifest/sapOvp.js +3 -0
  383. package/dist/types/src/common/webapp/manifest/sapOvp.js.map +1 -0
  384. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts +101 -0
  385. package/dist/types/src/common/webapp/manifest/sapUi5.d.ts.map +1 -0
  386. package/dist/types/src/common/webapp/manifest/sapUi5.js +15 -0
  387. package/dist/types/src/common/webapp/manifest/sapUi5.js.map +1 -0
  388. package/dist/types/src/index.d.ts +5 -0
  389. package/dist/types/src/index.d.ts.map +1 -0
  390. package/dist/types/src/index.js +34 -0
  391. package/dist/types/src/index.js.map +1 -0
  392. package/dist/types/src/v2/ApplicationV2.d.ts +7 -0
  393. package/dist/types/src/v2/ApplicationV2.d.ts.map +1 -0
  394. package/dist/types/src/v2/ApplicationV2.js +3 -0
  395. package/dist/types/src/v2/ApplicationV2.js.map +1 -0
  396. package/dist/types/src/v2/application.d.ts +16 -0
  397. package/dist/types/src/v2/application.d.ts.map +1 -0
  398. package/dist/types/src/v2/application.js +3 -0
  399. package/dist/types/src/v2/application.js.map +1 -0
  400. package/dist/types/src/v2/controls/Action.d.ts +138 -0
  401. package/dist/types/src/v2/controls/Action.d.ts.map +1 -0
  402. package/dist/types/src/v2/controls/Action.js +21 -0
  403. package/dist/types/src/v2/controls/Action.js.map +1 -0
  404. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts +59 -0
  405. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts.map +1 -0
  406. package/dist/types/src/v2/controls/AnalyticalListPageChart.js +37 -0
  407. package/dist/types/src/v2/controls/AnalyticalListPageChart.js.map +1 -0
  408. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts +31 -0
  409. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts.map +1 -0
  410. package/dist/types/src/v2/controls/AnalyticalListPageKPI.js +4 -0
  411. package/dist/types/src/v2/controls/AnalyticalListPageKPI.js.map +1 -0
  412. package/dist/types/src/v2/controls/Card.d.ts +459 -0
  413. package/dist/types/src/v2/controls/Card.d.ts.map +1 -0
  414. package/dist/types/src/v2/controls/Card.js +76 -0
  415. package/dist/types/src/v2/controls/Card.js.map +1 -0
  416. package/dist/types/src/v2/controls/Field.d.ts +11 -0
  417. package/dist/types/src/v2/controls/Field.d.ts.map +1 -0
  418. package/dist/types/src/v2/controls/Field.js +4 -0
  419. package/dist/types/src/v2/controls/Field.js.map +1 -0
  420. package/dist/types/src/v2/controls/FilterBar.d.ts +181 -0
  421. package/dist/types/src/v2/controls/FilterBar.d.ts.map +1 -0
  422. package/dist/types/src/v2/controls/FilterBar.js +60 -0
  423. package/dist/types/src/v2/controls/FilterBar.js.map +1 -0
  424. package/dist/types/src/v2/controls/Header.d.ts +9 -0
  425. package/dist/types/src/v2/controls/Header.d.ts.map +1 -0
  426. package/dist/types/src/v2/controls/Header.js +3 -0
  427. package/dist/types/src/v2/controls/Header.js.map +1 -0
  428. package/dist/types/src/v2/controls/ObjectPageChart.d.ts +17 -0
  429. package/dist/types/src/v2/controls/ObjectPageChart.d.ts.map +1 -0
  430. package/dist/types/src/v2/controls/ObjectPageChart.js +4 -0
  431. package/dist/types/src/v2/controls/ObjectPageChart.js.map +1 -0
  432. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts +20 -0
  433. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts.map +1 -0
  434. package/dist/types/src/v2/controls/ObjectPageFooter.js +3 -0
  435. package/dist/types/src/v2/controls/ObjectPageFooter.js.map +1 -0
  436. package/dist/types/src/v2/controls/ObjectPageForm.d.ts +16 -0
  437. package/dist/types/src/v2/controls/ObjectPageForm.d.ts.map +1 -0
  438. package/dist/types/src/v2/controls/ObjectPageForm.js +3 -0
  439. package/dist/types/src/v2/controls/ObjectPageForm.js.map +1 -0
  440. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts +40 -0
  441. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts.map +1 -0
  442. package/dist/types/src/v2/controls/ObjectPageHeader.js +9 -0
  443. package/dist/types/src/v2/controls/ObjectPageHeader.js.map +1 -0
  444. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts +32 -0
  445. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -0
  446. package/dist/types/src/v2/controls/ObjectPageHeaderSection.js +3 -0
  447. package/dist/types/src/v2/controls/ObjectPageHeaderSection.js.map +1 -0
  448. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts +23 -0
  449. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts.map +1 -0
  450. package/dist/types/src/v2/controls/ObjectPageLayout.js +4 -0
  451. package/dist/types/src/v2/controls/ObjectPageLayout.js.map +1 -0
  452. package/dist/types/src/v2/controls/ObjectPageSection.d.ts +121 -0
  453. package/dist/types/src/v2/controls/ObjectPageSection.d.ts.map +1 -0
  454. package/dist/types/src/v2/controls/ObjectPageSection.js +14 -0
  455. package/dist/types/src/v2/controls/ObjectPageSection.js.map +1 -0
  456. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +202 -0
  457. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -0
  458. package/dist/types/src/v2/controls/ObjectPageTable.js +8 -0
  459. package/dist/types/src/v2/controls/ObjectPageTable.js.map +1 -0
  460. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts +16 -0
  461. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts.map +1 -0
  462. package/dist/types/src/v2/controls/ObjectPageToolBar.js +3 -0
  463. package/dist/types/src/v2/controls/ObjectPageToolBar.js.map +1 -0
  464. package/dist/types/src/v2/controls/Table.d.ts +501 -0
  465. package/dist/types/src/v2/controls/Table.d.ts.map +1 -0
  466. package/dist/types/src/v2/controls/Table.js +58 -0
  467. package/dist/types/src/v2/controls/Table.js.map +1 -0
  468. package/dist/types/src/v2/controls/ToolBar.d.ts +9 -0
  469. package/dist/types/src/v2/controls/ToolBar.d.ts.map +1 -0
  470. package/dist/types/src/v2/controls/ToolBar.js +3 -0
  471. package/dist/types/src/v2/controls/ToolBar.js.map +1 -0
  472. package/dist/types/src/v2/controls/index.d.ts +19 -0
  473. package/dist/types/src/v2/controls/index.d.ts.map +1 -0
  474. package/dist/types/src/v2/controls/index.js +35 -0
  475. package/dist/types/src/v2/controls/index.js.map +1 -0
  476. package/dist/types/src/v2/index.d.ts +8 -0
  477. package/dist/types/src/v2/index.d.ts.map +1 -0
  478. package/dist/types/src/v2/index.js +24 -0
  479. package/dist/types/src/v2/index.js.map +1 -0
  480. package/dist/types/src/v2/overviewPage.d.ts +63 -0
  481. package/dist/types/src/v2/overviewPage.d.ts.map +1 -0
  482. package/dist/types/src/v2/overviewPage.js +15 -0
  483. package/dist/types/src/v2/overviewPage.js.map +1 -0
  484. package/dist/types/src/v2/page.d.ts +8 -0
  485. package/dist/types/src/v2/page.d.ts.map +1 -0
  486. package/dist/types/src/v2/page.js +3 -0
  487. package/dist/types/src/v2/page.js.map +1 -0
  488. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts +25 -0
  489. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts.map +1 -0
  490. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.js +3 -0
  491. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.js.map +1 -0
  492. package/dist/types/src/v2/pages/ListReportConfigV2.d.ts +17 -0
  493. package/dist/types/src/v2/pages/ListReportConfigV2.d.ts.map +1 -0
  494. package/dist/types/src/v2/pages/ListReportConfigV2.js +3 -0
  495. package/dist/types/src/v2/pages/ListReportConfigV2.js.map +1 -0
  496. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +37 -0
  497. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -0
  498. package/dist/types/src/v2/pages/ObjectPageConfigV2.js +3 -0
  499. package/dist/types/src/v2/pages/ObjectPageConfigV2.js.map +1 -0
  500. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts +102 -0
  501. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts.map +1 -0
  502. package/dist/types/src/v2/pages/OverviewPageConfigV2.js +7 -0
  503. package/dist/types/src/v2/pages/OverviewPageConfigV2.js.map +1 -0
  504. package/dist/types/src/v2/pages/index.d.ts +5 -0
  505. package/dist/types/src/v2/pages/index.d.ts.map +1 -0
  506. package/dist/types/src/v2/pages/index.js +21 -0
  507. package/dist/types/src/v2/pages/index.js.map +1 -0
  508. package/dist/types/src/v2/webapp/index.d.ts +2 -0
  509. package/dist/types/src/v2/webapp/index.d.ts.map +1 -0
  510. package/dist/types/src/v2/webapp/index.js +18 -0
  511. package/dist/types/src/v2/webapp/index.js.map +1 -0
  512. package/dist/types/src/v2/webapp/manifest/index.d.ts +4 -0
  513. package/dist/types/src/v2/webapp/manifest/index.d.ts.map +1 -0
  514. package/dist/types/src/v2/webapp/manifest/index.js +20 -0
  515. package/dist/types/src/v2/webapp/manifest/index.js.map +1 -0
  516. package/dist/types/src/v2/webapp/manifest/sapUi.d.ts +11 -0
  517. package/dist/types/src/v2/webapp/manifest/sapUi.d.ts.map +1 -0
  518. package/dist/types/src/v2/webapp/manifest/sapUi.js +3 -0
  519. package/dist/types/src/v2/webapp/manifest/sapUi.js.map +1 -0
  520. package/dist/types/src/v2/webapp/manifest/sapUi5.d.ts +77 -0
  521. package/dist/types/src/v2/webapp/manifest/sapUi5.d.ts.map +1 -0
  522. package/dist/types/src/v2/webapp/manifest/sapUi5.js +10 -0
  523. package/dist/types/src/v2/webapp/manifest/sapUi5.js.map +1 -0
  524. package/dist/types/src/v2/webapp/manifest/sapUiPageV2.d.ts +32 -0
  525. package/dist/types/src/v2/webapp/manifest/sapUiPageV2.d.ts.map +1 -0
  526. package/dist/types/src/v2/webapp/manifest/sapUiPageV2.js +8 -0
  527. package/dist/types/src/v2/webapp/manifest/sapUiPageV2.js.map +1 -0
  528. package/dist/types/src/v4/ApplicationV4.d.ts +7 -0
  529. package/dist/types/src/v4/ApplicationV4.d.ts.map +1 -0
  530. package/dist/types/src/v4/ApplicationV4.js +3 -0
  531. package/dist/types/src/v4/ApplicationV4.js.map +1 -0
  532. package/dist/types/src/v4/application.d.ts +13 -0
  533. package/dist/types/src/v4/application.d.ts.map +1 -0
  534. package/dist/types/src/v4/application.js +3 -0
  535. package/dist/types/src/v4/application.js.map +1 -0
  536. package/dist/types/src/v4/controls/FilterBar.d.ts +19 -0
  537. package/dist/types/src/v4/controls/FilterBar.d.ts.map +1 -0
  538. package/dist/types/src/v4/controls/FilterBar.js +3 -0
  539. package/dist/types/src/v4/controls/FilterBar.js.map +1 -0
  540. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +12 -0
  541. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -0
  542. package/dist/types/src/v4/controls/ObjectPageFooter.js +3 -0
  543. package/dist/types/src/v4/controls/ObjectPageFooter.js.map +1 -0
  544. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +30 -0
  545. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -0
  546. package/dist/types/src/v4/controls/ObjectPageHeader.js +3 -0
  547. package/dist/types/src/v4/controls/ObjectPageHeader.js.map +1 -0
  548. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts +47 -0
  549. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -0
  550. package/dist/types/src/v4/controls/ObjectPageHeaderSection.js +8 -0
  551. package/dist/types/src/v4/controls/ObjectPageHeaderSection.js.map +1 -0
  552. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts +18 -0
  553. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts.map +1 -0
  554. package/dist/types/src/v4/controls/ObjectPageLayout.js +9 -0
  555. package/dist/types/src/v4/controls/ObjectPageLayout.js.map +1 -0
  556. package/dist/types/src/v4/controls/ObjectPageSection.d.ts +126 -0
  557. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -0
  558. package/dist/types/src/v4/controls/ObjectPageSection.js +16 -0
  559. package/dist/types/src/v4/controls/ObjectPageSection.js.map +1 -0
  560. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +74 -0
  561. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -0
  562. package/dist/types/src/v4/controls/ObjectPageTable.js +9 -0
  563. package/dist/types/src/v4/controls/ObjectPageTable.js.map +1 -0
  564. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +26 -0
  565. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -0
  566. package/dist/types/src/v4/controls/ObjectPageToolBar.js +3 -0
  567. package/dist/types/src/v4/controls/ObjectPageToolBar.js.map +1 -0
  568. package/dist/types/src/v4/controls/Table.d.ts +308 -0
  569. package/dist/types/src/v4/controls/Table.d.ts.map +1 -0
  570. package/dist/types/src/v4/controls/Table.js +31 -0
  571. package/dist/types/src/v4/controls/Table.js.map +1 -0
  572. package/dist/types/src/v4/controls/ToolBar.d.ts +54 -0
  573. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -0
  574. package/dist/types/src/v4/controls/ToolBar.js +9 -0
  575. package/dist/types/src/v4/controls/ToolBar.js.map +1 -0
  576. package/dist/types/src/v4/controls/index.d.ts +11 -0
  577. package/dist/types/src/v4/controls/index.d.ts.map +1 -0
  578. package/dist/types/src/v4/controls/index.js +27 -0
  579. package/dist/types/src/v4/controls/index.js.map +1 -0
  580. package/dist/types/src/v4/index.d.ts +7 -0
  581. package/dist/types/src/v4/index.d.ts.map +1 -0
  582. package/dist/types/src/v4/index.js +23 -0
  583. package/dist/types/src/v4/index.js.map +1 -0
  584. package/dist/types/src/v4/page.d.ts +35 -0
  585. package/dist/types/src/v4/page.d.ts.map +1 -0
  586. package/dist/types/src/v4/page.js +3 -0
  587. package/dist/types/src/v4/page.js.map +1 -0
  588. package/dist/types/src/v4/pages/FreestylePageConfigV4.d.ts +3 -0
  589. package/dist/types/src/v4/pages/FreestylePageConfigV4.d.ts.map +1 -0
  590. package/dist/types/src/v4/pages/FreestylePageConfigV4.js +3 -0
  591. package/dist/types/src/v4/pages/FreestylePageConfigV4.js.map +1 -0
  592. package/dist/types/src/v4/pages/ListReportConfigV4.d.ts +41 -0
  593. package/dist/types/src/v4/pages/ListReportConfigV4.d.ts.map +1 -0
  594. package/dist/types/src/v4/pages/ListReportConfigV4.js +10 -0
  595. package/dist/types/src/v4/pages/ListReportConfigV4.js.map +1 -0
  596. package/dist/types/src/v4/pages/ObjectPageConfigV4.d.ts +20 -0
  597. package/dist/types/src/v4/pages/ObjectPageConfigV4.d.ts.map +1 -0
  598. package/dist/types/src/v4/pages/ObjectPageConfigV4.js +9 -0
  599. package/dist/types/src/v4/pages/ObjectPageConfigV4.js.map +1 -0
  600. package/dist/types/src/v4/pages/index.d.ts +4 -0
  601. package/dist/types/src/v4/pages/index.d.ts.map +1 -0
  602. package/dist/types/src/v4/pages/index.js +20 -0
  603. package/dist/types/src/v4/pages/index.js.map +1 -0
  604. package/dist/types/src/v4/webapp/index.d.ts +2 -0
  605. package/dist/types/src/v4/webapp/index.d.ts.map +1 -0
  606. package/dist/types/src/v4/webapp/index.js +18 -0
  607. package/dist/types/src/v4/webapp/index.js.map +1 -0
  608. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts +238 -0
  609. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts.map +1 -0
  610. package/dist/types/src/v4/webapp/manifest/ManifestSettings.js +22 -0
  611. package/dist/types/src/v4/webapp/manifest/ManifestSettings.js.map +1 -0
  612. package/dist/types/src/v4/webapp/manifest/index.d.ts +4 -0
  613. package/dist/types/src/v4/webapp/manifest/index.d.ts.map +1 -0
  614. package/dist/types/src/v4/webapp/manifest/index.js +20 -0
  615. package/dist/types/src/v4/webapp/manifest/index.js.map +1 -0
  616. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts +77 -0
  617. package/dist/types/src/v4/webapp/manifest/sapUi5.d.ts.map +1 -0
  618. package/dist/types/src/v4/webapp/manifest/sapUi5.js +6 -0
  619. package/dist/types/src/v4/webapp/manifest/sapUi5.js.map +1 -0
  620. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts +89 -0
  621. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.d.ts.map +1 -0
  622. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js +15 -0
  623. package/dist/types/src/v4/webapp/manifest/sapUiPageV4.js.map +1 -0
  624. package/package.json +6 -6
  625. package/dist/package.json +0 -106
  626. package/dist/src/api.d.ts.map +0 -1
  627. package/dist/src/api.js.map +0 -1
  628. package/dist/src/extensionLogger.d.ts.map +0 -1
  629. package/dist/src/extensionLogger.js.map +0 -1
  630. package/dist/src/i18n/i18n.d.ts.map +0 -1
  631. package/dist/src/i18n/i18n.js.map +0 -1
  632. package/dist/src/index.d.ts.map +0 -1
  633. package/dist/src/index.js.map +0 -1
  634. package/dist/src/project.d.ts.map +0 -1
  635. package/dist/src/project.js.map +0 -1
  636. package/dist/src/specification/schemaAccess.d.ts.map +0 -1
  637. package/dist/src/specification/schemaAccess.js.map +0 -1
  638. package/dist/src/sync/common/appProvider.d.ts.map +0 -1
  639. package/dist/src/sync/common/appProvider.js.map +0 -1
  640. package/dist/src/sync/common/decoration/control.d.ts.map +0 -1
  641. package/dist/src/sync/common/decoration/control.js +0 -227
  642. package/dist/src/sync/common/decoration/control.js.map +0 -1
  643. package/dist/src/sync/common/decoration/decorators.d.ts +0 -13
  644. package/dist/src/sync/common/decoration/decorators.d.ts.map +0 -1
  645. package/dist/src/sync/common/decoration/decorators.js +0 -52
  646. package/dist/src/sync/common/decoration/decorators.js.map +0 -1
  647. package/dist/src/sync/common/decoration/factory.d.ts.map +0 -1
  648. package/dist/src/sync/common/decoration/factory.js.map +0 -1
  649. package/dist/src/sync/common/decoration/flex.d.ts.map +0 -1
  650. package/dist/src/sync/common/decoration/flex.js.map +0 -1
  651. package/dist/src/sync/common/decoration/index.d.ts.map +0 -1
  652. package/dist/src/sync/common/decoration/index.js.map +0 -1
  653. package/dist/src/sync/common/distTagEvaluator.d.ts.map +0 -1
  654. package/dist/src/sync/common/distTagEvaluator.js.map +0 -1
  655. package/dist/src/sync/common/flexUtils.d.ts.map +0 -1
  656. package/dist/src/sync/common/flexUtils.js.map +0 -1
  657. package/dist/src/sync/common/generate/index.d.ts.map +0 -1
  658. package/dist/src/sync/common/generate/index.js.map +0 -1
  659. package/dist/src/sync/common/generate/objectPage.d.ts.map +0 -1
  660. package/dist/src/sync/common/generate/objectPage.js.map +0 -1
  661. package/dist/src/sync/common/generate/utils.d.ts.map +0 -1
  662. package/dist/src/sync/common/generate/utils.js.map +0 -1
  663. package/dist/src/sync/common/i18n.json +0 -32
  664. package/dist/src/sync/common/import/utils.d.ts.map +0 -1
  665. package/dist/src/sync/common/import/utils.js.map +0 -1
  666. package/dist/src/sync/common/importProject.d.ts.map +0 -1
  667. package/dist/src/sync/common/importProject.js +0 -360
  668. package/dist/src/sync/common/importProject.js.map +0 -1
  669. package/dist/src/sync/common/index.d.ts.map +0 -1
  670. package/dist/src/sync/common/index.js.map +0 -1
  671. package/dist/src/sync/common/utils.d.ts.map +0 -1
  672. package/dist/src/sync/common/utils.js +0 -1392
  673. package/dist/src/sync/common/utils.js.map +0 -1
  674. package/dist/src/sync/i18n.d.ts.map +0 -1
  675. package/dist/src/sync/i18n.js.map +0 -1
  676. package/dist/src/sync/v2/application.d.ts.map +0 -1
  677. package/dist/src/sync/v2/application.js +0 -190
  678. package/dist/src/sync/v2/application.js.map +0 -1
  679. package/dist/src/sync/v2/export/controls/Action.d.ts.map +0 -1
  680. package/dist/src/sync/v2/export/controls/Action.js.map +0 -1
  681. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.d.ts.map +0 -1
  682. package/dist/src/sync/v2/export/controls/AnalyticalListPageChart.js.map +0 -1
  683. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.d.ts.map +0 -1
  684. package/dist/src/sync/v2/export/controls/AnalyticalListPageKPI.js.map +0 -1
  685. package/dist/src/sync/v2/export/controls/Card.d.ts.map +0 -1
  686. package/dist/src/sync/v2/export/controls/Card.js.map +0 -1
  687. package/dist/src/sync/v2/export/controls/Field.d.ts.map +0 -1
  688. package/dist/src/sync/v2/export/controls/Field.js.map +0 -1
  689. package/dist/src/sync/v2/export/controls/FilterBar.d.ts.map +0 -1
  690. package/dist/src/sync/v2/export/controls/FilterBar.js.map +0 -1
  691. package/dist/src/sync/v2/export/controls/FormAction.d.ts.map +0 -1
  692. package/dist/src/sync/v2/export/controls/FormAction.js.map +0 -1
  693. package/dist/src/sync/v2/export/controls/Fragment.d.ts.map +0 -1
  694. package/dist/src/sync/v2/export/controls/Fragment.js.map +0 -1
  695. package/dist/src/sync/v2/export/controls/ObjectPageChart.d.ts.map +0 -1
  696. package/dist/src/sync/v2/export/controls/ObjectPageChart.js.map +0 -1
  697. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  698. package/dist/src/sync/v2/export/controls/ObjectPageCustomSection.js.map +0 -1
  699. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.d.ts.map +0 -1
  700. package/dist/src/sync/v2/export/controls/ObjectPageFooterAction.js.map +0 -1
  701. package/dist/src/sync/v2/export/controls/ObjectPageHeader.d.ts.map +0 -1
  702. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js +0 -72
  703. package/dist/src/sync/v2/export/controls/ObjectPageHeader.js.map +0 -1
  704. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.d.ts.map +0 -1
  705. package/dist/src/sync/v2/export/controls/ObjectPageHeaderAction.js.map +0 -1
  706. package/dist/src/sync/v2/export/controls/ObjectPageHeaderSection.d.ts.map +0 -1
  707. package/dist/src/sync/v2/export/controls/ObjectPageHeaderSection.js.map +0 -1
  708. package/dist/src/sync/v2/export/controls/ObjectPageLayout.d.ts.map +0 -1
  709. package/dist/src/sync/v2/export/controls/ObjectPageLayout.js.map +0 -1
  710. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts +0 -41
  711. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.d.ts.map +0 -1
  712. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js +0 -192
  713. package/dist/src/sync/v2/export/controls/ObjectPageSectionsV2.js.map +0 -1
  714. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts +0 -56
  715. package/dist/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +0 -1
  716. package/dist/src/sync/v2/export/controls/ObjectPageTable.js +0 -406
  717. package/dist/src/sync/v2/export/controls/ObjectPageTable.js.map +0 -1
  718. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  719. package/dist/src/sync/v2/export/controls/ObjectPageToolBarAction.js.map +0 -1
  720. package/dist/src/sync/v2/export/controls/Table.d.ts.map +0 -1
  721. package/dist/src/sync/v2/export/controls/Table.js.map +0 -1
  722. package/dist/src/sync/v2/export/controls/TableColumn.d.ts.map +0 -1
  723. package/dist/src/sync/v2/export/controls/TableColumn.js.map +0 -1
  724. package/dist/src/sync/v2/export/controls/ToolBar.d.ts.map +0 -1
  725. package/dist/src/sync/v2/export/controls/ToolBar.js.map +0 -1
  726. package/dist/src/sync/v2/export/controls/index.d.ts +0 -22
  727. package/dist/src/sync/v2/export/controls/index.d.ts.map +0 -1
  728. package/dist/src/sync/v2/export/controls/index.js +0 -38
  729. package/dist/src/sync/v2/export/controls/index.js.map +0 -1
  730. package/dist/src/sync/v2/export/export.d.ts.map +0 -1
  731. package/dist/src/sync/v2/export/export.js.map +0 -1
  732. package/dist/src/sync/v2/export/exportPage.d.ts.map +0 -1
  733. package/dist/src/sync/v2/export/exportPage.js.map +0 -1
  734. package/dist/src/sync/v2/export/factory.d.ts.map +0 -1
  735. package/dist/src/sync/v2/export/factory.js.map +0 -1
  736. package/dist/src/sync/v2/export/manifest.d.ts.map +0 -1
  737. package/dist/src/sync/v2/export/manifest.js.map +0 -1
  738. package/dist/src/sync/v2/export/pages/AnalyticalListPage.d.ts.map +0 -1
  739. package/dist/src/sync/v2/export/pages/AnalyticalListPage.js.map +0 -1
  740. package/dist/src/sync/v2/export/pages/ListReport.d.ts.map +0 -1
  741. package/dist/src/sync/v2/export/pages/ListReport.js.map +0 -1
  742. package/dist/src/sync/v2/export/pages/ObjectPage.d.ts.map +0 -1
  743. package/dist/src/sync/v2/export/pages/ObjectPage.js.map +0 -1
  744. package/dist/src/sync/v2/export/pages/OverviewPage.d.ts.map +0 -1
  745. package/dist/src/sync/v2/export/pages/OverviewPage.js.map +0 -1
  746. package/dist/src/sync/v2/export/pages/index.d.ts.map +0 -1
  747. package/dist/src/sync/v2/export/pages/index.js.map +0 -1
  748. package/dist/src/sync/v2/export/view-controller-generator.d.ts.map +0 -1
  749. package/dist/src/sync/v2/export/view-controller-generator.js.map +0 -1
  750. package/dist/src/sync/v2/generate/analyticalListReport.d.ts.map +0 -1
  751. package/dist/src/sync/v2/generate/analyticalListReport.js +0 -144
  752. package/dist/src/sync/v2/generate/analyticalListReport.js.map +0 -1
  753. package/dist/src/sync/v2/generate/generate.d.ts.map +0 -1
  754. package/dist/src/sync/v2/generate/generate.js.map +0 -1
  755. package/dist/src/sync/v2/generate/index.d.ts.map +0 -1
  756. package/dist/src/sync/v2/generate/index.js.map +0 -1
  757. package/dist/src/sync/v2/generate/listReport.d.ts.map +0 -1
  758. package/dist/src/sync/v2/generate/listReport.js.map +0 -1
  759. package/dist/src/sync/v2/generate/objectPage.d.ts.map +0 -1
  760. package/dist/src/sync/v2/generate/objectPage.js +0 -669
  761. package/dist/src/sync/v2/generate/objectPage.js.map +0 -1
  762. package/dist/src/sync/v2/generate/overviewPage.d.ts.map +0 -1
  763. package/dist/src/sync/v2/generate/overviewPage.js.map +0 -1
  764. package/dist/src/sync/v2/generate/utils.d.ts.map +0 -1
  765. package/dist/src/sync/v2/generate/utils.js +0 -656
  766. package/dist/src/sync/v2/generate/utils.js.map +0 -1
  767. package/dist/src/sync/v2/import/app/appProvider.d.ts.map +0 -1
  768. package/dist/src/sync/v2/import/app/appProvider.js.map +0 -1
  769. package/dist/src/sync/v2/import/app/ovpProvider.d.ts.map +0 -1
  770. package/dist/src/sync/v2/import/app/ovpProvider.js.map +0 -1
  771. package/dist/src/sync/v2/import/common/index.d.ts.map +0 -1
  772. package/dist/src/sync/v2/import/common/index.js +0 -445
  773. package/dist/src/sync/v2/import/common/index.js.map +0 -1
  774. package/dist/src/sync/v2/import/controls/table.d.ts.map +0 -1
  775. package/dist/src/sync/v2/import/controls/table.js.map +0 -1
  776. package/dist/src/sync/v2/import/getPageType.d.ts.map +0 -1
  777. package/dist/src/sync/v2/import/getPageType.js.map +0 -1
  778. package/dist/src/sync/v2/import/index.d.ts.map +0 -1
  779. package/dist/src/sync/v2/import/index.js.map +0 -1
  780. package/dist/src/sync/v2/import/pages/analyticalListPage.d.ts.map +0 -1
  781. package/dist/src/sync/v2/import/pages/analyticalListPage.js.map +0 -1
  782. package/dist/src/sync/v2/import/pages/listReport.d.ts.map +0 -1
  783. package/dist/src/sync/v2/import/pages/listReport.js.map +0 -1
  784. package/dist/src/sync/v2/import/pages/objectPage.d.ts.map +0 -1
  785. package/dist/src/sync/v2/import/pages/objectPage.js.map +0 -1
  786. package/dist/src/sync/v2/import/pages/overviewPage.d.ts.map +0 -1
  787. package/dist/src/sync/v2/import/pages/overviewPage.js.map +0 -1
  788. package/dist/src/sync/v2/import/utils.d.ts.map +0 -1
  789. package/dist/src/sync/v2/import/utils.js.map +0 -1
  790. package/dist/src/sync/v2/types.d.ts +0 -84
  791. package/dist/src/sync/v2/types.d.ts.map +0 -1
  792. package/dist/src/sync/v2/types.js +0 -51
  793. package/dist/src/sync/v2/types.js.map +0 -1
  794. package/dist/src/sync/v4/application.d.ts.map +0 -1
  795. package/dist/src/sync/v4/application.js +0 -153
  796. package/dist/src/sync/v4/application.js.map +0 -1
  797. package/dist/src/sync/v4/export/controls/FilterBar.d.ts.map +0 -1
  798. package/dist/src/sync/v4/export/controls/FilterBar.js +0 -25
  799. package/dist/src/sync/v4/export/controls/FilterBar.js.map +0 -1
  800. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +0 -1
  801. package/dist/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +0 -1
  802. package/dist/src/sync/v4/export/controls/ObjectPageHeader.d.ts.map +0 -1
  803. package/dist/src/sync/v4/export/controls/ObjectPageHeader.js.map +0 -1
  804. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.d.ts.map +0 -1
  805. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js +0 -66
  806. package/dist/src/sync/v4/export/controls/ObjectPageHeaderSection.js.map +0 -1
  807. package/dist/src/sync/v4/export/controls/ObjectPageLayout.d.ts.map +0 -1
  808. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js +0 -25
  809. package/dist/src/sync/v4/export/controls/ObjectPageLayout.js.map +0 -1
  810. package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts +0 -23
  811. package/dist/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +0 -1
  812. package/dist/src/sync/v4/export/controls/ObjectPageTable.js +0 -181
  813. package/dist/src/sync/v4/export/controls/ObjectPageTable.js.map +0 -1
  814. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts +0 -13
  815. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.d.ts.map +0 -1
  816. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js +0 -65
  817. package/dist/src/sync/v4/export/controls/ObjectPageTableColumn.js.map +0 -1
  818. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.d.ts.map +0 -1
  819. package/dist/src/sync/v4/export/controls/ObjectPageToolBarAction.js.map +0 -1
  820. package/dist/src/sync/v4/export/controls/Table.d.ts +0 -149
  821. package/dist/src/sync/v4/export/controls/Table.d.ts.map +0 -1
  822. package/dist/src/sync/v4/export/controls/Table.js +0 -636
  823. package/dist/src/sync/v4/export/controls/Table.js.map +0 -1
  824. package/dist/src/sync/v4/export/controls/TableColumn.d.ts.map +0 -1
  825. package/dist/src/sync/v4/export/controls/TableColumn.js +0 -311
  826. package/dist/src/sync/v4/export/controls/TableColumn.js.map +0 -1
  827. package/dist/src/sync/v4/export/controls/ToolBar.d.ts.map +0 -1
  828. package/dist/src/sync/v4/export/controls/ToolBar.js.map +0 -1
  829. package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts +0 -8
  830. package/dist/src/sync/v4/export/controls/ToolBarAction.d.ts.map +0 -1
  831. package/dist/src/sync/v4/export/controls/ToolBarAction.js +0 -32
  832. package/dist/src/sync/v4/export/controls/ToolBarAction.js.map +0 -1
  833. package/dist/src/sync/v4/export/controls/index.d.ts.map +0 -1
  834. package/dist/src/sync/v4/export/controls/index.js.map +0 -1
  835. package/dist/src/sync/v4/export/export.d.ts +0 -19
  836. package/dist/src/sync/v4/export/export.d.ts.map +0 -1
  837. package/dist/src/sync/v4/export/export.js +0 -830
  838. package/dist/src/sync/v4/export/export.js.map +0 -1
  839. package/dist/src/sync/v4/export/factory.d.ts.map +0 -1
  840. package/dist/src/sync/v4/export/factory.js +0 -61
  841. package/dist/src/sync/v4/export/factory.js.map +0 -1
  842. package/dist/src/sync/v4/export/flexibleColumnLayout.d.ts.map +0 -1
  843. package/dist/src/sync/v4/export/flexibleColumnLayout.js.map +0 -1
  844. package/dist/src/sync/v4/export/manifest.d.ts.map +0 -1
  845. package/dist/src/sync/v4/export/manifest.js.map +0 -1
  846. package/dist/src/sync/v4/export/pages/FreestylePage.d.ts.map +0 -1
  847. package/dist/src/sync/v4/export/pages/FreestylePage.js.map +0 -1
  848. package/dist/src/sync/v4/export/pages/ListReport.d.ts.map +0 -1
  849. package/dist/src/sync/v4/export/pages/ListReport.js +0 -82
  850. package/dist/src/sync/v4/export/pages/ListReport.js.map +0 -1
  851. package/dist/src/sync/v4/export/pages/ObjectPage.d.ts.map +0 -1
  852. package/dist/src/sync/v4/export/pages/ObjectPage.js +0 -41
  853. package/dist/src/sync/v4/export/pages/ObjectPage.js.map +0 -1
  854. package/dist/src/sync/v4/export/pages/index.d.ts.map +0 -1
  855. package/dist/src/sync/v4/export/pages/index.js.map +0 -1
  856. package/dist/src/sync/v4/export/types.d.ts.map +0 -1
  857. package/dist/src/sync/v4/export/types.js.map +0 -1
  858. package/dist/src/sync/v4/export/utils.d.ts.map +0 -1
  859. package/dist/src/sync/v4/export/utils.js.map +0 -1
  860. package/dist/src/sync/v4/generate/freestylePage.d.ts.map +0 -1
  861. package/dist/src/sync/v4/generate/freestylePage.js.map +0 -1
  862. package/dist/src/sync/v4/generate/generate.d.ts +0 -42
  863. package/dist/src/sync/v4/generate/generate.d.ts.map +0 -1
  864. package/dist/src/sync/v4/generate/generate.js +0 -97
  865. package/dist/src/sync/v4/generate/generate.js.map +0 -1
  866. package/dist/src/sync/v4/generate/index.d.ts.map +0 -1
  867. package/dist/src/sync/v4/generate/index.js.map +0 -1
  868. package/dist/src/sync/v4/generate/listReport.d.ts +0 -24
  869. package/dist/src/sync/v4/generate/listReport.d.ts.map +0 -1
  870. package/dist/src/sync/v4/generate/listReport.js +0 -731
  871. package/dist/src/sync/v4/generate/listReport.js.map +0 -1
  872. package/dist/src/sync/v4/generate/objectPage.d.ts.map +0 -1
  873. package/dist/src/sync/v4/generate/objectPage.js.map +0 -1
  874. package/dist/src/sync/v4/import/app/appProvider.d.ts.map +0 -1
  875. package/dist/src/sync/v4/import/app/appProvider.js.map +0 -1
  876. package/dist/src/sync/v4/import/app/index.d.ts.map +0 -1
  877. package/dist/src/sync/v4/import/app/index.js.map +0 -1
  878. package/dist/src/sync/v4/import/fragment.d.ts.map +0 -1
  879. package/dist/src/sync/v4/import/fragment.js.map +0 -1
  880. package/dist/src/sync/v4/import/index.d.ts.map +0 -1
  881. package/dist/src/sync/v4/import/index.js.map +0 -1
  882. package/dist/src/sync/v4/import/pages/listReport.d.ts.map +0 -1
  883. package/dist/src/sync/v4/import/pages/listReport.js.map +0 -1
  884. package/dist/src/sync/v4/import/pages/objectPage.d.ts.map +0 -1
  885. package/dist/src/sync/v4/import/pages/objectPage.js.map +0 -1
  886. package/dist/src/sync/v4/import/utils.d.ts.map +0 -1
  887. package/dist/src/sync/v4/import/utils.js.map +0 -1
  888. package/dist/src/sync/v4/types.d.ts.map +0 -1
  889. package/dist/src/sync/v4/types.js.map +0 -1
  890. package/dist/src/sync/v4/utils/StableIdHelper.d.ts.map +0 -1
  891. package/dist/src/sync/v4/utils/StableIdHelper.js.map +0 -1
  892. package/dist/src/sync/v4/utils/utils.d.ts.map +0 -1
  893. package/dist/src/sync/v4/utils/utils.js.map +0 -1
  894. /package/dist/{src → specification/src}/api.d.ts +0 -0
  895. /package/dist/{src → specification/src}/api.js +0 -0
  896. /package/dist/{src → specification/src}/extensionLogger.d.ts +0 -0
  897. /package/dist/{src → specification/src}/extensionLogger.js +0 -0
  898. /package/dist/{src → specification/src}/i18n/i18n.d.ts +0 -0
  899. /package/dist/{src → specification/src}/i18n/i18n.js +0 -0
  900. /package/dist/{src → specification/src}/index.d.ts +0 -0
  901. /package/dist/{src → specification/src}/index.js +0 -0
  902. /package/dist/{src → specification/src}/project.d.ts +0 -0
  903. /package/dist/{src → specification/src}/project.js +0 -0
  904. /package/dist/{src → specification/src}/specification/schemaAccess.d.ts +0 -0
  905. /package/dist/{src → specification/src}/specification/schemaAccess.js +0 -0
  906. /package/dist/{src → specification/src}/sync/common/appProvider.d.ts +0 -0
  907. /package/dist/{src → specification/src}/sync/common/appProvider.js +0 -0
  908. /package/dist/{src → specification/src}/sync/common/decoration/control.d.ts +0 -0
  909. /package/dist/{src → specification/src}/sync/common/decoration/factory.d.ts +0 -0
  910. /package/dist/{src → specification/src}/sync/common/decoration/factory.js +0 -0
  911. /package/dist/{src → specification/src}/sync/common/decoration/flex.d.ts +0 -0
  912. /package/dist/{src → specification/src}/sync/common/decoration/flex.js +0 -0
  913. /package/dist/{src → specification/src}/sync/common/decoration/index.d.ts +0 -0
  914. /package/dist/{src → specification/src}/sync/common/decoration/index.js +0 -0
  915. /package/dist/{src → specification/src}/sync/common/distTagEvaluator.d.ts +0 -0
  916. /package/dist/{src → specification/src}/sync/common/distTagEvaluator.js +0 -0
  917. /package/dist/{src → specification/src}/sync/common/dist_tag.json +0 -0
  918. /package/dist/{src → specification/src}/sync/common/flexUtils.d.ts +0 -0
  919. /package/dist/{src → specification/src}/sync/common/flexUtils.js +0 -0
  920. /package/dist/{src → specification/src}/sync/common/generate/index.d.ts +0 -0
  921. /package/dist/{src → specification/src}/sync/common/generate/index.js +0 -0
  922. /package/dist/{src → specification/src}/sync/common/generate/objectPage.d.ts +0 -0
  923. /package/dist/{src → specification/src}/sync/common/generate/objectPage.js +0 -0
  924. /package/dist/{src → specification/src}/sync/common/generate/utils.d.ts +0 -0
  925. /package/dist/{src → specification/src}/sync/common/generate/utils.js +0 -0
  926. /package/dist/{src → specification/src}/sync/common/import/utils.d.ts +0 -0
  927. /package/dist/{src → specification/src}/sync/common/import/utils.js +0 -0
  928. /package/dist/{src → specification/src}/sync/common/importProject.d.ts +0 -0
  929. /package/dist/{src → specification/src}/sync/common/index.d.ts +0 -0
  930. /package/dist/{src → specification/src}/sync/common/index.js +0 -0
  931. /package/dist/{src → specification/src}/sync/common/utils.d.ts +0 -0
  932. /package/dist/{src → specification/src}/sync/i18n.d.ts +0 -0
  933. /package/dist/{src → specification/src}/sync/i18n.js +0 -0
  934. /package/dist/{src → specification/src}/sync/v2/application.d.ts +0 -0
  935. /package/dist/{src → specification/src}/sync/v2/export/controls/Action.d.ts +0 -0
  936. /package/dist/{src → specification/src}/sync/v2/export/controls/Action.js +0 -0
  937. /package/dist/{src → specification/src}/sync/v2/export/controls/AnalyticalListPageChart.d.ts +0 -0
  938. /package/dist/{src → specification/src}/sync/v2/export/controls/AnalyticalListPageChart.js +0 -0
  939. /package/dist/{src → specification/src}/sync/v2/export/controls/AnalyticalListPageKPI.d.ts +0 -0
  940. /package/dist/{src → specification/src}/sync/v2/export/controls/AnalyticalListPageKPI.js +0 -0
  941. /package/dist/{src → specification/src}/sync/v2/export/controls/Card.d.ts +0 -0
  942. /package/dist/{src → specification/src}/sync/v2/export/controls/Card.js +0 -0
  943. /package/dist/{src → specification/src}/sync/v2/export/controls/Field.d.ts +0 -0
  944. /package/dist/{src → specification/src}/sync/v2/export/controls/Field.js +0 -0
  945. /package/dist/{src → specification/src}/sync/v2/export/controls/FilterBar.d.ts +0 -0
  946. /package/dist/{src → specification/src}/sync/v2/export/controls/FilterBar.js +0 -0
  947. /package/dist/{src → specification/src}/sync/v2/export/controls/FormAction.d.ts +0 -0
  948. /package/dist/{src → specification/src}/sync/v2/export/controls/FormAction.js +0 -0
  949. /package/dist/{src → specification/src}/sync/v2/export/controls/Fragment.d.ts +0 -0
  950. /package/dist/{src → specification/src}/sync/v2/export/controls/Fragment.js +0 -0
  951. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageChart.d.ts +0 -0
  952. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageChart.js +0 -0
  953. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageCustomSection.d.ts +0 -0
  954. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageCustomSection.js +0 -0
  955. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageFooterAction.d.ts +0 -0
  956. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageFooterAction.js +0 -0
  957. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageHeader.d.ts +0 -0
  958. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageHeaderAction.d.ts +0 -0
  959. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageHeaderAction.js +0 -0
  960. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageHeaderSection.d.ts +0 -0
  961. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageHeaderSection.js +0 -0
  962. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageLayout.d.ts +0 -0
  963. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageLayout.js +0 -0
  964. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageToolBarAction.d.ts +0 -0
  965. /package/dist/{src → specification/src}/sync/v2/export/controls/ObjectPageToolBarAction.js +0 -0
  966. /package/dist/{src → specification/src}/sync/v2/export/controls/Table.d.ts +0 -0
  967. /package/dist/{src → specification/src}/sync/v2/export/controls/Table.js +0 -0
  968. /package/dist/{src → specification/src}/sync/v2/export/controls/TableColumn.d.ts +0 -0
  969. /package/dist/{src → specification/src}/sync/v2/export/controls/TableColumn.js +0 -0
  970. /package/dist/{src → specification/src}/sync/v2/export/controls/ToolBar.d.ts +0 -0
  971. /package/dist/{src → specification/src}/sync/v2/export/controls/ToolBar.js +0 -0
  972. /package/dist/{src → specification/src}/sync/v2/export/export.d.ts +0 -0
  973. /package/dist/{src → specification/src}/sync/v2/export/export.js +0 -0
  974. /package/dist/{src → specification/src}/sync/v2/export/exportPage.d.ts +0 -0
  975. /package/dist/{src → specification/src}/sync/v2/export/exportPage.js +0 -0
  976. /package/dist/{src → specification/src}/sync/v2/export/factory.d.ts +0 -0
  977. /package/dist/{src → specification/src}/sync/v2/export/factory.js +0 -0
  978. /package/dist/{src → specification/src}/sync/v2/export/manifest.d.ts +0 -0
  979. /package/dist/{src → specification/src}/sync/v2/export/manifest.js +0 -0
  980. /package/dist/{src → specification/src}/sync/v2/export/pages/AnalyticalListPage.d.ts +0 -0
  981. /package/dist/{src → specification/src}/sync/v2/export/pages/AnalyticalListPage.js +0 -0
  982. /package/dist/{src → specification/src}/sync/v2/export/pages/ListReport.d.ts +0 -0
  983. /package/dist/{src → specification/src}/sync/v2/export/pages/ListReport.js +0 -0
  984. /package/dist/{src → specification/src}/sync/v2/export/pages/ObjectPage.d.ts +0 -0
  985. /package/dist/{src → specification/src}/sync/v2/export/pages/ObjectPage.js +0 -0
  986. /package/dist/{src → specification/src}/sync/v2/export/pages/OverviewPage.d.ts +0 -0
  987. /package/dist/{src → specification/src}/sync/v2/export/pages/OverviewPage.js +0 -0
  988. /package/dist/{src → specification/src}/sync/v2/export/pages/index.d.ts +0 -0
  989. /package/dist/{src → specification/src}/sync/v2/export/pages/index.js +0 -0
  990. /package/dist/{src → specification/src}/sync/v2/export/view-controller-generator.d.ts +0 -0
  991. /package/dist/{src → specification/src}/sync/v2/export/view-controller-generator.js +0 -0
  992. /package/dist/{src → specification/src}/sync/v2/generate/analyticalListReport.d.ts +0 -0
  993. /package/dist/{src → specification/src}/sync/v2/generate/generate.d.ts +0 -0
  994. /package/dist/{src → specification/src}/sync/v2/generate/generate.js +0 -0
  995. /package/dist/{src → specification/src}/sync/v2/generate/index.d.ts +0 -0
  996. /package/dist/{src → specification/src}/sync/v2/generate/index.js +0 -0
  997. /package/dist/{src → specification/src}/sync/v2/generate/listReport.d.ts +0 -0
  998. /package/dist/{src → specification/src}/sync/v2/generate/listReport.js +0 -0
  999. /package/dist/{src → specification/src}/sync/v2/generate/objectPage.d.ts +0 -0
  1000. /package/dist/{src → specification/src}/sync/v2/generate/overviewPage.d.ts +0 -0
  1001. /package/dist/{src → specification/src}/sync/v2/generate/overviewPage.js +0 -0
  1002. /package/dist/{src → specification/src}/sync/v2/generate/utils.d.ts +0 -0
  1003. /package/dist/{src → specification/src}/sync/v2/import/app/appProvider.d.ts +0 -0
  1004. /package/dist/{src → specification/src}/sync/v2/import/app/appProvider.js +0 -0
  1005. /package/dist/{src → specification/src}/sync/v2/import/app/ovpProvider.d.ts +0 -0
  1006. /package/dist/{src → specification/src}/sync/v2/import/app/ovpProvider.js +0 -0
  1007. /package/dist/{src → specification/src}/sync/v2/import/common/index.d.ts +0 -0
  1008. /package/dist/{src → specification/src}/sync/v2/import/controls/table.d.ts +0 -0
  1009. /package/dist/{src → specification/src}/sync/v2/import/controls/table.js +0 -0
  1010. /package/dist/{src → specification/src}/sync/v2/import/getPageType.d.ts +0 -0
  1011. /package/dist/{src → specification/src}/sync/v2/import/getPageType.js +0 -0
  1012. /package/dist/{src → specification/src}/sync/v2/import/index.d.ts +0 -0
  1013. /package/dist/{src → specification/src}/sync/v2/import/index.js +0 -0
  1014. /package/dist/{src → specification/src}/sync/v2/import/pages/analyticalListPage.d.ts +0 -0
  1015. /package/dist/{src → specification/src}/sync/v2/import/pages/analyticalListPage.js +0 -0
  1016. /package/dist/{src → specification/src}/sync/v2/import/pages/listReport.d.ts +0 -0
  1017. /package/dist/{src → specification/src}/sync/v2/import/pages/listReport.js +0 -0
  1018. /package/dist/{src → specification/src}/sync/v2/import/pages/objectPage.d.ts +0 -0
  1019. /package/dist/{src → specification/src}/sync/v2/import/pages/objectPage.js +0 -0
  1020. /package/dist/{src → specification/src}/sync/v2/import/pages/overviewPage.d.ts +0 -0
  1021. /package/dist/{src → specification/src}/sync/v2/import/pages/overviewPage.js +0 -0
  1022. /package/dist/{src → specification/src}/sync/v2/import/utils.d.ts +0 -0
  1023. /package/dist/{src → specification/src}/sync/v2/import/utils.js +0 -0
  1024. /package/dist/{src → specification/src}/sync/v4/application.d.ts +0 -0
  1025. /package/dist/{src → specification/src}/sync/v4/export/controls/FilterBar.d.ts +0 -0
  1026. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageCustomSection.d.ts +0 -0
  1027. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageCustomSection.js +0 -0
  1028. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageHeader.d.ts +0 -0
  1029. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageHeader.js +0 -0
  1030. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageHeaderSection.d.ts +0 -0
  1031. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageLayout.d.ts +0 -0
  1032. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageToolBarAction.d.ts +0 -0
  1033. /package/dist/{src → specification/src}/sync/v4/export/controls/ObjectPageToolBarAction.js +0 -0
  1034. /package/dist/{src → specification/src}/sync/v4/export/controls/TableColumn.d.ts +0 -0
  1035. /package/dist/{src → specification/src}/sync/v4/export/controls/ToolBar.d.ts +0 -0
  1036. /package/dist/{src → specification/src}/sync/v4/export/controls/ToolBar.js +0 -0
  1037. /package/dist/{src → specification/src}/sync/v4/export/controls/index.d.ts +0 -0
  1038. /package/dist/{src → specification/src}/sync/v4/export/controls/index.js +0 -0
  1039. /package/dist/{src → specification/src}/sync/v4/export/factory.d.ts +0 -0
  1040. /package/dist/{src → specification/src}/sync/v4/export/flexibleColumnLayout.d.ts +0 -0
  1041. /package/dist/{src → specification/src}/sync/v4/export/flexibleColumnLayout.js +0 -0
  1042. /package/dist/{src → specification/src}/sync/v4/export/manifest.d.ts +0 -0
  1043. /package/dist/{src → specification/src}/sync/v4/export/manifest.js +0 -0
  1044. /package/dist/{src → specification/src}/sync/v4/export/pages/FreestylePage.d.ts +0 -0
  1045. /package/dist/{src → specification/src}/sync/v4/export/pages/FreestylePage.js +0 -0
  1046. /package/dist/{src → specification/src}/sync/v4/export/pages/ListReport.d.ts +0 -0
  1047. /package/dist/{src → specification/src}/sync/v4/export/pages/ObjectPage.d.ts +0 -0
  1048. /package/dist/{src → specification/src}/sync/v4/export/pages/index.d.ts +0 -0
  1049. /package/dist/{src → specification/src}/sync/v4/export/pages/index.js +0 -0
  1050. /package/dist/{src → specification/src}/sync/v4/export/types.d.ts +0 -0
  1051. /package/dist/{src → specification/src}/sync/v4/export/types.js +0 -0
  1052. /package/dist/{src → specification/src}/sync/v4/export/utils.d.ts +0 -0
  1053. /package/dist/{src → specification/src}/sync/v4/export/utils.js +0 -0
  1054. /package/dist/{src → specification/src}/sync/v4/generate/freestylePage.d.ts +0 -0
  1055. /package/dist/{src → specification/src}/sync/v4/generate/freestylePage.js +0 -0
  1056. /package/dist/{src → specification/src}/sync/v4/generate/index.d.ts +0 -0
  1057. /package/dist/{src → specification/src}/sync/v4/generate/index.js +0 -0
  1058. /package/dist/{src → specification/src}/sync/v4/generate/objectPage.d.ts +0 -0
  1059. /package/dist/{src → specification/src}/sync/v4/generate/objectPage.js +0 -0
  1060. /package/dist/{src → specification/src}/sync/v4/import/app/appProvider.d.ts +0 -0
  1061. /package/dist/{src → specification/src}/sync/v4/import/app/appProvider.js +0 -0
  1062. /package/dist/{src → specification/src}/sync/v4/import/app/index.d.ts +0 -0
  1063. /package/dist/{src → specification/src}/sync/v4/import/app/index.js +0 -0
  1064. /package/dist/{src → specification/src}/sync/v4/import/fragment.d.ts +0 -0
  1065. /package/dist/{src → specification/src}/sync/v4/import/fragment.js +0 -0
  1066. /package/dist/{src → specification/src}/sync/v4/import/index.d.ts +0 -0
  1067. /package/dist/{src → specification/src}/sync/v4/import/index.js +0 -0
  1068. /package/dist/{src → specification/src}/sync/v4/import/pages/listReport.d.ts +0 -0
  1069. /package/dist/{src → specification/src}/sync/v4/import/pages/listReport.js +0 -0
  1070. /package/dist/{src → specification/src}/sync/v4/import/pages/objectPage.d.ts +0 -0
  1071. /package/dist/{src → specification/src}/sync/v4/import/pages/objectPage.js +0 -0
  1072. /package/dist/{src → specification/src}/sync/v4/import/utils.d.ts +0 -0
  1073. /package/dist/{src → specification/src}/sync/v4/import/utils.js +0 -0
  1074. /package/dist/{src → specification/src}/sync/v4/types.d.ts +0 -0
  1075. /package/dist/{src → specification/src}/sync/v4/types.js +0 -0
  1076. /package/dist/{src → specification/src}/sync/v4/utils/StableIdHelper.d.ts +0 -0
  1077. /package/dist/{src → specification/src}/sync/v4/utils/StableIdHelper.js +0 -0
  1078. /package/dist/{src → specification/src}/sync/v4/utils/utils.d.ts +0 -0
  1079. /package/dist/{src → specification/src}/sync/v4/utils/utils.js +0 -0
@@ -0,0 +1,1392 @@
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.replaceNamespaces = exports.removeNamespaces = exports.updatePropertyIndices = exports.getErrorMessage = exports.getDefinitionKey = exports.convertActionKeyToStableId = exports.convertEnumToCSV = exports.arrayCombineMerge = exports.getNextTargetDefinition = exports.findMatchingKeysByAdditionalProperties = exports.generatePageId = exports.getSchemaFilePath = exports.deleteEmptyStructure = exports.getObjectPageFacetSection = exports.createDefaultSection = exports.addTargetTitleAndSectionDescription = exports.addSectionTitleAndDescription = exports.getTemplateTypeFromManifest = exports.determineV4Template = exports.determineV4PageTemplateType = exports.determineV2Template = exports.getVersionFromManifest = exports.getObjectPageFacets = exports.getObjectPageHeaderFacets = exports.getSchemaKeyOfLineItemRecord = exports.getManifestSectionByPathV4 = exports.getSectionFacet = exports.findAlias = exports.getPageTypeV4 = exports.getPageTypeV2 = exports.prepareRef = exports.getDataFieldDescription = exports.getLabelForDataField = exports.getLabelForPropertyPath = exports.evaluateCommonLabel = exports.getAnnotationPropertyValue = exports.parseAndMergeAndConvert = exports.createAnnotationPath = exports.arrayIncludes = exports.DEFINITION_LINK_PREFIX = void 0;
7
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
8
+ const i18next_1 = __importDefault(require("i18next"));
9
+ const deepmerge_1 = __importDefault(require("deepmerge"));
10
+ const annotation_converter_1 = require("@sap-ux/annotation-converter");
11
+ const edmx_parser_1 = require("@sap-ux/edmx-parser");
12
+ const extensionLogger_1 = require("../../extensionLogger");
13
+ exports.DEFINITION_LINK_PREFIX = '#/definitions/';
14
+ const arrayIncludes = (arr, target) => target.every((v) => arr.includes(v));
15
+ exports.arrayIncludes = arrayIncludes;
16
+ /**
17
+ * Function returns annotation path for schema based on received params.
18
+ * @param entityTypeName - Entity type name.
19
+ * @param term - Annotation term.
20
+ * @param qualifier - Annotation qualifier.
21
+ * @returns Annotation path based on received params
22
+ */
23
+ const createAnnotationPath = (entityTypeName, term, qualifier) => {
24
+ if (!entityTypeName) {
25
+ return undefined;
26
+ }
27
+ let annotationPath = `/${entityTypeName}/@${term}`;
28
+ if (qualifier) {
29
+ annotationPath += `#${qualifier}`;
30
+ }
31
+ return annotationPath;
32
+ };
33
+ exports.createAnnotationPath = createAnnotationPath;
34
+ /**
35
+ * Parses, merges, and converts a list of annotation files with aid of tools from annotation-vocabularies-tools
36
+ * @param annotationFiles - The list of all annotation files, in JSON format
37
+ * @returns the complete service information
38
+ */
39
+ function parseAndMergeAndConvert(annotationFiles, logger) {
40
+ const parseResult = [];
41
+ let converterOutput;
42
+ if (annotationFiles) {
43
+ annotationFiles.forEach(function (annotationData) {
44
+ try {
45
+ parseResult.push((0, edmx_parser_1.parse)(annotationData.fileContent, annotationData.dataSourceUri));
46
+ }
47
+ catch (error) {
48
+ (0, extensionLogger_1.log)(logger, {
49
+ severity: "error" /* LogSeverity.Error */,
50
+ message: i18next_1.default.t('ANNOERR'),
51
+ location: { path: i18next_1.default.t('ANNOTATIONFILE', { file: annotationData.dataSourceUri }) }
52
+ }, error);
53
+ return converterOutput;
54
+ }
55
+ });
56
+ }
57
+ if (parseResult.length > 0) {
58
+ converterOutput = (0, annotation_converter_1.convert)((0, edmx_parser_1.merge)(...parseResult));
59
+ }
60
+ return converterOutput;
61
+ }
62
+ exports.parseAndMergeAndConvert = parseAndMergeAndConvert;
63
+ const getAnnotationPropertyValue = (annotationProperty) => annotationProperty?.value || annotationProperty?.path;
64
+ exports.getAnnotationPropertyValue = getAnnotationPropertyValue;
65
+ /**
66
+ * Checks for Common.Label and overwrites the label from it if present
67
+ * @param {PropertyAnnotations} annotations - property annotations
68
+ * @param {EntityType} entityType - entity type
69
+ * @param {string} label - label, to be actualized
70
+ */
71
+ function evaluateCommonLabel(annotations, entityType, label) {
72
+ if (annotations?.Common?.Label) {
73
+ if (typeof annotations.Common.Label === 'string') {
74
+ label = annotations.Common.Label;
75
+ }
76
+ else if (annotations.Common.Label['type'] === 'Path') {
77
+ const targetProperty = entityType && entityType.resolvePath(annotations.Common.Label['path']);
78
+ if (targetProperty?.value) {
79
+ label = targetProperty.value;
80
+ }
81
+ else if (typeof targetProperty?.Common?.Label === 'string') {
82
+ label = targetProperty.annotations.Common.Label;
83
+ }
84
+ }
85
+ else if (typeof annotations.Common?.Label?.toString() === 'string') {
86
+ label = annotations.Common.Label.toString();
87
+ }
88
+ }
89
+ return label;
90
+ }
91
+ exports.evaluateCommonLabel = evaluateCommonLabel;
92
+ /**
93
+ * Determines the label for a property path
94
+ * @param {PropertyPath} propertyPath - property path
95
+ * @param {EntityType} entityType - entity type
96
+ * @returns label, derived from Common.Label or from property value
97
+ */
98
+ function getLabelForPropertyPath(propertyPath, entityType) {
99
+ let label = propertyPath.value;
100
+ if (propertyPath.$target) {
101
+ label = evaluateCommonLabel(propertyPath.$target.annotations, entityType, label);
102
+ }
103
+ return label;
104
+ }
105
+ exports.getLabelForPropertyPath = getLabelForPropertyPath;
106
+ /**
107
+ * Determines the label for a LineItem record
108
+ * @param {DataFieldAbstractType} field - Line item record
109
+ * @param {EntityType} entityType - entity type
110
+ * @returns label, derived from Common.Label or from property value
111
+ */
112
+ function getLabelForDataField(field, entityType) {
113
+ let label, property;
114
+ if (field['Value']) {
115
+ if (typeof field['Value'] === 'string') {
116
+ property = entityType && entityType.entityProperties.find((ep) => ep.name === field['Value']);
117
+ }
118
+ else {
119
+ property = entityType && entityType.resolvePath(field['Value'].path);
120
+ if (!property) {
121
+ property = field['Value'].$target;
122
+ }
123
+ }
124
+ }
125
+ else if (field['Target'] && field['Target'].$target) {
126
+ if (field['Target'].$target.Value) {
127
+ property = field['Target'].$target.Value.$target;
128
+ }
129
+ else if (field['Target'].$target.Label) {
130
+ label = field['Target'].$target.Label;
131
+ }
132
+ }
133
+ if (property?.annotations?.Common?.Label) {
134
+ label = evaluateCommonLabel(property.annotations, entityType, label);
135
+ }
136
+ return label;
137
+ }
138
+ exports.getLabelForDataField = getLabelForDataField;
139
+ /**
140
+ * Function to resolve the dataField label
141
+ * @param dataFieldLabel - Given dataField label; might be of type string, or an object in case of a path reference
142
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
143
+ * @returns undefined or the right string value
144
+ */
145
+ function getLabel(dataFieldLabel, entityType) {
146
+ if (typeof dataFieldLabel === 'string') {
147
+ return dataFieldLabel;
148
+ }
149
+ else if (typeof dataFieldLabel === 'object' && dataFieldLabel.path) {
150
+ const property = entityType && entityType.resolvePath(dataFieldLabel.path);
151
+ if (!property || property.length === 0) {
152
+ return undefined;
153
+ }
154
+ else {
155
+ const singleProperty = property[0];
156
+ if (singleProperty?.annotations?.Common?.Label) {
157
+ const label = dataFieldLabel;
158
+ return evaluateCommonLabel(singleProperty.annotations, entityType, label);
159
+ }
160
+ }
161
+ }
162
+ else {
163
+ return undefined;
164
+ }
165
+ }
166
+ function getTitleForDataField(dataField, entityType, dataFieldLabel) {
167
+ const propertyCommonLabel = getLabelForDataField(dataField, entityType);
168
+ return (dataFieldLabel ||
169
+ propertyCommonLabel ||
170
+ (dataField.Value.$target ? dataField.Value.$target.name : dataField.Value.value || dataField.Value.path));
171
+ }
172
+ /**
173
+ * Determines the description of a data field, e.g. for the column header
174
+ * @param dataFieldAbstract - the given record of the line item annotation
175
+ * @param entityType - the entity type as part of the AVT ConvertedMetadata
176
+ */
177
+ function getDataFieldDescription(dataFieldAbstract, entityType) {
178
+ let title = '', propertyCommonLabel, dataField, actionName = '';
179
+ try {
180
+ const dataFieldLabel = getLabel(dataFieldAbstract.Label, entityType);
181
+ switch (dataFieldAbstract.$Type) {
182
+ case "com.sap.vocabularies.UI.v1.DataField" /* UIAnnotationTypes.DataField */:
183
+ title = getTitleForDataField(dataFieldAbstract, entityType, dataFieldLabel);
184
+ break;
185
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* UIAnnotationTypes.DataFieldWithUrl */:
186
+ propertyCommonLabel = getLabelForDataField(dataFieldAbstract, entityType);
187
+ title =
188
+ dataFieldLabel ||
189
+ propertyCommonLabel ||
190
+ (typeof dataFieldAbstract.Value === 'string'
191
+ ? dataFieldAbstract.Value
192
+ : dataFieldAbstract.Value.path);
193
+ break;
194
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* UIAnnotationTypes.DataFieldForAnnotation */:
195
+ dataField = dataFieldAbstract;
196
+ propertyCommonLabel = getLabelForDataField(dataFieldAbstract, entityType);
197
+ title =
198
+ dataFieldLabel ||
199
+ propertyCommonLabel ||
200
+ dataField.Target?.$target?.Title ||
201
+ dataField.Target?.value.split('UI.v1.')[1];
202
+ break;
203
+ case "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */:
204
+ case "com.sap.vocabularies.UI.v1.DataFieldWithAction" /* UIAnnotationTypes.DataFieldWithAction */:
205
+ case "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* UIAnnotationTypes.DataFieldForIntentBasedNavigation */:
206
+ dataField = dataFieldAbstract;
207
+ actionName = typeof dataFieldAbstract.Action === 'string' ? dataField.Action : dataField.Action?.path;
208
+ if (dataFieldLabel) {
209
+ title = typeof dataFieldLabel === 'string' ? dataFieldLabel : actionName;
210
+ }
211
+ else {
212
+ title = actionName;
213
+ }
214
+ break;
215
+ case "com.sap.vocabularies.UI.v1.DataFieldWithIntentBasedNavigation" /* UIAnnotationTypes.DataFieldWithIntentBasedNavigation */:
216
+ propertyCommonLabel = getLabelForDataField(dataFieldAbstract, entityType);
217
+ title = propertyCommonLabel || dataFieldAbstract.Value.path;
218
+ break;
219
+ case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath" /* UIAnnotationTypes.DataFieldWithNavigationPath */:
220
+ dataField = dataFieldAbstract;
221
+ title = getTitleForDataField(dataField, entityType, dataFieldLabel);
222
+ break;
223
+ default:
224
+ break;
225
+ }
226
+ return title;
227
+ }
228
+ catch (error) {
229
+ return title;
230
+ }
231
+ }
232
+ exports.getDataFieldDescription = getDataFieldDescription;
233
+ /**
234
+ * Prepare string for reference use in schema
235
+ * @param refInput string to be character checked and replaced
236
+ * @returns string with replaced characters
237
+ */
238
+ function prepareRef(refInput) {
239
+ return refInput.replace('#', '::').replace(/\//g, ':2f');
240
+ }
241
+ exports.prepareRef = prepareRef;
242
+ /**
243
+ * Return the page type for a given V2 page in manifest
244
+ * @param name - page component name
245
+ */
246
+ function getPageTypeV2(name) {
247
+ if (name) {
248
+ const templatePart = `${ux_specification_types_1.v2.FE_TEMPLATE_V2}.`;
249
+ return name.split(templatePart)[1];
250
+ }
251
+ }
252
+ exports.getPageTypeV2 = getPageTypeV2;
253
+ /**
254
+ * Return the page type for a given V4 page in manifest
255
+ * @param name - page component name
256
+ */
257
+ function getPageTypeV4(v4App) {
258
+ if (v4App.name && v4App.name !== ux_specification_types_1.v4.FE_TEMPLATE_V4_CUSTOM_PAGE) {
259
+ const templatePart = `${ux_specification_types_1.v4.FE_TEMPLATE_V4}.`;
260
+ return v4App.name.split(templatePart)[1];
261
+ }
262
+ else if (v4App?.name === ux_specification_types_1.v4.FE_TEMPLATE_V4_CUSTOM_PAGE ||
263
+ v4App.viewId ||
264
+ v4App.viewName) {
265
+ return ux_specification_types_1.PageTypeV4.CustomPage;
266
+ }
267
+ }
268
+ exports.getPageTypeV4 = getPageTypeV4;
269
+ function getTargetAnnotationName(targetAnnotation, keyForRelatedFacetKeys = false) {
270
+ const termWithQualifier = `${targetAnnotation.term}#${targetAnnotation.qualifier}`;
271
+ return `${!keyForRelatedFacetKeys ? '@' : ''}${targetAnnotation.qualifier ? termWithQualifier : targetAnnotation.term}`;
272
+ }
273
+ /**
274
+ * Finds the alias for a given namespace in the references' section of the converted service metadata
275
+ * @param {string} namespace - complete namespace, e.g. 'com.sap.vocabularies.UI.v1'
276
+ * @param {ConvertedMetadata} oDataServiceAVT - combined service metadata, as returned by annotation vocabularies tools
277
+ * @returns alias for the given namespace
278
+ */
279
+ function findAlias(namespace, oDataServiceAVT) {
280
+ if (!oDataServiceAVT) {
281
+ return;
282
+ }
283
+ let aliasReference = oDataServiceAVT.references.find((reference) => {
284
+ return reference.namespace === namespace;
285
+ });
286
+ if (!aliasReference) {
287
+ aliasReference = oDataServiceAVT.references.find((reference) => {
288
+ return reference.alias === namespace;
289
+ });
290
+ }
291
+ if (!aliasReference) {
292
+ aliasReference = oDataServiceAVT.references.find((reference) => {
293
+ return (reference.alias.toUpperCase() ===
294
+ namespace.split('SAP__')[namespace.split('SAP__').length - 1].toUpperCase());
295
+ });
296
+ }
297
+ return aliasReference?.alias;
298
+ }
299
+ exports.findAlias = findAlias;
300
+ /**
301
+ * Determines the target annotation
302
+ * @param navigationParts - parts of the target annotation path
303
+ * @param entityType - entity type
304
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
305
+ * @returns the target annotation
306
+ */
307
+ function determineTargetAnnotation(navigationParts, entityType, oDataServiceAVT) {
308
+ const lastNavigationPart = navigationParts[navigationParts.length - 1];
309
+ const annotation = lastNavigationPart.substring(lastNavigationPart.lastIndexOf('.') + 1, lastNavigationPart.length);
310
+ const alias = findAlias(lastNavigationPart.substring(0, lastNavigationPart.lastIndexOf('.')).replace('@', ''), oDataServiceAVT);
311
+ return entityType?.annotations?.[alias]?.[annotation];
312
+ }
313
+ /**
314
+ * Adjust key by considering navigation
315
+ * @param key - given key
316
+ * @param keyForRelatedFacetKeys - construct key for 'keyForRelatedFacetKeys' property(used to define custom sections) - we should not add '@' symbol there.
317
+ * @param navigationParts - parts of the target annotation path
318
+ */
319
+ function adjustKey(key, navigationParts, keyForRelatedFacetKeys) {
320
+ const uiClass = navigationParts[navigationParts.length - 1].split('#')[0];
321
+ if (uiClass.includes('.LineItem')) {
322
+ const pathParts = key.split('::');
323
+ pathParts[pathParts.length - 1] = `${!keyForRelatedFacetKeys ? '@' : ''}${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
324
+ key = pathParts.join('::');
325
+ }
326
+ else {
327
+ key = uiClass.replace('@UI', `${!keyForRelatedFacetKeys ? '@' : ''}${ux_specification_types_1.UIVOCABULARY}`);
328
+ }
329
+ return key;
330
+ }
331
+ function getKeyAndEntityTypeOfReferenceFacet(oDataServiceAVT, key, entityType, propertyValue, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, keyForRelatedFacetKeys = false) {
332
+ let stopProcessing = false;
333
+ let namespace;
334
+ const navigationParts = propertyValue.split('/');
335
+ const navigation = navigationParts.length > 1;
336
+ if (navigation && entityType) {
337
+ entityType = entityType.resolvePath(propertyValue.substring(0, propertyValue.lastIndexOf('/')))?.targetType;
338
+ }
339
+ key = adjustKey(key, navigationParts, keyForRelatedFacetKeys);
340
+ const targetAnnotation = determineTargetAnnotation(navigationParts, entityType, oDataServiceAVT);
341
+ if (targetAnnotation) {
342
+ const separator = oDataVersion === ux_specification_types_1.FioriElementsVersion.v2 ? '::' : '#';
343
+ key = getTargetAnnotationName(targetAnnotation, keyForRelatedFacetKeys).replace('#', separator);
344
+ namespace = targetAnnotation.fullyQualifiedName?.split('@')[0];
345
+ }
346
+ else {
347
+ stopProcessing = true;
348
+ return { key, entityType, stopProcessing, namespace };
349
+ }
350
+ if (navigation) {
351
+ const navSeparator = oDataVersion === ux_specification_types_1.FioriElementsVersion.v2 ? '::' : '/';
352
+ navigationParts.pop();
353
+ const navigationIDs = [...navigationParts].join(navSeparator);
354
+ key = `${navigationIDs}${navSeparator}${key}`;
355
+ }
356
+ return { key, entityType, stopProcessing, namespace };
357
+ }
358
+ /**
359
+ * Resolve page section(get key and label->description).
360
+ * @param facetDefinition - the actual annotation record
361
+ * @param keyForRelatedFacetKeys - construct key for 'keyForRelatedFacetKeys' property(used to define custom sections) - we should not add '@' symbol there.
362
+ * @param {FioriElementsVersion} oDataVersion - OData version
363
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
364
+ * @param {ExtensionLogger} logger - Logger class for logging messages
365
+ * @returns {FacetSection} - object comprising the relevant facet information
366
+ */
367
+ function getSectionFacet(facetDefinition, sourceEntityType, oDataServiceAVT, logger, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, keyForRelatedFacetKeys = false) {
368
+ //Take facet ID as fallback
369
+ const facetName = facetDefinition.fullyQualifiedName?.substring(facetDefinition.fullyQualifiedName?.lastIndexOf('@'));
370
+ let key = facetDefinition.ID ? facetDefinition.ID.toString() : facetName;
371
+ let namespace = facetDefinition.fullyQualifiedName?.split('@')[0];
372
+ let entityType = sourceEntityType; //default
373
+ //If reference facet: overwrite with target annotation if present
374
+ if (facetDefinition.$Type !== "com.sap.vocabularies.UI.v1.CollectionFacet" /* UIAnnotationTypes.CollectionFacet */ && 'Target' in facetDefinition) {
375
+ const propertyValue = (0, exports.getAnnotationPropertyValue)(facetDefinition.Target);
376
+ if (!propertyValue) {
377
+ (0, extensionLogger_1.log)(logger, {
378
+ severity: "error" /* LogSeverity.Error */,
379
+ message: i18next_1.default.t('NOTARGET', { target: facetDefinition.Target })
380
+ });
381
+ return;
382
+ }
383
+ const { key: newKey, entityType: newEntityType, stopProcessing, namespace: sectionNameSpace } = getKeyAndEntityTypeOfReferenceFacet(oDataServiceAVT, key, entityType, propertyValue, oDataVersion, keyForRelatedFacetKeys);
384
+ if (stopProcessing) {
385
+ return;
386
+ }
387
+ key = newKey;
388
+ entityType = newEntityType;
389
+ namespace = sectionNameSpace;
390
+ }
391
+ key = key.replace(/\//gi, '::');
392
+ if (key) {
393
+ return {
394
+ key,
395
+ ...(facetDefinition.Label && { label: facetDefinition.Label.toString() }),
396
+ ...(facetDefinition.ID && { ID: facetDefinition.ID.toString() }),
397
+ entityType,
398
+ namespace
399
+ };
400
+ }
401
+ else {
402
+ return undefined;
403
+ }
404
+ }
405
+ exports.getSectionFacet = getSectionFacet;
406
+ /**
407
+ * Finds the alias for a given namespace in the references' section of the converted service metadata.
408
+ * An empty object is created if the path element does not exist yet.
409
+ * Exception: if an empty array is the next element of the 'path' definition, an empty array is created instead of an empty object.
410
+ * @param {object} manifest - manifest that is being modified during export
411
+ * @param {string} path - path of the property in the manifest
412
+ * @param {string} targetAnnotation - target annotation (optional)
413
+ * @param {string} targetAnnotationEncoded - target annotation in its encoded form, as used in manifest settings
414
+ * @param {boolean} importScenario - indicates if the function is called for the import, else it is the export
415
+ * @returns returns section of the manifest based on path, generates an empty object in case it does not exists
416
+ */
417
+ const getManifestSectionByPathV4 = (manifest, path, targetAnnotation, targetAnnotationEncoded, importScenario = false) => {
418
+ if (!path) {
419
+ return undefined;
420
+ }
421
+ let manifestSection = manifest;
422
+ const pathElements = path.split('/');
423
+ for (let index = 0; index < pathElements.length; index++) {
424
+ const element = pathElements[index];
425
+ if (element === '[]') {
426
+ continue;
427
+ }
428
+ const decodedElement = targetAnnotationEncoded && targetAnnotationEncoded === element
429
+ ? targetAnnotation
430
+ : element.replace('??', '/');
431
+ //?? can be used in path functions to encode /
432
+ if (!manifestSection[decodedElement]) {
433
+ if (importScenario) {
434
+ return undefined;
435
+ }
436
+ if (pathElements[index + 1] === '[]') {
437
+ manifestSection[decodedElement] = [];
438
+ }
439
+ else {
440
+ manifestSection[decodedElement] = {};
441
+ }
442
+ }
443
+ manifestSection = manifestSection[decodedElement];
444
+ }
445
+ return manifestSection;
446
+ };
447
+ exports.getManifestSectionByPathV4 = getManifestSectionByPathV4;
448
+ function getSchemaKeyOfLineItemRecord(lineItemRecord) {
449
+ let schemaKey, target, value;
450
+ switch (lineItemRecord.$Type) {
451
+ case "com.sap.vocabularies.UI.v1.DataField" /* UIAnnotationTypes.DataField */:
452
+ schemaKey = (0, exports.getAnnotationPropertyValue)(lineItemRecord.Value);
453
+ break;
454
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl" /* UIAnnotationTypes.DataFieldWithUrl */:
455
+ schemaKey =
456
+ typeof lineItemRecord.Value === 'string'
457
+ ? lineItemRecord.Value
458
+ : (0, exports.getAnnotationPropertyValue)(lineItemRecord.Value);
459
+ break;
460
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation" /* UIAnnotationTypes.DataFieldForAnnotation */:
461
+ target = lineItemRecord.Target.value;
462
+ if (target) {
463
+ schemaKey =
464
+ 'DataFieldForAnnotation:::sTarget::' +
465
+ target
466
+ .replace('@UI', `@${ux_specification_types_1.UIVOCABULARY}`)
467
+ .replace('@Communication', '@com.sap.vocabularies.Communication.v1')
468
+ .replace('@Contact', '@com.sap.vocabularies.Contact.v1');
469
+ }
470
+ break;
471
+ case "com.sap.vocabularies.UI.v1.DataFieldForAction" /* UIAnnotationTypes.DataFieldForAction */:
472
+ if (lineItemRecord.Inline) {
473
+ schemaKey = `DataFieldForAction:::sAction::${prepareRef(lineItemRecord.Action)}`;
474
+ }
475
+ break;
476
+ case "com.sap.vocabularies.UI.v1.DataFieldWithIntentBasedNavigation" /* UIAnnotationTypes.DataFieldWithIntentBasedNavigation */:
477
+ value = (0, exports.getAnnotationPropertyValue)(lineItemRecord.Value);
478
+ schemaKey = `DataFieldWithIntentBasedNavigation:::sProperty::${value}:::sSemanticObject::${lineItemRecord.SemanticObject}:::sAction::${lineItemRecord.Action}`;
479
+ break;
480
+ case "com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation" /* UIAnnotationTypes.DataFieldForIntentBasedNavigation */:
481
+ if (lineItemRecord.Inline) {
482
+ schemaKey = `DataFieldForIntentBasedNavigation:::sSemanticObject::${lineItemRecord.SemanticObject}:::sAction::${prepareRef(lineItemRecord.Action)}`;
483
+ }
484
+ break;
485
+ case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath" /* UIAnnotationTypes.DataFieldWithNavigationPath */:
486
+ value = (0, exports.getAnnotationPropertyValue)(lineItemRecord.Value);
487
+ target = (0, exports.getAnnotationPropertyValue)(lineItemRecord.Target);
488
+ schemaKey = 'DataFieldWithNavigationPath:::sProperty::' + value + ':::sTarget::' + target;
489
+ break;
490
+ default:
491
+ break;
492
+ }
493
+ return schemaKey;
494
+ }
495
+ exports.getSchemaKeyOfLineItemRecord = getSchemaKeyOfLineItemRecord;
496
+ /**
497
+ * Determines if type of given annotation term is of UIAnnotationTerm
498
+ * @param {string} path path in manifest
499
+ * @param {string} alias for a given namespace
500
+ * @param {EntityType} entityType - the entity type
501
+ * @returns UI annotation term type
502
+ */
503
+ function getUIAnnotationTerm(path, alias, entityType) {
504
+ if (path.includes("com.sap.vocabularies.UI.v1.Chart" /* UIAnnotationTerms.Chart */) || path.includes(alias + '.Chart')) {
505
+ return "com.sap.vocabularies.UI.v1.Chart" /* UIAnnotationTerms.Chart */;
506
+ }
507
+ else if (path.includes("com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */) || path.includes(alias + '.Identification')) {
508
+ return "com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */;
509
+ }
510
+ else if ((entityType && path.includes("com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */)) || path.includes(alias + '.LineItem')) {
511
+ return "com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */;
512
+ }
513
+ else if (path.includes("com.sap.vocabularies.UI.v1.FieldGroup" /* UIAnnotationTerms.FieldGroup */) || path.includes(alias + '.FieldGroup')) {
514
+ return "com.sap.vocabularies.UI.v1.FieldGroup" /* UIAnnotationTerms.FieldGroup */;
515
+ }
516
+ else if (path.includes("com.sap.vocabularies.UI.v1.DataPoint" /* UIAnnotationTerms.DataPoint */) || path.includes(alias + '.DataPoint')) {
517
+ return "com.sap.vocabularies.UI.v1.DataPoint" /* UIAnnotationTerms.DataPoint */;
518
+ }
519
+ else if (path.includes("com.sap.vocabularies.UI.v1.PresentationVariant" /* UIAnnotationTerms.PresentationVariant */) || path.includes(alias + '.PresentationVariant')) {
520
+ return "com.sap.vocabularies.UI.v1.PresentationVariant" /* UIAnnotationTerms.PresentationVariant */;
521
+ }
522
+ else {
523
+ return undefined;
524
+ }
525
+ }
526
+ /**
527
+ * Determines if type of given annotation term is of CommunicationAnnotationTerm
528
+ * @param {string} path path in manifest
529
+ * @param {string} alias for a given namespace
530
+ * @param {EntityType} entityType - the entity type
531
+ * @returns Communication annotation term type
532
+ */
533
+ function getCommunicationAnnotationTerm(path, alias) {
534
+ if (path.includes('com.sap.vocabularies.Communication.v1.Contact') || path.includes(alias + '.Contact')) {
535
+ return "com.sap.vocabularies.Communication.v1.Contact" /* CommunicationAnnotationTerms.Contact */;
536
+ }
537
+ else if (path.includes('com.sap.vocabularies.Communication.v1.Address') || path.includes(alias + '.Address')) {
538
+ return "com.sap.vocabularies.Communication.v1.Address" /* CommunicationAnnotationTerms.Address */;
539
+ }
540
+ else {
541
+ return undefined;
542
+ }
543
+ }
544
+ /**
545
+ * Determines the type of given annotation term
546
+ * @param {string} path path in manifest
547
+ * @param {string} alias for a given namespace
548
+ * @param {EntityType} entityType - the entity type
549
+ * @returns annotation term type
550
+ */
551
+ function getAnnotationTerm(path, alias, entityType) {
552
+ return getUIAnnotationTerm(path, alias, entityType) || getCommunicationAnnotationTerm(path, alias);
553
+ }
554
+ /**
555
+ * Evaluates the target annotation of a reference facet and actualizes the facets for the config
556
+ * @param {AnnotationTerm} annotationRecord - the actual annotation record
557
+ * @param {FacetConfigs} facets - list of facets in config format, to be updated
558
+ * @param {EntityType} entityType - the entity type
559
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
560
+ */
561
+ function evaluateTargetAnnotation(section, annotationRecord, facets, entityType, oDataServiceAVT) {
562
+ const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
563
+ let path = section ? section.key : '';
564
+ const targetEntityType = section.entityType;
565
+ const annotationTerm = getAnnotationTerm(path, alias, entityType);
566
+ switch (annotationTerm) {
567
+ case "com.sap.vocabularies.UI.v1.Chart" /* UIAnnotationTerms.Chart */: {
568
+ facets[path] = { base: ux_specification_types_1.FacetBase.Chart };
569
+ facets[path].target = annotationRecord?.Target?.$target;
570
+ facets[path].entityType = targetEntityType;
571
+ facets[path].namespace = section.namespace;
572
+ break;
573
+ }
574
+ case "com.sap.vocabularies.UI.v1.Identification" /* UIAnnotationTerms.Identification */: {
575
+ facets[path] = { base: ux_specification_types_1.FacetBase.Identification };
576
+ facets[path].target = annotationRecord?.Target?.$target;
577
+ facets[path].entityType = targetEntityType;
578
+ facets[path].namespace = section.namespace;
579
+ break;
580
+ }
581
+ case "com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */: {
582
+ if (!path.includes("com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */) && path.includes('.LineItem')) {
583
+ const pathParts = path.split('::');
584
+ pathParts[pathParts.length - 1] = `@${"com.sap.vocabularies.UI.v1.LineItem" /* UIAnnotationTerms.LineItem */}`;
585
+ path = pathParts.join('::');
586
+ }
587
+ facets[path] = { base: ux_specification_types_1.FacetBase.LineItem };
588
+ facets[path].target = annotationRecord?.Target?.$target;
589
+ facets[path].entityType = targetEntityType;
590
+ facets[path].namespace = section.namespace;
591
+ break;
592
+ }
593
+ case "com.sap.vocabularies.UI.v1.FieldGroup" /* UIAnnotationTerms.FieldGroup */: {
594
+ facets[path] = { base: ux_specification_types_1.FacetBase.Form };
595
+ facets[path].target = annotationRecord?.Target?.$target;
596
+ facets[path].entityType = targetEntityType;
597
+ facets[path].namespace = section.namespace;
598
+ break;
599
+ }
600
+ case "com.sap.vocabularies.UI.v1.DataPoint" /* UIAnnotationTerms.DataPoint */: {
601
+ facets[path] = { base: ux_specification_types_1.FacetBase.DataPoint };
602
+ facets[path].Label = annotationRecord?.Target?.$target['Title'];
603
+ facets[path].target = annotationRecord?.Target?.$target;
604
+ facets[path].entityType = targetEntityType;
605
+ facets[path].namespace = section.namespace;
606
+ break;
607
+ }
608
+ case "com.sap.vocabularies.UI.v1.PresentationVariant" /* UIAnnotationTerms.PresentationVariant */: {
609
+ facets[path] = { base: ux_specification_types_1.FacetBase.PresentationVariant };
610
+ facets[path].target = annotationRecord?.Target?.$target;
611
+ facets[path].entityType = targetEntityType;
612
+ facets[path].namespace = section.namespace;
613
+ break;
614
+ }
615
+ case "com.sap.vocabularies.Communication.v1.Contact" /* CommunicationAnnotationTerms.Contact */: {
616
+ facets[path] = { base: ux_specification_types_1.FacetBase.Contact };
617
+ facets[path].target = annotationRecord?.Target?.$target;
618
+ facets[path].entityType = targetEntityType;
619
+ facets[path].namespace = section.namespace;
620
+ break;
621
+ }
622
+ case "com.sap.vocabularies.Communication.v1.Address" /* CommunicationAnnotationTerms.Address */: {
623
+ facets[path] = { base: ux_specification_types_1.FacetBase.Address };
624
+ facets[path].target = annotationRecord?.Target?.$target;
625
+ facets[path].entityType = targetEntityType;
626
+ facets[path].namespace = section.namespace;
627
+ break;
628
+ }
629
+ default: {
630
+ facets[path] = { base: ux_specification_types_1.FacetBase.Unknown };
631
+ }
632
+ }
633
+ if (facets[path]) {
634
+ facets[path].annotationPath = `/${annotationRecord.fullyQualifiedName.replace('@com.sap.vocabularies', ux_specification_types_1.VOCWITHSLASH)}`;
635
+ if (annotationRecord.Label) {
636
+ facets[path].Label = annotationRecord.Label;
637
+ }
638
+ // Add Facet ID
639
+ if (annotationRecord.ID) {
640
+ facets[path]['ID'] = annotationRecord.ID;
641
+ }
642
+ if (section && section.entityType) {
643
+ facets[path].entityType = section.entityType;
644
+ }
645
+ }
646
+ }
647
+ /**
648
+ * Adds the information from facets to the config
649
+ * @param {AnnotationTerm} annotationRecord - the actual annotation record
650
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
651
+ * @param {string} serviceName - name of the service of the app
652
+ * @param {string} entityName - the entity (type) name
653
+ * @param {FacetConfigs} facets - list of facets in config format, to be updated
654
+ * @param {FioriElementsVersion} oDataVersion - OData version
655
+ * @param {ExtensionLogger} logger - Logger class for logging messages
656
+ */
657
+ function addFacetToConfig(annotationRecord, oDataServiceAVT, serviceName, entityType, facets, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
658
+ const section = getSectionFacet(annotationRecord, entityType, oDataServiceAVT, logger, oDataVersion, false);
659
+ if (section) {
660
+ switch (annotationRecord.$Type) {
661
+ case "com.sap.vocabularies.UI.v1.ReferenceFacet" /* UIAnnotationTypes.ReferenceFacet */: {
662
+ evaluateTargetAnnotation(section, annotationRecord, facets, entityType, oDataServiceAVT);
663
+ break;
664
+ }
665
+ case "com.sap.vocabularies.UI.v1.CollectionFacet" /* UIAnnotationTypes.CollectionFacet */: {
666
+ const annotationPath = `/${entityType.fullyQualifiedName}/${annotationRecord.fullyQualifiedName.split(entityType.fullyQualifiedName)[1]}`;
667
+ const facet = (facets[section.key] = {
668
+ base: ux_specification_types_1.FacetBase.CollectionFacet,
669
+ facets: {},
670
+ ID: section.ID,
671
+ annotationPath: annotationPath,
672
+ Label: section.label,
673
+ namespace: section.namespace
674
+ });
675
+ if (!facet.ID && oDataVersion === ux_specification_types_1.FioriElementsVersion.v4) {
676
+ (0, extensionLogger_1.log)(logger, {
677
+ severity: "error" /* LogSeverity.Error */,
678
+ message: i18next_1.default.t('NOID4SECTION', { facet: annotationRecord.fullyQualifiedName })
679
+ });
680
+ }
681
+ annotationRecord.Facets?.forEach((collectionItem) => {
682
+ addFacetToConfig(collectionItem, oDataServiceAVT, serviceName, entityType, facet.facets, oDataVersion, logger);
683
+ });
684
+ break;
685
+ }
686
+ }
687
+ }
688
+ }
689
+ /**
690
+ * Retrieve header facet configurations that can be used to generate ObjectPage schemas
691
+ * @param {QualifiedName} entityTypeName - the name of the actual entity type
692
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
693
+ * @param {FioriElementsVersion} oDataVersion - OData version
694
+ * @param {ExtensionLogger} logger - Logger class for logging messages
695
+ */
696
+ function getObjectPageHeaderFacets(entityType, oDataServiceAVT, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
697
+ const facets = {};
698
+ if (!entityType || !entityType.annotations) {
699
+ return;
700
+ }
701
+ const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
702
+ const facetAnnotation = alias && entityType?.annotations?.[alias]?.HeaderFacets;
703
+ if (facetAnnotation) {
704
+ const lastDot = entityType && entityType.fullyQualifiedName.lastIndexOf('.');
705
+ const serviceName = entityType && entityType.fullyQualifiedName.substring(0, lastDot);
706
+ // Add facets to configuration
707
+ facetAnnotation.forEach((item) => {
708
+ addFacetToConfig(item, oDataServiceAVT, serviceName, entityType, facets, oDataVersion, logger);
709
+ });
710
+ }
711
+ return facets;
712
+ }
713
+ exports.getObjectPageHeaderFacets = getObjectPageHeaderFacets;
714
+ /**
715
+ * Retrieve facet configurations that can be used to generate ObjectPage schemas
716
+ * @param {QualifiedName} entityTypeName - the name of the actual entity type
717
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
718
+ * @param {FioriElementsVersion} oDataVersion - OData version
719
+ * @param {ExtensionLogger} logger - Logger class for logging messages
720
+ */
721
+ function getObjectPageFacets(entityType, oDataServiceAVT, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, logger) {
722
+ const facets = {};
723
+ if (!entityType || !entityType.annotations) {
724
+ return;
725
+ }
726
+ const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
727
+ const facetAnnotation = alias && entityType?.annotations[alias]?.Facets;
728
+ if (facetAnnotation) {
729
+ const lastDot = entityType && entityType.fullyQualifiedName.lastIndexOf('.');
730
+ const serviceName = entityType && entityType.fullyQualifiedName.substring(0, lastDot);
731
+ // Add facets to configuration
732
+ facetAnnotation.forEach((item) => {
733
+ addFacetToConfig(item, oDataServiceAVT, serviceName, entityType, facets, oDataVersion, logger);
734
+ });
735
+ }
736
+ return facets;
737
+ }
738
+ exports.getObjectPageFacets = getObjectPageFacets;
739
+ /**
740
+ * Returns the version of Fiori elements (v2/v4) from a given manifest
741
+ * @param manifest - the manifest.json file
742
+ */
743
+ function getVersionFromManifest(manifest) {
744
+ if (manifest[ux_specification_types_1.ManifestSection.generic] || manifest[ux_specification_types_1.ManifestSection.ovp]) {
745
+ return ux_specification_types_1.FioriElementsVersion.v2;
746
+ }
747
+ else {
748
+ return ux_specification_types_1.FioriElementsVersion.v4;
749
+ }
750
+ }
751
+ exports.getVersionFromManifest = getVersionFromManifest;
752
+ /**
753
+ * Determines the template type of a V2 app
754
+ * @param manifest - the manifest.json file
755
+ * @param {ExtensionLogger} logger - Logger class for logging messages
756
+ * @returns {TemplateType} the template type
757
+ */
758
+ function determineV2Template(manifest, logger) {
759
+ let templateType;
760
+ if (manifest[ux_specification_types_1.ManifestSection.generic]) {
761
+ const v2Pages = manifest[ux_specification_types_1.ManifestSection.generic].pages;
762
+ if (!v2Pages) {
763
+ (0, extensionLogger_1.log)(logger, {
764
+ severity: "error" /* LogSeverity.Error */,
765
+ message: i18next_1.default.t('NOPAGES', { appId: manifest['sap.app']['id'] }),
766
+ location: {
767
+ path: ux_specification_types_1.MANIFESTPATH,
768
+ range: [ux_specification_types_1.ManifestSection.generic]
769
+ }
770
+ });
771
+ return;
772
+ }
773
+ for (const pageKey in v2Pages) {
774
+ const v2Page = v2Pages[pageKey];
775
+ if (getPageTypeV2(v2Page.component?.name) === ux_specification_types_1.PageTypeV2.AnalyticalListPage) {
776
+ templateType = ux_specification_types_1.TemplateType.AnalyticalListPageV2;
777
+ break;
778
+ }
779
+ else if (getPageTypeV2(v2Page.component?.name) === ux_specification_types_1.PageTypeV2.ListReport) {
780
+ templateType = ux_specification_types_1.TemplateType.ListReportObjectPageV2;
781
+ break;
782
+ }
783
+ }
784
+ }
785
+ else {
786
+ if (!templateType) {
787
+ (0, extensionLogger_1.log)(logger, {
788
+ severity: "error" /* LogSeverity.Error */,
789
+ message: i18next_1.default.t('NOTEMPLATE', { section: ux_specification_types_1.ManifestSection.generic }),
790
+ location: {
791
+ path: ux_specification_types_1.MANIFESTPATH,
792
+ range: [ux_specification_types_1.ManifestSection.generic]
793
+ }
794
+ });
795
+ }
796
+ }
797
+ return templateType;
798
+ }
799
+ exports.determineV2Template = determineV2Template;
800
+ /**
801
+ * Determines the template type of a single page
802
+ * @param v4Page - single page from routing targets
803
+ * @returns {TemplateType | undefined} the template type
804
+ */
805
+ function determineV4PageTemplateType(v4Page) {
806
+ let templateType;
807
+ const pageType = getPageTypeV4(v4Page);
808
+ if (pageType === ux_specification_types_1.PageTypeV4.AnalyticalListPage) {
809
+ templateType = ux_specification_types_1.TemplateType.AnalyticalListPageV4;
810
+ }
811
+ else if (pageType === ux_specification_types_1.PageTypeV4.ListReport) {
812
+ const viewPath = v4Page.options?.settings?.views?.paths?.[0];
813
+ if (viewPath && (viewPath[ux_specification_types_1.ALPViewType.Primary] || viewPath[ux_specification_types_1.ALPViewType.Secondary])) {
814
+ templateType = ux_specification_types_1.TemplateType.AnalyticalListPageV4;
815
+ }
816
+ else {
817
+ templateType = ux_specification_types_1.TemplateType.ListReportObjectPageV4;
818
+ }
819
+ }
820
+ else if (pageType === ux_specification_types_1.PageTypeV4.ObjectPage) {
821
+ templateType = ux_specification_types_1.TemplateType.ListReportObjectPageV4;
822
+ //fixed now for FEOP scenario, bit continue to check if LR/ALP exists
823
+ }
824
+ else if (pageType === ux_specification_types_1.PageTypeV4.CustomPage) {
825
+ templateType = ux_specification_types_1.TemplateType.FreestylePageV4;
826
+ }
827
+ return templateType;
828
+ }
829
+ exports.determineV4PageTemplateType = determineV4PageTemplateType;
830
+ /**
831
+ * Determines the template type, based on the given manifest routing target entries of the app
832
+ * @param v4Pages - pages from routing targets
833
+ * @returns {TemplateType | undefined} the template type
834
+ */
835
+ function determineV4TemplateFromPages(v4Pages) {
836
+ let templateType;
837
+ for (const pageKey in v4Pages) {
838
+ const v4Page = v4Pages[pageKey];
839
+ templateType = determineV4PageTemplateType(v4Page);
840
+ if (templateType) {
841
+ break;
842
+ }
843
+ }
844
+ return templateType;
845
+ }
846
+ /**
847
+ * Determines the template type of a V4 app
848
+ * @param manifest - the manifest.json file
849
+ * @param {ExtensionLogger} logger - Logger class for logging messages
850
+ * @returns {TemplateType} the template type
851
+ */
852
+ function determineV4Template(manifest, logger) {
853
+ const v4Pages = manifest[ux_specification_types_1.ManifestSection.ui5].routing &&
854
+ manifest[ux_specification_types_1.ManifestSection.ui5].routing.targets;
855
+ // if there are no pages in routing targets, we use LROPV4 as default template type
856
+ if (!v4Pages || Object.keys(v4Pages).length === 0) {
857
+ (0, extensionLogger_1.log)(logger, {
858
+ severity: "info" /* LogSeverity.Info */,
859
+ message: i18next_1.default.t('NOPAGES', { appId: manifest['sap.app']['id'] }),
860
+ location: {
861
+ path: ux_specification_types_1.MANIFESTPATH,
862
+ range: [ux_specification_types_1.ManifestSection.ui5, 'routing']
863
+ }
864
+ });
865
+ return ux_specification_types_1.TemplateType.ListReportObjectPageV4;
866
+ }
867
+ // else try to determine template type from routing targets
868
+ const templateType = determineV4TemplateFromPages(v4Pages);
869
+ if (!templateType) {
870
+ (0, extensionLogger_1.log)(logger, {
871
+ severity: "error" /* LogSeverity.Error */,
872
+ message: i18next_1.default.t('NOTEMPLATE', { section: ux_specification_types_1.ManifestSection.ui5 }),
873
+ location: {
874
+ path: ux_specification_types_1.MANIFESTPATH,
875
+ range: [ux_specification_types_1.ManifestSection.ui5, 'routing', 'targets']
876
+ }
877
+ });
878
+ }
879
+ return templateType;
880
+ }
881
+ exports.determineV4Template = determineV4Template;
882
+ /**
883
+ * Determines the template type, based on the given manifest entries of the app
884
+ * @param manifest - the manifest.json file
885
+ * @param {FioriElementsVersion} fioriElementsVersion - OData or FE version
886
+ * @param {ExtensionLogger} logger - Logger class for logging messages
887
+ * @returns {TemplateType} the template type
888
+ */
889
+ function getTemplateTypeFromManifest(manifest, fioriElementsVersion, logger) {
890
+ let templateType;
891
+ if (manifest[ux_specification_types_1.ManifestSection.ovp]) {
892
+ templateType = ux_specification_types_1.TemplateType.OverviewPageV2;
893
+ }
894
+ else if (fioriElementsVersion === ux_specification_types_1.FioriElementsVersion.v2) {
895
+ templateType = determineV2Template(manifest, logger);
896
+ }
897
+ else if (fioriElementsVersion === ux_specification_types_1.FioriElementsVersion.v4) {
898
+ templateType = determineV4Template(manifest, logger);
899
+ }
900
+ else {
901
+ if (!templateType) {
902
+ (0, extensionLogger_1.log)(logger, {
903
+ severity: "error" /* LogSeverity.Error */,
904
+ message: i18next_1.default.t('NOFE'),
905
+ location: {
906
+ path: ux_specification_types_1.MANIFESTPATH
907
+ }
908
+ });
909
+ }
910
+ }
911
+ return templateType;
912
+ }
913
+ exports.getTemplateTypeFromManifest = getTemplateTypeFromManifest;
914
+ /**
915
+ * Adds title and description to a section or header section in an app schema
916
+ * @param facet - intermediate facet structure comprising annotation information
917
+ * @param section - section in the app schema
918
+ * @param facetKey - key of the facet
919
+ */
920
+ function addSectionTitleAndDescription(facet, section, facetKey) {
921
+ if (facet?.ID) {
922
+ section.title = ux_specification_types_1.FacetTitlePrefix + facet.ID;
923
+ section[ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.id, value: facet.ID }];
924
+ }
925
+ else {
926
+ section.title = facetKey.replace(/@com.sap/g, 'com.sap');
927
+ section[ux_specification_types_1.SchemaTag.keys] = [{ name: ux_specification_types_1.SchemaKeyName.id, value: facetKey.replace(ux_specification_types_1.UIVOCABULARYALPHADOT, '') }];
928
+ }
929
+ // Description
930
+ if (facet?.Label) {
931
+ section.description = facet.Label;
932
+ }
933
+ else if (facet?.ID) {
934
+ section.description = facet.ID;
935
+ }
936
+ else {
937
+ section.description = facetKey.substring(facetKey.lastIndexOf('.') + 1);
938
+ }
939
+ }
940
+ exports.addSectionTitleAndDescription = addSectionTitleAndDescription;
941
+ /**
942
+ * Adds target title or description to a section or header section in an app schema
943
+ * @param facet - intermediate facet structure comprising annotation information
944
+ * @param section - section in the app schema
945
+ * @param facetKey - key of the facet
946
+ */
947
+ function addTargetTitleAndSectionDescription(facet, section, facetKey) {
948
+ addSectionTitleAndDescription(facet, section, facetKey);
949
+ if (facet?.Label) {
950
+ return;
951
+ }
952
+ if (facet?.Title) {
953
+ section.description = facet.Title;
954
+ }
955
+ else if (facet?.target?.['Title']) {
956
+ section.description = facet.target['Title'];
957
+ }
958
+ else if (facet?.target?.['Label']) {
959
+ section.description = facet.target['Label'];
960
+ }
961
+ }
962
+ exports.addTargetTitleAndSectionDescription = addTargetTitleAndSectionDescription;
963
+ /**
964
+ * Creates a default object for a new section or subsection, and adds the ID as title if present.
965
+ * @param facet Facet configuration, to be analyzed
966
+ * @returns the new section object
967
+ */
968
+ function createDefaultSection(appSchema, facet, facetKey) {
969
+ if (!facet) {
970
+ return undefined;
971
+ }
972
+ let section;
973
+ if (appSchema.definitions.ObjectPageSection) {
974
+ //base type in V2, with properties
975
+ section = JSON.parse(JSON.stringify(appSchema.definitions.ObjectPageSection));
976
+ }
977
+ else {
978
+ section = {
979
+ type: 'object',
980
+ properties: {},
981
+ additionalProperties: false
982
+ };
983
+ section[ux_specification_types_1.SchemaTag.isViewNode] = true;
984
+ }
985
+ section[ux_specification_types_1.SchemaTag.annotationPath] = facet.annotationPath;
986
+ addTargetTitleAndSectionDescription(facet, section, facetKey);
987
+ return section;
988
+ }
989
+ exports.createDefaultSection = createDefaultSection;
990
+ /**
991
+ * Retrieve page section data(so far id/key and label/description).
992
+ * @param {EntityType} entityType The actual entityType
993
+ * @param {ConvertedMetadata} oDataServiceAVT - complete service information, as returned by annotation vocabularies tool
994
+ * @param {ExtensionLogger} logger - Logger class for logging messages
995
+ * @param {FioriElementsVersion} oDataVersion - OData version
996
+ * @param {boolean} [checkUnresolvableFacets=false] - Check and avoid facets and sections without ID and Target.
997
+ * @returns {FacetSection[]} - Array of facets or sections
998
+ */
999
+ function getObjectPageFacetSection(entityType, oDataServiceAVT, logger, oDataVersion = ux_specification_types_1.FioriElementsVersion.v2, checkUnresolvableFacets = false) {
1000
+ const alias = findAlias(ux_specification_types_1.UIVOCABULARY, oDataServiceAVT);
1001
+ let sections = [];
1002
+ if (entityType) {
1003
+ const facetAnnotation = alias && entityType?.annotations?.[alias]?.Facets;
1004
+ if (facetAnnotation) {
1005
+ sections = facetAnnotation.reduce(function (result, item) {
1006
+ if (checkUnresolvableFacets && !item['ID'] && !('Target' in item && item['Target'])) {
1007
+ return result;
1008
+ }
1009
+ const section = getSectionFacet(item, entityType, oDataServiceAVT, logger, oDataVersion, true);
1010
+ if (section) {
1011
+ result.push(section);
1012
+ }
1013
+ return result;
1014
+ }, sections);
1015
+ }
1016
+ return sections;
1017
+ }
1018
+ }
1019
+ exports.getObjectPageFacetSection = getObjectPageFacetSection;
1020
+ /**
1021
+ * Cleans empty sub-structures from the export result for manifest
1022
+ * @param {object} manifest - manifest.json part of the export result
1023
+ * @param {string} path - path in the manifest
1024
+ * @param {boolean} deletionRequest - if set to true, any manifest setting specified by entityPath gets deleted even if it comprises any unknown property
1025
+ * @param {string[]} entityPathArray (optional) - array of elements, describing a path to a subsection of the config.
1026
+ * If specified, only elements from this subsection are getting deleted
1027
+ * @param {string} targetAnnotation (optional) - target annotation (optional, in case of sections, subsections)
1028
+ * @param {string} targetAnnotationEncoded (optional) - encoded version of the target annotation, as represented in the manifest
1029
+ */
1030
+ const deleteEmptyStructure = (manifest, path, deletionRequest, entityPathArray, targetAnnotation, targetAnnotationEncoded) => {
1031
+ if (!path) {
1032
+ return;
1033
+ }
1034
+ let manifestSection = manifest;
1035
+ const pathArray = path.split('/');
1036
+ pathArray.forEach(function (element) {
1037
+ const decodedElement = targetAnnotationEncoded && targetAnnotationEncoded === element
1038
+ ? targetAnnotation
1039
+ : element.replace('??', '/');
1040
+ if (!manifestSection[decodedElement]) {
1041
+ return;
1042
+ }
1043
+ if (Object.keys(manifestSection[decodedElement]).length === 0 ||
1044
+ //deletion explicitly requested by using entityPath
1045
+ (entityPathArray && entityPathArray[entityPathArray.length - 1] === decodedElement && deletionRequest)) {
1046
+ if (Array.isArray(manifestSection)) {
1047
+ manifestSection.splice(Number(decodedElement), 1);
1048
+ }
1049
+ else {
1050
+ delete manifestSection[decodedElement];
1051
+ }
1052
+ pathArray.pop();
1053
+ (0, exports.deleteEmptyStructure)(manifest, pathArray.join('/'), deletionRequest, entityPathArray, targetAnnotation, targetAnnotationEncoded);
1054
+ return;
1055
+ }
1056
+ manifestSection = manifestSection && manifestSection[decodedElement];
1057
+ });
1058
+ };
1059
+ exports.deleteEmptyStructure = deleteEmptyStructure;
1060
+ /**
1061
+ * Method which returns generic schema file name.
1062
+ * @param {SchemaType | PageTypeV2} schemaType Schema type or Page type.
1063
+ * @return {string} File name of generic schema.
1064
+ */
1065
+ const getGenericSchemaFileName = (schemaType) => {
1066
+ if (schemaType === ux_specification_types_1.SchemaType.FreestylePage) {
1067
+ return ux_specification_types_1.PageTypeV2.CustomPage;
1068
+ }
1069
+ return `${schemaType}`;
1070
+ };
1071
+ /**
1072
+ * Method which returns schema file name and path depending on passed schema or page type.
1073
+ * @param {SchemaType | PageTypeV2} schemaType Schema type or Page type.
1074
+ * @param {string} [entitySet] Entity set string.
1075
+ * @return {SchemaFilePath} File path info.
1076
+ */
1077
+ const getSchemaFilePath = (schemaType, entitySet) => {
1078
+ const schemaFile = {
1079
+ filename: '',
1080
+ path: ''
1081
+ };
1082
+ switch (schemaType) {
1083
+ // Application schema
1084
+ case ux_specification_types_1.SchemaType.Application: {
1085
+ // File name
1086
+ schemaFile.filename = `App`;
1087
+ // Full path
1088
+ schemaFile.path = `./${ux_specification_types_1.DirName.Schemas}/${schemaFile.filename}`;
1089
+ break;
1090
+ }
1091
+ // List report and object page
1092
+ case ux_specification_types_1.SchemaType.ListReport:
1093
+ case ux_specification_types_1.SchemaType.ObjectPage: {
1094
+ // File name
1095
+ schemaFile.filename = entitySet ? `${schemaType}_${entitySet}` : getGenericSchemaFileName(schemaType);
1096
+ // Full path
1097
+ schemaFile.path = `../${ux_specification_types_1.DirName.Schemas}/${schemaFile.filename}`;
1098
+ break;
1099
+ }
1100
+ // Other page configs
1101
+ default: {
1102
+ // File name
1103
+ schemaFile.filename = getGenericSchemaFileName(schemaType);
1104
+ // Full path
1105
+ schemaFile.path = `../${ux_specification_types_1.DirName.Schemas}/${schemaFile.filename}`;
1106
+ break;
1107
+ }
1108
+ }
1109
+ schemaFile.path += '.json';
1110
+ return schemaFile;
1111
+ };
1112
+ exports.getSchemaFilePath = getSchemaFilePath;
1113
+ /**
1114
+ * Method which generates id of page according to passed parameters
1115
+ * @param appVersion - Fiori Elements version - V2 or V4
1116
+ * @param pageType - Page type
1117
+ * @param entitySet - Entity Set
1118
+ * @param viewId - Custom page's viewId (optional)
1119
+ * @param pageName - Page name in manifest. Used if entitySet is empty
1120
+ * @returns {string} Generated page id
1121
+ */
1122
+ function generatePageId(pageType, entitySet, viewId, pageName) {
1123
+ if (pageType === ux_specification_types_1.PageTypeV2.CustomPage) {
1124
+ const names = viewId && viewId.split('.');
1125
+ return names && names[names.length - 1] + 'Page';
1126
+ }
1127
+ const parts = [];
1128
+ parts.push(pageType);
1129
+ if (entitySet) {
1130
+ parts.push(entitySet);
1131
+ }
1132
+ else if (pageName) {
1133
+ parts.push(pageName.replace('|', '').replace(pageType, ''));
1134
+ }
1135
+ return parts.join('_');
1136
+ }
1137
+ exports.generatePageId = generatePageId;
1138
+ /**
1139
+ * Method finds matching objects against passed interface of 'additionalProperties' and returns array of matching object keys.
1140
+ * @param {Definition} appSchema - App-specific JSON schema.
1141
+ * @param {Definition} additionalProperties - Allowed additional properties.
1142
+ * @param {object} configObject -Container object to find matching childs.
1143
+ * @returns {string[]} Array of matching object keys
1144
+ */
1145
+ function findMatchingKeysByAdditionalProperties(appSchema, additionalProperties, configObject) {
1146
+ let properties = additionalProperties?.properties;
1147
+ let required = additionalProperties?.required;
1148
+ if (!properties && additionalProperties?.$ref) {
1149
+ const reference = additionalProperties?.$ref;
1150
+ const definition = appSchema.definitions[reference.split(exports.DEFINITION_LINK_PREFIX)[1]];
1151
+ if (typeof definition === 'object') {
1152
+ properties = definition.properties;
1153
+ required = definition.required;
1154
+ }
1155
+ }
1156
+ if (!properties || Object.keys(properties).length === 0) {
1157
+ return [];
1158
+ }
1159
+ const result = [];
1160
+ required = required || [];
1161
+ // Merge new entries for creation into list
1162
+ for (const key in configObject) {
1163
+ const entry = configObject[key];
1164
+ // Check if interface of config entry matches additionalProperties - all required properties should exist in entry
1165
+ if (typeof entry === 'object' && required.every((property) => entry[property])) {
1166
+ result.push(key);
1167
+ }
1168
+ }
1169
+ return result;
1170
+ }
1171
+ exports.findMatchingKeysByAdditionalProperties = findMatchingKeysByAdditionalProperties;
1172
+ function fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, definitionArray) {
1173
+ const $ref = element.$ref;
1174
+ if ($ref) {
1175
+ const definitionKey = $ref.split(exports.DEFINITION_LINK_PREFIX)[1];
1176
+ if (appSchema.definitions[definitionKey]) {
1177
+ const controlProperty = appSchema.definitions[definitionKey]['controlProperty'];
1178
+ if ($ref.includes(currentConfigObject[controlProperty])) {
1179
+ definitionArray.push(definitionKey);
1180
+ }
1181
+ }
1182
+ }
1183
+ }
1184
+ /**
1185
+ * Fills an array of next definitions from given references in the JSON schema
1186
+ * @param propertyDefinition - Definition of the current property in schema
1187
+ * @param currentConfigObject - Current object in the config JSON. Evaluated to get the right value of a controlling property,
1188
+ * for making the right choice in case of multiple options (anyOf)
1189
+ * @param appSchema - app-specific JSON schema
1190
+ * @returns an array of definitions to proceed with
1191
+ */
1192
+ function fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject, appSchema) {
1193
+ const definitionArray = [];
1194
+ if (propertyDefinition.$ref) {
1195
+ definitionArray.push(propertyDefinition.$ref.split(exports.DEFINITION_LINK_PREFIX)[1]);
1196
+ }
1197
+ else if (propertyDefinition.anyOf) {
1198
+ if (currentConfigObject) {
1199
+ propertyDefinition.anyOf.forEach((element) => {
1200
+ fillArrayFromAnyOfReference(element, appSchema, currentConfigObject, definitionArray);
1201
+ });
1202
+ }
1203
+ if (definitionArray.length === 0) {
1204
+ return undefined;
1205
+ }
1206
+ }
1207
+ return definitionArray;
1208
+ }
1209
+ /**
1210
+ * Determines the next definition to be handled, based on the definition array.
1211
+ * It also creates the Metadata instance for the next definition, to subsequently access metadata like the syncRule
1212
+ * @param definitionArray - Array of definitions, as determined by fillArrayFromNextDefinition
1213
+ * @param appSchema - app-specific JSON schema
1214
+ * @param title - default title
1215
+ * @param currentConfigObject - Current object in the config JSON.
1216
+ * @param key - actual key
1217
+ * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
1218
+ * @param pageType - page type
1219
+ * @param propertyDefinition - Definition of the current property in schema
1220
+ * @returns {NextDefinition} - Next target definition to process
1221
+ */
1222
+ function determineNextDefinitionFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition) {
1223
+ let nextDefinition = {
1224
+ configObject: undefined,
1225
+ targetDefinition: {},
1226
+ title: ''
1227
+ };
1228
+ if (definitionArray.length) {
1229
+ const lastDefinition = definitionArray[definitionArray.length - 1];
1230
+ nextDefinition.targetDefinition = appSchema['definitions'][lastDefinition];
1231
+ if (nextDefinition?.targetDefinition?.['$ref'] || nextDefinition?.targetDefinition?.['type'] === 'array') {
1232
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
1233
+ nextDefinition = getNextTargetDefinition(appSchema, title, currentConfigObject, nextDefinition.targetDefinition, key, factory, pageType);
1234
+ return nextDefinition;
1235
+ }
1236
+ if (definitionArray.length > 1) {
1237
+ definitionArray.forEach((element) => {
1238
+ if (element !== '') {
1239
+ nextDefinition.targetDefinition['properties'] = {
1240
+ ...nextDefinition.targetDefinition['properties'],
1241
+ ...appSchema['definitions'][element]['properties']
1242
+ };
1243
+ }
1244
+ });
1245
+ }
1246
+ nextDefinition.title = nextDefinition?.targetDefinition?.['title']
1247
+ ? nextDefinition.targetDefinition['title']
1248
+ : title;
1249
+ const factoryKey = lastDefinition?.split('<')[0];
1250
+ const targetObject = currentConfigObject ? currentConfigObject : {};
1251
+ nextDefinition.configObject = factory.createInstance(pageType, factoryKey, targetObject, nextDefinition?.targetDefinition?.['controlProperty']);
1252
+ }
1253
+ else {
1254
+ //e.g. sections ==> loop over all properties = subsections or other
1255
+ nextDefinition.targetDefinition = propertyDefinition;
1256
+ nextDefinition.title = nextDefinition.targetDefinition['title']
1257
+ ? nextDefinition.targetDefinition['title']
1258
+ : key;
1259
+ nextDefinition.configObject = currentConfigObject;
1260
+ }
1261
+ return nextDefinition;
1262
+ }
1263
+ /**
1264
+ * Recursive function to determine the next config part, next definition in the app schema and the title
1265
+ * @param appSchema - app-specific JSON schema
1266
+ * @param title - default title
1267
+ * @param currentConfigObject - current part of the configuration that gets traversed
1268
+ * @param propertyDefinition - definition of a given property in the app schema
1269
+ * @param key - actual key
1270
+ * @param {MetadataInstanceInterface} factory - factory for creating metadata instances
1271
+ * @param pageType - page type
1272
+ */
1273
+ function getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition, key, factory, pageType) {
1274
+ let nextDefinition;
1275
+ if (propertyDefinition['type'] === 'array') {
1276
+ nextDefinition = getNextTargetDefinition(appSchema, title, currentConfigObject, propertyDefinition['items'], key, factory, pageType);
1277
+ return nextDefinition;
1278
+ }
1279
+ const definitionArray = fillArrayFromPropertyDefinition(propertyDefinition, currentConfigObject, appSchema);
1280
+ if (!definitionArray) {
1281
+ return undefined;
1282
+ }
1283
+ nextDefinition = determineNextDefinitionFromDefinitionArray(definitionArray, appSchema, title, currentConfigObject, key, factory, pageType, propertyDefinition);
1284
+ return nextDefinition;
1285
+ }
1286
+ exports.getNextTargetDefinition = getNextTargetDefinition;
1287
+ /**
1288
+ * Custom array merge function called by deepmerge's merge function
1289
+ *
1290
+ * @param {*} target Target array
1291
+ * @param {*} source Source array
1292
+ * @param {*} options options object provided by deepmerge's merge function
1293
+ * @returns
1294
+ */
1295
+ const arrayCombineMerge = (target, source, options) => {
1296
+ const destination = target.slice();
1297
+ source.forEach((item, index) => {
1298
+ if (typeof destination[index] === 'undefined') {
1299
+ destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);
1300
+ }
1301
+ else if (options.isMergeableObject(item)) {
1302
+ destination[index] = (0, deepmerge_1.default)(target[index], item, options);
1303
+ }
1304
+ else if (target.indexOf(item) === -1) {
1305
+ destination.push(item);
1306
+ }
1307
+ });
1308
+ return destination;
1309
+ };
1310
+ exports.arrayCombineMerge = arrayCombineMerge;
1311
+ /**
1312
+ * Converts an enum into a CSV
1313
+ * @param {object} manifestSection - manifestSection where the key exists
1314
+ * @param {object} configPart - Property as mentioned in config file
1315
+ * @param {string} key - Property to be exported to manifest
1316
+ */
1317
+ function convertEnumToCSV(manifestSection, configPart, key) {
1318
+ manifestSection[key] = JSON.parse(JSON.stringify(configPart[key]));
1319
+ // convert enum array to joined string
1320
+ const field = configPart[key];
1321
+ manifestSection[key] = field.join();
1322
+ }
1323
+ exports.convertEnumToCSV = convertEnumToCSV;
1324
+ /**
1325
+ * Converts an action ID from the internal format (schema, config) to the stable ID representation
1326
+ * @param actionId - the (unique) internal format of the action ID
1327
+ * @returns the converted action ID
1328
+ */
1329
+ function convertActionKeyToStableId(actionId) {
1330
+ if (!actionId) {
1331
+ return;
1332
+ }
1333
+ return (actionId.indexOf('??') > -1 ? actionId.split('??')[1] : actionId).replace(/@/g, '::');
1334
+ }
1335
+ exports.convertActionKeyToStableId = convertActionKeyToStableId;
1336
+ /**
1337
+ * Method returns definition key for passed '$ref' property by removing 'definition' prefix
1338
+ * @param {string} $ref Definition reference.
1339
+ * @returns Definition key.
1340
+ */
1341
+ function getDefinitionKey($ref) {
1342
+ return $ref?.split(exports.DEFINITION_LINK_PREFIX)[1];
1343
+ }
1344
+ exports.getDefinitionKey = getDefinitionKey;
1345
+ /**
1346
+ * Returns the message property if the error is an instance of `Error` else a string representation of the error.
1347
+ *
1348
+ * @param error {Error | unknown} - the error instance
1349
+ * @returns {string} the error message
1350
+ */
1351
+ function getErrorMessage(error) {
1352
+ return error instanceof Error ? error.message : String(error);
1353
+ }
1354
+ exports.getErrorMessage = getErrorMessage;
1355
+ /**
1356
+ * Method adds indices (propertyIndex property) to app-specific JSON schema properties.
1357
+ *
1358
+ * @param {Definition} [schema] App-specific JSON schema.
1359
+ * @param {string[]} [order] Order of properties.
1360
+ * @returns {void} Updates app-specific JSON schema properties with indices.
1361
+ */
1362
+ function updatePropertyIndices(schema, order) {
1363
+ order.forEach((propertyName, index) => {
1364
+ if (schema.properties[propertyName]) {
1365
+ schema.properties[propertyName]['propertyIndex'] = index;
1366
+ }
1367
+ });
1368
+ }
1369
+ exports.updatePropertyIndices = updatePropertyIndices;
1370
+ /**
1371
+ * Method to remove namespaces
1372
+ * @param {string } [sId]
1373
+ * @returns {string} modified string without namespace
1374
+ */
1375
+ function removeNamespaces(sId) {
1376
+ sId = sId.replace(ux_specification_types_1.UIVOCABULARYDOT, '');
1377
+ sId = sId.replace('com.sap.vocabularies.Communication.v1.', '');
1378
+ return sId;
1379
+ }
1380
+ exports.removeNamespaces = removeNamespaces;
1381
+ /**
1382
+ * Method to replace namespaces with short hand form
1383
+ * @param {string } [sId]
1384
+ * @returns {string} modified string with replaced namespaces
1385
+ */
1386
+ function replaceNamespaces(sId) {
1387
+ sId = sId.replace(ux_specification_types_1.UIVOCABULARY, 'UI');
1388
+ sId = sId.replace('com.sap.vocabularies.Communication.v1', 'Communication');
1389
+ return sId;
1390
+ }
1391
+ exports.replaceNamespaces = replaceNamespaces;
1392
+ //# sourceMappingURL=utils.js.map