@sap/ux-specification 1.84.127 → 1.84.129

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 (223) hide show
  1. package/CHANGELOG.md +54 -0
  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-ListReportNew.html +2 -2
  6. package/dist/documentation/v2/v2-ObjectPage.html +2 -2
  7. package/dist/documentation/v2/v2-OverviewPage.html +2 -2
  8. package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
  9. package/dist/documentation/v4/v4-ListReport.html +2 -2
  10. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  11. package/dist/index-min.js +177 -177
  12. package/dist/index-min.js.map +4 -4
  13. package/dist/schemas/v2/ApplicationV2.json +36 -9
  14. package/dist/schemas/v2/ListReportNewConfig.json +134 -0
  15. package/dist/schemas/v2/ObjectPageConfig.json +12 -5
  16. package/dist/schemas/v4/ApplicationV4.json +8 -4
  17. package/dist/specification/package.json +16 -15
  18. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  19. package/dist/specification/scripts/schema/to-json-schema.js +72 -7
  20. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  21. package/dist/specification/src/sync/common/decoration/decorators.d.ts +72 -4
  22. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  23. package/dist/specification/src/sync/common/decoration/decorators.js +145 -8
  24. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  25. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +7 -0
  26. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  27. package/dist/specification/src/sync/common/distTagEvaluator.js +10 -0
  28. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  29. package/dist/specification/src/sync/common/dist_tag.json +17 -18
  30. package/dist/specification/src/sync/common/generate/utils.d.ts +17 -7
  31. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  32. package/dist/specification/src/sync/common/generate/utils.js +38 -22
  33. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  34. package/dist/specification/src/sync/common/i18n.json +13 -1
  35. package/dist/specification/src/sync/common/utils.d.ts +64 -0
  36. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  37. package/dist/specification/src/sync/common/utils.js +148 -2
  38. package/dist/specification/src/sync/common/utils.js.map +1 -1
  39. package/dist/specification/src/sync/v2/application.d.ts +1 -0
  40. package/dist/specification/src/sync/v2/application.d.ts.map +1 -1
  41. package/dist/specification/src/sync/v2/application.js +18 -0
  42. package/dist/specification/src/sync/v2/application.js.map +1 -1
  43. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
  44. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
  45. package/dist/specification/src/sync/v2/export/exportPage.js +15 -4
  46. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
  47. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  48. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +6 -12
  49. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  50. package/dist/specification/src/sync/v2/export/factory.d.ts +26 -0
  51. package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v2/export/factory.js +3 -3
  53. package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
  54. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts +1 -0
  55. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js +11 -0
  57. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
  58. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  59. package/dist/specification/src/sync/v2/generate/listReport.js +44 -0
  60. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  61. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
  62. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
  63. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  64. package/dist/specification/src/sync/v2/generate/objectPage.js +86 -31
  65. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  66. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
  67. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  68. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
  69. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  70. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
  71. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
  72. package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
  73. package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
  74. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
  75. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
  76. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
  77. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
  78. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
  79. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
  80. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts +22 -0
  81. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts.map +1 -0
  82. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js +124 -0
  83. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js.map +1 -0
  84. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +54 -0
  85. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
  86. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +153 -0
  87. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
  88. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +3 -0
  89. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
  90. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +3 -0
  91. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
  92. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
  93. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
  94. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
  95. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
  96. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  97. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +40 -20
  98. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  99. package/dist/specification/src/sync/v2/utils.d.ts +23 -0
  100. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  101. package/dist/specification/src/sync/v2/utils.js +67 -0
  102. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  103. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  104. package/dist/specification/src/sync/v4/export/pages/ListReport.js +2 -1
  105. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  106. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +74 -0
  107. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -0
  108. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +262 -0
  109. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -0
  110. package/dist/specification/src/sync/v4/generate/listReport.d.ts +61 -2
  111. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v4/generate/listReport.js +145 -80
  113. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  114. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  115. package/dist/specification/src/sync/v4/generate/objectPage.js +82 -33
  116. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  117. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
  118. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
  119. package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
  120. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
  121. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
  122. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
  123. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
  124. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
  125. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
  126. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
  127. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
  128. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
  129. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
  130. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
  131. package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
  132. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
  133. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
  134. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
  135. package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
  136. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
  137. package/dist/specification/src/sync/v4/utils/utils.d.ts +15 -5
  138. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  139. package/dist/specification/src/sync/v4/utils/utils.js +53 -5
  140. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  141. package/dist/types/src/common/Application.d.ts +3 -0
  142. package/dist/types/src/common/Application.d.ts.map +1 -1
  143. package/dist/types/src/common/Application.js +4 -0
  144. package/dist/types/src/common/Application.js.map +1 -1
  145. package/dist/types/src/common/types.d.ts +106 -1
  146. package/dist/types/src/common/types.d.ts.map +1 -1
  147. package/dist/types/src/common/types.js +2 -0
  148. package/dist/types/src/common/types.js.map +1 -1
  149. package/dist/types/src/common/webapp/manifest/Manifest.d.ts +1 -1
  150. package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
  151. package/dist/types/src/v2/application.d.ts +18 -0
  152. package/dist/types/src/v2/application.d.ts.map +1 -1
  153. package/dist/types/src/v2/controls/Action.d.ts +12 -0
  154. package/dist/types/src/v2/controls/Action.d.ts.map +1 -1
  155. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts +1 -0
  156. package/dist/types/src/v2/controls/AnalyticalListPageChart.d.ts.map +1 -1
  157. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts +1 -0
  158. package/dist/types/src/v2/controls/AnalyticalListPageKPI.d.ts.map +1 -1
  159. package/dist/types/src/v2/controls/Card.d.ts +13 -0
  160. package/dist/types/src/v2/controls/Card.d.ts.map +1 -1
  161. package/dist/types/src/v2/controls/Card.js.map +1 -1
  162. package/dist/types/src/v2/controls/Field.d.ts +1 -0
  163. package/dist/types/src/v2/controls/Field.d.ts.map +1 -1
  164. package/dist/types/src/v2/controls/FilterBar.d.ts +6 -0
  165. package/dist/types/src/v2/controls/FilterBar.d.ts.map +1 -1
  166. package/dist/types/src/v2/controls/FilterBar.js.map +1 -1
  167. package/dist/types/src/v2/controls/Header.d.ts +1 -0
  168. package/dist/types/src/v2/controls/Header.d.ts.map +1 -1
  169. package/dist/types/src/v2/controls/ObjectPageChart.d.ts +1 -0
  170. package/dist/types/src/v2/controls/ObjectPageChart.d.ts.map +1 -1
  171. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts +2 -0
  172. package/dist/types/src/v2/controls/ObjectPageFooter.d.ts.map +1 -1
  173. package/dist/types/src/v2/controls/ObjectPageForm.d.ts +1 -0
  174. package/dist/types/src/v2/controls/ObjectPageForm.d.ts.map +1 -1
  175. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts +1 -0
  176. package/dist/types/src/v2/controls/ObjectPageHeader.d.ts.map +1 -1
  177. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts +3 -0
  178. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  179. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts +1 -0
  180. package/dist/types/src/v2/controls/ObjectPageLayout.d.ts.map +1 -1
  181. package/dist/types/src/v2/controls/ObjectPageSection.d.ts +13 -0
  182. package/dist/types/src/v2/controls/ObjectPageSection.d.ts.map +1 -1
  183. package/dist/types/src/v2/controls/ObjectPageSection.js.map +1 -1
  184. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +10 -4
  185. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
  186. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts +2 -0
  187. package/dist/types/src/v2/controls/ObjectPageToolBar.d.ts.map +1 -1
  188. package/dist/types/src/v2/controls/Table.d.ts +28 -0
  189. package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
  190. package/dist/types/src/v2/controls/Table.js.map +1 -1
  191. package/dist/types/src/v2/controls/ToolBar.d.ts +1 -0
  192. package/dist/types/src/v2/controls/ToolBar.d.ts.map +1 -1
  193. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts +1 -0
  194. package/dist/types/src/v2/pages/AnalyticalListPageConfigV2.d.ts.map +1 -1
  195. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +10 -1
  196. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -1
  197. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts +4 -0
  198. package/dist/types/src/v2/pages/OverviewPageConfigV2.d.ts.map +1 -1
  199. package/dist/types/src/v4/controls/FilterBar.d.ts +2 -0
  200. package/dist/types/src/v4/controls/FilterBar.d.ts.map +1 -1
  201. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts +1 -0
  202. package/dist/types/src/v4/controls/ObjectPageFooter.d.ts.map +1 -1
  203. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts +1 -0
  204. package/dist/types/src/v4/controls/ObjectPageHeader.d.ts.map +1 -1
  205. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts +4 -0
  206. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  207. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts +1 -0
  208. package/dist/types/src/v4/controls/ObjectPageLayout.d.ts.map +1 -1
  209. package/dist/types/src/v4/controls/ObjectPageSection.d.ts +15 -0
  210. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
  211. package/dist/types/src/v4/controls/ObjectPageSection.js.map +1 -1
  212. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +2 -0
  213. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  214. package/dist/types/src/v4/controls/ObjectPageTable.js.map +1 -1
  215. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts +3 -0
  216. package/dist/types/src/v4/controls/ObjectPageToolBar.d.ts.map +1 -1
  217. package/dist/types/src/v4/controls/Table.d.ts +15 -0
  218. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  219. package/dist/types/src/v4/controls/ToolBar.d.ts +6 -0
  220. package/dist/types/src/v4/controls/ToolBar.d.ts.map +1 -1
  221. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts +22 -0
  222. package/dist/types/src/v4/webapp/manifest/ManifestSettings.d.ts.map +1 -1
  223. package/package.json +16 -15
