@ximatai/muyun-web-app 0.26.10 → 0.26.12

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 (172) hide show
  1. package/dist/ModuleActionManagementView-BHEooZ5L.js +672 -0
  2. package/dist/ModuleGovernanceView-DB3TWlMy.js +28521 -0
  3. package/dist/RoleDetailWorkspaceView-D6X7pAj5.js +1379 -0
  4. package/dist/index.css +1 -1
  5. package/dist/index.js +1929 -351
  6. package/dist/moduleGovernanceWorkspaceView-C5pqJOEJ.js +40 -0
  7. package/dist/platform-workbench-DJj42YQP.js +22911 -0
  8. package/dist/rolldown-runtime-DPVXH0ON.js +17 -0
  9. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +0 -2
  10. package/dist/types/app/LoginView.vue.d.ts +1 -1
  11. package/dist/types/app/workbenchRouteSync.d.ts +10 -1
  12. package/dist/types/app/workbenchSessionTabs.d.ts +22 -0
  13. package/dist/types/app/workbenchStartup.d.ts +7 -0
  14. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -1
  15. package/dist/types/consumer/index.d.ts +2 -1
  16. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
  17. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +12 -1
  18. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +17 -0
  19. package/dist/types/dynamic-page-runtime/NavigatorPanelActions.vue.d.ts +22 -0
  20. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +11 -11
  21. package/dist/types/dynamic-page-runtime/childAggregateContext.d.ts +11 -0
  22. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +3 -1
  23. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +5 -3
  24. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +82 -28
  25. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +1 -1
  26. package/dist/types/dynamic-page-runtime/formActionResult.d.ts +5 -0
  27. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +7 -4
  28. package/dist/types/dynamic-page-runtime/formValidationCoordinator.d.ts +17 -0
  29. package/dist/types/dynamic-page-runtime/index.d.ts +1 -2
  30. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +75 -1
  31. package/dist/types/dynamic-page-runtime/pageActionInvocation.d.ts +7 -0
  32. package/dist/types/dynamic-page-runtime/pageActionPlacement.d.ts +14 -0
  33. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +3 -0
  34. package/dist/types/formula/FormulaRuntime.d.ts +9 -0
  35. package/dist/types/{dynamic-page-runtime/DynamicModuleHost.vue.d.ts → platform-admin-runtime/module-menu/ModuleMenuDrawer.vue.d.ts} +2 -2
  36. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEntriesSection.vue.d.ts +7 -0
  37. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +16 -0
  38. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +2 -0
  39. package/dist/types/platform-admin-runtime/role/RoleAccountGrantDrawerSurface.vue.d.ts +7 -0
  40. package/dist/types/platform-admin-runtime/role/RoleAuthorizationDrawerSurface.vue.d.ts +7 -0
  41. package/dist/types/platform-admin-runtime/role/RoleEmploymentGrantDrawerSurface.vue.d.ts +7 -0
  42. package/dist/types/platform-admin-runtime/role/RoleEnumTitleCell.vue.d.ts +8 -0
  43. package/dist/types/platform-admin-runtime/role/RoleGroupMemberFormField.vue.d.ts +7 -0
  44. package/dist/types/platform-admin-runtime/role/RoleScopeTree.vue.d.ts +7 -0
  45. package/dist/types/platform-admin-runtime/roleModulePageEnhancement.d.ts +7 -0
  46. package/dist/types/platform-components/AdaptiveHeaderActionBar.vue.d.ts +24 -0
  47. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +15 -1
  48. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +9 -4
  49. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
  50. package/dist/types/platform-components/DrawerOperationBar.vue.d.ts +4 -2
  51. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +54 -0
  52. package/dist/types/platform-components/ManagementExplorerColumn.vue.d.ts +15 -3
  53. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +5 -3
  54. package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +11 -0
  55. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +3 -3
  56. package/dist/types/platform-components/QueryGroupedSummary.vue.d.ts +21 -0
  57. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +1 -0
  58. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +2 -0
  59. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +41 -2
  60. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +8 -3
  61. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +2 -0
  62. package/dist/types/platform-components/RecordExplorerCreateButton.vue.d.ts +16 -0
  63. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +16 -5
  64. package/dist/types/platform-components/RecordFieldLabel.vue.d.ts +16 -0
  65. package/dist/types/platform-components/RecordFormFields.vue.d.ts +21 -2
  66. package/dist/types/platform-components/RecordFormGrid.vue.d.ts +24 -0
  67. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +23 -1
  68. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -2
  69. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +9 -3
  70. package/dist/types/platform-components/RecordPermissionDialog.vue.d.ts +15 -0
  71. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -2
  72. package/dist/types/platform-components/RecordQueryEnumFilter.vue.d.ts +17 -0
  73. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +12 -0
  74. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +110 -64
  75. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +124 -0
  76. package/dist/types/platform-components/RecordRelationTable.vue.d.ts +62 -0
  77. package/dist/types/platform-components/RecordRelationValue.vue.d.ts +9 -0
  78. package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +3 -3
  79. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
  80. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +15 -4
  81. package/dist/types/platform-components/adaptiveHeaderActionLayout.d.ts +22 -0
  82. package/dist/types/platform-components/formulaExpressionTokens.d.ts +18 -0
  83. package/dist/types/platform-components/index.d.ts +20 -1
  84. package/dist/types/platform-components/managementExplorerContext.d.ts +11 -0
  85. package/dist/types/platform-components/managementWorkspaceContext.d.ts +20 -0
  86. package/dist/types/platform-components/managementWorkspaceLayout.d.ts +14 -0
  87. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  88. package/dist/types/platform-components/recordActionBarModel.d.ts +3 -0
  89. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +42 -0
  90. package/dist/types/platform-components/scopedTreeModuleContext.d.ts +2 -2
  91. package/dist/types/platform-components/selectionRefresh.d.ts +9 -0
  92. package/dist/types/platform-components/sortPartitionKey.d.ts +5 -0
  93. package/dist/types/platform-components/staticTreeResourceModuleContext.d.ts +3 -3
  94. package/dist/types/platform-workbench/index.d.ts +2 -0
  95. package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +5 -0
  96. package/dist/types/platform-workbench/workbenchNavigation.d.ts +5 -1
  97. package/dist/types/platform-workbench/workspaceViewContract.d.ts +5 -0
  98. package/dist/types/platform-workbench/workspaceViewHost.d.ts +5 -0
  99. package/dist/types/platform-workbench/workspaceViewNavigation.d.ts +9 -0
  100. package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +3 -0
  101. package/dist/types/views/BusinessRuleGovernanceSurface.vue.d.ts +10 -0
  102. package/dist/types/views/EmployeeEmploymentTable.vue.d.ts +5 -0
  103. package/dist/types/views/{UserDetailRouteView.vue.d.ts → MetadataGovernanceSurface.vue.d.ts} +3 -3
  104. package/dist/types/views/MetadataSourceTree.vue.d.ts +44 -0
  105. package/dist/types/views/ModuleBusinessPreview.vue.d.ts +7 -0
  106. package/dist/types/views/ModuleExperienceProfileOverview.vue.d.ts +7 -0
  107. package/dist/types/views/ModuleGovernanceView.vue.d.ts +9 -0
  108. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +54 -0
  109. package/dist/types/views/PageCompositionTree.vue.d.ts +103 -0
  110. package/dist/types/views/PageCompositionWorkspace.vue.d.ts +7 -0
  111. package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +48 -0
  112. package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +6 -2
  113. package/dist/types/views/RoleAuthorizationView.vue.d.ts +7 -0
  114. package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +5 -1
  115. package/dist/types/views/businessRuleGovernance.d.ts +201 -0
  116. package/dist/types/views/metadataModelEditSession.d.ts +75 -0
  117. package/dist/types/views/metadataModelTree.d.ts +40 -0
  118. package/dist/types/views/metadataNaming.d.ts +7 -0
  119. package/dist/types/views/metadataOrchestrationState.d.ts +161 -6
  120. package/dist/types/views/metadataSourceTree.d.ts +10 -0
  121. package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +9 -0
  122. package/dist/types/views/pageCompositionDraftState.d.ts +375 -0
  123. package/dist/types/views/pageCompositionDragPayload.d.ts +26 -0
  124. package/dist/types/views/pageCompositionMode.d.ts +86 -0
  125. package/dist/types/views/pageCompositionPlacement.d.ts +48 -0
  126. package/dist/types/views/pageCompositionTransport.d.ts +9 -0
  127. package/dist/types/views/roleGrantClient.d.ts +8 -5
  128. package/dist/types/views/usePageCompositionActionPreviewDrag.d.ts +41 -0
  129. package/dist/types/views/usePageCompositionPreviewDrag.d.ts +48 -0
  130. package/dist/types/vue-ui-antdv/components/UiActionButton.vue.d.ts +2 -2
  131. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +6 -3
  132. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +5 -2
  133. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  134. package/dist/types/vue-ui-antdv/components/UiPopover.vue.d.ts +22 -0
  135. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +1 -1
  136. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +5 -1
  137. package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +1 -1
  138. package/dist/types/vue-ui-antdv/components/UiTable.vue.d.ts +1 -0
  139. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +38 -1
  140. package/dist/types/vue-ui-antdv/components/UiTokenInput.vue.d.ts +62 -0
  141. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +76 -3
  142. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
  143. package/dist/types/vue-ui-antdv/index.d.ts +6 -1
  144. package/dist/types/vue-ui-antdv/treeStructure.d.ts +18 -0
  145. package/dist/types/vue-ui-antdv/types.d.ts +70 -0
  146. package/dist/types/vue-ui-antdv/useTreeLoader.d.ts +21 -0
  147. package/dist/types/vue-ui-antdv/useTreeMotion.d.ts +9 -0
  148. package/dist/types/vue-ui-antdv/useUiTreeDrag.d.ts +32 -0
  149. package/dist/types/web-contracts/index.d.ts +75 -8
  150. package/dist/types/web-core/module/index.d.ts +1 -0
  151. package/dist/types/web-core/module/moduleContext.d.ts +15 -0
  152. package/dist/types/web-core/module/pageActionEntries.d.ts +21 -0
  153. package/dist/types/web-core/module/runtimeContext.d.ts +7 -3
  154. package/dist/types/web-core/module/staticModuleClient.d.ts +29 -6
  155. package/dist/workspaceViews-DI_1vYX9.js +3518 -0
  156. package/package.json +1 -1
  157. package/dist/MetadataOrchestrationView-BhtVwJII.js +0 -661
  158. package/dist/ModuleActionManagementView-DpZS-xAD.js +0 -597
  159. package/dist/RoleAuthorizationView-8lilhtMB.js +0 -646
  160. package/dist/RoleDetailWorkspaceView-CFha6JHn.js +0 -26
  161. package/dist/RoleManagementView-0_KDrzgh.js +0 -1948
  162. package/dist/platform-components-oRIsIoxu.js +0 -12371
  163. package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +0 -39
  164. package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +0 -5
  165. package/dist/types/views/UserDetailContent.vue.d.ts +0 -32
  166. package/dist/types/views/UserManagementListView.vue.d.ts +0 -3
  167. package/dist/types/views/UserManagementView.vue.d.ts +0 -3
  168. package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +0 -6
  169. package/dist/types/views/useUserSessionRows.d.ts +0 -28
  170. package/dist/types/views/userDetailStateModel.d.ts +0 -9
  171. package/dist/types/views/userManagementRouteState.d.ts +0 -11
  172. package/dist/workspaceViews-D-RiJ64o.js +0 -9078
