@kurot/ui-runtime 0.4.0 → 0.4.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.
Files changed (64) hide show
  1. package/dist/kurot/runtime/assetPath.d.ts +5 -0
  2. package/dist/kurot/runtime/assetPath.d.ts.map +1 -0
  3. package/dist/kurot/runtime/assetPath.js +7 -0
  4. package/dist/kurot/runtime/assetPath.js.map +1 -0
  5. package/dist/kurot/runtime/builtins/applyButtonProperties.js +2 -15
  6. package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -1
  7. package/dist/kurot/runtime/builtins/applyComponentProperties.js +1 -6
  8. package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
  9. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js +1 -19
  10. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -1
  11. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +2 -15
  12. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -1
  13. package/dist/kurot/runtime/builtins/applyGroupProperties.js +1 -14
  14. package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -1
  15. package/dist/kurot/runtime/builtins/applyImageProperties.js +3 -11
  16. package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -1
  17. package/dist/kurot/runtime/builtins/applyLabelProperties.js +1 -19
  18. package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -1
  19. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +2 -10
  20. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -1
  21. package/dist/kurot/runtime/builtins/applyRectProperties.js +1 -9
  22. package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -1
  23. package/dist/kurot/runtime/builtins/applyTextInputProperties.js +2 -20
  24. package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -1
  25. package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -1
  26. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +2 -14
  27. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -1
  28. package/dist/kurot/runtime/builtins/valueGuards.d.ts +18 -0
  29. package/dist/kurot/runtime/builtins/valueGuards.d.ts.map +1 -0
  30. package/dist/kurot/runtime/builtins/valueGuards.js +32 -0
  31. package/dist/kurot/runtime/builtins/valueGuards.js.map +1 -0
  32. package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
  33. package/dist/kurot/runtime/createKurotUI.js +14 -2
  34. package/dist/kurot/runtime/createKurotUI.js.map +1 -1
  35. package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
  36. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +1 -1
  37. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -1
  38. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +3 -3
  39. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -1
  40. package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -1
  41. package/dist/kurot/runtime/dynamics/createDataController.js +5 -38
  42. package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -1
  43. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +1 -1
  44. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -1
  45. package/dist/kurot/runtime/dynamics/registerSemanticActions.js +6 -5
  46. package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -1
  47. package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
  48. package/dist/kurot/runtime/materializeAppearance.js +7 -9
  49. package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
  50. package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
  51. package/dist/kurot/runtime/materializeComponentInstance.js +10 -5
  52. package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
  53. package/dist/kurot/runtime/propertyTransaction.d.ts +62 -0
  54. package/dist/kurot/runtime/propertyTransaction.d.ts.map +1 -0
  55. package/dist/kurot/runtime/propertyTransaction.js +150 -0
  56. package/dist/kurot/runtime/propertyTransaction.js.map +1 -0
  57. package/dist/kurot/runtime/states/createReusableComponentStateController.d.ts.map +1 -1
  58. package/dist/kurot/runtime/states/createReusableComponentStateController.js +27 -36
  59. package/dist/kurot/runtime/states/createReusableComponentStateController.js.map +1 -1
  60. package/dist/kurot/runtime/transitions/TransitionSetProperty.js +1 -1
  61. package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -1
  62. package/dist/kurot/runtime/types.d.ts +10 -5
  63. package/dist/kurot/runtime/types.d.ts.map +1 -1
  64. package/package.json +3 -3
