@sap/ux-specification 1.139.7 → 1.139.9

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 (245) hide show
  1. package/CHANGELOG.md +169 -87
  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-BuildingBlocks.html +2 -2
  10. package/dist/documentation/v4/v4-FreestylePage.html +2 -2
  11. package/dist/documentation/v4/v4-ListReport.html +2 -2
  12. package/dist/documentation/v4/v4-ObjectPage.html +2 -2
  13. package/dist/index-min.js +280 -274
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/AnalyticalListPageConfig.json +3 -3
  16. package/dist/schemas/v2/ListReportConfig.json +5 -5
  17. package/dist/schemas/v2/ListReportNewConfig.json +1 -1
  18. package/dist/schemas/v2/ObjectPageConfig.json +5 -5
  19. package/dist/schemas/v4/ApplicationV4.json +1 -1
  20. package/dist/schemas/v4/BuildingBlocksConfig.json +96 -6
  21. package/dist/schemas/v4/ListReportConfig.json +24 -6
  22. package/dist/schemas/v4/ObjectPageConfig.json +32 -8
  23. package/dist/specification/package.json +14 -12
  24. package/dist/specification/scripts/extractDocu.js +18 -1
  25. package/dist/specification/scripts/extractDocu.js.map +1 -1
  26. package/dist/specification/scripts/generate-validity-report.d.ts +15 -0
  27. package/dist/specification/scripts/generate-validity-report.d.ts.map +1 -0
  28. package/dist/specification/scripts/generate-validity-report.js +367 -0
  29. package/dist/specification/scripts/generate-validity-report.js.map +1 -0
  30. package/dist/specification/scripts/macros/corrections.d.ts +40 -0
  31. package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
  32. package/dist/specification/scripts/macros/corrections.js +114 -7
  33. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  34. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  35. package/dist/specification/scripts/macros/schema.js +14 -1
  36. package/dist/specification/scripts/macros/schema.js.map +1 -1
  37. package/dist/specification/scripts/macros/types.d.ts +1 -0
  38. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  39. package/dist/specification/src/api.js +1 -1
  40. package/dist/specification/src/i18n/i18n.d.ts.map +1 -1
  41. package/dist/specification/src/i18n/i18n.js +2 -1
  42. package/dist/specification/src/i18n/i18n.js.map +1 -1
  43. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts +8 -1
  44. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.d.ts.map +1 -1
  45. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js +10 -7
  46. package/dist/specification/src/sync/common/ManifestDrivenSchemaProcessor.js.map +1 -1
  47. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +503 -0
  48. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
  49. package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
  50. package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
  51. package/dist/specification/src/sync/common/decoration/decorators.d.ts +116 -24
  52. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  53. package/dist/specification/src/sync/common/decoration/decorators.js +308 -78
  54. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  55. package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
  56. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
  57. package/dist/specification/src/sync/common/decoration/index.js +1 -0
  58. package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
  59. package/dist/specification/src/sync/common/dist_tag.json +8 -3
  60. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  61. package/dist/specification/src/sync/common/generate/objectPage.js +3 -1
  62. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  63. package/dist/specification/src/sync/common/generate/utils.d.ts +2 -1
  64. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  65. package/dist/specification/src/sync/common/generate/utils.js +5 -1
  66. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  67. package/dist/specification/src/sync/common/i18n.json +2 -1
  68. package/dist/specification/src/sync/common/rules.d.ts +25 -0
  69. package/dist/specification/src/sync/common/rules.d.ts.map +1 -1
  70. package/dist/specification/src/sync/common/rules.js +27 -2
  71. package/dist/specification/src/sync/common/rules.js.map +1 -1
  72. package/dist/specification/src/sync/common/utils.d.ts +22 -6
  73. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  74. package/dist/specification/src/sync/common/utils.js +122 -18
  75. package/dist/specification/src/sync/common/utils.js.map +1 -1
  76. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  77. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +9 -7
  78. package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
  79. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  80. package/dist/specification/src/sync/v2/generate/listReport.js +3 -1
  81. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  82. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  83. package/dist/specification/src/sync/v2/generate/objectPage.js +58 -2
  84. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  85. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -9
  86. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  87. package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
  88. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  89. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  90. package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
  91. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  92. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
  93. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  94. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
  95. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  96. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
  97. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  98. package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
  99. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  100. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  101. package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
  102. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  103. package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
  104. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  105. package/dist/specification/src/sync/v2/import/utils.js +37 -0
  106. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  107. package/dist/specification/src/sync/v2/utils.d.ts +12 -2
  108. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  109. package/dist/specification/src/sync/v2/utils.js +19 -2
  110. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  111. package/dist/specification/src/sync/v4/application.d.ts +31 -2
  112. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  113. package/dist/specification/src/sync/v4/application.js +44 -4
  114. package/dist/specification/src/sync/v4/application.js.map +1 -1
  115. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
  116. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  117. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
  118. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  119. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +4 -3
  120. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  121. package/dist/specification/src/sync/v4/export/controls/Header.js +7 -3
  122. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  123. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
  124. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  125. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -0
  126. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  127. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  128. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
  129. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
  130. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  131. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
  132. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
  133. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +0 -13
  134. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
  135. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +32 -17
  136. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  137. package/dist/specification/src/sync/v4/export/controls/Table.js +90 -60
  138. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  139. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  140. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
  141. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  142. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
  143. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  144. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +4 -3
  145. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  146. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  147. package/dist/specification/src/sync/v4/export/export.js +25 -3
  148. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  149. package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
  150. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  151. package/dist/specification/src/sync/v4/generate/actions.d.ts +1 -1
  152. package/dist/specification/src/sync/v4/generate/actions.d.ts.map +1 -1
  153. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
  154. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +20 -12
  155. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  156. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
  157. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +16 -1
  158. package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
  159. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  160. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +10 -1
  161. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  162. package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
  163. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
  164. package/dist/specification/src/sync/v4/generate/index.js +1 -1
  165. package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
  166. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +73 -0
  167. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
  168. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +354 -0
  169. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
  170. package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +27 -16
  171. package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
  172. package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +193 -163
  173. package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
  174. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  175. package/dist/specification/src/sync/v4/generate/objectPage.js +145 -44
  176. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  177. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  178. package/dist/specification/src/sync/v4/import/pages/listReport.js +2 -1
  179. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  180. package/dist/specification/src/sync/v4/import/utils.js +5 -3
  181. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  182. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
  183. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
  184. package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
  185. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
  186. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
  187. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
  188. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
  189. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
  190. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +219 -96
  191. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
  192. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +557 -211
  193. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
  194. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
  195. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
  196. package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
  197. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
  198. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts +1 -0
  199. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  200. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +17 -9
  201. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  202. package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
  203. package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
  204. package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
  205. package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
  206. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
  207. package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
  208. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
  209. package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
  210. package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
  211. package/dist/specification/src/sync/v4/utils/index.js +18 -0
  212. package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
  213. package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
  214. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  215. package/dist/specification/src/sync/v4/utils/utils.js +17 -2
  216. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  217. package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +550 -0
  218. package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
  219. package/dist/specification/test/test-utils/utils.d.ts +71 -0
  220. package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
  221. package/dist/specification/test/test-utils/utils.js +400 -0
  222. package/dist/specification/test/test-utils/utils.js.map +1 -0
  223. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +131 -0
  224. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
  225. package/dist/specification/test/unit/decorators/validity-test-utils.js +661 -0
  226. package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
  227. package/dist/types/src/apiTypes.d.ts +2 -3
  228. package/dist/types/src/apiTypes.d.ts.map +1 -1
  229. package/dist/types/src/apiTypes.js.map +1 -1
  230. package/dist/types/src/common/types.d.ts +119 -13
  231. package/dist/types/src/common/types.d.ts.map +1 -1
  232. package/dist/types/src/common/types.js.map +1 -1
  233. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
  234. package/dist/types/src/v2/controls/Table.d.ts +1 -1
  235. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +1 -1
  236. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  237. package/dist/types/src/v4/controls/Table.d.ts +3 -3
  238. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  239. package/package.json +14 -12
  240. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -107
  241. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
  242. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -394
  243. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
  244. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
  245. package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ts-node
