@kurot/ui-document 0.1.0 → 0.3.1
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 +112 -12
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/kurot/assets/UIAssetRegistry.d.ts +47 -0
- package/dist/kurot/assets/UIAssetRegistry.d.ts.map +1 -0
- package/dist/kurot/assets/UIAssetRegistry.js +139 -0
- package/dist/kurot/assets/UIAssetRegistry.js.map +1 -0
- package/dist/kurot/assets/UIProjectDefinition.d.ts +33 -0
- package/dist/kurot/assets/UIProjectDefinition.d.ts.map +1 -0
- package/dist/kurot/assets/UIProjectDefinition.js +2 -0
- package/dist/kurot/assets/UIProjectDefinition.js.map +1 -0
- package/dist/kurot/assets/assetTraversal.d.ts +30 -0
- package/dist/kurot/assets/assetTraversal.d.ts.map +1 -0
- package/dist/kurot/assets/assetTraversal.js +96 -0
- package/dist/kurot/assets/assetTraversal.js.map +1 -0
- package/dist/kurot/assets/index.d.ts +4 -0
- package/dist/kurot/assets/index.d.ts.map +1 -0
- package/dist/kurot/assets/index.js +3 -0
- package/dist/kurot/assets/index.js.map +1 -0
- package/dist/kurot/assets/validateUIAssetInstances.d.ts +9 -0
- package/dist/kurot/assets/validateUIAssetInstances.d.ts.map +1 -0
- package/dist/kurot/assets/validateUIAssetInstances.js +114 -0
- package/dist/kurot/assets/validateUIAssetInstances.js.map +1 -0
- package/dist/kurot/assets/validateUIAssetOverrides.d.ts +8 -0
- package/dist/kurot/assets/validateUIAssetOverrides.d.ts.map +1 -0
- package/dist/kurot/assets/validateUIAssetOverrides.js +55 -0
- package/dist/kurot/assets/validateUIAssetOverrides.js.map +1 -0
- package/dist/kurot/assets/validateUIAssetRegistry.d.ts +8 -0
- package/dist/kurot/assets/validateUIAssetRegistry.d.ts.map +1 -0
- package/dist/kurot/assets/validateUIAssetRegistry.js +79 -0
- package/dist/kurot/assets/validateUIAssetRegistry.js.map +1 -0
- package/dist/kurot/assets/validateUIProjectReferences.d.ts +8 -0
- package/dist/kurot/assets/validateUIProjectReferences.d.ts.map +1 -0
- package/dist/kurot/assets/validateUIProjectReferences.js +50 -0
- package/dist/kurot/assets/validateUIProjectReferences.js.map +1 -0
- package/dist/kurot/catalog/properties/basic-component-properties.d.ts.map +1 -1
- package/dist/kurot/catalog/properties/basic-component-properties.js +8 -10
- package/dist/kurot/catalog/properties/basic-component-properties.js.map +1 -1
- package/dist/kurot/catalog/properties/foundation-properties.d.ts.map +1 -1
- package/dist/kurot/catalog/properties/foundation-properties.js +6 -17
- package/dist/kurot/catalog/properties/foundation-properties.js.map +1 -1
- package/dist/kurot/document/create.d.ts +20 -0
- package/dist/kurot/document/create.d.ts.map +1 -1
- package/dist/kurot/document/create.js +10 -0
- package/dist/kurot/document/create.js.map +1 -1
- package/dist/kurot/document/createAssetContract.d.ts +39 -0
- package/dist/kurot/document/createAssetContract.d.ts.map +1 -0
- package/dist/kurot/document/createAssetContract.js +17 -0
- package/dist/kurot/document/createAssetContract.js.map +1 -0
- package/dist/kurot/document/createComponentInstance.d.ts +34 -0
- package/dist/kurot/document/createComponentInstance.d.ts.map +1 -0
- package/dist/kurot/document/createComponentInstance.js +13 -0
- package/dist/kurot/document/createComponentInstance.js.map +1 -0
- package/dist/kurot/document/createReferences.d.ts +14 -0
- package/dist/kurot/document/createReferences.d.ts.map +1 -0
- package/dist/kurot/document/createReferences.js +29 -0
- package/dist/kurot/document/createReferences.js.map +1 -0
- package/dist/kurot/document/index.d.ts +5 -0
- package/dist/kurot/document/index.d.ts.map +1 -1
- package/dist/kurot/document/index.js +3 -0
- package/dist/kurot/document/index.js.map +1 -1
- package/dist/kurot/document/query.d.ts.map +1 -1
- package/dist/kurot/document/query.js +16 -0
- package/dist/kurot/document/query.js.map +1 -1
- package/dist/kurot/editing/UIDocumentHistory.d.ts +41 -0
- package/dist/kurot/editing/UIDocumentHistory.d.ts.map +1 -0
- package/dist/kurot/editing/UIDocumentHistory.js +95 -0
- package/dist/kurot/editing/UIDocumentHistory.js.map +1 -0
- package/dist/kurot/editing/UIEditError.d.ts +24 -0
- package/dist/kurot/editing/UIEditError.d.ts.map +1 -0
- package/dist/kurot/editing/UIEditError.js +25 -0
- package/dist/kurot/editing/UIEditError.js.map +1 -0
- package/dist/kurot/editing/UIOperation.d.ts +134 -0
- package/dist/kurot/editing/UIOperation.d.ts.map +1 -0
- package/dist/kurot/editing/UIOperation.js +2 -0
- package/dist/kurot/editing/UIOperation.js.map +1 -0
- package/dist/kurot/editing/UITransaction.d.ts +69 -0
- package/dist/kurot/editing/UITransaction.d.ts.map +1 -0
- package/dist/kurot/editing/UITransaction.js +2 -0
- package/dist/kurot/editing/UITransaction.js.map +1 -0
- package/dist/kurot/editing/applyContractOperation.d.ts +11 -0
- package/dist/kurot/editing/applyContractOperation.d.ts.map +1 -0
- package/dist/kurot/editing/applyContractOperation.js +76 -0
- package/dist/kurot/editing/applyContractOperation.js.map +1 -0
- package/dist/kurot/editing/applyInstanceOperation.d.ts +11 -0
- package/dist/kurot/editing/applyInstanceOperation.d.ts.map +1 -0
- package/dist/kurot/editing/applyInstanceOperation.js +150 -0
- package/dist/kurot/editing/applyInstanceOperation.js.map +1 -0
- package/dist/kurot/editing/applyNodeOperation.d.ts +11 -0
- package/dist/kurot/editing/applyNodeOperation.d.ts.map +1 -0
- package/dist/kurot/editing/applyNodeOperation.js +133 -0
- package/dist/kurot/editing/applyNodeOperation.js.map +1 -0
- package/dist/kurot/editing/applyUIOperation.d.ts +11 -0
- package/dist/kurot/editing/applyUIOperation.d.ts.map +1 -0
- package/dist/kurot/editing/applyUIOperation.js +46 -0
- package/dist/kurot/editing/applyUIOperation.js.map +1 -0
- package/dist/kurot/editing/applyUITransaction.d.ts +6 -0
- package/dist/kurot/editing/applyUITransaction.d.ts.map +1 -0
- package/dist/kurot/editing/applyUITransaction.js +64 -0
- package/dist/kurot/editing/applyUITransaction.js.map +1 -0
- package/dist/kurot/editing/diffUIDocuments.d.ts +35 -0
- package/dist/kurot/editing/diffUIDocuments.d.ts.map +1 -0
- package/dist/kurot/editing/diffUIDocuments.js +137 -0
- package/dist/kurot/editing/diffUIDocuments.js.map +1 -0
- package/dist/kurot/editing/editHelpers.d.ts +44 -0
- package/dist/kurot/editing/editHelpers.d.ts.map +1 -0
- package/dist/kurot/editing/editHelpers.js +90 -0
- package/dist/kurot/editing/editHelpers.js.map +1 -0
- package/dist/kurot/editing/index.d.ts +10 -0
- package/dist/kurot/editing/index.d.ts.map +1 -0
- package/dist/kurot/editing/index.js +6 -0
- package/dist/kurot/editing/index.js.map +1 -0
- package/dist/kurot/editing/nodeTree.d.ts +40 -0
- package/dist/kurot/editing/nodeTree.d.ts.map +1 -0
- package/dist/kurot/editing/nodeTree.js +156 -0
- package/dist/kurot/editing/nodeTree.js.map +1 -0
- package/dist/kurot/model/UIAssetContract.d.ts +139 -0
- package/dist/kurot/model/UIAssetContract.d.ts.map +1 -0
- package/dist/kurot/model/UIAssetContract.js +2 -0
- package/dist/kurot/model/UIAssetContract.js.map +1 -0
- package/dist/kurot/model/UIAssetKind.d.ts +5 -0
- package/dist/kurot/model/UIAssetKind.d.ts.map +1 -0
- package/dist/kurot/model/UIAssetKind.js +2 -0
- package/dist/kurot/model/UIAssetKind.js.map +1 -0
- package/dist/kurot/model/UIComponentInstance.d.ts +46 -0
- package/dist/kurot/model/UIComponentInstance.d.ts.map +1 -0
- package/dist/kurot/model/UIComponentInstance.js +2 -0
- package/dist/kurot/model/UIComponentInstance.js.map +1 -0
- package/dist/kurot/model/UIDocument.d.ts +10 -0
- package/dist/kurot/model/UIDocument.d.ts.map +1 -1
- package/dist/kurot/model/UIDocument.js.map +1 -1
- package/dist/kurot/model/UINode.d.ts +10 -0
- package/dist/kurot/model/UINode.d.ts.map +1 -1
- package/dist/kurot/model/UIReference.d.ts +57 -0
- package/dist/kurot/model/UIReference.d.ts.map +1 -0
- package/dist/kurot/model/UIReference.js +2 -0
- package/dist/kurot/model/UIReference.js.map +1 -0
- package/dist/kurot/model/index.d.ts +4 -0
- package/dist/kurot/model/index.d.ts.map +1 -1
- package/dist/kurot/model/index.js.map +1 -1
- package/dist/kurot/schema/UIComponentDefinition.d.ts +11 -2
- package/dist/kurot/schema/UIComponentDefinition.d.ts.map +1 -1
- package/dist/kurot/schema/UIComponentRegistry.js +6 -0
- package/dist/kurot/schema/UIComponentRegistry.js.map +1 -1
- package/dist/kurot/schema/index.d.ts +1 -0
- package/dist/kurot/schema/index.d.ts.map +1 -1
- package/dist/kurot/schema/index.js +1 -0
- package/dist/kurot/schema/index.js.map +1 -1
- package/dist/kurot/schema/matchesUIPropertyDefinition.d.ts +7 -0
- package/dist/kurot/schema/matchesUIPropertyDefinition.d.ts.map +1 -0
- package/dist/kurot/schema/matchesUIPropertyDefinition.js +65 -0
- package/dist/kurot/schema/matchesUIPropertyDefinition.js.map +1 -0
- package/dist/kurot/schema/validateComponentDefinition.d.ts.map +1 -1
- package/dist/kurot/schema/validateComponentDefinition.js +40 -1
- package/dist/kurot/schema/validateComponentDefinition.js.map +1 -1
- package/dist/kurot/schema/validateUIDocumentComponents.d.ts +1 -0
- package/dist/kurot/schema/validateUIDocumentComponents.d.ts.map +1 -1
- package/dist/kurot/schema/validateUIDocumentComponents.js +12 -39
- package/dist/kurot/schema/validateUIDocumentComponents.js.map +1 -1
- package/dist/kurot/serialization/json.d.ts.map +1 -1
- package/dist/kurot/serialization/json.js +126 -0
- package/dist/kurot/serialization/json.js.map +1 -1
- package/dist/kurot/validation/UIDiagnostic.d.ts +1 -1
- package/dist/kurot/validation/UIDiagnostic.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIAssetContract.d.ts +7 -0
- package/dist/kurot/validation/validateUIAssetContract.d.ts.map +1 -0
- package/dist/kurot/validation/validateUIAssetContract.js +154 -0
- package/dist/kurot/validation/validateUIAssetContract.js.map +1 -0
- package/dist/kurot/validation/validateUIAssetModes.d.ts +6 -0
- package/dist/kurot/validation/validateUIAssetModes.d.ts.map +1 -0
- package/dist/kurot/validation/validateUIAssetModes.js +57 -0
- package/dist/kurot/validation/validateUIAssetModes.js.map +1 -0
- package/dist/kurot/validation/validateUIComponentInstance.d.ts +6 -0
- package/dist/kurot/validation/validateUIComponentInstance.d.ts.map +1 -0
- package/dist/kurot/validation/validateUIComponentInstance.js +77 -0
- package/dist/kurot/validation/validateUIComponentInstance.js.map +1 -0
- package/dist/kurot/validation/validateUIDocument.d.ts.map +1 -1
- package/dist/kurot/validation/validateUIDocument.js +51 -73
- package/dist/kurot/validation/validateUIDocument.js.map +1 -1
- package/dist/kurot/validation/validationHelpers.d.ts +26 -0
- package/dist/kurot/validation/validationHelpers.d.ts.map +1 -0
- package/dist/kurot/validation/validationHelpers.js +120 -0
- package/dist/kurot/validation/validationHelpers.js.map +1 -0
- package/dist/kurot/version.d.ts +1 -1
- package/dist/kurot/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { UIAssetContract, UIParameterDefinition, UIPartDefinition, UISlotDefinition, UIStateDefinition, UIVariantDefinition } from '../model/UIAssetContract.js';
|
|
2
|
+
/**
|
|
3
|
+
* Input accepted by createUIAssetContract.
|
|
4
|
+
*/
|
|
5
|
+
export interface CreateUIAssetContractOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Canonical component key published by a component asset.
|
|
8
|
+
*/
|
|
9
|
+
readonly componentType?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Canonical runtime component type styled by an appearance asset.
|
|
12
|
+
*/
|
|
13
|
+
readonly targetType?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Typed public parameter definitions.
|
|
16
|
+
*/
|
|
17
|
+
readonly parameters?: Readonly<Record<string, UIParameterDefinition>>;
|
|
18
|
+
/**
|
|
19
|
+
* Public part definitions.
|
|
20
|
+
*/
|
|
21
|
+
readonly parts?: Readonly<Record<string, UIPartDefinition>>;
|
|
22
|
+
/**
|
|
23
|
+
* Public slot definitions.
|
|
24
|
+
*/
|
|
25
|
+
readonly slots?: Readonly<Record<string, UISlotDefinition>>;
|
|
26
|
+
/**
|
|
27
|
+
* Runtime state definitions.
|
|
28
|
+
*/
|
|
29
|
+
readonly states?: Readonly<Record<string, UIStateDefinition>>;
|
|
30
|
+
/**
|
|
31
|
+
* Author-selected variant definitions.
|
|
32
|
+
*/
|
|
33
|
+
readonly variants?: Readonly<Record<string, UIVariantDefinition>>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates an explicit asset contract with independent top-level collections.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createUIAssetContract(options?: CreateUIAssetContractOptions): UIAssetContract;
|
|
39
|
+
//# sourceMappingURL=createAssetContract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAssetContract.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/createAssetContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,GAAE,4BAAiC,GACxC,eAAe,CAYjB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an explicit asset contract with independent top-level collections.
|
|
3
|
+
*/
|
|
4
|
+
export function createUIAssetContract(options = {}) {
|
|
5
|
+
return {
|
|
6
|
+
...(options.componentType === undefined
|
|
7
|
+
? {}
|
|
8
|
+
: { componentType: options.componentType }),
|
|
9
|
+
...(options.targetType === undefined ? {} : { targetType: options.targetType }),
|
|
10
|
+
parameters: { ...options.parameters },
|
|
11
|
+
parts: { ...options.parts },
|
|
12
|
+
slots: { ...options.slots },
|
|
13
|
+
states: { ...options.states },
|
|
14
|
+
variants: { ...options.variants },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=createAssetContract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAssetContract.js","sourceRoot":"","sources":["../../../src/kurot/document/createAssetContract.ts"],"names":[],"mappings":"AAiDA;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACpC,UAAwC,EAAE;IAE1C,OAAO;QACN,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QAC5C,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/E,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;QACrC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QAC3B,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE;KACjC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { UIComponentInstance, UIInstanceOverride } from '../model/UIComponentInstance.js';
|
|
2
|
+
import type { UIAssetReference } from '../model/UIReference.js';
|
|
3
|
+
import type { UINode } from '../model/UINode.js';
|
|
4
|
+
import type { UIPropertyValue } from '../model/UIPropertyValue.js';
|
|
5
|
+
/**
|
|
6
|
+
* Input accepted by createUIComponentInstance.
|
|
7
|
+
*/
|
|
8
|
+
export interface CreateUIComponentInstanceOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Reusable component asset that defines the internal tree.
|
|
11
|
+
*/
|
|
12
|
+
readonly source: UIAssetReference;
|
|
13
|
+
/**
|
|
14
|
+
* Typed values passed to the component contract.
|
|
15
|
+
*/
|
|
16
|
+
readonly parameters?: Readonly<Record<string, UIPropertyValue>>;
|
|
17
|
+
/**
|
|
18
|
+
* Optional selected component variant.
|
|
19
|
+
*/
|
|
20
|
+
readonly variant?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Public-part overrides local to this instance.
|
|
23
|
+
*/
|
|
24
|
+
readonly overrides?: readonly UIInstanceOverride[];
|
|
25
|
+
/**
|
|
26
|
+
* Projected child trees keyed by public slot name.
|
|
27
|
+
*/
|
|
28
|
+
readonly slots?: Readonly<Record<string, readonly UINode[]>>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Creates an explicit reusable component instance descriptor.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createUIComponentInstance(options: CreateUIComponentInstanceOptions): UIComponentInstance;
|
|
34
|
+
//# sourceMappingURL=createComponentInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createComponentInstance.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/createComponentInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAChD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,gCAAgC,GACvC,mBAAmB,CAUrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an explicit reusable component instance descriptor.
|
|
3
|
+
*/
|
|
4
|
+
export function createUIComponentInstance(options) {
|
|
5
|
+
return {
|
|
6
|
+
source: { ...options.source },
|
|
7
|
+
parameters: { ...options.parameters },
|
|
8
|
+
...(options.variant === undefined ? {} : { variant: options.variant }),
|
|
9
|
+
overrides: [...(options.overrides ?? [])],
|
|
10
|
+
slots: Object.fromEntries(Object.entries(options.slots ?? {}).map(([name, nodes]) => [name, [...nodes]])),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=createComponentInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createComponentInstance.js","sourceRoot":"","sources":["../../../src/kurot/document/createComponentInstance.ts"],"names":[],"mappings":"AAsCA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,OAAyC;IAEzC,OAAO;QACN,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;QACrC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACzC,KAAK,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAC9E;KACD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { UIAssetReference, UIDesignTokenReference, UIDesignTokenType, UIResourceReference, UIResourceType } from '../model/UIReference.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a stable reference to another editable UI asset.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createUIAssetReference(assetId: string): UIAssetReference;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a typed reference to one project resource.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createUIResourceReference(resourceType: UIResourceType, key: string): UIResourceReference;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a typed reference to one project design token.
|
|
12
|
+
*/
|
|
13
|
+
export declare function createUIDesignTokenReference(tokenType: UIDesignTokenType, key: string): UIDesignTokenReference;
|
|
14
|
+
//# sourceMappingURL=createReferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createReferences.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/createReferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAGxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,YAAY,EAAE,cAAc,EAC5B,GAAG,EAAE,MAAM,GACT,mBAAmB,CAIrB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,SAAS,EAAE,iBAAiB,EAC5B,GAAG,EAAE,MAAM,GACT,sBAAsB,CAIxB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a stable reference to another editable UI asset.
|
|
3
|
+
*/
|
|
4
|
+
export function createUIAssetReference(assetId) {
|
|
5
|
+
assertNonEmpty(assetId, 'Asset id');
|
|
6
|
+
return { kind: 'asset', assetId };
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Creates a typed reference to one project resource.
|
|
10
|
+
*/
|
|
11
|
+
export function createUIResourceReference(resourceType, key) {
|
|
12
|
+
assertNonEmpty(resourceType, 'Resource type');
|
|
13
|
+
assertNonEmpty(key, 'Resource key');
|
|
14
|
+
return { kind: 'resource', resourceType, key };
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a typed reference to one project design token.
|
|
18
|
+
*/
|
|
19
|
+
export function createUIDesignTokenReference(tokenType, key) {
|
|
20
|
+
assertNonEmpty(tokenType, 'Token type');
|
|
21
|
+
assertNonEmpty(key, 'Token key');
|
|
22
|
+
return { kind: 'token', tokenType, key };
|
|
23
|
+
}
|
|
24
|
+
function assertNonEmpty(value, label) {
|
|
25
|
+
if (value.trim().length === 0) {
|
|
26
|
+
throw new Error(`${label} must not be empty.`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=createReferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createReferences.js","sourceRoot":"","sources":["../../../src/kurot/document/createReferences.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACrD,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,YAA4B,EAC5B,GAAW;IAEX,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC9C,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,SAA4B,EAC5B,GAAW;IAEX,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IACnD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IAChD,CAAC;AACF,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { createUIDocument, createUINode } from './create.js';
|
|
2
2
|
export type { CreateUIDocumentOptions, CreateUINodeOptions } from './create.js';
|
|
3
|
+
export { createUIAssetContract } from './createAssetContract.js';
|
|
4
|
+
export type { CreateUIAssetContractOptions } from './createAssetContract.js';
|
|
5
|
+
export { createUIComponentInstance } from './createComponentInstance.js';
|
|
6
|
+
export type { CreateUIComponentInstanceOptions } from './createComponentInstance.js';
|
|
7
|
+
export { createUIAssetReference, createUIDesignTokenReference, createUIResourceReference, } from './createReferences.js';
|
|
3
8
|
export { findUINode, visitUINodes } from './query.js';
|
|
4
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,YAAY,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { createUIDocument, createUINode } from './create.js';
|
|
2
|
+
export { createUIAssetContract } from './createAssetContract.js';
|
|
3
|
+
export { createUIComponentInstance } from './createComponentInstance.js';
|
|
4
|
+
export { createUIAssetReference, createUIDesignTokenReference, createUIResourceReference, } from './createReferences.js';
|
|
2
5
|
export { findUINode, visitUINodes } from './query.js';
|
|
3
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/kurot/document/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAWhF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAevE"}
|
|
@@ -6,6 +6,13 @@ export function visitUINodes(root, visitor) {
|
|
|
6
6
|
for (const child of root.children) {
|
|
7
7
|
visitUINodes(child, visitor);
|
|
8
8
|
}
|
|
9
|
+
if (!root.instance)
|
|
10
|
+
return;
|
|
11
|
+
for (const slotName of Object.keys(root.instance.slots).sort()) {
|
|
12
|
+
for (const child of root.instance.slots[slotName]) {
|
|
13
|
+
visitUINodes(child, visitor);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
9
16
|
}
|
|
10
17
|
/**
|
|
11
18
|
* Finds the first node with the requested identifier in pre-order.
|
|
@@ -18,6 +25,15 @@ export function findUINode(root, id) {
|
|
|
18
25
|
if (match)
|
|
19
26
|
return match;
|
|
20
27
|
}
|
|
28
|
+
if (!root.instance)
|
|
29
|
+
return undefined;
|
|
30
|
+
for (const slotName of Object.keys(root.instance.slots).sort()) {
|
|
31
|
+
for (const child of root.instance.slots[slotName]) {
|
|
32
|
+
const match = findUINode(child, id);
|
|
33
|
+
if (match)
|
|
34
|
+
return match;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
21
37
|
return undefined;
|
|
22
38
|
}
|
|
23
39
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/kurot/document/query.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAA+B;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,EAAU;IAClD,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/kurot/document/query.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAA+B;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO;IAC3B,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAE,EAAE,CAAC;YACpD,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,EAAU;IAClD,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QACzB,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { UIDocument } from '../model/UIDocument.js';
|
|
2
|
+
import type { ApplyUITransactionOptions, UIRevisionSnapshot, UITransaction, UITransactionResult } from './UITransaction.js';
|
|
3
|
+
/**
|
|
4
|
+
* In-memory monotonic document history used by editors and Agent workflows.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UIDocumentHistory {
|
|
7
|
+
private _snapshot;
|
|
8
|
+
private readonly _options;
|
|
9
|
+
private readonly _undoEntries;
|
|
10
|
+
private readonly _redoEntries;
|
|
11
|
+
constructor(document: UIDocument, options?: ApplyUITransactionOptions, initialRevision?: number);
|
|
12
|
+
/**
|
|
13
|
+
* Current immutable document snapshot and monotonic revision.
|
|
14
|
+
*/
|
|
15
|
+
get snapshot(): UIRevisionSnapshot;
|
|
16
|
+
/**
|
|
17
|
+
* Whether a committed user transaction can be undone.
|
|
18
|
+
*/
|
|
19
|
+
get canUndo(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the most recently undone transaction can be replayed.
|
|
22
|
+
*/
|
|
23
|
+
get canRedo(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Commits one user or Agent transaction and clears the redo branch.
|
|
26
|
+
*/
|
|
27
|
+
commit(transaction: UITransaction): UITransactionResult;
|
|
28
|
+
/**
|
|
29
|
+
* Applies the inverse of the latest committed transaction as a new revision.
|
|
30
|
+
*/
|
|
31
|
+
undo(): UITransactionResult | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Replays the latest undone transaction as a new revision.
|
|
34
|
+
*/
|
|
35
|
+
redo(): UITransactionResult | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Drops undo and redo entries without changing the current document.
|
|
38
|
+
*/
|
|
39
|
+
clear(): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=UIDocumentHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIDocumentHistory.d.ts","sourceRoot":"","sources":["../../../src/kurot/editing/UIDocumentHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,OAAO,KAAK,EACX,yBAAyB,EACzB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AAO5B;;GAEG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;gBAGpD,QAAQ,EAAE,UAAU,EACpB,OAAO,GAAE,yBAA8B,EACvC,eAAe,SAAI;IAsBpB;;OAEG;IACH,IAAW,QAAQ,IAAI,kBAAkB,CAExC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,EAAE,aAAa,GAAG,mBAAmB;IAQ9D;;OAEG;IACI,IAAI,IAAI,mBAAmB,GAAG,SAAS;IAe9C;;OAEG;IACI,IAAI,IAAI,mBAAmB,GAAG,SAAS;IAe9C;;OAEG;IACI,KAAK,IAAI,IAAI;CAIpB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { validateUIDocument } from '../validation/validateUIDocument.js';
|
|
2
|
+
import { applyUITransaction } from './applyUITransaction.js';
|
|
3
|
+
import { UIEditError } from './UIEditError.js';
|
|
4
|
+
/**
|
|
5
|
+
* In-memory monotonic document history used by editors and Agent workflows.
|
|
6
|
+
*/
|
|
7
|
+
export class UIDocumentHistory {
|
|
8
|
+
_snapshot;
|
|
9
|
+
_options;
|
|
10
|
+
_undoEntries = [];
|
|
11
|
+
_redoEntries = [];
|
|
12
|
+
constructor(document, options = {}, initialRevision = 0) {
|
|
13
|
+
const diagnostics = validateUIDocument(document);
|
|
14
|
+
if (diagnostics.length > 0) {
|
|
15
|
+
throw new UIEditError('invalid-edit-result', 'History requires a valid initial UI document.', '$', diagnostics);
|
|
16
|
+
}
|
|
17
|
+
if (!Number.isInteger(initialRevision) || initialRevision < 0) {
|
|
18
|
+
throw new UIEditError('invalid-operation', 'Initial revision must be a non-negative integer.', '$.revision');
|
|
19
|
+
}
|
|
20
|
+
this._snapshot = { document, revision: initialRevision };
|
|
21
|
+
this._options = options;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Current immutable document snapshot and monotonic revision.
|
|
25
|
+
*/
|
|
26
|
+
get snapshot() {
|
|
27
|
+
return this._snapshot;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether a committed user transaction can be undone.
|
|
31
|
+
*/
|
|
32
|
+
get canUndo() {
|
|
33
|
+
return this._undoEntries.length > 0;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Whether the most recently undone transaction can be replayed.
|
|
37
|
+
*/
|
|
38
|
+
get canRedo() {
|
|
39
|
+
return this._redoEntries.length > 0;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Commits one user or Agent transaction and clears the redo branch.
|
|
43
|
+
*/
|
|
44
|
+
commit(transaction) {
|
|
45
|
+
const result = applyUITransaction(this._snapshot, transaction, this._options);
|
|
46
|
+
this._snapshot = result;
|
|
47
|
+
this._undoEntries.push({ forward: transaction, inverse: result.inverse });
|
|
48
|
+
this._redoEntries.length = 0;
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Applies the inverse of the latest committed transaction as a new revision.
|
|
53
|
+
*/
|
|
54
|
+
undo() {
|
|
55
|
+
const entry = this._undoEntries.at(-1);
|
|
56
|
+
if (!entry)
|
|
57
|
+
return undefined;
|
|
58
|
+
const transaction = {
|
|
59
|
+
...entry.inverse,
|
|
60
|
+
id: `undo:${entry.forward.id}:${this._snapshot.revision}`,
|
|
61
|
+
expectedRevision: this._snapshot.revision,
|
|
62
|
+
};
|
|
63
|
+
const result = applyUITransaction(this._snapshot, transaction, this._options);
|
|
64
|
+
this._undoEntries.pop();
|
|
65
|
+
this._redoEntries.push(entry);
|
|
66
|
+
this._snapshot = result;
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Replays the latest undone transaction as a new revision.
|
|
71
|
+
*/
|
|
72
|
+
redo() {
|
|
73
|
+
const entry = this._redoEntries.at(-1);
|
|
74
|
+
if (!entry)
|
|
75
|
+
return undefined;
|
|
76
|
+
const transaction = {
|
|
77
|
+
...entry.forward,
|
|
78
|
+
id: `redo:${entry.forward.id}:${this._snapshot.revision}`,
|
|
79
|
+
expectedRevision: this._snapshot.revision,
|
|
80
|
+
};
|
|
81
|
+
const result = applyUITransaction(this._snapshot, transaction, this._options);
|
|
82
|
+
this._redoEntries.pop();
|
|
83
|
+
this._undoEntries.push({ forward: entry.forward, inverse: result.inverse });
|
|
84
|
+
this._snapshot = result;
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Drops undo and redo entries without changing the current document.
|
|
89
|
+
*/
|
|
90
|
+
clear() {
|
|
91
|
+
this._undoEntries.length = 0;
|
|
92
|
+
this._redoEntries.length = 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=UIDocumentHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIDocumentHistory.js","sourceRoot":"","sources":["../../../src/kurot/editing/UIDocumentHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { UIDiagnostic } from '../validation/UIDiagnostic.js';
|
|
2
|
+
/**
|
|
3
|
+
* Stable editing-kernel failure categories.
|
|
4
|
+
*/
|
|
5
|
+
export type UIEditErrorCode = 'duplicate-node-id' | 'index-out-of-range' | 'invalid-edit-result' | 'invalid-operation' | 'invalid-parent' | 'missing-instance' | 'node-not-found' | 'revision-conflict' | 'root-operation' | 'transaction-empty';
|
|
6
|
+
/**
|
|
7
|
+
* Structured failure raised before an invalid edit can commit.
|
|
8
|
+
*/
|
|
9
|
+
export declare class UIEditError extends Error {
|
|
10
|
+
/**
|
|
11
|
+
* Stable machine-readable failure category.
|
|
12
|
+
*/
|
|
13
|
+
readonly code: UIEditErrorCode;
|
|
14
|
+
/**
|
|
15
|
+
* Operation or document path responsible for the failure.
|
|
16
|
+
*/
|
|
17
|
+
readonly path: string;
|
|
18
|
+
/**
|
|
19
|
+
* Validation diagnostics produced by a rejected final snapshot.
|
|
20
|
+
*/
|
|
21
|
+
readonly diagnostics: readonly UIDiagnostic[];
|
|
22
|
+
constructor(code: UIEditErrorCode, message: string, path: string, diagnostics?: readonly UIDiagnostic[]);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=UIEditError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIEditError.d.ts","sourceRoot":"","sources":["../../../src/kurot/editing/UIEditError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,eAAe,GACxB,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,mBAAmB,CAAC;AAEvB;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACrC;;OAEG;IACH,SAAgB,IAAI,EAAE,eAAe,CAAC;IAEtC;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;gBAGpD,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,SAAS,YAAY,EAAO;CAQ1C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured failure raised before an invalid edit can commit.
|
|
3
|
+
*/
|
|
4
|
+
export class UIEditError extends Error {
|
|
5
|
+
/**
|
|
6
|
+
* Stable machine-readable failure category.
|
|
7
|
+
*/
|
|
8
|
+
code;
|
|
9
|
+
/**
|
|
10
|
+
* Operation or document path responsible for the failure.
|
|
11
|
+
*/
|
|
12
|
+
path;
|
|
13
|
+
/**
|
|
14
|
+
* Validation diagnostics produced by a rejected final snapshot.
|
|
15
|
+
*/
|
|
16
|
+
diagnostics;
|
|
17
|
+
constructor(code, message, path, diagnostics = []) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'UIEditError';
|
|
20
|
+
this.code = code;
|
|
21
|
+
this.path = path;
|
|
22
|
+
this.diagnostics = diagnostics;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=UIEditError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIEditError.js","sourceRoot":"","sources":["../../../src/kurot/editing/UIEditError.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACrC;;OAEG;IACa,IAAI,CAAkB;IAEtC;;OAEG;IACa,IAAI,CAAS;IAE7B;;OAEG;IACa,WAAW,CAA0B;IAErD,YACC,IAAqB,EACrB,OAAe,EACf,IAAY,EACZ,cAAuC,EAAE;QAEzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CACD"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { UIPartDefinition, UIParameterDefinition, UISlotDefinition, UIStateDefinition, UIVariantDefinition } from '../model/UIAssetContract.js';
|
|
2
|
+
import type { UIComponentInstance, UIInstanceOverride } from '../model/UIComponentInstance.js';
|
|
3
|
+
import type { UIAssetReference } from '../model/UIReference.js';
|
|
4
|
+
import type { UINode } from '../model/UINode.js';
|
|
5
|
+
import type { UIPropertyValue } from '../model/UIPropertyValue.js';
|
|
6
|
+
/**
|
|
7
|
+
* Ordered child collection receiving an inserted or moved node.
|
|
8
|
+
*/
|
|
9
|
+
export type UIChildTarget = {
|
|
10
|
+
readonly collection: 'children';
|
|
11
|
+
readonly parentId: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly collection: 'slot';
|
|
14
|
+
readonly parentId: string;
|
|
15
|
+
readonly slot: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Semantic mutation accepted by the headless editing kernel.
|
|
19
|
+
*/
|
|
20
|
+
export type UIOperation = {
|
|
21
|
+
readonly kind: 'insert-node';
|
|
22
|
+
readonly target: UIChildTarget;
|
|
23
|
+
readonly index: number;
|
|
24
|
+
readonly node: UINode;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: 'remove-node';
|
|
27
|
+
readonly nodeId: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: 'move-node';
|
|
30
|
+
readonly nodeId: string;
|
|
31
|
+
readonly target: UIChildTarget;
|
|
32
|
+
readonly index: number;
|
|
33
|
+
} | {
|
|
34
|
+
readonly kind: 'replace-node-type';
|
|
35
|
+
readonly nodeId: string;
|
|
36
|
+
readonly type: string;
|
|
37
|
+
} | {
|
|
38
|
+
readonly kind: 'set-node-property';
|
|
39
|
+
readonly nodeId: string;
|
|
40
|
+
readonly property: string;
|
|
41
|
+
readonly value: UIPropertyValue;
|
|
42
|
+
} | {
|
|
43
|
+
readonly kind: 'remove-node-property';
|
|
44
|
+
readonly nodeId: string;
|
|
45
|
+
readonly property: string;
|
|
46
|
+
} | {
|
|
47
|
+
readonly kind: 'set-node-instance';
|
|
48
|
+
readonly nodeId: string;
|
|
49
|
+
readonly instance: UIComponentInstance;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: 'remove-node-instance';
|
|
52
|
+
readonly nodeId: string;
|
|
53
|
+
} | {
|
|
54
|
+
readonly kind: 'set-instance-parameter';
|
|
55
|
+
readonly nodeId: string;
|
|
56
|
+
readonly parameter: string;
|
|
57
|
+
readonly value: UIPropertyValue;
|
|
58
|
+
} | {
|
|
59
|
+
readonly kind: 'remove-instance-parameter';
|
|
60
|
+
readonly nodeId: string;
|
|
61
|
+
readonly parameter: string;
|
|
62
|
+
} | {
|
|
63
|
+
readonly kind: 'set-instance-variant';
|
|
64
|
+
readonly nodeId: string;
|
|
65
|
+
readonly variant: string;
|
|
66
|
+
} | {
|
|
67
|
+
readonly kind: 'remove-instance-variant';
|
|
68
|
+
readonly nodeId: string;
|
|
69
|
+
} | {
|
|
70
|
+
readonly kind: 'set-instance-override';
|
|
71
|
+
readonly nodeId: string;
|
|
72
|
+
readonly override: UIInstanceOverride;
|
|
73
|
+
} | {
|
|
74
|
+
readonly kind: 'remove-instance-override';
|
|
75
|
+
readonly nodeId: string;
|
|
76
|
+
readonly part: string;
|
|
77
|
+
readonly property: string;
|
|
78
|
+
} | {
|
|
79
|
+
readonly kind: 'set-node-appearance';
|
|
80
|
+
readonly nodeId: string;
|
|
81
|
+
readonly appearance: UIAssetReference;
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: 'remove-node-appearance';
|
|
84
|
+
readonly nodeId: string;
|
|
85
|
+
} | {
|
|
86
|
+
readonly kind: 'set-contract-parameter';
|
|
87
|
+
readonly name: string;
|
|
88
|
+
readonly definition: UIParameterDefinition;
|
|
89
|
+
} | {
|
|
90
|
+
readonly kind: 'remove-contract-parameter';
|
|
91
|
+
readonly name: string;
|
|
92
|
+
} | {
|
|
93
|
+
readonly kind: 'set-contract-part';
|
|
94
|
+
readonly name: string;
|
|
95
|
+
readonly definition: UIPartDefinition;
|
|
96
|
+
} | {
|
|
97
|
+
readonly kind: 'remove-contract-part';
|
|
98
|
+
readonly name: string;
|
|
99
|
+
} | {
|
|
100
|
+
readonly kind: 'set-contract-slot';
|
|
101
|
+
readonly name: string;
|
|
102
|
+
readonly definition: UISlotDefinition;
|
|
103
|
+
} | {
|
|
104
|
+
readonly kind: 'remove-contract-slot';
|
|
105
|
+
readonly name: string;
|
|
106
|
+
} | {
|
|
107
|
+
readonly kind: 'set-contract-state';
|
|
108
|
+
readonly name: string;
|
|
109
|
+
readonly definition: UIStateDefinition;
|
|
110
|
+
} | {
|
|
111
|
+
readonly kind: 'remove-contract-state';
|
|
112
|
+
readonly name: string;
|
|
113
|
+
} | {
|
|
114
|
+
readonly kind: 'set-contract-variant';
|
|
115
|
+
readonly name: string;
|
|
116
|
+
readonly definition: UIVariantDefinition;
|
|
117
|
+
} | {
|
|
118
|
+
readonly kind: 'remove-contract-variant';
|
|
119
|
+
readonly name: string;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Immutable result of applying one semantic operation.
|
|
123
|
+
*/
|
|
124
|
+
export interface UIOperationResult {
|
|
125
|
+
/**
|
|
126
|
+
* Updated document snapshot.
|
|
127
|
+
*/
|
|
128
|
+
readonly document: import('../model/UIDocument.js').UIDocument;
|
|
129
|
+
/**
|
|
130
|
+
* Operation that restores the input snapshot when applied immediately.
|
|
131
|
+
*/
|
|
132
|
+
readonly inverse: UIOperation;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=UIOperation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIOperation.d.ts","sourceRoot":"","sources":["../../../src/kurot/editing/UIOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIOperation.js","sourceRoot":"","sources":["../../../src/kurot/editing/UIOperation.ts"],"names":[],"mappings":""}
|