@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.
Files changed (80) hide show
  1. package/dist/kurot/runtime/append-runtime-child.d.ts +7 -0
  2. package/dist/kurot/runtime/append-runtime-child.d.ts.map +1 -0
  3. package/dist/kurot/runtime/append-runtime-child.js +17 -0
  4. package/dist/kurot/runtime/append-runtime-child.js.map +1 -0
  5. package/dist/kurot/runtime/apply-node-properties.d.ts +8 -0
  6. package/dist/kurot/runtime/apply-node-properties.d.ts.map +1 -0
  7. package/dist/kurot/runtime/apply-node-properties.js +10 -0
  8. package/dist/kurot/runtime/apply-node-properties.js.map +1 -0
  9. package/dist/kurot/runtime/assetPath.d.ts +5 -0
  10. package/dist/kurot/runtime/assetPath.d.ts.map +1 -0
  11. package/dist/kurot/runtime/assetPath.js +7 -0
  12. package/dist/kurot/runtime/assetPath.js.map +1 -0
  13. package/dist/kurot/runtime/builtins/applyButtonProperties.js +2 -15
  14. package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -1
  15. package/dist/kurot/runtime/builtins/applyComponentProperties.js +1 -6
  16. package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
  17. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js +1 -19
  18. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -1
  19. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +2 -15
  20. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -1
  21. package/dist/kurot/runtime/builtins/applyGroupProperties.js +1 -14
  22. package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -1
  23. package/dist/kurot/runtime/builtins/applyImageProperties.js +3 -11
  24. package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -1
  25. package/dist/kurot/runtime/builtins/applyLabelProperties.js +1 -19
  26. package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -1
  27. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +2 -10
  28. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -1
  29. package/dist/kurot/runtime/builtins/applyRectProperties.js +1 -9
  30. package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -1
  31. package/dist/kurot/runtime/builtins/applyTextInputProperties.js +2 -20
  32. package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -1
  33. package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -1
  34. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +2 -14
  35. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -1
  36. package/dist/kurot/runtime/builtins/valueGuards.d.ts +18 -0
  37. package/dist/kurot/runtime/builtins/valueGuards.d.ts.map +1 -0
  38. package/dist/kurot/runtime/builtins/valueGuards.js +32 -0
  39. package/dist/kurot/runtime/builtins/valueGuards.js.map +1 -0
  40. package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
  41. package/dist/kurot/runtime/createKurotUI.js +14 -2
  42. package/dist/kurot/runtime/createKurotUI.js.map +1 -1
  43. package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
  44. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +1 -1
  45. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -1
  46. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +3 -3
  47. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -1
  48. package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -1
  49. package/dist/kurot/runtime/dynamics/createDataController.js +6 -39
  50. package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -1
  51. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +1 -1
  52. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -1
  53. package/dist/kurot/runtime/dynamics/registerSemanticActions.js +7 -6
  54. package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -1
  55. package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
  56. package/dist/kurot/runtime/materializeAppearance.js +9 -10
  57. package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
  58. package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
  59. package/dist/kurot/runtime/materializeComponentInstance.js +14 -6
  60. package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
  61. package/dist/kurot/runtime/materializeNode.d.ts +1 -13
  62. package/dist/kurot/runtime/materializeNode.d.ts.map +1 -1
  63. package/dist/kurot/runtime/materializeNode.js +3 -30
  64. package/dist/kurot/runtime/materializeNode.js.map +1 -1
  65. package/dist/kurot/runtime/node-identity.d.ts +5 -0
  66. package/dist/kurot/runtime/node-identity.d.ts.map +1 -0
  67. package/dist/kurot/runtime/node-identity.js +7 -0
  68. package/dist/kurot/runtime/node-identity.js.map +1 -0
  69. package/dist/kurot/runtime/propertyTransaction.d.ts +62 -0
  70. package/dist/kurot/runtime/propertyTransaction.d.ts.map +1 -0
  71. package/dist/kurot/runtime/propertyTransaction.js +150 -0
  72. package/dist/kurot/runtime/propertyTransaction.js.map +1 -0
  73. package/dist/kurot/runtime/states/createReusableComponentStateController.d.ts.map +1 -1
  74. package/dist/kurot/runtime/states/createReusableComponentStateController.js +28 -37
  75. package/dist/kurot/runtime/states/createReusableComponentStateController.js.map +1 -1
  76. package/dist/kurot/runtime/transitions/TransitionSetProperty.js +1 -1
  77. package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -1
  78. package/dist/kurot/runtime/types.d.ts +10 -5
  79. package/dist/kurot/runtime/types.d.ts.map +1 -1
  80. package/package.json +4 -4