@@ -27,34 +27,46 @@
27
27
  "properties": {
28
28
  "forceGlobalRefresh": {
29
29
  "description": "If forceGlobalRefresh is not explicitly set to false, a global model refresh is triggered when the annotated side effects are executed.",
30
- "type": "boolean"
30
+ "type": "boolean",
31
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.forceGlobalRefresh"
31
32
  },
32
33
  "flexibleColumnLayout": {
33
34
  "$ref": "#/definitions/FlexibleColumnLayout",
34
- "description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas."
35
+ "description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas.",
36
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout"
35
37
  },
36
38
  "tableColumnVerticalAlignment": {
37
39
  "$ref": "#/definitions/TableColumnVerticalAlignment",
38
- "description": "tableColumnVerticalAlignment provides an option for vertical alignment for the whole responsive table."
40
+ "description": "tableColumnVerticalAlignment provides an option for vertical alignment for the whole responsive table.",
41
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.tableColumnVerticalAlignment"
42
+ },
43
+ "globalTableSettings": {
44
+ "$ref": "#/definitions/GlobalApplicationTableSettings",
45
+ "description": "Settings for all tables.",
46
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.tableSettings"
39
47
  },
40
48
  "title": {
41
49
  "description": "Defines the title for the application.",
42
50
  "i18nClassification": "TIT: Title of the application",
43
- "type": "string"
51
+ "type": "string",
52
+ "manifestPath": "$[\"sap.app\"].title"
44
53
  },
45
54
  "description": {
46
55
  "description": "Defines the description for the application.",
47
56
  "i18nClassification": "TIT: Description of the application",
48
- "type": "string"
57
+ "type": "string",
58
+ "manifestPath": "$[\"sap.app\"].description"
49
59
  },
50
60
  "flexEnabled": {
51
61
  "description": "Enables key user adaptation for an application.",
52
62
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/ccd45ba3f0b446a0901b2c9d42b8ad53",
53
- "type": "boolean"
63
+ "type": "boolean",
64
+ "manifestPath": "$[\"sap.ui5\"].flexEnabled"
54
65
  },
55
66
  "cloudDevAdaptationStatus": {
56
67
  "$ref": "#/definitions/CloudDevAdaptationStatus",
57
- "description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released."
68
+ "description": "Represents the release status for the developer adaptation in the cloud (relevant for SAP internal only). The supported types are released, deprecated, obsolete, no value means not released.",
69
+ "manifestPath": "$[\"sap.fiori\"].cloudDevAdaptationStatus"
58
70
  }
59
71
  },
