@sap/ux-specification 1.108.68 → 1.108.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +57 -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-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 +253 -253
  14. package/dist/index-min.js.map +4 -4
  15. package/dist/schemas/v2/ApplicationV2.json +46 -12
  16. package/dist/schemas/v2/ListReportNewConfig.json +136 -0
  17. package/dist/schemas/v2/ObjectPageConfig.json +11 -5
  18. package/dist/schemas/v4/ApplicationV4.json +30 -15
  19. package/dist/schemas/v4/BuildingBlocksConfig.json +2 -3
  20. package/dist/specification/package.json +16 -16
  21. package/dist/specification/scripts/macros/schema.d.ts +7 -0
  22. package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
  23. package/dist/specification/scripts/macros/schema.js +61 -14
  24. package/dist/specification/scripts/macros/schema.js.map +1 -1
  25. package/dist/specification/scripts/macros/types.d.ts +1 -0
  26. package/dist/specification/scripts/macros/types.d.ts.map +1 -1
  27. package/dist/specification/scripts/schema/to-json-schema.d.ts.map +1 -1
  28. package/dist/specification/scripts/schema/to-json-schema.js +63 -7
  29. package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
  30. package/dist/specification/src/sync/common/decoration/decorators.d.ts +65 -4
  31. package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
  32. package/dist/specification/src/sync/common/decoration/decorators.js +138 -8
  33. package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
  34. package/dist/specification/src/sync/common/distTagEvaluator.d.ts +7 -0
  35. package/dist/specification/src/sync/common/distTagEvaluator.d.ts.map +1 -1
  36. package/dist/specification/src/sync/common/distTagEvaluator.js +10 -0
  37. package/dist/specification/src/sync/common/distTagEvaluator.js.map +1 -1
  38. package/dist/specification/src/sync/common/dist_tag.json +17 -18
  39. package/dist/specification/src/sync/common/generate/objectPage.js +3 -1
  40. package/dist/specification/src/sync/common/generate/objectPage.js.map +1 -1
  41. package/dist/specification/src/sync/common/generate/utils.d.ts +13 -4
  42. package/dist/specification/src/sync/common/generate/utils.d.ts.map +1 -1
  43. package/dist/specification/src/sync/common/generate/utils.js +35 -20
  44. package/dist/specification/src/sync/common/generate/utils.js.map +1 -1
  45. package/dist/specification/src/sync/common/i18n.json +13 -1
  46. package/dist/specification/src/sync/common/utils.d.ts +64 -0
  47. package/dist/specification/src/sync/common/utils.d.ts.map +1 -1
  48. package/dist/specification/src/sync/common/utils.js +147 -1
  49. package/dist/specification/src/sync/common/utils.js.map +1 -1
  50. package/dist/specification/src/sync/v2/application.d.ts +1 -0
  51. package/dist/specification/src/sync/v2/application.d.ts.map +1 -1
  52. package/dist/specification/src/sync/v2/application.js +18 -0
  53. package/dist/specification/src/sync/v2/application.js.map +1 -1
  54. package/dist/specification/src/sync/v2/export/controls/ObjectPageTable.d.ts.map +1 -1
  55. package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
  56. package/dist/specification/src/sync/v2/export/exportPage.js +15 -4
  57. package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
  58. package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
  59. package/dist/specification/src/sync/v2/export/exportPageGeneric.js +6 -12
  60. package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
  61. package/dist/specification/src/sync/v2/export/factory.d.ts +26 -0
  62. package/dist/specification/src/sync/v2/export/factory.d.ts.map +1 -1
  63. package/dist/specification/src/sync/v2/export/factory.js +3 -3
  64. package/dist/specification/src/sync/v2/export/factory.js.map +1 -1
  65. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts +1 -0
  66. package/dist/specification/src/sync/v2/export/pages/ObjectPage.d.ts.map +1 -1
  67. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js +11 -0
  68. package/dist/specification/src/sync/v2/export/pages/ObjectPage.js.map +1 -1
  69. package/dist/specification/src/sync/v2/generate/listReport.d.ts.map +1 -1
  70. package/dist/specification/src/sync/v2/generate/listReport.js +46 -1
  71. package/dist/specification/src/sync/v2/generate/listReport.js.map +1 -1
  72. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts +1 -2
  73. package/dist/specification/src/sync/v2/generate/manifestPropertyUtils.d.ts.map +1 -1
  74. package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
  75. package/dist/specification/src/sync/v2/generate/objectPage.js +63 -13
  76. package/dist/specification/src/sync/v2/generate/objectPage.js.map +1 -1
  77. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts +1 -1
  78. package/dist/specification/src/sync/v2/generate/schemaAdaptation.d.ts.map +1 -1
  79. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +4 -1
  80. package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
  81. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts +8 -0
  82. package/dist/specification/src/sync/v2/generate/stableIdUtils.d.ts.map +1 -1
  83. package/dist/specification/src/sync/v2/generate/stableIdUtils.js +1 -0
  84. package/dist/specification/src/sync/v2/generate/stableIdUtils.js.map +1 -1
  85. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +3 -2
  86. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js.map +1 -1
  87. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts +78 -0
  88. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.d.ts.map +1 -0
  89. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +454 -0
  90. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -0
  91. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts +22 -0
  92. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.d.ts.map +1 -0
  93. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js +124 -0
  94. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiViewSingleTable.js.map +1 -0
  95. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +55 -0
  96. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -0
  97. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +152 -0
  98. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -0
  99. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +3 -0
  100. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
  101. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +3 -0
  102. package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
  103. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts +4 -2
  104. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.d.ts.map +1 -1
  105. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js +61 -23
  106. package/dist/specification/src/sync/v2/genericSchemaHandling/pages/ListReportNew.js.map +1 -1
  107. package/dist/specification/src/sync/v2/import/pages/overviewPage.d.ts.map +1 -1
  108. package/dist/specification/src/sync/v2/import/pages/overviewPage.js +32 -13
  109. package/dist/specification/src/sync/v2/import/pages/overviewPage.js.map +1 -1
  110. package/dist/specification/src/sync/v2/utils.d.ts +23 -0
  111. package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
  112. package/dist/specification/src/sync/v2/utils.js +67 -0
  113. package/dist/specification/src/sync/v2/utils.js.map +1 -1
  114. package/dist/specification/src/sync/v4/export/controls/Header.d.ts +3 -2
  115. package/dist/specification/src/sync/v4/export/controls/Header.d.ts.map +1 -1
  116. package/dist/specification/src/sync/v4/export/controls/Header.js +14 -2
  117. package/dist/specification/src/sync/v4/export/controls/Header.js.map +1 -1
  118. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts +2 -1
  119. package/dist/specification/src/sync/v4/export/controls/HeaderAction.d.ts.map +1 -1
  120. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js +7 -2
  121. package/dist/specification/src/sync/v4/export/controls/HeaderAction.js.map +1 -1
  122. package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
  123. package/dist/specification/src/sync/v4/export/fpmCustomPage.js +13 -3
  124. package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
  125. package/dist/specification/src/sync/v4/export/pages/ListReport.d.ts.map +1 -1
  126. package/dist/specification/src/sync/v4/export/pages/ListReport.js +2 -1
  127. package/dist/specification/src/sync/v4/export/pages/ListReport.js.map +1 -1
  128. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts +107 -0
  129. package/dist/specification/src/sync/v4/generate/ListReportUtils.d.ts.map +1 -0
  130. package/dist/specification/src/sync/v4/generate/ListReportUtils.js +374 -0
  131. package/dist/specification/src/sync/v4/generate/ListReportUtils.js.map +1 -0
  132. package/dist/specification/src/sync/v4/generate/listReport.d.ts +100 -2
  133. package/dist/specification/src/sync/v4/generate/listReport.d.ts.map +1 -1
  134. package/dist/specification/src/sync/v4/generate/listReport.js +170 -104
  135. package/dist/specification/src/sync/v4/generate/listReport.js.map +1 -1
  136. package/dist/specification/src/sync/v4/generate/objectPage.d.ts.map +1 -1
  137. package/dist/specification/src/sync/v4/generate/objectPage.js +56 -11
  138. package/dist/specification/src/sync/v4/generate/objectPage.js.map +1 -1
  139. package/dist/specification/src/sync/v4/sync-rules/App.d.ts +141 -0
  140. package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -0
  141. package/dist/specification/src/sync/v4/sync-rules/App.js +208 -0
  142. package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -0
  143. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +193 -0
  144. package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -0
  145. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +384 -0
  146. package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -0
  147. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts +172 -0
  148. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -0
  149. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +410 -0
  150. package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -0
  151. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +70 -0
  152. package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -0
  153. package/dist/specification/src/sync/v4/sync-rules/Page.js +73 -0
  154. package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -0
  155. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts +9 -0
  156. package/dist/specification/src/sync/v4/sync-rules/utils.d.ts.map +1 -0
  157. package/dist/specification/src/sync/v4/sync-rules/utils.js +43 -0
  158. package/dist/specification/src/sync/v4/sync-rules/utils.js.map +1 -0
  159. package/dist/specification/src/sync/v4/utils/utils.d.ts +15 -4
  160. package/dist/specification/src/sync/v4/utils/utils.d.ts.map +1 -1
  161. package/dist/specification/src/sync/v4/utils/utils.js +54 -6
  162. package/dist/specification/src/sync/v4/utils/utils.js.map +1 -1
  163. package/dist/types/src/common/types.d.ts +110 -1
  164. package/dist/types/src/common/types.d.ts.map +1 -1
  165. package/dist/types/src/common/types.js +6 -0
  166. package/dist/types/src/common/types.js.map +1 -1
  167. package/dist/types/src/common/webapp/manifest/Manifest.d.ts +1 -1
  168. package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
  169. package/dist/types/src/v2/application.d.ts +18 -0
  170. package/dist/types/src/v2/application.d.ts.map +1 -1
  171. package/dist/types/src/v2/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  172. package/dist/types/src/v2/controls/ObjectPageTable.d.ts +4 -4
  173. package/dist/types/src/v2/controls/ObjectPageTable.d.ts.map +1 -1
  174. package/dist/types/src/v2/controls/Table.d.ts.map +1 -1
  175. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts +10 -1
  176. package/dist/types/src/v2/pages/ObjectPageConfigV2.d.ts.map +1 -1
  177. package/dist/types/src/v4/controls/ObjectPageHeaderSection.d.ts.map +1 -1
  178. package/dist/types/src/v4/controls/ObjectPageSection.d.ts.map +1 -1
  179. package/package.json +16 -16