@@ -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"}
@@ -1,6 +1,6 @@
1
- import { applyRuntimeProperty } from '../applyRuntimeProperty.js';
2
1
  import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
3
- import { qualifyNodeId } from '../materializeNode.js';
2
+ import { qualifyNodeId } from '../node-identity.js';
3
+ import { applyPropertyUpdates, attachCause, restorePropertyBackups, } from '../propertyTransaction.js';
4
4
  /**
5
5
  * Creates a state controller over one fully initialized reusable instance.
6
6
  */
@@ -24,7 +24,7 @@ export function createReusableComponentStateController(contract, scope, contract
24
24
  const previousDefinition = previousState
25
25
  ? contract.states[previousState]
26
26
  : undefined;
27
- restoreProperties(backups);
27
+ restorePropertyBackups(backups);
28
28
  backups = [];
29
29
  currentState = undefined;
30
30
  try {
@@ -33,8 +33,15 @@ export function createReusableComponentStateController(contract, scope, contract
33
33
  }
34
34
  catch (error) {
35
35
  if (previousState && previousDefinition) {
36
- backups = applyStateOverrides(previousDefinition.overrides, scope, `${contractPath}.states.${previousState}`, context);
37
- currentState = previousState;
36
+ try {
37
+ backups = applyStateOverrides(previousDefinition.overrides, scope, `${contractPath}.states.${previousState}`, context);
38
+ currentState = previousState;
39
+ }
40
+ catch (recoveryError) {
41
+ // Keep the original failure observable; the instance stays stateless.
42
+ attachCause(error, recoveryError);
43
+ backups = [];
44
+ }
38
45
  }
39
46
  throw error;
40
47
  }
@@ -42,45 +49,29 @@ export function createReusableComponentStateController(contract, scope, contract
42
49
  clearState() {
43
50
  if (currentState === undefined)
44
51
  return;
45
- restoreProperties(backups);
52
+ restorePropertyBackups(backups);
46
53
  backups = [];
47
54
  currentState = undefined;
48
55
  },
49
56
  };
50
57
  }
51
58
  function applyStateOverrides(overrides, scope, path, context) {
52
- const backups = new Map();
53
- try {
54
- for (let index = 0; index < overrides.length; index++) {
55
- const override = overrides[index];
56
- const identity = qualifyNodeId(scope, override.targetId);
57
- const target = context.instances.get(identity);
58
- const type = context.types.get(identity);
59
- if (!target || !type)
60
- continue;
61
- const key = `${identity}\u0000${override.property}`;
62
- if (!backups.has(key)) {
63
- backups.set(key, {
64
- property: override.property,
65
- target,
66
- value: Reflect.get(target, override.property),
67
- });
68
- }
69
- applyRuntimeProperty(target, type, override.property, override.value, `${path}.overrides[${index}].value`, context);
70
- }
71
- }
72
- catch (error) {
73
- restoreProperties([...backups.values()]);
74
- throw error;
75
- }
76
- return [...backups.values()];
77
- }
78
- function restoreProperties(backups) {
79
- for (let index = backups.length - 1; index >= 0; index--) {
80
- const backup = backups[index];
81
- if (!backup)
59
+ const updates = [];
60
+ for (let index = 0; index < overrides.length; index++) {
61
+ const override = overrides[index];
62
+ const identity = qualifyNodeId(scope, override.targetId);
63
+ const target = context.instances.get(identity);
64
+ const type = context.types.get(identity);
65
+ if (!target || !type)
82
66
  continue;
83
- Reflect.set(backup.target, backup.property, backup.value);
67
+ updates.push({
68
+ path: `${path}.overrides[${index}].value`,
69
+ property: override.property,
70
+ target,
71
+ type,
72
+ value: override.value,
73
+ });
84
74
  }
75
+ return applyPropertyUpdates(updates, context);
85
76
  }
86
77
  //# sourceMappingURL=createReusableComponentStateController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReusableComponentStateController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createReusableComponentStateController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/states/createReusableComponentStateController.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export class TransitionSetProperty {
52
52
  const animation = new Animation(() => {
53
53
  const elapsed = animation.currentValue * total;
54
54
  const fraction = duration === 0
55
- ? Number(elapsed >= delay)
55
+ ? elapsed >= delay ? 1 : 0
56
56
  : Math.max(0, Math.min(1, (elapsed - delay) / duration));
57
57
  const eased = ease(fraction, this._transition.easing ?? 'linear');
58
58
  Reflect.set(target, this._name, from + (to - from) * eased);
@@ -1 +1 @@
1
- {"version":3,"file":"TransitionSetProperty.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransitionSetProperty.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { UIAssetRegistry, UIComponentRegistry, UIPropertyValue, UIResourceD
3
3
  /**
4
4
  * Stable runtime materialization failure categories.
5
5
  */
6
- export type KurotUIRuntimeErrorCode = 'component-construction-failed' | 'invalid-document' | 'invalid-data' | 'invalid-layout' | 'invalid-property' | 'invalid-rectangle' | 'unknown-state' | 'unsupported-appearance' | 'unsupported-children' | 'unsupported-component';
6
+ export type KurotUIRuntimeErrorCode = 'component-construction-failed' | 'invalid-adapter' | 'invalid-document' | 'invalid-data' | 'invalid-layout' | 'invalid-property' | 'invalid-rectangle' | 'unknown-state' | 'unsupported-appearance' | 'unsupported-children' | 'unsupported-component';
7
7
  /**
8
8
  * Runtime hooks for one project-defined component type.
9
9
  */
@@ -19,13 +19,18 @@ export interface KurotUIComponentAdapter {
19
19
  */
20
20
  readonly applyProperty?: (instance: DisplayObject, name: string, value: unknown, path: string) => boolean;
21
21
  /**
22
- * Captures adapter-owned state before a data binding updates the property.
23
- * Provide this together with restoreProperty for non-reflective properties.
22
+ * Captures a candidate adapter-owned property before a transactional update
23
+ * invokes applyProperty. The hook must be side-effect-free and accept every
24
+ * non-builtin property name routed to this adapter; its captured value is
25
+ * discarded when applyProperty returns false. Used by both data bindings and
26
+ * reusable component states. Must be provided together with restoreProperty.
24
27
  */
25
28
  readonly captureProperty?: (instance: DisplayObject, name: string, path: string) => unknown;
26
29
  /**
27
- * Restores adapter-owned state when a later binding target rejects an update.
28
- * Provide this together with captureProperty for non-reflective properties.
30
+ * Restores a value previously captured by captureProperty, either when a
31
+ * later target in the same transaction fails or when the owning reusable
32
+ * component state is cleared or replaced. Must be provided together with
33
+ * captureProperty.
29
34
  */
30
35
  readonly restoreProperty?: (instance: DisplayObject, name: string, value: unknown, path: string) => void;
31
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAChC,+BAA+B,GAC/B,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,wBAAwB,GACxB,sBAAsB,GACtB,uBAAuB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CACxB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;IAEb;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAC1B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;IAEb;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAC1B,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;IAEV;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CACtB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;CACV;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACrC,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,oBAAoB,KAC5B,OAAO,CAAC;AAEb;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAC7C,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE1D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEvD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEvE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAErE;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAE7D;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAErE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzE;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurot/ui-runtime",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Runtime materialization layer for validated Kurot UI documents",
5
5
  "author": "Kelvin <kyia.x52@gmail.com>",
6
6
  "license": "MIT",
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@kurot/core": "^1.0.15",
33
- "@kurot/ui": "^1.1.7",
33
+ "@kurot/ui": "^1.1.8",
34
34
  "@kurot/ui-document": "^0.5.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@kurot/core": "^1.0.15",
38
- "@kurot/ui": "^1.1.7",
39
- "@kurot/ui-document": "^0.5.0",
38
+ "@kurot/ui": "^1.1.9",
39
+ "@kurot/ui-document": "^0.5.1",
40
40
  "@types/node": "^22.0.0",
41
41
  "happy-dom": "^20.8.9",
42
42
  "typescript": "^5.6.0",