@kurot/ui-runtime 0.4.0 → 0.4.2
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/dist/kurot/runtime/append-runtime-child.d.ts +7 -0
- package/dist/kurot/runtime/append-runtime-child.d.ts.map +1 -0
- package/dist/kurot/runtime/append-runtime-child.js +17 -0
- package/dist/kurot/runtime/append-runtime-child.js.map +1 -0
- package/dist/kurot/runtime/apply-node-properties.d.ts +8 -0
- package/dist/kurot/runtime/apply-node-properties.d.ts.map +1 -0
- package/dist/kurot/runtime/apply-node-properties.js +10 -0
- package/dist/kurot/runtime/apply-node-properties.js.map +1 -0
- package/dist/kurot/runtime/assetPath.d.ts +5 -0
- package/dist/kurot/runtime/assetPath.d.ts.map +1 -0
- package/dist/kurot/runtime/assetPath.js +7 -0
- package/dist/kurot/runtime/assetPath.js.map +1 -0
- package/dist/kurot/runtime/builtins/applyButtonProperties.js +2 -15
- package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyComponentProperties.js +1 -6
- package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js +1 -19
- package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +2 -15
- package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyGroupProperties.js +1 -14
- package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyImageProperties.js +3 -11
- package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyLabelProperties.js +1 -19
- package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +2 -10
- package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyRectProperties.js +1 -9
- package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyTextInputProperties.js +2 -20
- package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -1
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +2 -14
- package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -1
- package/dist/kurot/runtime/builtins/valueGuards.d.ts +18 -0
- package/dist/kurot/runtime/builtins/valueGuards.d.ts.map +1 -0
- package/dist/kurot/runtime/builtins/valueGuards.js +32 -0
- package/dist/kurot/runtime/builtins/valueGuards.js.map +1 -0
- package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
- package/dist/kurot/runtime/createKurotUI.js +14 -2
- package/dist/kurot/runtime/createKurotUI.js.map +1 -1
- package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +1 -1
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -1
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +3 -3
- package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -1
- package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -1
- package/dist/kurot/runtime/dynamics/createDataController.js +6 -39
- package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -1
- package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +1 -1
- package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -1
- package/dist/kurot/runtime/dynamics/registerSemanticActions.js +7 -6
- package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -1
- package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
- package/dist/kurot/runtime/materializeAppearance.js +9 -10
- package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
- package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
- package/dist/kurot/runtime/materializeComponentInstance.js +14 -6
- package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
- package/dist/kurot/runtime/materializeNode.d.ts +1 -13
- package/dist/kurot/runtime/materializeNode.d.ts.map +1 -1
- package/dist/kurot/runtime/materializeNode.js +3 -30
- package/dist/kurot/runtime/materializeNode.js.map +1 -1
- package/dist/kurot/runtime/node-identity.d.ts +5 -0
- package/dist/kurot/runtime/node-identity.d.ts.map +1 -0
- package/dist/kurot/runtime/node-identity.js +7 -0
- package/dist/kurot/runtime/node-identity.js.map +1 -0
- package/dist/kurot/runtime/propertyTransaction.d.ts +62 -0
- package/dist/kurot/runtime/propertyTransaction.d.ts.map +1 -0
- package/dist/kurot/runtime/propertyTransaction.js +150 -0
- package/dist/kurot/runtime/propertyTransaction.js.map +1 -0
- package/dist/kurot/runtime/states/createReusableComponentStateController.d.ts.map +1 -1
- package/dist/kurot/runtime/states/createReusableComponentStateController.js +28 -37
- package/dist/kurot/runtime/states/createReusableComponentStateController.js.map +1 -1
- package/dist/kurot/runtime/transitions/TransitionSetProperty.js +1 -1
- package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -1
- package/dist/kurot/runtime/types.d.ts +10 -5
- package/dist/kurot/runtime/types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -17,8 +17,10 @@ export function createKurotUI(document, options = {}) {
|
|
|
17
17
|
if (diagnostics.length > 0) {
|
|
18
18
|
throw new KurotUIRuntimeError('invalid-document', 'UI asset registry failed project validation.', '$', diagnostics);
|
|
19
19
|
}
|
|
20
|
+
const adapters = options.adapters ?? {};
|
|
21
|
+
validateComponentAdapters(adapters);
|
|
20
22
|
const context = {
|
|
21
|
-
adapters
|
|
23
|
+
adapters,
|
|
22
24
|
assets,
|
|
23
25
|
dataControllers: new Map(),
|
|
24
26
|
disposeCallbacks: [],
|
|
@@ -32,7 +34,7 @@ export function createKurotUI(document, options = {}) {
|
|
|
32
34
|
activateRuntimeContract(document, '', context, options.data);
|
|
33
35
|
const data = context.dataControllers.get('');
|
|
34
36
|
if (data === undefined) {
|
|
35
|
-
throw new
|
|
37
|
+
throw new KurotUIRuntimeError('invalid-document', 'Root UI data controller was not created.', '$');
|
|
36
38
|
}
|
|
37
39
|
let disposed = false;
|
|
38
40
|
return Object.freeze({
|
|
@@ -52,6 +54,16 @@ export function createKurotUI(document, options = {}) {
|
|
|
52
54
|
stateControllers: context.stateControllers,
|
|
53
55
|
});
|
|
54
56
|
}
|
|
57
|
+
function validateComponentAdapters(adapters) {
|
|
58
|
+
for (const [type, adapter] of Object.entries(adapters)) {
|
|
59
|
+
const hasCapture = adapter.captureProperty !== undefined;
|
|
60
|
+
const hasRestore = adapter.restoreProperty !== undefined;
|
|
61
|
+
if (hasCapture === hasRestore) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
throw new KurotUIRuntimeError('invalid-adapter', `Component adapter "${type}" must provide captureProperty and restoreProperty together.`, `$.adapters[${JSON.stringify(type)}]`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
55
67
|
function createResourceResolver(overrides) {
|
|
56
68
|
const adapters = createKurotUIResourceAdapters(overrides);
|
|
57
69
|
return (reference, definition) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createKurotUI.js","sourceRoot":"","sources":["../../../src/kurot/runtime/createKurotUI.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,+BAA+B,EAC/B,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"createKurotUI.js","sourceRoot":"","sources":["../../../src/kurot/runtime/createKurotUI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLayout.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/descriptors/createLayout.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,gBAAgB,EAEhB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,IAAY;IACxD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GACf,UAAU,CAAC,UAAU,KAAK,SAAS;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;IAE/D,IAAI,MAAkB,CAAC;IACvB,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,iBAAiB;YACrB,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC3B,MAAM;QACP,KAAK,sBAAsB;YAC1B,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAChC,MAAM;QACP,KAAK,gBAAgB;YACpB,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC1B,MAAM;QACP,KAAK,oBAAoB;YACxB,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YAC9B,MAAM;QACP;YACC,MAAM,IAAI,mBAAmB,CAC5B,gBAAgB,EAChB,gBAAgB,IAAI,qBAAqB,EACzC,GAAG,IAAI,OAAO,CACd,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,IAAI,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAAkB,EAClB,IAAY,EACZ,KAAsB,EACtB,IAAY;IAEZ,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,YAAY,WAAW,IAAI,OAAO,EAAE,CAAC;YAC9C,MAAM,IAAI,mBAAmB,CAC5B,gBAAgB,EAChB,8CAA8C,EAC9C,IAAI,CACJ,CAAC;QACH,CAAC;QACD,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,OAAO;
|
|
1
|
+
{"version":3,"file":"createLayout.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/descriptors/createLayout.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import type { KurotUICreationContext } from '../types.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Activates the dynamic Contract owned by one fully materialized asset tree.
|
|
5
5
|
*/
|
|
6
|
-
export declare function activateRuntimeContract(
|
|
6
|
+
export declare function activateRuntimeContract(asset: UIDocument, scope: string, context: KurotUICreationContext, initialData?: Readonly<Record<string, UIPropertyValue>>): void;
|
|
7
7
|
//# sourceMappingURL=activateRuntimeContract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activateRuntimeContract.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/activateRuntimeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,
|
|
1
|
+
{"version":3,"file":"activateRuntimeContract.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/activateRuntimeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,EAC/B,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM,GACzD,IAAI,CAUN"}
|
|
@@ -3,9 +3,9 @@ import { registerSemanticActions } from './registerSemanticActions.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Activates the dynamic Contract owned by one fully materialized asset tree.
|
|
5
5
|
*/
|
|
6
|
-
export function activateRuntimeContract(
|
|
7
|
-
const controller = createDataController(
|
|
6
|
+
export function activateRuntimeContract(asset, scope, context, initialData = {}) {
|
|
7
|
+
const controller = createDataController(asset.contract, asset.id, scope, context, initialData);
|
|
8
8
|
context.dataControllers.set(scope, controller);
|
|
9
|
-
registerSemanticActions(
|
|
9
|
+
registerSemanticActions(asset, scope, context);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=activateRuntimeContract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activateRuntimeContract.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/activateRuntimeContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,
|
|
1
|
+
{"version":3,"file":"activateRuntimeContract.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/activateRuntimeContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,KAAiB,EACjB,KAAa,EACb,OAA+B,EAC/B,cAAyD,EAAE;IAE3D,MAAM,UAAU,GAAG,oBAAoB,CACtC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,EAAE,EACR,KAAK,EACL,OAAO,EACP,WAAW,CACX,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/createDataController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDataController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/createDataController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEjF;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,EAC/B,aAAa,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM,GAC3D,qBAAqB,CAmCvB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { matchesUIPropertyDefinition } from '@kurot/ui-document';
|
|
2
|
-
import { applyRuntimeProperty } from '../applyRuntimeProperty.js';
|
|
3
2
|
import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
|
|
4
|
-
import { qualifyNodeId } from '../
|
|
3
|
+
import { qualifyNodeId } from '../node-identity.js';
|
|
4
|
+
import { applyPropertyUpdates } from '../propertyTransaction.js';
|
|
5
5
|
/**
|
|
6
6
|
* Creates one validated controller for an asset's bounded external data.
|
|
7
7
|
*/
|
|
@@ -41,7 +41,7 @@ export function createDataController(contract, assetId, scope, context, initialV
|
|
|
41
41
|
}
|
|
42
42
|
function applyBindings(contract, source, value, scope, context) {
|
|
43
43
|
const bindings = contract.dataBindings ?? {};
|
|
44
|
-
const
|
|
44
|
+
const updates = [];
|
|
45
45
|
for (const name of Object.keys(bindings).sort()) {
|
|
46
46
|
const binding = bindings[name];
|
|
47
47
|
if (binding.source !== source) {
|
|
@@ -53,48 +53,15 @@ function applyBindings(contract, source, value, scope, context) {
|
|
|
53
53
|
if (target === undefined || type === undefined) {
|
|
54
54
|
continue;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
updates.push({
|
|
57
57
|
path: `$.contract.dataBindings.${name}`,
|
|
58
58
|
property: binding.property,
|
|
59
59
|
target,
|
|
60
60
|
type,
|
|
61
|
-
|
|
62
|
-
previousValue: captureBindingValue(context.adapters[type], target, binding.property, `$.contract.dataBindings.${name}`),
|
|
61
|
+
value,
|
|
63
62
|
});
|
|
64
63
|
}
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
for (const target of targets) {
|
|
68
|
-
applied.push(target);
|
|
69
|
-
applyRuntimeProperty(target.target, target.type, target.property, value, target.path, context);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
rollbackBindings(applied);
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function rollbackBindings(targets) {
|
|
78
|
-
for (let index = targets.length - 1; index >= 0; index--) {
|
|
79
|
-
const target = targets[index];
|
|
80
|
-
try {
|
|
81
|
-
if (target.adapter?.restoreProperty !== undefined) {
|
|
82
|
-
target.adapter.restoreProperty(target.target, target.property, target.previousValue, target.path);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
Reflect.set(target.target, target.property, target.previousValue);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
// Preserve the original binding failure; adapters should expose restorable properties.
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function captureBindingValue(adapter, target, property, path) {
|
|
94
|
-
if (adapter?.captureProperty !== undefined) {
|
|
95
|
-
return adapter.captureProperty(target, property, path);
|
|
96
|
-
}
|
|
97
|
-
return Reflect.get(target, property);
|
|
64
|
+
applyPropertyUpdates(updates, context);
|
|
98
65
|
}
|
|
99
66
|
function assertValidInitialValues(values, definitions, assetId) {
|
|
100
67
|
for (const [name, value] of Object.entries(values)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/createDataController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createDataController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/createDataController.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import type { KurotUICreationContext } from '../types.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Connects one asset's bounded action declarations to runtime events.
|
|
5
5
|
*/
|
|
6
|
-
export declare function registerSemanticActions(
|
|
6
|
+
export declare function registerSemanticActions(asset: UIDocument, scope: string, context: KurotUICreationContext): void;
|
|
7
7
|
//# sourceMappingURL=registerSemanticActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSemanticActions.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/registerSemanticActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,
|
|
1
|
+
{"version":3,"file":"registerSemanticActions.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/registerSemanticActions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAA2B,MAAM,oBAAoB,CAAC;AAE9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC7B,IAAI,CA4BN"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Event, TouchEvent } from '@kurot/core';
|
|
2
|
-
import { qualifyNodeId } from '../
|
|
2
|
+
import { qualifyNodeId } from '../node-identity.js';
|
|
3
3
|
/**
|
|
4
4
|
* Connects one asset's bounded action declarations to runtime events.
|
|
5
5
|
*/
|
|
6
|
-
export function registerSemanticActions(
|
|
7
|
-
|
|
6
|
+
export function registerSemanticActions(asset, scope, context) {
|
|
7
|
+
const onAction = context.onAction;
|
|
8
|
+
if (onAction === undefined) {
|
|
8
9
|
return;
|
|
9
10
|
}
|
|
10
|
-
const actions =
|
|
11
|
+
const actions = asset.contract.actions ?? {};
|
|
11
12
|
for (const name of Object.keys(actions).sort()) {
|
|
12
13
|
const definition = actions[name];
|
|
13
14
|
const identity = qualifyNodeId(scope, definition.sourceId);
|
|
@@ -17,9 +18,9 @@ export function registerSemanticActions(document, scope, context) {
|
|
|
17
18
|
}
|
|
18
19
|
const eventType = getEventType(definition.trigger);
|
|
19
20
|
const listener = (event) => {
|
|
20
|
-
|
|
21
|
+
onAction({
|
|
21
22
|
action: name,
|
|
22
|
-
assetId:
|
|
23
|
+
assetId: asset.id,
|
|
23
24
|
event,
|
|
24
25
|
scope,
|
|
25
26
|
sourceId: definition.sourceId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSemanticActions.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/registerSemanticActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"registerSemanticActions.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/registerSemanticActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,KAAiB,EACjB,KAAa,EACb,OAA+B;IAE/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;IACR,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS;QACV,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAQ,EAAE;YACvC,QAAQ,CAAC;gBACR,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,KAAK;gBACL,KAAK;gBACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC7B,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAS,EAAE;YACxC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,OAAgC;IACrD,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC;QACrB,KAAK,KAAK;YACT,OAAO,UAAU,CAAC,SAAS,CAAC;IAC9B,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeAppearance.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"materializeAppearance.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC7B,IAAI,CAwBN"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Component, SetProperty, Skin, State } from '@kurot/ui';
|
|
2
2
|
import { applyRuntimeProperty } from './applyRuntimeProperty.js';
|
|
3
|
-
import { materializeNode
|
|
3
|
+
import { materializeNode } from './materializeNode.js';
|
|
4
|
+
import { qualifyNodeId } from './node-identity.js';
|
|
5
|
+
import { assetPath } from './assetPath.js';
|
|
4
6
|
import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
|
|
5
7
|
import { resolvePropertyValue } from './resolvePropertyValue.js';
|
|
6
8
|
import { TransitionSetProperty } from './transitions/TransitionSetProperty.js';
|
|
@@ -15,7 +17,7 @@ export function applyAppearance(target, node, hostIdentity, path, context) {
|
|
|
15
17
|
}
|
|
16
18
|
const appearance = requireAppearance(node.appearance.assetId, path, context);
|
|
17
19
|
const scope = `${hostIdentity}@appearance:${appearance.id}`;
|
|
18
|
-
const root = materializeNode(appearance.root,
|
|
20
|
+
const root = materializeNode(appearance.root, assetPath(appearance.id, '.root'), scope, context);
|
|
19
21
|
applyAppearanceVariant(node.appearance.variant, appearance, scope, context);
|
|
20
22
|
const skin = new Skin();
|
|
21
23
|
skin.elementsContent = [root];
|
|
@@ -30,7 +32,7 @@ function applyAppearanceVariant(name, appearance, scope, context) {
|
|
|
30
32
|
const definition = appearance.contract.variants[name];
|
|
31
33
|
if (!definition)
|
|
32
34
|
return;
|
|
33
|
-
const path =
|
|
35
|
+
const path = assetPath(appearance.id, `.contract.variants.${name}`);
|
|
34
36
|
for (let index = 0; index < definition.overrides.length; index++) {
|
|
35
37
|
const override = definition.overrides[index];
|
|
36
38
|
const identity = qualifyNodeId(scope, override.targetId);
|
|
@@ -44,7 +46,7 @@ function applyAppearanceVariant(name, appearance, scope, context) {
|
|
|
44
46
|
function exposeAppearanceNodes(skin, node, scope, context) {
|
|
45
47
|
const target = context.instances.get(qualifyNodeId(scope, node.id));
|
|
46
48
|
if (target) {
|
|
47
|
-
|
|
49
|
+
skin.setPart(node.id, target);
|
|
48
50
|
}
|
|
49
51
|
for (const child of node.children) {
|
|
50
52
|
exposeAppearanceNodes(skin, child, scope, context);
|
|
@@ -56,19 +58,19 @@ function exposeParts(skin, appearance, scope, context) {
|
|
|
56
58
|
const part = appearance.contract.parts[name];
|
|
57
59
|
const target = context.instances.get(qualifyNodeId(scope, part.nodeId));
|
|
58
60
|
if (target) {
|
|
59
|
-
|
|
61
|
+
skin.setPart(name, target);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
skin.skinParts = names;
|
|
63
65
|
}
|
|
64
66
|
function createStates(appearance, context) {
|
|
67
|
+
const basePath = assetPath(appearance.id);
|
|
65
68
|
return Object.keys(appearance.contract.states)
|
|
66
69
|
.sort()
|
|
67
70
|
.map(name => {
|
|
68
71
|
const definition = appearance.contract.states[name];
|
|
69
|
-
const path = `$.assets[${JSON.stringify(appearance.id)}]`;
|
|
70
72
|
const overrides = definition.overrides.map((override, index) => {
|
|
71
|
-
const value = resolvePropertyValue(override.value, `${
|
|
73
|
+
const value = resolvePropertyValue(override.value, `${basePath}.contract.states.${name}.overrides[${index}].value`, context);
|
|
72
74
|
if (override.transition !== undefined) {
|
|
73
75
|
return new TransitionSetProperty(override.targetId, override.property, value, override.transition);
|
|
74
76
|
}
|
|
@@ -84,7 +86,4 @@ function requireAppearance(id, path, context) {
|
|
|
84
86
|
}
|
|
85
87
|
return appearance;
|
|
86
88
|
}
|
|
87
|
-
function setSkinValue(skin, name, value) {
|
|
88
|
-
skin[name] = value;
|
|
89
|
-
}
|
|
90
89
|
//# sourceMappingURL=materializeAppearance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeAppearance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeAppearance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"materializeAppearance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeAppearance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeComponentInstance.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAIX,MAAM,
|
|
1
|
+
{"version":3,"file":"materializeComponentInstance.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAIX,MAAM,EAEN,MAAM,oBAAoB,CAAC;AAW5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC7B,aAAa,CAqCf"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { applyRuntimeProperty } from './applyRuntimeProperty.js';
|
|
2
|
+
import { assetPath } from './assetPath.js';
|
|
2
3
|
import { activateRuntimeContract } from './dynamics/activateRuntimeContract.js';
|
|
3
4
|
import { applyAppearance } from './materializeAppearance.js';
|
|
4
|
-
import { appendRuntimeChild
|
|
5
|
+
import { appendRuntimeChild } from './append-runtime-child.js';
|
|
6
|
+
import { applyNodeProperties } from './apply-node-properties.js';
|
|
7
|
+
import { materializeNode } from './materializeNode.js';
|
|
8
|
+
import { qualifyNodeId } from './node-identity.js';
|
|
5
9
|
import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
|
|
6
10
|
import { createReusableComponentStateController } from './states/createReusableComponentStateController.js';
|
|
7
11
|
/**
|
|
8
12
|
* Materializes one reusable component reference and its instance-local changes.
|
|
9
13
|
*/
|
|
10
14
|
export function materializeComponentInstance(node, path, parentScope, context) {
|
|
11
|
-
const specification = requireInstance(node);
|
|
15
|
+
const specification = requireInstance(node, path);
|
|
12
16
|
const source = requireComponentAsset(specification, path, context);
|
|
13
17
|
const identity = qualifyNodeId(parentScope, node.id);
|
|
14
|
-
const sourcePath =
|
|
18
|
+
const sourcePath = assetPath(source.id, '.root');
|
|
15
19
|
const root = materializeNode(source.root, sourcePath, identity, context);
|
|
16
20
|
context.instances.set(identity, root);
|
|
17
21
|
context.types.set(identity, node.type);
|
|
@@ -24,7 +28,7 @@ export function materializeComponentInstance(node, path, parentScope, context) {
|
|
|
24
28
|
applyAppearance(root, node, identity, path, context);
|
|
25
29
|
}
|
|
26
30
|
if (Object.keys(source.contract.states).length > 0) {
|
|
27
|
-
context.stateControllers.set(identity, createReusableComponentStateController(source.contract, identity,
|
|
31
|
+
context.stateControllers.set(identity, createReusableComponentStateController(source.contract, identity, assetPath(source.id, '.contract'), context));
|
|
28
32
|
}
|
|
29
33
|
activateRuntimeContract(source, identity, context);
|
|
30
34
|
return root;
|
|
@@ -34,6 +38,7 @@ function applyVariant(instance, contract, scope, path, context) {
|
|
|
34
38
|
return;
|
|
35
39
|
}
|
|
36
40
|
const variant = contract.variants[instance.variant];
|
|
41
|
+
// Unknown variants are rejected by project validation; skip defensively.
|
|
37
42
|
if (!variant) {
|
|
38
43
|
return;
|
|
39
44
|
}
|
|
@@ -58,6 +63,7 @@ function applyOverrides(instance, contract, scope, path, context) {
|
|
|
58
63
|
for (let index = 0; index < instance.overrides.length; index++) {
|
|
59
64
|
const override = instance.overrides[index];
|
|
60
65
|
const part = contract.parts[override.part];
|
|
66
|
+
// Unknown parts are rejected by project validation; skip defensively.
|
|
61
67
|
if (!part) {
|
|
62
68
|
continue;
|
|
63
69
|
}
|
|
@@ -67,6 +73,7 @@ function applyOverrides(instance, contract, scope, path, context) {
|
|
|
67
73
|
function projectSlots(instance, source, componentScope, parentScope, path, context) {
|
|
68
74
|
for (const name of Object.keys(instance.slots).sort()) {
|
|
69
75
|
const slot = source.contract.slots[name];
|
|
76
|
+
// Unknown slots and part nodes are rejected by project validation.
|
|
70
77
|
if (!slot) {
|
|
71
78
|
continue;
|
|
72
79
|
}
|
|
@@ -86,6 +93,7 @@ function projectSlots(instance, source, componentScope, parentScope, path, conte
|
|
|
86
93
|
}
|
|
87
94
|
function applyScopedProperty(scope, targetId, property, value, path, context) {
|
|
88
95
|
const target = context.instances.get(qualifyNodeId(scope, targetId));
|
|
96
|
+
// Binding targets are checked by project validation; missing targets skip.
|
|
89
97
|
if (!target) {
|
|
90
98
|
return;
|
|
91
99
|
}
|
|
@@ -102,11 +110,11 @@ function requireComponentAsset(instance, path, context) {
|
|
|
102
110
|
}
|
|
103
111
|
return source;
|
|
104
112
|
}
|
|
105
|
-
function requireInstance(node) {
|
|
113
|
+
function requireInstance(node, path) {
|
|
106
114
|
if (node.instance) {
|
|
107
115
|
return node.instance;
|
|
108
116
|
}
|
|
109
|
-
throw new
|
|
117
|
+
throw new KurotUIRuntimeError('invalid-document', 'Expected reusable component instance.', `${path}.instance`);
|
|
110
118
|
}
|
|
111
119
|
function findNode(root, id) {
|
|
112
120
|
if (root.id === id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeComponentInstance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"materializeComponentInstance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import type { DisplayObject } from '@kurot/core';
|
|
2
2
|
import type { UINode } from '@kurot/ui-document';
|
|
3
|
-
import type {
|
|
3
|
+
import type { KurotUICreationContext } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Materializes one semantic node, including nested reusable instances.
|
|
6
6
|
*/
|
|
7
7
|
export declare function materializeNode(node: UINode, path: string, scope: string, context: KurotUICreationContext): DisplayObject;
|
|
8
|
-
/**
|
|
9
|
-
* Returns a collision-free runtime identity for a node inside a component scope.
|
|
10
|
-
*/
|
|
11
|
-
export declare function qualifyNodeId(scope: string, nodeId: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Applies the node's explicitly authored properties in stable name order.
|
|
14
|
-
*/
|
|
15
|
-
export declare function applyNodeProperties(target: DisplayObject, node: UINode, path: string, context: KurotUICreationContext): void;
|
|
16
|
-
/**
|
|
17
|
-
* Attaches a materialized child through a built-in or project adapter contract.
|
|
18
|
-
*/
|
|
19
|
-
export declare function appendRuntimeChild(parent: DisplayObject, child: DisplayObject, parentType: string, path: string, adapter?: KurotUIComponentAdapter): void;
|
|
20
8
|
//# sourceMappingURL=materializeNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeNode.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"materializeNode.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQjD,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC7B,aAAa,CAmBf"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Group } from '@kurot/ui';
|
|
2
|
-
import { applyRuntimeProperty } from './applyRuntimeProperty.js';
|
|
3
1
|
import { applyAppearance } from './materializeAppearance.js';
|
|
2
|
+
import { appendRuntimeChild } from './append-runtime-child.js';
|
|
3
|
+
import { applyNodeProperties } from './apply-node-properties.js';
|
|
4
4
|
import { materializeComponentInstance } from './materializeComponentInstance.js';
|
|
5
5
|
import { getBuiltInFactory } from './builtins/componentFactories.js';
|
|
6
6
|
import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
|
|
7
|
+
import { qualifyNodeId } from './node-identity.js';
|
|
7
8
|
/**
|
|
8
9
|
* Materializes one semantic node, including nested reusable instances.
|
|
9
10
|
*/
|
|
@@ -26,34 +27,6 @@ export function materializeNode(node, path, scope, context) {
|
|
|
26
27
|
}
|
|
27
28
|
return instance;
|
|
28
29
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Returns a collision-free runtime identity for a node inside a component scope.
|
|
31
|
-
*/
|
|
32
|
-
export function qualifyNodeId(scope, nodeId) {
|
|
33
|
-
return scope ? `${scope}/${nodeId}` : nodeId;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Applies the node's explicitly authored properties in stable name order.
|
|
37
|
-
*/
|
|
38
|
-
export function applyNodeProperties(target, node, path, context) {
|
|
39
|
-
for (const name of Object.keys(node.properties).sort()) {
|
|
40
|
-
applyRuntimeProperty(target, node.type, name, node.properties[name], `${path}.properties.${name}`, context);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Attaches a materialized child through a built-in or project adapter contract.
|
|
45
|
-
*/
|
|
46
|
-
export function appendRuntimeChild(parent, child, parentType, path, adapter) {
|
|
47
|
-
if (adapter?.appendChild) {
|
|
48
|
-
adapter.appendChild(parent, child, path);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (parent instanceof Group) {
|
|
52
|
-
parent.addChild(child);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
throw new KurotUIRuntimeError('unsupported-children', `Runtime component "${parentType}" cannot attach document children.`, path);
|
|
56
|
-
}
|
|
57
30
|
function createInstance(node, path, adapter) {
|
|
58
31
|
const factory = adapter?.create ?? getBuiltInFactory(node.type);
|
|
59
32
|
if (!factory) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializeNode.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"materializeNode.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-identity.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/node-identity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-identity.js","sourceRoot":"","sources":["../../../src/kurot/runtime/node-identity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC"}
|