@@ -27,42 +27,56 @@
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"
39
42
  },
40
43
  "draftDiscardConfirmationSettings": {
41
44
  "$ref": "#/definitions/DraftDiscardConfirmationSettings",
42
- "description": "Allows applications to configure confirmation popups in various scenarios."
45
+ "description": "Allows applications to configure confirmation popups in various scenarios.",
46
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.draftDiscardConfirmationSettings"
43
47
  },
44
48
  "statePreservationMode": {
45
49
  "$ref": "#/definitions/StatePreservationMode",
46
- "description": "Allows applications to configure persistence mode in an object page. Persistence mode retains the tab selection made on an object page in certain cases."
50
+ "description": "Allows applications to configure persistence mode in an object page. Persistence mode retains the tab selection made on an object page in certain cases.",
51
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.statePreservationMode"
52
+ },
53
+ "globalTableSettings": {
54
+ "$ref": "#/definitions/GlobalApplicationTableSettings",
55
+ "description": "Settings for all tables.",
56
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.tableSettings"
47
57
  },
48
58
  "title": {
49
59
  "description": "Defines the title for the application.",
50
60
  "i18nClassification": "TIT: Title of the application",
51
- "type": "string"
61
+ "type": "string",
62
+ "manifestPath": "$[\"sap.app\"].title"
52
63
  },