@@ -1,7 +1,7 @@
1
1
  import type { FieldSpec, Metadata, MetadataField, ModuleMetadataRelation } from '../web-contracts/index';
2
2
  import type { RecordExplorerItemDescriptor } from '../platform-components/recordExplorerItemModel';
3
3
  /** Editor lifecycle of the metadata orchestration workspace. */
4
- export type MetadataOrchestrationMode = 'view' | 'create-main' | 'create-field' | 'edit-field';
4
+ export type MetadataOrchestrationMode = 'view' | 'create-main' | 'create-field' | 'create-reference-field' | 'create-dictionary-field' | 'edit-field';
5
5
  export interface MainMetadataDraft {
6
6
  alias: string;
7
7
  title: string;
@@ -10,6 +10,52 @@ export interface MainMetadataDraft {
10
10
  dataScopeEnabled: boolean;
11
11
  }
12
12
  export type MetadataFieldDraft = Partial<MetadataField>;
13
+ /**
14
+ * A field's business property is distinct from its physical field specification. For example,
15
+ * a reference can still use a short-text column to store a target key.
16
+ */
17
+ export type MetadataFieldPropertyKind = 'BASIC' | 'MODULE_REFERENCE' | 'DICTIONARY' | 'LEGACY_LOCKED';
18
+ export interface MetadataFieldReferencePropertyConfig {
19
+ targetModuleAlias?: string;
20
+ targetMetadataId?: string;
21
+ targetKeyField?: string;
22
+ targetLabelField?: string;
23
+ cardinality?: 'ONE' | 'MANY';
24
+ targetUnavailablePolicy?: 'PRESERVE_HISTORY' | 'RESTRICT' | 'CASCADE_DELETE';
25
+ projectionMappings?: string[];
26
+ }
27
+ export interface MetadataFieldDictionaryPropertyConfig {
28
+ dictionaryApplicationAlias?: string;
29
+ dictionaryCategoryAlias?: string;
30
+ selectionMode?: 'SINGLE' | 'MULTIPLE';
31
+ }
32
+ /**
33
+ * The platform field-spec catalog owns these stable storage shapes. A property editor must
34
+ * select a legal shape rather than exposing every scalar type as a possible reference/dictionary
35
+ * backing store.
36
+ */
37
+ export declare function storageFieldSpecAliasOf(kind: MetadataFieldPropertyKind, selectionMode?: MetadataFieldDictionaryPropertyConfig['selectionMode']): string | undefined;
38
+ export interface MetadataFieldPropertyDraft {
39
+ kind: MetadataFieldPropertyKind;
40
+ expectedBindingVersion?: number;
41
+ referenceConfig?: MetadataFieldReferencePropertyConfig;
42
+ dictionaryConfig?: MetadataFieldDictionaryPropertyConfig;
43
+ }
44
+ /** Relation-scoped property facts supplied by the module-governance read model. */
45
+ export interface MetadataFieldPropertySummary extends MetadataFieldPropertyDraft {
46
+ fieldId?: string;
47
+ fieldName?: string;
48
+ fieldSpecAlias?: string;
49
+ bindingVersion?: number;
50
+ legacyReason?: string;
51
+ /** Transport shape of the relation-scoped property summary. */
52
+ reference?: MetadataFieldReferencePropertyConfig;
53
+ dictionary?: {
54
+ applicationAlias?: string;
55
+ categoryAlias?: string;
56
+ selectionMode?: 'SINGLE' | 'MULTIPLE';
57
+ };
58
+ }
13
59
  export interface FieldSpecOption {
14
60
  value: string;
15
61
  label: string;
@@ -19,7 +65,7 @@ export declare function createMetadataOrchestrationState(): {
19
65
  moduleAlias?: string | undefined;
20
66
  metadataId?: string | undefined;
21
67
  relationAlias?: string | undefined;
22
- relationRole?: "MAIN" | "CHILD" | undefined;
68
+ relationRole?: "main" | "child" | "MAIN" | "CHILD" | undefined;
23
69
  parentMetadataId?: string | undefined;
24
70
  foreignKey?: string | undefined;
25
71
  autoPopulate?: boolean | undefined;
@@ -38,7 +84,7 @@ export declare function createMetadataOrchestrationState(): {
38
84
  moduleAlias?: string | undefined;
39
85
  metadataId?: string | undefined;
40
86
  relationAlias?: string | undefined;
41
- relationRole?: "MAIN" | "CHILD" | undefined;
87
+ relationRole?: "main" | "child" | "MAIN" | "CHILD" | undefined;
42
88
  parentMetadataId?: string | undefined;
43
89
  foreignKey?: string | undefined;
44
90
  autoPopulate?: boolean | undefined;
@@ -111,6 +157,61 @@ export declare function createMetadataOrchestrationState(): {
111
157
  updatedBy?: string | undefined;
112
158
  updatedAt?: string | undefined;
113
159
  }[]>;
160
+ allFields: import("vue").Ref<{
161
+ metadataId?: string | undefined;
162
+ fieldName?: string | undefined;
163
+ columnName?: string | undefined;
164
+ fieldSpecAlias?: string | undefined;
165
+ fieldOwnership?: string | undefined;
166
+ fieldForm?: string | undefined;
167
+ ownerFieldId?: string | undefined;
168
+ fieldRole?: string | undefined;
169
+ systemManaged?: boolean | undefined;
170
+ required?: boolean | undefined;
171
+ uniqueField?: boolean | undefined;
172
+ indexed?: boolean | undefined;
173
+ sortableField?: boolean | undefined;
174
+ titleField?: boolean | undefined;
175
+ enabled?: boolean | undefined;
176
+ sortOrder?: number | undefined;
177
+ title?: string | undefined;
178
+ id?: string | undefined;
179
+ tenantId?: string | undefined;
180
+ version?: number | undefined;
181
+ deleted?: boolean | undefined;
182
+ deletedAt?: string | undefined;
183
+ createdBy?: string | undefined;
184
+ createdAt?: string | undefined;
185
+ updatedBy?: string | undefined;
186
+ updatedAt?: string | undefined;
187
+ }[], MetadataField[] | {
188
+ metadataId?: string | undefined;
189
+ fieldName?: string | undefined;
190
+ columnName?: string | undefined;
191
+ fieldSpecAlias?: string | undefined;
192
+ fieldOwnership?: string | undefined;
193
+ fieldForm?: string | undefined;
194
+ ownerFieldId?: string | undefined;
195
+ fieldRole?: string | undefined;
196
+ systemManaged?: boolean | undefined;
197
+ required?: boolean | undefined;
198
+ uniqueField?: boolean | undefined;
199
+ indexed?: boolean | undefined;
200
+ sortableField?: boolean | undefined;
201
+ titleField?: boolean | undefined;
202
+ enabled?: boolean | undefined;
203
+ sortOrder?: number | undefined;
204
+ title?: string | undefined;
205
+ id?: string | undefined;
206
+ tenantId?: string | undefined;
207
+ version?: number | undefined;
208
+ deleted?: boolean | undefined;
209
+ deletedAt?: string | undefined;
210
+ createdBy?: string | undefined;
211
+ createdAt?: string | undefined;
212
+ updatedBy?: string | undefined;
213
+ updatedAt?: string | undefined;
214
+ }[]>;
114
215
  fieldSpecs: import("vue").Ref<{
115
216
  alias?: string | undefined;
116
217
  fieldType?: string | undefined;
@@ -121,6 +222,7 @@ export declare function createMetadataOrchestrationState(): {
121
222
  queryOperators?: string[] | undefined;
122
223
  defaultUiControlAlias?: string | undefined;
123
224
  uiControlAliases?: string[] | undefined;
225
+ safeTargetFieldSpecAliases?: string[] | undefined;
124
226
  enabled?: boolean | undefined;
125
227
  sortOrder?: number | undefined;
126
228
  title?: string | undefined;
@@ -143,6 +245,7 @@ export declare function createMetadataOrchestrationState(): {
143
245
  queryOperators?: string[] | undefined;
144
246
  defaultUiControlAlias?: string | undefined;
145
247
  uiControlAliases?: string[] | undefined;
248
+ safeTargetFieldSpecAliases?: string[] | undefined;
146
249
  enabled?: boolean | undefined;
147
250
  sortOrder?: number | undefined;
148
251
  title?: string | undefined;
@@ -225,11 +328,46 @@ export declare function createMetadataOrchestrationState(): {
225
328
  updatedBy?: string | undefined;
226
329
  updatedAt?: string | undefined;
227
330
  }>;
331
+ fieldPropertyDraft: import("vue").Ref<{
332
+ kind: MetadataFieldPropertyKind;
333
+ expectedBindingVersion?: number | undefined;
334
+ referenceConfig?: {
335
+ targetModuleAlias?: string | undefined;
336
+ targetMetadataId?: string | undefined;
337
+ targetKeyField?: string | undefined;
338
+ targetLabelField?: string | undefined;
339
+ cardinality?: "ONE" | "MANY" | undefined;
340
+ targetUnavailablePolicy?: "PRESERVE_HISTORY" | "RESTRICT" | "CASCADE_DELETE" | undefined;
341
+ projectionMappings?: string[] | undefined;
342
+ } | undefined;
343
+ dictionaryConfig?: {
344
+ dictionaryApplicationAlias?: string | undefined;
345
+ dictionaryCategoryAlias?: string | undefined;
346
+ selectionMode?: "SINGLE" | "MULTIPLE" | undefined;
347
+ } | undefined;
348
+ }, MetadataFieldPropertyDraft | {
349
+ kind: MetadataFieldPropertyKind;
350
+ expectedBindingVersion?: number | undefined;
351
+ referenceConfig?: {
352
+ targetModuleAlias?: string | undefined;
353
+ targetMetadataId?: string | undefined;
354
+ targetKeyField?: string | undefined;
355
+ targetLabelField?: string | undefined;
356
+ cardinality?: "ONE" | "MANY" | undefined;
357
+ targetUnavailablePolicy?: "PRESERVE_HISTORY" | "RESTRICT" | "CASCADE_DELETE" | undefined;
358
+ projectionMappings?: string[] | undefined;
359
+ } | undefined;
360
+ dictionaryConfig?: {
361
+ dictionaryApplicationAlias?: string | undefined;
362
+ dictionaryCategoryAlias?: string | undefined;
363
+ selectionMode?: "SINGLE" | "MULTIPLE" | undefined;
364
+ } | undefined;
365
+ }>;
228
366
  selectedRelation: import("vue").ComputedRef<{
229
367
  moduleAlias?: string | undefined;
230
368
  metadataId?: string | undefined;
231
369
  relationAlias?: string | undefined;
232
- relationRole?: "MAIN" | "CHILD" | undefined;
370
+ relationRole?: "main" | "child" | "MAIN" | "CHILD" | undefined;
233
371
  parentMetadataId?: string | undefined;
234
372
  foreignKey?: string | undefined;
235
373
  autoPopulate?: boolean | undefined;
@@ -257,8 +395,9 @@ export declare function createMetadataOrchestrationState(): {
257
395
  selectRelation: (relation: ModuleMetadataRelation) => boolean;
258
396
  focusRelation: (relationId: string | undefined) => void;
259
397
  startCreateMain: () => void;
260
- startCreateField: () => void;
261
- startEditField: (field: MetadataField) => void;
398
+ startCreateField: (kind?: MetadataFieldPropertyKind) => void;
399
+ startEditField: (field: MetadataField, property?: MetadataFieldPropertyDraft) => void;
400
+ startConfigureFieldProperty: (field: MetadataField, kind: Exclude<MetadataFieldPropertyKind, "BASIC" | "LEGACY_LOCKED">) => void;
262
401
  cancelEditor: () => void;
263
402
  };
264
403
  export type MetadataOrchestrationState = ReturnType<typeof createMetadataOrchestrationState>;
@@ -266,13 +405,29 @@ export declare function emptyMainMetadataDraft(): MainMetadataDraft;
266
405
  export declare function normalizeMainMetadataDraft(draft: MainMetadataDraft): MainMetadataDraft;
267
406
  export declare function isValidMainMetadataDraft(draft: MainMetadataDraft): boolean;
268
407
  export declare function emptyFieldDraft(): MetadataFieldDraft;
408
+ export declare function emptyFieldPropertyDraft(kind: MetadataFieldPropertyKind): MetadataFieldPropertyDraft;
409
+ export declare function copyFieldPropertyDraft(property: MetadataFieldPropertyDraft): MetadataFieldPropertyDraft;
410
+ /** Converts the read-model's concise bindings into the draft contract accepted by change sets. */
411
+ export declare function propertyDraftFromSummary(summary: MetadataFieldPropertySummary): MetadataFieldPropertyDraft;
269
412
  export declare function copyMetadataField(field: MetadataField): MetadataFieldDraft;
270
413
  export declare function isValidFieldDraft(draft: MetadataFieldDraft): boolean;
271
414
  export declare function normalizeFieldDraft(draft: MetadataFieldDraft): MetadataFieldDraft;
415
+ export declare function normalizeFieldPropertyDraft(property: MetadataFieldPropertyDraft): MetadataFieldPropertyDraft;
416
+ export declare function isValidFieldPropertyDraft(property: MetadataFieldPropertyDraft): boolean;
417
+ export declare function metadataFieldPropertyLabel(kind: MetadataFieldPropertyKind): string;
418
+ export declare function metadataFieldPropertySummary(property: MetadataFieldPropertyDraft): string;
272
419
  /** Only business-owned physical fields are orchestrated; platform-managed fields stay hidden. */
273
420
  export declare function orchestratableFields(fields: MetadataField[]): MetadataField[];
421
+ /** Only these field facts may be changed through the metadata field editor. */
422
+ export declare function isOrchestratableField(field: MetadataField): boolean;
274
423
  export declare function fieldSpecOptionListOf(specs: FieldSpec[]): FieldSpecOption[];
424
+ /** Filters a populated entity to the source specification's server-declared safe targets. */
425
+ export declare function dataSafeFieldSpecOptions(specs: FieldSpec[], currentAlias?: string): FieldSpecOption[];
426
+ /** Use the catalog title for human-facing metadata surfaces; aliases remain stable machine identities. */
427
+ export declare function fieldSpecDisplayLabel(fieldSpecAlias: string | undefined, specs: FieldSpec[]): string;
275
428
  export declare function entityTitleOf(relation: ModuleMetadataRelation, metadata: Metadata | undefined): string;
276
429
  export declare function relationRoleTag(role: ModuleMetadataRelation['relationRole']): string | undefined;
430
+ /** Java code enums are serialized by their stable lower-case code in runtime responses. */
431
+ export declare function isMainRelation(role: ModuleMetadataRelation['relationRole'] | undefined): boolean;
277
432
  export declare function entityExplorerItem(relation: ModuleMetadataRelation, metadata: Metadata | undefined): RecordExplorerItemDescriptor;
278
433
  export declare function metadataSubtitleOf(metadata: Metadata | undefined): string | undefined;
@@ -0,0 +1,10 @@
1
+ import type { UiTreeNode } from '../vue-ui-antdv/index';
2
+ /** Shared metadata presentation; consumers supply actions and capability restrictions. */
3
+ export declare function metadataSourceFieldNode(field: {
4
+ title: string;
5
+ fieldName: string;
6
+ platformReadOnly?: boolean;
7
+ referenceModuleAlias?: string;
8
+ expandable?: boolean;
9
+ }, options: Pick<UiTreeNode, 'key'> & Partial<UiTreeNode>): UiTreeNode;
10
+ export declare function metadataSourceRoot(title: string, children: UiTreeNode[]): UiTreeNode;
@@ -0,0 +1,9 @@
1
+ export declare const moduleGovernanceTabs: readonly ["overview", "metadata", "actions", "rules", "ui", "preview"];
2
+ export type ModuleGovernanceTab = (typeof moduleGovernanceTabs)[number];
3
+ export interface ModuleGovernanceWorkspaceViewInput {
4
+ moduleAlias: string;
5
+ moduleTitle?: string;
6
+ governanceTab?: ModuleGovernanceTab;
7
+ }
8
+ /** The module-scoped home for configuration governance surfaces. */
9
+ export declare const moduleGovernanceWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<ModuleGovernanceWorkspaceViewInput>;
@@ -0,0 +1,375 @@
1
+ export type PageComposerSlot = 'list' | 'form';
2
+ /** Runtime states, not independent configuration slots. management v1 still owns only list/form. */
3
+ export type PageComposerPreviewMode = 'list' | 'query' | 'detail' | 'edit';
4
+ export interface PageComposerField {
5
+ id: string;
6
+ title: string;
7
+ fieldName: string;
8
+ /** Editor-only source diagnostic; never serialized into the page declaration. */
9
+ unavailable?: boolean;
10
+ fieldSpecAlias?: string;
11
+ required?: boolean;
12
+ /** Source visibility only; never serialized into the page declaration. */
13
+ systemManaged?: boolean;
14
+ platformReadOnly?: boolean;
15
+ referenceModuleAlias?: string;
16
+ /** A derived path through a ONE reference is display-only by platform contract. */
17
+ referenceCardinality?: 'ONE' | 'MANY';
18
+ expandable?: boolean;
19
+ /** Page-node presentation only; metadata field facts are never copied or edited here. */
20
+ properties?: PageComposerFieldProperties;
21
+ }
22
+ export interface PageComposerFieldProperties {
23
+ label?: string;
24
+ width?: string;
25
+ align?: 'left' | 'center' | 'right';
26
+ columnSpan?: 1 | 2;
27
+ readOnly?: boolean;
28
+ }
29
+ export type PageQuerySummarySource = 'MATCHED_COUNT' | 'SUM' | 'CONTRIBUTOR' | 'GROUPED';
30
+ /** A list footer aggregate. Keys are editor-generated and stable across title changes. */
31
+ export interface PageQuerySummary {
32
+ key: string;
33
+ label: string;
34
+ source: PageQuerySummarySource;
35
+ fieldName?: string;
36
+ contributorKey?: string;
37
+ groupByField?: string;
38
+ }
39
+ /** The catalogue is presentation-only source data; it is never persisted into the page draft. */
40
+ export interface PageQuerySummaryCatalogTitles {
41
+ fields?: ReadonlyArray<{
42
+ fieldName: string;
43
+ title: string;
44
+ }>;
45
+ contributors?: ReadonlyArray<{
46
+ contributorKey: string;
47
+ title: string;
48
+ }>;
49
+ groupFields?: ReadonlyArray<{
50
+ fieldName: string;
51
+ title: string;
52
+ }>;
53
+ }
54
+ /** A concise, business-facing explanation for the tree and the summary editor. */
55
+ export declare function pageQuerySummaryDescription(summary: PageQuerySummary, catalog?: PageQuerySummaryCatalogTitles): string;
56
+ /** Default titles follow a user-selected source while a custom title remains the user's intent. */
57
+ export declare function defaultPageQuerySummaryLabel(summary: PageQuerySummary, catalog?: PageQuerySummaryCatalogTitles): string;
58
+ export declare function hasDefaultPageQuerySummaryLabel(summary: PageQuerySummary, catalog?: PageQuerySummaryCatalogTitles): boolean;
59
+ /** A direct child relation placed as an association-list component in the detail slot. */
60
+ export interface PageComposerRelation {
61
+ id: string;
62
+ relationCode: string;
63
+ unavailable?: boolean;
64
+ title: string;
65
+ /** The child-list projection is explicit: unplaced child fields do not appear at runtime. */
66
+ fields: PageComposerField[];
67
+ }
68
+ /** A standard runtime FormGroup: only its explicitly placed fields are rendered inside it. */
69
+ export interface PageComposerGroup {
70
+ id: string;
71
+ groupCode: string;
72
+ title: string;
73
+ subtitle?: string;
74
+ fields: PageComposerField[];
75
+ }
76
+ export interface PageComposerNode {
77
+ id: string;
78
+ kind: 'slot' | 'template' | 'field' | 'group' | 'groupField' | 'relation' | 'relationField';
79
+ title: string;
80
+ slot: PageComposerSlot;
81
+ field?: PageComposerField;
82
+ relation?: PageComposerRelation;
83
+ relationField?: PageComposerField;
84
+ group?: PageComposerGroup;
85
+ }
86
+ export type PageComposerFormItem = {
87
+ kind: 'field' | 'group';
88
+ id: string;
89
+ };
90
+ export type ManagementFormOrder = Array<{
91
+ field: string;
92
+ } | {
93
+ group: string;
94
+ }>;
95
+ /** Complete order, with legacy drafts defaulting to fields followed by groups. */
96
+ export declare function orderedFormItems(form: PageComposerField[], groups: PageComposerGroup[], order?: PageComposerFormItem[]): PageComposerFormItem[];
97
+ export interface ManagementUiTree {
98
+ template: 'management';
99
+ templateVersion: 1;
100
+ props?: {
101
+ list?: {
102
+ searchPlaceholder: string;
103
+ };
104
+ };
105
+ querySummaries?: PageQuerySummary[];
106
+ nodes: Array<{
107
+ slot: PageComposerSlot;
108
+ title: string;
109
+ fields: Array<string | {
110
+ field: string;
111
+ props: PageComposerFieldProperties;
112
+ }>;
113
+ order?: ManagementFormOrder;
114
+ relations?: Array<{
115
+ relation: string;
116
+ title: string;
117
+ fields?: Array<string | {
118
+ field: string;
119
+ props: PageComposerFieldProperties;
120
+ }>;
121
+ }>;
122
+ groups?: Array<{
123
+ group: string;
124
+ title: string;
125
+ subtitle?: string;
126
+ fields: Array<string | {
127
+ field: string;
128
+ props: PageComposerFieldProperties;
129
+ }>;
130
+ }>;
131
+ }>;
132
+ }
133
+ /**
134
+ * The editor deliberately owns a small, serialisable draft. It is the
135
+ * PageDefinition / PresentationRevision editing model rather than a
136
+ * projection of another configuration aggregate.
137
+ */
138
+ export declare function createPageCompositionDraftState(): {
139
+ listFields: import("vue").Ref<{
140
+ id: string;
141
+ title: string;
142
+ fieldName: string;
143
+ unavailable?: boolean | undefined;
144
+ fieldSpecAlias?: string | undefined;
145
+ required?: boolean | undefined;
146
+ systemManaged?: boolean | undefined;
147
+ platformReadOnly?: boolean | undefined;
148
+ referenceModuleAlias?: string | undefined;
149
+ referenceCardinality?: "ONE" | "MANY" | undefined;
150
+ expandable?: boolean | undefined;
151
+ properties?: {
152
+ label?: string | undefined;
153
+ width?: string | undefined;
154
+ align?: "left" | "center" | "right" | undefined;
155
+ columnSpan?: 1 | 2 | undefined;
156
+ readOnly?: boolean | undefined;
157
+ } | undefined;
158
+ }[], PageComposerField[] | {
159
+ id: string;
160
+ title: string;
161
+ fieldName: string;
162
+ unavailable?: boolean | undefined;
163
+ fieldSpecAlias?: string | undefined;
164
+ required?: boolean | undefined;
165
+ systemManaged?: boolean | undefined;
166
+ platformReadOnly?: boolean | undefined;
167
+ referenceModuleAlias?: string | undefined;
168
+ referenceCardinality?: "ONE" | "MANY" | undefined;
169
+ expandable?: boolean | undefined;
170
+ properties?: {
171
+ label?: string | undefined;
172
+ width?: string | undefined;
173
+ align?: "left" | "center" | "right" | undefined;
174
+ columnSpan?: 1 | 2 | undefined;
175
+ readOnly?: boolean | undefined;
176
+ } | undefined;
177
+ }[]>;
178
+ formFields: import("vue").Ref<{
179
+ id: string;
180
+ title: string;
181
+ fieldName: string;
182
+ unavailable?: boolean | undefined;
183
+ fieldSpecAlias?: string | undefined;
184
+ required?: boolean | undefined;
185
+ systemManaged?: boolean | undefined;
186
+ platformReadOnly?: boolean | undefined;
187
+ referenceModuleAlias?: string | undefined;
188
+ referenceCardinality?: "ONE" | "MANY" | undefined;
189
+ expandable?: boolean | undefined;
190
+ properties?: {
191
+ label?: string | undefined;
192
+ width?: string | undefined;
193
+ align?: "left" | "center" | "right" | undefined;
194
+ columnSpan?: 1 | 2 | undefined;
195
+ readOnly?: boolean | undefined;
196
+ } | undefined;
197
+ }[], PageComposerField[] | {
198
+ id: string;
199
+ title: string;
200
+ fieldName: string;
201
+ unavailable?: boolean | undefined;
202
+ fieldSpecAlias?: string | undefined;
203
+ required?: boolean | undefined;
204
+ systemManaged?: boolean | undefined;
205
+ platformReadOnly?: boolean | undefined;
206
+ referenceModuleAlias?: string | undefined;
207
+ referenceCardinality?: "ONE" | "MANY" | undefined;
208
+ expandable?: boolean | undefined;
209
+ properties?: {
210
+ label?: string | undefined;
211
+ width?: string | undefined;
212
+ align?: "left" | "center" | "right" | undefined;
213
+ columnSpan?: 1 | 2 | undefined;
214
+ readOnly?: boolean | undefined;
215
+ } | undefined;
216
+ }[]>;
217
+ formRelations: import("vue").Ref<{
218
+ id: string;
219
+ relationCode: string;
220
+ unavailable?: boolean | undefined;
221
+ title: string;
222
+ fields: {
223
+ id: string;
224
+ title: string;
225
+ fieldName: string;
226
+ unavailable?: boolean | undefined;
227
+ fieldSpecAlias?: string | undefined;
228
+ required?: boolean | undefined;
229
+ systemManaged?: boolean | undefined;
230
+ platformReadOnly?: boolean | undefined;
231
+ referenceModuleAlias?: string | undefined;
232
+ referenceCardinality?: "ONE" | "MANY" | undefined;
233
+ expandable?: boolean | undefined;
234
+ properties?: {
235
+ label?: string | undefined;
236
+ width?: string | undefined;
237
+ align?: "left" | "center" | "right" | undefined;
238
+ columnSpan?: 1 | 2 | undefined;
239
+ readOnly?: boolean | undefined;
240
+ } | undefined;
241
+ }[];
242
+ }[], PageComposerRelation[] | {
243
+ id: string;
244
+ relationCode: string;
245
+ unavailable?: boolean | undefined;
246
+ title: string;
247
+ fields: {
248
+ id: string;
249
+ title: string;
250
+ fieldName: string;
251
+ unavailable?: boolean | undefined;
252
+ fieldSpecAlias?: string | undefined;
253
+ required?: boolean | undefined;
254
+ systemManaged?: boolean | undefined;
255
+ platformReadOnly?: boolean | undefined;
256
+ referenceModuleAlias?: string | undefined;
257
+ referenceCardinality?: "ONE" | "MANY" | undefined;
258
+ expandable?: boolean | undefined;
259
+ properties?: {
260
+ label?: string | undefined;
261
+ width?: string | undefined;
262
+ align?: "left" | "center" | "right" | undefined;
263
+ columnSpan?: 1 | 2 | undefined;
264
+ readOnly?: boolean | undefined;
265
+ } | undefined;
266
+ }[];
267
+ }[]>;
268
+ formGroups: import("vue").Ref<{
269
+ id: string;
270
+ groupCode: string;
271
+ title: string;
272
+ subtitle?: string | undefined;
273
+ fields: {
274
+ id: string;
275
+ title: string;
276
+ fieldName: string;
277
+ unavailable?: boolean | undefined;
278
+ fieldSpecAlias?: string | undefined;
279
+ required?: boolean | undefined;
280
+ systemManaged?: boolean | undefined;
281
+ platformReadOnly?: boolean | undefined;
282
+ referenceModuleAlias?: string | undefined;
283
+ referenceCardinality?: "ONE" | "MANY" | undefined;
284
+ expandable?: boolean | undefined;
285
+ properties?: {
286
+ label?: string | undefined;
287
+ width?: string | undefined;
288
+ align?: "left" | "center" | "right" | undefined;
289
+ columnSpan?: 1 | 2 | undefined;
290
+ readOnly?: boolean | undefined;
291
+ } | undefined;
292
+ }[];
293
+ }[], PageComposerGroup[] | {
294
+ id: string;
295
+ groupCode: string;
296
+ title: string;
297
+ subtitle?: string | undefined;
298
+ fields: {
299
+ id: string;
300
+ title: string;
301
+ fieldName: string;
302
+ unavailable?: boolean | undefined;
303
+ fieldSpecAlias?: string | undefined;
304
+ required?: boolean | undefined;
305
+ systemManaged?: boolean | undefined;
306
+ platformReadOnly?: boolean | undefined;
307
+ referenceModuleAlias?: string | undefined;
308
+ referenceCardinality?: "ONE" | "MANY" | undefined;
309
+ expandable?: boolean | undefined;
310
+ properties?: {
311
+ label?: string | undefined;
312
+ width?: string | undefined;
313
+ align?: "left" | "center" | "right" | undefined;
314
+ columnSpan?: 1 | 2 | undefined;
315
+ readOnly?: boolean | undefined;
316
+ } | undefined;
317
+ }[];
318
+ }[]>;
319
+ formOrder: import("vue").Ref<{
320
+ kind: "field" | "group";
321
+ id: string;
322
+ }[], PageComposerFormItem[] | {
323
+ kind: "field" | "group";
324
+ id: string;
325
+ }[]>;
326
+ querySummaries: import("vue").Ref<{
327
+ key: string;
328
+ label: string;
329
+ source: PageQuerySummarySource;
330
+ fieldName?: string | undefined;
331
+ contributorKey?: string | undefined;
332
+ groupByField?: string | undefined;
333
+ }[], PageQuerySummary[] | {
334
+ key: string;
335
+ label: string;
336
+ source: PageQuerySummarySource;
337
+ fieldName?: string | undefined;
338
+ contributorKey?: string | undefined;
339
+ groupByField?: string | undefined;
340
+ }[]>;
341
+ orderedForm: import("vue").ComputedRef<PageComposerFormItem[]>;
342
+ quickSearchPlaceholder: import("vue").Ref<string | undefined, string | undefined>;
343
+ nodes: import("vue").ComputedRef<PageComposerNode[]>;
344
+ selectedNodeId: import("vue").Ref<string | undefined, string | undefined>;
345
+ selectedNode: import("vue").ComputedRef<PageComposerNode | undefined>;
346
+ previewMode: import("vue").Ref<PageComposerPreviewMode, PageComposerPreviewMode>;
347
+ addField: (field: PageComposerField, slot?: PageComposerSlot, targetIndex?: number) => void;
348
+ addFormRelation: (relation: PageComposerRelation) => void;
349
+ addFormGroup: () => void;
350
+ moveFormFieldToGroup: (fieldId: string, groupId: string, targetIndex?: number) => void;
351
+ moveGroupFieldToForm: (groupId: string, fieldId: string, targetIndex?: number) => void;
352
+ moveGroupField: (groupId: string, fieldId: string, targetIndex?: number) => void;
353
+ moveGroupFieldToGroup: (sourceGroupId: string, fieldId: string, targetGroupId: string, targetIndex?: number) => void;
354
+ updateFormGroup: (groupId: string, title: string, subtitle?: string) => void;
355
+ moveFormGroup: (groupId: string, targetIndex?: number) => void;
356
+ moveFormRelation: (relationId: string, targetIndex: number) => void;
357
+ addFormRelationField: (relation: PageComposerRelation, field: PageComposerField) => void;
358
+ moveFormRelationField: (relationId: string, fieldId: string, targetIndex?: number) => void;
359
+ removeSelectedField: () => void;
360
+ moveSelectedField: (offset: -1 | 1) => void;
361
+ moveField: (fieldId: string, from: PageComposerSlot, to: PageComposerSlot, targetIndex?: number) => void;
362
+ selectNode: (node: PageComposerNode) => void;
363
+ updateSelectedFieldProperties: (properties: PageComposerFieldProperties) => void;
364
+ updateQuickSearchPlaceholder: (value: string | undefined) => void;
365
+ replaceQuerySummaries: (summaries: readonly PageQuerySummary[]) => void;
366
+ replaceFields: (next: {
367
+ list: PageComposerField[];
368
+ form: PageComposerField[];
369
+ relations?: PageComposerRelation[];
370
+ groups?: PageComposerGroup[];
371
+ order?: PageComposerFormItem[];
372
+ }) => void;
373
+ normalizeFormFieldPlacements: () => boolean;
374
+ toManagementUiTree: (titles?: Partial<Record<PageComposerSlot, string>>) => ManagementUiTree;
375
+ };
@@ -0,0 +1,26 @@
1
+ export declare const PAGE_COMPOSITION_DRAG_PAYLOAD_TYPE = "application/x-muyun-page-composer";
2
+ export type MetadataDragPayload = {
3
+ kind: 'field';
4
+ fieldId: string;
5
+ /** Ephemeral preview facts; placement persistence still resolves by fieldId only. */
6
+ fieldName?: string;
7
+ title?: string;
8
+ fieldSpecAlias?: string;
9
+ required?: boolean;
10
+ readOnly?: boolean;
11
+ } | {
12
+ kind: 'relation';
13
+ relationId: string;
14
+ } | {
15
+ kind: 'relationField';
16
+ relationId: string;
17
+ fieldId: string;
18
+ };
19
+ /** A module action is a source fact, distinct from metadata fields and relations. */
20
+ export type ModuleActionDragPayload = {
21
+ kind: 'action';
22
+ actionCode: string;
23
+ };
24
+ export type PageCompositionDragPayload = MetadataDragPayload | ModuleActionDragPayload;
25
+ export declare function parseMetadataDragPayload(payload: unknown): MetadataDragPayload | undefined;
26
+ export declare function parsePageCompositionDragPayload(payload: unknown): PageCompositionDragPayload | undefined;