@sap/ux-specification 1.142.2 → 1.142.3

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 (220) hide show
  1. package/CHANGELOG.md +86 -43
  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 +265 -261
  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 +13 -1
  21. package/dist/schemas/v4/ListReportConfig.json +24 -6
  22. package/dist/schemas/v4/ObjectPageConfig.json +32 -8
  23. package/dist/specification/package.json +13 -11
  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.map +1 -1
  31. package/dist/specification/scripts/macros/corrections.js +3 -0
  32. package/dist/specification/scripts/macros/corrections.js.map +1 -1
  33. package/dist/specification/src/api.js +1 -1
  34. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +503 -0
  35. package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -0
  36. package/dist/specification/src/sync/common/decoration/decorator-paths.js +497 -0
  37. package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -0
  38. package/dist/specification/src/sync/common/decoration/decorators.d.ts +149 -23
  39. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  40. package/dist/specification/src/sync/common/decoration/decorators.js +369 -74
  41. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  42. package/dist/specification/src/sync/common/decoration/index.d.ts +1 -0
  43. package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
  44. package/dist/specification/src/sync/common/decoration/index.js +1 -0
  45. package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
  46. package/dist/specification/src/sync/common/dist_tag.json +8 -3
  47. package/dist/specification/src/sync/common/generate/objectPage.d.ts.map +1 -1
  48. package/dist/specification/src/sync/common/generate/objectPage.js +3 -1
  49. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  50. package/dist/specification/src/sync/common/i18n.json +2 -1
  51. package/dist/specification/src/sync/common/utils.d.ts +22 -6
  52. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  53. package/dist/specification/src/sync/common/utils.js +122 -18
  54. package/dist/specification/src/sync/common/utils.js.map +1 -1
  55. package/dist/specification/src/sync/v2/generate/analyticalListReport.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v2/generate/analyticalListReport.js +2 -0
  57. package/dist/specification/src/sync/v2/generate/analyticalListReport.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 +3 -1
  60. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  61. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  62. package/dist/specification/src/sync/v2/generate/objectPage.js +2 -0
  63. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  64. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts +1 -9
  65. package/dist/specification/src/sync/v2/generate/overviewPage.d.ts.map +1 -1
  66. package/dist/specification/src/sync/v2/generate/overviewPage.js +30 -1
  67. package/dist/specification/src/sync/v2/generate/overviewPage.js.map +1 -1
  68. package/dist/specification/src/sync/v2/import/app/appProvider.d.ts.map +1 -1
  69. package/dist/specification/src/sync/v2/import/app/appProvider.js +2 -0
  70. package/dist/specification/src/sync/v2/import/app/appProvider.js.map +1 -1
  71. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts +2 -1
  72. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.d.ts.map +1 -1
  73. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js +5 -0
  74. package/dist/specification/src/sync/v2/import/pages/analyticalListPage.js.map +1 -1
  75. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts +2 -1
  76. package/dist/specification/src/sync/v2/import/pages/listReport.d.ts.map +1 -1
  77. package/dist/specification/src/sync/v2/import/pages/listReport.js +5 -0
  78. package/dist/specification/src/sync/v2/import/pages/listReport.js.map +1 -1
  79. package/dist/specification/src/sync/v2/import/pages/objectPage.d.ts.map +1 -1
  80. package/dist/specification/src/sync/v2/import/pages/objectPage.js +2 -1
  81. package/dist/specification/src/sync/v2/import/pages/objectPage.js.map +1 -1
  82. package/dist/specification/src/sync/v2/import/utils.d.ts +28 -1
  83. package/dist/specification/src/sync/v2/import/utils.d.ts.map +1 -1
  84. package/dist/specification/src/sync/v2/import/utils.js +37 -0
  85. package/dist/specification/src/sync/v2/import/utils.js.map +1 -1
  86. package/dist/specification/src/sync/v2/utils.d.ts +12 -2
  87. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  88. package/dist/specification/src/sync/v2/utils.js +19 -2
  89. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  90. package/dist/specification/src/sync/v4/application.d.ts +20 -2
  91. package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
  92. package/dist/specification/src/sync/v4/application.js +27 -2
  93. package/dist/specification/src/sync/v4/application.js.map +1 -1
  94. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts +2 -1
  95. package/dist/specification/src/sync/v4/export/controls/FilterBar.d.ts.map +1 -1
  96. package/dist/specification/src/sync/v4/export/controls/FilterBar.js +2 -1
  97. package/dist/specification/src/sync/v4/export/controls/FilterBar.js.map +1 -1
  98. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +4 -3
  99. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  100. package/dist/specification/src/sync/v4/export/controls/Header.js +7 -3
  101. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  102. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
  103. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  104. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -0
  105. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  106. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts +2 -1
  107. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.d.ts.map +1 -1
  108. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js +2 -1
  109. package/dist/specification/src/sync/v4/export/controls/ObjectPageCustomSection.js.map +1 -1
  110. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts +1 -1
  111. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js +0 -13
  113. package/dist/specification/src/sync/v4/export/controls/ObjectPageTable.js.map +1 -1
  114. package/dist/specification/src/sync/v4/export/controls/Table.d.ts +24 -15
  115. package/dist/specification/src/sync/v4/export/controls/Table.d.ts.map +1 -1
  116. package/dist/specification/src/sync/v4/export/controls/Table.js +40 -46
  117. package/dist/specification/src/sync/v4/export/controls/Table.js.map +1 -1
  118. package/dist/specification/src/sync/v4/export/controls/TableColumn.d.ts.map +1 -1
  119. package/dist/specification/src/sync/v4/export/controls/TableColumn.js +2 -2
  120. package/dist/specification/src/sync/v4/export/controls/TableColumn.js.map +1 -1
  121. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +2 -1
  122. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
  123. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +2 -1
  124. package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
  125. package/dist/specification/src/sync/v4/export/export.d.ts.map +1 -1
  126. package/dist/specification/src/sync/v4/export/export.js +25 -3
  127. package/dist/specification/src/sync/v4/export/export.js.map +1 -1
  128. package/dist/specification/src/sync/v4/export/pages/ListReport.js +1 -1
  129. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  130. package/dist/specification/src/sync/v4/generate/actions.d.ts +1 -1
  131. package/dist/specification/src/sync/v4/generate/actions.d.ts.map +1 -1
  132. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +1 -1
  133. package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
  134. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
  135. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +10 -1
  136. package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
  137. package/dist/specification/src/sync/v4/generate/index.d.ts +1 -1
  138. package/dist/specification/src/sync/v4/generate/index.d.ts.map +1 -1
  139. package/dist/specification/src/sync/v4/generate/index.js +1 -1
  140. package/dist/specification/src/sync/v4/generate/index.js.map +1 -1
  141. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts +73 -0
  142. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.d.ts.map +1 -0
  143. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js +354 -0
  144. package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -0
  145. package/dist/specification/src/sync/v4/generate/{listReport.d.ts → list-report/listReport.d.ts} +22 -15
  146. package/dist/specification/src/sync/v4/generate/list-report/listReport.d.ts.map +1 -0
  147. package/dist/specification/src/sync/v4/generate/{listReport.js → list-report/listReport.js} +115 -69
  148. package/dist/specification/src/sync/v4/generate/list-report/listReport.js.map +1 -0
  149. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  150. package/dist/specification/src/sync/v4/generate/objectPage.js +142 -44
  151. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  152. package/dist/specification/src/sync/v4/import/pages/listReport.d.ts.map +1 -1
  153. package/dist/specification/src/sync/v4/import/pages/listReport.js +2 -1
  154. package/dist/specification/src/sync/v4/import/pages/listReport.js.map +1 -1
  155. package/dist/specification/src/sync/v4/import/utils.js +5 -3
  156. package/dist/specification/src/sync/v4/import/utils.js.map +1 -1
  157. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +9 -7
  158. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
  159. package/dist/specification/src/sync/v4/sync-rules/App.js +4 -8
  160. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
  161. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -9
  162. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
  163. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +2 -11
  164. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
  165. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +177 -46
  166. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
  167. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +498 -152
  168. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
  169. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +17 -22
  170. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
  171. package/dist/specification/src/sync/v4/sync-rules/Page.js +15 -22
  172. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
  173. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts +1 -0
  174. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.d.ts.map +1 -1
  175. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js +17 -9
  176. package/dist/specification/src/sync/v4/sync-rules/controllerExtensions.js.map +1 -1
  177. package/dist/specification/src/sync/v4/sync-rules/index.d.ts +5 -0
  178. package/dist/specification/src/sync/v4/sync-rules/index.d.ts.map +1 -0
  179. package/dist/specification/src/sync/v4/sync-rules/index.js +21 -0
  180. package/dist/specification/src/sync/v4/sync-rules/index.js.map +1 -0
  181. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -1
  182. package/dist/specification/src/sync/v4/sync-rules/utils.js +4 -0
  183. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -1
  184. package/dist/specification/src/sync/v4/utils/index.d.ts +2 -0
  185. package/dist/specification/src/sync/v4/utils/index.d.ts.map +1 -0
  186. package/dist/specification/src/sync/v4/utils/index.js +18 -0
  187. package/dist/specification/src/sync/v4/utils/index.js.map +1 -0
  188. package/dist/specification/src/sync/v4/utils/utils.d.ts +9 -1
  189. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  190. package/dist/specification/src/sync/v4/utils/utils.js +17 -2
  191. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  192. package/dist/specification/test/test-projects/v2sttaProdMan2/webapp/manifest.json +550 -0
  193. package/dist/specification/test/test-projects/v4new/webapp/manifest.json +147 -0
  194. package/dist/specification/test/test-utils/utils.d.ts +71 -0
  195. package/dist/specification/test/test-utils/utils.d.ts.map +1 -0
  196. package/dist/specification/test/test-utils/utils.js +400 -0
  197. package/dist/specification/test/test-utils/utils.js.map +1 -0
  198. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +131 -0
  199. package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -0
  200. package/dist/specification/test/unit/decorators/validity-test-utils.js +661 -0
  201. package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -0
  202. package/dist/types/src/apiTypes.d.ts +2 -3
  203. package/dist/types/src/apiTypes.d.ts.map +1 -1
  204. package/dist/types/src/apiTypes.js.map +1 -1
  205. package/dist/types/src/common/types.d.ts +119 -13
  206. package/dist/types/src/common/types.d.ts.map +1 -1
  207. package/dist/types/src/common/types.js.map +1 -1
  208. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +1 -1
  209. package/dist/types/src/v2/controls/Table.d.ts +1 -1
  210. package/dist/types/src/v4/controls/ObjectPageTable.d.ts +1 -1
  211. package/dist/types/src/v4/controls/ObjectPageTable.d.ts.map +1 -1
  212. package/dist/types/src/v4/controls/Table.d.ts +3 -3
  213. package/dist/types/src/v4/controls/Table.d.ts.map +1 -1
  214. package/package.json +14 -12
  215. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +0 -107
  216. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +0 -1
  217. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +0 -394
  218. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +0 -1
  219. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +0 -1
  220. package/dist/specification/src/sync/v4/generate/listReport.js.map +0 -1
