@sparqjs/schema-designer 0.1.0

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 (167) hide show
  1. package/README.md +40 -0
  2. package/dist/app/root.d.ts +63 -0
  3. package/dist/app/root.d.ts.map +1 -0
  4. package/dist/app/toolbar.d.ts +36 -0
  5. package/dist/app/toolbar.d.ts.map +1 -0
  6. package/dist/canvas/adapter.d.ts +47 -0
  7. package/dist/canvas/adapter.d.ts.map +1 -0
  8. package/dist/canvas/canvas.d.ts +20 -0
  9. package/dist/canvas/canvas.d.ts.map +1 -0
  10. package/dist/canvas/node-frame.d.ts +121 -0
  11. package/dist/canvas/node-frame.d.ts.map +1 -0
  12. package/dist/canvas/sortable-list.d.ts +44 -0
  13. package/dist/canvas/sortable-list.d.ts.map +1 -0
  14. package/dist/dialogs/dialogs.d.ts +58 -0
  15. package/dist/dialogs/dialogs.d.ts.map +1 -0
  16. package/dist/dialogs/resource-tree-model.d.ts +62 -0
  17. package/dist/dialogs/resource-tree-model.d.ts.map +1 -0
  18. package/dist/extensions/context.d.ts +76 -0
  19. package/dist/extensions/context.d.ts.map +1 -0
  20. package/dist/extensions/instance.d.ts +56 -0
  21. package/dist/extensions/instance.d.ts.map +1 -0
  22. package/dist/extensions/material.d.ts +49 -0
  23. package/dist/extensions/material.d.ts.map +1 -0
  24. package/dist/index.d.ts +14 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +10190 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/inspector/boolean-checkbox.d.ts +26 -0
  29. package/dist/inspector/boolean-checkbox.d.ts.map +1 -0
  30. package/dist/inspector/capabilities/adapters.d.ts +16 -0
  31. package/dist/inspector/capabilities/adapters.d.ts.map +1 -0
  32. package/dist/inspector/capabilities/cards/color-palette.d.ts +4 -0
  33. package/dist/inspector/capabilities/cards/color-palette.d.ts.map +1 -0
  34. package/dist/inspector/capabilities/cards/component-settings.d.ts +8 -0
  35. package/dist/inspector/capabilities/cards/component-settings.d.ts.map +1 -0
  36. package/dist/inspector/capabilities/cards/input-slots.d.ts +4 -0
  37. package/dist/inspector/capabilities/cards/input-slots.d.ts.map +1 -0
  38. package/dist/inspector/capabilities/cards/interaction-rules.d.ts +4 -0
  39. package/dist/inspector/capabilities/cards/interaction-rules.d.ts.map +1 -0
  40. package/dist/inspector/capabilities/cards/option-source.d.ts +4 -0
  41. package/dist/inspector/capabilities/cards/option-source.d.ts.map +1 -0
  42. package/dist/inspector/capabilities/cards/validation-rules.d.ts +4 -0
  43. package/dist/inspector/capabilities/cards/validation-rules.d.ts.map +1 -0
  44. package/dist/inspector/capabilities/cards/value-strategy.d.ts +4 -0
  45. package/dist/inspector/capabilities/cards/value-strategy.d.ts.map +1 -0
  46. package/dist/inspector/capabilities/index.d.ts +5 -0
  47. package/dist/inspector/capabilities/index.d.ts.map +1 -0
  48. package/dist/inspector/capabilities/keys.d.ts +20 -0
  49. package/dist/inspector/capabilities/keys.d.ts.map +1 -0
  50. package/dist/inspector/capabilities/register-built-ins.d.ts +4 -0
  51. package/dist/inspector/capabilities/register-built-ins.d.ts.map +1 -0
  52. package/dist/inspector/capabilities/registry.d.ts +7 -0
  53. package/dist/inspector/capabilities/registry.d.ts.map +1 -0
  54. package/dist/inspector/capabilities/types.d.ts +44 -0
  55. package/dist/inspector/capabilities/types.d.ts.map +1 -0
  56. package/dist/inspector/color-palette-editor.d.ts +10 -0
  57. package/dist/inspector/color-palette-editor.d.ts.map +1 -0
  58. package/dist/inspector/commands/component-migration.d.ts +25 -0
  59. package/dist/inspector/commands/component-migration.d.ts.map +1 -0
  60. package/dist/inspector/commands/field-property.d.ts +51 -0
  61. package/dist/inspector/commands/field-property.d.ts.map +1 -0
  62. package/dist/inspector/commands/form-property.d.ts +25 -0
  63. package/dist/inspector/commands/form-property.d.ts.map +1 -0
  64. package/dist/inspector/component-settings-editor.d.ts +37 -0
  65. package/dist/inspector/component-settings-editor.d.ts.map +1 -0
  66. package/dist/inspector/computed-expression-editor.d.ts +20 -0
  67. package/dist/inspector/computed-expression-editor.d.ts.map +1 -0
  68. package/dist/inspector/condition-editor-model.d.ts +63 -0
  69. package/dist/inspector/condition-editor-model.d.ts.map +1 -0
  70. package/dist/inspector/condition-visual-editor.d.ts +30 -0
  71. package/dist/inspector/condition-visual-editor.d.ts.map +1 -0
  72. package/dist/inspector/container-items-editor.d.ts +42 -0
  73. package/dist/inspector/container-items-editor.d.ts.map +1 -0
  74. package/dist/inspector/date-time-format-editor.d.ts +30 -0
  75. package/dist/inspector/date-time-format-editor.d.ts.map +1 -0
  76. package/dist/inspector/default-value-editor.d.ts +30 -0
  77. package/dist/inspector/default-value-editor.d.ts.map +1 -0
  78. package/dist/inspector/field-property-view.d.ts +44 -0
  79. package/dist/inspector/field-property-view.d.ts.map +1 -0
  80. package/dist/inspector/field-schema/build-sections.d.ts +9 -0
  81. package/dist/inspector/field-schema/build-sections.d.ts.map +1 -0
  82. package/dist/inspector/field-schema/component-options.d.ts +14 -0
  83. package/dist/inspector/field-schema/component-options.d.ts.map +1 -0
  84. package/dist/inspector/field-schema/fields.d.ts +21 -0
  85. package/dist/inspector/field-schema/fields.d.ts.map +1 -0
  86. package/dist/inspector/field-schema/index.d.ts +5 -0
  87. package/dist/inspector/field-schema/index.d.ts.map +1 -0
  88. package/dist/inspector/field-schema/keys.d.ts +15 -0
  89. package/dist/inspector/field-schema/keys.d.ts.map +1 -0
  90. package/dist/inspector/field-schema/registry.d.ts +99 -0
  91. package/dist/inspector/field-schema/registry.d.ts.map +1 -0
  92. package/dist/inspector/field-schema/types.d.ts +113 -0
  93. package/dist/inspector/field-schema/types.d.ts.map +1 -0
  94. package/dist/inspector/form-property-view.d.ts +14 -0
  95. package/dist/inspector/form-property-view.d.ts.map +1 -0
  96. package/dist/inspector/form-schema.d.ts +64 -0
  97. package/dist/inspector/form-schema.d.ts.map +1 -0
  98. package/dist/inspector/input-slots-editor.d.ts +11 -0
  99. package/dist/inspector/input-slots-editor.d.ts.map +1 -0
  100. package/dist/inspector/inspector.d.ts +34 -0
  101. package/dist/inspector/inspector.d.ts.map +1 -0
  102. package/dist/inspector/interaction-rules-editor.d.ts +24 -0
  103. package/dist/inspector/interaction-rules-editor.d.ts.map +1 -0
  104. package/dist/inspector/option-source-editor.d.ts +35 -0
  105. package/dist/inspector/option-source-editor.d.ts.map +1 -0
  106. package/dist/inspector/option-source-summary.d.ts +4 -0
  107. package/dist/inspector/option-source-summary.d.ts.map +1 -0
  108. package/dist/inspector/property-commit.d.ts +23 -0
  109. package/dist/inspector/property-commit.d.ts.map +1 -0
  110. package/dist/inspector/property-section.d.ts +4 -0
  111. package/dist/inspector/property-section.d.ts.map +1 -0
  112. package/dist/inspector/property-ui-adapter.d.ts +4 -0
  113. package/dist/inspector/property-ui-adapter.d.ts.map +1 -0
  114. package/dist/inspector/required-validation.d.ts +16 -0
  115. package/dist/inspector/required-validation.d.ts.map +1 -0
  116. package/dist/inspector/validation-rule-editor.d.ts +25 -0
  117. package/dist/inspector/validation-rule-editor.d.ts.map +1 -0
  118. package/dist/inspector/value-strategy-editor.d.ts +31 -0
  119. package/dist/inspector/value-strategy-editor.d.ts.map +1 -0
  120. package/dist/services/registry.d.ts +68 -0
  121. package/dist/services/registry.d.ts.map +1 -0
  122. package/dist/shared/clone.d.ts +8 -0
  123. package/dist/shared/clone.d.ts.map +1 -0
  124. package/dist/shared/component-registry.d.ts +10 -0
  125. package/dist/shared/component-registry.d.ts.map +1 -0
  126. package/dist/shared/icons.d.ts +8 -0
  127. package/dist/shared/icons.d.ts.map +1 -0
  128. package/dist/shared/object-path.d.ts +14 -0
  129. package/dist/shared/object-path.d.ts.map +1 -0
  130. package/dist/shared/ui-adapter.d.ts +12 -0
  131. package/dist/shared/ui-adapter.d.ts.map +1 -0
  132. package/dist/shared/view-node.d.ts +9 -0
  133. package/dist/shared/view-node.d.ts.map +1 -0
  134. package/dist/sidebar/components.d.ts +24 -0
  135. package/dist/sidebar/components.d.ts.map +1 -0
  136. package/dist/sidebar/sidebar.d.ts +25 -0
  137. package/dist/sidebar/sidebar.d.ts.map +1 -0
  138. package/dist/state/component-config.d.ts +41 -0
  139. package/dist/state/component-config.d.ts.map +1 -0
  140. package/dist/state/create-state.d.ts +8 -0
  141. package/dist/state/create-state.d.ts.map +1 -0
  142. package/dist/state/draft.d.ts +12 -0
  143. package/dist/state/draft.d.ts.map +1 -0
  144. package/dist/state/field.d.ts +10 -0
  145. package/dist/state/field.d.ts.map +1 -0
  146. package/dist/state/form-actions.d.ts +17 -0
  147. package/dist/state/form-actions.d.ts.map +1 -0
  148. package/dist/state/form-view.d.ts +6 -0
  149. package/dist/state/form-view.d.ts.map +1 -0
  150. package/dist/state/history.d.ts +16 -0
  151. package/dist/state/history.d.ts.map +1 -0
  152. package/dist/state/node-actions.d.ts +66 -0
  153. package/dist/state/node-actions.d.ts.map +1 -0
  154. package/dist/state/node-permissions.d.ts +17 -0
  155. package/dist/state/node-permissions.d.ts.map +1 -0
  156. package/dist/state/output.d.ts +5 -0
  157. package/dist/state/output.d.ts.map +1 -0
  158. package/dist/state/schema.d.ts +10 -0
  159. package/dist/state/schema.d.ts.map +1 -0
  160. package/dist/state/tree.d.ts +28 -0
  161. package/dist/state/tree.d.ts.map +1 -0
  162. package/dist/state/types.d.ts +81 -0
  163. package/dist/state/types.d.ts.map +1 -0
  164. package/dist/state/visibility.d.ts +17 -0
  165. package/dist/state/visibility.d.ts.map +1 -0
  166. package/package.json +46 -0
  167. package/src/style.css +2129 -0