53
64
  "description": {
54
65
  "description": "Defines the description for the application.",
55
66
  "i18nClassification": "TIT: Description of the application",
56
- "type": "string"
67
+ "type": "string",
68
+ "manifestPath": "$[\"sap.app\"].description"
57
69
  },
58
70
  "flexEnabled": {
59
71
  "description": "Enables key user adaptation for an application.",
60
72
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/ccd45ba3f0b446a0901b2c9d42b8ad53",
61
- "type": "boolean"
73
+ "type": "boolean",
74
+ "manifestPath": "$[\"sap.ui5\"].flexEnabled"
62
75
  },
63
76
  "cloudDevAdaptationStatus": {
64
77
  "$ref": "#/definitions/CloudDevAdaptationStatus",
65
- "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."
78
+ "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.",
79
+ "manifestPath": "$[\"sap.fiori\"].cloudDevAdaptationStatus"
66
80
  }
67
81
  },
68
82
  "additionalProperties": false
@@ -72,10 +86,12 @@
72
86
  "type": "object",
73
87
  "properties": {
74
88
  "defaultTwoColumnLayoutType": {
75
- "$ref": "#/definitions/FlexibleColumnLayoutType"
89
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
90
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout.defaultTwoColumnLayoutType"
76
91
  },
77
92
  "defaultThreeColumnLayoutType": {
78
- "$ref": "#/definitions/FlexibleColumnLayoutType"
93
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
94
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.flexibleColumnLayout.defaultThreeColumnLayoutType"
79
95
  }
80
96
  },