60
72
  "additionalProperties": false
@@ -64,10 +76,12 @@
64
76
  "type": "object",
65
77
  "properties": {
66
78
  "defaultTwoColumnLayoutType": {
67
- "$ref": "#/definitions/FlexibleColumnLayoutType"
79
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
80
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout.defaultTwoColumnLayoutType"
68
81
  },
69
82
  "defaultThreeColumnLayoutType": {
70
- "$ref": "#/definitions/FlexibleColumnLayoutType"
83
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
84
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout.defaultThreeColumnLayoutType"
71
85
  }
72
86
  },
73
87
  "additionalProperties": false
@@ -94,6 +108,19 @@
94
108
  ],
95
109
  "type": "string"
96
110
  },
111
+ "GlobalApplicationTableSettings": {
112
+ "type": "object",
113
+ "properties": {
114
+ "createMode": {
115
+ "description": "This property acts as a global default for all pages and tables in the application. Page-level or table-level definitions override this setting.\nYou can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
116
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b",
117
+ "type": "string",
118
+ "const": "inline",
119
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.tableSettings.createMode"
120
+ }
121
+ },
122
+ "additionalProperties": false
123
+ },
97
124
  "CloudDevAdaptationStatus": {
98
125
  "internal": true,
99
126
  "enum": [
@@ -15,6 +15,10 @@
15
15
  "$ref": "#/definitions/ListReportFilterBar",
16
16
  "description": "Filter Bar"
17
17
  },
18
+ "table": {
19
+ "$ref": "#/definitions/Table",
20
+ "description": "Table"
21
+ },
18
22
  "footer": {
19
23
  "$ref": "#/definitions/Toolbar",
20
24
  "description": "Footer"
@@ -418,6 +422,136 @@
418
422
  ],
419
423
  "type": "string"
420
424
  },