@@ -0,0 +1,35 @@
1
+ import { type PropType } from 'vue';
2
+ import type { OptionItem, ResourceField, ViewNode } from '@sparqjs/schema-protocol';
3
+ import { type DesignerServiceRegistry } from '../services/registry';
4
+ import type { DesignerOptionSourceMode } from './field-schema';
5
+ type FieldOptions = NonNullable<ResourceField['options']>;
6
+ interface OptionSourceValue {
7
+ options?: FieldOptions;
8
+ reference?: ResourceField['reference'];
9
+ }
10
+ interface OptionSourceEditorProps {
11
+ node?: ViewNode;
12
+ field?: ResourceField;
13
+ fields?: ResourceField[];
14
+ serviceRegistry?: DesignerServiceRegistry;
15
+ optionSources?: DesignerOptionSourceMode[];
16
+ }
17
+ /** 编辑静态、数据字典或资源引用候选来源。 */
18
+ export declare const OptionSourceEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
19
+ value: PropType<OptionSourceValue>;
20
+ onChange: PropType<(value: OptionSourceValue) => void>;
21
+ props: PropType<OptionSourceEditorProps>;
22
+ }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
23
+ value: PropType<OptionSourceValue>;
24
+ onChange: PropType<(value: OptionSourceValue) => void>;
25
+ props: PropType<OptionSourceEditorProps>;
26
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
27
+ export declare const StaticOptionsListEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
28
+ value: PropType<OptionItem[]>;
29
+ onChange: PropType<(value: OptionItem[]) => void>;
30
+ }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
31
+ value: PropType<OptionItem[]>;
32
+ onChange: PropType<(value: OptionItem[]) => void>;
33
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
34
+ export {};
35
+ //# sourceMappingURL=option-source-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-source-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/option-source-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAkB,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGnG,OAAO,EAAmD,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACpH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAG9D,KAAK,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AAKzD,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,UAAU,uBAAuB;IAC7B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAA;CAC7C;AAUD,0BAA0B;AAC1B,eAAO,MAAM,kBAAkB;WAGN,QAAQ,CAAC,iBAAiB,CAAC;cACtB,QAAQ,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;WACjD,QAAQ,CAAC,uBAAuB,CAAC;;WAFjC,QAAQ,CAAC,iBAAiB,CAAC;cACtB,QAAQ,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;WACjD,QAAQ,CAAC,uBAAuB,CAAC;iGAkTxD,CAAA;AAEF,eAAO,MAAM,uBAAuB;WAGZ,QAAQ,CAAC,UAAU,EAAE,CAAC;cAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;;WAD7C,QAAQ,CAAC,UAAU,EAAE,CAAC;cAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;iGAqFnE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceField } from '@sparqjs/schema-protocol';
2
+ /** 数据选项摘要只表达来源类型,具体配置保留在弹层内查看和编辑。 */
3
+ export declare function summarizeOptionSourceType(options: ResourceField['options'] | undefined): string;
4
+ //# sourceMappingURL=option-source-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option-source-summary.d.ts","sourceRoot":"","sources":["../../src/inspector/option-source-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAS7D,qCAAqC;AACrC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,MAAM,CAE/F"}
@@ -0,0 +1,23 @@
1
+ import type { FieldPropertyCommitMode } from './field-schema';
2
+ export interface PropertyCommitDefinition {
3
+ key: string;
4
+ kind: string;
5
+ commitMode: FieldPropertyCommitMode;
6
+ }
7
+ export interface PropertyCommitKeyEvent {
8
+ key: string;
9
+ ctrlKey?: boolean;
10
+ metaKey?: boolean;
11
+ isComposing?: boolean;
12
+ }
13
+ /** 返回一次模型更新中真正变化的属性 key,供 Inspector 标记局部草稿。 */
14
+ export declare function changedPropertyKeys(previous: Record<string, unknown>, next: Record<string, unknown>): string[];
15
+ /** 离散值、能力确认和组件命令在 change 事件后立即进入命令边界。 */
16
+ export declare function shouldCommitPropertyOnChange(field: PropertyCommitDefinition): boolean;
17
+ /** 只有 blur 模式字段在失焦时提交,其他控件已经由 change 或弹层确认提交。 */
18
+ export declare function shouldCommitPropertyOnBlur(field: PropertyCommitDefinition): boolean;
19
+ /** 文本和数值支持 Enter;textarea 只接受 Cmd/Ctrl + Enter,避免抢占换行。 */
20
+ export declare function shouldCommitPropertyOnKeydown(field: PropertyCommitDefinition, event: PropertyCommitKeyEvent): boolean;
21
+ /** 同步 schema 后保留尚未提交或被拒绝的局部草稿。 */
22
+ export declare function mergePersistedPropertyValues(persisted: Record<string, unknown>, draft: Record<string, unknown>, dirtyKeys: ReadonlySet<string>): Record<string, unknown>;
23
+ //# sourceMappingURL=property-commit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-commit.d.ts","sourceRoot":"","sources":["../../src/inspector/property-commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,uBAAuB,CAAA;CACtC;AAED,MAAM,WAAW,sBAAsB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAI9G;AAED,yCAAyC;AACzC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAErF;AAED,iDAAiD;AACjD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAEnF;AAED,0DAA0D;AAC1D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAQrH;AAED,kCAAkC;AAClC,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB"}
@@ -0,0 +1,4 @@
1
+ import type { ViewNode } from '@sparqjs/schema-protocol';
2
+ /** 将一组属性控件包装为 Inspector 专用的可折叠 section。 */
3
+ export declare function createPropertySectionNode(key: string, title: string, children: ViewNode[], defaultOpen: boolean): ViewNode;
4
+ //# sourceMappingURL=property-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-section.d.ts","sourceRoot":"","sources":["../../src/inspector/property-section.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExD,2CAA2C;AAC3C,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAAE,EACpB,WAAW,EAAE,OAAO,GACrB,QAAQ,CAiBV"}
@@ -0,0 +1,4 @@
1
+ import type { SchemaUiAdapter } from '@sparqjs/schema-vue';
2
+ /** 创建属性面板 adapter,并用原生 details 承载可折叠 section。 */
3
+ export declare function createDesignerPropertyUiAdapter(fieldErrors?: Readonly<Record<string, string[]>>): SchemaUiAdapter;
4
+ //# sourceMappingURL=property-ui-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-ui-adapter.d.ts","sourceRoot":"","sources":["../../src/inspector/property-ui-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAG1D,iDAAiD;AACjD,wBAAgB,+BAA+B,CAAC,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM,GAAG,eAAe,CAwBrH"}
@@ -0,0 +1,16 @@
1
+ import type { ResourceField } from '@sparqjs/schema-protocol';
2
+ export type FieldValidationRule = NonNullable<ResourceField['validation']>[number];
3
+ /** 返回 validation 中接管必填语义的规则;快捷必填据此进入只读状态。 */
4
+ export declare function getRequiredValidationRule(field: ResourceField | undefined): FieldValidationRule | undefined;
5
+ /**
6
+ * 为校验编辑器生成统一投影。
7
+ *
8
+ * field.required 只在 validation 尚未声明 required 时补成临时规则,已有双入口状态保持原样,
9
+ * 直到用户确认编辑后再由写回边界规范化。
10
+ */
11
+ export declare function createFieldValidationEditorValue(field: ResourceField | undefined): NonNullable<ResourceField['validation']>;
12
+ /** 校验编辑器确认后,将 required 的两种协议表达收敛为单一入口。 */
13
+ export declare function applyFieldValidationEditorValue(field: ResourceField, rules: NonNullable<ResourceField['validation']>): void;
14
+ /** 只有无条件、无自定义提示且无扩展参数的规则能由 field.required 完整表达。 */
15
+ export declare function isSimpleRequiredRule(rule: FieldValidationRule): boolean;
16
+ //# sourceMappingURL=required-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-validation.d.ts","sourceRoot":"","sources":["../../src/inspector/required-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAElF,6CAA6C;AAC7C,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAE3G;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC5C,KAAK,EAAE,aAAa,GAAG,SAAS,GACjC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAM1C;AAED,0CAA0C;AAC1C,wBAAgB,+BAA+B,CAC3C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAChD,IAAI,CA8BN;AAED,mDAAmD;AACnD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CASvE"}
@@ -0,0 +1,25 @@
1
+ import { type PropType } from 'vue';
2
+ import type { ResourceField } from '@sparqjs/schema-protocol';
3
+ type ValidationRule = NonNullable<ResourceField['validation']>[number];
4
+ interface ValidationRuleEditorProps {
5
+ component?: string;
6
+ field?: ResourceField;
7
+ fieldLabel?: string;
8
+ fields?: Array<{
9
+ label: string;
10
+ value: string;
11
+ }>;
12
+ supported?: string[];
13
+ }
14
+ /** 编辑当前组件支持的字段校验规则,保留未识别规则供扩展兼容。 */
15
+ export declare const ValidationRuleEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ value: PropType<ValidationRule[]>;
17
+ onChange: PropType<(value: ValidationRule[]) => void>;
18
+ props: PropType<ValidationRuleEditorProps>;
19
+ }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
20
+ value: PropType<ValidationRule[]>;
21
+ onChange: PropType<(value: ValidationRule[]) => void>;
22
+ props: PropType<ValidationRuleEditorProps>;
23
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
24
+ export {};
25
+ //# sourceMappingURL=validation-rule-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-rule-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/validation-rule-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAQvF,OAAO,KAAK,EAAgC,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG3F,KAAK,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE,UAAU,yBAAyB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAoDD,oCAAoC;AACpC,eAAO,MAAM,oBAAoB;WAGT,QAAQ,CAAC,cAAc,EAAE,CAAC;cACpB,QAAQ,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;WAChD,QAAQ,CAAC,yBAAyB,CAAC;;WAFpC,QAAQ,CAAC,cAAc,EAAE,CAAC;cACpB,QAAQ,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;WAChD,QAAQ,CAAC,yBAAyB,CAAC;iGAoG1D,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { type PropType } from 'vue';
2
+ import type { FieldValueExpression, ResourceField, ValueExpression, ViewNode } from '@sparqjs/schema-protocol';
3
+ import type { DesignerValueStrategyMode } from './field-schema';
4
+ interface ValueStrategyEditorProps {
5
+ node?: ViewNode;
6
+ field?: ResourceField;
7
+ fields?: ResourceField[];
8
+ valueStrategies?: DesignerValueStrategyMode[];
9
+ }
10
+ /** 字段值来源模式,决定哪些 ResourceField 协议字段生效。 */
11
+ export type ValueStrategyMode = DesignerValueStrategyMode;
12
+ /** 动态与计算能力编辑器一次读写的完整配置。 */
13
+ export interface ValueStrategyEditorValue {
14
+ mode?: unknown;
15
+ default_expr?: FieldValueExpression;
16
+ computed_expr?: ValueExpression;
17
+ computed_triggers?: string[];
18
+ persisted?: boolean;
19
+ }
20
+ /** 编辑动态默认值和计算字段策略,并保持策略自身的协议字段一致。 */
21
+ export declare const ValueStrategyEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
22
+ value: PropType<ValueStrategyEditorValue>;
23
+ onChange: PropType<(value: ValueStrategyEditorValue) => void>;
24
+ props: PropType<ValueStrategyEditorProps>;
25
+ }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
26
+ value: PropType<ValueStrategyEditorValue>;
27
+ onChange: PropType<(value: ValueStrategyEditorValue) => void>;
28
+ props: PropType<ValueStrategyEditorProps>;
29
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
30
+ export {};
31
+ //# sourceMappingURL=value-strategy-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-strategy-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/value-strategy-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE7E,OAAO,KAAK,EACR,oBAAoB,EACpB,aAAa,EAEb,eAAe,EACf,QAAQ,EACX,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAO/D,UAAU,wBAAwB;IAC9B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,yBAAyB,EAAE,CAAA;CAChD;AAED,yCAAyC;AACzC,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,CAAA;AAGzD,2BAA2B;AAC3B,MAAM,WAAW,wBAAwB;IACrC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,aAAa,CAAC,EAAE,eAAe,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAwBD,qCAAqC;AACrC,eAAO,MAAM,mBAAmB;WAGP,QAAQ,CAAC,wBAAwB,CAAC;cAC7B,QAAQ,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;WACxD,QAAQ,CAAC,wBAAwB,CAAC;;WAFlC,QAAQ,CAAC,wBAAwB,CAAC;cAC7B,QAAQ,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;WACxD,QAAQ,CAAC,wBAAwB,CAAC;iGAwJzD,CAAA"}
@@ -0,0 +1,68 @@
1
+ import type { ResourceField, SchemaResource, ViewNode } from '@sparqjs/schema-protocol';
2
+ /**
3
+ * 设计期服务返回给属性控件或弹层选择器的通用选项。
4
+ *
5
+ * meta 用于保留服务侧原始对象,方便自定义编辑器继续读取字段类型、资源标识等上下文;
6
+ * 核心控件只依赖 label/value,不应该解析 meta 中的业务结构。
7
+ */
8
+ export interface DesignerServiceOption {
9
+ label: string;
10
+ value: string;
11
+ disabled?: boolean;
12
+ meta?: Record<string, unknown>;
13
+ }
14
+ /**
15
+ * 设计期服务的调用上下文。
16
+ *
17
+ * 该上下文只描述设计器当前状态,不携带鉴权、HTTP client 或租户配置。真实接口请求由外部
18
+ * provider 自己封装,避免设计器核心绑定具体后端实现。
19
+ */
20
+ export interface DesignerServiceContext {
21
+ schema?: SchemaResource;
22
+ node?: ViewNode;
23
+ field?: ResourceField;
24
+ fields?: ResourceField[];
25
+ values?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * 设计期外部能力提供者。
29
+ *
30
+ * load 用于下拉、选择器、模板列表等查询型场景;run 用于表达式校验、请求测试、模板套用等
31
+ * 动作型场景。signal 必须向下传递给真实请求,节点切换或依赖值变化时才能取消旧请求。
32
+ */
33
+ export interface DesignerServiceProvider<T = unknown> {
34
+ key: string;
35
+ load?: (context: DesignerServiceContext, params?: Record<string, unknown>, signal?: AbortSignal) => Promise<T>;
36
+ run?: (context: DesignerServiceContext, params?: Record<string, unknown>, signal?: AbortSignal) => Promise<T>;
37
+ }
38
+ /** 单个设计器实例的服务映射,key 与属性 dataSource.provider 对应。 */
39
+ export type DesignerServiceRegistry = Map<string, DesignerServiceProvider>;
40
+ /** 无需宿主接口即可工作的内置设计期服务;正常 Shell 会把它们安装到实例 Kernel 的 builtin 层。 */
41
+ export declare const builtInDesignerServiceProviders: readonly DesignerServiceProvider[];
42
+ /**
43
+ * 创建设计器实例级服务注册表。
44
+ *
45
+ * 正常设计器传入扩展上下文已经解析完成的 provider;独立编辑器和测试也可以创建只含局部
46
+ * provider 的注册表,并由读取函数回退到内置服务。
47
+ */
48
+ export declare function createDesignerServiceRegistry(providers?: DesignerServiceProvider[]): DesignerServiceRegistry;
49
+ /**
50
+ * 读取设计期服务。
51
+ *
52
+ * 返回值可能为空。内置 fallback 只服务于没有经过 DesignerExtensionContext 的独立调用,
53
+ * 正常设计器的覆盖顺序和重复诊断已经在实例 Kernel 中完成。
54
+ */
55
+ export declare function getDesignerServiceProvider<T = unknown>(key: string, registry?: DesignerServiceRegistry): DesignerServiceProvider<T> | undefined;
56
+ /**
57
+ * 执行查询型设计期服务。
58
+ *
59
+ * 这里统一校验 provider 是否支持 load,避免各个属性控件重复处理“服务不存在”和“能力不匹配”。
60
+ */
61
+ export declare function loadDesignerService<T = unknown>(key: string, context: DesignerServiceContext, params?: Record<string, unknown>, signal?: AbortSignal, registry?: DesignerServiceRegistry): Promise<T>;
62
+ /**
63
+ * 执行动作型设计期服务。
64
+ *
65
+ * 第一阶段主要为后续模板套用、表达式校验和请求测试预留统一入口,当前不在右侧面板直接使用。
66
+ */
67
+ export declare function runDesignerService<T = unknown>(key: string, context: DesignerServiceContext, params?: Record<string, unknown>, signal?: AbortSignal, registry?: DesignerServiceRegistry): Promise<T>;
68
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/services/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC,GAAG,OAAO;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9G,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;CAChH;AAED,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAE1E,gEAAgE;AAChE,eAAO,MAAM,+BAA+B,EAAE,SAAS,uBAAuB,EAc7E,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,GAAE,uBAAuB,EAAO,GAAG,uBAAuB,CAMhH;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,OAAO,EAClD,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,uBAAuB,GACnC,uBAAuB,CAAC,CAAC,CAAC,GAAG,SAAS,CAIxC;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EACjD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,sBAAsB,EAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAChD,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,sBAAsB,EAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,uBAAuB,GACnC,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 克隆基于 JSON 的可序列化值。
3
+ *
4
+ * Designer 的 schema、field 和 view node 都是纯数据结构。
5
+ * 这里统一处理深拷贝,避免同类 JSON 克隆逻辑散落在各个模块中。
6
+ */
7
+ export declare function cloneSerializable<T>(value: T): T;
8
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/shared/clone.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEhD"}
@@ -0,0 +1,10 @@
1
+ import type { SchemaResource } from '@sparqjs/schema-protocol';
2
+ import { type SchemaComponentRegistry } from '@sparqjs/schema-vue';
3
+ import type { DesignerExtensionContext } from '../extensions/context';
4
+ /**
5
+ * 创建当前设计器画布专用的运行时组件 registry。
6
+ *
7
+ * schema 引用了缺失插件组件时会注册不可用占位,保证节点仍可选中和修复。
8
+ */
9
+ export declare function createDesignerCanvasComponentRegistry(schema: SchemaResource, viewName: string, components?: SchemaComponentRegistry, extensionContext?: DesignerExtensionContext): SchemaComponentRegistry;
10
+ //# sourceMappingURL=component-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../../src/shared/component-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAuD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAEvH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAIrE;;;;GAIG;AACH,wBAAgB,qCAAqC,CACjD,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,uBAAuB,EACpC,gBAAgB,CAAC,EAAE,wBAAwB,GAC5C,uBAAuB,CAUzB"}
@@ -0,0 +1,8 @@
1
+ import { type VNode } from 'vue';
2
+ /** 渲染左侧组件面板图标;未知名称使用统一占位图标,避免面板布局跳动。 */
3
+ export declare function renderPaletteIcon(name: string): VNode;
4
+ /** 渲染设计器顶部工具栏图标,图标尺寸由工具栏按钮样式统一约束。 */
5
+ export declare function renderToolbarIcon(name: string): VNode;
6
+ /** 渲染节点悬浮操作图标,供移动、复制和删除按钮共享。 */
7
+ export declare function renderNodeActionIcon(name: string): VNode;
8
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/shared/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,KAAK,CAAA;AAEnC,wCAAwC;AACxC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAoPrD;AAED,qCAAqC;AACrC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CA2FrD;AAED,gCAAgC;AAChC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAkExD"}
@@ -0,0 +1,14 @@
1
+ /** 判断值是否可作为属性路径容器,数组不会被当成 schema 对象继续遍历。 */
2
+ export declare function isPlainObjectRecord(value: unknown): value is Record<string, unknown>;
3
+ /** 读取嵌套对象路径;任一中间节点不是普通对象时返回 undefined。 */
4
+ export declare function getObjectPathValue(target: Record<string, unknown>, path: string | string[]): unknown;
5
+ /**
6
+ * 按对象路径设置值。
7
+ *
8
+ * 当 value 为 undefined 时会删除目标字段,并向上清理因此变成空对象的父级容器,
9
+ * 这样表单属性编辑不会在 schema 中残留无意义的空 props / wrapper / footer 对象。
10
+ */
11
+ export declare function setObjectPathValue(target: Record<string, unknown>, path: string | string[], value: unknown): void;
12
+ /** 递归删除空对象,用于属性写回后清理无业务含义的空 schema 容器。 */
13
+ export declare function cleanupEmptyObjects(value: Record<string, unknown> | undefined): void;
14
+ //# sourceMappingURL=object-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-path.d.ts","sourceRoot":"","sources":["../../src/shared/object-path.ts"],"names":[],"mappings":"AAIA,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEpF;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAQpG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA4BjH;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAgBpF"}
@@ -0,0 +1,12 @@
1
+ import { type SchemaUiAdapter, type SchemaUiProxy, type UiKit } from '@sparqjs/schema-vue';
2
+ /** 创建 Inspector 与设计器弹层使用的 Element Plus 基础 UiKit。 */
3
+ export declare function createDesignerElementPlusUiKit(): UiKit;
4
+ /** 创建面向旧 Schema UI 调用方式的 Element Plus proxy,保持设计器内部兼容。 */
5
+ export declare function createDesignerElementPlusSchemaUi(): SchemaUiProxy;
6
+ /**
7
+ * 创建 Designer 使用的 Element Plus adapter。
8
+ *
9
+ * Inspector 可注入命令拒绝错误,adapter 只负责把错误合并到对应字段绑定,不承担业务校验。
10
+ */
11
+ export declare function createDesignerElementPlusUiAdapter(fieldErrors?: Readonly<Record<string, string[]>>): SchemaUiAdapter;
12
+ //# sourceMappingURL=ui-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-adapter.d.ts","sourceRoot":"","sources":["../../src/shared/ui-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE/G,oDAAoD;AACpD,wBAAgB,8BAA8B,IAAI,KAAK,CAEtD;AAED,0DAA0D;AAC1D,wBAAgB,iCAAiC,IAAI,aAAa,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAC9C,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM,GACrD,eAAe,CAmBjB"}
@@ -0,0 +1,9 @@
1
+ /** 判断节点类型是否具备 children 容器语义。 */
2
+ export declare function isContainerNodeType(type: string | undefined): boolean;
3
+ /** 判断 ViewNode 能否成为指定父节点的直接子节点;undefined 父节点表示表单根级。 */
4
+ export declare function canContainViewNode(parent: {
5
+ type?: string;
6
+ } | undefined, child: {
7
+ type?: string;
8
+ }): boolean;
9
+ //# sourceMappingURL=view-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-node.d.ts","sourceRoot":"","sources":["../../src/shared/view-node.ts"],"names":[],"mappings":"AAcA,gCAAgC;AAChC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAAE,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAe3G"}
@@ -0,0 +1,24 @@
1
+ import type { ComponentItem, TemplateItem } from '../state/types';
2
+ import type { DesignerMaterial, DesignerMaterialCategory } from '../extensions/material';
3
+ /** 左侧面板的组件分类,items 顺序同时决定展示和键盘导航顺序。 */
4
+ export interface ComponentCategory {
5
+ key: 'form' | 'function' | 'layout';
6
+ title: string;
7
+ items: ComponentItem[];
8
+ }
9
+ /** 左侧组件面板的内置分类与节点工厂;插件组件由 DesignerExtension 另行提供。 */
10
+ export declare const componentCategories: ComponentCategory[];
11
+ /** 兼容现有 Sidebar 命名的组件分类别名,与 componentCategories 保持同一对象。 */
12
+ export declare const componentGroups: ComponentCategory[];
13
+ /** Sidebar 使用的稳定分类标题;插件只能选择分类,不能覆盖设计器整体结构。 */
14
+ export declare const designerMaterialCategories: ReadonlyArray<{
15
+ key: DesignerMaterialCategory;
16
+ title: string;
17
+ }>;
18
+ /** 从现有内置组件工厂生成 builtin 层物料,确保迁移前后的字段和节点默认值一致。 */
19
+ export declare const builtInDesignerMaterials: readonly DesignerMaterial[];
20
+ /** 按分类读取内置物料,供没有扩展上下文的独立 Sidebar 测试安全降级。 */
21
+ export declare function listBuiltInDesignerMaterials(category?: DesignerMaterialCategory): DesignerMaterial[];
22
+ /** 第一阶段内置模板列表,模板拖入流程尚未接入插件贡献。 */
23
+ export declare const templateItems: TemplateItem[];
24
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/sidebar/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAExF,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAA;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAmQlD,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAAwB,CAAA;AAEvE,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAItG,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAE/D,CAAA;AAED,4CAA4C;AAC5C,wBAAgB,4BAA4B,CAAC,QAAQ,CAAC,EAAE,wBAAwB,GAAG,gBAAgB,EAAE,CAEpG;AAED,iCAAiC;AACjC,eAAO,MAAM,aAAa,EAAE,YAAY,EAIvC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { type PropType } from 'vue';
2
+ import type { DraftState } from '../state/types';
3
+ /** 左侧组件与模板面板,输出拖放数据但不直接修改草稿 schema。 */
4
+ export declare const Sidebar: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ state: {
6
+ type: PropType<DraftState>;
7
+ required: true;
8
+ };
9
+ showTemplates: {
10
+ type: BooleanConstructor;
11
+ default: boolean;
12
+ };
13
+ }>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ state: {
15
+ type: PropType<DraftState>;
16
+ required: true;
17
+ };
18
+ showTemplates: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ showTemplates: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAgBhD,uCAAuC;AACvC,eAAO,MAAM,OAAO;;cAIQ,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;cAApB,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;4EA2D9C,CAAA"}
@@ -0,0 +1,41 @@
1
+ import type { ResourceField, ViewNode } from '@sparqjs/schema-protocol';
2
+ /** 设计器允许用户切换的 ResourceField 类型子集。 */
3
+ export type DesignerFieldType = 'string' | 'text' | 'number' | 'boolean' | 'date' | 'datetime' | 'time' | 'json';
4
+ /** 字段类型下拉使用的标签和值。 */
5
+ export interface DesignerFieldTypeOption {
6
+ label: string;
7
+ value: DesignerFieldType;
8
+ }
9
+ /** 组件声明的默认字段类型和可兼容类型边界。 */
10
+ export interface DesignerComponentFieldTypeConfig {
11
+ defaultType: DesignerFieldType;
12
+ allowedTypes: DesignerFieldType[];
13
+ }
14
+ /** 字段基数由组件固定、字段快捷项控制,或由组件私有配置推导。 */
15
+ export type DesignerMultiplePolicy = 'single' | 'multiple' | 'field-configurable' | 'component-configurable';
16
+ /** 带组件 key 的完整字段类型配置,用于内置映射解析。 */
17
+ export interface ComponentFieldConfig extends DesignerComponentFieldTypeConfig {
18
+ component: string;
19
+ multiple: DesignerMultiplePolicy;
20
+ }
21
+ /** Inspector 可展示的字段协议类型及中文标签。 */
22
+ export declare const designerFieldTypeOptions: DesignerFieldTypeOption[];
23
+ /** 解析组件允许的字段类型;扩展声明优先于设计器内置映射。 */
24
+ export declare function getComponentFieldConfig(component: string | undefined, fieldTypes?: DesignerComponentFieldTypeConfig): ComponentFieldConfig;
25
+ /** 返回新建字段时应使用的协议类型。 */
26
+ export declare function defaultFieldTypeForComponent(component: string | undefined, fieldTypes?: DesignerComponentFieldTypeConfig): DesignerFieldType;
27
+ /** 返回新节点需要立即写入的组件默认 props,未配置时保持 schema 精简。 */
28
+ export declare function defaultNodePropsForComponent(component: string | undefined): Record<string, unknown> | undefined;
29
+ /** 列出组件可切换的字段类型,并保留已有字段的当前类型供兼容展示。 */
30
+ export declare function fieldTypeOptionsForComponent(component: string | undefined, field?: ResourceField, fieldTypes?: DesignerComponentFieldTypeConfig): DesignerFieldTypeOption[];
31
+ /** 判断字段类型是否存在多个有效选择,用于控制 Inspector 是否展示类型控件。 */
32
+ export declare function shouldShowFieldTypeForComponent(component: string | undefined, field?: ResourceField, fieldTypes?: DesignerComponentFieldTypeConfig): boolean;
33
+ /** 已持久化字段存在后端标识时锁定类型,避免设计期修改破坏存量数据。 */
34
+ export declare function isFieldTypeLocked(field: ResourceField | undefined): boolean;
35
+ /** 判断字段当前协议类型能否由目标组件稳定输出。 */
36
+ export declare function isFieldTypeCompatibleWithComponent(component: string | undefined, field: ResourceField | undefined, fieldTypes?: DesignerComponentFieldTypeConfig): boolean;
37
+ /** 按组件能力归一化字段类型;锁定字段始终保留后端当前类型。 */
38
+ export declare function normalizeFieldTypeForNode(node: ViewNode, field: ResourceField | undefined, fieldTypes?: DesignerComponentFieldTypeConfig): DesignerFieldType;
39
+ /** 收窄设计器支持的字段类型,外部协议值必须通过该判断后才能进入类型选项。 */
40
+ export declare function isDesignerFieldType(value: unknown): value is DesignerFieldType;
41
+ //# sourceMappingURL=component-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-config.d.ts","sourceRoot":"","sources":["../../src/state/component-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEvE,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhH,qBAAqB;AACrB,MAAM,WAAW,uBAAuB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,iBAAiB,CAAA;CAC3B;AAED,2BAA2B;AAC3B,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE,iBAAiB,CAAA;IAC9B,YAAY,EAAE,iBAAiB,EAAE,CAAA;CACpC;AAED,oCAAoC;AACpC,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,GAAG,oBAAoB,GAAG,wBAAwB,CAAA;AAE5G,kCAAkC;AAClC,MAAM,WAAW,oBAAqB,SAAQ,gCAAgC;IAC1E,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,sBAAsB,CAAA;CACnC;AAED,iCAAiC;AACjC,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EAS7D,CAAA;AA2ED,kCAAkC;AAClC,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,CAAC,EAAE,gCAAgC,GAC9C,oBAAoB,CAatB;AAED,uBAAuB;AACvB,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,CAAC,EAAE,gCAAgC,GAC9C,iBAAiB,CAEnB;AAED,+CAA+C;AAC/C,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgB/G;AAED,sCAAsC;AACtC,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,CAAC,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,gCAAgC,GAC9C,uBAAuB,EAAE,CAO3B;AAED,gDAAgD;AAChD,wBAAgB,+BAA+B,CAC3C,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,CAAC,EAAE,aAAa,EACrB,UAAU,CAAC,EAAE,gCAAgC,GAC9C,OAAO,CAET;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,6BAA6B;AAC7B,wBAAgB,kCAAkC,CAC9C,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,gCAAgC,GAC9C,OAAO,CAKT;AAED,mCAAmC;AACnC,wBAAgB,yBAAyB,CACrC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,UAAU,CAAC,EAAE,gCAAgC,GAC9C,iBAAiB,CASnB;AAUD,0CAA0C;AAC1C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E"}
@@ -0,0 +1,8 @@
1
+ import type { SchemaResource } from '@sparqjs/schema-protocol';
2
+ import type { DesignerExtensionContext } from '../extensions/context';
3
+ import type { DraftState, RootProps } from './types';
4
+ /** 创建设计器草稿状态,并隔离宿主 schema、保存快照、服务和扩展上下文。 */
5
+ export declare function createState(schema: SchemaResource, viewName?: string, services?: RootProps['services'], extensionContext?: DesignerExtensionContext): DraftState;
6
+ /** 将 services prop 归一为实例 Map;宿主传入 Map 时保留其对象身份。 */
7
+ export declare function resolveDesignerServiceRegistry(services: RootProps['services'] | undefined): import("..").DesignerServiceRegistry | undefined;
8
+ //# sourceMappingURL=create-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-state.d.ts","sourceRoot":"","sources":["../../src/state/create-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGpD,4CAA4C;AAC5C,wBAAgB,WAAW,CACvB,MAAM,EAAE,cAAc,EACtB,QAAQ,SAAY,EACpB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAChC,gBAAgB,CAAC,EAAE,wBAAwB,GAC5C,UAAU,CAqBZ;AAED,mDAAmD;AACnD,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,oDAQzF"}
@@ -0,0 +1,12 @@
1
+ export { createState, resolveDesignerServiceRegistry } from './create-state';
2
+ export { cloneSchema, formatSchema, parseSchema, prepareDraftSchema } from './schema';
3
+ export { createDesignerOutputSchema } from './output';
4
+ export { getFormChildren, getFormView } from './form-view';
5
+ export { replaceFormView, updateFormView } from './form-actions';
6
+ export { updateSchema, undo, redo, restoreSaved } from './history';
7
+ export { getFields } from './field';
8
+ export { cloneNode, ensureNodeIds, getNodeById, getRootIndexById } from './tree';
9
+ export { getNodeMoveAvailability, type NodeMoveContext } from './visibility';
10
+ export { canPlaceDesignerNode, getDesignerNodePermissions, isDesignerHistorySnapshotAllowed, resolveDesignerNodePermissions, } from './node-permissions';
11
+ export { copySelectedNode, getSelectedField, getSelectedNode, insertDesignerMaterialInto, insertGeneratedFieldNodeAt, insertGeneratedFieldNodeInto, insertNodeAt, insertNodeInto, moveNode, moveNodeIntoParentEnd, moveNodeOutOfParent, moveNodeToParent, moveSelectedNode, removeSelectedNode, replaceSelectedNodeAndField, selectNode, updateSelectedField, updateSelectedNode, } from './node-actions';
12
+ //# sourceMappingURL=draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../src/state/draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,GACjC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ResourceField, SchemaResource, ViewNode } from '@sparqjs/schema-protocol';
2
+ /** 返回 schema 当前字段数组;未配置 fields 时返回空数组但不修改原 schema。 */
3
+ export declare function getFields(schema: SchemaResource): ResourceField[];
4
+ /** 复制节点树及其引用字段,清除后端标识并重写所有字段引用。 */
5
+ export declare function cloneNodeWithFields(schema: SchemaResource, node: ViewNode): ViewNode;
6
+ /** 根据字段类型和展示组件生成新字段的最小业务默认值。 */
7
+ export declare function createFieldDefaults(type: string, component?: string): Partial<ResourceField>;
8
+ /** 基于语义前缀生成 schema 内唯一字段名,不依赖可修改的字段标签。 */
9
+ export declare function createUniqueFieldName(schema: SchemaResource, type: string): string;
10
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/state/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAIvF,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,EAAE,CAEjE;AAED,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAKpF;AAED,gCAAgC;AAChC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsC5F;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYlF"}
@@ -0,0 +1,17 @@
1
+ import type { ActionRef, FormView } from '@sparqjs/schema-protocol';
2
+ import type { DraftState } from './types';
3
+ /** 合并更新当前 FormView 的顶层配置,并记录一次 history。 */
4
+ export declare function updateFormView(state: DraftState, patch: Partial<FormView>): void;
5
+ /** 用完整 FormView 替换当前视图,供属性面板批量写回使用。 */
6
+ export declare function replaceFormView(state: DraftState, form: FormView): void;
7
+ /** 按对象路径更新 FormView;空路径会被忽略,避免意外替换整个视图。 */
8
+ export declare function updateFormViewAtPath(state: DraftState, path: string, value: unknown): void;
9
+ /** 显示或关闭表单 footer;重新显示时恢复可编辑对象而不强行写入默认动作。 */
10
+ export declare function setFormFooterVisible(state: DraftState, visible: boolean): void;
11
+ /** 更新指定 footer action 的标题,并清理空标题产生的冗余协议字段。 */
12
+ export declare function updateFormFooterActionTitle(state: DraftState, action: string, title: string | undefined): void;
13
+ /** 在 reset、cancel 和无次要动作之间切换,同时保留 submit 配置。 */
14
+ export declare function updateFormFooterSecondaryAction(state: DraftState, action: 'reset' | 'cancel' | 'none'): void;
15
+ /** 解析 footer 实际展示的动作;未显式配置时返回 submit 与 reset 默认组合。 */
16
+ export declare function getEffectiveFormFooterActions(form: FormView): ActionRef[];
17
+ //# sourceMappingURL=form-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-actions.d.ts","sourceRoot":"","sources":["../../src/state/form-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAIhF;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAQvE;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAS1F;AAED,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAY9E;AAED,8CAA8C;AAC9C,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAY9G;AAED,gDAAgD;AAChD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAsB5G;AAED,sDAAsD;AACtD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,CAUzE"}
@@ -0,0 +1,6 @@
1
+ import type { FormView, SchemaResource, ViewNode } from '@sparqjs/schema-protocol';
2
+ /** 获取当前 FormView 的可写 children,并在缺失时初始化空数组。 */
3
+ export declare function getFormChildren(schema: SchemaResource, viewName: string): ViewNode[];
4
+ /** 获取可编辑 FormView;视图缺失或显式为 false 时创建带 schema 标题的空表单。 */
5
+ export declare function getFormView(schema: SchemaResource, viewName: string): FormView;
6
+ //# sourceMappingURL=form-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-view.d.ts","sourceRoot":"","sources":["../../src/state/form-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAIlF,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAMpF;AAED,wDAAwD;AACxD,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAoB9E"}
@@ -0,0 +1,16 @@
1
+ import type { SchemaResource } from '@sparqjs/schema-protocol';
2
+ import type { DraftState } from './types';
3
+ /**
4
+ * 执行一次设计器 schema 事务。
5
+ *
6
+ * 当前 schema 在事务中只读,可直接作为历史快照;修改始终发生在隔离的新草稿中。
7
+ * 提交后清空 redo 队列,并确保新节点 ID 已准备完成。
8
+ */
9
+ export declare function updateSchema(state: DraftState, mutate: (schema: SchemaResource) => void): void;
10
+ /** 恢复上一份 schema 快照,并把当前状态放入 redo 队列。 */
11
+ export declare function undo(state: DraftState): void;
12
+ /** 重新应用最近撤销的 schema 快照,并恢复对应 undo 历史。 */
13
+ export declare function redo(state: DraftState): void;
14
+ /** 回到最近保存成功的 schema,同时保留一次撤销机会。 */
15
+ export declare function restoreSaved(state: DraftState): void;
16
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/state/history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI,CAY9F;AAED,wCAAwC;AACxC,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAY5C;AAED,yCAAyC;AACzC,wBAAgB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAY5C;AAED,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAOpD"}