2
+ /**
3
+ * @file Script to generate a validity decorator overview report
4
+ *
5
+ * This script generates a markdown report showing:
6
+ * - All classes with @validity decorated properties
7
+ * - Expected vs Actual visibility across UI5 versions
8
+ * - A diff table highlighting implementation gaps
9
+ *
10
+ * Usage: npx ts-node packages/specification/scripts/generate-validity-report.ts
11
+ *
12
+ * Output: packages/specification/doc/validity-overview.md
13
+ */
14
+ import 'reflect-metadata';
15
+ //# sourceMappingURL=generate-validity-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-validity-report.d.ts","sourceRoot":"","sources":["../../../scripts/generate-validity-report.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,367 @@
1
+ #!/usr/bin/env ts-node
2
+ "use strict";
3
+ /**
4
+ * @file Script to generate a validity decorator overview report
5
+ *
6
+ * This script generates a markdown report showing:
7
+ * - All classes with @validity decorated properties
8
+ * - Expected vs Actual visibility across UI5 versions
9
+ * - A diff table highlighting implementation gaps
10
+ *
11
+ * Usage: npx ts-node packages/specification/scripts/generate-validity-report.ts
12
+ *
13
+ * Output: packages/specification/doc/validity-overview.md
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ require("reflect-metadata");
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ const ux_specification_types_1 = require("@sap/ux-specification-types");
53
+ const api_1 = require("../src/api");
54
+ const Table_1 = require("../src/sync/v4/export/controls/Table");
55
+ const HeaderAction_1 = require("../src/sync/v4/export/controls/HeaderAction");
56
+ const Header_1 = require("../src/sync/v4/export/controls/Header");
57
+ const FilterBar_1 = require("../src/sync/v4/export/controls/FilterBar");
58
+ const ToolBarAction_1 = require("../src/sync/v4/export/controls/ToolBarAction");
59
+ const ObjectPageTable_1 = require("../src/sync/v4/export/controls/ObjectPageTable");
60
+ const validity_test_utils_1 = require("../test/unit/decorators/validity-test-utils");
61
+ /** UI5 versions to test property visibility against */
62
+ const TEST_VERSIONS = ['1.84.0', '1.96.0', '1.108.0', '1.124.0', '1.136.0', '1.142.0', validity_test_utils_1.VERSION_LATEST];
63
+ const CLASSES_TO_REPORT = [
64
+ { name: 'Table', classRef: Table_1.TableSettings, schemaName: 'Table', definitionFinder: validity_test_utils_1.findTableDefinition },
65
+ { name: 'Header', classRef: Header_1.Header },
66
+ { name: 'HeaderActions', classRef: Header_1.HeaderActions },
67
+ { name: 'CustomHeaderAction', classRef: HeaderAction_1.CustomHeaderAction },
68
+ { name: 'CustomFilterFieldPosition', classRef: FilterBar_1.CustomFilterFieldPosition },
69
+ { name: 'ViewToolBarAction', classRef: ToolBarAction_1.ViewToolBarAction },
70
+ { name: 'ToolBarAction', classRef: ToolBarAction_1.ToolBarAction },
71
+ { name: 'ALPChart', classRef: Table_1.ALPChart, schemaName: 'ALPChart' },
72
+ { name: 'ObjectPageTable', classRef: ObjectPageTable_1.ObjectPageTableRowCountable, schemaName: 'ObjectPageTable' }
73
+ ];
74
+ /**
75
+ * Counts the number of mismatches (gaps) in the diff results.
76
+ *
77
+ * @param diffMarkdown - The markdown string containing the diff table
78
+ * @returns An object with gaps (mismatch count) and total (total cell count)
79
+ */
80
+ function countGaps(diffMarkdown) {
81
+ const lines = diffMarkdown.split('\n').filter((line) => line.startsWith('|') && !line.includes('---'));
82
+ // Skip header line
83
+ const dataLines = lines.slice(1);
84
+ let gaps = 0;
85
+ let total = 0;
86
+ for (const line of dataLines) {
87
+ const matches = line.match(/⚠️/g);
88
+ const checkmarks = line.match(/✅/g);
89
+ if (matches) {
90
+ gaps += matches.length;
91
+ }
92
+ if (checkmarks) {
93
+ total += checkmarks.length;
94
+ }
95
+ if (matches) {
96
+ total += matches.length;
97
+ }
98
+ }
99
+ return { gaps, total };
100
+ }
101
+ async function generateReport() {
102
+ console.log('Generating validity decorator overview report...\n');
103
+ // Load generic schema
104
+ console.log('Loading generic schema...');
105
+ const genericSchema = (await (0, api_1.getGenericSchema)(ux_specification_types_1.FioriElementsVersion.v4, ux_specification_types_1.SchemaType.ListReport));
106
+ // Generate schemas for all versions
107
+ console.log('Generating schemas for versions:', TEST_VERSIONS.join(', '));
108
+ const schemaResults = await (0, validity_test_utils_1.generateSchemasForVersions)(genericSchema, ux_specification_types_1.SchemaType.ListReport, TEST_VERSIONS);
109
+ const reports = [];
110
+ // Process each class
111
+ for (const config of CLASSES_TO_REPORT) {
112
+ console.log(`Processing ${config.name}...`);
113
+ const validityProperties = (0, validity_test_utils_1.getValidityProperties)(genericSchema, config.classRef, config.schemaName || config.classRef.name);
114
+ // Get enum validity information
115
+ const enumValidityInfos = (0, validity_test_utils_1.getEnumValidityFromClass)(config.classRef);
116
+ const enumValidityTable = (0, validity_test_utils_1.formatEnumValidityTableMarkdown)(enumValidityInfos, TEST_VERSIONS);
117
+ if (validityProperties.length === 0) {
118
+ reports.push({
119
+ name: config.name,
120
+ hasValidityProperties: false,
121
+ propertyCount: 0,
122
+ expectedTable: '',
123
+ actualTable: '',
124
+ diffTable: '',
125
+ gapCount: 0,
126
+ totalCells: 0,
127
+ enumValidityTable,
128
+ enumValueCount: enumValidityInfos.length
129
+ });
130
+ continue;
131
+ }
132
+ const definitionFinder = config.definitionFinder || (0, validity_test_utils_1.findDefinitionByName)(config.schemaName || config.name);
133
+ // Generate tables
134
+ const expectedTableData = (0, validity_test_utils_1.generateExpectedVisibilityTable)(validityProperties, TEST_VERSIONS);
135
+ const actualTableData = (0, validity_test_utils_1.generateActualVisibilityTable)(validityProperties, TEST_VERSIONS, schemaResults, definitionFinder);
136
+ const diffTableData = (0, validity_test_utils_1.generateDiffVisibilityTable)(validityProperties, TEST_VERSIONS, schemaResults, definitionFinder);
137
+ const expectedTable = (0, validity_test_utils_1.formatVisibilityTableMarkdown)(expectedTableData, TEST_VERSIONS);
138
+ const actualTable = (0, validity_test_utils_1.formatVisibilityTableMarkdown)(actualTableData, TEST_VERSIONS);
139
+ const diffTable = (0, validity_test_utils_1.formatDiffTableMarkdown)(diffTableData, TEST_VERSIONS);
140
+ const { gaps, total } = countGaps(diffTable);
141
+ reports.push({
142
+ name: config.name,
143
+ hasValidityProperties: true,
144
+ propertyCount: validityProperties.length,
145
+ expectedTable,
146
+ actualTable,
147
+ diffTable,
148
+ gapCount: gaps,
149
+ totalCells: total,
150
+ enumValidityTable,
151
+ enumValueCount: enumValidityInfos.length
152
+ });
153
+ }
154
+ // Calculate summary stats
155
+ const totalGaps = reports.reduce((sum, r) => sum + r.gapCount, 0);
156
+ const totalCells = reports.reduce((sum, r) => sum + r.totalCells, 0);
157
+ const classesWithGaps = reports.filter((r) => r.gapCount > 0);
158
+ const classesWithoutValidity = reports.filter((r) => !r.hasValidityProperties);
159
+ const totalEnumValues = reports.reduce((sum, r) => sum + r.enumValueCount, 0);
160
+ const classesWithEnumValidity = reports.filter((r) => r.enumValueCount > 0);
161
+ // Generate markdown
162
+ const md = [];
163
+ md.push('# @validity Decorator Implementation Overview');
164
+ md.push('');
165
+ md.push(`> Generated: ${new Date().toISOString()}`);
166
+ md.push('');
167
+ md.push('This report shows the implementation status of the `@validity` decorator across all decorated classes.');
168
+ md.push('It compares expected visibility (based on decorator metadata) with actual visibility (from generated schemas).');
169
+ md.push('');
170
+ // Summary
171
+ md.push('## Summary');
172
+ md.push('');
173
+ md.push('| Metric | Value |');
174
+ md.push('| ------ | ----- |');
175
+ md.push(`| Total Classes Analyzed | ${reports.length} |`);
176
+ md.push(`| Classes with @validity Properties | ${reports.filter((r) => r.hasValidityProperties).length} |`);
177
+ md.push(`| Classes without @validity Properties | ${classesWithoutValidity.length} |`);
178
+ md.push(`| Total Property/Version Cells | ${totalCells} |`);
179
+ md.push(`| Implementation Gaps (mismatches) | ${totalGaps} |`);
180
+ md.push(`| Implementation Coverage | ${totalCells > 0 ? ((1 - totalGaps / totalCells) * 100).toFixed(1) : 100}% |`);
181
+ md.push(`| Total Enum Values with Version Requirements | ${totalEnumValues} |`);
182
+ md.push(`| Classes with Enum Validity | ${classesWithEnumValidity.length} |`);
183
+ md.push('');
184
+ // Overall status table
185
+ md.push('### Class Status Overview');
186
+ md.push('');
187
+ md.push('| Class | Status | Properties | Gaps | Coverage | Enum Values |');
188
+ md.push('| ----- | ------ | ---------- | ---- | -------- | ----------- |');
189
+ for (const r of reports) {
190
+ let status;
191
+ let coverage;
192
+ if (!r.hasValidityProperties) {
193
+ status = '⬜ No @validity';
194
+ coverage = 'N/A';
195
+ }
196
+ else if (r.gapCount === 0) {
197
+ status = '✅ Complete';
198
+ coverage = '100%';
199
+ }
200
+ else {
201
+ status = '⚠️ Gaps';
202
+ coverage = `${((1 - r.gapCount / r.totalCells) * 100).toFixed(1)}%`;
203
+ }
204
+ md.push(`| [${r.name}](#${r.name.toLowerCase()}) | ${status} | ${r.propertyCount || '-'} | ${r.gapCount || '-'} | ${coverage} | ${r.enumValueCount || '-'} |`);
205
+ }
206
+ md.push('');
207
+ // Gap overview
208
+ if (classesWithGaps.length > 0) {
209
+ md.push('## Implementation Gaps');
210
+ md.push('');
211
+ md.push('Classes with mismatches between expected and actual visibility:');
212
+ md.push('');
213
+ md.push('| Class | Properties | Gaps | Gap % |');
214
+ md.push('| ----- | ---------- | ---- | ----- |');
215
+ for (const r of classesWithGaps) {
216
+ const gapPct = ((r.gapCount / r.totalCells) * 100).toFixed(1);
217
+ md.push(`| [${r.name}](#${r.name.toLowerCase()}) | ${r.propertyCount} | ${r.gapCount} | ${gapPct}% |`);
218
+ }
219
+ md.push('');
220
+ // Quick overview of all diff tables
221
+ md.push('### Quick Diff Overview');
222
+ md.push('');
223
+ md.push('Only showing classes with implementation gaps. See [detailed reports](#detailed-class-reports) for full information.');
224
+ md.push('');
225
+ for (const r of classesWithGaps) {
226
+ md.push('<details open>');
227
+ md.push(`<summary><strong>${r.name}</strong> - ${r.gapCount} gaps (${r.propertyCount} properties)</summary>`);
228
+ md.push('');
229
+ md.push('```');
230
+ md.push(r.diffTable);
231
+ md.push('```');
232
+ md.push('');
233
+ md.push('</details>');
234
+ md.push('');
235
+ }
236
+ }
237
+ // Classes without validity properties
238
+ if (classesWithoutValidity.length > 0) {
239
+ md.push('## Classes Without @validity Properties');
240
+ md.push('');
241
+ md.push('These classes have no properties decorated with `@validity`:');
242
+ md.push('');
243
+ for (const r of classesWithoutValidity) {
244
+ md.push(`- **${r.name}**`);
245
+ }
246
+ md.push('');
247
+ }
248
+ // Legend
249
+ md.push('## Legend');
250
+ md.push('');
251
+ md.push('### Expected/Actual Tables');
252
+ md.push(`- ${validity_test_utils_1.EMOJI_VISIBLE} = Property is visible (version >= since, or "-" for always visible)`);
253
+ md.push(`- ${validity_test_utils_1.EMOJI_HIDDEN} = Property is hidden (version < since)`);
254
+ md.push(`- ${validity_test_utils_1.EMOJI_NOT_FOUND} = Property not found in schema definition`);
255
+ md.push('');
256
+ md.push('### Diff Tables');
257
+ md.push(`- ${validity_test_utils_1.EMOJI_MATCH} = Match (expected === actual)`);
258
+ md.push(`- ${validity_test_utils_1.EMOJI_DIFF} = Mismatch (expected !== actual) - **Implementation gap**`);
259
+ md.push('');
260
+ // Detailed class reports
261
+ md.push('## Detailed Class Reports');
262
+ md.push('');
263
+ for (const r of reports) {
264
+ md.push(`### ${r.name}`);
265
+ md.push('');
266
+ if (!r.hasValidityProperties && r.enumValueCount === 0) {
267
+ md.push('*No @validity decorated properties found.*');
268
+ md.push('');
269
+ continue;
270
+ }
271
+ if (!r.hasValidityProperties && r.enumValueCount > 0) {
272
+ md.push('*No @validity decorated properties, but has enum values with version requirements.*');
273
+ md.push('');
274
+ // Show enum validity section
275
+ md.push('<details open>');
276
+ md.push(`<summary>🔢 <strong>Enum Value Validity</strong> - ${r.enumValueCount} enum values with version requirements</summary>`);
277
+ md.push('');
278
+ md.push('```');
279
+ md.push(r.enumValidityTable);
280
+ md.push('```');
281
+ md.push('');
282
+ md.push('</details>');
283
+ md.push('');
284
+ continue;
285
+ }
286
+ md.push(`**Properties:** ${r.propertyCount} | **Gaps:** ${r.gapCount} | **Coverage:** ${((1 - r.gapCount / r.totalCells) * 100).toFixed(1)}%`);
287
+ md.push('');
288
+ // Expected Visibility - collapsible
289
+ md.push('<details>');
290
+ md.push('<summary><strong>Expected Visibility</strong> (based on @validity decorator metadata)</summary>');
291
+ md.push('');
292
+ md.push('```');
293
+ md.push(r.expectedTable);
294
+ md.push('```');
295
+ md.push('');
296
+ md.push('</details>');
297
+ md.push('');
298
+ // Actual Visibility - collapsible
299
+ md.push('<details>');
300
+ md.push('<summary><strong>Actual Visibility</strong> (from generated version-specific schemas)</summary>');
301
+ md.push('');
302
+ md.push('```');
303
+ md.push(r.actualTable);
304
+ md.push('```');
305
+ md.push('');
306
+ md.push('</details>');
307
+ md.push('');
308
+ // Differences - open by default if there are gaps
309
+ const openAttr = r.gapCount > 0 ? ' open' : '';
310
+ md.push(`<details${openAttr}>`);
311
+ if (r.gapCount === 0) {
312
+ md.push('<summary>✅ <strong>Differences</strong> - No implementation gaps</summary>');
313
+ }
314
+ else {
315
+ md.push(`<summary>⚠️ <strong>Differences</strong> - ${r.gapCount} implementation gaps found</summary>`);
316
+ }
317
+ md.push('');
318
+ md.push('```');
319
+ md.push(r.diffTable);
320
+ md.push('```');
321
+ md.push('');
322
+ md.push('</details>');
323
+ md.push('');
324
+ // Enum Validity - only if there are enum values with version requirements
325
+ if (r.enumValueCount > 0) {
326
+ md.push('<details>');
327
+ md.push(`<summary>🔢 <strong>Enum Value Validity</strong> - ${r.enumValueCount} enum values with version requirements</summary>`);
328
+ md.push('');
329
+ md.push('```');
330
+ md.push(r.enumValidityTable);
331
+ md.push('```');
332
+ md.push('');
333
+ md.push('</details>');
334
+ md.push('');
335
+ }
336
+ }
337
+ // Action items
338
+ if (classesWithGaps.length > 0) {
339
+ md.push('## Action Items');
340
+ md.push('');
341
+ md.push('To fix implementation gaps, ensure the schema generation respects the `@validity(since)` decorator:');
342
+ md.push('');
343
+ md.push('1. Properties should be **hidden** when `minUI5Version < since`');
344
+ md.push('2. Properties should be **visible** when `minUI5Version >= since`');
345
+ md.push('');
346
+ md.push('Check the following files for potential fixes:');
347
+ md.push('');
348
+ md.push('- `packages/specification/src/sync/common/decoration/decorators.ts` - Decorator implementation');
349
+ md.push('- `packages/specification/src/sync/v4/export/` - Export control classes');
350
+ md.push('');
351
+ }
352
+ // Write file
353
+ const outputPath = path.join(__dirname, '..', 'doc', 'validity-overview.md');
354
+ const outputDir = path.dirname(outputPath);
355
+ if (!fs.existsSync(outputDir)) {
356
+ fs.mkdirSync(outputDir, { recursive: true });
357
+ }
358
+ fs.writeFileSync(outputPath, md.join('\n'));
359
+ console.log(`\nReport written to: ${outputPath}`);
360
+ console.log(`\nSummary: ${totalGaps} gaps found across ${classesWithGaps.length} classes`);
361
+ }
362
+ // Run the report
363
+ generateReport().catch((err) => {
364
+ console.error('Error generating report:', err);
365
+ process.exit(1);
366
+ });
367
+ //# sourceMappingURL=generate-validity-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-validity-report.js","sourceRoot":"","sources":["../../../scripts/generate-validity-report.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,46 @@ interface APICorrection {
8
8
  })>;