@@ -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,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,EAC/B,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM,GACzD,IAAI,CAUN"}
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(document, scope, context, initialData = {}) {
7
- const controller = createDataController(document.contract, document.id, scope, context, initialData);
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(document, scope, context);
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,QAAoB,EACpB,KAAa,EACb,OAA+B,EAC/B,cAAyD,EAAE;IAE3D,MAAM,UAAU,GAAG,oBAAoB,CACtC,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,EAAE,EACX,KAAK,EACL,OAAO,EACP,WAAW,CACX,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/C,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
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":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAK3E,OAAO,KAAK,EAEX,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,aAAa,CAAC;AAErB;;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
+ {"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
3
  import { qualifyNodeId } from '../materializeNode.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 targets = [];
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
- targets.push({
56
+ updates.push({
57
57
  path: `$.contract.dataBindings.${name}`,
58
58
  property: binding.property,
59
59
  target,
60
60
  type,
61
- adapter: context.adapters[type],
62
- previousValue: captureBindingValue(context.adapters[type], target, binding.property, `$.contract.dataBindings.${name}`),
61
+ value,
63
62
  });
64
63
  }
65
- const applied = [];
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":"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"}
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(document: UIDocument, scope: string, context: KurotUICreationContext): void;
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,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC7B,IAAI,CA2BN"}
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"}
@@ -3,11 +3,12 @@ import { qualifyNodeId } from '../materializeNode.js';
3
3
  /**
4
4
  * Connects one asset's bounded action declarations to runtime events.
5
5
  */
6
- export function registerSemanticActions(document, scope, context) {
7
- if (context.onAction === undefined) {
6
+ export function registerSemanticActions(asset, scope, context) {
7
+ const onAction = context.onAction;
8
+ if (onAction === undefined) {
8
9
  return;
9
10
  }
10
- const actions = document.contract.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
- context.onAction?.({
21
+ onAction({
21
22
  action: name,
22
- assetId: document.id,
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,uBAAuB,CAAC;AAGtD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,QAAoB,EACpB,KAAa,EACb,OAA+B;IAE/B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;IACR,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAChD,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,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,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
+ {"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,uBAAuB,CAAC;AAGtD;;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;AAK7D,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
+ {"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;AAM7D,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,7 @@
1
1
  import { Component, SetProperty, Skin, State } from '@kurot/ui';
2
2
  import { applyRuntimeProperty } from './applyRuntimeProperty.js';
3
3
  import { materializeNode, qualifyNodeId } from './materializeNode.js';
4
+ import { assetPath } from './assetPath.js';
4
5
  import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
5
6
  import { resolvePropertyValue } from './resolvePropertyValue.js';
6
7
  import { TransitionSetProperty } from './transitions/TransitionSetProperty.js';
@@ -15,7 +16,7 @@ export function applyAppearance(target, node, hostIdentity, path, context) {
15
16
  }
16
17
  const appearance = requireAppearance(node.appearance.assetId, path, context);
17
18
  const scope = `${hostIdentity}@appearance:${appearance.id}`;
18
- const root = materializeNode(appearance.root, `$.assets[${JSON.stringify(appearance.id)}].root`, scope, context);
19
+ const root = materializeNode(appearance.root, assetPath(appearance.id, '.root'), scope, context);
19
20
  applyAppearanceVariant(node.appearance.variant, appearance, scope, context);
20
21
  const skin = new Skin();
21
22
  skin.elementsContent = [root];
@@ -30,7 +31,7 @@ function applyAppearanceVariant(name, appearance, scope, context) {
30
31
  const definition = appearance.contract.variants[name];
31
32
  if (!definition)
32
33
  return;
33
- const path = `$.assets[${JSON.stringify(appearance.id)}].contract.variants.${name}`;
34
+ const path = assetPath(appearance.id, `.contract.variants.${name}`);
34
35
  for (let index = 0; index < definition.overrides.length; index++) {
35
36
  const override = definition.overrides[index];
36
37
  const identity = qualifyNodeId(scope, override.targetId);
@@ -44,7 +45,7 @@ function applyAppearanceVariant(name, appearance, scope, context) {
44
45
  function exposeAppearanceNodes(skin, node, scope, context) {
45
46
  const target = context.instances.get(qualifyNodeId(scope, node.id));
46
47
  if (target) {
47
- setSkinValue(skin, node.id, target);
48
+ skin.setPart(node.id, target);
48
49
  }
49
50
  for (const child of node.children) {
50
51
  exposeAppearanceNodes(skin, child, scope, context);
@@ -56,19 +57,19 @@ function exposeParts(skin, appearance, scope, context) {
56
57
  const part = appearance.contract.parts[name];
57
58
  const target = context.instances.get(qualifyNodeId(scope, part.nodeId));
58
59
  if (target) {
59
- setSkinValue(skin, name, target);
60
+ skin.setPart(name, target);
60
61
  }
61
62
  }
62
63
  skin.skinParts = names;
63
64
  }
64
65
  function createStates(appearance, context) {
66
+ const basePath = assetPath(appearance.id);
65
67
  return Object.keys(appearance.contract.states)
66
68
  .sort()
67
69
  .map(name => {
68
70
  const definition = appearance.contract.states[name];
69
- const path = `$.assets[${JSON.stringify(appearance.id)}]`;
70
71
  const overrides = definition.overrides.map((override, index) => {
71
- const value = resolvePropertyValue(override.value, `${path}.contract.states.${name}.overrides[${index}].value`, context);
72
+ const value = resolvePropertyValue(override.value, `${basePath}.contract.states.${name}.overrides[${index}].value`, context);
72
73
  if (override.transition !== undefined) {
73
74
  return new TransitionSetProperty(override.targetId, override.property, value, override.transition);
74
75
  }
@@ -84,7 +85,4 @@ function requireAppearance(id, path, context) {
84
85
  }
85
86
  return appearance;
86
87
  }
87
- function setSkinValue(skin, name, value) {
88
- skin[name] = value;
89
- }
90
88
  //# sourceMappingURL=materializeAppearance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"materializeAppearance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeAppearance.ts"],"names":[],"mappings":"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"}
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,EACN,MAAM,oBAAoB,CAAC;AAY5B,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
+ {"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;AAa5B,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,4 +1,5 @@
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
5
  import { appendRuntimeChild, applyNodeProperties, materializeNode, qualifyNodeId, } from './materializeNode.js';
@@ -8,10 +9,10 @@ import { createReusableComponentStateController } from './states/createReusableC
8
9
  * Materializes one reusable component reference and its instance-local changes.
9
10
  */
10
11
  export function materializeComponentInstance(node, path, parentScope, context) {
11
- const specification = requireInstance(node);
12
+ const specification = requireInstance(node, path);
12
13
  const source = requireComponentAsset(specification, path, context);
13
14
  const identity = qualifyNodeId(parentScope, node.id);
14
- const sourcePath = `$.assets[${JSON.stringify(source.id)}].root`;
15
+ const sourcePath = assetPath(source.id, '.root');
15
16
  const root = materializeNode(source.root, sourcePath, identity, context);
16
17
  context.instances.set(identity, root);
17
18
  context.types.set(identity, node.type);
@@ -24,7 +25,7 @@ export function materializeComponentInstance(node, path, parentScope, context) {
24
25
  applyAppearance(root, node, identity, path, context);
25
26
  }
26
27
  if (Object.keys(source.contract.states).length > 0) {
27
- context.stateControllers.set(identity, createReusableComponentStateController(source.contract, identity, `$.assets[${JSON.stringify(source.id)}].contract`, context));
28
+ context.stateControllers.set(identity, createReusableComponentStateController(source.contract, identity, assetPath(source.id, '.contract'), context));
28
29
  }
29
30
  activateRuntimeContract(source, identity, context);
30
31
  return root;
@@ -34,6 +35,7 @@ function applyVariant(instance, contract, scope, path, context) {
34
35
  return;
35
36
  }
36
37
  const variant = contract.variants[instance.variant];
38
+ // Unknown variants are rejected by project validation; skip defensively.
37
39
  if (!variant) {
38
40
  return;
39
41
  }
@@ -58,6 +60,7 @@ function applyOverrides(instance, contract, scope, path, context) {
58
60
  for (let index = 0; index < instance.overrides.length; index++) {
59
61
  const override = instance.overrides[index];
60
62
  const part = contract.parts[override.part];
63
+ // Unknown parts are rejected by project validation; skip defensively.
61
64
  if (!part) {
62
65
  continue;
63
66
  }
@@ -67,6 +70,7 @@ function applyOverrides(instance, contract, scope, path, context) {
67
70
  function projectSlots(instance, source, componentScope, parentScope, path, context) {
68
71
  for (const name of Object.keys(instance.slots).sort()) {
69
72
  const slot = source.contract.slots[name];
73
+ // Unknown slots and part nodes are rejected by project validation.
70
74
  if (!slot) {
71
75
  continue;
72
76
  }
@@ -86,6 +90,7 @@ function projectSlots(instance, source, componentScope, parentScope, path, conte
86
90
  }
87
91
  function applyScopedProperty(scope, targetId, property, value, path, context) {
88
92
  const target = context.instances.get(qualifyNodeId(scope, targetId));
93
+ // Binding targets are checked by project validation; missing targets skip.
89
94
  if (!target) {
90
95
  return;
91
96
  }
@@ -102,11 +107,11 @@ function requireComponentAsset(instance, path, context) {
102
107
  }
103
108
  return source;
104
109
  }
105
- function requireInstance(node) {
110
+ function requireInstance(node, path) {
106
111
  if (node.instance) {
107
112
  return node.instance;
108
113
  }
109
- throw new Error('Expected reusable component instance.');
114
+ throw new KurotUIRuntimeError('invalid-document', 'Expected reusable component instance.', `${path}.instance`);
110
115
  }
111
116
  function findNode(root, id) {
112
117
  if (root.id === id) {
@@ -1 +1 @@
1
- {"version":3,"file":"materializeComponentInstance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializeComponentInstance.js","sourceRoot":"","sources":["../../../src/kurot/runtime/materializeComponentInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { DisplayObject } from '@kurot/core';
2
+ import type { UIPropertyValue } from '@kurot/ui-document';
3
+ import type { KurotUIComponentAdapter, KurotUICreationContext } from './types.js';
4
+ /**
5
+ * One property assignment to apply transactionally.
6
+ */
7
+ export interface RuntimePropertyUpdate {
8
+ /**
9
+ * Semantic document path used in failure diagnostics.
10
+ */
11
+ readonly path: string;
12
+ /**
13
+ * Runtime property name to assign.
14
+ */
15
+ readonly property: string;
16
+ /**
17
+ * Materialized object receiving the assignment.
18
+ */
19
+ readonly target: DisplayObject;
20
+ /**
21
+ * Canonical component type of the target, used for adapter lookup.
22
+ */
23
+ readonly type: string;
24
+ /**
25
+ * Authored value to assign.
26
+ */
27
+ readonly value: UIPropertyValue;
28
+ }
29
+ /**
30
+ * One captured pre-assignment value together with the layer that owns the
31
+ * property: builtin-owned backups restore reflectively; adapter-owned
32
+ * backups restore through their adapter.
33
+ */
34
+ export interface RuntimePropertyBackup {
35
+ readonly adapter: KurotUIComponentAdapter | undefined;
36
+ readonly path: string;
37
+ readonly property: string;
38
+ readonly target: DisplayObject;
39
+ readonly value: unknown;
40
+ }
41
+ /**
42
+ * Applies updates in order and returns the captured pre-assignment backups.
43
+ * Each target property is captured exactly once through its owning layer —
44
+ * builtin properties are captured reflectively, while properties consumed by
45
+ * the component adapter are captured through `captureProperty` before the
46
+ * adapter is invoked. If any assignment fails, every captured property is
47
+ * restored in reverse order by its owning layer, and the original failure is
48
+ * rethrown with a failed restore chained onto it as `cause`.
49
+ */
50
+ export declare function applyPropertyUpdates(updates: readonly RuntimePropertyUpdate[], context: KurotUICreationContext): RuntimePropertyBackup[];
51
+ /**
52
+ * Restores captured values in reverse assignment order through each owning
53
+ * layer. Throws the first restore failure after attempting every remaining
54
+ * restore.
55
+ */
56
+ export declare function restorePropertyBackups(backups: readonly RuntimePropertyBackup[]): void;
57
+ /**
58
+ * Chains a secondary failure onto an existing error as its `cause` when the
59
+ * error does not already carry one.
60
+ */
61
+ export declare function attachCause(error: unknown, cause: unknown): void;
62
+ //# sourceMappingURL=propertyTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyTransaction.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/propertyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,OAAO,KAAK,EACX,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,OAAO,EAAE,sBAAsB,GAC7B,qBAAqB,EAAE,CAgCzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACvC,IAAI,CAyBN;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAIhE"}
@@ -0,0 +1,150 @@
1
+ import { applyBuiltInProperty } from './builtins/applyBuiltInProperties.js';
2
+ import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
3
+ import { resolvePropertyValue } from './resolvePropertyValue.js';
4
+ /**
5
+ * Applies updates in order and returns the captured pre-assignment backups.
6
+ * Each target property is captured exactly once through its owning layer —
7
+ * builtin properties are captured reflectively, while properties consumed by
8
+ * the component adapter are captured through `captureProperty` before the
9
+ * adapter is invoked. If any assignment fails, every captured property is
10
+ * restored in reverse order by its owning layer, and the original failure is
11
+ * rethrown with a failed restore chained onto it as `cause`.
12
+ */
13
+ export function applyPropertyUpdates(updates, context) {
14
+ const backups = [];
15
+ const captured = new Map();
16
+ try {
17
+ for (const update of updates) {
18
+ let byProperty = captured.get(update.target);
19
+ if (byProperty === undefined) {
20
+ byProperty = new Map();
21
+ captured.set(update.target, byProperty);
22
+ }
23
+ const previous = byProperty.get(update.property);
24
+ if (previous !== undefined) {
25
+ // Repeat assignment of an already-captured property: reuse its
26
+ // recorded owning layer instead of capturing again.
27
+ applyThroughOwner(update, previous, context);
28
+ continue;
29
+ }
30
+ captureAndApply(update, byProperty, backups, context);
31
+ }
32
+ }
33
+ catch (error) {
34
+ let restoreError;
35
+ try {
36
+ restorePropertyBackups(backups);
37
+ }
38
+ catch (secondary) {
39
+ restoreError = secondary;
40
+ }
41
+ if (restoreError !== undefined) {
42
+ attachCause(error, restoreError);
43
+ }
44
+ throw error;
45
+ }
46
+ return backups;
47
+ }
48
+ /**
49
+ * Restores captured values in reverse assignment order through each owning
50
+ * layer. Throws the first restore failure after attempting every remaining
51
+ * restore.
52
+ */
53
+ export function restorePropertyBackups(backups) {
54
+ let failure;
55
+ for (let index = backups.length - 1; index >= 0; index--) {
56
+ const backup = backups[index];
57
+ if (backup === undefined) {
58
+ continue;
59
+ }
60
+ try {
61
+ if (backup.adapter?.restoreProperty !== undefined) {
62
+ backup.adapter.restoreProperty(backup.target, backup.property, backup.value, backup.path);
63
+ }
64
+ else {
65
+ Reflect.set(backup.target, backup.property, backup.value);
66
+ }
67
+ }
68
+ catch (error) {
69
+ failure ??= error;
70
+ }
71
+ }
72
+ if (failure !== undefined) {
73
+ throw failure;
74
+ }
75
+ }
76
+ /**
77
+ * Chains a secondary failure onto an existing error as its `cause` when the
78
+ * error does not already carry one.
79
+ */
80
+ export function attachCause(error, cause) {
81
+ if (error instanceof Error && error.cause === undefined) {
82
+ error.cause = cause;
83
+ }
84
+ }
85
+ /**
86
+ * Captures and applies the first assignment of one property through the
87
+ * builtin-first routing, registering the backup before any assignment runs so
88
+ * that a throwing assignment still rolls back. Unregisters when the adapter
89
+ * does not consume the property and nothing was applied.
90
+ */
91
+ function captureAndApply(update, byProperty, backups, context) {
92
+ const resolved = resolvePropertyValue(update.value, update.path, context);
93
+ // Builtin properties are reflective: register the capture before assigning
94
+ // so a throwing setter still rolls back, and unregister when the builtin
95
+ // layer does not own the property.
96
+ const reflective = {
97
+ adapter: undefined,
98
+ path: update.path,
99
+ property: update.property,
100
+ target: update.target,
101
+ value: Reflect.get(update.target, update.property),
102
+ };
103
+ byProperty.set(update.property, reflective);
104
+ backups.push(reflective);
105
+ if (applyBuiltInProperty(update.target, update.property, resolved, update.path)) {
106
+ return;
107
+ }
108
+ byProperty.delete(update.property);
109
+ backups.pop();
110
+ const adapter = context.adapters[update.type];
111
+ if (adapter?.applyProperty !== undefined) {
112
+ // Adapter-owned property: capture through the adapter, register before
113
+ // applying, and unregister when the adapter does not consume it.
114
+ const owned = {
115
+ adapter,
116
+ path: update.path,
117
+ property: update.property,
118
+ target: update.target,
119
+ value: adapter.captureProperty !== undefined
120
+ ? adapter.captureProperty(update.target, update.property, update.path)
121
+ : Reflect.get(update.target, update.property),
122
+ };
123
+ byProperty.set(update.property, owned);
124
+ backups.push(owned);
125
+ if (adapter.applyProperty(update.target, update.property, resolved, update.path)) {
126
+ return;
127
+ }
128
+ byProperty.delete(update.property);
129
+ backups.pop();
130
+ }
131
+ throw unsupportedProperty(update);
132
+ }
133
+ /**
134
+ * Re-applies one update through the owning layer recorded on its backup.
135
+ */
136
+ function applyThroughOwner(update, backup, context) {
137
+ const resolved = resolvePropertyValue(update.value, update.path, context);
138
+ if (backup.adapter?.applyProperty !== undefined) {
139
+ if (!backup.adapter.applyProperty(update.target, update.property, resolved, update.path)) {
140
+ throw unsupportedProperty(update);
141
+ }
142
+ }
143
+ else if (!applyBuiltInProperty(update.target, update.property, resolved, update.path)) {
144
+ throw unsupportedProperty(update);
145
+ }
146
+ }
147
+ function unsupportedProperty(update) {
148
+ return new KurotUIRuntimeError('invalid-property', `Runtime property "${update.property}" is not supported by ${update.type}.`, update.path);
149
+ }
150
+ //# sourceMappingURL=propertyTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propertyTransaction.js","sourceRoot":"","sources":["../../../src/kurot/runtime/propertyTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createReusableComponentStateController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAI9E,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AAQrB;;GAEG;AACH,wBAAgB,sCAAsC,CACrD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,sBAAsB,GAC7B,sBAAsB,CAuDxB"}
1
+ {"version":3,"file":"createReusableComponentStateController.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AAY9E,OAAO,KAAK,EACX,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAgB,sCAAsC,CACrD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,sBAAsB,GAC7B,sBAAsB,CA6DxB"}