81
97
  "additionalProperties": false
@@ -108,7 +124,8 @@
108
124
  "enabled": {
109
125
  "description": "Allows applications to turn off the discard draft confirmation popup in various scenarios.",
110
126
  "type": "string",
111
- "const": "restricted"
127
+ "const": "restricted",
128
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.draftDiscardConfirmationSettings.enabled"
112
129
  }
113
130
  },
114
131
  "additionalProperties": false,
@@ -123,6 +140,23 @@
123
140
  ],
124
141
  "type": "string"
125
142
  },
143
+ "GlobalApplicationTableSettings": {
144
+ "type": "object",
145
+ "properties": {
146
+ "createMode": {
147
+ "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.",
148
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b",
149
+ "enum": [
150
+ "creationRows",
151
+ "creationRowsHiddenInEditMode",
152
+ "inline"
153
+ ],
154
+ "type": "string",
155
+ "manifestPath": "$[\"sap.ui.generic.app\"].settings.tableSettings.createMode"
156
+ }
157
+ },
158
+ "additionalProperties": false
159
+ },
126
160
  "CloudDevAdaptationStatus": {
127
161
  "internal": true,
128
162
  "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,138 @@
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/smarttable.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
+ "smarttable.ExportType": {
549
+ "description": "Provides the type of services available for export in the `SmartTable` control.",
550
+ "enum": [
551
+ "GW",
552
+ "UI5Client",
553
+ "UI5ClientPDF"
554
+ ],
555
+ "type": "string"
556
+ },
421
557
  "Toolbar": {
422
558
  "description": "Toolbar",
423
559
  "isViewNode": true,
@@ -56,6 +56,12 @@
56
56
  "footer": {
57
57
  "$ref": "#/definitions/ObjectPageFooter<ObjectPageFooterActions>"
58
58
  },
59
+ "createMode": {
60
+ "$ref": "#/definitions/CreateMode",
61
+ "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.",
62
+ "artifactType": "Manifest",
63
+ "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
64
+ },
59
65
  "$schema": {
60
66
  "type": "string"
61
67
  }
@@ -719,7 +725,7 @@
719
725
  },
720
726
  "createMode": {
721
727
  "$ref": "#/definitions/CreateMode",
722
- "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.",
728
+ "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.",
723
729
  "artifactType": "Manifest",
724
730
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
725
731
  },
@@ -1183,7 +1189,7 @@
1183
1189
  },
1184
1190
  "createMode": {
1185
1191
  "$ref": "#/definitions/CreateMode",
1186
- "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.",
1192
+ "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.",
1187
1193
  "artifactType": "Manifest",
1188
1194
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
1189
1195
  },
@@ -1277,7 +1283,7 @@
1277
1283
  },
1278
1284
  "createMode": {
1279
1285
  "$ref": "#/definitions/CreateMode",
1280
- "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.",
1286
+ "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.",
1281
1287
  "artifactType": "Manifest",
1282
1288
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
1283
1289
  },
@@ -1371,7 +1377,7 @@
1371
1377
  },
1372
1378
  "createMode": {
1373
1379
  "$ref": "#/definitions/CreateMode",
1374
- "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.",
1380
+ "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.",
1375
1381
  "artifactType": "Manifest",
1376
1382
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
1377
1383
  },
@@ -1465,7 +1471,7 @@
1465
1471
  },
1466
1472
  "createMode": {
1467
1473
  "$ref": "#/definitions/CreateMode",
1468
- "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.",
1474
+ "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.",
1469
1475
  "artifactType": "Manifest",
1470
1476
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/cfb04f0c58e7409992feb4c91aa9410b"
1471
1477
  },
@@ -27,42 +27,51 @@
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
  "path": {
33
34
  "description": "Represents a prefix that is prepended in front of the viewName",
34
- "type": "string"
35
+ "type": "string",
36
+ "manifestPath": "$[\"sap.ui5\"].routing.config.path"
35
37
  },
36
38
  "viewType": {
37
39
  "$ref": "#/definitions/ViewTypes",
38
- "description": "standard view type of views"
40
+ "description": "standard view type of views",
41
+ "manifestPath": "$[\"sap.ui5\"].routing.config.viewType"
39
42
  },
