@kurot/ui-runtime 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +40 -14
  2. package/dist/kurot/runtime/applyRuntimeProperty.d.ts.map +1 -1
  3. package/dist/kurot/runtime/applyRuntimeProperty.js +16 -7
  4. package/dist/kurot/runtime/applyRuntimeProperty.js.map +1 -1
  5. package/dist/kurot/runtime/builtins/applyBuiltInProperties.d.ts +6 -0
  6. package/dist/kurot/runtime/builtins/applyBuiltInProperties.d.ts.map +1 -0
  7. package/dist/kurot/runtime/builtins/applyBuiltInProperties.js +61 -0
  8. package/dist/kurot/runtime/builtins/applyBuiltInProperties.js.map +1 -0
  9. package/dist/kurot/runtime/builtins/applyButtonProperties.d.ts +6 -0
  10. package/dist/kurot/runtime/builtins/applyButtonProperties.d.ts.map +1 -0
  11. package/dist/kurot/runtime/builtins/applyButtonProperties.js +43 -0
  12. package/dist/kurot/runtime/builtins/applyButtonProperties.js.map +1 -0
  13. package/dist/kurot/runtime/builtins/applyComponentProperties.d.ts +3 -4
  14. package/dist/kurot/runtime/builtins/applyComponentProperties.d.ts.map +1 -1
  15. package/dist/kurot/runtime/builtins/applyComponentProperties.js +2 -97
  16. package/dist/kurot/runtime/builtins/applyComponentProperties.js.map +1 -1
  17. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.d.ts +6 -0
  18. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.d.ts.map +1 -0
  19. package/dist/kurot/runtime/builtins/{applyDisplayProperties.js → applyDisplayObjectProperties.js} +3 -68
  20. package/dist/kurot/runtime/builtins/applyDisplayObjectProperties.js.map +1 -0
  21. package/dist/kurot/runtime/builtins/applyEditableTextProperties.d.ts +6 -0
  22. package/dist/kurot/runtime/builtins/applyEditableTextProperties.d.ts.map +1 -0
  23. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js +41 -0
  24. package/dist/kurot/runtime/builtins/applyEditableTextProperties.js.map +1 -0
  25. package/dist/kurot/runtime/builtins/applyGroupProperties.d.ts +6 -0
  26. package/dist/kurot/runtime/builtins/applyGroupProperties.d.ts.map +1 -0
  27. package/dist/kurot/runtime/builtins/{applyContainerProperties.js → applyGroupProperties.js} +3 -14
  28. package/dist/kurot/runtime/builtins/applyGroupProperties.js.map +1 -0
  29. package/dist/kurot/runtime/builtins/applyImageProperties.d.ts +6 -0
  30. package/dist/kurot/runtime/builtins/applyImageProperties.d.ts.map +1 -0
  31. package/dist/kurot/runtime/builtins/applyImageProperties.js +44 -0
  32. package/dist/kurot/runtime/builtins/applyImageProperties.js.map +1 -0
  33. package/dist/kurot/runtime/builtins/applyLabelProperties.d.ts +6 -0
  34. package/dist/kurot/runtime/builtins/applyLabelProperties.d.ts.map +1 -0
  35. package/dist/kurot/runtime/builtins/{applyTextProperties.js → applyLabelProperties.js} +3 -6
  36. package/dist/kurot/runtime/builtins/applyLabelProperties.js.map +1 -0
  37. package/dist/kurot/runtime/builtins/applyProgressBarProperties.d.ts +6 -0
  38. package/dist/kurot/runtime/builtins/applyProgressBarProperties.d.ts.map +1 -0
  39. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js +40 -0
  40. package/dist/kurot/runtime/builtins/applyProgressBarProperties.js.map +1 -0
  41. package/dist/kurot/runtime/builtins/applyRectProperties.d.ts +6 -0
  42. package/dist/kurot/runtime/builtins/applyRectProperties.d.ts.map +1 -0
  43. package/dist/kurot/runtime/builtins/applyRectProperties.js +40 -0
  44. package/dist/kurot/runtime/builtins/applyRectProperties.js.map +1 -0
  45. package/dist/kurot/runtime/builtins/applyTextInputProperties.d.ts +6 -0
  46. package/dist/kurot/runtime/builtins/applyTextInputProperties.d.ts.map +1 -0
  47. package/dist/kurot/runtime/builtins/applyTextInputProperties.js +55 -0
  48. package/dist/kurot/runtime/builtins/applyTextInputProperties.js.map +1 -0
  49. package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts +9 -0
  50. package/dist/kurot/runtime/builtins/applyUIComponentProperties.d.ts.map +1 -0
  51. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js +80 -0
  52. package/dist/kurot/runtime/builtins/applyUIComponentProperties.js.map +1 -0
  53. package/dist/kurot/runtime/builtins/componentFactories.d.ts.map +1 -1
  54. package/dist/kurot/runtime/builtins/componentFactories.js +3 -1
  55. package/dist/kurot/runtime/builtins/componentFactories.js.map +1 -1
  56. package/dist/kurot/runtime/createKurotUI.d.ts.map +1 -1
  57. package/dist/kurot/runtime/createKurotUI.js +29 -1
  58. package/dist/kurot/runtime/createKurotUI.js.map +1 -1
  59. package/dist/kurot/runtime/descriptors/createLayout.d.ts +1 -2
  60. package/dist/kurot/runtime/descriptors/createLayout.d.ts.map +1 -1
  61. package/dist/kurot/runtime/descriptors/createLayout.js +8 -6
  62. package/dist/kurot/runtime/descriptors/createLayout.js.map +1 -1
  63. package/dist/kurot/runtime/descriptors/createRectangle.d.ts +1 -2
  64. package/dist/kurot/runtime/descriptors/createRectangle.d.ts.map +1 -1
  65. package/dist/kurot/runtime/descriptors/createRectangle.js.map +1 -1
  66. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts +7 -0
  67. package/dist/kurot/runtime/dynamics/activateRuntimeContract.d.ts.map +1 -0
  68. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js +11 -0
  69. package/dist/kurot/runtime/dynamics/activateRuntimeContract.js.map +1 -0
  70. package/dist/kurot/runtime/dynamics/createDataController.d.ts +7 -0
  71. package/dist/kurot/runtime/dynamics/createDataController.d.ts.map +1 -0
  72. package/dist/kurot/runtime/dynamics/createDataController.js +68 -0
  73. package/dist/kurot/runtime/dynamics/createDataController.js.map +1 -0
  74. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts +7 -0
  75. package/dist/kurot/runtime/dynamics/registerSemanticActions.d.ts.map +1 -0
  76. package/dist/kurot/runtime/dynamics/registerSemanticActions.js +42 -0
  77. package/dist/kurot/runtime/dynamics/registerSemanticActions.js.map +1 -0
  78. package/dist/kurot/runtime/index.d.ts +2 -1
  79. package/dist/kurot/runtime/index.d.ts.map +1 -1
  80. package/dist/kurot/runtime/index.js +1 -0
  81. package/dist/kurot/runtime/index.js.map +1 -1
  82. package/dist/kurot/runtime/materializeAppearance.d.ts.map +1 -1
  83. package/dist/kurot/runtime/materializeAppearance.js +8 -1
  84. package/dist/kurot/runtime/materializeAppearance.js.map +1 -1
  85. package/dist/kurot/runtime/materializeComponentInstance.d.ts.map +1 -1
  86. package/dist/kurot/runtime/materializeComponentInstance.js +24 -11
  87. package/dist/kurot/runtime/materializeComponentInstance.js.map +1 -1
  88. package/dist/kurot/runtime/resolvePropertyValue.d.ts +1 -1
  89. package/dist/kurot/runtime/resolvePropertyValue.d.ts.map +1 -1
  90. package/dist/kurot/runtime/resolvePropertyValue.js +6 -3
  91. package/dist/kurot/runtime/resolvePropertyValue.js.map +1 -1
  92. package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.d.ts +6 -0
  93. package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.d.ts.map +1 -0
  94. package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.js +16 -0
  95. package/dist/kurot/runtime/resources/createKurotUIResourceAdapters.js.map +1 -0
  96. package/dist/kurot/runtime/transitions/TransitionSetProperty.d.ts +21 -0
  97. package/dist/kurot/runtime/transitions/TransitionSetProperty.d.ts.map +1 -0
  98. package/dist/kurot/runtime/transitions/TransitionSetProperty.js +93 -0
  99. package/dist/kurot/runtime/transitions/TransitionSetProperty.js.map +1 -0
  100. package/dist/kurot/runtime/types.d.ts +92 -8
  101. package/dist/kurot/runtime/types.d.ts.map +1 -1
  102. package/package.json +3 -3
  103. package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts +0 -7
  104. package/dist/kurot/runtime/builtins/applyContainerProperties.d.ts.map +0 -1
  105. package/dist/kurot/runtime/builtins/applyContainerProperties.js.map +0 -1
  106. package/dist/kurot/runtime/builtins/applyControlProperties.d.ts +0 -7
  107. package/dist/kurot/runtime/builtins/applyControlProperties.d.ts.map +0 -1
  108. package/dist/kurot/runtime/builtins/applyControlProperties.js +0 -79
  109. package/dist/kurot/runtime/builtins/applyControlProperties.js.map +0 -1
  110. package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts +0 -7
  111. package/dist/kurot/runtime/builtins/applyDisplayProperties.d.ts.map +0 -1
  112. package/dist/kurot/runtime/builtins/applyDisplayProperties.js.map +0 -1
  113. package/dist/kurot/runtime/builtins/applyTextProperties.d.ts +0 -7
  114. package/dist/kurot/runtime/builtins/applyTextProperties.d.ts.map +0 -1
  115. package/dist/kurot/runtime/builtins/applyTextProperties.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { UIDocument, UIPropertyValue } from '@kurot/ui-document';
