@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.
- package/README.md +40 -0
- package/dist/app/root.d.ts +63 -0
- package/dist/app/root.d.ts.map +1 -0
- package/dist/app/toolbar.d.ts +36 -0
- package/dist/app/toolbar.d.ts.map +1 -0
- package/dist/canvas/adapter.d.ts +47 -0
- package/dist/canvas/adapter.d.ts.map +1 -0
- package/dist/canvas/canvas.d.ts +20 -0
- package/dist/canvas/canvas.d.ts.map +1 -0
- package/dist/canvas/node-frame.d.ts +121 -0
- package/dist/canvas/node-frame.d.ts.map +1 -0
- package/dist/canvas/sortable-list.d.ts +44 -0
- package/dist/canvas/sortable-list.d.ts.map +1 -0
- package/dist/dialogs/dialogs.d.ts +58 -0
- package/dist/dialogs/dialogs.d.ts.map +1 -0
- package/dist/dialogs/resource-tree-model.d.ts +62 -0
- package/dist/dialogs/resource-tree-model.d.ts.map +1 -0
- package/dist/extensions/context.d.ts +76 -0
- package/dist/extensions/context.d.ts.map +1 -0
- package/dist/extensions/instance.d.ts +56 -0
- package/dist/extensions/instance.d.ts.map +1 -0
- package/dist/extensions/material.d.ts +49 -0
- package/dist/extensions/material.d.ts.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10190 -0
- package/dist/index.js.map +1 -0
- package/dist/inspector/boolean-checkbox.d.ts +26 -0
- package/dist/inspector/boolean-checkbox.d.ts.map +1 -0
- package/dist/inspector/capabilities/adapters.d.ts +16 -0
- package/dist/inspector/capabilities/adapters.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/color-palette.d.ts +4 -0
- package/dist/inspector/capabilities/cards/color-palette.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/component-settings.d.ts +8 -0
- package/dist/inspector/capabilities/cards/component-settings.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/input-slots.d.ts +4 -0
- package/dist/inspector/capabilities/cards/input-slots.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/interaction-rules.d.ts +4 -0
- package/dist/inspector/capabilities/cards/interaction-rules.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/option-source.d.ts +4 -0
- package/dist/inspector/capabilities/cards/option-source.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/validation-rules.d.ts +4 -0
- package/dist/inspector/capabilities/cards/validation-rules.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/value-strategy.d.ts +4 -0
- package/dist/inspector/capabilities/cards/value-strategy.d.ts.map +1 -0
- package/dist/inspector/capabilities/index.d.ts +5 -0
- package/dist/inspector/capabilities/index.d.ts.map +1 -0
- package/dist/inspector/capabilities/keys.d.ts +20 -0
- package/dist/inspector/capabilities/keys.d.ts.map +1 -0
- package/dist/inspector/capabilities/register-built-ins.d.ts +4 -0
- package/dist/inspector/capabilities/register-built-ins.d.ts.map +1 -0
- package/dist/inspector/capabilities/registry.d.ts +7 -0
- package/dist/inspector/capabilities/registry.d.ts.map +1 -0
- package/dist/inspector/capabilities/types.d.ts +44 -0
- package/dist/inspector/capabilities/types.d.ts.map +1 -0
- package/dist/inspector/color-palette-editor.d.ts +10 -0
- package/dist/inspector/color-palette-editor.d.ts.map +1 -0
- package/dist/inspector/commands/component-migration.d.ts +25 -0
- package/dist/inspector/commands/component-migration.d.ts.map +1 -0
- package/dist/inspector/commands/field-property.d.ts +51 -0
- package/dist/inspector/commands/field-property.d.ts.map +1 -0
- package/dist/inspector/commands/form-property.d.ts +25 -0
- package/dist/inspector/commands/form-property.d.ts.map +1 -0
- package/dist/inspector/component-settings-editor.d.ts +37 -0
- package/dist/inspector/component-settings-editor.d.ts.map +1 -0
- package/dist/inspector/computed-expression-editor.d.ts +20 -0
- package/dist/inspector/computed-expression-editor.d.ts.map +1 -0
- package/dist/inspector/condition-editor-model.d.ts +63 -0
- package/dist/inspector/condition-editor-model.d.ts.map +1 -0
- package/dist/inspector/condition-visual-editor.d.ts +30 -0
- package/dist/inspector/condition-visual-editor.d.ts.map +1 -0
- package/dist/inspector/container-items-editor.d.ts +42 -0
- package/dist/inspector/container-items-editor.d.ts.map +1 -0
- package/dist/inspector/date-time-format-editor.d.ts +30 -0
- package/dist/inspector/date-time-format-editor.d.ts.map +1 -0
- package/dist/inspector/default-value-editor.d.ts +30 -0
- package/dist/inspector/default-value-editor.d.ts.map +1 -0
- package/dist/inspector/field-property-view.d.ts +44 -0
- package/dist/inspector/field-property-view.d.ts.map +1 -0
- package/dist/inspector/field-schema/build-sections.d.ts +9 -0
- package/dist/inspector/field-schema/build-sections.d.ts.map +1 -0
- package/dist/inspector/field-schema/component-options.d.ts +14 -0
- package/dist/inspector/field-schema/component-options.d.ts.map +1 -0
- package/dist/inspector/field-schema/fields.d.ts +21 -0
- package/dist/inspector/field-schema/fields.d.ts.map +1 -0
- package/dist/inspector/field-schema/index.d.ts +5 -0
- package/dist/inspector/field-schema/index.d.ts.map +1 -0
- package/dist/inspector/field-schema/keys.d.ts +15 -0
- package/dist/inspector/field-schema/keys.d.ts.map +1 -0
- package/dist/inspector/field-schema/registry.d.ts +99 -0
- package/dist/inspector/field-schema/registry.d.ts.map +1 -0
- package/dist/inspector/field-schema/types.d.ts +113 -0
- package/dist/inspector/field-schema/types.d.ts.map +1 -0
- package/dist/inspector/form-property-view.d.ts +14 -0
- package/dist/inspector/form-property-view.d.ts.map +1 -0
- package/dist/inspector/form-schema.d.ts +64 -0
- package/dist/inspector/form-schema.d.ts.map +1 -0
- package/dist/inspector/input-slots-editor.d.ts +11 -0
- package/dist/inspector/input-slots-editor.d.ts.map +1 -0
- package/dist/inspector/inspector.d.ts +34 -0
- package/dist/inspector/inspector.d.ts.map +1 -0
- package/dist/inspector/interaction-rules-editor.d.ts +24 -0
- package/dist/inspector/interaction-rules-editor.d.ts.map +1 -0
- package/dist/inspector/option-source-editor.d.ts +35 -0
- package/dist/inspector/option-source-editor.d.ts.map +1 -0
- package/dist/inspector/option-source-summary.d.ts +4 -0
- package/dist/inspector/option-source-summary.d.ts.map +1 -0
- package/dist/inspector/property-commit.d.ts +23 -0
- package/dist/inspector/property-commit.d.ts.map +1 -0
- package/dist/inspector/property-section.d.ts +4 -0
- package/dist/inspector/property-section.d.ts.map +1 -0
- package/dist/inspector/property-ui-adapter.d.ts +4 -0
- package/dist/inspector/property-ui-adapter.d.ts.map +1 -0
- package/dist/inspector/required-validation.d.ts +16 -0
- package/dist/inspector/required-validation.d.ts.map +1 -0
- package/dist/inspector/validation-rule-editor.d.ts +25 -0
- package/dist/inspector/validation-rule-editor.d.ts.map +1 -0
- package/dist/inspector/value-strategy-editor.d.ts +31 -0
- package/dist/inspector/value-strategy-editor.d.ts.map +1 -0
- package/dist/services/registry.d.ts +68 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/shared/clone.d.ts +8 -0
- package/dist/shared/clone.d.ts.map +1 -0
- package/dist/shared/component-registry.d.ts +10 -0
- package/dist/shared/component-registry.d.ts.map +1 -0
- package/dist/shared/icons.d.ts +8 -0
- package/dist/shared/icons.d.ts.map +1 -0
- package/dist/shared/object-path.d.ts +14 -0
- package/dist/shared/object-path.d.ts.map +1 -0
- package/dist/shared/ui-adapter.d.ts +12 -0
- package/dist/shared/ui-adapter.d.ts.map +1 -0
- package/dist/shared/view-node.d.ts +9 -0
- package/dist/shared/view-node.d.ts.map +1 -0
- package/dist/sidebar/components.d.ts +24 -0
- package/dist/sidebar/components.d.ts.map +1 -0
- package/dist/sidebar/sidebar.d.ts +25 -0
- package/dist/sidebar/sidebar.d.ts.map +1 -0
- package/dist/state/component-config.d.ts +41 -0
- package/dist/state/component-config.d.ts.map +1 -0
- package/dist/state/create-state.d.ts +8 -0
- package/dist/state/create-state.d.ts.map +1 -0
- package/dist/state/draft.d.ts +12 -0
- package/dist/state/draft.d.ts.map +1 -0
- package/dist/state/field.d.ts +10 -0
- package/dist/state/field.d.ts.map +1 -0
- package/dist/state/form-actions.d.ts +17 -0
- package/dist/state/form-actions.d.ts.map +1 -0
- package/dist/state/form-view.d.ts +6 -0
- package/dist/state/form-view.d.ts.map +1 -0
- package/dist/state/history.d.ts +16 -0
- package/dist/state/history.d.ts.map +1 -0
- package/dist/state/node-actions.d.ts +66 -0
- package/dist/state/node-actions.d.ts.map +1 -0
- package/dist/state/node-permissions.d.ts +17 -0
- package/dist/state/node-permissions.d.ts.map +1 -0
- package/dist/state/output.d.ts +5 -0
- package/dist/state/output.d.ts.map +1 -0
- package/dist/state/schema.d.ts +10 -0
- package/dist/state/schema.d.ts.map +1 -0
- package/dist/state/tree.d.ts +28 -0
- package/dist/state/tree.d.ts.map +1 -0
- package/dist/state/types.d.ts +81 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/visibility.d.ts +17 -0
- package/dist/state/visibility.d.ts.map +1 -0
- package/package.json +46 -0
- package/src/style.css +2129 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
interface BooleanCheckboxProps {
|
|
3
|
+
inlineBooleanLabel?: string;
|
|
4
|
+
inlineBooleanTip?: string;
|
|
5
|
+
inlineBooleanTipId?: string;
|
|
6
|
+
}
|
|
7
|
+
/** Inspector 使用的布尔控件,保持 false 与未设置值的写回语义明确。 */
|
|
8
|
+
export declare const BooleanCheckbox: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
|
+
value: BooleanConstructor;
|
|
10
|
+
disabled: BooleanConstructor;
|
|
11
|
+
readonly: BooleanConstructor;
|
|
12
|
+
onChange: PropType<(value: boolean) => void>;
|
|
13
|
+
props: PropType<BooleanCheckboxProps>;
|
|
14
|
+
}>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
15
|
+
value: BooleanConstructor;
|
|
16
|
+
disabled: BooleanConstructor;
|
|
17
|
+
readonly: BooleanConstructor;
|
|
18
|
+
onChange: PropType<(value: boolean) => void>;
|
|
19
|
+
props: PropType<BooleanCheckboxProps>;
|
|
20
|
+
}>> & Readonly<{}>, {
|
|
21
|
+
readonly: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
value: boolean;
|
|
24
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=boolean-checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean-checkbox.d.ts","sourceRoot":"","sources":["../../src/inspector/boolean-checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAIpD,UAAU,oBAAoB;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,+CAA+C;AAC/C,eAAO,MAAM,eAAe;;;;cAME,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;WACvC,QAAQ,CAAC,oBAAoB,CAAC;;;;;cADzB,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;WACvC,QAAQ,CAAC,oBAAoB,CAAC;;;;;4EAkCrD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ResourceField } from '@sparqjs/schema-protocol';
|
|
2
|
+
import type { FieldSchemaContext } from '../field-schema';
|
|
3
|
+
/** 复杂取值逻辑的设计期投影,只覆盖动态默认值、计算值和对应持久化状态。 */
|
|
4
|
+
export declare function readFieldValueStrategy({ field }: FieldSchemaContext): Record<string, unknown>;
|
|
5
|
+
/** 动态与计算编辑器确认后一次替换其拥有的字段路径。 */
|
|
6
|
+
export declare function writeFieldValueStrategy({ field }: FieldSchemaContext, value: unknown): void;
|
|
7
|
+
/** 数据选项能力统一读写候选来源和字段引用,避免资源语义落入 UI 查询配置。 */
|
|
8
|
+
export declare function readFieldOptions({ field }: FieldSchemaContext): Record<string, unknown>;
|
|
9
|
+
export declare function writeFieldOptions({ field }: FieldSchemaContext, value: unknown): void;
|
|
10
|
+
/** 校验能力读取统一编辑投影,写回时规范化 required 的快捷属性和复杂规则入口。 */
|
|
11
|
+
export declare function readFieldValidation({ field }: FieldSchemaContext): NonNullable<ResourceField['validation']>;
|
|
12
|
+
export declare function writeFieldValidation({ field }: FieldSchemaContext, value: unknown): void;
|
|
13
|
+
/** 交互能力把三个条件路径聚合成一个编辑器值,但仍写回正式 ViewNode 协议。 */
|
|
14
|
+
export declare function readNodeInteractionRules({ node }: FieldSchemaContext): Record<string, unknown>;
|
|
15
|
+
export declare function writeNodeInteractionRules({ node }: FieldSchemaContext, value: unknown): void;
|
|
16
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,0BAA0B,CAAA;AAEvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGzD,yCAAyC;AACzC,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAc7F;AAED,+BAA+B;AAC/B,wBAAgB,uBAAuB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAuB3F;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKvF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAerF;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAE3G;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAUxF;AAED,+CAA+C;AAC/C,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM9F;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAU5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-palette.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/color-palette.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGtD,yDAAyD;AACzD,eAAO,MAAM,0BAA0B,EAAE,sBAyCxC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DesignerCapabilityCard } from '../types';
|
|
2
|
+
/** 将上传值模式、数量、类型和标题编辑聚合为一次能力配置。 */
|
|
3
|
+
export declare const uploadSettingsCapabilityCard: DesignerCapabilityCard;
|
|
4
|
+
/** 管理富文本编辑器选择、尺寸和工具栏配置,不展开编辑器私有 props。 */
|
|
5
|
+
export declare const richTextSettingsCapabilityCard: DesignerCapabilityCard;
|
|
6
|
+
/** 承载节点 class、style、writeBack 和扩展 props 等低频高级配置。 */
|
|
7
|
+
export declare const advancedConfigCapabilityCard: DesignerCapabilityCard;
|
|
8
|
+
//# sourceMappingURL=component-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-settings.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/component-settings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAgBtD,kCAAkC;AAClC,eAAO,MAAM,4BAA4B,EAAE,sBAiD1C,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,8BAA8B,EAAE,sBA0C5C,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,4BAA4B,EAAE,sBAmC1C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-slots.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/input-slots.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAKtD,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,sBAoCtC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-rules.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/interaction-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAItD,gCAAgC;AAChC,eAAO,MAAM,8BAA8B,EAAE,sBA+B5C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-source.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/option-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAKtD,0CAA0C;AAC1C,eAAO,MAAM,0BAA0B,EAAE,sBA8BxC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-rules.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/validation-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAItD,mDAAmD;AACnD,eAAO,MAAM,6BAA6B,EAAE,sBAmC3C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-strategy.d.ts","sourceRoot":"","sources":["../../../../src/inspector/capabilities/cards/value-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAItD,iCAAiC;AACjC,eAAO,MAAM,2BAA2B,EAAE,sBA2CzC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 设计器能力卡片 key。
|
|
3
|
+
*
|
|
4
|
+
* 这些 key 是右侧“字段能力”中复杂配置入口的稳定标识,只用于 DesignerExtensionContext 和
|
|
5
|
+
* 外部组件声明能力;业务 schema 不会写入这些 key,最终仍写回各自 affectedPaths。
|
|
6
|
+
*/
|
|
7
|
+
export declare const designerCapabilityCardKeys: {
|
|
8
|
+
readonly valueStrategy: "value-strategy";
|
|
9
|
+
readonly validationRules: "validation-rules";
|
|
10
|
+
readonly optionSource: "option-source";
|
|
11
|
+
readonly interactionRules: "interaction-rules";
|
|
12
|
+
readonly uploadSettings: "upload-settings";
|
|
13
|
+
readonly richTextSettings: "rich-text-settings";
|
|
14
|
+
readonly inputSlots: "input-slots";
|
|
15
|
+
readonly colorPalette: "color-palette";
|
|
16
|
+
readonly advancedConfig: "advanced-config";
|
|
17
|
+
};
|
|
18
|
+
/** 能力卡领域稳定标识;内置 key 有常量,插件可使用命名空间字符串。 */
|
|
19
|
+
export type DesignerCapabilityCardKey = string;
|
|
20
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;CAU7B,CAAA;AAEV,yCAAyC;AACzC,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-built-ins.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/register-built-ins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAarD,0CAA0C;AAC1C,eAAO,MAAM,8BAA8B,EAAE,SAAS,sBAAsB,EAU3E,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DesignerCapabilityCard } from './types';
|
|
2
|
+
import type { DesignerCapabilityCardKey } from './keys';
|
|
3
|
+
/** 读取设计器内置能力卡;插件能力卡必须通过当前实例的 DesignerExtensionContext 查询。 */
|
|
4
|
+
export declare function getDesignerCapabilityCard(key: DesignerCapabilityCardKey): DesignerCapabilityCard | undefined;
|
|
5
|
+
/** 返回按 order 排序的内置能力卡,供实例 Kernel 安装 builtin 层。 */
|
|
6
|
+
export declare function listDesignerCapabilityCards(keys?: DesignerCapabilityCardKey[]): DesignerCapabilityCard[];
|
|
7
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAA;AAGvD,6DAA6D;AAC7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,GAAG,sBAAsB,GAAG,SAAS,CAE5G;AAED,kDAAkD;AAClD,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE,yBAAyB,EAAE,GAAG,sBAAsB,EAAE,CAIxG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { FieldPropertyField, FieldSchemaContext } from '../field-schema';
|
|
2
|
+
import type { DesignerCapabilityCardKey } from './keys';
|
|
3
|
+
/** 能力卡在 Inspector 中的业务分类。 */
|
|
4
|
+
export type DesignerCapabilityCardGroup = 'value' | 'validation' | 'data' | 'interaction' | 'advanced';
|
|
5
|
+
/** 能力摘要状态,样式之外还决定空配置和错误提示语义。 */
|
|
6
|
+
export type DesignerCapabilitySummaryStatus = 'empty' | 'configured' | 'warning' | 'error';
|
|
7
|
+
/** 能力卡收起时展示的状态与摘要文本。 */
|
|
8
|
+
export interface DesignerCapabilitySummary {
|
|
9
|
+
status: DesignerCapabilitySummaryStatus;
|
|
10
|
+
text: string;
|
|
11
|
+
detail?: string;
|
|
12
|
+
}
|
|
13
|
+
/** 能力卡拥有写权限的节点或字段路径。 */
|
|
14
|
+
export interface DesignerCapabilityPath {
|
|
15
|
+
target: 'field' | 'node' | 'schema';
|
|
16
|
+
path: string;
|
|
17
|
+
}
|
|
18
|
+
/** 能力字段必须走 capability 存储边界;只读能力只展示状态,不允许产生配置命令。 */
|
|
19
|
+
export type DesignerCapabilityField = FieldPropertyField & {
|
|
20
|
+
storage: {
|
|
21
|
+
target: 'capability';
|
|
22
|
+
};
|
|
23
|
+
editLevel: 'capability' | 'readonly';
|
|
24
|
+
commitMode: 'confirm';
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 右侧能力卡片声明。
|
|
28
|
+
*
|
|
29
|
+
* 这是设计器内部组织协议,不会写入业务 schema。卡片负责把复杂交互收敛成摘要和入口,
|
|
30
|
+
* 最终仍写回 ResourceField、ViewNode 等正式协议字段。
|
|
31
|
+
*/
|
|
32
|
+
export interface DesignerCapabilityCard {
|
|
33
|
+
key: DesignerCapabilityCardKey;
|
|
34
|
+
title: string;
|
|
35
|
+
group: DesignerCapabilityCardGroup;
|
|
36
|
+
order?: number;
|
|
37
|
+
field: DesignerCapabilityField;
|
|
38
|
+
affectedPaths: DesignerCapabilityPath[];
|
|
39
|
+
read?: (context: FieldSchemaContext) => unknown;
|
|
40
|
+
write?: (context: FieldSchemaContext, value: unknown) => void;
|
|
41
|
+
visible?: (context: FieldSchemaContext) => boolean;
|
|
42
|
+
summary: (context: FieldSchemaContext) => DesignerCapabilitySummary;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inspector/capabilities/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAA;AAEvD,6BAA6B;AAC7B,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAA;AAEtG,gCAAgC;AAChC,MAAM,MAAM,+BAA+B,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE1F,wBAAwB;AACxB,MAAM,WAAW,yBAAyB;IACtC,MAAM,EAAE,+BAA+B,CAAA;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAwB;AACxB,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;IACnC,IAAI,EAAE,MAAM,CAAA;CACf;AAED,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG;IACvD,OAAO,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAA;IACjC,SAAS,EAAE,YAAY,GAAG,UAAU,CAAA;IACpC,UAAU,EAAE,SAAS,CAAA;CACxB,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,GAAG,EAAE,yBAAyB,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,2BAA2B,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,uBAAuB,CAAA;IAC9B,aAAa,EAAE,sBAAsB,EAAE,CAAA;IACvC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;IAClD,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,yBAAyB,CAAA;CACtE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
/** 使用 swatch 列表编辑颜色组件的预设值,确认后一次写回 capability。 */
|
|
3
|
+
export declare const ColorPaletteEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
value: PropType<string[]>;
|
|
5
|
+
onChange: PropType<(value: string[]) => void>;
|
|
6
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
|
+
value: PropType<string[]>;
|
|
8
|
+
onChange: PropType<(value: string[]) => void>;
|
|
9
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
10
|
+
//# sourceMappingURL=color-palette-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-palette-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/color-palette-editor.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAGnE,iDAAiD;AACjD,eAAO,MAAM,kBAAkB;WAGP,QAAQ,CAAC,MAAM,EAAE,CAAC;cACZ,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;;WADzC,QAAQ,CAAC,MAAM,EAAE,CAAC;cACZ,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;iGA6J/D,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ResourceField, ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
import { type DesignerComponentMigrationChange, type FieldSchemaContext } from '../field-schema';
|
|
3
|
+
/** 源组件与目标组件的数据协议兼容程度。 */
|
|
4
|
+
export type DesignerComponentMigrationCompatibility = 'unchanged' | 'same-group' | 'cross-group' | 'unknown';
|
|
5
|
+
/** 迁移是否可以直接提交,或必须先向用户展示变化摘要。 */
|
|
6
|
+
export type DesignerComponentMigrationRisk = 'none' | 'confirmation';
|
|
7
|
+
/** 组件切换的完整预演结果,不会直接修改 DraftState。 */
|
|
8
|
+
export interface DesignerComponentMigrationPlan {
|
|
9
|
+
sourceComponent: string;
|
|
10
|
+
sourceLabel: string;
|
|
11
|
+
targetComponent: string;
|
|
12
|
+
targetLabel: string;
|
|
13
|
+
compatibility: DesignerComponentMigrationCompatibility;
|
|
14
|
+
risk: DesignerComponentMigrationRisk;
|
|
15
|
+
changes: DesignerComponentMigrationChange[];
|
|
16
|
+
node: ViewNode;
|
|
17
|
+
field?: ResourceField;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 规划组件切换后的节点和字段变化。
|
|
21
|
+
*
|
|
22
|
+
* 该方法只返回迁移计划,不修改 DraftState;调用方必须根据 risk 请求确认后再整体提交。
|
|
23
|
+
*/
|
|
24
|
+
export declare function planComponentMigration(context: FieldSchemaContext, targetComponent: string): DesignerComponentMigrationPlan;
|
|
25
|
+
//# sourceMappingURL=component-migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-migration.d.ts","sourceRoot":"","sources":["../../../src/inspector/commands/component-migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAUvE,OAAO,EAKH,KAAK,gCAAgC,EAErC,KAAK,kBAAkB,EAC1B,MAAM,iBAAiB,CAAA;AAExB,yBAAyB;AACzB,MAAM,MAAM,uCAAuC,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,CAAA;AAE5G,gCAAgC;AAChC,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,cAAc,CAAA;AAEpE,qCAAqC;AACrC,MAAM,WAAW,8BAA8B;IAC3C,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,uCAAuC,CAAA;IACtD,IAAI,EAAE,8BAA8B,CAAA;IACpC,OAAO,EAAE,gCAAgC,EAAE,CAAA;IAC3C,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,MAAM,GACxB,8BAA8B,CA2GhC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type DesignerCapabilityCardKey } from '../capabilities';
|
|
2
|
+
import { type FieldPropertyValues } from '../field-property-view';
|
|
3
|
+
import { type FieldSchemaContext, type FieldSchemaSection } from '../field-schema';
|
|
4
|
+
import type { DraftState } from '../../state/types';
|
|
5
|
+
import { type DesignerComponentMigrationPlan } from './component-migration';
|
|
6
|
+
/** 一次提交多个轻量属性的命令,不允许夹带组件切换。 */
|
|
7
|
+
export interface UpdateInlinePropertiesCommand {
|
|
8
|
+
type: 'update-inline-properties';
|
|
9
|
+
values: FieldPropertyValues;
|
|
10
|
+
}
|
|
11
|
+
/** 通过能力卡边界写回复合配置的命令。 */
|
|
12
|
+
export interface ConfigureCapabilityCommand {
|
|
13
|
+
type: 'configure-capability';
|
|
14
|
+
capability: DesignerCapabilityCardKey;
|
|
15
|
+
value: unknown;
|
|
16
|
+
}
|
|
17
|
+
/** 组件切换命令;风险迁移只有 confirmed 后才会写入草稿。 */
|
|
18
|
+
export interface ChangeComponentCommand {
|
|
19
|
+
type: 'change-component';
|
|
20
|
+
component: string;
|
|
21
|
+
confirmed?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/** 字段属性面板可提交的封闭命令集合。 */
|
|
24
|
+
export type FieldPropertyCommand = UpdateInlinePropertiesCommand | ConfigureCapabilityCommand | ChangeComponentCommand;
|
|
25
|
+
export interface FieldPropertyCommandIssue {
|
|
26
|
+
key: string;
|
|
27
|
+
code: 'required' | 'invalid-format' | 'duplicate';
|
|
28
|
+
message: string;
|
|
29
|
+
}
|
|
30
|
+
/** 属性命令执行结果,确认态携带完整迁移计划供 UI 展示。 */
|
|
31
|
+
export type FieldPropertyCommandResult = {
|
|
32
|
+
status: 'applied';
|
|
33
|
+
} | {
|
|
34
|
+
status: 'unchanged';
|
|
35
|
+
} | {
|
|
36
|
+
status: 'confirmation-required';
|
|
37
|
+
plan: DesignerComponentMigrationPlan;
|
|
38
|
+
} | {
|
|
39
|
+
status: 'rejected';
|
|
40
|
+
message: string;
|
|
41
|
+
issues?: FieldPropertyCommandIssue[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* 将一次属性表单更新拆成明确命令。组件变更独占一次更新,避免与普通属性混入同一迁移。
|
|
45
|
+
*/
|
|
46
|
+
export declare function createFieldPropertyCommands(context: FieldSchemaContext, values: FieldPropertyValues, sections?: readonly FieldSchemaSection[]): FieldPropertyCommand[];
|
|
47
|
+
/**
|
|
48
|
+
* 整批命令在校验通过后只提交一次 schema 更新,拒绝和无变化都不会产生 history。
|
|
49
|
+
*/
|
|
50
|
+
export declare function executeFieldPropertyCommands(state: DraftState, commands: FieldPropertyCommand[]): FieldPropertyCommandResult;
|
|
51
|
+
//# sourceMappingURL=field-property.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-property.d.ts","sourceRoot":"","sources":["../../../src/inspector/commands/field-property.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3F,OAAO,EAIH,KAAK,mBAAmB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGH,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAC1B,MAAM,iBAAiB,CAAA;AAQxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAA0B,KAAK,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AAEnG,+BAA+B;AAC/B,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,0BAA0B,CAAA;IAChC,MAAM,EAAE,mBAAmB,CAAA;CAC9B;AAED,wBAAwB;AACxB,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,sBAAsB,CAAA;IAC5B,UAAU,EAAE,yBAAyB,CAAA;IACrC,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAwB;AACxB,MAAM,MAAM,oBAAoB,GAAG,6BAA6B,GAAG,0BAA0B,GAAG,sBAAsB,CAAA;AAEtH,MAAM,WAAW,yBAAyB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,UAAU,GAAG,gBAAgB,GAAG,WAAW,CAAA;IACjD,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,mCAAmC;AACnC,MAAM,MAAM,0BAA0B,GAChC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,8BAA8B,CAAA;CAAE,GACzE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAA;CAAE,CAAA;AAEnF;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,GAAE,SAAS,kBAAkB,EAAuC,GAC7E,oBAAoB,EAAE,CAgDxB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,oBAAoB,EAAE,GACjC,0BAA0B,CAwD5B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DraftState } from '../../state/types';
|
|
2
|
+
import { type FormPropertyValues } from '../form-property-view';
|
|
3
|
+
/** 一次表单属性提交,只携带已经到达 commitMode 边界的局部值。 */
|
|
4
|
+
export interface UpdateFormPropertiesCommand {
|
|
5
|
+
type: 'update-form-properties';
|
|
6
|
+
values: FormPropertyValues;
|
|
7
|
+
}
|
|
8
|
+
export interface FormPropertyCommandIssue {
|
|
9
|
+
key: string;
|
|
10
|
+
code: 'unknown-property';
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
/** 表单属性命令结果与字段命令保持相同状态语义,但领域类型独立。 */
|
|
14
|
+
export type FormPropertyCommandResult = {
|
|
15
|
+
status: 'applied';
|
|
16
|
+
} | {
|
|
17
|
+
status: 'unchanged';
|
|
18
|
+
} | {
|
|
19
|
+
status: 'rejected';
|
|
20
|
+
message: string;
|
|
21
|
+
issues: FormPropertyCommandIssue[];
|
|
22
|
+
};
|
|
23
|
+
/** 校验局部属性后一次替换 FormView,因此一个用户操作只产生一个 history。 */
|
|
24
|
+
export declare function executeFormPropertyCommand(state: DraftState, command: UpdateFormPropertiesCommand): FormPropertyCommandResult;
|
|
25
|
+
//# sourceMappingURL=form-property.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-property.d.ts","sourceRoot":"","sources":["../../../src/inspector/commands/form-property.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAGzF,0CAA0C;AAC1C,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,MAAM,EAAE,kBAAkB,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,qCAAqC;AACrC,MAAM,MAAM,yBAAyB,GAC/B;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,wBAAwB,EAAE,CAAA;CAAE,CAAA;AAEjF,kDAAkD;AAClD,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,2BAA2B,GACrC,yBAAyB,CA8B3B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { FieldPropertyField } from './field-schema';
|
|
3
|
+
interface CapabilitySummaryProps {
|
|
4
|
+
summary?: {
|
|
5
|
+
text?: string;
|
|
6
|
+
detail?: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
interface ComponentSettingsProps {
|
|
10
|
+
settings?: FieldPropertyField[];
|
|
11
|
+
dialogTitle?: string;
|
|
12
|
+
settingsKind?: 'upload' | 'rich-text';
|
|
13
|
+
capability?: CapabilitySummaryProps;
|
|
14
|
+
}
|
|
15
|
+
type ComponentSettingsValue = Record<string, unknown>;
|
|
16
|
+
/** 根据能力卡字段 schema 打开组件复合配置弹层,并在确认后一次提交完整值。 */
|
|
17
|
+
export declare const ComponentSettingsEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
18
|
+
value: PropType<ComponentSettingsValue>;
|
|
19
|
+
onChange: PropType<(value: ComponentSettingsValue) => void>;
|
|
20
|
+
props: PropType<ComponentSettingsProps>;
|
|
21
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
+
value: PropType<ComponentSettingsValue>;
|
|
23
|
+
onChange: PropType<(value: ComponentSettingsValue) => void>;
|
|
24
|
+
props: PropType<ComponentSettingsProps>;
|
|
25
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
26
|
+
/** 展示高级配置是否存在,不在主属性面板直接展开扩展 JSON。 */
|
|
27
|
+
export declare const AdvancedConfigStatus: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
28
|
+
props: PropType<{
|
|
29
|
+
capability?: CapabilitySummaryProps;
|
|
30
|
+
}>;
|
|
31
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
|
+
props: PropType<{
|
|
33
|
+
capability?: CapabilitySummaryProps;
|
|
34
|
+
}>;
|
|
35
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=component-settings-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-settings-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/component-settings-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAM7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,UAAU,sBAAsB;IAC5B,OAAO,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACJ;AAED,UAAU,sBAAsB;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IACrC,UAAU,CAAC,EAAE,sBAAsB,CAAA;CACtC;AAED,KAAK,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAErD,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB;WAGX,QAAQ,CAAC,sBAAsB,CAAC;cAC3B,QAAQ,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;WACtD,QAAQ,CAAC,sBAAsB,CAAC;;WAFhC,QAAQ,CAAC,sBAAsB,CAAC;cAC3B,QAAQ,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;WACtD,QAAQ,CAAC,sBAAsB,CAAC;iGAoGvD,CAAA;AAEF,qCAAqC;AACrC,eAAO,MAAM,oBAAoB;WAGR,QAAQ,CAAC;QAAE,UAAU,CAAC,EAAE,sBAAsB,CAAA;KAAE,CAAC;;WAAjD,QAAQ,CAAC;QAAE,UAAU,CAAC,EAAE,sBAAsB,CAAA;KAAE,CAAC;iGAcxE,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { ResourceField, ValueExpression } from '@sparqjs/schema-protocol';
|
|
3
|
+
export interface ComputedExpressionEditorValue {
|
|
4
|
+
expression: ValueExpression;
|
|
5
|
+
triggers: string[];
|
|
6
|
+
}
|
|
7
|
+
/** 使用受限结构编辑字段计算,不执行任意脚本或字符串表达式。 */
|
|
8
|
+
export declare const ComputedExpressionEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
|
+
expression: PropType<ValueExpression>;
|
|
10
|
+
fields: PropType<ResourceField[]>;
|
|
11
|
+
targetField: PropType<ResourceField>;
|
|
12
|
+
onChange: PropType<(value: ComputedExpressionEditorValue) => void>;
|
|
13
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
|
+
expression: PropType<ValueExpression>;
|
|
15
|
+
fields: PropType<ResourceField[]>;
|
|
16
|
+
targetField: PropType<ResourceField>;
|
|
17
|
+
onChange: PropType<(value: ComputedExpressionEditorValue) => void>;
|
|
18
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
19
|
+
export declare function createInitialComputedExpression(fields: ResourceField[] | undefined, targetField: ResourceField | undefined): ComputedExpressionEditorValue;
|
|
20
|
+
//# sourceMappingURL=computed-expression-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computed-expression-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/computed-expression-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAK9E,MAAM,WAAW,6BAA6B;IAC1C,UAAU,EAAE,eAAe,CAAA;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,mCAAmC;AACnC,eAAO,MAAM,wBAAwB;gBAGP,QAAQ,CAAC,eAAe,CAAC;YAC9B,QAAQ,CAAC,aAAa,EAAE,CAAC;iBACnB,QAAQ,CAAC,aAAa,CAAC;cACxB,QAAQ,CAAC,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;;gBAHxD,QAAQ,CAAC,eAAe,CAAC;YAC9B,QAAQ,CAAC,aAAa,EAAE,CAAC;iBACnB,QAAQ,CAAC,aAAa,CAAC;cACxB,QAAQ,CAAC,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;iGAqKpF,CAAA;AAEF,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EACnC,WAAW,EAAE,aAAa,GAAG,SAAS,GACvC,6BAA6B,CAI/B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type Condition, type ConditionOperator, type ResourceField, type ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
/** 设计器允许在交互规则中编辑的节点条件字段。 */
|
|
3
|
+
export type DesignerConditionName = 'show_when' | 'disabled_when' | 'readonly_when';
|
|
4
|
+
/** 可视模式处理常见规则,JSON 模式保留完整高级协议。 */
|
|
5
|
+
export type DesignerConditionMode = 'visual' | 'json';
|
|
6
|
+
/** 条件组内子项的组合关系。 */
|
|
7
|
+
export type DesignerConditionGroupLogic = 'all' | 'any';
|
|
8
|
+
/** 单类交互条件的标题和说明。 */
|
|
9
|
+
export interface DesignerConditionConfig {
|
|
10
|
+
name: DesignerConditionName;
|
|
11
|
+
title: string;
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
/** 条件编辑器完整表单状态,同时保留可视树和 JSON 文本。 */
|
|
15
|
+
export interface ConditionEditorValues {
|
|
16
|
+
mode: DesignerConditionMode;
|
|
17
|
+
json: string;
|
|
18
|
+
root: ConditionEditorGroupValues;
|
|
19
|
+
}
|
|
20
|
+
/** 可视条件树中的单条字段判断。 */
|
|
21
|
+
export interface ConditionEditorRuleValues {
|
|
22
|
+
kind: 'rule';
|
|
23
|
+
field: string;
|
|
24
|
+
op: ConditionOperator;
|
|
25
|
+
value: string;
|
|
26
|
+
}
|
|
27
|
+
/** 可视条件树中的嵌套 all/any 分组。 */
|
|
28
|
+
export interface ConditionEditorGroupValues {
|
|
29
|
+
kind: 'group';
|
|
30
|
+
logic: DesignerConditionGroupLogic;
|
|
31
|
+
items: ConditionEditorItemValues[];
|
|
32
|
+
}
|
|
33
|
+
/** 可视条件树允许递归包含规则或分组。 */
|
|
34
|
+
export type ConditionEditorItemValues = ConditionEditorRuleValues | ConditionEditorGroupValues;
|
|
35
|
+
/** 节点交互条件的标题和业务含义,决定能力编辑器展示顺序。 */
|
|
36
|
+
export declare const conditionConfigs: DesignerConditionConfig[];
|
|
37
|
+
/** 可视条件编辑器支持的操作符;其他协议结构会进入 JSON 模式。 */
|
|
38
|
+
export declare const conditionOperatorOptions: Array<{
|
|
39
|
+
label: string;
|
|
40
|
+
value: ConditionOperator;
|
|
41
|
+
}>;
|
|
42
|
+
/** 字段节点显示全部交互条件,布局节点只允许配置显示条件。 */
|
|
43
|
+
export declare function visibleConditionConfigs(node: ViewNode): DesignerConditionConfig[];
|
|
44
|
+
/** 将协议 Condition 转换为可视模型;表达式等高级结构自动切换到 JSON 模式。 */
|
|
45
|
+
export declare function createConditionEditorValues(condition: Condition | undefined): ConditionEditorValues;
|
|
46
|
+
/** 将编辑器值写回 Condition;单条规则保持扁平协议,多条规则生成 all/any 分组。 */
|
|
47
|
+
export declare function applyConditionEditorValues(values: ConditionEditorValues): Condition;
|
|
48
|
+
/** 创建可直接插入规则列表的空白条件行。 */
|
|
49
|
+
export declare function createEmptyRule(): ConditionEditorRuleValues;
|
|
50
|
+
/** 创建包含一条空规则的 AND 条件组,保证可视编辑器始终有可操作入口。 */
|
|
51
|
+
export declare function createEmptyGroup(): ConditionEditorGroupValues;
|
|
52
|
+
/** 生成 form 字段路径选项,并保留协议中已存在但当前 schema 未声明的路径。 */
|
|
53
|
+
export declare function createConditionFieldOptions(fields: ResourceField[], currentField: string): Array<{
|
|
54
|
+
label: string;
|
|
55
|
+
value: string;
|
|
56
|
+
}>;
|
|
57
|
+
/** 将一行可视规则转换为扁平 Condition,并按操作符解析标量值。 */
|
|
58
|
+
export declare function createSimpleCondition(values: ConditionEditorRuleValues): Condition;
|
|
59
|
+
/** 生成人类可读的条件摘要,供能力卡在未展开时展示。 */
|
|
60
|
+
export declare function summarizeCondition(condition: Condition | undefined): string;
|
|
61
|
+
/** 判断条件是否需要 JSON 模式,包含分组、取反、表达式和选择状态结构。 */
|
|
62
|
+
export declare function isAdvancedCondition(condition: Condition | undefined): boolean;
|
|
63
|
+
//# sourceMappingURL=condition-editor-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-editor-model.d.ts","sourceRoot":"","sources":["../../src/inspector/condition-editor-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,QAAQ,EAChB,MAAM,0BAA0B,CAAA;AAEjC,4BAA4B;AAC5B,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,eAAe,GAAG,eAAe,CAAA;AACnF,kCAAkC;AAClC,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,MAAM,CAAA;AACrD,mBAAmB;AACnB,MAAM,MAAM,2BAA2B,GAAG,KAAK,GAAG,KAAK,CAAA;AAEvD,oBAAoB;AACpB,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,0BAA0B,CAAA;CACnC;AAED,qBAAqB;AACrB,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,iBAAiB,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,4BAA4B;AAC5B,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,2BAA2B,CAAA;IAClC,KAAK,EAAE,yBAAyB,EAAE,CAAA;CACrC;AAED,wBAAwB;AACxB,MAAM,MAAM,yBAAyB,GAAG,yBAAyB,GAAG,0BAA0B,CAAA;AAE9F,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAE,uBAAuB,EAgBrD,CAAA;AAED,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAYvF,CAAA;AAED,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,uBAAuB,EAAE,CAQjF;AAED,mDAAmD;AACnD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,qBAAqB,CA+BnG;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAcnF;AAED,yBAAyB;AACzB,wBAAgB,eAAe,IAAI,yBAAyB,CAO3D;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,IAAI,0BAA0B,CAM7D;AAED,iDAAiD;AACjD,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,aAAa,EAAE,EACvB,YAAY,EAAE,MAAM,GACrB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBzC;AAMD,yCAAyC;AACzC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAclF;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CA+B3E;AAED,2CAA2C;AAC3C,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAE7E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { ResourceField } from '@sparqjs/schema-protocol';
|
|
3
|
+
import { type ConditionEditorValues } from './condition-editor-model';
|
|
4
|
+
/** 编辑单条或嵌套条件组,并在无法可视化的协议结构上保留 JSON 模式。 */
|
|
5
|
+
export declare const ConditionVisualEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6
|
+
values: {
|
|
7
|
+
type: PropType<ConditionEditorValues>;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
fields: {
|
|
11
|
+
type: PropType<ResourceField[]>;
|
|
12
|
+
default: () => never[];
|
|
13
|
+
};
|
|
14
|
+
onChange: PropType<(values: ConditionEditorValues) => void>;
|
|
15
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
16
|
+
values: {
|
|
17
|
+
type: PropType<ConditionEditorValues>;
|
|
18
|
+
required: true;
|
|
19
|
+
};
|
|
20
|
+
fields: {
|
|
21
|
+
type: PropType<ResourceField[]>;
|
|
22
|
+
default: () => never[];
|
|
23
|
+
};
|
|
24
|
+
onChange: PropType<(values: ConditionEditorValues) => void>;
|
|
25
|
+
}>> & Readonly<{}>, {
|
|
26
|
+
fields: ResourceField[];
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
28
|
+
/** 判断条件编辑器是否包含有效输入,用于空配置摘要和清除操作。 */
|
|
29
|
+
export declare function hasConditionEditorValue(values: ConditionEditorValues): boolean;
|
|
30
|
+
//# sourceMappingURL=condition-visual-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition-visual-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/condition-visual-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAG7D,OAAO,EAUH,KAAK,qBAAqB,EAC7B,MAAM,0BAA0B,CAAA;AAIjC,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB;;cAIN,QAAQ,CAAC,qBAAqB,CAAC;;;;cAIhC,QAAQ,CAAC,aAAa,EAAE,CAAC;;;cAGtB,QAAQ,CAAC,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;;;cAPnD,QAAQ,CAAC,qBAAqB,CAAC;;;;cAIhC,QAAQ,CAAC,aAAa,EAAE,CAAC;;;cAGtB,QAAQ,CAAC,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;;;4EAsE7E,CAAA;AA+RF,oCAAoC;AACpC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAM9E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { ViewNode } from '@sparqjs/schema-protocol';
|
|
3
|
+
export type ContainerItemsType = 'tabs' | 'collapse';
|
|
4
|
+
interface ContainerItemsEditorConfig {
|
|
5
|
+
containerType?: ContainerItemsType;
|
|
6
|
+
}
|
|
7
|
+
interface ContainerItemsEditorProps {
|
|
8
|
+
containerItems?: ContainerItemsEditorConfig;
|
|
9
|
+
}
|
|
10
|
+
/** 管理 tabs/collapse 的专用子节点,重排和改名时完整保留每个项目的内容树。 */
|
|
11
|
+
export declare const ContainerItemsEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
value: PropType<ViewNode[]>;
|
|
13
|
+
onChange: PropType<(value: ViewNode[]) => void>;
|
|
14
|
+
disabled: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
|
+
readonly: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
props: PropType<ContainerItemsEditorProps>;
|
|
23
|
+
}>, () => JSX.Element | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
|
+
value: PropType<ViewNode[]>;
|
|
25
|
+
onChange: PropType<(value: ViewNode[]) => void>;
|
|
26
|
+
disabled: {
|
|
27
|
+
type: BooleanConstructor;
|
|
28
|
+
default: boolean;
|
|
29
|
+
};
|
|
30
|
+
readonly: {
|
|
31
|
+
type: BooleanConstructor;
|
|
32
|
+
default: boolean;
|
|
33
|
+
};
|
|
34
|
+
props: PropType<ContainerItemsEditorProps>;
|
|
35
|
+
}>> & Readonly<{}>, {
|
|
36
|
+
readonly: boolean;
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
39
|
+
/** 创建一个具备稳定协议 name 与设计器 ID 的空项目节点。 */
|
|
40
|
+
export declare function createContainerItem(items: ViewNode[], containerType: ContainerItemsType): ViewNode;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=container-items-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container-items-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/container-items-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAMxD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,UAAU,CAAA;AAEpD,UAAU,0BAA0B;IAChC,aAAa,CAAC,EAAE,kBAAkB,CAAA;CACrC;AAED,UAAU,yBAAyB;IAC/B,cAAc,CAAC,EAAE,0BAA0B,CAAA;CAC9C;AAoBD,kDAAkD;AAClD,eAAO,MAAM,oBAAoB;WAGT,QAAQ,CAAC,QAAQ,EAAE,CAAC;cACd,QAAQ,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;;;;;;;;;WAG1C,QAAQ,CAAC,yBAAyB,CAAC;;WAJpC,QAAQ,CAAC,QAAQ,EAAE,CAAC;cACd,QAAQ,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;;;;;;;;;WAG1C,QAAQ,CAAC,yBAAyB,CAAC;;;;4EAyN1D,CAAA;AAEF,sCAAsC;AACtC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,kBAAkB,GAAG,QAAQ,CAalG"}
|