425
+ "Table": {
426
+ "description": "Table",
427
+ "isViewNode": true,
428
+ "type": "object",
429
+ "properties": {
430
+ "entitySet": {
431
+ "description": "This property can be used to indicate that a table or chart should be based on a different entity set than the main entity set",
432
+ "type": "string",
433
+ "artifactType": "Manifest",
434
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/b6b59e4a4c3548cf83ff9c3b955d3ba3"
435
+ },
436
+ "annotationPath": {
437
+ "description": "Specify a SelectionVariant or SelectionPresentationVariant annotation for the entity set to configure the table or chart",
438
+ "type": "string",
439
+ "artifactType": "Manifest",
440
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/37aeed74e17a42caa2cba3123f0c15fc"
441
+ },
442
+ "showItemNavigationOnChart": {
443
+ "description": "To enable navigation for charts, you have to set the property to \"true\" and maintain an internal navigation target in the manifest.",
444
+ "type": "boolean",
445
+ "artifactType": "Manifest"
446
+ },
447
+ "views": {
448
+ "$ref": "#/definitions/MultiViewsDefinition"
449
+ },
450
+ "quickVariantSelection": {
451
+ "$ref": "#/definitions/MultiViewsOnTable",
452
+ "description": "With quickVariantSelection, you can switch to multiple views (single table mode).\nEach view links to a variant you have added to your annotations."
453
+ },
454
+ "showTablePersonalisation": {
455
+ "description": "The showTablePersonalisation attribute can be set to false to hide the table personalization button.",
456
+ "type": "boolean",
457
+ "artifactType": "FlexChange",
458
+ "controlType": "sap.ui.comp.smarttable.SmartTable"
459
+ },
460
+ "exportType": {
461
+ "$ref": "#/definitions/ExportType",
462
+ "description": "Specifies the type of export to be used in the SmartTable control. UI5Client is the default option.",
463
+ "artifactType": "FlexChange",
464
+ "controlType": "sap.ui.comp.smarttable.SmartTable"
465
+ },
466
+ "useExportToExcel": {
467
+ "description": "useExportToExcel must be set to true if you want to export data to a spreadsheet application, for example Microsoft Excel.",
468
+ "type": "boolean",
469
+ "artifactType": "FlexChange",
470
+ "controlType": "sap.ui.comp.smarttable.SmartTable"
471
+ }
472
+ },
473
+ "additionalProperties": false
474
+ },
475
+ "MultiViewsDefinition": {
476
+ "description": "Views",
477
+ "isViewNode": true,
478
+ "type": "object",
479
+ "properties": {
480
+ "enableAutoBinding": {
481
+ "description": "Use this property to ensure that data are automatically loaded when the page is opened.",
482
+ "type": "boolean",
483
+ "artifactType": "Manifest"
484
+ },
485
+ "showCounts": {
486
+ "description": "You can show the counts of entries of each view. To do so, add the showCounts option and set it to true.",
487
+ "type": "boolean",
488
+ "artifactType": "Manifest"
489
+ },
490
+ "variants": {
491
+ "$ref": "#/definitions/MultiViewsVariants",
492
+ "description": "List of views"
493
+ }
494
+ },
495
+ "additionalProperties": false,
496
+ "required": [
497
+ "variants"
498
+ ]
499
+ },
500
+ "MultiViewsVariants": {
501
+ "isViewNode": false,
502
+ "type": "object",
503
+ "additionalProperties": {
504
+ "$ref": "#/definitions/Table"
505
+ }
506
+ },
507
+ "MultiViewsOnTable": {
508
+ "type": "object",
509
+ "properties": {
510
+ "showCounts": {
511
+ "description": "To show the number of available records, set showCounts to true.",
512
+ "type": "boolean",
513
+ "artifactType": "Manifest"
514
+ },
515
+ "variants": {
516
+ "description": "The variants section contains a set of entries that point to a SelectionVariant or SelectionPresentationVariant annotation.",
517
+ "type": "object",
518
+ "additionalProperties": {
519
+ "$ref": "#/definitions/ViewOnTable"
520
+ },
521
+ "artifactType": "Manifest"
522
+ }
523
+ },
524
+ "additionalProperties": false,
525
+ "required": [
526
+ "variants"
527
+ ]
528
+ },
529
+ "ViewOnTable": {
530
+ "type": "object",
531
+ "properties": {
532
+ "key": {
533
+ "description": "The key property is mandatory. It is used for initializing the corresponding SegmentedButton item.",
534
+ "type": "string"
535
+ },
536
+ "annotationPath": {
537
+ "description": "Use annotationPath to define a specific variant that points to a SelectionVariant or SelectionPresentationVariant annotation.",
538
+ "type": "string",
539
+ "artifactType": "Manifest"
540
+ }
541
+ },
542
+ "additionalProperties": false,
543
+ "required": [
544
+ "annotationPath",
545
+ "key"
546
+ ]
547
+ },
548
+ "ExportType": {
549
+ "enum": [
550
+ "GW",
551
+ "UI5Client"
552
+ ],
553
+ "type": "string"
554
+ },
421
555
  "Toolbar": {
422
556
  "description": "Toolbar",
423
557
  "isViewNode": true,
@@ -56,6 +56,13 @@
56
56
  "footer": {
57
57
  "$ref": "#/definitions/ObjectPageFooter<ObjectPageFooterActions>"
58
58
  },
59
+ "createMode": {
60
+ "description": "This property applies to all tables within the page. Individual tables can override this setting by defining the property explicitly at table level.\nYou can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
61
+ "type": "string",
62
+ "const": "inline",
63
+ "artifactType": "Manifest",
64
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
65
+ },
59
66
  "$schema": {
60
67
  "type": "string"
61
68
  }
@@ -717,7 +724,7 @@
717
724
  "controlType": "sap.m.Table"
718
725
  },
719
726
  "createMode": {
720
- "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create or edit mode an empty row is added to the table.\n- creationRowsHiddenInEditMode: Like \"creationRows\", but in edit mode the empty row will only be shown when the user clicks the Create button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create or edit mode, the users can use the Create button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default no empty row is provided and the Create button automatically navigates to the item's object page for the newly created entry.",
727
+ "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
721
728
  "type": "string",
722
729
  "const": "inline",
723
730
  "artifactType": "Manifest",
@@ -1164,7 +1171,7 @@
1164
1171
  "controlType": "sap.m.Table"
1165
1172
  },
1166
1173
  "createMode": {
1167
- "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create or edit mode an empty row is added to the table.\n- creationRowsHiddenInEditMode: Like \"creationRows\", but in edit mode the empty row will only be shown when the user clicks the Create button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create or edit mode, the users can use the Create button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default no empty row is provided and the Create button automatically navigates to the item's object page for the newly created entry.",
1174
+ "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
1168
1175
  "type": "string",
1169
1176
  "const": "inline",
1170
1177
  "artifactType": "Manifest",
@@ -1252,7 +1259,7 @@
1252
1259
  "artifactType": "Manifest"
1253
1260
  },
1254
1261
  "createMode": {
1255
- "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create or edit mode an empty row is added to the table.\n- creationRowsHiddenInEditMode: Like \"creationRows\", but in edit mode the empty row will only be shown when the user clicks the Create button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create or edit mode, the users can use the Create button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default no empty row is provided and the Create button automatically navigates to the item's object page for the newly created entry.",
1262
+ "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
1256
1263
  "type": "string",
1257
1264
  "const": "inline",
1258
1265
  "artifactType": "Manifest",
@@ -1340,7 +1347,7 @@
1340
1347
  "artifactType": "Manifest"
1341
1348
  },
1342
1349
  "createMode": {
1343
- "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create or edit mode an empty row is added to the table.\n- creationRowsHiddenInEditMode: Like \"creationRows\", but in edit mode the empty row will only be shown when the user clicks the Create button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create or edit mode, the users can use the Create button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default no empty row is provided and the Create button automatically navigates to the item's object page for the newly created entry.",
1350
+ "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
1344
1351
  "type": "string",
1345
1352
  "const": "inline",
1346
1353
  "artifactType": "Manifest",
@@ -1428,7 +1435,7 @@
1428
1435
  "artifactType": "Manifest"
1429
1436
  },