2
+ import type { KurotUICreationContext } from '../types.js';
3
+ /**
4
+ * Activates the dynamic Contract owned by one fully materialized asset tree.
5
+ */
6
+ export declare function activateRuntimeContract(document: UIDocument, scope: string, context: KurotUICreationContext, initialData?: Readonly<Record<string, UIPropertyValue>>): void;
7
+ //# sourceMappingURL=activateRuntimeContract.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,11 @@
1
+ import { createDataController } from './createDataController.js';
2
+ import { registerSemanticActions } from './registerSemanticActions.js';
3
+ /**
4
+ * Activates the dynamic Contract owned by one fully materialized asset tree.
5
+ */
6
+ export function activateRuntimeContract(document, scope, context, initialData = {}) {
7
+ const controller = createDataController(document.contract, document.id, scope, context, initialData);
8
+ context.dataControllers.set(scope, controller);
9
+ registerSemanticActions(document, scope, context);
10
+ }
11
+ //# sourceMappingURL=activateRuntimeContract.js.map
@@ -0,0 +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"}
@@ -0,0 +1,7 @@
1
+ import type { UIAssetContract, UIPropertyValue } from '@kurot/ui-document';
2
+ import type { KurotUICreationContext, KurotUIDataController } from '../types.js';
3
+ /**
4
+ * Creates one validated controller for an asset's bounded external data.
5
+ */
6
+ export declare function createDataController(contract: UIAssetContract, assetId: string, scope: string, context: KurotUICreationContext, initialValues?: Readonly<Record<string, UIPropertyValue>>): KurotUIDataController;
7
+ //# sourceMappingURL=createDataController.d.ts.map
@@ -0,0 +1 @@
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;AAK3E,OAAO,KAAK,EACX,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,CAkCvB"}
@@ -0,0 +1,68 @@
1
+ import { matchesUIPropertyDefinition } from '@kurot/ui-document';
2
+ import { applyRuntimeProperty } from '../applyRuntimeProperty.js';
3
+ import { KurotUIRuntimeError } from '../KurotUIRuntimeError.js';
4
+ import { qualifyNodeId } from '../materializeNode.js';
5
+ /**
6
+ * Creates one validated controller for an asset's bounded external data.
7
+ */
8
+ export function createDataController(contract, assetId, scope, context, initialValues = {}) {
9
+ const definitions = contract.dataFields ?? {};
10
+ const fields = Object.keys(definitions).sort();
11
+ const values = new Map();
12
+ assertKnownInitialValues(initialValues, definitions, assetId);
13
+ const controller = {
14
+ fields: Object.freeze(fields),
15
+ getValue(name) {
16
+ return values.get(name);
17
+ },
18
+ setValue(name, value) {
19
+ const definition = definitions[name];
20
+ if (definition === undefined) {
21
+ throw invalidData(`Data field "${name}" is not declared.`, assetId, name);
22
+ }
23
+ if (!matchesUIPropertyDefinition(value, definition)) {
24
+ throw invalidData(`Data field "${name}" does not satisfy its Schema.`, assetId, name);
25
+ }
26
+ values.set(name, value);
27
+ applyBindings(contract, name, value, scope, context);
28
+ },
29
+ };
30
+ for (const name of fields) {
31
+ const definition = definitions[name];
32
+ const value = Object.hasOwn(initialValues, name)
33
+ ? initialValues[name]
34
+ : definition.defaultValue;
35
+ if (value !== undefined) {
36
+ controller.setValue(name, value);
37
+ }
38
+ }
39
+ return controller;
40
+ }
41
+ function applyBindings(contract, source, value, scope, context) {
42
+ const bindings = contract.dataBindings ?? {};
43
+ for (const name of Object.keys(bindings).sort()) {
44
+ const binding = bindings[name];
45
+ if (binding.source !== source) {
46
+ continue;
47
+ }
48
+ const identity = qualifyNodeId(scope, binding.targetId);
49
+ const target = context.instances.get(identity);
50
+ const type = context.types.get(identity);
51
+ if (target === undefined || type === undefined) {
52
+ continue;
53
+ }
54
+ applyRuntimeProperty(target, type, binding.property, value, `$.contract.dataBindings.${name}`, context);
55
+ }
56
+ }
57
+ function assertKnownInitialValues(values, definitions, assetId) {
58
+ for (const name of Object.keys(values)) {
59
+ if (definitions?.[name] !== undefined) {
60
+ continue;
61
+ }
62
+ throw invalidData(`Initial data field "${name}" is not declared.`, assetId, name);
63
+ }
64
+ }
65
+ function invalidData(message, assetId, name) {
66
+ return new KurotUIRuntimeError('invalid-data', message, `$.assets[${JSON.stringify(assetId)}].contract.dataFields.${name}`);
67
+ }
68
+ //# sourceMappingURL=createDataController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDataController.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/dynamics/createDataController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { UIDocument } from '@kurot/ui-document';
2
+ import type { KurotUICreationContext } from '../types.js';
3
+ /**
4
+ * Connects one asset's bounded action declarations to runtime events.
5
+ */
6
+ export declare function registerSemanticActions(document: UIDocument, scope: string, context: KurotUICreationContext): void;
7
+ //# sourceMappingURL=registerSemanticActions.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,42 @@
1
+ import { Event, TouchEvent } from '@kurot/core';
2
+ import { qualifyNodeId } from '../materializeNode.js';
3
+ /**
4
+ * Connects one asset's bounded action declarations to runtime events.
5
+ */
6
+ export function registerSemanticActions(document, scope, context) {
7
+ if (context.onAction === undefined) {
8
+ return;
9
+ }
10
+ const actions = document.contract.actions ?? {};
11
+ for (const name of Object.keys(actions).sort()) {
12
+ const definition = actions[name];
13
+ const identity = qualifyNodeId(scope, definition.sourceId);
14
+ const source = context.instances.get(identity);
15
+ if (source === undefined) {
16
+ continue;
17
+ }
18
+ const eventType = getEventType(definition.trigger);
19
+ const listener = (event) => {
20
+ context.onAction?.({
21
+ action: name,
22
+ assetId: document.id,
23
+ event,
24
+ scope,
25
+ sourceId: definition.sourceId,
26
+ });
27
+ };
28
+ source.addEventListener(eventType, listener);
29
+ context.disposeCallbacks.push(() => {
30
+ source.removeEventListener(eventType, listener);
31
+ });
32
+ }
33
+ }
34
+ function getEventType(trigger) {
35
+ switch (trigger) {
36
+ case 'change':
37
+ return Event.CHANGE;
38
+ case 'tap':
39
+ return TouchEvent.TOUCH_TAP;
40
+ }
41
+ }
42
+ //# sourceMappingURL=registerSemanticActions.js.map
@@ -0,0 +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,4 +1,5 @@
1
1
  export { createKurotUI } from './createKurotUI.js';