9
9
  metadata?: UI5Symbol;
10
10
  }
11
+ /**
12
+ * Describes a map of enum entries that may depend on another property.
13
+ */
14
+ interface MacrosEnumEntriesMap {
15
+ /**
16
+ * Name of the property whose value determines which enum entries are valid.
17
+ */
18
+ dependentProperty: string;
19
+ /**
20
+ * Map of dependent property values to their corresponding enum entries.
21
+ */
22
+ values: {
23
+ [key: string]: string[];
24
+ };
25
+ }
26
+ /**
27
+ * Map defining enum entries for macro controls and their properties.
28
+ *
29
+ * Structure:
30
+ * - First key: control name
31
+ * - Second key: property name
32
+ * - Value: describing dependent values and enum entries
33
+ */
34
+ export declare const MACROS_ENUM_ENTRIES_MAP: {
35
+ [key: string]: {
36
+ [key: string]: MacrosEnumEntriesMap;
37
+ };
38
+ };
39
+ /**
40
+ * Returns the enum entries for a given control and property.
41
+ * If a dependent value is provided and exists in the map, only the enum entries
42
+ * associated with that dependent value are returned.
43
+ * Otherwise, all enum entries for the property are returned as a flat array.
44
+ *
45
+ * @param control - The macro control class name
46
+ * @param property - The property name of the control
47
+ * @param dependentValue - Optional value of the dependent property
48
+ * @returns An array of enum entry strings, or `undefined` if the control or property is not found
49
+ */
50
+ export declare function getEnumEntriesFromMap(control: string, property: string, dependentValue?: string): string[] | undefined;
11
51
  export declare const macrosCorrection: {
12
52
  [key: string]: APICorrection;
13
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"corrections.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/corrections.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAA8B,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7G,UAAU,aAAa;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CA6H5D,CAAC;AAmJF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAuBrD"}
1
+ {"version":3,"file":"corrections.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/corrections.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAA8B,WAAW,EAAE,MAAM,SAAS,CAAC;AAG7G,UAAU,aAAa;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC1B;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;CAmB1D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,GACxB,MAAM,EAAE,GAAG,SAAS,CAiBtB;AAED,eAAO,MAAM,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CA6J5D,CAAC;AA4KF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAuBrD"}
@@ -1,9 +1,66 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.macrosCorrection = void 0;
3
+ exports.macrosCorrection = exports.MACROS_ENUM_ENTRIES_MAP = void 0;
4
+ exports.getEnumEntriesFromMap = getEnumEntriesFromMap;
4
5
  exports.applyCorrections = applyCorrections;