@@ -1,17 +1,44 @@
1
1
  import type { Definition } from 'typescript-json-schema';
2
+ import type { ExtensionLogger } from '@sap/ux-specification-types';
3
+ import type { App } from './App';
4
+ import type { Page } from './Page';
5
+ import type { AppSchema } from './AppSchema';
6
+ export type GeneralSettings<PageWithConfig extends Page = Page> = {
7
+ appSchema: AppSchema;
8
+ app: App;
9
+ page: PageWithConfig;
10
+ logger?: ExtensionLogger;
11
+ };
12
+ export declare class BaseConstruct {
13
+ protected readonly appSchema: AppSchema;
14
+ protected readonly app: App;
15
+ protected readonly page: Page;
16
+ protected readonly logger?: ExtensionLogger;
17
+ /**
18
+ * Constructor for BaseConstruct.
19
+ *
20
+ * @param settings - General settings including appSchema, app, page, and logger
21
+ */
22
+ constructor(settings?: GeneralSettings);
23
+ /**
24
+ * Gets the general settings.
25
+ *
26
+ * @returns The general settings object
27
+ */
28
+ getSettings(): GeneralSettings;
29
+ }
2
30
  export interface Base {
3
31
  name: string;
4
32
  definition: Definition;
5
33
  }
6
- export declare class BaseClass {
7
- private appSchema;
8
- private base;
34
+ export declare class BaseClass extends BaseConstruct {
35
+ private readonly base;
9
36
  /**
10
37
  * Creates an instance of BaseClass.
11
38
  *
12
- * @param appSchema - The application schema definition
39
+ * @param settings - General settings including appSchema, app, page, and logger
13
40
  */
14
- constructor(appSchema?: Definition);
41
+ constructor(settings?: GeneralSettings);
15
42
  /**
16
43
  * Gets the class name.
17
44
  *
@@ -30,18 +57,6 @@ export declare class BaseClass {
30
57
  * @returns The base definition
31
58
  */
32
59
  getBase(): Definition;
33
- /**
34
- * Sets the base definition and name.
35
- *
36
- * @param base - The base object containing name and definition
37
- */
38
- setBase(base: Base): void;
39
- /**
40
- * Gets the definitions from the app schema.
41
- *
42
- * @returns The definitions object or undefined
43
- */
44
- getDefinitions(): Definition | undefined;
45
60
  /**
46
61
  * Creates an annotation path for schema based on entity type, term, and qualifier.
47
62
  *
@@ -54,32 +69,65 @@ export declare class BaseClass {
54
69
  }
55
70
  export declare class Decorator extends BaseClass {
56
71
  /**
57
- * Reference to the parent decorator instance.
58
- * Used by @dependsOn decorator to support parent property access via '../' syntax.
72
+ * Context for decorator condition evaluation.
73
+ * Contains 'config' (auto-injected from page.config) and any custom context sources.
74
+ * Defined as non-enumerable to hide from serialization.
59
75
  */
60
- private __parent__?;
76
+ private decoratorContext;
61
77
  /**
62
- * Sets the parent decorator instance for this object.
63
- * This enables nested decorators to access parent properties using the '../' prefix in @dependsOn.
78
+ * Creates an instance of Decorator.
64
79
  *
65
- * @param parent - The parent Decorator instance
66
- * @returns this (for method chaining)
80
+ * @param settings - General settings including appSchema, app, page, and logger
67
81
  */
68
- setParent(parent: Decorator): this;
82
+ constructor(settings?: GeneralSettings);
69
83
  /**
70
- * Gets the parent decorator instance if it exists.
84
+ * Initializes the decorator by applying all decorators to the schema definition.
85
+ *
86
+ * The decorator context is structured as:
87
+ * - `app`: The App configuration (from `this.app.config`, includes manifest)
88
+ * - `page`: The Page configuration (from `this.page.config`)
89
+ * - `custom`: Custom context provided by the caller.
90
+ *
91
+ * @param customContext - Optional custom context for decorator conditions.
92
+ * Use this for runtime-specific conditions like table state, section state, etc.
93
+ * @param definition - Optional custom definition to apply decorators to.
94
+ * If provided, decorators are applied to this definition instead of the one from appSchema.
95
+ * @example
96
+ * ```typescript
97
+ * // Basic initialization (app and page auto-injected)
98
+ * decorator.init();
99
+ *
100
+ * // With custom context for table-specific conditions
101
+ * decorator.init({
102
+ * table: { type: 'GridTable', views: [] }
103
+ * });
71
104
  *
72
- * @returns The parent Decorator instance or undefined
105
+ * // With custom definition (for dynamically created definitions)
106
+ * decorator.init({ table: { type: 'GridTable' } }, customTableDefinition);
107
+ * ```
73
108
  */
74
- getParent(): Decorator | undefined;
109
+ init(customContext?: Record<string, unknown>, definition?: Definition): void;
75
110
  /**
76
- * Helper method to get property value from an object using a property path.
77
- * Supports simple property names (e.g., 'visualFilters'), nested paths (e.g., 'settings.enabled'),
78
- * and parent traversal (e.g., '../type' to access parent object's type property).
111
+ * Gets property value from the decorator context using a property path.
79
112
  *
80
- * @param syncInstance - The object instance to retrieve the property value from
81
- * @param propertyPath - The property path (e.g., 'visualFilters', 'settings.enabled', or '../type')
113
+ * The path must include an explicit source prefix ('app', 'page', or 'custom').
114
+ *
115
+ * @param propertyPath - The property path with explicit source prefix - supports full jsonpath syntax
82
116
  * @returns Object containing the final key and its value, or undefined if not found
117
+ * @example
118
+ * ```typescript
119
+ * // With decoratorContext = {
120
+ * // app: { manifest: { 'sap.ui5': { routing: {...} } } },
121
+ * // page: { isALP: true },
122
+ * // custom: { type: 'GridTable', items: [{ name: 'Item1' }, { name: 'Item2' }] }
123
+ * // }
124
+ * getPropertyKeyValue('page.isALP') // { key: 'isALP', value: true }
125
+ * getPropertyKeyValue('custom.items[0]') // { key: '0', value: { name: 'Item1' } }
126
+ * getPropertyKeyValue('custom.items[1].name') // { key: 'name', value: 'Item2' }
127
+ * getPropertyKeyValue('app.manifest["sap.ui5"]') // Access property with dot in name
128
+ * getPropertyKeyValue('$.app.manifest["sap.ui5"].routing') // JSONPath with root reference
129
+ * getPropertyKeyValue('$app["manifest"]["sap.ui5"]') // Alternative JSONPath format
130
+ * ```
83
131
  */
84
132
  private getPropertyKeyValue;
85
133
  /**
@@ -89,14 +137,14 @@ export declare class Decorator extends BaseClass {
89
137
  * @param condition.path - The property path to check
90
138
  * @param condition.dependsOn - Optional custom condition function
91
139
  * @param condition.expectedValue - Optional expected value for equality check
92
- * @param syncRuleProviderInstance - The sync rule provider instance
140
+ * @param condition.negate - Optional flag to invert the condition result
93
141
  * @returns Object containing whether condition passed and the dependency value
94
142
  */
95
143
  private evaluateSingleCondition;
96
144
  /**
97
145
  * Helper method to add a message to the schema property based on value condition.
98
146
  *
99
- * @param condition - EnumValueCondition object containing condition details
147
+ * @param condition - DecoratorMetadata or EnumValueCondition object containing condition details
100
148
  * @param syncRuleProviderInstance - The instance of the sync rule provider
101
149
  * @param definition - The schema property definition
102
150
  * @param i18nProperties - i18n properties for message translation
@@ -104,6 +152,13 @@ export declare class Decorator extends BaseClass {
104
152
  * @param i18nProperties.context - The context for the message
105
153
  */
106
154
  private addConditionalMessage;
155
+ /**
156
+ * Resolves PathNode values in message params to their actual values from the decorator context.
157
+ *
158
+ * @param params - The message params potentially containing PathNode values
159
+ * @returns The params with PathNode values resolved to actual values
160
+ */
161
+ private resolveMessageParams;
107
162
  /**
108
163
  * Gets the context message from evaluation results.
109
164
  *
@@ -112,12 +167,78 @@ export declare class Decorator extends BaseClass {
112
167
  */
113
168
  private getContextForMessage;
114
169
  /**
115
- * Applies the dependsOn decorator to the schema definition.
170
+ * Evaluates an AND condition item which can be either a single condition or a nested OR group.
171
+ *
172
+ * @param conditionItem - The condition item to evaluate
173
+ * @returns Object containing whether condition passed and evaluation details
174
+ */
175
+ private evaluateAndConditionItem;
176
+ /**
177
+ * Evaluates OR conditions (at least one condition must match).
178
+ * Supports both single conditions and nested AND groups.
179
+ *
180
+ * @param orConditions - Array of condition items (single conditions or AND groups)
181
+ * @returns Object containing whether any condition passed and evaluation details
182
+ */
183
+ private evaluateOrConditions;
184
+ /**
185
+ * Evaluates AND conditions (all conditions must match).
186
+ * Supports both single conditions and nested OR groups.
187
+ *
188
+ * @param andConditions - Array of condition items (single conditions or OR groups)
189
+ * @returns Object containing whether all conditions passed and evaluation details
190
+ */
191
+ private evaluateAndConditions;
192
+ /**
193
+ * Evaluates condition metadata and returns whether the condition is met and the context.
194
+ *
195
+ * @param conditionInfo - The condition metadata
196
+ * @returns Object with passed (boolean) and context (string)
197
+ */
198
+ private evaluateCondition;
199
+ /**
200
+ * Iterates over schema properties and yields property info for decorator processing.
201
+ * Centralizes the guard clause and property iteration logic.
202
+ *
203
+ * @param schemaDefinition - The schema definition to process
204
+ * @param target - The target object (used for guard clause validation)
205
+ * @yields Property name and definition for each property in the schema
206
+ */
207
+ private iterateProperties;
208
+ /**
209
+ * Applies the hide decorator to the schema definition.
210
+ * Hides properties when their condition evaluates to true, but only if
211
+ * the message decorator did not add any messages to the property.
212
+ *
213
+ * @param schemaDefinition - The schema definition to apply the decorator to
214
+ * @param syncRuleProviderInstance - The sync rule provider instance
215
+ */
216
+ private applyHideDecorator;
217
+ /**
218
+ * Applies the message decorator to the schema definition.
219
+ * Shows messages when their condition evaluates to true.
220
+ *
221
+ * @param schemaDefinition - The schema definition to apply the decorator to
222
+ * @param syncRuleProviderInstance - The sync rule provider instance
223
+ */
224
+ private applyMessageDecorator;
225
+ /**
226
+ * Applies the readonly decorator to the schema definition.
227
+ * Marks properties as readonly when their condition evaluates to true.
116
228
  *
117
229
  * @param schemaDefinition - The schema definition to apply the decorator to
118
230
  * @param syncRuleProviderInstance - The sync rule provider instance
119
231
  */
120
- private applyDependsOnDecorator;
232
+ private applyReadonlyDecorator;
233
+ /**
234
+ * Applies the enums decorator to the schema definition.
235
+ * Restricts enum values when their condition evaluates to true.
236
+ * If multiple @enums decorators exist on the same property, the first matching condition wins.
237
+ *
238
+ * @param schemaDefinition - The schema definition to apply the decorator to
239
+ * @param syncRuleProviderInstance - The sync rule provider instance
240
+ */
241
+ private applyEnumsDecorator;
121
242
  /**
122
243
  * Gets the validity metadata for a property.
123
244
  *
@@ -126,6 +247,23 @@ export declare class Decorator extends BaseClass {
126
247
  * @returns The validity metadata or undefined
127
248
  */
128
249
  private getValidityMetadata;
250
+ /**
251
+ * Resolves an enum array from a property definition.
252
+ * Handles both inline enums and $ref to enum definitions.
253
+ *
254
+ * @param property - The property definition
255
+ * @returns The enum array or undefined if not found
256
+ */
257
+ private resolveEnumFromProperty;
258
+ /**
259
+ * Applies filtered enum values to a property.
260
+ * For $ref properties, inlines the filtered enum, copies the type from the referenced definition, and removes the $ref.
261
+ * For inline enum properties, updates the enum directly.
262
+ *
263
+ * @param property - The property definition to update
264
+ * @param filteredEnum - The filtered enum values
265
+ */
266
+ private applyFilteredEnumToProperty;
129
267
  /**
130
268
  * Applies the validity decorator to the schema definition based on the sync rule provider instance and minimum UI5 version.
131
269
  *
@@ -150,22 +288,15 @@ export declare class Decorator extends BaseClass {
150
288
  * @param propertyName - The property name (optional)
151
289
  */
152
290
  private applyDescriptionDecorator;
153
- /**
154
- * Applies the hidden decorator to the schema definition.
155
- *
156
- * @param schemaDefinition - The schema definition to apply the decorator to
157
- * @param target - The target object or function
158
- * @param propertyName - The property name (optional)
159
- */
160
- private applyHiddenDecorator;
161
291
  /**
162
292
  * Applies all decorators to the schema definition.
163
293
  *
164
294
  * @param minUi5Version - The minimum UI5 version (optional)
165
295
  * @param propertyName - The property name (optional)
296
+ * @param customDefinition - Optional custom definition to apply decorators to (overrides getBase())
166
297
  * @returns Object containing the definition
167
298
  */
168
- applyDecorators(minUi5Version?: string, propertyName?: string): {
299
+ applyDecorators(minUi5Version?: string, propertyName?: string, customDefinition?: Definition): {
169
300
  definition: Definition;
170
301
  };
171
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DecoratorClass.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/sync-rules/DecoratorClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAgCzD,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CAC1B;AAQD,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,IAAI,CAAO;IAEnB;;;;OAIG;gBACS,SAAS,CAAC,EAAE,UAAU;IAqBlC;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,OAAO,IAAI,UAAU;IAIrB;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAIzB;;;;OAIG;IACH,cAAc,IAAI,UAAU,GAAG,SAAS;IAIxC;;;;;;;OAOG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAWrG;AAED,qBAAa,SAAU,SAAQ,SAAS;IACpC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKlC;;;;OAIG;IACH,SAAS,IAAI,SAAS,GAAG,SAAS;IAIlC;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IA2D9B;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;OAMG;IACH,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;CAwB7F"}
1
+ {"version":3,"file":"DecoratorClass.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/v4/sync-rules/DecoratorClass.ts"],"names":[],"mappings":"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"}