2
2
  export { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
3
- export type { CreateKurotUIOptions, KurotUIComponentAdapter, KurotUIResourceResolver, KurotUICreationResult, KurotUIRuntimeErrorCode, KurotUIStateController, } from './types.js';
3
+ export { createKurotUIResourceAdapters } from './resources/createKurotUIResourceAdapters.js';
4
+ export type { CreateKurotUIOptions, KurotUIComponentAdapter, KurotUIDataController, KurotUIResourceAdapter, KurotUIResourceAdapters, KurotUIResourceResolver, KurotUICreationResult, KurotUIRuntimeErrorCode, KurotUISemanticAction, KurotUIStateController, } from './types.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { createKurotUI } from './createKurotUI.js';
2
2
  export { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
3
+ export { createKurotUIResourceAdapters } from './resources/createKurotUIResourceAdapters.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kurot/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,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;AAEzD;;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;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"}
@@ -3,6 +3,7 @@ import { applyRuntimeProperty } from './applyRuntimeProperty.js';
3
3
  import { materializeNode, qualifyNodeId } from './materializeNode.js';
4
4
  import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
5
5
  import { resolvePropertyValue } from './resolvePropertyValue.js';
6
+ import { TransitionSetProperty } from './transitions/TransitionSetProperty.js';
6
7
  /**
7
8
  * Applies one reusable appearance asset as a native Kurot Skin.
8
9
  */
@@ -66,7 +67,13 @@ function createStates(appearance, context) {
66
67
  .map(name => {
67
68
  const definition = appearance.contract.states[name];
68
69
  const path = `$.assets[${JSON.stringify(appearance.id)}]`;
69
- const overrides = definition.overrides.map((override, index) => new SetProperty(override.targetId, override.property, resolvePropertyValue(override.value, `${path}.contract.states.${name}.overrides[${index}].value`, context)));
70
+ const overrides = definition.overrides.map((override, index) => {
71
+ const value = resolvePropertyValue(override.value, `${path}.contract.states.${name}.overrides[${index}].value`, context);
72
+ if (override.transition !== undefined) {
73
+ return new TransitionSetProperty(override.targetId, override.property, value, override.transition);
74
+ }
75
+ return new SetProperty(override.targetId, override.property, value);
76
+ });
70
77
  return new State(name, overrides);
71
78
  });
72
79
  }
@@ -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;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,CAoCf"}
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,4 +1,5 @@
1
1
  import { applyRuntimeProperty } from './applyRuntimeProperty.js';
2
+ import { activateRuntimeContract } from './dynamics/activateRuntimeContract.js';
2
3
  import { applyAppearance } from './materializeAppearance.js';
3
4
  import { appendRuntimeChild, applyNodeProperties, materializeNode, qualifyNodeId, } from './materializeNode.js';
4
5
  import { KurotUIRuntimeError } from './KurotUIRuntimeError.js';
@@ -25,14 +26,17 @@ export function materializeComponentInstance(node, path, parentScope, context) {
25
26
  if (Object.keys(source.contract.states).length > 0) {
26
27
  context.stateControllers.set(identity, createReusableComponentStateController(source.contract, identity, `$.assets[${JSON.stringify(source.id)}].contract`, context));
27
28
  }
29
+ activateRuntimeContract(source, identity, context);
28
30
  return root;
29
31
  }
30
32
  function applyVariant(instance, contract, scope, path, context) {
31
- if (!instance.variant)
33
+ if (!instance.variant) {
32
34
  return;
35
+ }
33
36
  const variant = contract.variants[instance.variant];
34
- if (!variant)
37
+ if (!variant) {
35
38
  return;
39
+ }
36
40
  for (let index = 0; index < variant.overrides.length; index++) {
37
41
  const override = variant.overrides[index];
38
42
  applyScopedProperty(scope, override.targetId, override.property, override.value, `${path}.instance.variant`, context);
@@ -42,8 +46,9 @@ function applyParameters(instance, contract, scope, path, context) {
42
46
  for (const name of Object.keys(contract.parameters).sort()) {
43
47
  const definition = contract.parameters[name];
44
48
  const value = instance.parameters[name] ?? definition.defaultValue;
45
- if (value === undefined)
49
+ if (value === undefined) {
46
50
  continue;
51
+ }
47
52
  for (const binding of definition.bindings ?? []) {
48
53
  applyScopedProperty(scope, binding.targetId, binding.property, value, `${path}.instance.parameters.${name}`, context);
49
54
  }
@@ -53,20 +58,23 @@ function applyOverrides(instance, contract, scope, path, context) {
53
58
  for (let index = 0; index < instance.overrides.length; index++) {
54
59
  const override = instance.overrides[index];
55
60
  const part = contract.parts[override.part];
56
- if (!part)
61
+ if (!part) {
57
62
  continue;
63
+ }
58
64
  applyScopedProperty(scope, part.nodeId, override.property, override.value, `${path}.instance.overrides[${index}].value`, context);
59
65
  }
60
66
  }
61
67
  function projectSlots(instance, source, componentScope, parentScope, path, context) {
62
68
  for (const name of Object.keys(instance.slots).sort()) {
63
69
  const slot = source.contract.slots[name];
64
- if (!slot)
70
+ if (!slot) {
65
71
  continue;
72
+ }
66
73
  const target = context.instances.get(qualifyNodeId(componentScope, slot.nodeId));
67
74
  const targetNode = findNode(source.root, slot.nodeId);
68
- if (!target || !targetNode)
75
+ if (!target || !targetNode) {
69
76
  continue;
77
+ }
70
78
  const adapter = context.adapters[targetNode.type];
71
79
  const nodes = instance.slots[name];
72
80
  for (let index = 0; index < nodes.length; index++) {
@@ -78,11 +86,13 @@ function projectSlots(instance, source, componentScope, parentScope, path, conte
78
86
  }
79
87
  function applyScopedProperty(scope, targetId, property, value, path, context) {
80
88
  const target = context.instances.get(qualifyNodeId(scope, targetId));
81
- if (!target)
89
+ if (!target) {
82
90
  return;
91
+ }
83
92
  const type = context.types.get(qualifyNodeId(scope, targetId));
84
- if (!type)
93
+ if (!type) {
85
94
  return;
95
+ }
86
96
  applyRuntimeProperty(target, type, property, value, path, context);
87
97
  }
88
98
  function requireComponentAsset(instance, path, context) {
@@ -93,17 +103,20 @@ function requireComponentAsset(instance, path, context) {
93
103
  return source;
94
104
  }
95
105
  function requireInstance(node) {
96
- if (node.instance)
106
+ if (node.instance) {
97
107
  return node.instance;
108
+ }
98
109
  throw new Error('Expected reusable component instance.');
99
110
  }
100
111
  function findNode(root, id) {
101
- if (root.id === id)
112
+ if (root.id === id) {
102
113
  return root;
114
+ }
103
115
  for (const child of root.children) {
104
116
  const match = findNode(child, id);
105
- if (match)
117
+ if (match) {
106
118
  return match;
119
+ }
107
120
  }
108
121
  return undefined;
109
122
  }
@@ -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":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,aAAa,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAG5G;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,IAAY,EACZ,IAAY,EACZ,WAAmB,EACnB,OAA+B;IAE/B,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,qBAAqB,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxE,YAAY,CACX,aAAa,EACb,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,OAAO,CACP,CAAC;IACF,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAC3B,QAAQ,EACR,sCAAsC,CACrC,MAAM,CAAC,QAAQ,EACf,QAAQ,EACR,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EACjD,OAAO,CACP,CACD,CAAC;IACH,CAAC;IACD,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CACpB,QAA6B,EAC7B,QAAyB,EACzB,KAAa,EACb,IAAY,EACZ,OAA+B;IAE/B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;IACR,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;IACR,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,mBAAmB,CAClB,KAAK,EACL,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,KAAK,EACd,GAAG,IAAI,mBAAmB,EAC1B,OAAO,CACP,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CACvB,QAA6B,EAC7B,QAAyB,EACzB,KAAa,EACb,IAAY,EACZ,OAA+B;IAE/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACjD,mBAAmB,CAClB,KAAK,EACL,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,EAChB,KAAK,EACL,GAAG,IAAI,wBAAwB,IAAI,EAAE,EACrC,OAAO,CACP,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CACtB,QAA6B,EAC7B,QAAyB,EACzB,KAAa,EACb,IAAY,EACZ,OAA+B;IAE/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,SAAS;QACV,CAAC;QACD,mBAAmB,CAClB,KAAK,EACL,IAAI,CAAC,MAAM,EACX,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,KAAK,EACd,GAAG,IAAI,uBAAuB,KAAK,SAAS,EAC5C,OAAO,CACP,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CACpB,QAA6B,EAC7B,MAAkB,EAClB,cAAsB,EACtB,WAAmB,EACnB,IAAY,EACZ,OAA+B;IAE/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,SAAS;QACV,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,GAAG,IAAI,mBAAmB,IAAI,IAAI,KAAK,GAAG,CAAC;YAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAC7E,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAAa,EACb,QAAgB,EAChB,QAAgB,EAChB,KAAiD,EACjD,IAAY,EACZ,OAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;IACR,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO;IACR,CAAC;IACD,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,qBAAqB,CAC7B,QAA6B,EAC7B,IAAY,EACZ,OAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,mBAAmB,CAC5B,kBAAkB,EAClB,6BAA6B,QAAQ,CAAC,MAAM,CAAC,OAAO,mBAAmB,EACvE,GAAG,IAAI,0BAA0B,CACjC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,EAAU;IACzC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -3,5 +3,5 @@ import type { KurotUICreationContext } from './types.js';
3
3
  /**
4
4
  * Resolves nested token and resource references into runtime property values.
5
5
  */
6
- export declare function resolvePropertyValue(value: UIPropertyValue, path: string, context: KurotUICreationContext): UIPropertyValue;
6
+ export declare function resolvePropertyValue(value: UIPropertyValue, path: string, context: KurotUICreationContext): unknown;
7
7
  //# sourceMappingURL=resolvePropertyValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePropertyValue.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/resolvePropertyValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,eAAe,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC7B,eAAe,CAsBjB"}
1
+ {"version":3,"file":"resolvePropertyValue.d.ts","sourceRoot":"","sources":["../../../src/kurot/runtime/resolvePropertyValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,eAAe,EAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CA4BT"}
@@ -6,18 +6,21 @@ export function resolvePropertyValue(value, path, context) {
6
6
  if (isPropertyArray(value)) {
7
7
  return value.map((item, index) => resolvePropertyValue(item, `${path}[${index}]`, context));
8
8
  }
9
- if (typeof value !== 'object')
9
+ if (typeof value !== 'object') {
10
10
  return value;
11
+ }
11
12
  if (isTokenReference(value)) {
12
13
  const definition = context.assets.getToken(value.key);
13
- if (!definition)
14
+ if (!definition) {
14
15
  throw unresolvedReference('design token', value.key, path);
16
+ }
15
17
  return resolvePropertyValue(definition.value, path, context);
16
18
  }
17
19
  if (isResourceReference(value)) {
18
20
  const definition = context.assets.getResource(value.key);
19
- if (!definition)
21
+ if (!definition) {
20
22
  throw unresolvedReference('resource', value.key, path);
23
+ }
21
24
  return context.resolveResource(value, definition);
22
25
  }
23
26
  const resolved = {};
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePropertyValue.js","sourceRoot":"","sources":["../../../src/kurot/runtime/resolvePropertyValue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,KAAsB,EACtB,IAAY,EACZ,OAA+B;IAE/B,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAChC,oBAAoB,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,OAAO,CAAC,CACxD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU;YAAE,MAAM,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5E,OAAO,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU;YAAE,MAAM,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CACvB,KAAsB;IAEtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAuB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,GAAW,EAAE,IAAY;IACnE,OAAO,IAAI,mBAAmB,CAC7B,kBAAkB,EAClB,qBAAqB,IAAI,KAAK,GAAG,IAAI,EACrC,IAAI,CACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"resolvePropertyValue.js","sourceRoot":"","sources":["../../../src/kurot/runtime/resolvePropertyValue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CACnC,KAAsB,EACtB,IAAY,EACZ,OAA+B;IAE/B,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAChC,oBAAoB,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,OAAO,CAAC,CACxD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CACvB,KAAsB;IAEtB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAuB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAuB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,GAAW,EAAE,IAAY;IACnE,OAAO,IAAI,mBAAmB,CAC7B,kBAAkB,EAClB,qBAAqB,IAAI,KAAK,GAAG,IAAI,EACrC,IAAI,CACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { KurotUIResourceAdapters } from '../types.js';
2
+ /**
3
+ * Creates complete resource-category adapters with stable-key defaults.
4
+ */
5
+ export declare function createKurotUIResourceAdapters(overrides?: Partial<KurotUIResourceAdapters>): KurotUIResourceAdapters;
6
+ //# sourceMappingURL=createKurotUIResourceAdapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createKurotUIResourceAdapters.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/resources/createKurotUIResourceAdapters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC9C,uBAAuB,CAQzB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Creates complete resource-category adapters with stable-key defaults.
3
+ */
4
+ export function createKurotUIResourceAdapters(overrides = {}) {
5
+ return Object.freeze({
6
+ animation: overrides.animation ?? resolveResourceKey,
7
+ font: overrides.font ?? resolveResourceKey,
8
+ image: overrides.image ?? resolveResourceKey,
9
+ spine: overrides.spine ?? resolveResourceKey,
10
+ 'sprite-frame': overrides['sprite-frame'] ?? resolveResourceKey,
11
+ });
12
+ }
13
+ function resolveResourceKey(reference) {
14
+ return reference.key;
15
+ }
16
+ //# sourceMappingURL=createKurotUIResourceAdapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createKurotUIResourceAdapters.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/resources/createKurotUIResourceAdapters.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC5C,YAA8C,EAAE;IAEhD,OAAO,MAAM,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,kBAAkB;QACpD,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,kBAAkB;QAC1C,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,kBAAkB;QAC5C,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,kBAAkB;QAC5C,cAAc,EAAE,SAAS,CAAC,cAAc,CAAC,IAAI,kBAAkB;KAC/D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA8B;IACzD,OAAO,SAAS,CAAC,GAAG,CAAC;AACtB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Component, IOverride, Skin } from '@kurot/ui';
2
+ import type { UIPropertyTransition } from '@kurot/ui-document';
3
+ /**
4
+ * Applies one numeric skin-state property through a bounded transition.
5
+ */
6
+ export declare class TransitionSetProperty implements IOverride {
7
+ private readonly _target;
8
+ private readonly _name;
9
+ private readonly _value;
10
+ private readonly _transition;
11
+ private _animation?;
12
+ private _oldValue;
13
+ private _applied;
14
+ constructor(target: string, name: string, value: unknown, transition: UIPropertyTransition);
15
+ apply(_host: Component, skin: Skin): void;
16
+ remove(_host: Component, skin: Skin): void;
17
+ private animate;
18
+ private resolveTarget;
19
+ private stopAnimation;
20
+ }
21
+ //# sourceMappingURL=TransitionSetProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSetProperty.d.ts","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;GAEG;AACH,qBAAa,qBAAsB,YAAW,SAAS;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAGxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,oBAAoB;IAQ1B,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAezC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAYjD,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,aAAa;CAIrB"}
@@ -0,0 +1,93 @@
1
+ import { Animation } from '@kurot/ui';
2
+ /**
3
+ * Applies one numeric skin-state property through a bounded transition.
4
+ */
5
+ export class TransitionSetProperty {
6
+ _target;
7
+ _name;
8
+ _value;
9
+ _transition;
10
+ _animation;
11
+ _oldValue;
12
+ _applied = false;
13
+ constructor(target, name, value, transition) {
14
+ this._target = target;
15
+ this._name = name;
16
+ this._value = value;
17
+ this._transition = transition;
18
+ }
19
+ apply(_host, skin) {
20
+ const target = this.resolveTarget(skin);
21
+ if (target === undefined) {
22
+ return;
23
+ }
24
+ this.stopAnimation();
25
+ this._oldValue = Reflect.get(target, this._name);
26
+ this._applied = true;
27
+ if (typeof this._oldValue !== 'number' || typeof this._value !== 'number') {
28
+ Reflect.set(target, this._name, this._value);
29
+ return;
30
+ }
31
+ this.animate(target, this._oldValue, this._value);
32
+ }
33
+ remove(_host, skin) {
34
+ if (!this._applied) {
35
+ return;
36
+ }
37
+ const target = this.resolveTarget(skin);
38
+ this.stopAnimation();
39
+ if (target !== undefined) {
40
+ Reflect.set(target, this._name, this._oldValue);
41
+ }
42
+ this._applied = false;
43
+ }
44
+ animate(target, from, to) {
45
+ const delay = this._transition.delay ?? 0;
46
+ const duration = this._transition.duration;
47
+ const total = delay + duration;
48
+ if (total === 0) {
49
+ Reflect.set(target, this._name, to);
50
+ return;
51
+ }
52
+ const animation = new Animation(() => {
53
+ const elapsed = animation.currentValue * total;
54
+ const fraction = duration === 0
55
+ ? Number(elapsed >= delay)
56
+ : Math.max(0, Math.min(1, (elapsed - delay) / duration));
57
+ const eased = ease(fraction, this._transition.easing ?? 'linear');
58
+ Reflect.set(target, this._name, from + (to - from) * eased);
59
+ }, this);
60
+ animation.duration = total;
61
+ animation.from = 0;
62
+ animation.to = 1;
63
+ animation.easerFunction = value => value;
64
+ this._animation = animation;
65
+ animation.play();
66
+ }
67
+ resolveTarget(skin) {
68
+ const target = this._target.length === 0 ? skin : skin.getPart(this._target);
69
+ if (target === null || typeof target !== 'object') {
70
+ return undefined;
71
+ }
72
+ return target;
73
+ }
74
+ stopAnimation() {
75
+ this._animation?.stop();
76
+ this._animation = undefined;
77
+ }
78
+ }
79
+ function ease(value, type) {
80
+ switch (type) {
81
+ case 'ease-in':
82
+ return value * value;
83
+ case 'ease-in-out':
84
+ return value < 0.5
85
+ ? 2 * value * value
86
+ : 1 - Math.pow(-2 * value + 2, 2) / 2;
87
+ case 'ease-out':
88
+ return 1 - (1 - value) * (1 - value);
89
+ case 'linear':
90
+ return value;
91
+ }
92
+ }
93
+ //# sourceMappingURL=TransitionSetProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSetProperty.js","sourceRoot":"","sources":["../../../../src/kurot/runtime/transitions/TransitionSetProperty.ts"],"names":[],"mappings":"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"}