40
43
  "controllerExtensions": {
41
44
  "$ref": "#/definitions/ControllerExtensions",
42
- "description": "Controller extensions allow users to extensiate default behaviour with custom controllers code."
45
+ "description": "Controller extensions allow users to extensiate default behaviour with custom controllers code.",
46
+ "manifestPath": "$[\"sap.ui5\"].extends.extensions[\"sap.ui.controllerExtensions\"].controllerExtensions"
43
47
  },
44
48
  "dependencies": {
45
49
  "$ref": "#/definitions/Dependencies",
46
- "description": "Dependencies of the application."
50
+ "description": "Dependencies of the application.",
51
+ "manifestPath": "$[\"sap.ui5\"].dependencies"
47
52
  },
48
53
  "title": {
49
54
  "description": "Defines the title for the application.",
50
55
  "i18nClassification": "TIT: Title of the application",
51
- "type": "string"
56
+ "type": "string",
57
+ "manifestPath": "$[\"sap.app\"].title"
52
58
  },
53
59
  "description": {
54
60
  "description": "Defines the description for the application.",
55
61
  "i18nClassification": "TIT: Description of the application",
56
- "type": "string"
62
+ "type": "string",
63
+ "manifestPath": "$[\"sap.app\"].description"
57
64
  },
58
65
  "flexEnabled": {
59
66
  "description": "Enables key user adaptation for an application.",
60
67
  "descriptionSrcURL": "https://ui5.sap.com/sdk/#/topic/ccd45ba3f0b446a0901b2c9d42b8ad53",
61
- "type": "boolean"
68
+ "type": "boolean",
69
+ "manifestPath": "$[\"sap.ui5\"].flexEnabled"
62
70
  },
63
71
  "cloudDevAdaptationStatus": {
64
72
  "$ref": "#/definitions/CloudDevAdaptationStatus",
65
- "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."
73
+ "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.",
74
+ "manifestPath": "$[\"sap.fiori\"].cloudDevAdaptationStatus"
66
75
  }
67
76
  },
68
77
  "additionalProperties": false
@@ -73,13 +82,16 @@
73
82
  "properties": {
74
83
  "limitFCLToTwoColumns": {
75
84
  "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.",
76
- "type": "boolean"
85
+ "type": "boolean",
86
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.limitFCLToTwoColumns"
77
87
  },
78
88
  "defaultTwoColumnLayoutType": {
79
- "$ref": "#/definitions/FlexibleColumnLayoutType"
89
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
90
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.defaultTwoColumnLayoutType"
80
91
  },
81
92
  "defaultThreeColumnLayoutType": {
82
- "$ref": "#/definitions/FlexibleColumnLayoutType"
93
+ "$ref": "#/definitions/FlexibleColumnLayoutType",
94
+ "manifestPath": "$[\"sap.ui5\"].routing.config.flexibleColumnLayout.defaultThreeColumnLayoutType"
83
95
  }
84
96
  },
85
97
  "additionalProperties": false
@@ -131,7 +143,8 @@
131
143
  "type": "object",
132
144
  "properties": {
133
145
  "minUI5Version": {
134
- "type": "string"
146
+ "type": "string",
147
+ "manifestPath": "$[\"sap.ui5\"].dependencies.minUI5Version"
135
148
  },
136
149
  "libs": {
137
150
  "type": "object",
@@ -143,7 +156,8 @@
143
156
  }
144
157
  },
145
158
  "additionalProperties": false
146
- }
159
+ },
160
+ "manifestPath": "$[\"sap.ui5\"].dependencies.libs"
147
161
  },
148
162
  "components": {
149
163
  "type": "object",
@@ -155,7 +169,8 @@
155
169
  }
156
170
  },
157
171
  "additionalProperties": false
158
- }
172
+ },
173
+ "manifestPath": "$[\"sap.ui5\"].dependencies.components"
159
174
  }
160
175
  },
161
176
  "additionalProperties": false
@@ -224,9 +224,8 @@
224
224
  },
225
225
  "formatOptions": {
226
226
  "$ref": "#/definitions/sap.fe.macros.FieldFormatOptions",
227
- "description": "formatOptions",
227
+ "description": "A set of options that can be configured.",
228
228
  "artifactType": "XMLProperty",
229
- "isViewNode": true,
230
229
  "metadata": {
231
230
  "type": "Property"
232
231
  }
@@ -685,7 +684,7 @@
685
684
  },