5
6
  const types_1 = require("./types");
6
7
  const ux_specification_types_1 = require("@sap/ux-specification-types");
8
+ /**
9
+ * Map defining enum entries for macro controls and their properties.
10
+ *
11
+ * Structure:
12
+ * - First key: control name
13
+ * - Second key: property name
14
+ * - Value: describing dependent values and enum entries
15
+ */
16
+ exports.MACROS_ENUM_ENTRIES_MAP = {
17
+ 'sap.fe.macros.richtexteditor.ButtonGroup': {
18
+ buttons: {
19
+ dependentProperty: 'name',
20
+ values: {
21
+ 'font-style': ['bold', 'italic', 'underline', 'strikethrough'],
22
+ font: ['fontfamily', 'fontsize', 'forecolor', 'backcolor'],
23
+ clipboard: ['cut', 'copy', 'paste'],
24
+ structure: ['bullist', 'numlist', 'outdent', 'indent'],
25
+ undo: ['undo', 'redo'],
26
+ insert: ['image', 'emoticons'],
27
+ link: ['link', 'unlink'],
28
+ 'text-align': ['alignleft', 'aligncenter', 'alignright', 'alignjustify'],
29
+ table: ['table'],
30
+ styleselect: ['styleselect']
31
+ }
32
+ }
33
+ }
34
+ };
35
+ /**
36
+ * Returns the enum entries for a given control and property.
37
+ * If a dependent value is provided and exists in the map, only the enum entries
38
+ * associated with that dependent value are returned.
39
+ * Otherwise, all enum entries for the property are returned as a flat array.
40
+ *
41
+ * @param control - The macro control class name
42
+ * @param property - The property name of the control
43
+ * @param dependentValue - Optional value of the dependent property
44
+ * @returns An array of enum entry strings, or `undefined` if the control or property is not found
45
+ */
46
+ function getEnumEntriesFromMap(control, property, dependentValue) {
47
+ const controlEntry = exports.MACROS_ENUM_ENTRIES_MAP[control];
48
+ const propertyEntry = controlEntry?.[property];
49
+ if (!propertyEntry) {
50
+ return;
51
+ }
52
+ const values = propertyEntry.values;
53
+ if (dependentValue && values[dependentValue]) {
54
+ // Return specific entries matching value of dependent property
55
+ return values[dependentValue];
56
+ }
57
+ // Merge and return all entries
58
+ const result = [];
59
+ for (const name in values) {
60
+ result.push(...values[name]);
61
+ }
62
+ return result;
63
+ }
7
64
  exports.macrosCorrection = {
8
65
  'sap.fe.macros.Page': {
9
66
  defaultAggregation: 'items'
@@ -127,21 +184,70 @@ exports.macrosCorrection = {
127
184
  visibility: types_1.UI5Visibility.hidden
128
185
  }
129
186
  ]
187
+ },
188
+ 'sap.fe.macros.controls.BaseAction': {
189
+ properties: [
190
+ {
191
+ name: 'text',
192
+ extend: true,
193
+ // Correct from any to string while fix is not applied from fe team
194
+ type: 'string'
195
+ },
196
+ {
197
+ name: 'visible',
198
+ extend: true,
199
+ // Correct from any to boolean while fix is not applied from fe team
200
+ type: 'boolean'
201
+ }
202
+ ]
203
+ },
204
+ 'sap.fe.macros.RichTextEditor': {
205
+ properties: [
206
+ {
207
+ name: 'required',
208
+ extend: true,
209
+ // Correct from any to boolean while fix is not applied from fe team
210
+ type: 'boolean'
211
+ },
212
+ {
213
+ name: 'value',
214
+ extend: true,
215
+ // Correct from any to string while fix is not applied from fe team
216
+ type: 'string'
217
+ }
218
+ ]
130
219
  }