1430
1437
  "createMode": {
1431
- "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create or edit mode an empty row is added to the table.\n- creationRowsHiddenInEditMode: Like \"creationRows\", but in edit mode the empty row will only be shown when the user clicks the Create button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create or edit mode, the users can use the Create button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default no empty row is provided and the Create button automatically navigates to the item's object page for the newly created entry.",
1438
+ "description": "You can set the following values for this property:\n- creationRows: Used to enable empty rows mode. In create and edit mode, an empty row is added to the table.\n- creationRowsHiddenInEditMode: Similar to \"creationRows\", but in edit mode, the empty row is only displayed when the user clicks the \"Create\" button. This option is available starting with SAPUI5 version 1.110.\n- inline: In create and edit mode, users can use the \"Create\" button to add new entries to the table. We recommend to use \"creationRows\" instead.\nBy default, an empty row is not provided and the \"Create\" button automatically navigates to the item's object page for the newly created entry.",
1432
1439
  "type": "string",
1433
1440
  "const": "inline",
1434
1441
  "artifactType": "Manifest",
@@ -27,7 +27,8 @@
27
27
  "properties": {
28
28
  "flexibleColumnLayout": {
29
29
  "$ref": "#/definitions/FlexibleColumnLayoutV4",
30
- "description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas."
30
+ "description": "The flexible column layout allows users to see more details on the page, and to expand and collapse the screen areas.",
31
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout"
31
32
  },
32
33
  "viewPath": {
33
34
  "description": "Represents a prefix that is prepended in front of the viewName",
@@ -61,13 +62,16 @@
61
62
  "properties": {
62
63
  "limitFCLToTwoColumns": {
63
64
  "description": "Determines whether the Flexible Column Layout is limited to two columns. If set to true, the third level will be displayed in full screen mode rather than a third column.",
64
- "type": "boolean"
65
+ "type": "boolean",
66
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.limitFCLToTwoColumns"
65
67
  },
66
68
  "defaultTwoColumnLayoutType": {
67
- "$ref": "#/definitions/FlexibleColumnLayoutType"
69
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
70
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.defaultTwoColumnLayoutType"
68
71
  },
69
72
  "defaultThreeColumnLayoutType": {
70
- "$ref": "#/definitions/FlexibleColumnLayoutType"
73
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
74
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.defaultThreeColumnLayoutType"
71
75
  }
72
76
  },
73
77
  "additionalProperties": false
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/ux-specification",
3
- "version": "1.84.127",
3
+ "version": "1.84.129",
4
4
  "displayName": "SAP Fiori tools - Specification",
5
5
  "description": "SAP Fiori tools - Specification",
6
6
  "files": [
@@ -34,11 +34,12 @@
34
34
  "docuV4": "ts-node ./scripts/extractDocu.ts --version=v4 format=excel",
35
35
  "htmlV2": "ts-node ./scripts/extractDocu.ts --version=v2 --format=html",
36
36
  "htmlV4": "ts-node ./scripts/extractDocu.ts --version=v4 --format=html",
37
- "lint": "eslint . --ext .ts",
38
- "lint:summary": "eslint . --ext .ts -f summary",
39
- "lint:fix": "eslint . --ext .ts --fix",
40
- "lint:report": "eslint . --ext .ts -f multiple",
41
- "lint:report:jslint": "eslint . --ext .ts -o reports/lint/eslint.jslint.xml -f jslint-xml",
37
+ "lint": "eslint .",
38
+ "lint:summary": "eslint . -f summary",
39
+ "lint:fix": "eslint . --fix",
40
+ "lint:report": "eslint . -f multiple",
41
+ "lint:report:jslint": "eslint . -o reports/lint/eslint.jslint.xml -f jslint-xml",
42
+ "macros": "ts-node ./scripts/macros/index.ts",
42
43
  "test": "jest && node ../../scripts/scov.js reports/test/unit/coverage/lcov.info",
43
44
  "test:ci": "jest --ci --forceExit --detectOpenHandles && node ../../scripts/scov.js reports/test/unit/coverage/lcov.info",
44
45
  "update-snapshots": "jest --updateSnapshot",
@@ -48,19 +49,19 @@
48
49
  "publisher": "SAPSE",
49
50
  "license": "SEE LICENSE IN LICENSE",
50
51
  "dependencies": {
51
- "@sap-ux/vocabularies-types": "0.13.2"
52
+ "@sap-ux/vocabularies-types": "0.14.5"
52
53
  },
53
54
  "devDependencies": {
54
- "@sap-ux/annotation-converter": "0.10.9",
55
- "@sap-ux/edmx-parser": "0.9.6",
56
- "@sap-ux/project-access": "1.32.9",
57
- "@sap/ux-specification-types": "1.84.127",
55
+ "@sap-ux/annotation-converter": "0.10.19",
56
+ "@sap-ux/edmx-parser": "0.9.8",
57
+ "@sap-ux/project-access": "1.34.2",
58
+ "@sap/ux-specification-types": "1.84.129",
58
59
  "@sapui5/ts-types": "latest-1.84",
59
60
  "@types/d3": "7.4.3",
60
61
  "@types/jquery": "3.5.33",
62
+ "@types/json-schema": "7.0.15",
61
63
  "@types/mem-fs": "1.1.5",
62
64
  "@types/mem-fs-editor": "7.0.1",
63
- "@types/json-schema": "7.0.5",
64
65
  "@ui5/flexibility-utils": "0.1.3",
65
66
  "@xml-tools/ast": "5.0.5",
66
67
  "@xml-tools/parser": "1.0.11",
@@ -69,16 +70,16 @@
69
70
  "d3": "7.9.0",
70
71
  "deepmerge": "4.3.1",
71
72
  "ejs": "3.1.10",
73
+ "eslint-formatter-checkstyle": "9.0.1",
72
74
  "excel4node": "1.8.2",
73
- "i18next": "25.6.3",
75
+ "i18next": "25.7.4",
74
76
  "jquery": "3.7.1",
75
77
  "jsdom": "25.0.1",
76
- "lodash.unset": "4.5.2",
77
78
  "mem-fs": "2.1.0",
78
79
  "mem-fs-editor": "9.7.0",
79
80
  "path": "0.12.7",
80
81
  "reflect-metadata": "0.2.2",
81
- "typescript-json-schema": "0.65.1",
82
+ "typescript-json-schema": "0.67.1",
82
83
  "xml-js": "1.6.11"
83
84
  },
84
85
  "husky": {
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAK1F,MAAM,MAAM,MAAM,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AA6BhD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,CAAC,EAAE,yBAAyB,QAErF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA4BxG;AA8DD;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,yBAqBzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAwBrD"}
1
+ {"version":3,"file":"to-json-schema.d.ts","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAS1F,MAAM,MAAM,MAAM,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AA6BhD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,CAAC,EAAE,yBAAyB,QAErF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CA4BxG;AAoID;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,yBAqBzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CA0BrD"}
@@ -46,6 +46,10 @@ const factory_2 = require("../../src/sync/v4/export/factory");
46
46
  const ux_specification_types_1 = require("@sap/ux-specification-types");
47
47
  const ListReportNew_1 = require("../../src/sync/v2/genericSchemaHandling/pages/ListReportNew");
48
48
  const v2Controls = __importStar(require("../../src/sync/v2/genericSchemaHandling/controls"));
49
+ const decoration_1 = require("../../src/sync/common/decoration");
50
+ const utils_2 = require("../../src/sync/common/utils");
51
+ const application_1 = require("../../src/sync/v4/application");
52
+ const application_2 = require("../../src/sync/v2/application");
49
53
  //TS compiler options, compare with tsconfig
50
54
  const compilerOptions = {
51
55
  skipLibCheck: true,
@@ -165,6 +169,65 @@ function convertPagesOfFEVersion(paths, version, outputPath, factory) {
165
169
  function getPosition(string, subString, index) {
166
170
  return string.split(subString, index).join(subString).length;
167
171
  }
172
+ /**
173
+ * Performs post-processing on the provided array of schemas for V2 and V4 applications.
174
+ *
175
+ * @param schemas - An array of `Schema` objects to be post-processed.
176
+ */
177
+ function postProcessingApps(schemas) {
178
+ // Add manifest paths to V4 and V2
179
+ addManifestPathsToApplication(schemas['ApplicationV4.json'], application_1.AppSettings.prototype);
180
+ addManifestPathsToApplication(schemas['ApplicationV2.json'], application_2.AppSettings.prototype);
181
+ }
182
+ /**
183
+ * Performs post-processing on the provided array of schemas for V4 applications.
184
+ *
185
+ * @param schemas - An array of `Schema` objects to be post-processed.
186
+ */
187
+ function postProcessingV4App(schemas) {
188
+ // Remove the values that were required to generate the 'defaultCreationMode' dropdown in the UI5 application, but are no longer needed in the schema.
189
+ const schema = schemas['ApplicationV4.json'];
190
+ schema.definitions.AppSettings.properties['defaultCreationMode'].enum = schema.definitions.AppSettings.properties['defaultCreationMode'].enum.filter((option) => !!option);
191
+ }
192
+ /**
193
+ * Adds `manifestPath` to the `AppSettings` properties inside a JSON schema.
194
+ *
195
+ * @param {JSONSchema4} schema - The JSON schema object to be updated.
196
+ * @param {object} classPrototype - The prototype object whose metadata is used to determine manifest path information for each property.
197
+ */
198
+ function addManifestPathsToApplication(schema, classPrototype) {
199
+ // Update schema with manifest path for properties in settings
200
+ for (const property in schema.definitions.AppSettings.properties) {
201
+ const propertySchema = schema.definitions.AppSettings.properties[property];
202
+ const rule = (0, decoration_1.getReflectMetadata)(classPrototype, property);
203
+ if (!rule?.manifest?.path) {
204
+ return;
205
+ }
206
+ const exportPropertyKey = rule?.manifest?.key ?? property;
207
+ const manifestPath = `${rule.manifest.path()}/${exportPropertyKey}`;
208
+ propertySchema.manifestPath = (0, utils_2.convertSyncRulePathToJsonPath)(manifestPath);
209
+ // Continue parsing of inner properties
210
+ // Handle anyOf with inner properties
211
+ if (propertySchema.anyOf) {
212
+ for (const innerSchema of propertySchema.anyOf) {
213
+ if (!innerSchema.properties) {
214
+ continue;
215
+ }
216
+ for (const property in innerSchema.properties) {
217
+ innerSchema.properties[property].manifestPath = (0, utils_2.appendJsonPathSegment)(propertySchema.manifestPath, property);
218
+ }
219
+ }
220
+ }
221
+ // Handle $ref with inner properties
222
+ if (propertySchema.manifestPath && propertySchema.$ref) {
223
+ const innerDefinitions = (0, utils_2.getDefinitionKey)(propertySchema.$ref);
224
+ const innerProperties = schema.definitions[innerDefinitions]?.properties ?? {};
225
+ for (const innerProperty in innerProperties) {
226
+ innerProperties[innerProperty].manifestPath = (0, utils_2.appendJsonPathSegment)(propertySchema.manifestPath, innerProperty);
227
+ }
228
+ }
229
+ }
230
+ }
168
231
  /**
169
232
  * Factory giving access to the metadata of the new v2 ListReport page.
170
233
  */
@@ -173,8 +236,8 @@ exports.FACTORY_FOR_LIST_REPORT_NEW = {
173
236
  const metadataClass = v2Controls[schemaPropertyName];
174
237
  // Naming convention: Types that are only introduced as host for enums have a name ending with 'Enum'.
175
238
  // They cannot be instantiated.
176
- // In addition to that ButtonType (imported from sap.m) is also an enum.
177
- if (schemaPropertyName.endsWith('Enum') || schemaPropertyName === 'ButtonType') {
239
+ // In addition to that some enums (ButtonType,...) are imported from sapui5.
240
+ if (schemaPropertyName.endsWith('Enum') || ['ButtonType', 'ExportType'].includes(schemaPropertyName)) {
178
241
  return metadataClass;
179
242
  }
180
243
  let instance;
@@ -196,7 +259,6 @@ exports.FACTORY_FOR_LIST_REPORT_NEW = {
196
259
  * @param outputPath - path to write to
197
260
  */
198
261
  function toJsonSchema(outputPath) {
199
- let schemas = [];
200
262
  const rootName = __dirname.slice(0, getPosition(__dirname, 'specification', 2));
201
263
  const typesPath = (0, path_1.join)(rootName, 'types', 'src');
202
264
  //Pages V2
@@ -214,10 +276,13 @@ function toJsonSchema(outputPath) {
214
276
  paths.push((0, path_1.join)(typesPath, 'v4', 'pages'));
215
277
  convertPagesOfFEVersion(paths, ux_specification_types_1.FioriElementsVersion.v4, outputPath);
216
278
  //App V2
217
- schemas = convertInterfaces((0, path_1.join)(typesPath, 'v2'), ['ApplicationV2.ts'], ux_specification_types_1.FioriElementsVersion.v2);
218
- writeSchemasToFile(outputPath, schemas, 'v2');
279
+ const v2AppSchemas = convertInterfaces((0, path_1.join)(typesPath, 'v2'), ['ApplicationV2.ts'], ux_specification_types_1.FioriElementsVersion.v2);
219
280
  //App V4
220
- schemas = convertInterfaces((0, path_1.join)(typesPath, 'v4'), ['ApplicationV4.ts'], ux_specification_types_1.FioriElementsVersion.v4);
221
- writeSchemasToFile(outputPath, schemas, 'v4');
281
+ const v4AppSchemas = convertInterfaces((0, path_1.join)(typesPath, 'v4'), ['ApplicationV4.ts'], ux_specification_types_1.FioriElementsVersion.v4);
282
+ //App postprocessing of schema
283
+ postProcessingApps({ ...v2AppSchemas, ...v4AppSchemas });
284
+ //Write App schemas
285
+ writeSchemasToFile(outputPath, v2AppSchemas, 'v2');
286
+ writeSchemasToFile(outputPath, v4AppSchemas, 'v4');
222
287
  }
223
288
  //# sourceMappingURL=to-json-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,gFAEC;AAOD,8CA4BC;AA4FD,oCAwBC;AA1MD,+BAAsC;AACtC,uCAAyB;AAEzB,mEAA6E;AAC7E,4DAAmE;AACnE,8DAA0F;AAC1F,8DAA0F;AAE1F,wEAAmE;AAGnE,+FAA4F;AAC5F,6FAA+E;AAI/E,4CAA4C;AAC5C,MAAM,eAAe,GAAG;IACpB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;IAC3C,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,YAAY,EAAE,IAAI,EAAE,uDAAuD;IAC3E,QAAQ,EAAE,IAAI,EAAE,qDAAqD;IACrE,kBAAkB,EAAE;QAChB,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,QAAQ;QACR,SAAS;QACT,cAAc;QACd,mBAAmB;QACnB,YAAY;QACZ,UAAU;KACb;CACJ,CAAC;AAEF,IAAI,aAAwC,CAAC;AAC7C;;;;;GAKG;AACH,SAAgB,kCAAkC,CAAC,OAAmC;IAClF,aAAa,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,KAAe,EAAE,OAA6B;IAC1F,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,IAAA,4CAAmB,EAAC,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAwB,IAAA,uCAAc,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7B,uFAAuF;gBACvF,IAAI,QAAiC,CAAC;gBACtC,IAAI,OAAkC,CAAC;gBACvC,IAAI,OAAO,KAAK,6CAAoB,CAAC,EAAE,EAAE,CAAC;oBACtC,OAAO,GAAG,aAAa,IAAI,IAAI,mCAAS,EAAE,CAAC;oBAC3C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAe,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,aAAa,IAAI,IAAI,mCAAS,EAAE,CAAC;oBAC3C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAe,CAAC;gBACrD,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAA,uBAAe,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAe,EAAE,gBAAgB,GAAG,KAAK;IAClG,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG;YACpE,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC5B,KAAe,EACf,OAA6B,EAC7B,UAAkB,EAClB,OAAmC;IAEnC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,EAAE,KAAK;YACzC,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,UAAU,QAAQ;gBAC5B,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChB,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,oBAAoB,GAAG,aAAa,CAAC;YAC3C,aAAa,GAAG,OAAO,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACpE,aAAa,GAAG,oBAAoB,CAAC;YACrC,SAAS,GAAG,EAAE,CAAC;YACf,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED;;GAEG;AACU,QAAA,2BAA2B,GAA8B;IAClE,cAAc,CAAC,QAAiB,EAAE,kBAA0B;QACxD,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrD,sGAAsG;QACtG,+BAA+B;QAC/B,wEAAwE;QACxE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,kBAAkB,KAAK,YAAY,EAAE,CAAC;YAC7E,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACD,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,kBAAkB,EAAE,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,kBAAkB,CAAC,QAAiC;QAChD,OAAO,IAAI,6BAAa,EAAE,CAAC;IAC/B,CAAC;CACJ,CAAC,CAAC,sEAAsE;AAEzE;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC3C,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,UAAU;IACV,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpE,6HAA6H;IAC7H,wIAAwI;IACxI,KAAK,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,mCAA2B,CAAC,CAAC;IACjG,6BAA6B;IAC7B,UAAU;IACV,KAAK,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpE,QAAQ;IACR,OAAO,GAAG,iBAAiB,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,6CAAoB,CAAC,EAAE,CAAC,CAAC;IAClG,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,QAAQ;IACR,OAAO,GAAG,iBAAiB,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,6CAAoB,CAAC,EAAE,CAAC,CAAC;IAClG,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"to-json-schema.js","sourceRoot":"","sources":["../../../../scripts/schema/to-json-schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,gFAEC;AAOD,8CA4BC;AAkKD,oCA0BC;AAvRD,+BAAsC;AACtC,uCAAyB;AAEzB,mEAA6E;AAE7E,4DAAmE;AACnE,8DAA0F;AAC1F,8DAA0F;AAE1F,wEAAmE;AAGnE,+FAA4F;AAC5F,6FAA+E;AAC/E,iEAAsE;AACtE,uDAAqH;AACrH,+DAA6E;AAC7E,+DAA6E;AAI7E,4CAA4C;AAC5C,MAAM,eAAe,GAAG;IACpB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC;IAC3C,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACtB,YAAY,EAAE,IAAI,EAAE,uDAAuD;IAC3E,QAAQ,EAAE,IAAI,EAAE,qDAAqD;IACrE,kBAAkB,EAAE;QAChB,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,QAAQ;QACR,SAAS;QACT,cAAc;QACd,mBAAmB;QACnB,YAAY;QACZ,UAAU;KACb;CACJ,CAAC;AAEF,IAAI,aAAwC,CAAC;AAC7C;;;;;GAKG;AACH,SAAgB,kCAAkC,CAAC,OAAmC;IAClF,aAAa,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,KAAe,EAAE,OAA6B;IAC1F,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,IAAA,4CAAmB,EAAC,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAwB,IAAA,uCAAc,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAClF,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7B,uFAAuF;gBACvF,IAAI,QAAiC,CAAC;gBACtC,IAAI,OAAkC,CAAC;gBACvC,IAAI,OAAO,KAAK,6CAAoB,CAAC,EAAE,EAAE,CAAC;oBACtC,OAAO,GAAG,aAAa,IAAI,IAAI,mCAAS,EAAE,CAAC;oBAC3C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAe,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,aAAa,IAAI,IAAI,mCAAS,EAAE,CAAC;oBAC3C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAe,CAAC;gBACrD,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAA,uBAAe,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAe,EAAE,gBAAgB,GAAG,KAAK;IAClG,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG;YACpE,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC5B,KAAe,EACf,OAA6B,EAC7B,UAAkB,EAClB,OAAmC;IAEnC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,EAAE,KAAK;YACzC,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,UAAU,QAAQ;gBAC5B,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAChB,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAClD,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,oBAAoB,GAAG,aAAa,CAAC;YAC3C,aAAa,GAAG,OAAO,CAAC;YACxB,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACpE,aAAa,GAAG,oBAAoB,CAAC;YACrC,SAAS,GAAG,EAAE,CAAC;YACf,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAiB;IACzC,kCAAkC;IAClC,6BAA6B,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,yBAAa,CAAC,SAAS,CAAC,CAAC;IACtF,6BAA6B,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,yBAAa,CAAC,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAiB;IAC1C,sJAAsJ;IACtJ,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAC7G,qBAAqB,CACxB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,MAAmB,EAAE,cAAsB;IAC9E,8DAA8D;IAC9D,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAA,+BAAkB,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC;QAC1D,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACpE,cAAc,CAAC,YAAY,GAAG,IAAA,qCAA6B,EAAC,YAAY,CAAC,CAAC;QAC1E,uCAAuC;QACvC,qCAAqC;QACrC,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC1B,SAAS;gBACb,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC5C,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,IAAA,6BAAqB,EACjE,cAAc,CAAC,YAAY,EAC3B,QAAQ,CACX,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,oCAAoC;QACpC,IAAI,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACrD,MAAM,gBAAgB,GAAG,IAAA,wBAAgB,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;YAC/E,KAAK,MAAM,aAAa,IAAI,eAAe,EAAE,CAAC;gBAC1C,eAAe,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,IAAA,6BAAqB,EAC/D,cAAc,CAAC,YAAY,EAC3B,aAAa,CAChB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACU,QAAA,2BAA2B,GAA8B;IAClE,cAAc,CAAC,QAAiB,EAAE,kBAA0B;QACxD,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrD,sGAAsG;QACtG,+BAA+B;QAC/B,4EAA4E;QAC5E,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnG,OAAO,aAAa,CAAC;QACzB,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACD,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,kBAAkB,EAAE,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,kBAAkB,CAAC,QAAiC;QAChD,OAAO,IAAI,6BAAa,EAAE,CAAC;IAC/B,CAAC;CACJ,CAAC,CAAC,sEAAsE;AAEzE;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,UAAU;IACV,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpE,6HAA6H;IAC7H,wIAAwI;IACxI,KAAK,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,EAAE,mCAA2B,CAAC,CAAC;IACjG,6BAA6B;IAC7B,UAAU;IACV,KAAK,GAAG,EAAE,CAAC;IACX,KAAK,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,uBAAuB,CAAC,KAAK,EAAE,6CAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACpE,QAAQ;IACR,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,6CAAoB,CAAC,EAAE,CAAC,CAAC;IAC7G,QAAQ;IACR,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,6CAAoB,CAAC,EAAE,CAAC,CAAC;IAC7G,8BAA8B;IAC9B,kBAAkB,CAAC,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IACzD,mBAAmB;IACnB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACnD,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC"}