686
685
  "sap.fe.macros.FieldFormatOptions": {
687
686
  "description": "Additional format options for the field.",
688
- "isViewNode": true,
687
+ "isViewNode": false,
689
688
  "type": "object",
690
689
  "properties": {
691
690
  "displayMode": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap/ux-specification",
3
- "version": "1.108.68",
3
+ "version": "1.108.70",
4
4
  "displayName": "SAP Fiori tools - Specification",
5
5
  "description": "SAP Fiori tools - Specification",
6
6
  "files": [
@@ -34,11 +34,11 @@
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
42
  "macros": "ts-node ./scripts/macros/index.ts",
43
43
  "test": "jest && node ../../scripts/scov.js reports/test/unit/coverage/lcov.info",
44
44
  "test:ci": "jest --ci --forceExit --detectOpenHandles && node ../../scripts/scov.js reports/test/unit/coverage/lcov.info",
@@ -49,20 +49,20 @@
49
49
  "publisher": "SAPSE",
50
50
  "license": "SEE LICENSE IN LICENSE",
51
51
  "dependencies": {
52
- "@sap-ux/fe-fpm-writer": "0.39.25",
53
- "@sap-ux/vocabularies-types": "0.13.2"
52
+ "@sap-ux/fe-fpm-writer": "0.40.8",
53
+ "@sap-ux/vocabularies-types": "0.14.5"
54
54
  },
55
55
  "devDependencies": {
56
- "@sap-ux/annotation-converter": "0.10.9",
57
- "@sap-ux/edmx-parser": "0.9.6",
58
- "@sap-ux/project-access": "1.32.9",
59
- "@sap/ux-specification-types": "1.108.68",
56
+ "@sap-ux/annotation-converter": "0.10.19",
57
+ "@sap-ux/edmx-parser": "0.9.8",
58
+ "@sap-ux/project-access": "1.34.2",
59
+ "@sap/ux-specification-types": "1.108.70",
60
60
  "@sapui5/ts-types-esm": "latest-1.108",
61
61
  "@types/d3": "7.4.3",
62
62
  "@types/jquery": "3.5.33",
63
+ "@types/json-schema": "7.0.15",
63
64
  "@types/mem-fs": "1.1.5",
64
65
  "@types/mem-fs-editor": "7.0.1",
65
- "@types/json-schema": "7.0.5",
66
66
  "@ui5/flexibility-utils": "0.1.3",
67
67
  "@xml-tools/ast": "5.0.5",
68
68
  "@xml-tools/parser": "1.0.11",
@@ -71,17 +71,17 @@
71
71
  "d3": "7.9.0",
72
72
  "deepmerge": "4.3.1",
73
73
  "ejs": "3.1.10",
74
+ "eslint-formatter-checkstyle": "9.0.1",
74
75
  "excel4node": "1.8.2",
75
- "i18next": "25.6.3",
76
+ "i18next": "25.7.4",
76
77
  "jquery": "3.7.1",
77
78
  "jsdom": "25.0.1",
78
- "lodash.unset": "4.5.2",
79
79
  "mem-fs": "2.1.0",
80
80
  "mem-fs-editor": "9.7.0",
81
81
  "path": "0.12.7",
82
82
  "reflect-metadata": "0.2.2",
83
83
  "semver": "7.7.3",
84
- "typescript-json-schema": "0.65.1",
84
+ "typescript-json-schema": "0.67.1",
85
85
  "xml-js": "1.6.11"
86
86
  },
87
87
  "husky": {
@@ -2,6 +2,13 @@ import type { SchemaDefinition } from '@sap/ux-specification-types';
2
2
  import type { MacrosAPI } from './types';
3
3
  import type { JSONSchema7TypeName } from 'json-schema';
4
4
  export declare const UI5_TO_JSON_SCHEMA_TYPE_MAP: Map<string, JSONSchema7TypeName>;
5
+ /**
6
+ * Semantic classification patterns for properties
7
+ * Used to determine if a property should be visible (isViewNode = true/false)
8
+ */
9
+ export declare const PROPERTY_SEMANTICS: {
10
+ AGGREGATIONS: RegExp[];
11
+ };
5
12
  /**
6
13
  * Method generates generic schema for passed "sap.fe.macros" api.
7
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,EAAE,SAAS,EAA8E,MAAM,SAAS,CAAC;AAGrH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAgC,CAAC;AAiP1G;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CA+C/D"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../scripts/macros/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,KAAK,EACR,SAAS,EAOZ,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAgC,CAAC;AAC1G;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAwSF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,gBAAgB,CAkD/D"}