131
220
  };
132
221
  const placementEnum = [ux_specification_types_1.v4.Placement.After, ux_specification_types_1.v4.Placement.Before];
133
222
  const enumsEntries = {
134
223
  'sap.fe.macros.FilterField': {
135
- placement: placementEnum
224
+ placement: {
225
+ options: placementEnum
226
+ }
136
227
  },
137
228
  'sap.fe.macros.table.Action': {
138
- placement: placementEnum
229
+ placement: {
230
+ options: placementEnum
231
+ }
139
232
  },
140
233
  'sap.fe.macros.table.Column': {
141
- placement: placementEnum
234
+ placement: {
235
+ options: placementEnum
236
+ }
142
237
  },
143
238
  'sap.fe.macros.Table': {
144
- variantManagement: ['None', 'Page', 'Control']
239
+ variantManagement: {
240
+ options: ['None', 'Page', 'Control']
241
+ }
242
+ },
243
+ 'sap.fe.macros.richtexteditor.ButtonGroup': {
244
+ buttons: {
245
+ options: getEnumEntriesFromMap('sap.fe.macros.richtexteditor.ButtonGroup', 'buttons'),
246
+ multiSelect: true
247
+ },
248
+ name: {
249
+ options: Object.keys(exports.MACROS_ENUM_ENTRIES_MAP['sap.fe.macros.richtexteditor.ButtonGroup'].buttons.values)
250
+ }
145
251
  }
146
252
  };
147
253
  /**
@@ -189,7 +295,7 @@ function applyCorrectionForNode(node, correction) {
189
295
  for (const aggregation of correction.removeAggregations || []) {
190
296
  const aggregationIndex = node.aggregations.findIndex((existingAggregation) => existingAggregation.name === aggregation);
191
297
  if (aggregationIndex !== -1) {
192
- node.aggregations.splice(aggregationIndex);
298
+ node.aggregations.splice(aggregationIndex, 1);
193
299
  }
194
300
  }
195
301
  for (const property of correction.properties || []) {
@@ -230,7 +336,8 @@ function applyCorrectionForEnums(api) {
230
336
  property = symbol[types_1.CLASS_SYMBOL_METADATA_PROPERTY].properties.find((ui5Property) => ui5Property.name === name);
231
337
  }
232
338
  if (property) {
233
- property.allowedValues = properties[name];
339
+ property.allowedValues = properties[name].options;
340
+ property.multiSelect = properties[name].multiSelect;
234
341
  }
235
342
  }
236
343
  }